blob: 439d1fec4daa4c8ba4c7953cfb5e32a61b2f5c36 [file] [log] [blame]
Lingfeng Yang0b81df22018-11-05 21:40:30 -08001// 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 func_table
17// (impl) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
18// Please do not modify directly;
19// re-run android/scripts/generate-vulkan-sources.sh,
20// or directly from Python by defining:
21// VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
22// CEREAL_OUTPUT_DIR: Where to put the generated sources.
23// python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
24
25#include "func_table.h"
26
27
28#include "VkEncoder.h"
29#include "HostConnection.h"
Lingfeng Yange9979522018-12-25 14:44:52 -080030#include "ResourceTracker.h"
Lingfeng Yang0b81df22018-11-05 21:40:30 -080031
Lingfeng Yang808a6312018-11-13 21:06:15 -080032#include "goldfish_vk_private_defs.h"
33
Lingfeng Yang0b81df22018-11-05 21:40:30 -080034// Stuff we are not going to use but if included,
35// will cause compile errors. These are Android Vulkan
36// required extensions, but the approach will be to
37// implement them completely on the guest side.
38#undef VK_KHR_android_surface
39#undef VK_ANDROID_external_memory_android_hardware_buffer
40
41
42namespace goldfish_vk {
43
44#ifdef VK_VERSION_1_0
45static VkResult entry_vkCreateInstance(
46 const VkInstanceCreateInfo* pCreateInfo,
47 const VkAllocationCallbacks* pAllocator,
48 VkInstance* pInstance)
49{
50 auto vkEnc = HostConnection::get()->vkEncoder();
51 VkResult vkCreateInstance_VkResult_return = (VkResult)0;
52 vkCreateInstance_VkResult_return = vkEnc->vkCreateInstance(pCreateInfo, pAllocator, pInstance);
53 return vkCreateInstance_VkResult_return;
54}
55static void entry_vkDestroyInstance(
56 VkInstance instance,
57 const VkAllocationCallbacks* pAllocator)
58{
59 auto vkEnc = HostConnection::get()->vkEncoder();
60 vkEnc->vkDestroyInstance(instance, pAllocator);
61}
62static VkResult entry_vkEnumeratePhysicalDevices(
63 VkInstance instance,
64 uint32_t* pPhysicalDeviceCount,
65 VkPhysicalDevice* pPhysicalDevices)
66{
67 auto vkEnc = HostConnection::get()->vkEncoder();
68 VkResult vkEnumeratePhysicalDevices_VkResult_return = (VkResult)0;
69 vkEnumeratePhysicalDevices_VkResult_return = vkEnc->vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices);
70 return vkEnumeratePhysicalDevices_VkResult_return;
71}
72static void entry_vkGetPhysicalDeviceFeatures(
73 VkPhysicalDevice physicalDevice,
74 VkPhysicalDeviceFeatures* pFeatures)
75{
76 auto vkEnc = HostConnection::get()->vkEncoder();
77 vkEnc->vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);
78}
79static void entry_vkGetPhysicalDeviceFormatProperties(
80 VkPhysicalDevice physicalDevice,
81 VkFormat format,
82 VkFormatProperties* pFormatProperties)
83{
84 auto vkEnc = HostConnection::get()->vkEncoder();
85 vkEnc->vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);
86}
87static VkResult entry_vkGetPhysicalDeviceImageFormatProperties(
88 VkPhysicalDevice physicalDevice,
89 VkFormat format,
90 VkImageType type,
91 VkImageTiling tiling,
92 VkImageUsageFlags usage,
93 VkImageCreateFlags flags,
94 VkImageFormatProperties* pImageFormatProperties)
95{
96 auto vkEnc = HostConnection::get()->vkEncoder();
97 VkResult vkGetPhysicalDeviceImageFormatProperties_VkResult_return = (VkResult)0;
98 vkGetPhysicalDeviceImageFormatProperties_VkResult_return = vkEnc->vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
99 return vkGetPhysicalDeviceImageFormatProperties_VkResult_return;
100}
101static void entry_vkGetPhysicalDeviceProperties(
102 VkPhysicalDevice physicalDevice,
103 VkPhysicalDeviceProperties* pProperties)
104{
105 auto vkEnc = HostConnection::get()->vkEncoder();
106 vkEnc->vkGetPhysicalDeviceProperties(physicalDevice, pProperties);
107}
108static void entry_vkGetPhysicalDeviceQueueFamilyProperties(
109 VkPhysicalDevice physicalDevice,
110 uint32_t* pQueueFamilyPropertyCount,
111 VkQueueFamilyProperties* pQueueFamilyProperties)
112{
113 auto vkEnc = HostConnection::get()->vkEncoder();
114 vkEnc->vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
115}
116static void entry_vkGetPhysicalDeviceMemoryProperties(
117 VkPhysicalDevice physicalDevice,
118 VkPhysicalDeviceMemoryProperties* pMemoryProperties)
119{
120 auto vkEnc = HostConnection::get()->vkEncoder();
121 vkEnc->vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);
122}
123static PFN_vkVoidFunction entry_vkGetInstanceProcAddr(
124 VkInstance instance,
125 const char* pName)
126{
127 auto vkEnc = HostConnection::get()->vkEncoder();
128 PFN_vkVoidFunction vkGetInstanceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
129 vkGetInstanceProcAddr_PFN_vkVoidFunction_return = vkEnc->vkGetInstanceProcAddr(instance, pName);
130 return vkGetInstanceProcAddr_PFN_vkVoidFunction_return;
131}
132static PFN_vkVoidFunction entry_vkGetDeviceProcAddr(
133 VkDevice device,
134 const char* pName)
135{
136 auto vkEnc = HostConnection::get()->vkEncoder();
137 PFN_vkVoidFunction vkGetDeviceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
138 vkGetDeviceProcAddr_PFN_vkVoidFunction_return = vkEnc->vkGetDeviceProcAddr(device, pName);
139 return vkGetDeviceProcAddr_PFN_vkVoidFunction_return;
140}
141static VkResult entry_vkCreateDevice(
142 VkPhysicalDevice physicalDevice,
143 const VkDeviceCreateInfo* pCreateInfo,
144 const VkAllocationCallbacks* pAllocator,
145 VkDevice* pDevice)
146{
147 auto vkEnc = HostConnection::get()->vkEncoder();
148 VkResult vkCreateDevice_VkResult_return = (VkResult)0;
149 vkCreateDevice_VkResult_return = vkEnc->vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
150 return vkCreateDevice_VkResult_return;
151}
152static void entry_vkDestroyDevice(
153 VkDevice device,
154 const VkAllocationCallbacks* pAllocator)
155{
156 auto vkEnc = HostConnection::get()->vkEncoder();
157 vkEnc->vkDestroyDevice(device, pAllocator);
158}
159static VkResult entry_vkEnumerateInstanceExtensionProperties(
160 const char* pLayerName,
161 uint32_t* pPropertyCount,
162 VkExtensionProperties* pProperties)
163{
164 auto vkEnc = HostConnection::get()->vkEncoder();
165 VkResult vkEnumerateInstanceExtensionProperties_VkResult_return = (VkResult)0;
Lingfeng Yang154a33c2019-01-29 19:06:23 -0800166 auto resources = ResourceTracker::get();
167 vkEnumerateInstanceExtensionProperties_VkResult_return = resources->on_vkEnumerateInstanceExtensionProperties(vkEnc, VK_SUCCESS, pLayerName, pPropertyCount, pProperties);
Lingfeng Yang0b81df22018-11-05 21:40:30 -0800168 return vkEnumerateInstanceExtensionProperties_VkResult_return;
169}
170static VkResult entry_vkEnumerateDeviceExtensionProperties(
171 VkPhysicalDevice physicalDevice,
172 const char* pLayerName,
173 uint32_t* pPropertyCount,
174 VkExtensionProperties* pProperties)
175{
176 auto vkEnc = HostConnection::get()->vkEncoder();
177 VkResult vkEnumerateDeviceExtensionProperties_VkResult_return = (VkResult)0;
Lingfeng Yang154a33c2019-01-29 19:06:23 -0800178 auto resources = ResourceTracker::get();
179 vkEnumerateDeviceExtensionProperties_VkResult_return = resources->on_vkEnumerateDeviceExtensionProperties(vkEnc, VK_SUCCESS, physicalDevice, pLayerName, pPropertyCount, pProperties);
Lingfeng Yang0b81df22018-11-05 21:40:30 -0800180 return vkEnumerateDeviceExtensionProperties_VkResult_return;
181}
182static VkResult entry_vkEnumerateInstanceLayerProperties(
183 uint32_t* pPropertyCount,
184 VkLayerProperties* pProperties)
185{
186 auto vkEnc = HostConnection::get()->vkEncoder();
187 VkResult vkEnumerateInstanceLayerProperties_VkResult_return = (VkResult)0;
188 vkEnumerateInstanceLayerProperties_VkResult_return = vkEnc->vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties);
189 return vkEnumerateInstanceLayerProperties_VkResult_return;
190}
191static VkResult entry_vkEnumerateDeviceLayerProperties(
192 VkPhysicalDevice physicalDevice,
193 uint32_t* pPropertyCount,
194 VkLayerProperties* pProperties)
195{
196 auto vkEnc = HostConnection::get()->vkEncoder();
197 VkResult vkEnumerateDeviceLayerProperties_VkResult_return = (VkResult)0;
198 vkEnumerateDeviceLayerProperties_VkResult_return = vkEnc->vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
199 return vkEnumerateDeviceLayerProperties_VkResult_return;
200}
201static void entry_vkGetDeviceQueue(
202 VkDevice device,
203 uint32_t queueFamilyIndex,
204 uint32_t queueIndex,
205 VkQueue* pQueue)
206{
207 auto vkEnc = HostConnection::get()->vkEncoder();
208 vkEnc->vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
209}
210static VkResult entry_vkQueueSubmit(
211 VkQueue queue,
212 uint32_t submitCount,
213 const VkSubmitInfo* pSubmits,
214 VkFence fence)
215{
216 auto vkEnc = HostConnection::get()->vkEncoder();
217 VkResult vkQueueSubmit_VkResult_return = (VkResult)0;
218 vkQueueSubmit_VkResult_return = vkEnc->vkQueueSubmit(queue, submitCount, pSubmits, fence);
219 return vkQueueSubmit_VkResult_return;
220}
221static VkResult entry_vkQueueWaitIdle(
222 VkQueue queue)
223{
224 auto vkEnc = HostConnection::get()->vkEncoder();
225 VkResult vkQueueWaitIdle_VkResult_return = (VkResult)0;
226 vkQueueWaitIdle_VkResult_return = vkEnc->vkQueueWaitIdle(queue);
227 return vkQueueWaitIdle_VkResult_return;
228}
229static VkResult entry_vkDeviceWaitIdle(
230 VkDevice device)
231{
232 auto vkEnc = HostConnection::get()->vkEncoder();
233 VkResult vkDeviceWaitIdle_VkResult_return = (VkResult)0;
234 vkDeviceWaitIdle_VkResult_return = vkEnc->vkDeviceWaitIdle(device);
235 return vkDeviceWaitIdle_VkResult_return;
236}
237static VkResult entry_vkAllocateMemory(
238 VkDevice device,
239 const VkMemoryAllocateInfo* pAllocateInfo,
240 const VkAllocationCallbacks* pAllocator,
241 VkDeviceMemory* pMemory)
242{
243 auto vkEnc = HostConnection::get()->vkEncoder();
244 VkResult vkAllocateMemory_VkResult_return = (VkResult)0;
Lingfeng Yange9979522018-12-25 14:44:52 -0800245 auto resources = ResourceTracker::get();
246 vkAllocateMemory_VkResult_return = resources->on_vkAllocateMemory(vkEnc, VK_SUCCESS, device, pAllocateInfo, pAllocator, pMemory);
Lingfeng Yang0b81df22018-11-05 21:40:30 -0800247 return vkAllocateMemory_VkResult_return;
248}
249static void entry_vkFreeMemory(
250 VkDevice device,
251 VkDeviceMemory memory,
252 const VkAllocationCallbacks* pAllocator)
253{
254 auto vkEnc = HostConnection::get()->vkEncoder();
Lingfeng Yange9979522018-12-25 14:44:52 -0800255 auto resources = ResourceTracker::get();
256 resources->on_vkFreeMemory(vkEnc, device, memory, pAllocator);
Lingfeng Yang0b81df22018-11-05 21:40:30 -0800257}
258static VkResult entry_vkMapMemory(
259 VkDevice device,
260 VkDeviceMemory memory,
261 VkDeviceSize offset,
262 VkDeviceSize size,
263 VkMemoryMapFlags flags,
264 void** ppData)
265{
266 auto vkEnc = HostConnection::get()->vkEncoder();
267 VkResult vkMapMemory_VkResult_return = (VkResult)0;
268 vkMapMemory_VkResult_return = vkEnc->vkMapMemory(device, memory, offset, size, flags, ppData);
269 return vkMapMemory_VkResult_return;
270}
271static void entry_vkUnmapMemory(
272 VkDevice device,
273 VkDeviceMemory memory)
274{
275 auto vkEnc = HostConnection::get()->vkEncoder();
276 vkEnc->vkUnmapMemory(device, memory);
277}
278static VkResult entry_vkFlushMappedMemoryRanges(
279 VkDevice device,
280 uint32_t memoryRangeCount,
281 const VkMappedMemoryRange* pMemoryRanges)
282{
283 auto vkEnc = HostConnection::get()->vkEncoder();
284 VkResult vkFlushMappedMemoryRanges_VkResult_return = (VkResult)0;
285 vkFlushMappedMemoryRanges_VkResult_return = vkEnc->vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
286 return vkFlushMappedMemoryRanges_VkResult_return;
287}
288static VkResult entry_vkInvalidateMappedMemoryRanges(
289 VkDevice device,
290 uint32_t memoryRangeCount,
291 const VkMappedMemoryRange* pMemoryRanges)
292{
293 auto vkEnc = HostConnection::get()->vkEncoder();
294 VkResult vkInvalidateMappedMemoryRanges_VkResult_return = (VkResult)0;
295 vkInvalidateMappedMemoryRanges_VkResult_return = vkEnc->vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
296 return vkInvalidateMappedMemoryRanges_VkResult_return;
297}
298static void entry_vkGetDeviceMemoryCommitment(
299 VkDevice device,
300 VkDeviceMemory memory,
301 VkDeviceSize* pCommittedMemoryInBytes)
302{
303 auto vkEnc = HostConnection::get()->vkEncoder();
304 vkEnc->vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
305}
306static VkResult entry_vkBindBufferMemory(
307 VkDevice device,
308 VkBuffer buffer,
309 VkDeviceMemory memory,
310 VkDeviceSize memoryOffset)
311{
312 auto vkEnc = HostConnection::get()->vkEncoder();
313 VkResult vkBindBufferMemory_VkResult_return = (VkResult)0;
314 vkBindBufferMemory_VkResult_return = vkEnc->vkBindBufferMemory(device, buffer, memory, memoryOffset);
315 return vkBindBufferMemory_VkResult_return;
316}
317static VkResult entry_vkBindImageMemory(
318 VkDevice device,
319 VkImage image,
320 VkDeviceMemory memory,
321 VkDeviceSize memoryOffset)
322{
323 auto vkEnc = HostConnection::get()->vkEncoder();
324 VkResult vkBindImageMemory_VkResult_return = (VkResult)0;
325 vkBindImageMemory_VkResult_return = vkEnc->vkBindImageMemory(device, image, memory, memoryOffset);
326 return vkBindImageMemory_VkResult_return;
327}
328static void entry_vkGetBufferMemoryRequirements(
329 VkDevice device,
330 VkBuffer buffer,
331 VkMemoryRequirements* pMemoryRequirements)
332{
333 auto vkEnc = HostConnection::get()->vkEncoder();
334 vkEnc->vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
335}
336static void entry_vkGetImageMemoryRequirements(
337 VkDevice device,
338 VkImage image,
339 VkMemoryRequirements* pMemoryRequirements)
340{
341 auto vkEnc = HostConnection::get()->vkEncoder();
342 vkEnc->vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
343}
344static void entry_vkGetImageSparseMemoryRequirements(
345 VkDevice device,
346 VkImage image,
347 uint32_t* pSparseMemoryRequirementCount,
348 VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
349{
350 auto vkEnc = HostConnection::get()->vkEncoder();
351 vkEnc->vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
352}
353static void entry_vkGetPhysicalDeviceSparseImageFormatProperties(
354 VkPhysicalDevice physicalDevice,
355 VkFormat format,
356 VkImageType type,
357 VkSampleCountFlagBits samples,
358 VkImageUsageFlags usage,
359 VkImageTiling tiling,
360 uint32_t* pPropertyCount,
361 VkSparseImageFormatProperties* pProperties)
362{
363 auto vkEnc = HostConnection::get()->vkEncoder();
364 vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
365}
366static VkResult entry_vkQueueBindSparse(
367 VkQueue queue,
368 uint32_t bindInfoCount,
369 const VkBindSparseInfo* pBindInfo,
370 VkFence fence)
371{
372 auto vkEnc = HostConnection::get()->vkEncoder();
373 VkResult vkQueueBindSparse_VkResult_return = (VkResult)0;
374 vkQueueBindSparse_VkResult_return = vkEnc->vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
375 return vkQueueBindSparse_VkResult_return;
376}
377static VkResult entry_vkCreateFence(
378 VkDevice device,
379 const VkFenceCreateInfo* pCreateInfo,
380 const VkAllocationCallbacks* pAllocator,
381 VkFence* pFence)
382{
383 auto vkEnc = HostConnection::get()->vkEncoder();
384 VkResult vkCreateFence_VkResult_return = (VkResult)0;
385 vkCreateFence_VkResult_return = vkEnc->vkCreateFence(device, pCreateInfo, pAllocator, pFence);
386 return vkCreateFence_VkResult_return;
387}
388static void entry_vkDestroyFence(
389 VkDevice device,
390 VkFence fence,
391 const VkAllocationCallbacks* pAllocator)
392{
393 auto vkEnc = HostConnection::get()->vkEncoder();
394 vkEnc->vkDestroyFence(device, fence, pAllocator);
395}
396static VkResult entry_vkResetFences(
397 VkDevice device,
398 uint32_t fenceCount,
399 const VkFence* pFences)
400{
401 auto vkEnc = HostConnection::get()->vkEncoder();
402 VkResult vkResetFences_VkResult_return = (VkResult)0;
403 vkResetFences_VkResult_return = vkEnc->vkResetFences(device, fenceCount, pFences);
404 return vkResetFences_VkResult_return;
405}
406static VkResult entry_vkGetFenceStatus(
407 VkDevice device,
408 VkFence fence)
409{
410 auto vkEnc = HostConnection::get()->vkEncoder();
411 VkResult vkGetFenceStatus_VkResult_return = (VkResult)0;
412 vkGetFenceStatus_VkResult_return = vkEnc->vkGetFenceStatus(device, fence);
413 return vkGetFenceStatus_VkResult_return;
414}
415static VkResult entry_vkWaitForFences(
416 VkDevice device,
417 uint32_t fenceCount,
418 const VkFence* pFences,
419 VkBool32 waitAll,
420 uint64_t timeout)
421{
422 auto vkEnc = HostConnection::get()->vkEncoder();
423 VkResult vkWaitForFences_VkResult_return = (VkResult)0;
424 vkWaitForFences_VkResult_return = vkEnc->vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
425 return vkWaitForFences_VkResult_return;
426}
427static VkResult entry_vkCreateSemaphore(
428 VkDevice device,
429 const VkSemaphoreCreateInfo* pCreateInfo,
430 const VkAllocationCallbacks* pAllocator,
431 VkSemaphore* pSemaphore)
432{
433 auto vkEnc = HostConnection::get()->vkEncoder();
434 VkResult vkCreateSemaphore_VkResult_return = (VkResult)0;
435 vkCreateSemaphore_VkResult_return = vkEnc->vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
436 return vkCreateSemaphore_VkResult_return;
437}
438static void entry_vkDestroySemaphore(
439 VkDevice device,
440 VkSemaphore semaphore,
441 const VkAllocationCallbacks* pAllocator)
442{
443 auto vkEnc = HostConnection::get()->vkEncoder();
444 vkEnc->vkDestroySemaphore(device, semaphore, pAllocator);
445}
446static VkResult entry_vkCreateEvent(
447 VkDevice device,
448 const VkEventCreateInfo* pCreateInfo,
449 const VkAllocationCallbacks* pAllocator,
450 VkEvent* pEvent)
451{
452 auto vkEnc = HostConnection::get()->vkEncoder();
453 VkResult vkCreateEvent_VkResult_return = (VkResult)0;
454 vkCreateEvent_VkResult_return = vkEnc->vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
455 return vkCreateEvent_VkResult_return;
456}
457static void entry_vkDestroyEvent(
458 VkDevice device,
459 VkEvent event,
460 const VkAllocationCallbacks* pAllocator)
461{
462 auto vkEnc = HostConnection::get()->vkEncoder();
463 vkEnc->vkDestroyEvent(device, event, pAllocator);
464}
465static VkResult entry_vkGetEventStatus(
466 VkDevice device,
467 VkEvent event)
468{
469 auto vkEnc = HostConnection::get()->vkEncoder();
470 VkResult vkGetEventStatus_VkResult_return = (VkResult)0;
471 vkGetEventStatus_VkResult_return = vkEnc->vkGetEventStatus(device, event);
472 return vkGetEventStatus_VkResult_return;
473}
474static VkResult entry_vkSetEvent(
475 VkDevice device,
476 VkEvent event)
477{
478 auto vkEnc = HostConnection::get()->vkEncoder();
479 VkResult vkSetEvent_VkResult_return = (VkResult)0;
480 vkSetEvent_VkResult_return = vkEnc->vkSetEvent(device, event);
481 return vkSetEvent_VkResult_return;
482}
483static VkResult entry_vkResetEvent(
484 VkDevice device,
485 VkEvent event)
486{
487 auto vkEnc = HostConnection::get()->vkEncoder();
488 VkResult vkResetEvent_VkResult_return = (VkResult)0;
489 vkResetEvent_VkResult_return = vkEnc->vkResetEvent(device, event);
490 return vkResetEvent_VkResult_return;
491}
492static VkResult entry_vkCreateQueryPool(
493 VkDevice device,
494 const VkQueryPoolCreateInfo* pCreateInfo,
495 const VkAllocationCallbacks* pAllocator,
496 VkQueryPool* pQueryPool)
497{
498 auto vkEnc = HostConnection::get()->vkEncoder();
499 VkResult vkCreateQueryPool_VkResult_return = (VkResult)0;
500 vkCreateQueryPool_VkResult_return = vkEnc->vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
501 return vkCreateQueryPool_VkResult_return;
502}
503static void entry_vkDestroyQueryPool(
504 VkDevice device,
505 VkQueryPool queryPool,
506 const VkAllocationCallbacks* pAllocator)
507{
508 auto vkEnc = HostConnection::get()->vkEncoder();
509 vkEnc->vkDestroyQueryPool(device, queryPool, pAllocator);
510}
511static VkResult entry_vkGetQueryPoolResults(
512 VkDevice device,
513 VkQueryPool queryPool,
514 uint32_t firstQuery,
515 uint32_t queryCount,
516 size_t dataSize,
517 void* pData,
518 VkDeviceSize stride,
519 VkQueryResultFlags flags)
520{
521 auto vkEnc = HostConnection::get()->vkEncoder();
522 VkResult vkGetQueryPoolResults_VkResult_return = (VkResult)0;
523 vkGetQueryPoolResults_VkResult_return = vkEnc->vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
524 return vkGetQueryPoolResults_VkResult_return;
525}
526static VkResult entry_vkCreateBuffer(
527 VkDevice device,
528 const VkBufferCreateInfo* pCreateInfo,
529 const VkAllocationCallbacks* pAllocator,
530 VkBuffer* pBuffer)
531{
532 auto vkEnc = HostConnection::get()->vkEncoder();
533 VkResult vkCreateBuffer_VkResult_return = (VkResult)0;
534 vkCreateBuffer_VkResult_return = vkEnc->vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
535 return vkCreateBuffer_VkResult_return;
536}
537static void entry_vkDestroyBuffer(
538 VkDevice device,
539 VkBuffer buffer,
540 const VkAllocationCallbacks* pAllocator)
541{
542 auto vkEnc = HostConnection::get()->vkEncoder();
543 vkEnc->vkDestroyBuffer(device, buffer, pAllocator);
544}
545static VkResult entry_vkCreateBufferView(
546 VkDevice device,
547 const VkBufferViewCreateInfo* pCreateInfo,
548 const VkAllocationCallbacks* pAllocator,
549 VkBufferView* pView)
550{
551 auto vkEnc = HostConnection::get()->vkEncoder();
552 VkResult vkCreateBufferView_VkResult_return = (VkResult)0;
553 vkCreateBufferView_VkResult_return = vkEnc->vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
554 return vkCreateBufferView_VkResult_return;
555}
556static void entry_vkDestroyBufferView(
557 VkDevice device,
558 VkBufferView bufferView,
559 const VkAllocationCallbacks* pAllocator)
560{
561 auto vkEnc = HostConnection::get()->vkEncoder();
562 vkEnc->vkDestroyBufferView(device, bufferView, pAllocator);
563}
564static VkResult entry_vkCreateImage(
565 VkDevice device,
566 const VkImageCreateInfo* pCreateInfo,
567 const VkAllocationCallbacks* pAllocator,
568 VkImage* pImage)
569{
570 auto vkEnc = HostConnection::get()->vkEncoder();
571 VkResult vkCreateImage_VkResult_return = (VkResult)0;
572 vkCreateImage_VkResult_return = vkEnc->vkCreateImage(device, pCreateInfo, pAllocator, pImage);
573 return vkCreateImage_VkResult_return;
574}
575static void entry_vkDestroyImage(
576 VkDevice device,
577 VkImage image,
578 const VkAllocationCallbacks* pAllocator)
579{
580 auto vkEnc = HostConnection::get()->vkEncoder();
581 vkEnc->vkDestroyImage(device, image, pAllocator);
582}
583static void entry_vkGetImageSubresourceLayout(
584 VkDevice device,
585 VkImage image,
586 const VkImageSubresource* pSubresource,
587 VkSubresourceLayout* pLayout)
588{
589 auto vkEnc = HostConnection::get()->vkEncoder();
590 vkEnc->vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
591}
592static VkResult entry_vkCreateImageView(
593 VkDevice device,
594 const VkImageViewCreateInfo* pCreateInfo,
595 const VkAllocationCallbacks* pAllocator,
596 VkImageView* pView)
597{
598 auto vkEnc = HostConnection::get()->vkEncoder();
599 VkResult vkCreateImageView_VkResult_return = (VkResult)0;
600 vkCreateImageView_VkResult_return = vkEnc->vkCreateImageView(device, pCreateInfo, pAllocator, pView);
601 return vkCreateImageView_VkResult_return;
602}
603static void entry_vkDestroyImageView(
604 VkDevice device,
605 VkImageView imageView,
606 const VkAllocationCallbacks* pAllocator)
607{
608 auto vkEnc = HostConnection::get()->vkEncoder();
609 vkEnc->vkDestroyImageView(device, imageView, pAllocator);
610}
611static VkResult entry_vkCreateShaderModule(
612 VkDevice device,
613 const VkShaderModuleCreateInfo* pCreateInfo,
614 const VkAllocationCallbacks* pAllocator,
615 VkShaderModule* pShaderModule)
616{
617 auto vkEnc = HostConnection::get()->vkEncoder();
618 VkResult vkCreateShaderModule_VkResult_return = (VkResult)0;
619 vkCreateShaderModule_VkResult_return = vkEnc->vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
620 return vkCreateShaderModule_VkResult_return;
621}
622static void entry_vkDestroyShaderModule(
623 VkDevice device,
624 VkShaderModule shaderModule,
625 const VkAllocationCallbacks* pAllocator)
626{
627 auto vkEnc = HostConnection::get()->vkEncoder();
628 vkEnc->vkDestroyShaderModule(device, shaderModule, pAllocator);
629}
630static VkResult entry_vkCreatePipelineCache(
631 VkDevice device,
632 const VkPipelineCacheCreateInfo* pCreateInfo,
633 const VkAllocationCallbacks* pAllocator,
634 VkPipelineCache* pPipelineCache)
635{
636 auto vkEnc = HostConnection::get()->vkEncoder();
637 VkResult vkCreatePipelineCache_VkResult_return = (VkResult)0;
638 vkCreatePipelineCache_VkResult_return = vkEnc->vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
639 return vkCreatePipelineCache_VkResult_return;
640}
641static void entry_vkDestroyPipelineCache(
642 VkDevice device,
643 VkPipelineCache pipelineCache,
644 const VkAllocationCallbacks* pAllocator)
645{
646 auto vkEnc = HostConnection::get()->vkEncoder();
647 vkEnc->vkDestroyPipelineCache(device, pipelineCache, pAllocator);
648}
649static VkResult entry_vkGetPipelineCacheData(
650 VkDevice device,
651 VkPipelineCache pipelineCache,
652 size_t* pDataSize,
653 void* pData)
654{
655 auto vkEnc = HostConnection::get()->vkEncoder();
656 VkResult vkGetPipelineCacheData_VkResult_return = (VkResult)0;
657 vkGetPipelineCacheData_VkResult_return = vkEnc->vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
658 return vkGetPipelineCacheData_VkResult_return;
659}
660static VkResult entry_vkMergePipelineCaches(
661 VkDevice device,
662 VkPipelineCache dstCache,
663 uint32_t srcCacheCount,
664 const VkPipelineCache* pSrcCaches)
665{
666 auto vkEnc = HostConnection::get()->vkEncoder();
667 VkResult vkMergePipelineCaches_VkResult_return = (VkResult)0;
668 vkMergePipelineCaches_VkResult_return = vkEnc->vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
669 return vkMergePipelineCaches_VkResult_return;
670}
671static VkResult entry_vkCreateGraphicsPipelines(
672 VkDevice device,
673 VkPipelineCache pipelineCache,
674 uint32_t createInfoCount,
675 const VkGraphicsPipelineCreateInfo* pCreateInfos,
676 const VkAllocationCallbacks* pAllocator,
677 VkPipeline* pPipelines)
678{
679 auto vkEnc = HostConnection::get()->vkEncoder();
680 VkResult vkCreateGraphicsPipelines_VkResult_return = (VkResult)0;
681 vkCreateGraphicsPipelines_VkResult_return = vkEnc->vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
682 return vkCreateGraphicsPipelines_VkResult_return;
683}
684static VkResult entry_vkCreateComputePipelines(
685 VkDevice device,
686 VkPipelineCache pipelineCache,
687 uint32_t createInfoCount,
688 const VkComputePipelineCreateInfo* pCreateInfos,
689 const VkAllocationCallbacks* pAllocator,
690 VkPipeline* pPipelines)
691{
692 auto vkEnc = HostConnection::get()->vkEncoder();
693 VkResult vkCreateComputePipelines_VkResult_return = (VkResult)0;
694 vkCreateComputePipelines_VkResult_return = vkEnc->vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
695 return vkCreateComputePipelines_VkResult_return;
696}
697static void entry_vkDestroyPipeline(
698 VkDevice device,
699 VkPipeline pipeline,
700 const VkAllocationCallbacks* pAllocator)
701{
702 auto vkEnc = HostConnection::get()->vkEncoder();
703 vkEnc->vkDestroyPipeline(device, pipeline, pAllocator);
704}
705static VkResult entry_vkCreatePipelineLayout(
706 VkDevice device,
707 const VkPipelineLayoutCreateInfo* pCreateInfo,
708 const VkAllocationCallbacks* pAllocator,
709 VkPipelineLayout* pPipelineLayout)
710{
711 auto vkEnc = HostConnection::get()->vkEncoder();
712 VkResult vkCreatePipelineLayout_VkResult_return = (VkResult)0;
713 vkCreatePipelineLayout_VkResult_return = vkEnc->vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
714 return vkCreatePipelineLayout_VkResult_return;
715}
716static void entry_vkDestroyPipelineLayout(
717 VkDevice device,
718 VkPipelineLayout pipelineLayout,
719 const VkAllocationCallbacks* pAllocator)
720{
721 auto vkEnc = HostConnection::get()->vkEncoder();
722 vkEnc->vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
723}
724static VkResult entry_vkCreateSampler(
725 VkDevice device,
726 const VkSamplerCreateInfo* pCreateInfo,
727 const VkAllocationCallbacks* pAllocator,
728 VkSampler* pSampler)
729{
730 auto vkEnc = HostConnection::get()->vkEncoder();
731 VkResult vkCreateSampler_VkResult_return = (VkResult)0;
732 vkCreateSampler_VkResult_return = vkEnc->vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
733 return vkCreateSampler_VkResult_return;
734}
735static void entry_vkDestroySampler(
736 VkDevice device,
737 VkSampler sampler,
738 const VkAllocationCallbacks* pAllocator)
739{
740 auto vkEnc = HostConnection::get()->vkEncoder();
741 vkEnc->vkDestroySampler(device, sampler, pAllocator);
742}
743static VkResult entry_vkCreateDescriptorSetLayout(
744 VkDevice device,
745 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
746 const VkAllocationCallbacks* pAllocator,
747 VkDescriptorSetLayout* pSetLayout)
748{
749 auto vkEnc = HostConnection::get()->vkEncoder();
750 VkResult vkCreateDescriptorSetLayout_VkResult_return = (VkResult)0;
751 vkCreateDescriptorSetLayout_VkResult_return = vkEnc->vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
752 return vkCreateDescriptorSetLayout_VkResult_return;
753}
754static void entry_vkDestroyDescriptorSetLayout(
755 VkDevice device,
756 VkDescriptorSetLayout descriptorSetLayout,
757 const VkAllocationCallbacks* pAllocator)
758{
759 auto vkEnc = HostConnection::get()->vkEncoder();
760 vkEnc->vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
761}
762static VkResult entry_vkCreateDescriptorPool(
763 VkDevice device,
764 const VkDescriptorPoolCreateInfo* pCreateInfo,
765 const VkAllocationCallbacks* pAllocator,
766 VkDescriptorPool* pDescriptorPool)
767{
768 auto vkEnc = HostConnection::get()->vkEncoder();
769 VkResult vkCreateDescriptorPool_VkResult_return = (VkResult)0;
770 vkCreateDescriptorPool_VkResult_return = vkEnc->vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
771 return vkCreateDescriptorPool_VkResult_return;
772}
773static void entry_vkDestroyDescriptorPool(
774 VkDevice device,
775 VkDescriptorPool descriptorPool,
776 const VkAllocationCallbacks* pAllocator)
777{
778 auto vkEnc = HostConnection::get()->vkEncoder();
779 vkEnc->vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
780}
781static VkResult entry_vkResetDescriptorPool(
782 VkDevice device,
783 VkDescriptorPool descriptorPool,
784 VkDescriptorPoolResetFlags flags)
785{
786 auto vkEnc = HostConnection::get()->vkEncoder();
787 VkResult vkResetDescriptorPool_VkResult_return = (VkResult)0;
788 vkResetDescriptorPool_VkResult_return = vkEnc->vkResetDescriptorPool(device, descriptorPool, flags);
789 return vkResetDescriptorPool_VkResult_return;
790}
791static VkResult entry_vkAllocateDescriptorSets(
792 VkDevice device,
793 const VkDescriptorSetAllocateInfo* pAllocateInfo,
794 VkDescriptorSet* pDescriptorSets)
795{
796 auto vkEnc = HostConnection::get()->vkEncoder();
797 VkResult vkAllocateDescriptorSets_VkResult_return = (VkResult)0;
798 vkAllocateDescriptorSets_VkResult_return = vkEnc->vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
799 return vkAllocateDescriptorSets_VkResult_return;
800}
801static VkResult entry_vkFreeDescriptorSets(
802 VkDevice device,
803 VkDescriptorPool descriptorPool,
804 uint32_t descriptorSetCount,
805 const VkDescriptorSet* pDescriptorSets)
806{
807 auto vkEnc = HostConnection::get()->vkEncoder();
808 VkResult vkFreeDescriptorSets_VkResult_return = (VkResult)0;
809 vkFreeDescriptorSets_VkResult_return = vkEnc->vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
810 return vkFreeDescriptorSets_VkResult_return;
811}
812static void entry_vkUpdateDescriptorSets(
813 VkDevice device,
814 uint32_t descriptorWriteCount,
815 const VkWriteDescriptorSet* pDescriptorWrites,
816 uint32_t descriptorCopyCount,
817 const VkCopyDescriptorSet* pDescriptorCopies)
818{
819 auto vkEnc = HostConnection::get()->vkEncoder();
820 vkEnc->vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
821}
822static VkResult entry_vkCreateFramebuffer(
823 VkDevice device,
824 const VkFramebufferCreateInfo* pCreateInfo,
825 const VkAllocationCallbacks* pAllocator,
826 VkFramebuffer* pFramebuffer)
827{
828 auto vkEnc = HostConnection::get()->vkEncoder();
829 VkResult vkCreateFramebuffer_VkResult_return = (VkResult)0;
830 vkCreateFramebuffer_VkResult_return = vkEnc->vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
831 return vkCreateFramebuffer_VkResult_return;
832}
833static void entry_vkDestroyFramebuffer(
834 VkDevice device,
835 VkFramebuffer framebuffer,
836 const VkAllocationCallbacks* pAllocator)
837{
838 auto vkEnc = HostConnection::get()->vkEncoder();
839 vkEnc->vkDestroyFramebuffer(device, framebuffer, pAllocator);
840}
841static VkResult entry_vkCreateRenderPass(
842 VkDevice device,
843 const VkRenderPassCreateInfo* pCreateInfo,
844 const VkAllocationCallbacks* pAllocator,
845 VkRenderPass* pRenderPass)
846{
847 auto vkEnc = HostConnection::get()->vkEncoder();
848 VkResult vkCreateRenderPass_VkResult_return = (VkResult)0;
849 vkCreateRenderPass_VkResult_return = vkEnc->vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
850 return vkCreateRenderPass_VkResult_return;
851}
852static void entry_vkDestroyRenderPass(
853 VkDevice device,
854 VkRenderPass renderPass,
855 const VkAllocationCallbacks* pAllocator)
856{
857 auto vkEnc = HostConnection::get()->vkEncoder();
858 vkEnc->vkDestroyRenderPass(device, renderPass, pAllocator);
859}
860static void entry_vkGetRenderAreaGranularity(
861 VkDevice device,
862 VkRenderPass renderPass,
863 VkExtent2D* pGranularity)
864{
865 auto vkEnc = HostConnection::get()->vkEncoder();
866 vkEnc->vkGetRenderAreaGranularity(device, renderPass, pGranularity);
867}
868static VkResult entry_vkCreateCommandPool(
869 VkDevice device,
870 const VkCommandPoolCreateInfo* pCreateInfo,
871 const VkAllocationCallbacks* pAllocator,
872 VkCommandPool* pCommandPool)
873{
874 auto vkEnc = HostConnection::get()->vkEncoder();
875 VkResult vkCreateCommandPool_VkResult_return = (VkResult)0;
876 vkCreateCommandPool_VkResult_return = vkEnc->vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
877 return vkCreateCommandPool_VkResult_return;
878}
879static void entry_vkDestroyCommandPool(
880 VkDevice device,
881 VkCommandPool commandPool,
882 const VkAllocationCallbacks* pAllocator)
883{
884 auto vkEnc = HostConnection::get()->vkEncoder();
885 vkEnc->vkDestroyCommandPool(device, commandPool, pAllocator);
886}
887static VkResult entry_vkResetCommandPool(
888 VkDevice device,
889 VkCommandPool commandPool,
890 VkCommandPoolResetFlags flags)
891{
892 auto vkEnc = HostConnection::get()->vkEncoder();
893 VkResult vkResetCommandPool_VkResult_return = (VkResult)0;
894 vkResetCommandPool_VkResult_return = vkEnc->vkResetCommandPool(device, commandPool, flags);
895 return vkResetCommandPool_VkResult_return;
896}
897static VkResult entry_vkAllocateCommandBuffers(
898 VkDevice device,
899 const VkCommandBufferAllocateInfo* pAllocateInfo,
900 VkCommandBuffer* pCommandBuffers)
901{
902 auto vkEnc = HostConnection::get()->vkEncoder();
903 VkResult vkAllocateCommandBuffers_VkResult_return = (VkResult)0;
904 vkAllocateCommandBuffers_VkResult_return = vkEnc->vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
905 return vkAllocateCommandBuffers_VkResult_return;
906}
907static void entry_vkFreeCommandBuffers(
908 VkDevice device,
909 VkCommandPool commandPool,
910 uint32_t commandBufferCount,
911 const VkCommandBuffer* pCommandBuffers)
912{
913 auto vkEnc = HostConnection::get()->vkEncoder();
914 vkEnc->vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
915}
916static VkResult entry_vkBeginCommandBuffer(
917 VkCommandBuffer commandBuffer,
918 const VkCommandBufferBeginInfo* pBeginInfo)
919{
920 auto vkEnc = HostConnection::get()->vkEncoder();
921 VkResult vkBeginCommandBuffer_VkResult_return = (VkResult)0;
922 vkBeginCommandBuffer_VkResult_return = vkEnc->vkBeginCommandBuffer(commandBuffer, pBeginInfo);
923 return vkBeginCommandBuffer_VkResult_return;
924}
925static VkResult entry_vkEndCommandBuffer(
926 VkCommandBuffer commandBuffer)
927{
928 auto vkEnc = HostConnection::get()->vkEncoder();
929 VkResult vkEndCommandBuffer_VkResult_return = (VkResult)0;
930 vkEndCommandBuffer_VkResult_return = vkEnc->vkEndCommandBuffer(commandBuffer);
931 return vkEndCommandBuffer_VkResult_return;
932}
933static VkResult entry_vkResetCommandBuffer(
934 VkCommandBuffer commandBuffer,
935 VkCommandBufferResetFlags flags)
936{
937 auto vkEnc = HostConnection::get()->vkEncoder();
938 VkResult vkResetCommandBuffer_VkResult_return = (VkResult)0;
939 vkResetCommandBuffer_VkResult_return = vkEnc->vkResetCommandBuffer(commandBuffer, flags);
940 return vkResetCommandBuffer_VkResult_return;
941}
942static void entry_vkCmdBindPipeline(
943 VkCommandBuffer commandBuffer,
944 VkPipelineBindPoint pipelineBindPoint,
945 VkPipeline pipeline)
946{
947 auto vkEnc = HostConnection::get()->vkEncoder();
948 vkEnc->vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
949}
950static void entry_vkCmdSetViewport(
951 VkCommandBuffer commandBuffer,
952 uint32_t firstViewport,
953 uint32_t viewportCount,
954 const VkViewport* pViewports)
955{
956 auto vkEnc = HostConnection::get()->vkEncoder();
957 vkEnc->vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
958}
959static void entry_vkCmdSetScissor(
960 VkCommandBuffer commandBuffer,
961 uint32_t firstScissor,
962 uint32_t scissorCount,
963 const VkRect2D* pScissors)
964{
965 auto vkEnc = HostConnection::get()->vkEncoder();
966 vkEnc->vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
967}
968static void entry_vkCmdSetLineWidth(
969 VkCommandBuffer commandBuffer,
970 float lineWidth)
971{
972 auto vkEnc = HostConnection::get()->vkEncoder();
973 vkEnc->vkCmdSetLineWidth(commandBuffer, lineWidth);
974}
975static void entry_vkCmdSetDepthBias(
976 VkCommandBuffer commandBuffer,
977 float depthBiasConstantFactor,
978 float depthBiasClamp,
979 float depthBiasSlopeFactor)
980{
981 auto vkEnc = HostConnection::get()->vkEncoder();
982 vkEnc->vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
983}
984static void entry_vkCmdSetBlendConstants(
985 VkCommandBuffer commandBuffer,
986 const float blendConstants)
987{
988 auto vkEnc = HostConnection::get()->vkEncoder();
989 vkEnc->vkCmdSetBlendConstants(commandBuffer, blendConstants);
990}
991static void entry_vkCmdSetDepthBounds(
992 VkCommandBuffer commandBuffer,
993 float minDepthBounds,
994 float maxDepthBounds)
995{
996 auto vkEnc = HostConnection::get()->vkEncoder();
997 vkEnc->vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
998}
999static void entry_vkCmdSetStencilCompareMask(
1000 VkCommandBuffer commandBuffer,
1001 VkStencilFaceFlags faceMask,
1002 uint32_t compareMask)
1003{
1004 auto vkEnc = HostConnection::get()->vkEncoder();
1005 vkEnc->vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
1006}
1007static void entry_vkCmdSetStencilWriteMask(
1008 VkCommandBuffer commandBuffer,
1009 VkStencilFaceFlags faceMask,
1010 uint32_t writeMask)
1011{
1012 auto vkEnc = HostConnection::get()->vkEncoder();
1013 vkEnc->vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
1014}
1015static void entry_vkCmdSetStencilReference(
1016 VkCommandBuffer commandBuffer,
1017 VkStencilFaceFlags faceMask,
1018 uint32_t reference)
1019{
1020 auto vkEnc = HostConnection::get()->vkEncoder();
1021 vkEnc->vkCmdSetStencilReference(commandBuffer, faceMask, reference);
1022}
1023static void entry_vkCmdBindDescriptorSets(
1024 VkCommandBuffer commandBuffer,
1025 VkPipelineBindPoint pipelineBindPoint,
1026 VkPipelineLayout layout,
1027 uint32_t firstSet,
1028 uint32_t descriptorSetCount,
1029 const VkDescriptorSet* pDescriptorSets,
1030 uint32_t dynamicOffsetCount,
1031 const uint32_t* pDynamicOffsets)
1032{
1033 auto vkEnc = HostConnection::get()->vkEncoder();
1034 vkEnc->vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
1035}
1036static void entry_vkCmdBindIndexBuffer(
1037 VkCommandBuffer commandBuffer,
1038 VkBuffer buffer,
1039 VkDeviceSize offset,
1040 VkIndexType indexType)
1041{
1042 auto vkEnc = HostConnection::get()->vkEncoder();
1043 vkEnc->vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
1044}
1045static void entry_vkCmdBindVertexBuffers(
1046 VkCommandBuffer commandBuffer,
1047 uint32_t firstBinding,
1048 uint32_t bindingCount,
1049 const VkBuffer* pBuffers,
1050 const VkDeviceSize* pOffsets)
1051{
1052 auto vkEnc = HostConnection::get()->vkEncoder();
1053 vkEnc->vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
1054}
1055static void entry_vkCmdDraw(
1056 VkCommandBuffer commandBuffer,
1057 uint32_t vertexCount,
1058 uint32_t instanceCount,
1059 uint32_t firstVertex,
1060 uint32_t firstInstance)
1061{
1062 auto vkEnc = HostConnection::get()->vkEncoder();
1063 vkEnc->vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
1064}
1065static void entry_vkCmdDrawIndexed(
1066 VkCommandBuffer commandBuffer,
1067 uint32_t indexCount,
1068 uint32_t instanceCount,
1069 uint32_t firstIndex,
1070 int32_t vertexOffset,
1071 uint32_t firstInstance)
1072{
1073 auto vkEnc = HostConnection::get()->vkEncoder();
1074 vkEnc->vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
1075}
1076static void entry_vkCmdDrawIndirect(
1077 VkCommandBuffer commandBuffer,
1078 VkBuffer buffer,
1079 VkDeviceSize offset,
1080 uint32_t drawCount,
1081 uint32_t stride)
1082{
1083 auto vkEnc = HostConnection::get()->vkEncoder();
1084 vkEnc->vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
1085}
1086static void entry_vkCmdDrawIndexedIndirect(
1087 VkCommandBuffer commandBuffer,
1088 VkBuffer buffer,
1089 VkDeviceSize offset,
1090 uint32_t drawCount,
1091 uint32_t stride)
1092{
1093 auto vkEnc = HostConnection::get()->vkEncoder();
1094 vkEnc->vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
1095}
1096static void entry_vkCmdDispatch(
1097 VkCommandBuffer commandBuffer,
1098 uint32_t groupCountX,
1099 uint32_t groupCountY,
1100 uint32_t groupCountZ)
1101{
1102 auto vkEnc = HostConnection::get()->vkEncoder();
1103 vkEnc->vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
1104}
1105static void entry_vkCmdDispatchIndirect(
1106 VkCommandBuffer commandBuffer,
1107 VkBuffer buffer,
1108 VkDeviceSize offset)
1109{
1110 auto vkEnc = HostConnection::get()->vkEncoder();
1111 vkEnc->vkCmdDispatchIndirect(commandBuffer, buffer, offset);
1112}
1113static void entry_vkCmdCopyBuffer(
1114 VkCommandBuffer commandBuffer,
1115 VkBuffer srcBuffer,
1116 VkBuffer dstBuffer,
1117 uint32_t regionCount,
1118 const VkBufferCopy* pRegions)
1119{
1120 auto vkEnc = HostConnection::get()->vkEncoder();
1121 vkEnc->vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
1122}
1123static void entry_vkCmdCopyImage(
1124 VkCommandBuffer commandBuffer,
1125 VkImage srcImage,
1126 VkImageLayout srcImageLayout,
1127 VkImage dstImage,
1128 VkImageLayout dstImageLayout,
1129 uint32_t regionCount,
1130 const VkImageCopy* pRegions)
1131{
1132 auto vkEnc = HostConnection::get()->vkEncoder();
1133 vkEnc->vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
1134}
1135static void entry_vkCmdBlitImage(
1136 VkCommandBuffer commandBuffer,
1137 VkImage srcImage,
1138 VkImageLayout srcImageLayout,
1139 VkImage dstImage,
1140 VkImageLayout dstImageLayout,
1141 uint32_t regionCount,
1142 const VkImageBlit* pRegions,
1143 VkFilter filter)
1144{
1145 auto vkEnc = HostConnection::get()->vkEncoder();
1146 vkEnc->vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
1147}
1148static void entry_vkCmdCopyBufferToImage(
1149 VkCommandBuffer commandBuffer,
1150 VkBuffer srcBuffer,
1151 VkImage dstImage,
1152 VkImageLayout dstImageLayout,
1153 uint32_t regionCount,
1154 const VkBufferImageCopy* pRegions)
1155{
1156 auto vkEnc = HostConnection::get()->vkEncoder();
1157 vkEnc->vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
1158}
1159static void entry_vkCmdCopyImageToBuffer(
1160 VkCommandBuffer commandBuffer,
1161 VkImage srcImage,
1162 VkImageLayout srcImageLayout,
1163 VkBuffer dstBuffer,
1164 uint32_t regionCount,
1165 const VkBufferImageCopy* pRegions)
1166{
1167 auto vkEnc = HostConnection::get()->vkEncoder();
1168 vkEnc->vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
1169}
1170static void entry_vkCmdUpdateBuffer(
1171 VkCommandBuffer commandBuffer,
1172 VkBuffer dstBuffer,
1173 VkDeviceSize dstOffset,
1174 VkDeviceSize dataSize,
1175 const void* pData)
1176{
1177 auto vkEnc = HostConnection::get()->vkEncoder();
1178 vkEnc->vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
1179}
1180static void entry_vkCmdFillBuffer(
1181 VkCommandBuffer commandBuffer,
1182 VkBuffer dstBuffer,
1183 VkDeviceSize dstOffset,
1184 VkDeviceSize size,
1185 uint32_t data)
1186{
1187 auto vkEnc = HostConnection::get()->vkEncoder();
1188 vkEnc->vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
1189}
1190static void entry_vkCmdClearColorImage(
1191 VkCommandBuffer commandBuffer,
1192 VkImage image,
1193 VkImageLayout imageLayout,
1194 const VkClearColorValue* pColor,
1195 uint32_t rangeCount,
1196 const VkImageSubresourceRange* pRanges)
1197{
1198 auto vkEnc = HostConnection::get()->vkEncoder();
1199 vkEnc->vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
1200}
1201static void entry_vkCmdClearDepthStencilImage(
1202 VkCommandBuffer commandBuffer,
1203 VkImage image,
1204 VkImageLayout imageLayout,
1205 const VkClearDepthStencilValue* pDepthStencil,
1206 uint32_t rangeCount,
1207 const VkImageSubresourceRange* pRanges)
1208{
1209 auto vkEnc = HostConnection::get()->vkEncoder();
1210 vkEnc->vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
1211}
1212static void entry_vkCmdClearAttachments(
1213 VkCommandBuffer commandBuffer,
1214 uint32_t attachmentCount,
1215 const VkClearAttachment* pAttachments,
1216 uint32_t rectCount,
1217 const VkClearRect* pRects)
1218{
1219 auto vkEnc = HostConnection::get()->vkEncoder();
1220 vkEnc->vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
1221}
1222static void entry_vkCmdResolveImage(
1223 VkCommandBuffer commandBuffer,
1224 VkImage srcImage,
1225 VkImageLayout srcImageLayout,
1226 VkImage dstImage,
1227 VkImageLayout dstImageLayout,
1228 uint32_t regionCount,
1229 const VkImageResolve* pRegions)
1230{
1231 auto vkEnc = HostConnection::get()->vkEncoder();
1232 vkEnc->vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
1233}
1234static void entry_vkCmdSetEvent(
1235 VkCommandBuffer commandBuffer,
1236 VkEvent event,
1237 VkPipelineStageFlags stageMask)
1238{
1239 auto vkEnc = HostConnection::get()->vkEncoder();
1240 vkEnc->vkCmdSetEvent(commandBuffer, event, stageMask);
1241}
1242static void entry_vkCmdResetEvent(
1243 VkCommandBuffer commandBuffer,
1244 VkEvent event,
1245 VkPipelineStageFlags stageMask)
1246{
1247 auto vkEnc = HostConnection::get()->vkEncoder();
1248 vkEnc->vkCmdResetEvent(commandBuffer, event, stageMask);
1249}
1250static void entry_vkCmdWaitEvents(
1251 VkCommandBuffer commandBuffer,
1252 uint32_t eventCount,
1253 const VkEvent* pEvents,
1254 VkPipelineStageFlags srcStageMask,
1255 VkPipelineStageFlags dstStageMask,
1256 uint32_t memoryBarrierCount,
1257 const VkMemoryBarrier* pMemoryBarriers,
1258 uint32_t bufferMemoryBarrierCount,
1259 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
1260 uint32_t imageMemoryBarrierCount,
1261 const VkImageMemoryBarrier* pImageMemoryBarriers)
1262{
1263 auto vkEnc = HostConnection::get()->vkEncoder();
1264 vkEnc->vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
1265}
1266static void entry_vkCmdPipelineBarrier(
1267 VkCommandBuffer commandBuffer,
1268 VkPipelineStageFlags srcStageMask,
1269 VkPipelineStageFlags dstStageMask,
1270 VkDependencyFlags dependencyFlags,
1271 uint32_t memoryBarrierCount,
1272 const VkMemoryBarrier* pMemoryBarriers,
1273 uint32_t bufferMemoryBarrierCount,
1274 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
1275 uint32_t imageMemoryBarrierCount,
1276 const VkImageMemoryBarrier* pImageMemoryBarriers)
1277{
1278 auto vkEnc = HostConnection::get()->vkEncoder();
1279 vkEnc->vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
1280}
1281static void entry_vkCmdBeginQuery(
1282 VkCommandBuffer commandBuffer,
1283 VkQueryPool queryPool,
1284 uint32_t query,
1285 VkQueryControlFlags flags)
1286{
1287 auto vkEnc = HostConnection::get()->vkEncoder();
1288 vkEnc->vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
1289}
1290static void entry_vkCmdEndQuery(
1291 VkCommandBuffer commandBuffer,
1292 VkQueryPool queryPool,
1293 uint32_t query)
1294{
1295 auto vkEnc = HostConnection::get()->vkEncoder();
1296 vkEnc->vkCmdEndQuery(commandBuffer, queryPool, query);
1297}
1298static void entry_vkCmdResetQueryPool(
1299 VkCommandBuffer commandBuffer,
1300 VkQueryPool queryPool,
1301 uint32_t firstQuery,
1302 uint32_t queryCount)
1303{
1304 auto vkEnc = HostConnection::get()->vkEncoder();
1305 vkEnc->vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
1306}
1307static void entry_vkCmdWriteTimestamp(
1308 VkCommandBuffer commandBuffer,
1309 VkPipelineStageFlagBits pipelineStage,
1310 VkQueryPool queryPool,
1311 uint32_t query)
1312{
1313 auto vkEnc = HostConnection::get()->vkEncoder();
1314 vkEnc->vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
1315}
1316static void entry_vkCmdCopyQueryPoolResults(
1317 VkCommandBuffer commandBuffer,
1318 VkQueryPool queryPool,
1319 uint32_t firstQuery,
1320 uint32_t queryCount,
1321 VkBuffer dstBuffer,
1322 VkDeviceSize dstOffset,
1323 VkDeviceSize stride,
1324 VkQueryResultFlags flags)
1325{
1326 auto vkEnc = HostConnection::get()->vkEncoder();
1327 vkEnc->vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
1328}
1329static void entry_vkCmdPushConstants(
1330 VkCommandBuffer commandBuffer,
1331 VkPipelineLayout layout,
1332 VkShaderStageFlags stageFlags,
1333 uint32_t offset,
1334 uint32_t size,
1335 const void* pValues)
1336{
1337 auto vkEnc = HostConnection::get()->vkEncoder();
1338 vkEnc->vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
1339}
1340static void entry_vkCmdBeginRenderPass(
1341 VkCommandBuffer commandBuffer,
1342 const VkRenderPassBeginInfo* pRenderPassBegin,
1343 VkSubpassContents contents)
1344{
1345 auto vkEnc = HostConnection::get()->vkEncoder();
1346 vkEnc->vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
1347}
1348static void entry_vkCmdNextSubpass(
1349 VkCommandBuffer commandBuffer,
1350 VkSubpassContents contents)
1351{
1352 auto vkEnc = HostConnection::get()->vkEncoder();
1353 vkEnc->vkCmdNextSubpass(commandBuffer, contents);
1354}
1355static void entry_vkCmdEndRenderPass(
1356 VkCommandBuffer commandBuffer)
1357{
1358 auto vkEnc = HostConnection::get()->vkEncoder();
1359 vkEnc->vkCmdEndRenderPass(commandBuffer);
1360}
1361static void entry_vkCmdExecuteCommands(
1362 VkCommandBuffer commandBuffer,
1363 uint32_t commandBufferCount,
1364 const VkCommandBuffer* pCommandBuffers)
1365{
1366 auto vkEnc = HostConnection::get()->vkEncoder();
1367 vkEnc->vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
1368}
1369#endif
1370#ifdef VK_VERSION_1_1
1371static VkResult entry_vkEnumerateInstanceVersion(
1372 uint32_t* pApiVersion)
1373{
1374 auto vkEnc = HostConnection::get()->vkEncoder();
1375 VkResult vkEnumerateInstanceVersion_VkResult_return = (VkResult)0;
1376 vkEnumerateInstanceVersion_VkResult_return = vkEnc->vkEnumerateInstanceVersion(pApiVersion);
1377 return vkEnumerateInstanceVersion_VkResult_return;
1378}
1379static VkResult entry_vkBindBufferMemory2(
1380 VkDevice device,
1381 uint32_t bindInfoCount,
1382 const VkBindBufferMemoryInfo* pBindInfos)
1383{
1384 auto vkEnc = HostConnection::get()->vkEncoder();
1385 VkResult vkBindBufferMemory2_VkResult_return = (VkResult)0;
1386 vkBindBufferMemory2_VkResult_return = vkEnc->vkBindBufferMemory2(device, bindInfoCount, pBindInfos);
1387 return vkBindBufferMemory2_VkResult_return;
1388}
1389static VkResult entry_vkBindImageMemory2(
1390 VkDevice device,
1391 uint32_t bindInfoCount,
1392 const VkBindImageMemoryInfo* pBindInfos)
1393{
1394 auto vkEnc = HostConnection::get()->vkEncoder();
1395 VkResult vkBindImageMemory2_VkResult_return = (VkResult)0;
1396 vkBindImageMemory2_VkResult_return = vkEnc->vkBindImageMemory2(device, bindInfoCount, pBindInfos);
1397 return vkBindImageMemory2_VkResult_return;
1398}
1399static void entry_vkGetDeviceGroupPeerMemoryFeatures(
1400 VkDevice device,
1401 uint32_t heapIndex,
1402 uint32_t localDeviceIndex,
1403 uint32_t remoteDeviceIndex,
1404 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
1405{
1406 auto vkEnc = HostConnection::get()->vkEncoder();
1407 vkEnc->vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
1408}
1409static void entry_vkCmdSetDeviceMask(
1410 VkCommandBuffer commandBuffer,
1411 uint32_t deviceMask)
1412{
1413 auto vkEnc = HostConnection::get()->vkEncoder();
1414 vkEnc->vkCmdSetDeviceMask(commandBuffer, deviceMask);
1415}
1416static void entry_vkCmdDispatchBase(
1417 VkCommandBuffer commandBuffer,
1418 uint32_t baseGroupX,
1419 uint32_t baseGroupY,
1420 uint32_t baseGroupZ,
1421 uint32_t groupCountX,
1422 uint32_t groupCountY,
1423 uint32_t groupCountZ)
1424{
1425 auto vkEnc = HostConnection::get()->vkEncoder();
1426 vkEnc->vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
1427}
1428static VkResult entry_vkEnumeratePhysicalDeviceGroups(
1429 VkInstance instance,
1430 uint32_t* pPhysicalDeviceGroupCount,
1431 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
1432{
1433 auto vkEnc = HostConnection::get()->vkEncoder();
1434 VkResult vkEnumeratePhysicalDeviceGroups_VkResult_return = (VkResult)0;
1435 vkEnumeratePhysicalDeviceGroups_VkResult_return = vkEnc->vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
1436 return vkEnumeratePhysicalDeviceGroups_VkResult_return;
1437}
1438static void entry_vkGetImageMemoryRequirements2(
1439 VkDevice device,
1440 const VkImageMemoryRequirementsInfo2* pInfo,
1441 VkMemoryRequirements2* pMemoryRequirements)
1442{
1443 auto vkEnc = HostConnection::get()->vkEncoder();
1444 vkEnc->vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
1445}
1446static void entry_vkGetBufferMemoryRequirements2(
1447 VkDevice device,
1448 const VkBufferMemoryRequirementsInfo2* pInfo,
1449 VkMemoryRequirements2* pMemoryRequirements)
1450{
1451 auto vkEnc = HostConnection::get()->vkEncoder();
1452 vkEnc->vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
1453}
1454static void entry_vkGetImageSparseMemoryRequirements2(
1455 VkDevice device,
1456 const VkImageSparseMemoryRequirementsInfo2* pInfo,
1457 uint32_t* pSparseMemoryRequirementCount,
1458 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1459{
1460 auto vkEnc = HostConnection::get()->vkEncoder();
1461 vkEnc->vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1462}
1463static void entry_vkGetPhysicalDeviceFeatures2(
1464 VkPhysicalDevice physicalDevice,
1465 VkPhysicalDeviceFeatures2* pFeatures)
1466{
1467 auto vkEnc = HostConnection::get()->vkEncoder();
1468 vkEnc->vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
1469}
1470static void entry_vkGetPhysicalDeviceProperties2(
1471 VkPhysicalDevice physicalDevice,
1472 VkPhysicalDeviceProperties2* pProperties)
1473{
1474 auto vkEnc = HostConnection::get()->vkEncoder();
1475 vkEnc->vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);
1476}
1477static void entry_vkGetPhysicalDeviceFormatProperties2(
1478 VkPhysicalDevice physicalDevice,
1479 VkFormat format,
1480 VkFormatProperties2* pFormatProperties)
1481{
1482 auto vkEnc = HostConnection::get()->vkEncoder();
1483 vkEnc->vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);
1484}
1485static VkResult entry_vkGetPhysicalDeviceImageFormatProperties2(
1486 VkPhysicalDevice physicalDevice,
1487 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
1488 VkImageFormatProperties2* pImageFormatProperties)
1489{
1490 auto vkEnc = HostConnection::get()->vkEncoder();
1491 VkResult vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = (VkResult)0;
1492 vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = vkEnc->vkGetPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties);
1493 return vkGetPhysicalDeviceImageFormatProperties2_VkResult_return;
1494}
1495static void entry_vkGetPhysicalDeviceQueueFamilyProperties2(
1496 VkPhysicalDevice physicalDevice,
1497 uint32_t* pQueueFamilyPropertyCount,
1498 VkQueueFamilyProperties2* pQueueFamilyProperties)
1499{
1500 auto vkEnc = HostConnection::get()->vkEncoder();
1501 vkEnc->vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
1502}
1503static void entry_vkGetPhysicalDeviceMemoryProperties2(
1504 VkPhysicalDevice physicalDevice,
1505 VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
1506{
1507 auto vkEnc = HostConnection::get()->vkEncoder();
1508 vkEnc->vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);
1509}
1510static void entry_vkGetPhysicalDeviceSparseImageFormatProperties2(
1511 VkPhysicalDevice physicalDevice,
1512 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
1513 uint32_t* pPropertyCount,
1514 VkSparseImageFormatProperties2* pProperties)
1515{
1516 auto vkEnc = HostConnection::get()->vkEncoder();
1517 vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
1518}
1519static void entry_vkTrimCommandPool(
1520 VkDevice device,
1521 VkCommandPool commandPool,
1522 VkCommandPoolTrimFlags flags)
1523{
1524 auto vkEnc = HostConnection::get()->vkEncoder();
1525 vkEnc->vkTrimCommandPool(device, commandPool, flags);
1526}
1527static void entry_vkGetDeviceQueue2(
1528 VkDevice device,
1529 const VkDeviceQueueInfo2* pQueueInfo,
1530 VkQueue* pQueue)
1531{
1532 auto vkEnc = HostConnection::get()->vkEncoder();
1533 vkEnc->vkGetDeviceQueue2(device, pQueueInfo, pQueue);
1534}
1535static VkResult entry_vkCreateSamplerYcbcrConversion(
1536 VkDevice device,
1537 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1538 const VkAllocationCallbacks* pAllocator,
1539 VkSamplerYcbcrConversion* pYcbcrConversion)
1540{
1541 auto vkEnc = HostConnection::get()->vkEncoder();
1542 VkResult vkCreateSamplerYcbcrConversion_VkResult_return = (VkResult)0;
1543 vkCreateSamplerYcbcrConversion_VkResult_return = vkEnc->vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion);
1544 return vkCreateSamplerYcbcrConversion_VkResult_return;
1545}
1546static void entry_vkDestroySamplerYcbcrConversion(
1547 VkDevice device,
1548 VkSamplerYcbcrConversion ycbcrConversion,
1549 const VkAllocationCallbacks* pAllocator)
1550{
1551 auto vkEnc = HostConnection::get()->vkEncoder();
1552 vkEnc->vkDestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator);
1553}
1554static VkResult entry_vkCreateDescriptorUpdateTemplate(
1555 VkDevice device,
1556 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1557 const VkAllocationCallbacks* pAllocator,
1558 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
1559{
1560 auto vkEnc = HostConnection::get()->vkEncoder();
1561 VkResult vkCreateDescriptorUpdateTemplate_VkResult_return = (VkResult)0;
1562 vkCreateDescriptorUpdateTemplate_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
1563 return vkCreateDescriptorUpdateTemplate_VkResult_return;
1564}
1565static void entry_vkDestroyDescriptorUpdateTemplate(
1566 VkDevice device,
1567 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1568 const VkAllocationCallbacks* pAllocator)
1569{
1570 auto vkEnc = HostConnection::get()->vkEncoder();
1571 vkEnc->vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
1572}
1573static void entry_vkUpdateDescriptorSetWithTemplate(
1574 VkDevice device,
1575 VkDescriptorSet descriptorSet,
1576 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1577 const void* pData)
1578{
1579 auto vkEnc = HostConnection::get()->vkEncoder();
1580 vkEnc->vkUpdateDescriptorSetWithTemplate(device, descriptorSet, descriptorUpdateTemplate, pData);
1581}
1582static void entry_vkGetPhysicalDeviceExternalBufferProperties(
1583 VkPhysicalDevice physicalDevice,
1584 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
1585 VkExternalBufferProperties* pExternalBufferProperties)
1586{
1587 auto vkEnc = HostConnection::get()->vkEncoder();
1588 vkEnc->vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
1589}
1590static void entry_vkGetPhysicalDeviceExternalFenceProperties(
1591 VkPhysicalDevice physicalDevice,
1592 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
1593 VkExternalFenceProperties* pExternalFenceProperties)
1594{
1595 auto vkEnc = HostConnection::get()->vkEncoder();
1596 vkEnc->vkGetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
1597}
1598static void entry_vkGetPhysicalDeviceExternalSemaphoreProperties(
1599 VkPhysicalDevice physicalDevice,
1600 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
1601 VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
1602{
1603 auto vkEnc = HostConnection::get()->vkEncoder();
1604 vkEnc->vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
1605}
1606static void entry_vkGetDescriptorSetLayoutSupport(
1607 VkDevice device,
1608 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
1609 VkDescriptorSetLayoutSupport* pSupport)
1610{
1611 auto vkEnc = HostConnection::get()->vkEncoder();
1612 vkEnc->vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
1613}
1614#endif
1615#ifdef VK_KHR_surface
1616static void entry_vkDestroySurfaceKHR(
1617 VkInstance instance,
1618 VkSurfaceKHR surface,
1619 const VkAllocationCallbacks* pAllocator)
1620{
1621 auto vkEnc = HostConnection::get()->vkEncoder();
1622 vkEnc->vkDestroySurfaceKHR(instance, surface, pAllocator);
1623}
1624static VkResult entry_vkGetPhysicalDeviceSurfaceSupportKHR(
1625 VkPhysicalDevice physicalDevice,
1626 uint32_t queueFamilyIndex,
1627 VkSurfaceKHR surface,
1628 VkBool32* pSupported)
1629{
1630 auto vkEnc = HostConnection::get()->vkEncoder();
1631 VkResult vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = (VkResult)0;
1632 vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported);
1633 return vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return;
1634}
1635static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
1636 VkPhysicalDevice physicalDevice,
1637 VkSurfaceKHR surface,
1638 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities)
1639{
1640 auto vkEnc = HostConnection::get()->vkEncoder();
1641 VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = (VkResult)0;
1642 vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities);
1643 return vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return;
1644}
1645static VkResult entry_vkGetPhysicalDeviceSurfaceFormatsKHR(
1646 VkPhysicalDevice physicalDevice,
1647 VkSurfaceKHR surface,
1648 uint32_t* pSurfaceFormatCount,
1649 VkSurfaceFormatKHR* pSurfaceFormats)
1650{
1651 auto vkEnc = HostConnection::get()->vkEncoder();
1652 VkResult vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = (VkResult)0;
1653 vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
1654 return vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return;
1655}
1656static VkResult entry_vkGetPhysicalDeviceSurfacePresentModesKHR(
1657 VkPhysicalDevice physicalDevice,
1658 VkSurfaceKHR surface,
1659 uint32_t* pPresentModeCount,
1660 VkPresentModeKHR* pPresentModes)
1661{
1662 auto vkEnc = HostConnection::get()->vkEncoder();
1663 VkResult vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = (VkResult)0;
1664 vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice, surface, pPresentModeCount, pPresentModes);
1665 return vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return;
1666}
1667#endif
1668#ifdef VK_KHR_swapchain
1669static VkResult entry_vkCreateSwapchainKHR(
1670 VkDevice device,
1671 const VkSwapchainCreateInfoKHR* pCreateInfo,
1672 const VkAllocationCallbacks* pAllocator,
1673 VkSwapchainKHR* pSwapchain)
1674{
1675 auto vkEnc = HostConnection::get()->vkEncoder();
1676 VkResult vkCreateSwapchainKHR_VkResult_return = (VkResult)0;
1677 vkCreateSwapchainKHR_VkResult_return = vkEnc->vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
1678 return vkCreateSwapchainKHR_VkResult_return;
1679}
1680static void entry_vkDestroySwapchainKHR(
1681 VkDevice device,
1682 VkSwapchainKHR swapchain,
1683 const VkAllocationCallbacks* pAllocator)
1684{
1685 auto vkEnc = HostConnection::get()->vkEncoder();
1686 vkEnc->vkDestroySwapchainKHR(device, swapchain, pAllocator);
1687}
1688static VkResult entry_vkGetSwapchainImagesKHR(
1689 VkDevice device,
1690 VkSwapchainKHR swapchain,
1691 uint32_t* pSwapchainImageCount,
1692 VkImage* pSwapchainImages)
1693{
1694 auto vkEnc = HostConnection::get()->vkEncoder();
1695 VkResult vkGetSwapchainImagesKHR_VkResult_return = (VkResult)0;
1696 vkGetSwapchainImagesKHR_VkResult_return = vkEnc->vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
1697 return vkGetSwapchainImagesKHR_VkResult_return;
1698}
1699static VkResult entry_vkAcquireNextImageKHR(
1700 VkDevice device,
1701 VkSwapchainKHR swapchain,
1702 uint64_t timeout,
1703 VkSemaphore semaphore,
1704 VkFence fence,
1705 uint32_t* pImageIndex)
1706{
1707 auto vkEnc = HostConnection::get()->vkEncoder();
1708 VkResult vkAcquireNextImageKHR_VkResult_return = (VkResult)0;
1709 vkAcquireNextImageKHR_VkResult_return = vkEnc->vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
1710 return vkAcquireNextImageKHR_VkResult_return;
1711}
1712static VkResult entry_vkQueuePresentKHR(
1713 VkQueue queue,
1714 const VkPresentInfoKHR* pPresentInfo)
1715{
1716 auto vkEnc = HostConnection::get()->vkEncoder();
1717 VkResult vkQueuePresentKHR_VkResult_return = (VkResult)0;
1718 vkQueuePresentKHR_VkResult_return = vkEnc->vkQueuePresentKHR(queue, pPresentInfo);
1719 return vkQueuePresentKHR_VkResult_return;
1720}
1721static VkResult entry_vkGetDeviceGroupPresentCapabilitiesKHR(
1722 VkDevice device,
1723 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
1724{
1725 auto vkEnc = HostConnection::get()->vkEncoder();
1726 VkResult vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = (VkResult)0;
1727 vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = vkEnc->vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
1728 return vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return;
1729}
1730static VkResult entry_vkGetDeviceGroupSurfacePresentModesKHR(
1731 VkDevice device,
1732 VkSurfaceKHR surface,
1733 VkDeviceGroupPresentModeFlagsKHR* pModes)
1734{
1735 auto vkEnc = HostConnection::get()->vkEncoder();
1736 VkResult vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = (VkResult)0;
1737 vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
1738 return vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return;
1739}
1740static VkResult entry_vkGetPhysicalDevicePresentRectanglesKHR(
1741 VkPhysicalDevice physicalDevice,
1742 VkSurfaceKHR surface,
1743 uint32_t* pRectCount,
1744 VkRect2D* pRects)
1745{
1746 auto vkEnc = HostConnection::get()->vkEncoder();
1747 VkResult vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = (VkResult)0;
1748 vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = vkEnc->vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice, surface, pRectCount, pRects);
1749 return vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return;
1750}
1751static VkResult entry_vkAcquireNextImage2KHR(
1752 VkDevice device,
1753 const VkAcquireNextImageInfoKHR* pAcquireInfo,
1754 uint32_t* pImageIndex)
1755{
1756 auto vkEnc = HostConnection::get()->vkEncoder();
1757 VkResult vkAcquireNextImage2KHR_VkResult_return = (VkResult)0;
1758 vkAcquireNextImage2KHR_VkResult_return = vkEnc->vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
1759 return vkAcquireNextImage2KHR_VkResult_return;
1760}
1761#endif
1762#ifdef VK_KHR_display
1763static VkResult entry_vkGetPhysicalDeviceDisplayPropertiesKHR(
1764 VkPhysicalDevice physicalDevice,
1765 uint32_t* pPropertyCount,
1766 VkDisplayPropertiesKHR* pProperties)
1767{
1768 auto vkEnc = HostConnection::get()->vkEncoder();
1769 VkResult vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = (VkResult)0;
1770 vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, pPropertyCount, pProperties);
1771 return vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return;
1772}
1773static VkResult entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
1774 VkPhysicalDevice physicalDevice,
1775 uint32_t* pPropertyCount,
1776 VkDisplayPlanePropertiesKHR* pProperties)
1777{
1778 auto vkEnc = HostConnection::get()->vkEncoder();
1779 VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = (VkResult)0;
1780 vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, pPropertyCount, pProperties);
1781 return vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return;
1782}
1783static VkResult entry_vkGetDisplayPlaneSupportedDisplaysKHR(
1784 VkPhysicalDevice physicalDevice,
1785 uint32_t planeIndex,
1786 uint32_t* pDisplayCount,
1787 VkDisplayKHR* pDisplays)
1788{
1789 auto vkEnc = HostConnection::get()->vkEncoder();
1790 VkResult vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = (VkResult)0;
1791 vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = vkEnc->vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, pDisplayCount, pDisplays);
1792 return vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return;
1793}
1794static VkResult entry_vkGetDisplayModePropertiesKHR(
1795 VkPhysicalDevice physicalDevice,
1796 VkDisplayKHR display,
1797 uint32_t* pPropertyCount,
1798 VkDisplayModePropertiesKHR* pProperties)
1799{
1800 auto vkEnc = HostConnection::get()->vkEncoder();
1801 VkResult vkGetDisplayModePropertiesKHR_VkResult_return = (VkResult)0;
1802 vkGetDisplayModePropertiesKHR_VkResult_return = vkEnc->vkGetDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties);
1803 return vkGetDisplayModePropertiesKHR_VkResult_return;
1804}
1805static VkResult entry_vkCreateDisplayModeKHR(
1806 VkPhysicalDevice physicalDevice,
1807 VkDisplayKHR display,
1808 const VkDisplayModeCreateInfoKHR* pCreateInfo,
1809 const VkAllocationCallbacks* pAllocator,
1810 VkDisplayModeKHR* pMode)
1811{
1812 auto vkEnc = HostConnection::get()->vkEncoder();
1813 VkResult vkCreateDisplayModeKHR_VkResult_return = (VkResult)0;
1814 vkCreateDisplayModeKHR_VkResult_return = vkEnc->vkCreateDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode);
1815 return vkCreateDisplayModeKHR_VkResult_return;
1816}
1817static VkResult entry_vkGetDisplayPlaneCapabilitiesKHR(
1818 VkPhysicalDevice physicalDevice,
1819 VkDisplayModeKHR mode,
1820 uint32_t planeIndex,
1821 VkDisplayPlaneCapabilitiesKHR* pCapabilities)
1822{
1823 auto vkEnc = HostConnection::get()->vkEncoder();
1824 VkResult vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = (VkResult)0;
1825 vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = vkEnc->vkGetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities);
1826 return vkGetDisplayPlaneCapabilitiesKHR_VkResult_return;
1827}
1828static VkResult entry_vkCreateDisplayPlaneSurfaceKHR(
1829 VkInstance instance,
1830 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
1831 const VkAllocationCallbacks* pAllocator,
1832 VkSurfaceKHR* pSurface)
1833{
1834 auto vkEnc = HostConnection::get()->vkEncoder();
1835 VkResult vkCreateDisplayPlaneSurfaceKHR_VkResult_return = (VkResult)0;
1836 vkCreateDisplayPlaneSurfaceKHR_VkResult_return = vkEnc->vkCreateDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1837 return vkCreateDisplayPlaneSurfaceKHR_VkResult_return;
1838}
1839#endif
1840#ifdef VK_KHR_display_swapchain
1841static VkResult entry_vkCreateSharedSwapchainsKHR(
1842 VkDevice device,
1843 uint32_t swapchainCount,
1844 const VkSwapchainCreateInfoKHR* pCreateInfos,
1845 const VkAllocationCallbacks* pAllocator,
1846 VkSwapchainKHR* pSwapchains)
1847{
1848 auto vkEnc = HostConnection::get()->vkEncoder();
1849 VkResult vkCreateSharedSwapchainsKHR_VkResult_return = (VkResult)0;
1850 vkCreateSharedSwapchainsKHR_VkResult_return = vkEnc->vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
1851 return vkCreateSharedSwapchainsKHR_VkResult_return;
1852}
1853#endif
1854#ifdef VK_KHR_xlib_surface
1855static VkResult entry_vkCreateXlibSurfaceKHR(
1856 VkInstance instance,
1857 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
1858 const VkAllocationCallbacks* pAllocator,
1859 VkSurfaceKHR* pSurface)
1860{
1861 auto vkEnc = HostConnection::get()->vkEncoder();
1862 VkResult vkCreateXlibSurfaceKHR_VkResult_return = (VkResult)0;
1863 vkCreateXlibSurfaceKHR_VkResult_return = vkEnc->vkCreateXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1864 return vkCreateXlibSurfaceKHR_VkResult_return;
1865}
1866static VkBool32 entry_vkGetPhysicalDeviceXlibPresentationSupportKHR(
1867 VkPhysicalDevice physicalDevice,
1868 uint32_t queueFamilyIndex,
1869 Display* dpy,
1870 VisualID visualID)
1871{
1872 auto vkEnc = HostConnection::get()->vkEncoder();
1873 VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = (VkBool32)0;
1874 vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceXlibPresentationSupportKHR(physicalDevice, queueFamilyIndex, dpy, visualID);
1875 return vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return;
1876}
1877#endif
1878#ifdef VK_KHR_xcb_surface
1879static VkResult entry_vkCreateXcbSurfaceKHR(
1880 VkInstance instance,
1881 const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
1882 const VkAllocationCallbacks* pAllocator,
1883 VkSurfaceKHR* pSurface)
1884{
1885 auto vkEnc = HostConnection::get()->vkEncoder();
1886 VkResult vkCreateXcbSurfaceKHR_VkResult_return = (VkResult)0;
1887 vkCreateXcbSurfaceKHR_VkResult_return = vkEnc->vkCreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1888 return vkCreateXcbSurfaceKHR_VkResult_return;
1889}
1890static VkBool32 entry_vkGetPhysicalDeviceXcbPresentationSupportKHR(
1891 VkPhysicalDevice physicalDevice,
1892 uint32_t queueFamilyIndex,
1893 xcb_connection_t* connection,
1894 xcb_visualid_t visual_id)
1895{
1896 auto vkEnc = HostConnection::get()->vkEncoder();
1897 VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = (VkBool32)0;
1898 vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection, visual_id);
1899 return vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return;
1900}
1901#endif
1902#ifdef VK_KHR_wayland_surface
1903static VkResult entry_vkCreateWaylandSurfaceKHR(
1904 VkInstance instance,
1905 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
1906 const VkAllocationCallbacks* pAllocator,
1907 VkSurfaceKHR* pSurface)
1908{
1909 auto vkEnc = HostConnection::get()->vkEncoder();
1910 VkResult vkCreateWaylandSurfaceKHR_VkResult_return = (VkResult)0;
1911 vkCreateWaylandSurfaceKHR_VkResult_return = vkEnc->vkCreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1912 return vkCreateWaylandSurfaceKHR_VkResult_return;
1913}
1914static VkBool32 entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
1915 VkPhysicalDevice physicalDevice,
1916 uint32_t queueFamilyIndex,
1917 wl_display* display)
1918{
1919 auto vkEnc = HostConnection::get()->vkEncoder();
1920 VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = (VkBool32)0;
1921 vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display);
1922 return vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return;
1923}
1924#endif
1925#ifdef VK_KHR_mir_surface
1926static VkResult entry_vkCreateMirSurfaceKHR(
1927 VkInstance instance,
1928 const VkMirSurfaceCreateInfoKHR* pCreateInfo,
1929 const VkAllocationCallbacks* pAllocator,
1930 VkSurfaceKHR* pSurface)
1931{
1932 auto vkEnc = HostConnection::get()->vkEncoder();
1933 VkResult vkCreateMirSurfaceKHR_VkResult_return = (VkResult)0;
1934 vkCreateMirSurfaceKHR_VkResult_return = vkEnc->vkCreateMirSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1935 return vkCreateMirSurfaceKHR_VkResult_return;
1936}
1937static VkBool32 entry_vkGetPhysicalDeviceMirPresentationSupportKHR(
1938 VkPhysicalDevice physicalDevice,
1939 uint32_t queueFamilyIndex,
1940 MirConnection* connection)
1941{
1942 auto vkEnc = HostConnection::get()->vkEncoder();
1943 VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = (VkBool32)0;
1944 vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceMirPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection);
1945 return vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return;
1946}
1947#endif
1948#ifdef VK_KHR_android_surface
1949static VkResult entry_vkCreateAndroidSurfaceKHR(
1950 VkInstance instance,
1951 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
1952 const VkAllocationCallbacks* pAllocator,
1953 VkSurfaceKHR* pSurface)
1954{
1955 auto vkEnc = HostConnection::get()->vkEncoder();
1956 VkResult vkCreateAndroidSurfaceKHR_VkResult_return = (VkResult)0;
1957 vkCreateAndroidSurfaceKHR_VkResult_return = vkEnc->vkCreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1958 return vkCreateAndroidSurfaceKHR_VkResult_return;
1959}
1960#endif
1961#ifdef VK_KHR_win32_surface
1962static VkResult entry_vkCreateWin32SurfaceKHR(
1963 VkInstance instance,
1964 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
1965 const VkAllocationCallbacks* pAllocator,
1966 VkSurfaceKHR* pSurface)
1967{
1968 auto vkEnc = HostConnection::get()->vkEncoder();
1969 VkResult vkCreateWin32SurfaceKHR_VkResult_return = (VkResult)0;
1970 vkCreateWin32SurfaceKHR_VkResult_return = vkEnc->vkCreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
1971 return vkCreateWin32SurfaceKHR_VkResult_return;
1972}
1973static VkBool32 entry_vkGetPhysicalDeviceWin32PresentationSupportKHR(
1974 VkPhysicalDevice physicalDevice,
1975 uint32_t queueFamilyIndex)
1976{
1977 auto vkEnc = HostConnection::get()->vkEncoder();
1978 VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = (VkBool32)0;
1979 vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice, queueFamilyIndex);
1980 return vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return;
1981}
1982#endif
1983#ifdef VK_KHR_sampler_mirror_clamp_to_edge
1984#endif
1985#ifdef VK_KHR_multiview
1986#endif
1987#ifdef VK_KHR_get_physical_device_properties2
1988static void entry_vkGetPhysicalDeviceFeatures2KHR(
1989 VkPhysicalDevice physicalDevice,
1990 VkPhysicalDeviceFeatures2* pFeatures)
1991{
1992 auto vkEnc = HostConnection::get()->vkEncoder();
1993 vkEnc->vkGetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures);
1994}
1995static void entry_vkGetPhysicalDeviceProperties2KHR(
1996 VkPhysicalDevice physicalDevice,
1997 VkPhysicalDeviceProperties2* pProperties)
1998{
1999 auto vkEnc = HostConnection::get()->vkEncoder();
2000 vkEnc->vkGetPhysicalDeviceProperties2KHR(physicalDevice, pProperties);
2001}
2002static void entry_vkGetPhysicalDeviceFormatProperties2KHR(
2003 VkPhysicalDevice physicalDevice,
2004 VkFormat format,
2005 VkFormatProperties2* pFormatProperties)
2006{
2007 auto vkEnc = HostConnection::get()->vkEncoder();
2008 vkEnc->vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice, format, pFormatProperties);
2009}
2010static VkResult entry_vkGetPhysicalDeviceImageFormatProperties2KHR(
2011 VkPhysicalDevice physicalDevice,
2012 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
2013 VkImageFormatProperties2* pImageFormatProperties)
2014{
2015 auto vkEnc = HostConnection::get()->vkEncoder();
2016 VkResult vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = (VkResult)0;
2017 vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice, pImageFormatInfo, pImageFormatProperties);
2018 return vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return;
2019}
2020static void entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
2021 VkPhysicalDevice physicalDevice,
2022 uint32_t* pQueueFamilyPropertyCount,
2023 VkQueueFamilyProperties2* pQueueFamilyProperties)
2024{
2025 auto vkEnc = HostConnection::get()->vkEncoder();
2026 vkEnc->vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
2027}
2028static void entry_vkGetPhysicalDeviceMemoryProperties2KHR(
2029 VkPhysicalDevice physicalDevice,
2030 VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
2031{
2032 auto vkEnc = HostConnection::get()->vkEncoder();
2033 vkEnc->vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice, pMemoryProperties);
2034}
2035static void entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
2036 VkPhysicalDevice physicalDevice,
2037 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
2038 uint32_t* pPropertyCount,
2039 VkSparseImageFormatProperties2* pProperties)
2040{
2041 auto vkEnc = HostConnection::get()->vkEncoder();
2042 vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
2043}
2044#endif
2045#ifdef VK_KHR_device_group
2046static void entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(
2047 VkDevice device,
2048 uint32_t heapIndex,
2049 uint32_t localDeviceIndex,
2050 uint32_t remoteDeviceIndex,
2051 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
2052{
2053 auto vkEnc = HostConnection::get()->vkEncoder();
2054 vkEnc->vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
2055}
2056static void entry_vkCmdSetDeviceMaskKHR(
2057 VkCommandBuffer commandBuffer,
2058 uint32_t deviceMask)
2059{
2060 auto vkEnc = HostConnection::get()->vkEncoder();
2061 vkEnc->vkCmdSetDeviceMaskKHR(commandBuffer, deviceMask);
2062}
2063static void entry_vkCmdDispatchBaseKHR(
2064 VkCommandBuffer commandBuffer,
2065 uint32_t baseGroupX,
2066 uint32_t baseGroupY,
2067 uint32_t baseGroupZ,
2068 uint32_t groupCountX,
2069 uint32_t groupCountY,
2070 uint32_t groupCountZ)
2071{
2072 auto vkEnc = HostConnection::get()->vkEncoder();
2073 vkEnc->vkCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
2074}
2075#endif
2076#ifdef VK_KHR_shader_draw_parameters
2077#endif
2078#ifdef VK_KHR_maintenance1
2079static void entry_vkTrimCommandPoolKHR(
2080 VkDevice device,
2081 VkCommandPool commandPool,
2082 VkCommandPoolTrimFlags flags)
2083{
2084 auto vkEnc = HostConnection::get()->vkEncoder();
2085 vkEnc->vkTrimCommandPoolKHR(device, commandPool, flags);
2086}
2087#endif
2088#ifdef VK_KHR_device_group_creation
2089static VkResult entry_vkEnumeratePhysicalDeviceGroupsKHR(
2090 VkInstance instance,
2091 uint32_t* pPhysicalDeviceGroupCount,
2092 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
2093{
2094 auto vkEnc = HostConnection::get()->vkEncoder();
2095 VkResult vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = (VkResult)0;
2096 vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = vkEnc->vkEnumeratePhysicalDeviceGroupsKHR(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
2097 return vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return;
2098}
2099#endif
2100#ifdef VK_KHR_external_memory_capabilities
2101static void entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
2102 VkPhysicalDevice physicalDevice,
2103 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
2104 VkExternalBufferProperties* pExternalBufferProperties)
2105{
2106 auto vkEnc = HostConnection::get()->vkEncoder();
2107 vkEnc->vkGetPhysicalDeviceExternalBufferPropertiesKHR(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
2108}
2109#endif
2110#ifdef VK_KHR_external_memory
2111#endif
2112#ifdef VK_KHR_external_memory_win32
2113static VkResult entry_vkGetMemoryWin32HandleKHR(
2114 VkDevice device,
2115 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2116 HANDLE* pHandle)
2117{
2118 auto vkEnc = HostConnection::get()->vkEncoder();
2119 VkResult vkGetMemoryWin32HandleKHR_VkResult_return = (VkResult)0;
2120 vkGetMemoryWin32HandleKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2121 return vkGetMemoryWin32HandleKHR_VkResult_return;
2122}
2123static VkResult entry_vkGetMemoryWin32HandlePropertiesKHR(
2124 VkDevice device,
2125 VkExternalMemoryHandleTypeFlagBits handleType,
2126 HANDLE handle,
2127 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties)
2128{
2129 auto vkEnc = HostConnection::get()->vkEncoder();
2130 VkResult vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = (VkResult)0;
2131 vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
2132 return vkGetMemoryWin32HandlePropertiesKHR_VkResult_return;
2133}
2134#endif
2135#ifdef VK_KHR_external_memory_fd
2136static VkResult entry_vkGetMemoryFdKHR(
2137 VkDevice device,
2138 const VkMemoryGetFdInfoKHR* pGetFdInfo,
2139 int* pFd)
2140{
2141 auto vkEnc = HostConnection::get()->vkEncoder();
2142 VkResult vkGetMemoryFdKHR_VkResult_return = (VkResult)0;
2143 vkGetMemoryFdKHR_VkResult_return = vkEnc->vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
2144 return vkGetMemoryFdKHR_VkResult_return;
2145}
2146static VkResult entry_vkGetMemoryFdPropertiesKHR(
2147 VkDevice device,
2148 VkExternalMemoryHandleTypeFlagBits handleType,
2149 int fd,
2150 VkMemoryFdPropertiesKHR* pMemoryFdProperties)
2151{
2152 auto vkEnc = HostConnection::get()->vkEncoder();
2153 VkResult vkGetMemoryFdPropertiesKHR_VkResult_return = (VkResult)0;
2154 vkGetMemoryFdPropertiesKHR_VkResult_return = vkEnc->vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
2155 return vkGetMemoryFdPropertiesKHR_VkResult_return;
2156}
2157#endif
2158#ifdef VK_KHR_win32_keyed_mutex
2159#endif
2160#ifdef VK_KHR_external_semaphore_capabilities
2161static void entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
2162 VkPhysicalDevice physicalDevice,
2163 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
2164 VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
2165{
2166 auto vkEnc = HostConnection::get()->vkEncoder();
2167 vkEnc->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
2168}
2169#endif
2170#ifdef VK_KHR_external_semaphore
2171#endif
2172#ifdef VK_KHR_external_semaphore_win32
2173static VkResult entry_vkImportSemaphoreWin32HandleKHR(
2174 VkDevice device,
2175 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
2176{
2177 auto vkEnc = HostConnection::get()->vkEncoder();
2178 VkResult vkImportSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
2179 vkImportSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
2180 return vkImportSemaphoreWin32HandleKHR_VkResult_return;
2181}
2182static VkResult entry_vkGetSemaphoreWin32HandleKHR(
2183 VkDevice device,
2184 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2185 HANDLE* pHandle)
2186{
2187 auto vkEnc = HostConnection::get()->vkEncoder();
2188 VkResult vkGetSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
2189 vkGetSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2190 return vkGetSemaphoreWin32HandleKHR_VkResult_return;
2191}
2192#endif
2193#ifdef VK_KHR_external_semaphore_fd
2194static VkResult entry_vkImportSemaphoreFdKHR(
2195 VkDevice device,
2196 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
2197{
2198 auto vkEnc = HostConnection::get()->vkEncoder();
2199 VkResult vkImportSemaphoreFdKHR_VkResult_return = (VkResult)0;
2200 vkImportSemaphoreFdKHR_VkResult_return = vkEnc->vkImportSemaphoreFdKHR(device, pImportSemaphoreFdInfo);
2201 return vkImportSemaphoreFdKHR_VkResult_return;
2202}
2203static VkResult entry_vkGetSemaphoreFdKHR(
2204 VkDevice device,
2205 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
2206 int* pFd)
2207{
2208 auto vkEnc = HostConnection::get()->vkEncoder();
2209 VkResult vkGetSemaphoreFdKHR_VkResult_return = (VkResult)0;
2210 vkGetSemaphoreFdKHR_VkResult_return = vkEnc->vkGetSemaphoreFdKHR(device, pGetFdInfo, pFd);
2211 return vkGetSemaphoreFdKHR_VkResult_return;
2212}
2213#endif
2214#ifdef VK_KHR_push_descriptor
2215static void entry_vkCmdPushDescriptorSetKHR(
2216 VkCommandBuffer commandBuffer,
2217 VkPipelineBindPoint pipelineBindPoint,
2218 VkPipelineLayout layout,
2219 uint32_t set,
2220 uint32_t descriptorWriteCount,
2221 const VkWriteDescriptorSet* pDescriptorWrites)
2222{
2223 auto vkEnc = HostConnection::get()->vkEncoder();
2224 vkEnc->vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
2225}
2226static void entry_vkCmdPushDescriptorSetWithTemplateKHR(
2227 VkCommandBuffer commandBuffer,
2228 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2229 VkPipelineLayout layout,
2230 uint32_t set,
2231 const void* pData)
2232{
2233 auto vkEnc = HostConnection::get()->vkEncoder();
2234 vkEnc->vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
2235}
2236#endif
2237#ifdef VK_KHR_16bit_storage
2238#endif
2239#ifdef VK_KHR_incremental_present
2240#endif
2241#ifdef VK_KHR_descriptor_update_template
2242static VkResult entry_vkCreateDescriptorUpdateTemplateKHR(
2243 VkDevice device,
2244 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
2245 const VkAllocationCallbacks* pAllocator,
2246 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
2247{
2248 auto vkEnc = HostConnection::get()->vkEncoder();
2249 VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
2250 vkCreateDescriptorUpdateTemplateKHR_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
2251 return vkCreateDescriptorUpdateTemplateKHR_VkResult_return;
2252}
2253static void entry_vkDestroyDescriptorUpdateTemplateKHR(
2254 VkDevice device,
2255 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2256 const VkAllocationCallbacks* pAllocator)
2257{
2258 auto vkEnc = HostConnection::get()->vkEncoder();
2259 vkEnc->vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
2260}
2261static void entry_vkUpdateDescriptorSetWithTemplateKHR(
2262 VkDevice device,
2263 VkDescriptorSet descriptorSet,
2264 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2265 const void* pData)
2266{
2267 auto vkEnc = HostConnection::get()->vkEncoder();
2268 vkEnc->vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
2269}
2270#endif
2271#ifdef VK_KHR_create_renderpass2
2272static VkResult entry_vkCreateRenderPass2KHR(
2273 VkDevice device,
2274 const VkRenderPassCreateInfo2KHR* pCreateInfo,
2275 const VkAllocationCallbacks* pAllocator,
2276 VkRenderPass* pRenderPass)
2277{
2278 auto vkEnc = HostConnection::get()->vkEncoder();
2279 VkResult vkCreateRenderPass2KHR_VkResult_return = (VkResult)0;
2280 vkCreateRenderPass2KHR_VkResult_return = vkEnc->vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
2281 return vkCreateRenderPass2KHR_VkResult_return;
2282}
2283static void entry_vkCmdBeginRenderPass2KHR(
2284 VkCommandBuffer commandBuffer,
2285 const VkRenderPassBeginInfo* pRenderPassBegin,
2286 const VkSubpassBeginInfoKHR* pSubpassBeginInfo)
2287{
2288 auto vkEnc = HostConnection::get()->vkEncoder();
2289 vkEnc->vkCmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
2290}
2291static void entry_vkCmdNextSubpass2KHR(
2292 VkCommandBuffer commandBuffer,
2293 const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
2294 const VkSubpassEndInfoKHR* pSubpassEndInfo)
2295{
2296 auto vkEnc = HostConnection::get()->vkEncoder();
2297 vkEnc->vkCmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
2298}
2299static void entry_vkCmdEndRenderPass2KHR(
2300 VkCommandBuffer commandBuffer,
2301 const VkSubpassEndInfoKHR* pSubpassEndInfo)
2302{
2303 auto vkEnc = HostConnection::get()->vkEncoder();
2304 vkEnc->vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);
2305}
2306#endif
2307#ifdef VK_KHR_shared_presentable_image
2308static VkResult entry_vkGetSwapchainStatusKHR(
2309 VkDevice device,
2310 VkSwapchainKHR swapchain)
2311{
2312 auto vkEnc = HostConnection::get()->vkEncoder();
2313 VkResult vkGetSwapchainStatusKHR_VkResult_return = (VkResult)0;
2314 vkGetSwapchainStatusKHR_VkResult_return = vkEnc->vkGetSwapchainStatusKHR(device, swapchain);
2315 return vkGetSwapchainStatusKHR_VkResult_return;
2316}
2317#endif
2318#ifdef VK_KHR_external_fence_capabilities
2319static void entry_vkGetPhysicalDeviceExternalFencePropertiesKHR(
2320 VkPhysicalDevice physicalDevice,
2321 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
2322 VkExternalFenceProperties* pExternalFenceProperties)
2323{
2324 auto vkEnc = HostConnection::get()->vkEncoder();
2325 vkEnc->vkGetPhysicalDeviceExternalFencePropertiesKHR(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
2326}
2327#endif
2328#ifdef VK_KHR_external_fence
2329#endif
2330#ifdef VK_KHR_external_fence_win32
2331static VkResult entry_vkImportFenceWin32HandleKHR(
2332 VkDevice device,
2333 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
2334{
2335 auto vkEnc = HostConnection::get()->vkEncoder();
2336 VkResult vkImportFenceWin32HandleKHR_VkResult_return = (VkResult)0;
2337 vkImportFenceWin32HandleKHR_VkResult_return = vkEnc->vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
2338 return vkImportFenceWin32HandleKHR_VkResult_return;
2339}
2340static VkResult entry_vkGetFenceWin32HandleKHR(
2341 VkDevice device,
2342 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2343 HANDLE* pHandle)
2344{
2345 auto vkEnc = HostConnection::get()->vkEncoder();
2346 VkResult vkGetFenceWin32HandleKHR_VkResult_return = (VkResult)0;
2347 vkGetFenceWin32HandleKHR_VkResult_return = vkEnc->vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2348 return vkGetFenceWin32HandleKHR_VkResult_return;
2349}
2350#endif
2351#ifdef VK_KHR_external_fence_fd
2352static VkResult entry_vkImportFenceFdKHR(
2353 VkDevice device,
2354 const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
2355{
2356 auto vkEnc = HostConnection::get()->vkEncoder();
2357 VkResult vkImportFenceFdKHR_VkResult_return = (VkResult)0;
2358 vkImportFenceFdKHR_VkResult_return = vkEnc->vkImportFenceFdKHR(device, pImportFenceFdInfo);
2359 return vkImportFenceFdKHR_VkResult_return;
2360}
2361static VkResult entry_vkGetFenceFdKHR(
2362 VkDevice device,
2363 const VkFenceGetFdInfoKHR* pGetFdInfo,
2364 int* pFd)
2365{
2366 auto vkEnc = HostConnection::get()->vkEncoder();
2367 VkResult vkGetFenceFdKHR_VkResult_return = (VkResult)0;
2368 vkGetFenceFdKHR_VkResult_return = vkEnc->vkGetFenceFdKHR(device, pGetFdInfo, pFd);
2369 return vkGetFenceFdKHR_VkResult_return;
2370}
2371#endif
2372#ifdef VK_KHR_maintenance2
2373#endif
2374#ifdef VK_KHR_get_surface_capabilities2
2375static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR(
2376 VkPhysicalDevice physicalDevice,
2377 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
2378 VkSurfaceCapabilities2KHR* pSurfaceCapabilities)
2379{
2380 auto vkEnc = HostConnection::get()->vkEncoder();
2381 VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = (VkResult)0;
2382 vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
2383 return vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return;
2384}
2385static VkResult entry_vkGetPhysicalDeviceSurfaceFormats2KHR(
2386 VkPhysicalDevice physicalDevice,
2387 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
2388 uint32_t* pSurfaceFormatCount,
2389 VkSurfaceFormat2KHR* pSurfaceFormats)
2390{
2391 auto vkEnc = HostConnection::get()->vkEncoder();
2392 VkResult vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = (VkResult)0;
2393 vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
2394 return vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return;
2395}
2396#endif
2397#ifdef VK_KHR_variable_pointers
2398#endif
2399#ifdef VK_KHR_get_display_properties2
2400static VkResult entry_vkGetPhysicalDeviceDisplayProperties2KHR(
2401 VkPhysicalDevice physicalDevice,
2402 uint32_t* pPropertyCount,
2403 VkDisplayProperties2KHR* pProperties)
2404{
2405 auto vkEnc = HostConnection::get()->vkEncoder();
2406 VkResult vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = (VkResult)0;
2407 vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties);
2408 return vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return;
2409}
2410static VkResult entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
2411 VkPhysicalDevice physicalDevice,
2412 uint32_t* pPropertyCount,
2413 VkDisplayPlaneProperties2KHR* pProperties)
2414{
2415 auto vkEnc = HostConnection::get()->vkEncoder();
2416 VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return = (VkResult)0;
2417 vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice, pPropertyCount, pProperties);
2418 return vkGetPhysicalDeviceDisplayPlaneProperties2KHR_VkResult_return;
2419}
2420static VkResult entry_vkGetDisplayModeProperties2KHR(
2421 VkPhysicalDevice physicalDevice,
2422 VkDisplayKHR display,
2423 uint32_t* pPropertyCount,
2424 VkDisplayModeProperties2KHR* pProperties)
2425{
2426 auto vkEnc = HostConnection::get()->vkEncoder();
2427 VkResult vkGetDisplayModeProperties2KHR_VkResult_return = (VkResult)0;
2428 vkGetDisplayModeProperties2KHR_VkResult_return = vkEnc->vkGetDisplayModeProperties2KHR(physicalDevice, display, pPropertyCount, pProperties);
2429 return vkGetDisplayModeProperties2KHR_VkResult_return;
2430}
2431static VkResult entry_vkGetDisplayPlaneCapabilities2KHR(
2432 VkPhysicalDevice physicalDevice,
2433 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
2434 VkDisplayPlaneCapabilities2KHR* pCapabilities)
2435{
2436 auto vkEnc = HostConnection::get()->vkEncoder();
2437 VkResult vkGetDisplayPlaneCapabilities2KHR_VkResult_return = (VkResult)0;
2438 vkGetDisplayPlaneCapabilities2KHR_VkResult_return = vkEnc->vkGetDisplayPlaneCapabilities2KHR(physicalDevice, pDisplayPlaneInfo, pCapabilities);
2439 return vkGetDisplayPlaneCapabilities2KHR_VkResult_return;
2440}
2441#endif
2442#ifdef VK_KHR_dedicated_allocation
2443#endif
2444#ifdef VK_KHR_storage_buffer_storage_class
2445#endif
2446#ifdef VK_KHR_relaxed_block_layout
2447#endif
2448#ifdef VK_KHR_get_memory_requirements2
2449static void entry_vkGetImageMemoryRequirements2KHR(
2450 VkDevice device,
2451 const VkImageMemoryRequirementsInfo2* pInfo,
2452 VkMemoryRequirements2* pMemoryRequirements)
2453{
2454 auto vkEnc = HostConnection::get()->vkEncoder();
2455 vkEnc->vkGetImageMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
2456}
2457static void entry_vkGetBufferMemoryRequirements2KHR(
2458 VkDevice device,
2459 const VkBufferMemoryRequirementsInfo2* pInfo,
2460 VkMemoryRequirements2* pMemoryRequirements)
2461{
2462 auto vkEnc = HostConnection::get()->vkEncoder();
2463 vkEnc->vkGetBufferMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
2464}
2465static void entry_vkGetImageSparseMemoryRequirements2KHR(
2466 VkDevice device,
2467 const VkImageSparseMemoryRequirementsInfo2* pInfo,
2468 uint32_t* pSparseMemoryRequirementCount,
2469 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
2470{
2471 auto vkEnc = HostConnection::get()->vkEncoder();
2472 vkEnc->vkGetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
2473}
2474#endif
2475#ifdef VK_KHR_image_format_list
2476#endif
2477#ifdef VK_KHR_sampler_ycbcr_conversion
2478static VkResult entry_vkCreateSamplerYcbcrConversionKHR(
2479 VkDevice device,
2480 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
2481 const VkAllocationCallbacks* pAllocator,
2482 VkSamplerYcbcrConversion* pYcbcrConversion)
2483{
2484 auto vkEnc = HostConnection::get()->vkEncoder();
2485 VkResult vkCreateSamplerYcbcrConversionKHR_VkResult_return = (VkResult)0;
2486 vkCreateSamplerYcbcrConversionKHR_VkResult_return = vkEnc->vkCreateSamplerYcbcrConversionKHR(device, pCreateInfo, pAllocator, pYcbcrConversion);
2487 return vkCreateSamplerYcbcrConversionKHR_VkResult_return;
2488}
2489static void entry_vkDestroySamplerYcbcrConversionKHR(
2490 VkDevice device,
2491 VkSamplerYcbcrConversion ycbcrConversion,
2492 const VkAllocationCallbacks* pAllocator)
2493{
2494 auto vkEnc = HostConnection::get()->vkEncoder();
2495 vkEnc->vkDestroySamplerYcbcrConversionKHR(device, ycbcrConversion, pAllocator);
2496}
2497#endif
2498#ifdef VK_KHR_bind_memory2
2499static VkResult entry_vkBindBufferMemory2KHR(
2500 VkDevice device,
2501 uint32_t bindInfoCount,
2502 const VkBindBufferMemoryInfo* pBindInfos)
2503{
2504 auto vkEnc = HostConnection::get()->vkEncoder();
2505 VkResult vkBindBufferMemory2KHR_VkResult_return = (VkResult)0;
2506 vkBindBufferMemory2KHR_VkResult_return = vkEnc->vkBindBufferMemory2KHR(device, bindInfoCount, pBindInfos);
2507 return vkBindBufferMemory2KHR_VkResult_return;
2508}
2509static VkResult entry_vkBindImageMemory2KHR(
2510 VkDevice device,
2511 uint32_t bindInfoCount,
2512 const VkBindImageMemoryInfo* pBindInfos)
2513{
2514 auto vkEnc = HostConnection::get()->vkEncoder();
2515 VkResult vkBindImageMemory2KHR_VkResult_return = (VkResult)0;
2516 vkBindImageMemory2KHR_VkResult_return = vkEnc->vkBindImageMemory2KHR(device, bindInfoCount, pBindInfos);
2517 return vkBindImageMemory2KHR_VkResult_return;
2518}
2519#endif
2520#ifdef VK_KHR_maintenance3
2521static void entry_vkGetDescriptorSetLayoutSupportKHR(
2522 VkDevice device,
2523 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
2524 VkDescriptorSetLayoutSupport* pSupport)
2525{
2526 auto vkEnc = HostConnection::get()->vkEncoder();
2527 vkEnc->vkGetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport);
2528}
2529#endif
2530#ifdef VK_KHR_draw_indirect_count
2531static void entry_vkCmdDrawIndirectCountKHR(
2532 VkCommandBuffer commandBuffer,
2533 VkBuffer buffer,
2534 VkDeviceSize offset,
2535 VkBuffer countBuffer,
2536 VkDeviceSize countBufferOffset,
2537 uint32_t maxDrawCount,
2538 uint32_t stride)
2539{
2540 auto vkEnc = HostConnection::get()->vkEncoder();
2541 vkEnc->vkCmdDrawIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
2542}
2543static void entry_vkCmdDrawIndexedIndirectCountKHR(
2544 VkCommandBuffer commandBuffer,
2545 VkBuffer buffer,
2546 VkDeviceSize offset,
2547 VkBuffer countBuffer,
2548 VkDeviceSize countBufferOffset,
2549 uint32_t maxDrawCount,
2550 uint32_t stride)
2551{
2552 auto vkEnc = HostConnection::get()->vkEncoder();
2553 vkEnc->vkCmdDrawIndexedIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
2554}
2555#endif
2556#ifdef VK_KHR_8bit_storage
2557#endif
Lingfeng Yang808a6312018-11-13 21:06:15 -08002558#ifdef VK_ANDROID_native_buffer
2559static VkResult entry_vkGetSwapchainGrallocUsageANDROID(
2560 VkDevice device,
2561 VkFormat format,
2562 VkImageUsageFlags imageUsage,
2563 int* grallocUsage)
2564{
2565 auto vkEnc = HostConnection::get()->vkEncoder();
2566 VkResult vkGetSwapchainGrallocUsageANDROID_VkResult_return = (VkResult)0;
2567 vkGetSwapchainGrallocUsageANDROID_VkResult_return = vkEnc->vkGetSwapchainGrallocUsageANDROID(device, format, imageUsage, grallocUsage);
2568 return vkGetSwapchainGrallocUsageANDROID_VkResult_return;
2569}
2570static VkResult entry_vkAcquireImageANDROID(
2571 VkDevice device,
2572 VkImage image,
2573 int nativeFenceFd,
2574 VkSemaphore semaphore,
2575 VkFence fence)
2576{
2577 auto vkEnc = HostConnection::get()->vkEncoder();
2578 VkResult vkAcquireImageANDROID_VkResult_return = (VkResult)0;
2579 vkAcquireImageANDROID_VkResult_return = vkEnc->vkAcquireImageANDROID(device, image, nativeFenceFd, semaphore, fence);
2580 return vkAcquireImageANDROID_VkResult_return;
2581}
2582static VkResult entry_vkQueueSignalReleaseImageANDROID(
2583 VkQueue queue,
2584 uint32_t waitSemaphoreCount,
2585 const VkSemaphore* pWaitSemaphores,
2586 VkImage image,
2587 int* pNativeFenceFd)
2588{
2589 auto vkEnc = HostConnection::get()->vkEncoder();
2590 VkResult vkQueueSignalReleaseImageANDROID_VkResult_return = (VkResult)0;
2591 vkQueueSignalReleaseImageANDROID_VkResult_return = vkEnc->vkQueueSignalReleaseImageANDROID(queue, waitSemaphoreCount, pWaitSemaphores, image, pNativeFenceFd);
2592 return vkQueueSignalReleaseImageANDROID_VkResult_return;
2593}
2594#endif
Lingfeng Yang0b81df22018-11-05 21:40:30 -08002595#ifdef VK_EXT_debug_report
2596static VkResult entry_vkCreateDebugReportCallbackEXT(
2597 VkInstance instance,
2598 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
2599 const VkAllocationCallbacks* pAllocator,
2600 VkDebugReportCallbackEXT* pCallback)
2601{
2602 auto vkEnc = HostConnection::get()->vkEncoder();
2603 VkResult vkCreateDebugReportCallbackEXT_VkResult_return = (VkResult)0;
2604 vkCreateDebugReportCallbackEXT_VkResult_return = vkEnc->vkCreateDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback);
2605 return vkCreateDebugReportCallbackEXT_VkResult_return;
2606}
2607static void entry_vkDestroyDebugReportCallbackEXT(
2608 VkInstance instance,
2609 VkDebugReportCallbackEXT callback,
2610 const VkAllocationCallbacks* pAllocator)
2611{
2612 auto vkEnc = HostConnection::get()->vkEncoder();
2613 vkEnc->vkDestroyDebugReportCallbackEXT(instance, callback, pAllocator);
2614}
2615static void entry_vkDebugReportMessageEXT(
2616 VkInstance instance,
2617 VkDebugReportFlagsEXT flags,
2618 VkDebugReportObjectTypeEXT objectType,
2619 uint64_t object,
2620 size_t location,
2621 int32_t messageCode,
2622 const char* pLayerPrefix,
2623 const char* pMessage)
2624{
2625 auto vkEnc = HostConnection::get()->vkEncoder();
2626 vkEnc->vkDebugReportMessageEXT(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage);
2627}
2628#endif
2629#ifdef VK_NV_glsl_shader
2630#endif
2631#ifdef VK_EXT_depth_range_unrestricted
2632#endif
2633#ifdef VK_IMG_filter_cubic
2634#endif
2635#ifdef VK_AMD_rasterization_order
2636#endif
2637#ifdef VK_AMD_shader_trinary_minmax
2638#endif
2639#ifdef VK_AMD_shader_explicit_vertex_parameter
2640#endif
2641#ifdef VK_EXT_debug_marker
2642static VkResult entry_vkDebugMarkerSetObjectTagEXT(
2643 VkDevice device,
2644 const VkDebugMarkerObjectTagInfoEXT* pTagInfo)
2645{
2646 auto vkEnc = HostConnection::get()->vkEncoder();
2647 VkResult vkDebugMarkerSetObjectTagEXT_VkResult_return = (VkResult)0;
2648 vkDebugMarkerSetObjectTagEXT_VkResult_return = vkEnc->vkDebugMarkerSetObjectTagEXT(device, pTagInfo);
2649 return vkDebugMarkerSetObjectTagEXT_VkResult_return;
2650}
2651static VkResult entry_vkDebugMarkerSetObjectNameEXT(
2652 VkDevice device,
2653 const VkDebugMarkerObjectNameInfoEXT* pNameInfo)
2654{
2655 auto vkEnc = HostConnection::get()->vkEncoder();
2656 VkResult vkDebugMarkerSetObjectNameEXT_VkResult_return = (VkResult)0;
2657 vkDebugMarkerSetObjectNameEXT_VkResult_return = vkEnc->vkDebugMarkerSetObjectNameEXT(device, pNameInfo);
2658 return vkDebugMarkerSetObjectNameEXT_VkResult_return;
2659}
2660static void entry_vkCmdDebugMarkerBeginEXT(
2661 VkCommandBuffer commandBuffer,
2662 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
2663{
2664 auto vkEnc = HostConnection::get()->vkEncoder();
2665 vkEnc->vkCmdDebugMarkerBeginEXT(commandBuffer, pMarkerInfo);
2666}
2667static void entry_vkCmdDebugMarkerEndEXT(
2668 VkCommandBuffer commandBuffer)
2669{
2670 auto vkEnc = HostConnection::get()->vkEncoder();
2671 vkEnc->vkCmdDebugMarkerEndEXT(commandBuffer);
2672}
2673static void entry_vkCmdDebugMarkerInsertEXT(
2674 VkCommandBuffer commandBuffer,
2675 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo)
2676{
2677 auto vkEnc = HostConnection::get()->vkEncoder();
2678 vkEnc->vkCmdDebugMarkerInsertEXT(commandBuffer, pMarkerInfo);
2679}
2680#endif
2681#ifdef VK_AMD_gcn_shader
2682#endif
2683#ifdef VK_NV_dedicated_allocation
2684#endif
2685#ifdef VK_AMD_draw_indirect_count
2686static void entry_vkCmdDrawIndirectCountAMD(
2687 VkCommandBuffer commandBuffer,
2688 VkBuffer buffer,
2689 VkDeviceSize offset,
2690 VkBuffer countBuffer,
2691 VkDeviceSize countBufferOffset,
2692 uint32_t maxDrawCount,
2693 uint32_t stride)
2694{
2695 auto vkEnc = HostConnection::get()->vkEncoder();
2696 vkEnc->vkCmdDrawIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
2697}
2698static void entry_vkCmdDrawIndexedIndirectCountAMD(
2699 VkCommandBuffer commandBuffer,
2700 VkBuffer buffer,
2701 VkDeviceSize offset,
2702 VkBuffer countBuffer,
2703 VkDeviceSize countBufferOffset,
2704 uint32_t maxDrawCount,
2705 uint32_t stride)
2706{
2707 auto vkEnc = HostConnection::get()->vkEncoder();
2708 vkEnc->vkCmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
2709}
2710#endif
2711#ifdef VK_AMD_negative_viewport_height
2712#endif
2713#ifdef VK_AMD_gpu_shader_half_float
2714#endif
2715#ifdef VK_AMD_shader_ballot
2716#endif
2717#ifdef VK_AMD_texture_gather_bias_lod
2718#endif
2719#ifdef VK_AMD_shader_info
2720static VkResult entry_vkGetShaderInfoAMD(
2721 VkDevice device,
2722 VkPipeline pipeline,
2723 VkShaderStageFlagBits shaderStage,
2724 VkShaderInfoTypeAMD infoType,
2725 size_t* pInfoSize,
2726 void* pInfo)
2727{
2728 auto vkEnc = HostConnection::get()->vkEncoder();
2729 VkResult vkGetShaderInfoAMD_VkResult_return = (VkResult)0;
2730 vkGetShaderInfoAMD_VkResult_return = vkEnc->vkGetShaderInfoAMD(device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
2731 return vkGetShaderInfoAMD_VkResult_return;
2732}
2733#endif
2734#ifdef VK_AMD_shader_image_load_store_lod
2735#endif
2736#ifdef VK_IMG_format_pvrtc
2737#endif
2738#ifdef VK_NV_external_memory_capabilities
2739static VkResult entry_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
2740 VkPhysicalDevice physicalDevice,
2741 VkFormat format,
2742 VkImageType type,
2743 VkImageTiling tiling,
2744 VkImageUsageFlags usage,
2745 VkImageCreateFlags flags,
2746 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
2747 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties)
2748{
2749 auto vkEnc = HostConnection::get()->vkEncoder();
2750 VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return = (VkResult)0;
2751 vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return = vkEnc->vkGetPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties);
2752 return vkGetPhysicalDeviceExternalImageFormatPropertiesNV_VkResult_return;
2753}
2754#endif
2755#ifdef VK_NV_external_memory
2756#endif
2757#ifdef VK_NV_external_memory_win32
2758static VkResult entry_vkGetMemoryWin32HandleNV(
2759 VkDevice device,
2760 VkDeviceMemory memory,
2761 VkExternalMemoryHandleTypeFlagsNV handleType,
2762 HANDLE* pHandle)
2763{
2764 auto vkEnc = HostConnection::get()->vkEncoder();
2765 VkResult vkGetMemoryWin32HandleNV_VkResult_return = (VkResult)0;
2766 vkGetMemoryWin32HandleNV_VkResult_return = vkEnc->vkGetMemoryWin32HandleNV(device, memory, handleType, pHandle);
2767 return vkGetMemoryWin32HandleNV_VkResult_return;
2768}
2769#endif
2770#ifdef VK_NV_win32_keyed_mutex
2771#endif
2772#ifdef VK_EXT_validation_flags
2773#endif
2774#ifdef VK_NN_vi_surface
2775static VkResult entry_vkCreateViSurfaceNN(
2776 VkInstance instance,
2777 const VkViSurfaceCreateInfoNN* pCreateInfo,
2778 const VkAllocationCallbacks* pAllocator,
2779 VkSurfaceKHR* pSurface)
2780{
2781 auto vkEnc = HostConnection::get()->vkEncoder();
2782 VkResult vkCreateViSurfaceNN_VkResult_return = (VkResult)0;
2783 vkCreateViSurfaceNN_VkResult_return = vkEnc->vkCreateViSurfaceNN(instance, pCreateInfo, pAllocator, pSurface);
2784 return vkCreateViSurfaceNN_VkResult_return;
2785}
2786#endif
2787#ifdef VK_EXT_shader_subgroup_ballot
2788#endif
2789#ifdef VK_EXT_shader_subgroup_vote
2790#endif
2791#ifdef VK_EXT_conditional_rendering
2792static void entry_vkCmdBeginConditionalRenderingEXT(
2793 VkCommandBuffer commandBuffer,
2794 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin)
2795{
2796 auto vkEnc = HostConnection::get()->vkEncoder();
2797 vkEnc->vkCmdBeginConditionalRenderingEXT(commandBuffer, pConditionalRenderingBegin);
2798}
2799static void entry_vkCmdEndConditionalRenderingEXT(
2800 VkCommandBuffer commandBuffer)
2801{
2802 auto vkEnc = HostConnection::get()->vkEncoder();
2803 vkEnc->vkCmdEndConditionalRenderingEXT(commandBuffer);
2804}
2805#endif
2806#ifdef VK_NVX_device_generated_commands
2807static void entry_vkCmdProcessCommandsNVX(
2808 VkCommandBuffer commandBuffer,
2809 const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo)
2810{
2811 auto vkEnc = HostConnection::get()->vkEncoder();
2812 vkEnc->vkCmdProcessCommandsNVX(commandBuffer, pProcessCommandsInfo);
2813}
2814static void entry_vkCmdReserveSpaceForCommandsNVX(
2815 VkCommandBuffer commandBuffer,
2816 const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo)
2817{
2818 auto vkEnc = HostConnection::get()->vkEncoder();
2819 vkEnc->vkCmdReserveSpaceForCommandsNVX(commandBuffer, pReserveSpaceInfo);
2820}
2821static VkResult entry_vkCreateIndirectCommandsLayoutNVX(
2822 VkDevice device,
2823 const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo,
2824 const VkAllocationCallbacks* pAllocator,
2825 VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout)
2826{
2827 auto vkEnc = HostConnection::get()->vkEncoder();
2828 VkResult vkCreateIndirectCommandsLayoutNVX_VkResult_return = (VkResult)0;
2829 vkCreateIndirectCommandsLayoutNVX_VkResult_return = vkEnc->vkCreateIndirectCommandsLayoutNVX(device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
2830 return vkCreateIndirectCommandsLayoutNVX_VkResult_return;
2831}
2832static void entry_vkDestroyIndirectCommandsLayoutNVX(
2833 VkDevice device,
2834 VkIndirectCommandsLayoutNVX indirectCommandsLayout,
2835 const VkAllocationCallbacks* pAllocator)
2836{
2837 auto vkEnc = HostConnection::get()->vkEncoder();
2838 vkEnc->vkDestroyIndirectCommandsLayoutNVX(device, indirectCommandsLayout, pAllocator);
2839}
2840static VkResult entry_vkCreateObjectTableNVX(
2841 VkDevice device,
2842 const VkObjectTableCreateInfoNVX* pCreateInfo,
2843 const VkAllocationCallbacks* pAllocator,
2844 VkObjectTableNVX* pObjectTable)
2845{
2846 auto vkEnc = HostConnection::get()->vkEncoder();
2847 VkResult vkCreateObjectTableNVX_VkResult_return = (VkResult)0;
2848 vkCreateObjectTableNVX_VkResult_return = vkEnc->vkCreateObjectTableNVX(device, pCreateInfo, pAllocator, pObjectTable);
2849 return vkCreateObjectTableNVX_VkResult_return;
2850}
2851static void entry_vkDestroyObjectTableNVX(
2852 VkDevice device,
2853 VkObjectTableNVX objectTable,
2854 const VkAllocationCallbacks* pAllocator)
2855{
2856 auto vkEnc = HostConnection::get()->vkEncoder();
2857 vkEnc->vkDestroyObjectTableNVX(device, objectTable, pAllocator);
2858}
2859static VkResult entry_vkRegisterObjectsNVX(
2860 VkDevice device,
2861 VkObjectTableNVX objectTable,
2862 uint32_t objectCount,
2863 const VkObjectTableEntryNVX* const* ppObjectTableEntries,
2864 const uint32_t* pObjectIndices)
2865{
2866 auto vkEnc = HostConnection::get()->vkEncoder();
2867 VkResult vkRegisterObjectsNVX_VkResult_return = (VkResult)0;
2868 vkRegisterObjectsNVX_VkResult_return = vkEnc->vkRegisterObjectsNVX(device, objectTable, objectCount, ppObjectTableEntries, pObjectIndices);
2869 return vkRegisterObjectsNVX_VkResult_return;
2870}
2871static VkResult entry_vkUnregisterObjectsNVX(
2872 VkDevice device,
2873 VkObjectTableNVX objectTable,
2874 uint32_t objectCount,
2875 const VkObjectEntryTypeNVX* pObjectEntryTypes,
2876 const uint32_t* pObjectIndices)
2877{
2878 auto vkEnc = HostConnection::get()->vkEncoder();
2879 VkResult vkUnregisterObjectsNVX_VkResult_return = (VkResult)0;
2880 vkUnregisterObjectsNVX_VkResult_return = vkEnc->vkUnregisterObjectsNVX(device, objectTable, objectCount, pObjectEntryTypes, pObjectIndices);
2881 return vkUnregisterObjectsNVX_VkResult_return;
2882}
2883static void entry_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(
2884 VkPhysicalDevice physicalDevice,
2885 VkDeviceGeneratedCommandsFeaturesNVX* pFeatures,
2886 VkDeviceGeneratedCommandsLimitsNVX* pLimits)
2887{
2888 auto vkEnc = HostConnection::get()->vkEncoder();
2889 vkEnc->vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX(physicalDevice, pFeatures, pLimits);
2890}
2891#endif
2892#ifdef VK_NV_clip_space_w_scaling
2893static void entry_vkCmdSetViewportWScalingNV(
2894 VkCommandBuffer commandBuffer,
2895 uint32_t firstViewport,
2896 uint32_t viewportCount,
2897 const VkViewportWScalingNV* pViewportWScalings)
2898{
2899 auto vkEnc = HostConnection::get()->vkEncoder();
2900 vkEnc->vkCmdSetViewportWScalingNV(commandBuffer, firstViewport, viewportCount, pViewportWScalings);
2901}
2902#endif
2903#ifdef VK_EXT_direct_mode_display
2904static VkResult entry_vkReleaseDisplayEXT(
2905 VkPhysicalDevice physicalDevice,
2906 VkDisplayKHR display)
2907{
2908 auto vkEnc = HostConnection::get()->vkEncoder();
2909 VkResult vkReleaseDisplayEXT_VkResult_return = (VkResult)0;
2910 vkReleaseDisplayEXT_VkResult_return = vkEnc->vkReleaseDisplayEXT(physicalDevice, display);
2911 return vkReleaseDisplayEXT_VkResult_return;
2912}
2913#endif
2914#ifdef VK_EXT_acquire_xlib_display
2915static VkResult entry_vkAcquireXlibDisplayEXT(
2916 VkPhysicalDevice physicalDevice,
2917 Display* dpy,
2918 VkDisplayKHR display)
2919{
2920 auto vkEnc = HostConnection::get()->vkEncoder();
2921 VkResult vkAcquireXlibDisplayEXT_VkResult_return = (VkResult)0;
2922 vkAcquireXlibDisplayEXT_VkResult_return = vkEnc->vkAcquireXlibDisplayEXT(physicalDevice, dpy, display);
2923 return vkAcquireXlibDisplayEXT_VkResult_return;
2924}
2925static VkResult entry_vkGetRandROutputDisplayEXT(
2926 VkPhysicalDevice physicalDevice,
2927 Display* dpy,
2928 RROutput rrOutput,
2929 VkDisplayKHR* pDisplay)
2930{
2931 auto vkEnc = HostConnection::get()->vkEncoder();
2932 VkResult vkGetRandROutputDisplayEXT_VkResult_return = (VkResult)0;
2933 vkGetRandROutputDisplayEXT_VkResult_return = vkEnc->vkGetRandROutputDisplayEXT(physicalDevice, dpy, rrOutput, pDisplay);
2934 return vkGetRandROutputDisplayEXT_VkResult_return;
2935}
2936#endif
2937#ifdef VK_EXT_display_surface_counter
2938static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilities2EXT(
2939 VkPhysicalDevice physicalDevice,
2940 VkSurfaceKHR surface,
2941 VkSurfaceCapabilities2EXT* pSurfaceCapabilities)
2942{
2943 auto vkEnc = HostConnection::get()->vkEncoder();
2944 VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return = (VkResult)0;
2945 vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice, surface, pSurfaceCapabilities);
2946 return vkGetPhysicalDeviceSurfaceCapabilities2EXT_VkResult_return;
2947}
2948#endif
2949#ifdef VK_EXT_display_control
2950static VkResult entry_vkDisplayPowerControlEXT(
2951 VkDevice device,
2952 VkDisplayKHR display,
2953 const VkDisplayPowerInfoEXT* pDisplayPowerInfo)
2954{
2955 auto vkEnc = HostConnection::get()->vkEncoder();
2956 VkResult vkDisplayPowerControlEXT_VkResult_return = (VkResult)0;
2957 vkDisplayPowerControlEXT_VkResult_return = vkEnc->vkDisplayPowerControlEXT(device, display, pDisplayPowerInfo);
2958 return vkDisplayPowerControlEXT_VkResult_return;
2959}
2960static VkResult entry_vkRegisterDeviceEventEXT(
2961 VkDevice device,
2962 const VkDeviceEventInfoEXT* pDeviceEventInfo,
2963 const VkAllocationCallbacks* pAllocator,
2964 VkFence* pFence)
2965{
2966 auto vkEnc = HostConnection::get()->vkEncoder();
2967 VkResult vkRegisterDeviceEventEXT_VkResult_return = (VkResult)0;
2968 vkRegisterDeviceEventEXT_VkResult_return = vkEnc->vkRegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence);
2969 return vkRegisterDeviceEventEXT_VkResult_return;
2970}
2971static VkResult entry_vkRegisterDisplayEventEXT(
2972 VkDevice device,
2973 VkDisplayKHR display,
2974 const VkDisplayEventInfoEXT* pDisplayEventInfo,
2975 const VkAllocationCallbacks* pAllocator,
2976 VkFence* pFence)
2977{
2978 auto vkEnc = HostConnection::get()->vkEncoder();
2979 VkResult vkRegisterDisplayEventEXT_VkResult_return = (VkResult)0;
2980 vkRegisterDisplayEventEXT_VkResult_return = vkEnc->vkRegisterDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence);
2981 return vkRegisterDisplayEventEXT_VkResult_return;
2982}
2983static VkResult entry_vkGetSwapchainCounterEXT(
2984 VkDevice device,
2985 VkSwapchainKHR swapchain,
2986 VkSurfaceCounterFlagBitsEXT counter,
2987 uint64_t* pCounterValue)
2988{
2989 auto vkEnc = HostConnection::get()->vkEncoder();
2990 VkResult vkGetSwapchainCounterEXT_VkResult_return = (VkResult)0;
2991 vkGetSwapchainCounterEXT_VkResult_return = vkEnc->vkGetSwapchainCounterEXT(device, swapchain, counter, pCounterValue);
2992 return vkGetSwapchainCounterEXT_VkResult_return;
2993}
2994#endif
2995#ifdef VK_GOOGLE_display_timing
2996static VkResult entry_vkGetRefreshCycleDurationGOOGLE(
2997 VkDevice device,
2998 VkSwapchainKHR swapchain,
2999 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties)
3000{
3001 auto vkEnc = HostConnection::get()->vkEncoder();
3002 VkResult vkGetRefreshCycleDurationGOOGLE_VkResult_return = (VkResult)0;
3003 vkGetRefreshCycleDurationGOOGLE_VkResult_return = vkEnc->vkGetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties);
3004 return vkGetRefreshCycleDurationGOOGLE_VkResult_return;
3005}
3006static VkResult entry_vkGetPastPresentationTimingGOOGLE(
3007 VkDevice device,
3008 VkSwapchainKHR swapchain,
3009 uint32_t* pPresentationTimingCount,
3010 VkPastPresentationTimingGOOGLE* pPresentationTimings)
3011{
3012 auto vkEnc = HostConnection::get()->vkEncoder();
3013 VkResult vkGetPastPresentationTimingGOOGLE_VkResult_return = (VkResult)0;
3014 vkGetPastPresentationTimingGOOGLE_VkResult_return = vkEnc->vkGetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings);
3015 return vkGetPastPresentationTimingGOOGLE_VkResult_return;
3016}
3017#endif
3018#ifdef VK_NV_sample_mask_override_coverage
3019#endif
3020#ifdef VK_NV_geometry_shader_passthrough
3021#endif
3022#ifdef VK_NV_viewport_array2
3023#endif
3024#ifdef VK_NVX_multiview_per_view_attributes
3025#endif
3026#ifdef VK_NV_viewport_swizzle
3027#endif
3028#ifdef VK_EXT_discard_rectangles
3029static void entry_vkCmdSetDiscardRectangleEXT(
3030 VkCommandBuffer commandBuffer,
3031 uint32_t firstDiscardRectangle,
3032 uint32_t discardRectangleCount,
3033 const VkRect2D* pDiscardRectangles)
3034{
3035 auto vkEnc = HostConnection::get()->vkEncoder();
3036 vkEnc->vkCmdSetDiscardRectangleEXT(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles);
3037}
3038#endif
3039#ifdef VK_EXT_conservative_rasterization
3040#endif
3041#ifdef VK_EXT_swapchain_colorspace
3042#endif
3043#ifdef VK_EXT_hdr_metadata
3044static void entry_vkSetHdrMetadataEXT(
3045 VkDevice device,
3046 uint32_t swapchainCount,
3047 const VkSwapchainKHR* pSwapchains,
3048 const VkHdrMetadataEXT* pMetadata)
3049{
3050 auto vkEnc = HostConnection::get()->vkEncoder();
3051 vkEnc->vkSetHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata);
3052}
3053#endif
3054#ifdef VK_MVK_ios_surface
3055static VkResult entry_vkCreateIOSSurfaceMVK(
3056 VkInstance instance,
3057 const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
3058 const VkAllocationCallbacks* pAllocator,
3059 VkSurfaceKHR* pSurface)
3060{
3061 auto vkEnc = HostConnection::get()->vkEncoder();
3062 VkResult vkCreateIOSSurfaceMVK_VkResult_return = (VkResult)0;
3063 vkCreateIOSSurfaceMVK_VkResult_return = vkEnc->vkCreateIOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
3064 return vkCreateIOSSurfaceMVK_VkResult_return;
3065}
3066#endif
3067#ifdef VK_MVK_macos_surface
3068static VkResult entry_vkCreateMacOSSurfaceMVK(
3069 VkInstance instance,
3070 const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
3071 const VkAllocationCallbacks* pAllocator,
3072 VkSurfaceKHR* pSurface)
3073{
3074 auto vkEnc = HostConnection::get()->vkEncoder();
3075 VkResult vkCreateMacOSSurfaceMVK_VkResult_return = (VkResult)0;
3076 vkCreateMacOSSurfaceMVK_VkResult_return = vkEnc->vkCreateMacOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
3077 return vkCreateMacOSSurfaceMVK_VkResult_return;
3078}
3079#endif
3080#ifdef VK_EXT_external_memory_dma_buf
3081#endif
3082#ifdef VK_EXT_queue_family_foreign
3083#endif
3084#ifdef VK_EXT_debug_utils
3085static VkResult entry_vkSetDebugUtilsObjectNameEXT(
3086 VkDevice device,
3087 const VkDebugUtilsObjectNameInfoEXT* pNameInfo)
3088{
3089 auto vkEnc = HostConnection::get()->vkEncoder();
3090 VkResult vkSetDebugUtilsObjectNameEXT_VkResult_return = (VkResult)0;
3091 vkSetDebugUtilsObjectNameEXT_VkResult_return = vkEnc->vkSetDebugUtilsObjectNameEXT(device, pNameInfo);
3092 return vkSetDebugUtilsObjectNameEXT_VkResult_return;
3093}
3094static VkResult entry_vkSetDebugUtilsObjectTagEXT(
3095 VkDevice device,
3096 const VkDebugUtilsObjectTagInfoEXT* pTagInfo)
3097{
3098 auto vkEnc = HostConnection::get()->vkEncoder();
3099 VkResult vkSetDebugUtilsObjectTagEXT_VkResult_return = (VkResult)0;
3100 vkSetDebugUtilsObjectTagEXT_VkResult_return = vkEnc->vkSetDebugUtilsObjectTagEXT(device, pTagInfo);
3101 return vkSetDebugUtilsObjectTagEXT_VkResult_return;
3102}
3103static void entry_vkQueueBeginDebugUtilsLabelEXT(
3104 VkQueue queue,
3105 const VkDebugUtilsLabelEXT* pLabelInfo)
3106{
3107 auto vkEnc = HostConnection::get()->vkEncoder();
3108 vkEnc->vkQueueBeginDebugUtilsLabelEXT(queue, pLabelInfo);
3109}
3110static void entry_vkQueueEndDebugUtilsLabelEXT(
3111 VkQueue queue)
3112{
3113 auto vkEnc = HostConnection::get()->vkEncoder();
3114 vkEnc->vkQueueEndDebugUtilsLabelEXT(queue);
3115}
3116static void entry_vkQueueInsertDebugUtilsLabelEXT(
3117 VkQueue queue,
3118 const VkDebugUtilsLabelEXT* pLabelInfo)
3119{
3120 auto vkEnc = HostConnection::get()->vkEncoder();
3121 vkEnc->vkQueueInsertDebugUtilsLabelEXT(queue, pLabelInfo);
3122}
3123static void entry_vkCmdBeginDebugUtilsLabelEXT(
3124 VkCommandBuffer commandBuffer,
3125 const VkDebugUtilsLabelEXT* pLabelInfo)
3126{
3127 auto vkEnc = HostConnection::get()->vkEncoder();
3128 vkEnc->vkCmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
3129}
3130static void entry_vkCmdEndDebugUtilsLabelEXT(
3131 VkCommandBuffer commandBuffer)
3132{
3133 auto vkEnc = HostConnection::get()->vkEncoder();
3134 vkEnc->vkCmdEndDebugUtilsLabelEXT(commandBuffer);
3135}
3136static void entry_vkCmdInsertDebugUtilsLabelEXT(
3137 VkCommandBuffer commandBuffer,
3138 const VkDebugUtilsLabelEXT* pLabelInfo)
3139{
3140 auto vkEnc = HostConnection::get()->vkEncoder();
3141 vkEnc->vkCmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
3142}
3143static VkResult entry_vkCreateDebugUtilsMessengerEXT(
3144 VkInstance instance,
3145 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
3146 const VkAllocationCallbacks* pAllocator,
3147 VkDebugUtilsMessengerEXT* pMessenger)
3148{
3149 auto vkEnc = HostConnection::get()->vkEncoder();
3150 VkResult vkCreateDebugUtilsMessengerEXT_VkResult_return = (VkResult)0;
3151 vkCreateDebugUtilsMessengerEXT_VkResult_return = vkEnc->vkCreateDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, pMessenger);
3152 return vkCreateDebugUtilsMessengerEXT_VkResult_return;
3153}
3154static void entry_vkDestroyDebugUtilsMessengerEXT(
3155 VkInstance instance,
3156 VkDebugUtilsMessengerEXT messenger,
3157 const VkAllocationCallbacks* pAllocator)
3158{
3159 auto vkEnc = HostConnection::get()->vkEncoder();
3160 vkEnc->vkDestroyDebugUtilsMessengerEXT(instance, messenger, pAllocator);
3161}
3162static void entry_vkSubmitDebugUtilsMessageEXT(
3163 VkInstance instance,
3164 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
3165 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
3166 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData)
3167{
3168 auto vkEnc = HostConnection::get()->vkEncoder();
3169 vkEnc->vkSubmitDebugUtilsMessageEXT(instance, messageSeverity, messageTypes, pCallbackData);
3170}
3171#endif
3172#ifdef VK_ANDROID_external_memory_android_hardware_buffer
3173static VkResult entry_vkGetAndroidHardwareBufferPropertiesANDROID(
3174 VkDevice device,
3175 const AHardwareBuffer* buffer,
3176 VkAndroidHardwareBufferPropertiesANDROID* pProperties)
3177{
3178 auto vkEnc = HostConnection::get()->vkEncoder();
3179 VkResult vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = (VkResult)0;
3180 vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return = vkEnc->vkGetAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties);
3181 return vkGetAndroidHardwareBufferPropertiesANDROID_VkResult_return;
3182}
3183static VkResult entry_vkGetMemoryAndroidHardwareBufferANDROID(
3184 VkDevice device,
3185 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
3186 AHardwareBuffer** pBuffer)
3187{
3188 auto vkEnc = HostConnection::get()->vkEncoder();
3189 VkResult vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = (VkResult)0;
3190 vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return = vkEnc->vkGetMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer);
3191 return vkGetMemoryAndroidHardwareBufferANDROID_VkResult_return;
3192}
3193#endif
3194#ifdef VK_EXT_sampler_filter_minmax
3195#endif
3196#ifdef VK_AMD_gpu_shader_int16
3197#endif
3198#ifdef VK_AMD_mixed_attachment_samples
3199#endif
3200#ifdef VK_AMD_shader_fragment_mask
3201#endif
3202#ifdef VK_EXT_shader_stencil_export
3203#endif
3204#ifdef VK_EXT_sample_locations
3205static void entry_vkCmdSetSampleLocationsEXT(
3206 VkCommandBuffer commandBuffer,
3207 const VkSampleLocationsInfoEXT* pSampleLocationsInfo)
3208{
3209 auto vkEnc = HostConnection::get()->vkEncoder();
3210 vkEnc->vkCmdSetSampleLocationsEXT(commandBuffer, pSampleLocationsInfo);
3211}
3212static void entry_vkGetPhysicalDeviceMultisamplePropertiesEXT(
3213 VkPhysicalDevice physicalDevice,
3214 VkSampleCountFlagBits samples,
3215 VkMultisamplePropertiesEXT* pMultisampleProperties)
3216{
3217 auto vkEnc = HostConnection::get()->vkEncoder();
3218 vkEnc->vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice, samples, pMultisampleProperties);
3219}
3220#endif
3221#ifdef VK_EXT_blend_operation_advanced
3222#endif
3223#ifdef VK_NV_fragment_coverage_to_color
3224#endif
3225#ifdef VK_NV_framebuffer_mixed_samples
3226#endif
3227#ifdef VK_NV_fill_rectangle
3228#endif
3229#ifdef VK_EXT_post_depth_coverage
3230#endif
3231#ifdef VK_EXT_validation_cache
3232static VkResult entry_vkCreateValidationCacheEXT(
3233 VkDevice device,
3234 const VkValidationCacheCreateInfoEXT* pCreateInfo,
3235 const VkAllocationCallbacks* pAllocator,
3236 VkValidationCacheEXT* pValidationCache)
3237{
3238 auto vkEnc = HostConnection::get()->vkEncoder();
3239 VkResult vkCreateValidationCacheEXT_VkResult_return = (VkResult)0;
3240 vkCreateValidationCacheEXT_VkResult_return = vkEnc->vkCreateValidationCacheEXT(device, pCreateInfo, pAllocator, pValidationCache);
3241 return vkCreateValidationCacheEXT_VkResult_return;
3242}
3243static void entry_vkDestroyValidationCacheEXT(
3244 VkDevice device,
3245 VkValidationCacheEXT validationCache,
3246 const VkAllocationCallbacks* pAllocator)
3247{
3248 auto vkEnc = HostConnection::get()->vkEncoder();
3249 vkEnc->vkDestroyValidationCacheEXT(device, validationCache, pAllocator);
3250}
3251static VkResult entry_vkMergeValidationCachesEXT(
3252 VkDevice device,
3253 VkValidationCacheEXT dstCache,
3254 uint32_t srcCacheCount,
3255 const VkValidationCacheEXT* pSrcCaches)
3256{
3257 auto vkEnc = HostConnection::get()->vkEncoder();
3258 VkResult vkMergeValidationCachesEXT_VkResult_return = (VkResult)0;
3259 vkMergeValidationCachesEXT_VkResult_return = vkEnc->vkMergeValidationCachesEXT(device, dstCache, srcCacheCount, pSrcCaches);
3260 return vkMergeValidationCachesEXT_VkResult_return;
3261}
3262static VkResult entry_vkGetValidationCacheDataEXT(
3263 VkDevice device,
3264 VkValidationCacheEXT validationCache,
3265 size_t* pDataSize,
3266 void* pData)
3267{
3268 auto vkEnc = HostConnection::get()->vkEncoder();
3269 VkResult vkGetValidationCacheDataEXT_VkResult_return = (VkResult)0;
3270 vkGetValidationCacheDataEXT_VkResult_return = vkEnc->vkGetValidationCacheDataEXT(device, validationCache, pDataSize, pData);
3271 return vkGetValidationCacheDataEXT_VkResult_return;
3272}
3273#endif
3274#ifdef VK_EXT_descriptor_indexing
3275#endif
3276#ifdef VK_EXT_shader_viewport_index_layer
3277#endif
3278#ifdef VK_EXT_global_priority
3279#endif
3280#ifdef VK_EXT_external_memory_host
3281static VkResult entry_vkGetMemoryHostPointerPropertiesEXT(
3282 VkDevice device,
3283 VkExternalMemoryHandleTypeFlagBits handleType,
3284 const void* pHostPointer,
3285 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties)
3286{
3287 auto vkEnc = HostConnection::get()->vkEncoder();
3288 VkResult vkGetMemoryHostPointerPropertiesEXT_VkResult_return = (VkResult)0;
3289 vkGetMemoryHostPointerPropertiesEXT_VkResult_return = vkEnc->vkGetMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties);
3290 return vkGetMemoryHostPointerPropertiesEXT_VkResult_return;
3291}
3292#endif
3293#ifdef VK_AMD_buffer_marker
3294static void entry_vkCmdWriteBufferMarkerAMD(
3295 VkCommandBuffer commandBuffer,
3296 VkPipelineStageFlagBits pipelineStage,
3297 VkBuffer dstBuffer,
3298 VkDeviceSize dstOffset,
3299 uint32_t marker)
3300{
3301 auto vkEnc = HostConnection::get()->vkEncoder();
3302 vkEnc->vkCmdWriteBufferMarkerAMD(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker);
3303}
3304#endif
3305#ifdef VK_AMD_shader_core_properties
3306#endif
3307#ifdef VK_EXT_vertex_attribute_divisor
3308#endif
3309#ifdef VK_NV_shader_subgroup_partitioned
3310#endif
3311#ifdef VK_NV_device_diagnostic_checkpoints
3312static void entry_vkCmdSetCheckpointNV(
3313 VkCommandBuffer commandBuffer,
3314 const void* pCheckpointMarker)
3315{
3316 auto vkEnc = HostConnection::get()->vkEncoder();
3317 vkEnc->vkCmdSetCheckpointNV(commandBuffer, pCheckpointMarker);
3318}
3319static void entry_vkGetQueueCheckpointDataNV(
3320 VkQueue queue,
3321 uint32_t* pCheckpointDataCount,
3322 VkCheckpointDataNV* pCheckpointData)
3323{
3324 auto vkEnc = HostConnection::get()->vkEncoder();
3325 vkEnc->vkGetQueueCheckpointDataNV(queue, pCheckpointDataCount, pCheckpointData);
3326}
3327#endif
Lingfeng Yang5c63afd2018-12-22 01:21:14 -08003328#ifdef VK_GOOGLE_address_space
3329static VkResult entry_vkMapMemoryIntoAddressSpaceGOOGLE(
3330 VkDevice device,
3331 VkDeviceMemory memory,
3332 uint64_t* pAddress)
3333{
3334 auto vkEnc = HostConnection::get()->vkEncoder();
3335 VkResult vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = (VkResult)0;
3336 vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return = vkEnc->vkMapMemoryIntoAddressSpaceGOOGLE(device, memory, pAddress);
3337 return vkMapMemoryIntoAddressSpaceGOOGLE_VkResult_return;
3338}
3339#endif
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003340void* goldfish_vulkan_get_proc_address(const char* name){
3341#ifdef VK_VERSION_1_0
3342 if (!strcmp(name, "vkCreateInstance"))
3343 {
3344 return (void*)entry_vkCreateInstance;
3345 }
3346 if (!strcmp(name, "vkDestroyInstance"))
3347 {
3348 return (void*)entry_vkDestroyInstance;
3349 }
3350 if (!strcmp(name, "vkEnumeratePhysicalDevices"))
3351 {
3352 return (void*)entry_vkEnumeratePhysicalDevices;
3353 }
3354 if (!strcmp(name, "vkGetPhysicalDeviceFeatures"))
3355 {
3356 return (void*)entry_vkGetPhysicalDeviceFeatures;
3357 }
3358 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties"))
3359 {
3360 return (void*)entry_vkGetPhysicalDeviceFormatProperties;
3361 }
3362 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties"))
3363 {
3364 return (void*)entry_vkGetPhysicalDeviceImageFormatProperties;
3365 }
3366 if (!strcmp(name, "vkGetPhysicalDeviceProperties"))
3367 {
3368 return (void*)entry_vkGetPhysicalDeviceProperties;
3369 }
3370 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties"))
3371 {
3372 return (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties;
3373 }
3374 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties"))
3375 {
3376 return (void*)entry_vkGetPhysicalDeviceMemoryProperties;
3377 }
3378 if (!strcmp(name, "vkGetInstanceProcAddr"))
3379 {
3380 return (void*)entry_vkGetInstanceProcAddr;
3381 }
3382 if (!strcmp(name, "vkGetDeviceProcAddr"))
3383 {
3384 return (void*)entry_vkGetDeviceProcAddr;
3385 }
3386 if (!strcmp(name, "vkCreateDevice"))
3387 {
3388 return (void*)entry_vkCreateDevice;
3389 }
3390 if (!strcmp(name, "vkDestroyDevice"))
3391 {
3392 return (void*)entry_vkDestroyDevice;
3393 }
3394 if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
3395 {
3396 return (void*)entry_vkEnumerateInstanceExtensionProperties;
3397 }
3398 if (!strcmp(name, "vkEnumerateDeviceExtensionProperties"))
3399 {
3400 return (void*)entry_vkEnumerateDeviceExtensionProperties;
3401 }
3402 if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
3403 {
3404 return (void*)entry_vkEnumerateInstanceLayerProperties;
3405 }
3406 if (!strcmp(name, "vkEnumerateDeviceLayerProperties"))
3407 {
3408 return (void*)entry_vkEnumerateDeviceLayerProperties;
3409 }
3410 if (!strcmp(name, "vkGetDeviceQueue"))
3411 {
3412 return (void*)entry_vkGetDeviceQueue;
3413 }
3414 if (!strcmp(name, "vkQueueSubmit"))
3415 {
3416 return (void*)entry_vkQueueSubmit;
3417 }
3418 if (!strcmp(name, "vkQueueWaitIdle"))
3419 {
3420 return (void*)entry_vkQueueWaitIdle;
3421 }
3422 if (!strcmp(name, "vkDeviceWaitIdle"))
3423 {
3424 return (void*)entry_vkDeviceWaitIdle;
3425 }
3426 if (!strcmp(name, "vkAllocateMemory"))
3427 {
3428 return (void*)entry_vkAllocateMemory;
3429 }
3430 if (!strcmp(name, "vkFreeMemory"))
3431 {
3432 return (void*)entry_vkFreeMemory;
3433 }
3434 if (!strcmp(name, "vkMapMemory"))
3435 {
3436 return (void*)entry_vkMapMemory;
3437 }
3438 if (!strcmp(name, "vkUnmapMemory"))
3439 {
3440 return (void*)entry_vkUnmapMemory;
3441 }
3442 if (!strcmp(name, "vkFlushMappedMemoryRanges"))
3443 {
3444 return (void*)entry_vkFlushMappedMemoryRanges;
3445 }
3446 if (!strcmp(name, "vkInvalidateMappedMemoryRanges"))
3447 {
3448 return (void*)entry_vkInvalidateMappedMemoryRanges;
3449 }
3450 if (!strcmp(name, "vkGetDeviceMemoryCommitment"))
3451 {
3452 return (void*)entry_vkGetDeviceMemoryCommitment;
3453 }
3454 if (!strcmp(name, "vkBindBufferMemory"))
3455 {
3456 return (void*)entry_vkBindBufferMemory;
3457 }
3458 if (!strcmp(name, "vkBindImageMemory"))
3459 {
3460 return (void*)entry_vkBindImageMemory;
3461 }
3462 if (!strcmp(name, "vkGetBufferMemoryRequirements"))
3463 {
3464 return (void*)entry_vkGetBufferMemoryRequirements;
3465 }
3466 if (!strcmp(name, "vkGetImageMemoryRequirements"))
3467 {
3468 return (void*)entry_vkGetImageMemoryRequirements;
3469 }
3470 if (!strcmp(name, "vkGetImageSparseMemoryRequirements"))
3471 {
3472 return (void*)entry_vkGetImageSparseMemoryRequirements;
3473 }
3474 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties"))
3475 {
3476 return (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties;
3477 }
3478 if (!strcmp(name, "vkQueueBindSparse"))
3479 {
3480 return (void*)entry_vkQueueBindSparse;
3481 }
3482 if (!strcmp(name, "vkCreateFence"))
3483 {
3484 return (void*)entry_vkCreateFence;
3485 }
3486 if (!strcmp(name, "vkDestroyFence"))
3487 {
3488 return (void*)entry_vkDestroyFence;
3489 }
3490 if (!strcmp(name, "vkResetFences"))
3491 {
3492 return (void*)entry_vkResetFences;
3493 }
3494 if (!strcmp(name, "vkGetFenceStatus"))
3495 {
3496 return (void*)entry_vkGetFenceStatus;
3497 }
3498 if (!strcmp(name, "vkWaitForFences"))
3499 {
3500 return (void*)entry_vkWaitForFences;
3501 }
3502 if (!strcmp(name, "vkCreateSemaphore"))
3503 {
3504 return (void*)entry_vkCreateSemaphore;
3505 }
3506 if (!strcmp(name, "vkDestroySemaphore"))
3507 {
3508 return (void*)entry_vkDestroySemaphore;
3509 }
3510 if (!strcmp(name, "vkCreateEvent"))
3511 {
3512 return (void*)entry_vkCreateEvent;
3513 }
3514 if (!strcmp(name, "vkDestroyEvent"))
3515 {
3516 return (void*)entry_vkDestroyEvent;
3517 }
3518 if (!strcmp(name, "vkGetEventStatus"))
3519 {
3520 return (void*)entry_vkGetEventStatus;
3521 }
3522 if (!strcmp(name, "vkSetEvent"))
3523 {
3524 return (void*)entry_vkSetEvent;
3525 }
3526 if (!strcmp(name, "vkResetEvent"))
3527 {
3528 return (void*)entry_vkResetEvent;
3529 }
3530 if (!strcmp(name, "vkCreateQueryPool"))
3531 {
3532 return (void*)entry_vkCreateQueryPool;
3533 }
3534 if (!strcmp(name, "vkDestroyQueryPool"))
3535 {
3536 return (void*)entry_vkDestroyQueryPool;
3537 }
3538 if (!strcmp(name, "vkGetQueryPoolResults"))
3539 {
3540 return (void*)entry_vkGetQueryPoolResults;
3541 }
3542 if (!strcmp(name, "vkCreateBuffer"))
3543 {
3544 return (void*)entry_vkCreateBuffer;
3545 }
3546 if (!strcmp(name, "vkDestroyBuffer"))
3547 {
3548 return (void*)entry_vkDestroyBuffer;
3549 }
3550 if (!strcmp(name, "vkCreateBufferView"))
3551 {
3552 return (void*)entry_vkCreateBufferView;
3553 }
3554 if (!strcmp(name, "vkDestroyBufferView"))
3555 {
3556 return (void*)entry_vkDestroyBufferView;
3557 }
3558 if (!strcmp(name, "vkCreateImage"))
3559 {
3560 return (void*)entry_vkCreateImage;
3561 }
3562 if (!strcmp(name, "vkDestroyImage"))
3563 {
3564 return (void*)entry_vkDestroyImage;
3565 }
3566 if (!strcmp(name, "vkGetImageSubresourceLayout"))
3567 {
3568 return (void*)entry_vkGetImageSubresourceLayout;
3569 }
3570 if (!strcmp(name, "vkCreateImageView"))
3571 {
3572 return (void*)entry_vkCreateImageView;
3573 }
3574 if (!strcmp(name, "vkDestroyImageView"))
3575 {
3576 return (void*)entry_vkDestroyImageView;
3577 }
3578 if (!strcmp(name, "vkCreateShaderModule"))
3579 {
3580 return (void*)entry_vkCreateShaderModule;
3581 }
3582 if (!strcmp(name, "vkDestroyShaderModule"))
3583 {
3584 return (void*)entry_vkDestroyShaderModule;
3585 }
3586 if (!strcmp(name, "vkCreatePipelineCache"))
3587 {
3588 return (void*)entry_vkCreatePipelineCache;
3589 }
3590 if (!strcmp(name, "vkDestroyPipelineCache"))
3591 {
3592 return (void*)entry_vkDestroyPipelineCache;
3593 }
3594 if (!strcmp(name, "vkGetPipelineCacheData"))
3595 {
3596 return (void*)entry_vkGetPipelineCacheData;
3597 }
3598 if (!strcmp(name, "vkMergePipelineCaches"))
3599 {
3600 return (void*)entry_vkMergePipelineCaches;
3601 }
3602 if (!strcmp(name, "vkCreateGraphicsPipelines"))
3603 {
3604 return (void*)entry_vkCreateGraphicsPipelines;
3605 }
3606 if (!strcmp(name, "vkCreateComputePipelines"))
3607 {
3608 return (void*)entry_vkCreateComputePipelines;
3609 }
3610 if (!strcmp(name, "vkDestroyPipeline"))
3611 {
3612 return (void*)entry_vkDestroyPipeline;
3613 }
3614 if (!strcmp(name, "vkCreatePipelineLayout"))
3615 {
3616 return (void*)entry_vkCreatePipelineLayout;
3617 }
3618 if (!strcmp(name, "vkDestroyPipelineLayout"))
3619 {
3620 return (void*)entry_vkDestroyPipelineLayout;
3621 }
3622 if (!strcmp(name, "vkCreateSampler"))
3623 {
3624 return (void*)entry_vkCreateSampler;
3625 }
3626 if (!strcmp(name, "vkDestroySampler"))
3627 {
3628 return (void*)entry_vkDestroySampler;
3629 }
3630 if (!strcmp(name, "vkCreateDescriptorSetLayout"))
3631 {
3632 return (void*)entry_vkCreateDescriptorSetLayout;
3633 }
3634 if (!strcmp(name, "vkDestroyDescriptorSetLayout"))
3635 {
3636 return (void*)entry_vkDestroyDescriptorSetLayout;
3637 }
3638 if (!strcmp(name, "vkCreateDescriptorPool"))
3639 {
3640 return (void*)entry_vkCreateDescriptorPool;
3641 }
3642 if (!strcmp(name, "vkDestroyDescriptorPool"))
3643 {
3644 return (void*)entry_vkDestroyDescriptorPool;
3645 }
3646 if (!strcmp(name, "vkResetDescriptorPool"))
3647 {
3648 return (void*)entry_vkResetDescriptorPool;
3649 }
3650 if (!strcmp(name, "vkAllocateDescriptorSets"))
3651 {
3652 return (void*)entry_vkAllocateDescriptorSets;
3653 }
3654 if (!strcmp(name, "vkFreeDescriptorSets"))
3655 {
3656 return (void*)entry_vkFreeDescriptorSets;
3657 }
3658 if (!strcmp(name, "vkUpdateDescriptorSets"))
3659 {
3660 return (void*)entry_vkUpdateDescriptorSets;
3661 }
3662 if (!strcmp(name, "vkCreateFramebuffer"))
3663 {
3664 return (void*)entry_vkCreateFramebuffer;
3665 }
3666 if (!strcmp(name, "vkDestroyFramebuffer"))
3667 {
3668 return (void*)entry_vkDestroyFramebuffer;
3669 }
3670 if (!strcmp(name, "vkCreateRenderPass"))
3671 {
3672 return (void*)entry_vkCreateRenderPass;
3673 }
3674 if (!strcmp(name, "vkDestroyRenderPass"))
3675 {
3676 return (void*)entry_vkDestroyRenderPass;
3677 }
3678 if (!strcmp(name, "vkGetRenderAreaGranularity"))
3679 {
3680 return (void*)entry_vkGetRenderAreaGranularity;
3681 }
3682 if (!strcmp(name, "vkCreateCommandPool"))
3683 {
3684 return (void*)entry_vkCreateCommandPool;
3685 }
3686 if (!strcmp(name, "vkDestroyCommandPool"))
3687 {
3688 return (void*)entry_vkDestroyCommandPool;
3689 }
3690 if (!strcmp(name, "vkResetCommandPool"))
3691 {
3692 return (void*)entry_vkResetCommandPool;
3693 }
3694 if (!strcmp(name, "vkAllocateCommandBuffers"))
3695 {
3696 return (void*)entry_vkAllocateCommandBuffers;
3697 }
3698 if (!strcmp(name, "vkFreeCommandBuffers"))
3699 {
3700 return (void*)entry_vkFreeCommandBuffers;
3701 }
3702 if (!strcmp(name, "vkBeginCommandBuffer"))
3703 {
3704 return (void*)entry_vkBeginCommandBuffer;
3705 }
3706 if (!strcmp(name, "vkEndCommandBuffer"))
3707 {
3708 return (void*)entry_vkEndCommandBuffer;
3709 }
3710 if (!strcmp(name, "vkResetCommandBuffer"))
3711 {
3712 return (void*)entry_vkResetCommandBuffer;
3713 }
3714 if (!strcmp(name, "vkCmdBindPipeline"))
3715 {
3716 return (void*)entry_vkCmdBindPipeline;
3717 }
3718 if (!strcmp(name, "vkCmdSetViewport"))
3719 {
3720 return (void*)entry_vkCmdSetViewport;
3721 }
3722 if (!strcmp(name, "vkCmdSetScissor"))
3723 {
3724 return (void*)entry_vkCmdSetScissor;
3725 }
3726 if (!strcmp(name, "vkCmdSetLineWidth"))
3727 {
3728 return (void*)entry_vkCmdSetLineWidth;
3729 }
3730 if (!strcmp(name, "vkCmdSetDepthBias"))
3731 {
3732 return (void*)entry_vkCmdSetDepthBias;
3733 }
3734 if (!strcmp(name, "vkCmdSetBlendConstants"))
3735 {
3736 return (void*)entry_vkCmdSetBlendConstants;
3737 }
3738 if (!strcmp(name, "vkCmdSetDepthBounds"))
3739 {
3740 return (void*)entry_vkCmdSetDepthBounds;
3741 }
3742 if (!strcmp(name, "vkCmdSetStencilCompareMask"))
3743 {
3744 return (void*)entry_vkCmdSetStencilCompareMask;
3745 }
3746 if (!strcmp(name, "vkCmdSetStencilWriteMask"))
3747 {
3748 return (void*)entry_vkCmdSetStencilWriteMask;
3749 }
3750 if (!strcmp(name, "vkCmdSetStencilReference"))
3751 {
3752 return (void*)entry_vkCmdSetStencilReference;
3753 }
3754 if (!strcmp(name, "vkCmdBindDescriptorSets"))
3755 {
3756 return (void*)entry_vkCmdBindDescriptorSets;
3757 }
3758 if (!strcmp(name, "vkCmdBindIndexBuffer"))
3759 {
3760 return (void*)entry_vkCmdBindIndexBuffer;
3761 }
3762 if (!strcmp(name, "vkCmdBindVertexBuffers"))
3763 {
3764 return (void*)entry_vkCmdBindVertexBuffers;
3765 }
3766 if (!strcmp(name, "vkCmdDraw"))
3767 {
3768 return (void*)entry_vkCmdDraw;
3769 }
3770 if (!strcmp(name, "vkCmdDrawIndexed"))
3771 {
3772 return (void*)entry_vkCmdDrawIndexed;
3773 }
3774 if (!strcmp(name, "vkCmdDrawIndirect"))
3775 {
3776 return (void*)entry_vkCmdDrawIndirect;
3777 }
3778 if (!strcmp(name, "vkCmdDrawIndexedIndirect"))
3779 {
3780 return (void*)entry_vkCmdDrawIndexedIndirect;
3781 }
3782 if (!strcmp(name, "vkCmdDispatch"))
3783 {
3784 return (void*)entry_vkCmdDispatch;
3785 }
3786 if (!strcmp(name, "vkCmdDispatchIndirect"))
3787 {
3788 return (void*)entry_vkCmdDispatchIndirect;
3789 }
3790 if (!strcmp(name, "vkCmdCopyBuffer"))
3791 {
3792 return (void*)entry_vkCmdCopyBuffer;
3793 }
3794 if (!strcmp(name, "vkCmdCopyImage"))
3795 {
3796 return (void*)entry_vkCmdCopyImage;
3797 }
3798 if (!strcmp(name, "vkCmdBlitImage"))
3799 {
3800 return (void*)entry_vkCmdBlitImage;
3801 }
3802 if (!strcmp(name, "vkCmdCopyBufferToImage"))
3803 {
3804 return (void*)entry_vkCmdCopyBufferToImage;
3805 }
3806 if (!strcmp(name, "vkCmdCopyImageToBuffer"))
3807 {
3808 return (void*)entry_vkCmdCopyImageToBuffer;
3809 }
3810 if (!strcmp(name, "vkCmdUpdateBuffer"))
3811 {
3812 return (void*)entry_vkCmdUpdateBuffer;
3813 }
3814 if (!strcmp(name, "vkCmdFillBuffer"))
3815 {
3816 return (void*)entry_vkCmdFillBuffer;
3817 }
3818 if (!strcmp(name, "vkCmdClearColorImage"))
3819 {
3820 return (void*)entry_vkCmdClearColorImage;
3821 }
3822 if (!strcmp(name, "vkCmdClearDepthStencilImage"))
3823 {
3824 return (void*)entry_vkCmdClearDepthStencilImage;
3825 }
3826 if (!strcmp(name, "vkCmdClearAttachments"))
3827 {
3828 return (void*)entry_vkCmdClearAttachments;
3829 }
3830 if (!strcmp(name, "vkCmdResolveImage"))
3831 {
3832 return (void*)entry_vkCmdResolveImage;
3833 }
3834 if (!strcmp(name, "vkCmdSetEvent"))
3835 {
3836 return (void*)entry_vkCmdSetEvent;
3837 }
3838 if (!strcmp(name, "vkCmdResetEvent"))
3839 {
3840 return (void*)entry_vkCmdResetEvent;
3841 }
3842 if (!strcmp(name, "vkCmdWaitEvents"))
3843 {
3844 return (void*)entry_vkCmdWaitEvents;
3845 }
3846 if (!strcmp(name, "vkCmdPipelineBarrier"))
3847 {
3848 return (void*)entry_vkCmdPipelineBarrier;
3849 }
3850 if (!strcmp(name, "vkCmdBeginQuery"))
3851 {
3852 return (void*)entry_vkCmdBeginQuery;
3853 }
3854 if (!strcmp(name, "vkCmdEndQuery"))
3855 {
3856 return (void*)entry_vkCmdEndQuery;
3857 }
3858 if (!strcmp(name, "vkCmdResetQueryPool"))
3859 {
3860 return (void*)entry_vkCmdResetQueryPool;
3861 }
3862 if (!strcmp(name, "vkCmdWriteTimestamp"))
3863 {
3864 return (void*)entry_vkCmdWriteTimestamp;
3865 }
3866 if (!strcmp(name, "vkCmdCopyQueryPoolResults"))
3867 {
3868 return (void*)entry_vkCmdCopyQueryPoolResults;
3869 }
3870 if (!strcmp(name, "vkCmdPushConstants"))
3871 {
3872 return (void*)entry_vkCmdPushConstants;
3873 }
3874 if (!strcmp(name, "vkCmdBeginRenderPass"))
3875 {
3876 return (void*)entry_vkCmdBeginRenderPass;
3877 }
3878 if (!strcmp(name, "vkCmdNextSubpass"))
3879 {
3880 return (void*)entry_vkCmdNextSubpass;
3881 }
3882 if (!strcmp(name, "vkCmdEndRenderPass"))
3883 {
3884 return (void*)entry_vkCmdEndRenderPass;
3885 }
3886 if (!strcmp(name, "vkCmdExecuteCommands"))
3887 {
3888 return (void*)entry_vkCmdExecuteCommands;
3889 }
3890#endif
3891#ifdef VK_VERSION_1_1
3892 if (!strcmp(name, "vkEnumerateInstanceVersion"))
3893 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003894 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003895 }
3896 if (!strcmp(name, "vkBindBufferMemory2"))
3897 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003898 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003899 }
3900 if (!strcmp(name, "vkBindImageMemory2"))
3901 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003902 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003903 }
3904 if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeatures"))
3905 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003906 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003907 }
3908 if (!strcmp(name, "vkCmdSetDeviceMask"))
3909 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003910 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003911 }
3912 if (!strcmp(name, "vkCmdDispatchBase"))
3913 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003914 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003915 }
3916 if (!strcmp(name, "vkEnumeratePhysicalDeviceGroups"))
3917 {
Lingfeng Yang113689e2018-11-11 16:48:50 -08003918 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003919 }
3920 if (!strcmp(name, "vkGetImageMemoryRequirements2"))
3921 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003922 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003923 }
3924 if (!strcmp(name, "vkGetBufferMemoryRequirements2"))
3925 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003926 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003927 }
3928 if (!strcmp(name, "vkGetImageSparseMemoryRequirements2"))
3929 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003930 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003931 }
3932 if (!strcmp(name, "vkGetPhysicalDeviceFeatures2"))
3933 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003934 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003935 }
3936 if (!strcmp(name, "vkGetPhysicalDeviceProperties2"))
3937 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003938 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003939 }
3940 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2"))
3941 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003942 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003943 }
3944 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2"))
3945 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003946 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003947 }
3948 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2"))
3949 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003950 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003951 }
3952 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2"))
3953 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003954 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003955 }
3956 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2"))
3957 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003958 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003959 }
3960 if (!strcmp(name, "vkTrimCommandPool"))
3961 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003962 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003963 }
3964 if (!strcmp(name, "vkGetDeviceQueue2"))
3965 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003966 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003967 }
3968 if (!strcmp(name, "vkCreateSamplerYcbcrConversion"))
3969 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003970 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003971 }
3972 if (!strcmp(name, "vkDestroySamplerYcbcrConversion"))
3973 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003974 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003975 }
3976 if (!strcmp(name, "vkCreateDescriptorUpdateTemplate"))
3977 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003978 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003979 }
3980 if (!strcmp(name, "vkDestroyDescriptorUpdateTemplate"))
3981 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003982 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003983 }
3984 if (!strcmp(name, "vkUpdateDescriptorSetWithTemplate"))
3985 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003986 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003987 }
3988 if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferProperties"))
3989 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003990 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003991 }
3992 if (!strcmp(name, "vkGetPhysicalDeviceExternalFenceProperties"))
3993 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003994 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003995 }
3996 if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphoreProperties"))
3997 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08003998 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08003999 }
4000 if (!strcmp(name, "vkGetDescriptorSetLayoutSupport"))
4001 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004002 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004003 }
4004#endif
4005#ifdef VK_KHR_surface
4006 if (!strcmp(name, "vkDestroySurfaceKHR"))
4007 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004008 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004009 }
4010 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceSupportKHR"))
4011 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004012 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004013 }
4014 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
4015 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004016 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004017 }
4018 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormatsKHR"))
4019 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004020 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004021 }
4022 if (!strcmp(name, "vkGetPhysicalDeviceSurfacePresentModesKHR"))
4023 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004024 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004025 }
4026#endif
4027#ifdef VK_KHR_swapchain
4028 if (!strcmp(name, "vkCreateSwapchainKHR"))
4029 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004030 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004031 }
4032 if (!strcmp(name, "vkDestroySwapchainKHR"))
4033 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004034 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004035 }
4036 if (!strcmp(name, "vkGetSwapchainImagesKHR"))
4037 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004038 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004039 }
4040 if (!strcmp(name, "vkAcquireNextImageKHR"))
4041 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004042 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004043 }
4044 if (!strcmp(name, "vkQueuePresentKHR"))
4045 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004046 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004047 }
4048 if (!strcmp(name, "vkGetDeviceGroupPresentCapabilitiesKHR"))
4049 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004050 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004051 }
4052 if (!strcmp(name, "vkGetDeviceGroupSurfacePresentModesKHR"))
4053 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004054 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004055 }
4056 if (!strcmp(name, "vkGetPhysicalDevicePresentRectanglesKHR"))
4057 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004058 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004059 }
4060 if (!strcmp(name, "vkAcquireNextImage2KHR"))
4061 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004062 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004063 }
4064#endif
4065#ifdef VK_KHR_display
4066 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPropertiesKHR"))
4067 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004068 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004069 }
4070 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
4071 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004072 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004073 }
4074 if (!strcmp(name, "vkGetDisplayPlaneSupportedDisplaysKHR"))
4075 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004076 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004077 }
4078 if (!strcmp(name, "vkGetDisplayModePropertiesKHR"))
4079 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004080 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004081 }
4082 if (!strcmp(name, "vkCreateDisplayModeKHR"))
4083 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004084 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004085 }
4086 if (!strcmp(name, "vkGetDisplayPlaneCapabilitiesKHR"))
4087 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004088 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004089 }
4090 if (!strcmp(name, "vkCreateDisplayPlaneSurfaceKHR"))
4091 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004092 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004093 }
4094#endif
4095#ifdef VK_KHR_display_swapchain
4096 if (!strcmp(name, "vkCreateSharedSwapchainsKHR"))
4097 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004098 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004099 }
4100#endif
4101#ifdef VK_KHR_xlib_surface
4102 if (!strcmp(name, "vkCreateXlibSurfaceKHR"))
4103 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004104 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004105 }
4106 if (!strcmp(name, "vkGetPhysicalDeviceXlibPresentationSupportKHR"))
4107 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004108 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004109 }
4110#endif
4111#ifdef VK_KHR_xcb_surface
4112 if (!strcmp(name, "vkCreateXcbSurfaceKHR"))
4113 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004114 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004115 }
4116 if (!strcmp(name, "vkGetPhysicalDeviceXcbPresentationSupportKHR"))
4117 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004118 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004119 }
4120#endif
4121#ifdef VK_KHR_wayland_surface
4122 if (!strcmp(name, "vkCreateWaylandSurfaceKHR"))
4123 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004124 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004125 }
4126 if (!strcmp(name, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"))
4127 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004128 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004129 }
4130#endif
4131#ifdef VK_KHR_mir_surface
4132 if (!strcmp(name, "vkCreateMirSurfaceKHR"))
4133 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004134 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004135 }
4136 if (!strcmp(name, "vkGetPhysicalDeviceMirPresentationSupportKHR"))
4137 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004138 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004139 }
4140#endif
4141#ifdef VK_KHR_android_surface
4142 if (!strcmp(name, "vkCreateAndroidSurfaceKHR"))
4143 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004144 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004145 }
4146#endif
4147#ifdef VK_KHR_win32_surface
4148 if (!strcmp(name, "vkCreateWin32SurfaceKHR"))
4149 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004150 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004151 }
4152 if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR"))
4153 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004154 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004155 }
4156#endif
4157#ifdef VK_KHR_get_physical_device_properties2
4158 if (!strcmp(name, "vkGetPhysicalDeviceFeatures2KHR"))
4159 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004160 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004161 }
4162 if (!strcmp(name, "vkGetPhysicalDeviceProperties2KHR"))
4163 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004164 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004165 }
4166 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2KHR"))
4167 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004168 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004169 }
4170 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2KHR"))
4171 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004172 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004173 }
4174 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
4175 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004176 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004177 }
4178 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2KHR"))
4179 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004180 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004181 }
4182 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
4183 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004184 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004185 }
4186#endif
4187#ifdef VK_KHR_device_group
4188 if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeaturesKHR"))
4189 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004190 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004191 }
4192 if (!strcmp(name, "vkCmdSetDeviceMaskKHR"))
4193 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004194 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004195 }
4196 if (!strcmp(name, "vkCmdDispatchBaseKHR"))
4197 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004198 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004199 }
4200#endif
4201#ifdef VK_KHR_maintenance1
4202 if (!strcmp(name, "vkTrimCommandPoolKHR"))
4203 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004204 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004205 }
4206#endif
4207#ifdef VK_KHR_device_group_creation
4208 if (!strcmp(name, "vkEnumeratePhysicalDeviceGroupsKHR"))
4209 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004210 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004211 }
4212#endif
4213#ifdef VK_KHR_external_memory_capabilities
4214 if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
4215 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004216 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004217 }
4218#endif
4219#ifdef VK_KHR_external_memory_win32
4220 if (!strcmp(name, "vkGetMemoryWin32HandleKHR"))
4221 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004222 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004223 }
4224 if (!strcmp(name, "vkGetMemoryWin32HandlePropertiesKHR"))
4225 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004226 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004227 }
4228#endif
4229#ifdef VK_KHR_external_memory_fd
4230 if (!strcmp(name, "vkGetMemoryFdKHR"))
4231 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004232 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004233 }
4234 if (!strcmp(name, "vkGetMemoryFdPropertiesKHR"))
4235 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004236 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004237 }
4238#endif
4239#ifdef VK_KHR_external_semaphore_capabilities
4240 if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
4241 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004242 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004243 }
4244#endif
4245#ifdef VK_KHR_external_semaphore_win32
4246 if (!strcmp(name, "vkImportSemaphoreWin32HandleKHR"))
4247 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004248 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004249 }
4250 if (!strcmp(name, "vkGetSemaphoreWin32HandleKHR"))
4251 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004252 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004253 }
4254#endif
4255#ifdef VK_KHR_external_semaphore_fd
4256 if (!strcmp(name, "vkImportSemaphoreFdKHR"))
4257 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004258 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004259 }
4260 if (!strcmp(name, "vkGetSemaphoreFdKHR"))
4261 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004262 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004263 }
4264#endif
4265#ifdef VK_KHR_push_descriptor
4266 if (!strcmp(name, "vkCmdPushDescriptorSetKHR"))
4267 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004268 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004269 }
4270 if (!strcmp(name, "vkCmdPushDescriptorSetWithTemplateKHR"))
4271 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004272 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004273 }
4274#endif
4275#ifdef VK_KHR_descriptor_update_template
4276 if (!strcmp(name, "vkCreateDescriptorUpdateTemplateKHR"))
4277 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004278 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004279 }
4280 if (!strcmp(name, "vkDestroyDescriptorUpdateTemplateKHR"))
4281 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004282 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004283 }
4284 if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateKHR"))
4285 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004286 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004287 }
4288#endif
4289#ifdef VK_KHR_create_renderpass2
4290 if (!strcmp(name, "vkCreateRenderPass2KHR"))
4291 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004292 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004293 }
4294 if (!strcmp(name, "vkCmdBeginRenderPass2KHR"))
4295 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004296 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004297 }
4298 if (!strcmp(name, "vkCmdNextSubpass2KHR"))
4299 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004300 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004301 }
4302 if (!strcmp(name, "vkCmdEndRenderPass2KHR"))
4303 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004304 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004305 }
4306#endif
4307#ifdef VK_KHR_shared_presentable_image
4308 if (!strcmp(name, "vkGetSwapchainStatusKHR"))
4309 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004310 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004311 }
4312#endif
4313#ifdef VK_KHR_external_fence_capabilities
4314 if (!strcmp(name, "vkGetPhysicalDeviceExternalFencePropertiesKHR"))
4315 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004316 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004317 }
4318#endif
4319#ifdef VK_KHR_external_fence_win32
4320 if (!strcmp(name, "vkImportFenceWin32HandleKHR"))
4321 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004322 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004323 }
4324 if (!strcmp(name, "vkGetFenceWin32HandleKHR"))
4325 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004326 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004327 }
4328#endif
4329#ifdef VK_KHR_external_fence_fd
4330 if (!strcmp(name, "vkImportFenceFdKHR"))
4331 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004332 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004333 }
4334 if (!strcmp(name, "vkGetFenceFdKHR"))
4335 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004336 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004337 }
4338#endif
4339#ifdef VK_KHR_get_surface_capabilities2
4340 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
4341 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004342 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004343 }
4344 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormats2KHR"))
4345 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004346 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004347 }
4348#endif
4349#ifdef VK_KHR_get_display_properties2
4350 if (!strcmp(name, "vkGetPhysicalDeviceDisplayProperties2KHR"))
4351 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004352 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004353 }
4354 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
4355 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004356 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004357 }
4358 if (!strcmp(name, "vkGetDisplayModeProperties2KHR"))
4359 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004360 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004361 }
4362 if (!strcmp(name, "vkGetDisplayPlaneCapabilities2KHR"))
4363 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004364 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004365 }
4366#endif
4367#ifdef VK_KHR_get_memory_requirements2
4368 if (!strcmp(name, "vkGetImageMemoryRequirements2KHR"))
4369 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004370 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004371 }
4372 if (!strcmp(name, "vkGetBufferMemoryRequirements2KHR"))
4373 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004374 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004375 }
4376 if (!strcmp(name, "vkGetImageSparseMemoryRequirements2KHR"))
4377 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004378 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004379 }
4380#endif
4381#ifdef VK_KHR_sampler_ycbcr_conversion
4382 if (!strcmp(name, "vkCreateSamplerYcbcrConversionKHR"))
4383 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004384 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004385 }
4386 if (!strcmp(name, "vkDestroySamplerYcbcrConversionKHR"))
4387 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004388 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004389 }
4390#endif
4391#ifdef VK_KHR_bind_memory2
4392 if (!strcmp(name, "vkBindBufferMemory2KHR"))
4393 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004394 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004395 }
4396 if (!strcmp(name, "vkBindImageMemory2KHR"))
4397 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004398 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004399 }
4400#endif
4401#ifdef VK_KHR_maintenance3
4402 if (!strcmp(name, "vkGetDescriptorSetLayoutSupportKHR"))
4403 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004404 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004405 }
4406#endif
4407#ifdef VK_KHR_draw_indirect_count
4408 if (!strcmp(name, "vkCmdDrawIndirectCountKHR"))
4409 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004410 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004411 }
4412 if (!strcmp(name, "vkCmdDrawIndexedIndirectCountKHR"))
4413 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004414 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004415 }
4416#endif
Lingfeng Yang808a6312018-11-13 21:06:15 -08004417#ifdef VK_ANDROID_native_buffer
4418 if (!strcmp(name, "vkGetSwapchainGrallocUsageANDROID"))
4419 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004420 return nullptr;
Lingfeng Yang808a6312018-11-13 21:06:15 -08004421 }
4422 if (!strcmp(name, "vkAcquireImageANDROID"))
4423 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004424 return nullptr;
Lingfeng Yang808a6312018-11-13 21:06:15 -08004425 }
4426 if (!strcmp(name, "vkQueueSignalReleaseImageANDROID"))
4427 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004428 return nullptr;
Lingfeng Yang808a6312018-11-13 21:06:15 -08004429 }
4430#endif
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004431#ifdef VK_EXT_debug_report
4432 if (!strcmp(name, "vkCreateDebugReportCallbackEXT"))
4433 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004434 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004435 }
4436 if (!strcmp(name, "vkDestroyDebugReportCallbackEXT"))
4437 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004438 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004439 }
4440 if (!strcmp(name, "vkDebugReportMessageEXT"))
4441 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004442 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004443 }
4444#endif
4445#ifdef VK_EXT_debug_marker
4446 if (!strcmp(name, "vkDebugMarkerSetObjectTagEXT"))
4447 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004448 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004449 }
4450 if (!strcmp(name, "vkDebugMarkerSetObjectNameEXT"))
4451 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004452 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004453 }
4454 if (!strcmp(name, "vkCmdDebugMarkerBeginEXT"))
4455 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004456 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004457 }
4458 if (!strcmp(name, "vkCmdDebugMarkerEndEXT"))
4459 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004460 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004461 }
4462 if (!strcmp(name, "vkCmdDebugMarkerInsertEXT"))
4463 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004464 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004465 }
4466#endif
4467#ifdef VK_AMD_draw_indirect_count
4468 if (!strcmp(name, "vkCmdDrawIndirectCountAMD"))
4469 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004470 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004471 }
4472 if (!strcmp(name, "vkCmdDrawIndexedIndirectCountAMD"))
4473 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004474 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004475 }
4476#endif
4477#ifdef VK_AMD_shader_info
4478 if (!strcmp(name, "vkGetShaderInfoAMD"))
4479 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004480 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004481 }
4482#endif
4483#ifdef VK_NV_external_memory_capabilities
4484 if (!strcmp(name, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
4485 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004486 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004487 }
4488#endif
4489#ifdef VK_NV_external_memory_win32
4490 if (!strcmp(name, "vkGetMemoryWin32HandleNV"))
4491 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004492 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004493 }
4494#endif
4495#ifdef VK_NN_vi_surface
4496 if (!strcmp(name, "vkCreateViSurfaceNN"))
4497 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004498 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004499 }
4500#endif
4501#ifdef VK_EXT_conditional_rendering
4502 if (!strcmp(name, "vkCmdBeginConditionalRenderingEXT"))
4503 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004504 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004505 }
4506 if (!strcmp(name, "vkCmdEndConditionalRenderingEXT"))
4507 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004508 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004509 }
4510#endif
4511#ifdef VK_NVX_device_generated_commands
4512 if (!strcmp(name, "vkCmdProcessCommandsNVX"))
4513 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004514 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004515 }
4516 if (!strcmp(name, "vkCmdReserveSpaceForCommandsNVX"))
4517 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004518 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004519 }
4520 if (!strcmp(name, "vkCreateIndirectCommandsLayoutNVX"))
4521 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004522 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004523 }
4524 if (!strcmp(name, "vkDestroyIndirectCommandsLayoutNVX"))
4525 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004526 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004527 }
4528 if (!strcmp(name, "vkCreateObjectTableNVX"))
4529 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004530 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004531 }
4532 if (!strcmp(name, "vkDestroyObjectTableNVX"))
4533 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004534 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004535 }
4536 if (!strcmp(name, "vkRegisterObjectsNVX"))
4537 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004538 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004539 }
4540 if (!strcmp(name, "vkUnregisterObjectsNVX"))
4541 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004542 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004543 }
4544 if (!strcmp(name, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
4545 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004546 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004547 }
4548#endif
4549#ifdef VK_NV_clip_space_w_scaling
4550 if (!strcmp(name, "vkCmdSetViewportWScalingNV"))
4551 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004552 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004553 }
4554#endif
4555#ifdef VK_EXT_direct_mode_display
4556 if (!strcmp(name, "vkReleaseDisplayEXT"))
4557 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004558 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004559 }
4560#endif
4561#ifdef VK_EXT_acquire_xlib_display
4562 if (!strcmp(name, "vkAcquireXlibDisplayEXT"))
4563 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004564 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004565 }
4566 if (!strcmp(name, "vkGetRandROutputDisplayEXT"))
4567 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004568 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004569 }
4570#endif
4571#ifdef VK_EXT_display_surface_counter
4572 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
4573 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004574 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004575 }
4576#endif
4577#ifdef VK_EXT_display_control
4578 if (!strcmp(name, "vkDisplayPowerControlEXT"))
4579 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004580 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004581 }
4582 if (!strcmp(name, "vkRegisterDeviceEventEXT"))
4583 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004584 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004585 }
4586 if (!strcmp(name, "vkRegisterDisplayEventEXT"))
4587 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004588 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004589 }
4590 if (!strcmp(name, "vkGetSwapchainCounterEXT"))
4591 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004592 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004593 }
4594#endif
4595#ifdef VK_GOOGLE_display_timing
4596 if (!strcmp(name, "vkGetRefreshCycleDurationGOOGLE"))
4597 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004598 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004599 }
4600 if (!strcmp(name, "vkGetPastPresentationTimingGOOGLE"))
4601 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004602 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004603 }
4604#endif
4605#ifdef VK_EXT_discard_rectangles
4606 if (!strcmp(name, "vkCmdSetDiscardRectangleEXT"))
4607 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004608 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004609 }
4610#endif
4611#ifdef VK_EXT_hdr_metadata
4612 if (!strcmp(name, "vkSetHdrMetadataEXT"))
4613 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004614 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004615 }
4616#endif
4617#ifdef VK_MVK_ios_surface
4618 if (!strcmp(name, "vkCreateIOSSurfaceMVK"))
4619 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004620 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004621 }
4622#endif
4623#ifdef VK_MVK_macos_surface
4624 if (!strcmp(name, "vkCreateMacOSSurfaceMVK"))
4625 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004626 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004627 }
4628#endif
4629#ifdef VK_EXT_debug_utils
4630 if (!strcmp(name, "vkSetDebugUtilsObjectNameEXT"))
4631 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004632 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004633 }
4634 if (!strcmp(name, "vkSetDebugUtilsObjectTagEXT"))
4635 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004636 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004637 }
4638 if (!strcmp(name, "vkQueueBeginDebugUtilsLabelEXT"))
4639 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004640 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004641 }
4642 if (!strcmp(name, "vkQueueEndDebugUtilsLabelEXT"))
4643 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004644 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004645 }
4646 if (!strcmp(name, "vkQueueInsertDebugUtilsLabelEXT"))
4647 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004648 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004649 }
4650 if (!strcmp(name, "vkCmdBeginDebugUtilsLabelEXT"))
4651 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004652 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004653 }
4654 if (!strcmp(name, "vkCmdEndDebugUtilsLabelEXT"))
4655 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004656 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004657 }
4658 if (!strcmp(name, "vkCmdInsertDebugUtilsLabelEXT"))
4659 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004660 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004661 }
4662 if (!strcmp(name, "vkCreateDebugUtilsMessengerEXT"))
4663 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004664 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004665 }
4666 if (!strcmp(name, "vkDestroyDebugUtilsMessengerEXT"))
4667 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004668 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004669 }
4670 if (!strcmp(name, "vkSubmitDebugUtilsMessageEXT"))
4671 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004672 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004673 }
4674#endif
4675#ifdef VK_ANDROID_external_memory_android_hardware_buffer
4676 if (!strcmp(name, "vkGetAndroidHardwareBufferPropertiesANDROID"))
4677 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004678 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004679 }
4680 if (!strcmp(name, "vkGetMemoryAndroidHardwareBufferANDROID"))
4681 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004682 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004683 }
4684#endif
4685#ifdef VK_EXT_sample_locations
4686 if (!strcmp(name, "vkCmdSetSampleLocationsEXT"))
4687 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004688 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004689 }
4690 if (!strcmp(name, "vkGetPhysicalDeviceMultisamplePropertiesEXT"))
4691 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004692 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004693 }
4694#endif
4695#ifdef VK_EXT_validation_cache
4696 if (!strcmp(name, "vkCreateValidationCacheEXT"))
4697 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004698 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004699 }
4700 if (!strcmp(name, "vkDestroyValidationCacheEXT"))
4701 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004702 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004703 }
4704 if (!strcmp(name, "vkMergeValidationCachesEXT"))
4705 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004706 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004707 }
4708 if (!strcmp(name, "vkGetValidationCacheDataEXT"))
4709 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004710 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004711 }
4712#endif
4713#ifdef VK_EXT_external_memory_host
4714 if (!strcmp(name, "vkGetMemoryHostPointerPropertiesEXT"))
4715 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004716 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004717 }
4718#endif
4719#ifdef VK_AMD_buffer_marker
4720 if (!strcmp(name, "vkCmdWriteBufferMarkerAMD"))
4721 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004722 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004723 }
4724#endif
4725#ifdef VK_NV_device_diagnostic_checkpoints
4726 if (!strcmp(name, "vkCmdSetCheckpointNV"))
4727 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004728 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004729 }
4730 if (!strcmp(name, "vkGetQueueCheckpointDataNV"))
4731 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004732 return nullptr;
Lingfeng Yang0b81df22018-11-05 21:40:30 -08004733 }
4734#endif
Lingfeng Yang5c63afd2018-12-22 01:21:14 -08004735#ifdef VK_GOOGLE_address_space
4736 if (!strcmp(name, "vkMapMemoryIntoAddressSpaceGOOGLE"))
4737 {
Lingfeng Yangf0654ff2019-02-02 12:21:24 -08004738 return nullptr;
4739 }
4740#endif
4741 return nullptr;
4742}
4743void* goldfish_vulkan_get_instance_proc_address(VkInstance instance, const char* name){
4744 auto resources = ResourceTracker::get();
4745 bool has1_1OrHigher = resources->getApiVersionFromInstance(instance) >= VK_API_VERSION_1_1;
4746#ifdef VK_VERSION_1_0
4747 if (!strcmp(name, "vkCreateInstance"))
4748 {
4749 return (void*)entry_vkCreateInstance;
4750 }
4751 if (!strcmp(name, "vkDestroyInstance"))
4752 {
4753 return (void*)entry_vkDestroyInstance;
4754 }
4755 if (!strcmp(name, "vkEnumeratePhysicalDevices"))
4756 {
4757 return (void*)entry_vkEnumeratePhysicalDevices;
4758 }
4759 if (!strcmp(name, "vkGetPhysicalDeviceFeatures"))
4760 {
4761 return (void*)entry_vkGetPhysicalDeviceFeatures;
4762 }
4763 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties"))
4764 {
4765 return (void*)entry_vkGetPhysicalDeviceFormatProperties;
4766 }
4767 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties"))
4768 {
4769 return (void*)entry_vkGetPhysicalDeviceImageFormatProperties;
4770 }
4771 if (!strcmp(name, "vkGetPhysicalDeviceProperties"))
4772 {
4773 return (void*)entry_vkGetPhysicalDeviceProperties;
4774 }
4775 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties"))
4776 {
4777 return (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties;
4778 }
4779 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties"))
4780 {
4781 return (void*)entry_vkGetPhysicalDeviceMemoryProperties;
4782 }
4783 if (!strcmp(name, "vkGetInstanceProcAddr"))
4784 {
4785 return (void*)entry_vkGetInstanceProcAddr;
4786 }
4787 if (!strcmp(name, "vkGetDeviceProcAddr"))
4788 {
4789 return (void*)entry_vkGetDeviceProcAddr;
4790 }
4791 if (!strcmp(name, "vkCreateDevice"))
4792 {
4793 return (void*)entry_vkCreateDevice;
4794 }
4795 if (!strcmp(name, "vkDestroyDevice"))
4796 {
4797 return (void*)entry_vkDestroyDevice;
4798 }
4799 if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
4800 {
4801 return (void*)entry_vkEnumerateInstanceExtensionProperties;
4802 }
4803 if (!strcmp(name, "vkEnumerateDeviceExtensionProperties"))
4804 {
4805 return (void*)entry_vkEnumerateDeviceExtensionProperties;
4806 }
4807 if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
4808 {
4809 return (void*)entry_vkEnumerateInstanceLayerProperties;
4810 }
4811 if (!strcmp(name, "vkEnumerateDeviceLayerProperties"))
4812 {
4813 return (void*)entry_vkEnumerateDeviceLayerProperties;
4814 }
4815 if (!strcmp(name, "vkGetDeviceQueue"))
4816 {
4817 return (void*)entry_vkGetDeviceQueue;
4818 }
4819 if (!strcmp(name, "vkQueueSubmit"))
4820 {
4821 return (void*)entry_vkQueueSubmit;
4822 }
4823 if (!strcmp(name, "vkQueueWaitIdle"))
4824 {
4825 return (void*)entry_vkQueueWaitIdle;
4826 }
4827 if (!strcmp(name, "vkDeviceWaitIdle"))
4828 {
4829 return (void*)entry_vkDeviceWaitIdle;
4830 }
4831 if (!strcmp(name, "vkAllocateMemory"))
4832 {
4833 return (void*)entry_vkAllocateMemory;
4834 }
4835 if (!strcmp(name, "vkFreeMemory"))
4836 {
4837 return (void*)entry_vkFreeMemory;
4838 }
4839 if (!strcmp(name, "vkMapMemory"))
4840 {
4841 return (void*)entry_vkMapMemory;
4842 }
4843 if (!strcmp(name, "vkUnmapMemory"))
4844 {
4845 return (void*)entry_vkUnmapMemory;
4846 }
4847 if (!strcmp(name, "vkFlushMappedMemoryRanges"))
4848 {
4849 return (void*)entry_vkFlushMappedMemoryRanges;
4850 }
4851 if (!strcmp(name, "vkInvalidateMappedMemoryRanges"))
4852 {
4853 return (void*)entry_vkInvalidateMappedMemoryRanges;
4854 }
4855 if (!strcmp(name, "vkGetDeviceMemoryCommitment"))
4856 {
4857 return (void*)entry_vkGetDeviceMemoryCommitment;
4858 }
4859 if (!strcmp(name, "vkBindBufferMemory"))
4860 {
4861 return (void*)entry_vkBindBufferMemory;
4862 }
4863 if (!strcmp(name, "vkBindImageMemory"))
4864 {
4865 return (void*)entry_vkBindImageMemory;
4866 }
4867 if (!strcmp(name, "vkGetBufferMemoryRequirements"))
4868 {
4869 return (void*)entry_vkGetBufferMemoryRequirements;
4870 }
4871 if (!strcmp(name, "vkGetImageMemoryRequirements"))
4872 {
4873 return (void*)entry_vkGetImageMemoryRequirements;
4874 }
4875 if (!strcmp(name, "vkGetImageSparseMemoryRequirements"))
4876 {
4877 return (void*)entry_vkGetImageSparseMemoryRequirements;
4878 }
4879 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties"))
4880 {
4881 return (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties;
4882 }
4883 if (!strcmp(name, "vkQueueBindSparse"))
4884 {
4885 return (void*)entry_vkQueueBindSparse;
4886 }
4887 if (!strcmp(name, "vkCreateFence"))
4888 {
4889 return (void*)entry_vkCreateFence;
4890 }
4891 if (!strcmp(name, "vkDestroyFence"))
4892 {
4893 return (void*)entry_vkDestroyFence;
4894 }
4895 if (!strcmp(name, "vkResetFences"))
4896 {
4897 return (void*)entry_vkResetFences;
4898 }
4899 if (!strcmp(name, "vkGetFenceStatus"))
4900 {
4901 return (void*)entry_vkGetFenceStatus;
4902 }
4903 if (!strcmp(name, "vkWaitForFences"))
4904 {
4905 return (void*)entry_vkWaitForFences;
4906 }
4907 if (!strcmp(name, "vkCreateSemaphore"))
4908 {
4909 return (void*)entry_vkCreateSemaphore;
4910 }
4911 if (!strcmp(name, "vkDestroySemaphore"))
4912 {
4913 return (void*)entry_vkDestroySemaphore;
4914 }
4915 if (!strcmp(name, "vkCreateEvent"))
4916 {
4917 return (void*)entry_vkCreateEvent;
4918 }
4919 if (!strcmp(name, "vkDestroyEvent"))
4920 {
4921 return (void*)entry_vkDestroyEvent;
4922 }
4923 if (!strcmp(name, "vkGetEventStatus"))
4924 {
4925 return (void*)entry_vkGetEventStatus;
4926 }
4927 if (!strcmp(name, "vkSetEvent"))
4928 {
4929 return (void*)entry_vkSetEvent;
4930 }
4931 if (!strcmp(name, "vkResetEvent"))
4932 {
4933 return (void*)entry_vkResetEvent;
4934 }
4935 if (!strcmp(name, "vkCreateQueryPool"))
4936 {
4937 return (void*)entry_vkCreateQueryPool;
4938 }
4939 if (!strcmp(name, "vkDestroyQueryPool"))
4940 {
4941 return (void*)entry_vkDestroyQueryPool;
4942 }
4943 if (!strcmp(name, "vkGetQueryPoolResults"))
4944 {
4945 return (void*)entry_vkGetQueryPoolResults;
4946 }
4947 if (!strcmp(name, "vkCreateBuffer"))
4948 {
4949 return (void*)entry_vkCreateBuffer;
4950 }
4951 if (!strcmp(name, "vkDestroyBuffer"))
4952 {
4953 return (void*)entry_vkDestroyBuffer;
4954 }
4955 if (!strcmp(name, "vkCreateBufferView"))
4956 {
4957 return (void*)entry_vkCreateBufferView;
4958 }
4959 if (!strcmp(name, "vkDestroyBufferView"))
4960 {
4961 return (void*)entry_vkDestroyBufferView;
4962 }
4963 if (!strcmp(name, "vkCreateImage"))
4964 {
4965 return (void*)entry_vkCreateImage;
4966 }
4967 if (!strcmp(name, "vkDestroyImage"))
4968 {
4969 return (void*)entry_vkDestroyImage;
4970 }
4971 if (!strcmp(name, "vkGetImageSubresourceLayout"))
4972 {
4973 return (void*)entry_vkGetImageSubresourceLayout;
4974 }
4975 if (!strcmp(name, "vkCreateImageView"))
4976 {
4977 return (void*)entry_vkCreateImageView;
4978 }
4979 if (!strcmp(name, "vkDestroyImageView"))
4980 {
4981 return (void*)entry_vkDestroyImageView;
4982 }
4983 if (!strcmp(name, "vkCreateShaderModule"))
4984 {
4985 return (void*)entry_vkCreateShaderModule;
4986 }
4987 if (!strcmp(name, "vkDestroyShaderModule"))
4988 {
4989 return (void*)entry_vkDestroyShaderModule;
4990 }
4991 if (!strcmp(name, "vkCreatePipelineCache"))
4992 {
4993 return (void*)entry_vkCreatePipelineCache;
4994 }
4995 if (!strcmp(name, "vkDestroyPipelineCache"))
4996 {
4997 return (void*)entry_vkDestroyPipelineCache;
4998 }
4999 if (!strcmp(name, "vkGetPipelineCacheData"))
5000 {
5001 return (void*)entry_vkGetPipelineCacheData;
5002 }
5003 if (!strcmp(name, "vkMergePipelineCaches"))
5004 {
5005 return (void*)entry_vkMergePipelineCaches;
5006 }
5007 if (!strcmp(name, "vkCreateGraphicsPipelines"))
5008 {
5009 return (void*)entry_vkCreateGraphicsPipelines;
5010 }
5011 if (!strcmp(name, "vkCreateComputePipelines"))
5012 {
5013 return (void*)entry_vkCreateComputePipelines;
5014 }
5015 if (!strcmp(name, "vkDestroyPipeline"))
5016 {
5017 return (void*)entry_vkDestroyPipeline;
5018 }
5019 if (!strcmp(name, "vkCreatePipelineLayout"))
5020 {
5021 return (void*)entry_vkCreatePipelineLayout;
5022 }
5023 if (!strcmp(name, "vkDestroyPipelineLayout"))
5024 {
5025 return (void*)entry_vkDestroyPipelineLayout;
5026 }
5027 if (!strcmp(name, "vkCreateSampler"))
5028 {
5029 return (void*)entry_vkCreateSampler;
5030 }
5031 if (!strcmp(name, "vkDestroySampler"))
5032 {
5033 return (void*)entry_vkDestroySampler;
5034 }
5035 if (!strcmp(name, "vkCreateDescriptorSetLayout"))
5036 {
5037 return (void*)entry_vkCreateDescriptorSetLayout;
5038 }
5039 if (!strcmp(name, "vkDestroyDescriptorSetLayout"))
5040 {
5041 return (void*)entry_vkDestroyDescriptorSetLayout;
5042 }
5043 if (!strcmp(name, "vkCreateDescriptorPool"))
5044 {
5045 return (void*)entry_vkCreateDescriptorPool;
5046 }
5047 if (!strcmp(name, "vkDestroyDescriptorPool"))
5048 {
5049 return (void*)entry_vkDestroyDescriptorPool;
5050 }
5051 if (!strcmp(name, "vkResetDescriptorPool"))
5052 {
5053 return (void*)entry_vkResetDescriptorPool;
5054 }
5055 if (!strcmp(name, "vkAllocateDescriptorSets"))
5056 {
5057 return (void*)entry_vkAllocateDescriptorSets;
5058 }
5059 if (!strcmp(name, "vkFreeDescriptorSets"))
5060 {
5061 return (void*)entry_vkFreeDescriptorSets;
5062 }
5063 if (!strcmp(name, "vkUpdateDescriptorSets"))
5064 {
5065 return (void*)entry_vkUpdateDescriptorSets;
5066 }
5067 if (!strcmp(name, "vkCreateFramebuffer"))
5068 {
5069 return (void*)entry_vkCreateFramebuffer;
5070 }
5071 if (!strcmp(name, "vkDestroyFramebuffer"))
5072 {
5073 return (void*)entry_vkDestroyFramebuffer;
5074 }
5075 if (!strcmp(name, "vkCreateRenderPass"))
5076 {
5077 return (void*)entry_vkCreateRenderPass;
5078 }
5079 if (!strcmp(name, "vkDestroyRenderPass"))
5080 {
5081 return (void*)entry_vkDestroyRenderPass;
5082 }
5083 if (!strcmp(name, "vkGetRenderAreaGranularity"))
5084 {
5085 return (void*)entry_vkGetRenderAreaGranularity;
5086 }
5087 if (!strcmp(name, "vkCreateCommandPool"))
5088 {
5089 return (void*)entry_vkCreateCommandPool;
5090 }
5091 if (!strcmp(name, "vkDestroyCommandPool"))
5092 {
5093 return (void*)entry_vkDestroyCommandPool;
5094 }
5095 if (!strcmp(name, "vkResetCommandPool"))
5096 {
5097 return (void*)entry_vkResetCommandPool;
5098 }
5099 if (!strcmp(name, "vkAllocateCommandBuffers"))
5100 {
5101 return (void*)entry_vkAllocateCommandBuffers;
5102 }
5103 if (!strcmp(name, "vkFreeCommandBuffers"))
5104 {
5105 return (void*)entry_vkFreeCommandBuffers;
5106 }
5107 if (!strcmp(name, "vkBeginCommandBuffer"))
5108 {
5109 return (void*)entry_vkBeginCommandBuffer;
5110 }
5111 if (!strcmp(name, "vkEndCommandBuffer"))
5112 {
5113 return (void*)entry_vkEndCommandBuffer;
5114 }
5115 if (!strcmp(name, "vkResetCommandBuffer"))
5116 {
5117 return (void*)entry_vkResetCommandBuffer;
5118 }
5119 if (!strcmp(name, "vkCmdBindPipeline"))
5120 {
5121 return (void*)entry_vkCmdBindPipeline;
5122 }
5123 if (!strcmp(name, "vkCmdSetViewport"))
5124 {
5125 return (void*)entry_vkCmdSetViewport;
5126 }
5127 if (!strcmp(name, "vkCmdSetScissor"))
5128 {
5129 return (void*)entry_vkCmdSetScissor;
5130 }
5131 if (!strcmp(name, "vkCmdSetLineWidth"))
5132 {
5133 return (void*)entry_vkCmdSetLineWidth;
5134 }
5135 if (!strcmp(name, "vkCmdSetDepthBias"))
5136 {
5137 return (void*)entry_vkCmdSetDepthBias;
5138 }
5139 if (!strcmp(name, "vkCmdSetBlendConstants"))
5140 {
5141 return (void*)entry_vkCmdSetBlendConstants;
5142 }
5143 if (!strcmp(name, "vkCmdSetDepthBounds"))
5144 {
5145 return (void*)entry_vkCmdSetDepthBounds;
5146 }
5147 if (!strcmp(name, "vkCmdSetStencilCompareMask"))
5148 {
5149 return (void*)entry_vkCmdSetStencilCompareMask;
5150 }
5151 if (!strcmp(name, "vkCmdSetStencilWriteMask"))
5152 {
5153 return (void*)entry_vkCmdSetStencilWriteMask;
5154 }
5155 if (!strcmp(name, "vkCmdSetStencilReference"))
5156 {
5157 return (void*)entry_vkCmdSetStencilReference;
5158 }
5159 if (!strcmp(name, "vkCmdBindDescriptorSets"))
5160 {
5161 return (void*)entry_vkCmdBindDescriptorSets;
5162 }
5163 if (!strcmp(name, "vkCmdBindIndexBuffer"))
5164 {
5165 return (void*)entry_vkCmdBindIndexBuffer;
5166 }
5167 if (!strcmp(name, "vkCmdBindVertexBuffers"))
5168 {
5169 return (void*)entry_vkCmdBindVertexBuffers;
5170 }
5171 if (!strcmp(name, "vkCmdDraw"))
5172 {
5173 return (void*)entry_vkCmdDraw;
5174 }
5175 if (!strcmp(name, "vkCmdDrawIndexed"))
5176 {
5177 return (void*)entry_vkCmdDrawIndexed;
5178 }
5179 if (!strcmp(name, "vkCmdDrawIndirect"))
5180 {
5181 return (void*)entry_vkCmdDrawIndirect;
5182 }
5183 if (!strcmp(name, "vkCmdDrawIndexedIndirect"))
5184 {
5185 return (void*)entry_vkCmdDrawIndexedIndirect;
5186 }
5187 if (!strcmp(name, "vkCmdDispatch"))
5188 {
5189 return (void*)entry_vkCmdDispatch;
5190 }
5191 if (!strcmp(name, "vkCmdDispatchIndirect"))
5192 {
5193 return (void*)entry_vkCmdDispatchIndirect;
5194 }
5195 if (!strcmp(name, "vkCmdCopyBuffer"))
5196 {
5197 return (void*)entry_vkCmdCopyBuffer;
5198 }
5199 if (!strcmp(name, "vkCmdCopyImage"))
5200 {
5201 return (void*)entry_vkCmdCopyImage;
5202 }
5203 if (!strcmp(name, "vkCmdBlitImage"))
5204 {
5205 return (void*)entry_vkCmdBlitImage;
5206 }
5207 if (!strcmp(name, "vkCmdCopyBufferToImage"))
5208 {
5209 return (void*)entry_vkCmdCopyBufferToImage;
5210 }
5211 if (!strcmp(name, "vkCmdCopyImageToBuffer"))
5212 {
5213 return (void*)entry_vkCmdCopyImageToBuffer;
5214 }
5215 if (!strcmp(name, "vkCmdUpdateBuffer"))
5216 {
5217 return (void*)entry_vkCmdUpdateBuffer;
5218 }
5219 if (!strcmp(name, "vkCmdFillBuffer"))
5220 {
5221 return (void*)entry_vkCmdFillBuffer;
5222 }
5223 if (!strcmp(name, "vkCmdClearColorImage"))
5224 {
5225 return (void*)entry_vkCmdClearColorImage;
5226 }
5227 if (!strcmp(name, "vkCmdClearDepthStencilImage"))
5228 {
5229 return (void*)entry_vkCmdClearDepthStencilImage;
5230 }
5231 if (!strcmp(name, "vkCmdClearAttachments"))
5232 {
5233 return (void*)entry_vkCmdClearAttachments;
5234 }
5235 if (!strcmp(name, "vkCmdResolveImage"))
5236 {
5237 return (void*)entry_vkCmdResolveImage;
5238 }
5239 if (!strcmp(name, "vkCmdSetEvent"))
5240 {
5241 return (void*)entry_vkCmdSetEvent;
5242 }
5243 if (!strcmp(name, "vkCmdResetEvent"))
5244 {
5245 return (void*)entry_vkCmdResetEvent;
5246 }
5247 if (!strcmp(name, "vkCmdWaitEvents"))
5248 {
5249 return (void*)entry_vkCmdWaitEvents;
5250 }
5251 if (!strcmp(name, "vkCmdPipelineBarrier"))
5252 {
5253 return (void*)entry_vkCmdPipelineBarrier;
5254 }
5255 if (!strcmp(name, "vkCmdBeginQuery"))
5256 {
5257 return (void*)entry_vkCmdBeginQuery;
5258 }
5259 if (!strcmp(name, "vkCmdEndQuery"))
5260 {
5261 return (void*)entry_vkCmdEndQuery;
5262 }
5263 if (!strcmp(name, "vkCmdResetQueryPool"))
5264 {
5265 return (void*)entry_vkCmdResetQueryPool;
5266 }
5267 if (!strcmp(name, "vkCmdWriteTimestamp"))
5268 {
5269 return (void*)entry_vkCmdWriteTimestamp;
5270 }
5271 if (!strcmp(name, "vkCmdCopyQueryPoolResults"))
5272 {
5273 return (void*)entry_vkCmdCopyQueryPoolResults;
5274 }
5275 if (!strcmp(name, "vkCmdPushConstants"))
5276 {
5277 return (void*)entry_vkCmdPushConstants;
5278 }
5279 if (!strcmp(name, "vkCmdBeginRenderPass"))
5280 {
5281 return (void*)entry_vkCmdBeginRenderPass;
5282 }
5283 if (!strcmp(name, "vkCmdNextSubpass"))
5284 {
5285 return (void*)entry_vkCmdNextSubpass;
5286 }
5287 if (!strcmp(name, "vkCmdEndRenderPass"))
5288 {
5289 return (void*)entry_vkCmdEndRenderPass;
5290 }
5291 if (!strcmp(name, "vkCmdExecuteCommands"))
5292 {
5293 return (void*)entry_vkCmdExecuteCommands;
5294 }
5295#endif
5296#ifdef VK_VERSION_1_1
5297 if (!strcmp(name, "vkEnumerateInstanceVersion"))
5298 {
5299 return has1_1OrHigher ? (void*)entry_vkEnumerateInstanceVersion : nullptr;
5300 }
5301 if (!strcmp(name, "vkBindBufferMemory2"))
5302 {
5303 return has1_1OrHigher ? (void*)entry_vkBindBufferMemory2 : nullptr;
5304 }
5305 if (!strcmp(name, "vkBindImageMemory2"))
5306 {
5307 return has1_1OrHigher ? (void*)entry_vkBindImageMemory2 : nullptr;
5308 }
5309 if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeatures"))
5310 {
5311 return has1_1OrHigher ? (void*)entry_vkGetDeviceGroupPeerMemoryFeatures : nullptr;
5312 }
5313 if (!strcmp(name, "vkCmdSetDeviceMask"))
5314 {
5315 return has1_1OrHigher ? (void*)entry_vkCmdSetDeviceMask : nullptr;
5316 }
5317 if (!strcmp(name, "vkCmdDispatchBase"))
5318 {
5319 return has1_1OrHigher ? (void*)entry_vkCmdDispatchBase : nullptr;
5320 }
5321 if (!strcmp(name, "vkEnumeratePhysicalDeviceGroups"))
5322 {
5323 return nullptr;
5324 }
5325 if (!strcmp(name, "vkGetImageMemoryRequirements2"))
5326 {
5327 return has1_1OrHigher ? (void*)entry_vkGetImageMemoryRequirements2 : nullptr;
5328 }
5329 if (!strcmp(name, "vkGetBufferMemoryRequirements2"))
5330 {
5331 return has1_1OrHigher ? (void*)entry_vkGetBufferMemoryRequirements2 : nullptr;
5332 }
5333 if (!strcmp(name, "vkGetImageSparseMemoryRequirements2"))
5334 {
5335 return has1_1OrHigher ? (void*)entry_vkGetImageSparseMemoryRequirements2 : nullptr;
5336 }
5337 if (!strcmp(name, "vkGetPhysicalDeviceFeatures2"))
5338 {
5339 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFeatures2 : nullptr;
5340 }
5341 if (!strcmp(name, "vkGetPhysicalDeviceProperties2"))
5342 {
5343 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceProperties2 : nullptr;
5344 }
5345 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2"))
5346 {
5347 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFormatProperties2 : nullptr;
5348 }
5349 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2"))
5350 {
5351 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2 : nullptr;
5352 }
5353 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2"))
5354 {
5355 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2 : nullptr;
5356 }
5357 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2"))
5358 {
5359 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2 : nullptr;
5360 }
5361 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2"))
5362 {
5363 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2 : nullptr;
5364 }
5365 if (!strcmp(name, "vkTrimCommandPool"))
5366 {
5367 return has1_1OrHigher ? (void*)entry_vkTrimCommandPool : nullptr;
5368 }
5369 if (!strcmp(name, "vkGetDeviceQueue2"))
5370 {
5371 return has1_1OrHigher ? (void*)entry_vkGetDeviceQueue2 : nullptr;
5372 }
5373 if (!strcmp(name, "vkCreateSamplerYcbcrConversion"))
5374 {
5375 return has1_1OrHigher ? (void*)entry_vkCreateSamplerYcbcrConversion : nullptr;
5376 }
5377 if (!strcmp(name, "vkDestroySamplerYcbcrConversion"))
5378 {
5379 return has1_1OrHigher ? (void*)entry_vkDestroySamplerYcbcrConversion : nullptr;
5380 }
5381 if (!strcmp(name, "vkCreateDescriptorUpdateTemplate"))
5382 {
5383 return has1_1OrHigher ? (void*)entry_vkCreateDescriptorUpdateTemplate : nullptr;
5384 }
5385 if (!strcmp(name, "vkDestroyDescriptorUpdateTemplate"))
5386 {
5387 return has1_1OrHigher ? (void*)entry_vkDestroyDescriptorUpdateTemplate : nullptr;
5388 }
5389 if (!strcmp(name, "vkUpdateDescriptorSetWithTemplate"))
5390 {
5391 return has1_1OrHigher ? (void*)entry_vkUpdateDescriptorSetWithTemplate : nullptr;
5392 }
5393 if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferProperties"))
5394 {
5395 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalBufferProperties : nullptr;
5396 }
5397 if (!strcmp(name, "vkGetPhysicalDeviceExternalFenceProperties"))
5398 {
5399 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalFenceProperties : nullptr;
5400 }
5401 if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphoreProperties"))
5402 {
5403 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalSemaphoreProperties : nullptr;
5404 }
5405 if (!strcmp(name, "vkGetDescriptorSetLayoutSupport"))
5406 {
5407 return has1_1OrHigher ? (void*)entry_vkGetDescriptorSetLayoutSupport : nullptr;
5408 }
5409#endif
5410#ifdef VK_KHR_surface
5411 if (!strcmp(name, "vkDestroySurfaceKHR"))
5412 {
5413 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
5414 return hasExt ? (void*)entry_vkDestroySurfaceKHR : nullptr;
5415 }
5416 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceSupportKHR"))
5417 {
5418 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
5419 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceSupportKHR : nullptr;
5420 }
5421 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
5422 {
5423 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
5424 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR : nullptr;
5425 }
5426 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormatsKHR"))
5427 {
5428 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
5429 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormatsKHR : nullptr;
5430 }
5431 if (!strcmp(name, "vkGetPhysicalDeviceSurfacePresentModesKHR"))
5432 {
5433 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_surface");
5434 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfacePresentModesKHR : nullptr;
5435 }
5436#endif
5437#ifdef VK_KHR_swapchain
5438 if (!strcmp(name, "vkCreateSwapchainKHR"))
5439 {
5440 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5441 return hasExt ? (void*)entry_vkCreateSwapchainKHR : nullptr;
5442 }
5443 if (!strcmp(name, "vkDestroySwapchainKHR"))
5444 {
5445 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5446 return hasExt ? (void*)entry_vkDestroySwapchainKHR : nullptr;
5447 }
5448 if (!strcmp(name, "vkGetSwapchainImagesKHR"))
5449 {
5450 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5451 return hasExt ? (void*)entry_vkGetSwapchainImagesKHR : nullptr;
5452 }
5453 if (!strcmp(name, "vkAcquireNextImageKHR"))
5454 {
5455 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5456 return hasExt ? (void*)entry_vkAcquireNextImageKHR : nullptr;
5457 }
5458 if (!strcmp(name, "vkQueuePresentKHR"))
5459 {
5460 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5461 return hasExt ? (void*)entry_vkQueuePresentKHR : nullptr;
5462 }
5463 if (!strcmp(name, "vkGetDeviceGroupPresentCapabilitiesKHR"))
5464 {
5465 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5466 return hasExt ? (void*)entry_vkGetDeviceGroupPresentCapabilitiesKHR : nullptr;
5467 }
5468 if (!strcmp(name, "vkGetDeviceGroupSurfacePresentModesKHR"))
5469 {
5470 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5471 return hasExt ? (void*)entry_vkGetDeviceGroupSurfacePresentModesKHR : nullptr;
5472 }
5473 if (!strcmp(name, "vkGetPhysicalDevicePresentRectanglesKHR"))
5474 {
5475 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5476 return hasExt ? (void*)entry_vkGetPhysicalDevicePresentRectanglesKHR : nullptr;
5477 }
5478 if (!strcmp(name, "vkAcquireNextImage2KHR"))
5479 {
5480 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_swapchain");
5481 return hasExt ? (void*)entry_vkAcquireNextImage2KHR : nullptr;
5482 }
5483#endif
5484#ifdef VK_KHR_display
5485 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPropertiesKHR"))
5486 {
5487 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5488 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPropertiesKHR : nullptr;
5489 }
5490 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
5491 {
5492 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5493 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR : nullptr;
5494 }
5495 if (!strcmp(name, "vkGetDisplayPlaneSupportedDisplaysKHR"))
5496 {
5497 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5498 return hasExt ? (void*)entry_vkGetDisplayPlaneSupportedDisplaysKHR : nullptr;
5499 }
5500 if (!strcmp(name, "vkGetDisplayModePropertiesKHR"))
5501 {
5502 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5503 return hasExt ? (void*)entry_vkGetDisplayModePropertiesKHR : nullptr;
5504 }
5505 if (!strcmp(name, "vkCreateDisplayModeKHR"))
5506 {
5507 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5508 return hasExt ? (void*)entry_vkCreateDisplayModeKHR : nullptr;
5509 }
5510 if (!strcmp(name, "vkGetDisplayPlaneCapabilitiesKHR"))
5511 {
5512 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5513 return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilitiesKHR : nullptr;
5514 }
5515 if (!strcmp(name, "vkCreateDisplayPlaneSurfaceKHR"))
5516 {
5517 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display");
5518 return hasExt ? (void*)entry_vkCreateDisplayPlaneSurfaceKHR : nullptr;
5519 }
5520#endif
5521#ifdef VK_KHR_display_swapchain
5522 if (!strcmp(name, "vkCreateSharedSwapchainsKHR"))
5523 {
5524 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_display_swapchain");
5525 return hasExt ? (void*)entry_vkCreateSharedSwapchainsKHR : nullptr;
5526 }
5527#endif
5528#ifdef VK_KHR_xlib_surface
5529 if (!strcmp(name, "vkCreateXlibSurfaceKHR"))
5530 {
5531 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xlib_surface");
5532 return hasExt ? (void*)entry_vkCreateXlibSurfaceKHR : nullptr;
5533 }
5534 if (!strcmp(name, "vkGetPhysicalDeviceXlibPresentationSupportKHR"))
5535 {
5536 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xlib_surface");
5537 return hasExt ? (void*)entry_vkGetPhysicalDeviceXlibPresentationSupportKHR : nullptr;
5538 }
5539#endif
5540#ifdef VK_KHR_xcb_surface
5541 if (!strcmp(name, "vkCreateXcbSurfaceKHR"))
5542 {
5543 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xcb_surface");
5544 return hasExt ? (void*)entry_vkCreateXcbSurfaceKHR : nullptr;
5545 }
5546 if (!strcmp(name, "vkGetPhysicalDeviceXcbPresentationSupportKHR"))
5547 {
5548 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_xcb_surface");
5549 return hasExt ? (void*)entry_vkGetPhysicalDeviceXcbPresentationSupportKHR : nullptr;
5550 }
5551#endif
5552#ifdef VK_KHR_wayland_surface
5553 if (!strcmp(name, "vkCreateWaylandSurfaceKHR"))
5554 {
5555 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_wayland_surface");
5556 return hasExt ? (void*)entry_vkCreateWaylandSurfaceKHR : nullptr;
5557 }
5558 if (!strcmp(name, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"))
5559 {
5560 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_wayland_surface");
5561 return hasExt ? (void*)entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR : nullptr;
5562 }
5563#endif
5564#ifdef VK_KHR_mir_surface
5565 if (!strcmp(name, "vkCreateMirSurfaceKHR"))
5566 {
5567 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_mir_surface");
5568 return hasExt ? (void*)entry_vkCreateMirSurfaceKHR : nullptr;
5569 }
5570 if (!strcmp(name, "vkGetPhysicalDeviceMirPresentationSupportKHR"))
5571 {
5572 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_mir_surface");
5573 return hasExt ? (void*)entry_vkGetPhysicalDeviceMirPresentationSupportKHR : nullptr;
5574 }
5575#endif
5576#ifdef VK_KHR_android_surface
5577 if (!strcmp(name, "vkCreateAndroidSurfaceKHR"))
5578 {
5579 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_android_surface");
5580 return hasExt ? (void*)entry_vkCreateAndroidSurfaceKHR : nullptr;
5581 }
5582#endif
5583#ifdef VK_KHR_win32_surface
5584 if (!strcmp(name, "vkCreateWin32SurfaceKHR"))
5585 {
5586 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_win32_surface");
5587 return hasExt ? (void*)entry_vkCreateWin32SurfaceKHR : nullptr;
5588 }
5589 if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR"))
5590 {
5591 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_win32_surface");
5592 return hasExt ? (void*)entry_vkGetPhysicalDeviceWin32PresentationSupportKHR : nullptr;
5593 }
5594#endif
5595#ifdef VK_KHR_get_physical_device_properties2
5596 if (!strcmp(name, "vkGetPhysicalDeviceFeatures2KHR"))
5597 {
5598 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5599 return hasExt ? (void*)entry_vkGetPhysicalDeviceFeatures2KHR : nullptr;
5600 }
5601 if (!strcmp(name, "vkGetPhysicalDeviceProperties2KHR"))
5602 {
5603 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5604 return hasExt ? (void*)entry_vkGetPhysicalDeviceProperties2KHR : nullptr;
5605 }
5606 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2KHR"))
5607 {
5608 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5609 return hasExt ? (void*)entry_vkGetPhysicalDeviceFormatProperties2KHR : nullptr;
5610 }
5611 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2KHR"))
5612 {
5613 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5614 return hasExt ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2KHR : nullptr;
5615 }
5616 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
5617 {
5618 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5619 return hasExt ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR : nullptr;
5620 }
5621 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2KHR"))
5622 {
5623 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5624 return hasExt ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2KHR : nullptr;
5625 }
5626 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
5627 {
5628 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_physical_device_properties2");
5629 return hasExt ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR : nullptr;
5630 }
5631#endif
5632#ifdef VK_KHR_device_group
5633 if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeaturesKHR"))
5634 {
5635 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group");
5636 return hasExt ? (void*)entry_vkGetDeviceGroupPeerMemoryFeaturesKHR : nullptr;
5637 }
5638 if (!strcmp(name, "vkCmdSetDeviceMaskKHR"))
5639 {
5640 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group");
5641 return hasExt ? (void*)entry_vkCmdSetDeviceMaskKHR : nullptr;
5642 }
5643 if (!strcmp(name, "vkCmdDispatchBaseKHR"))
5644 {
5645 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group");
5646 return hasExt ? (void*)entry_vkCmdDispatchBaseKHR : nullptr;
5647 }
5648#endif
5649#ifdef VK_KHR_maintenance1
5650 if (!strcmp(name, "vkTrimCommandPoolKHR"))
5651 {
5652 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_maintenance1");
5653 return hasExt ? (void*)entry_vkTrimCommandPoolKHR : nullptr;
5654 }
5655#endif
5656#ifdef VK_KHR_device_group_creation
5657 if (!strcmp(name, "vkEnumeratePhysicalDeviceGroupsKHR"))
5658 {
5659 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_device_group_creation");
5660 return hasExt ? (void*)entry_vkEnumeratePhysicalDeviceGroupsKHR : nullptr;
5661 }
5662#endif
5663#ifdef VK_KHR_external_memory_capabilities
5664 if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
5665 {
5666 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_memory_capabilities");
5667 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR : nullptr;
5668 }
5669#endif
5670#ifdef VK_KHR_external_memory_win32
5671 if (!strcmp(name, "vkGetMemoryWin32HandleKHR"))
5672 {
5673 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_memory_win32");
5674 return hasExt ? (void*)entry_vkGetMemoryWin32HandleKHR : nullptr;
5675 }
5676 if (!strcmp(name, "vkGetMemoryWin32HandlePropertiesKHR"))
5677 {
5678 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_memory_win32");
5679 return hasExt ? (void*)entry_vkGetMemoryWin32HandlePropertiesKHR : nullptr;
5680 }
5681#endif
5682#ifdef VK_KHR_external_memory_fd
5683 if (!strcmp(name, "vkGetMemoryFdKHR"))
5684 {
5685 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_memory_fd");
5686 return hasExt ? (void*)entry_vkGetMemoryFdKHR : nullptr;
5687 }
5688 if (!strcmp(name, "vkGetMemoryFdPropertiesKHR"))
5689 {
5690 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_memory_fd");
5691 return hasExt ? (void*)entry_vkGetMemoryFdPropertiesKHR : nullptr;
5692 }
5693#endif
5694#ifdef VK_KHR_external_semaphore_capabilities
5695 if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
5696 {
5697 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_semaphore_capabilities");
5698 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR : nullptr;
5699 }
5700#endif
5701#ifdef VK_KHR_external_semaphore_win32
5702 if (!strcmp(name, "vkImportSemaphoreWin32HandleKHR"))
5703 {
5704 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_semaphore_win32");
5705 return hasExt ? (void*)entry_vkImportSemaphoreWin32HandleKHR : nullptr;
5706 }
5707 if (!strcmp(name, "vkGetSemaphoreWin32HandleKHR"))
5708 {
5709 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_semaphore_win32");
5710 return hasExt ? (void*)entry_vkGetSemaphoreWin32HandleKHR : nullptr;
5711 }
5712#endif
5713#ifdef VK_KHR_external_semaphore_fd
5714 if (!strcmp(name, "vkImportSemaphoreFdKHR"))
5715 {
5716 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_semaphore_fd");
5717 return hasExt ? (void*)entry_vkImportSemaphoreFdKHR : nullptr;
5718 }
5719 if (!strcmp(name, "vkGetSemaphoreFdKHR"))
5720 {
5721 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_semaphore_fd");
5722 return hasExt ? (void*)entry_vkGetSemaphoreFdKHR : nullptr;
5723 }
5724#endif
5725#ifdef VK_KHR_push_descriptor
5726 if (!strcmp(name, "vkCmdPushDescriptorSetKHR"))
5727 {
5728 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_push_descriptor");
5729 return hasExt ? (void*)entry_vkCmdPushDescriptorSetKHR : nullptr;
5730 }
5731 if (!strcmp(name, "vkCmdPushDescriptorSetWithTemplateKHR"))
5732 {
5733 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_push_descriptor");
5734 return hasExt ? (void*)entry_vkCmdPushDescriptorSetWithTemplateKHR : nullptr;
5735 }
5736#endif
5737#ifdef VK_KHR_descriptor_update_template
5738 if (!strcmp(name, "vkCreateDescriptorUpdateTemplateKHR"))
5739 {
5740 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_descriptor_update_template");
5741 return hasExt ? (void*)entry_vkCreateDescriptorUpdateTemplateKHR : nullptr;
5742 }
5743 if (!strcmp(name, "vkDestroyDescriptorUpdateTemplateKHR"))
5744 {
5745 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_descriptor_update_template");
5746 return hasExt ? (void*)entry_vkDestroyDescriptorUpdateTemplateKHR : nullptr;
5747 }
5748 if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateKHR"))
5749 {
5750 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_descriptor_update_template");
5751 return hasExt ? (void*)entry_vkUpdateDescriptorSetWithTemplateKHR : nullptr;
5752 }
5753#endif
5754#ifdef VK_KHR_create_renderpass2
5755 if (!strcmp(name, "vkCreateRenderPass2KHR"))
5756 {
5757 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
5758 return hasExt ? (void*)entry_vkCreateRenderPass2KHR : nullptr;
5759 }
5760 if (!strcmp(name, "vkCmdBeginRenderPass2KHR"))
5761 {
5762 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
5763 return hasExt ? (void*)entry_vkCmdBeginRenderPass2KHR : nullptr;
5764 }
5765 if (!strcmp(name, "vkCmdNextSubpass2KHR"))
5766 {
5767 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
5768 return hasExt ? (void*)entry_vkCmdNextSubpass2KHR : nullptr;
5769 }
5770 if (!strcmp(name, "vkCmdEndRenderPass2KHR"))
5771 {
5772 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_create_renderpass2");
5773 return hasExt ? (void*)entry_vkCmdEndRenderPass2KHR : nullptr;
5774 }
5775#endif
5776#ifdef VK_KHR_shared_presentable_image
5777 if (!strcmp(name, "vkGetSwapchainStatusKHR"))
5778 {
5779 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_shared_presentable_image");
5780 return hasExt ? (void*)entry_vkGetSwapchainStatusKHR : nullptr;
5781 }
5782#endif
5783#ifdef VK_KHR_external_fence_capabilities
5784 if (!strcmp(name, "vkGetPhysicalDeviceExternalFencePropertiesKHR"))
5785 {
5786 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_fence_capabilities");
5787 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalFencePropertiesKHR : nullptr;
5788 }
5789#endif
5790#ifdef VK_KHR_external_fence_win32
5791 if (!strcmp(name, "vkImportFenceWin32HandleKHR"))
5792 {
5793 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_fence_win32");
5794 return hasExt ? (void*)entry_vkImportFenceWin32HandleKHR : nullptr;
5795 }
5796 if (!strcmp(name, "vkGetFenceWin32HandleKHR"))
5797 {
5798 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_fence_win32");
5799 return hasExt ? (void*)entry_vkGetFenceWin32HandleKHR : nullptr;
5800 }
5801#endif
5802#ifdef VK_KHR_external_fence_fd
5803 if (!strcmp(name, "vkImportFenceFdKHR"))
5804 {
5805 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_fence_fd");
5806 return hasExt ? (void*)entry_vkImportFenceFdKHR : nullptr;
5807 }
5808 if (!strcmp(name, "vkGetFenceFdKHR"))
5809 {
5810 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_external_fence_fd");
5811 return hasExt ? (void*)entry_vkGetFenceFdKHR : nullptr;
5812 }
5813#endif
5814#ifdef VK_KHR_get_surface_capabilities2
5815 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
5816 {
5817 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_surface_capabilities2");
5818 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR : nullptr;
5819 }
5820 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormats2KHR"))
5821 {
5822 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_surface_capabilities2");
5823 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormats2KHR : nullptr;
5824 }
5825#endif
5826#ifdef VK_KHR_get_display_properties2
5827 if (!strcmp(name, "vkGetPhysicalDeviceDisplayProperties2KHR"))
5828 {
5829 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
5830 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayProperties2KHR : nullptr;
5831 }
5832 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
5833 {
5834 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
5835 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR : nullptr;
5836 }
5837 if (!strcmp(name, "vkGetDisplayModeProperties2KHR"))
5838 {
5839 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
5840 return hasExt ? (void*)entry_vkGetDisplayModeProperties2KHR : nullptr;
5841 }
5842 if (!strcmp(name, "vkGetDisplayPlaneCapabilities2KHR"))
5843 {
5844 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_display_properties2");
5845 return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilities2KHR : nullptr;
5846 }
5847#endif
5848#ifdef VK_KHR_get_memory_requirements2
5849 if (!strcmp(name, "vkGetImageMemoryRequirements2KHR"))
5850 {
5851 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_memory_requirements2");
5852 return hasExt ? (void*)entry_vkGetImageMemoryRequirements2KHR : nullptr;
5853 }
5854 if (!strcmp(name, "vkGetBufferMemoryRequirements2KHR"))
5855 {
5856 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_memory_requirements2");
5857 return hasExt ? (void*)entry_vkGetBufferMemoryRequirements2KHR : nullptr;
5858 }
5859 if (!strcmp(name, "vkGetImageSparseMemoryRequirements2KHR"))
5860 {
5861 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_get_memory_requirements2");
5862 return hasExt ? (void*)entry_vkGetImageSparseMemoryRequirements2KHR : nullptr;
5863 }
5864#endif
5865#ifdef VK_KHR_sampler_ycbcr_conversion
5866 if (!strcmp(name, "vkCreateSamplerYcbcrConversionKHR"))
5867 {
5868 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_sampler_ycbcr_conversion");
5869 return hasExt ? (void*)entry_vkCreateSamplerYcbcrConversionKHR : nullptr;
5870 }
5871 if (!strcmp(name, "vkDestroySamplerYcbcrConversionKHR"))
5872 {
5873 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_sampler_ycbcr_conversion");
5874 return hasExt ? (void*)entry_vkDestroySamplerYcbcrConversionKHR : nullptr;
5875 }
5876#endif
5877#ifdef VK_KHR_bind_memory2
5878 if (!strcmp(name, "vkBindBufferMemory2KHR"))
5879 {
5880 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_bind_memory2");
5881 return hasExt ? (void*)entry_vkBindBufferMemory2KHR : nullptr;
5882 }
5883 if (!strcmp(name, "vkBindImageMemory2KHR"))
5884 {
5885 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_bind_memory2");
5886 return hasExt ? (void*)entry_vkBindImageMemory2KHR : nullptr;
5887 }
5888#endif
5889#ifdef VK_KHR_maintenance3
5890 if (!strcmp(name, "vkGetDescriptorSetLayoutSupportKHR"))
5891 {
5892 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_maintenance3");
5893 return hasExt ? (void*)entry_vkGetDescriptorSetLayoutSupportKHR : nullptr;
5894 }
5895#endif
5896#ifdef VK_KHR_draw_indirect_count
5897 if (!strcmp(name, "vkCmdDrawIndirectCountKHR"))
5898 {
5899 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_draw_indirect_count");
5900 return hasExt ? (void*)entry_vkCmdDrawIndirectCountKHR : nullptr;
5901 }
5902 if (!strcmp(name, "vkCmdDrawIndexedIndirectCountKHR"))
5903 {
5904 bool hasExt = resources->hasInstanceExtension(instance, "VK_KHR_draw_indirect_count");
5905 return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountKHR : nullptr;
5906 }
5907#endif
5908#ifdef VK_ANDROID_native_buffer
5909 if (!strcmp(name, "vkGetSwapchainGrallocUsageANDROID"))
5910 {
5911 bool hasExt = resources->hasInstanceExtension(instance, "VK_ANDROID_native_buffer");
5912 return hasExt ? (void*)entry_vkGetSwapchainGrallocUsageANDROID : nullptr;
5913 }
5914 if (!strcmp(name, "vkAcquireImageANDROID"))
5915 {
5916 bool hasExt = resources->hasInstanceExtension(instance, "VK_ANDROID_native_buffer");
5917 return hasExt ? (void*)entry_vkAcquireImageANDROID : nullptr;
5918 }
5919 if (!strcmp(name, "vkQueueSignalReleaseImageANDROID"))
5920 {
5921 bool hasExt = resources->hasInstanceExtension(instance, "VK_ANDROID_native_buffer");
5922 return hasExt ? (void*)entry_vkQueueSignalReleaseImageANDROID : nullptr;
5923 }
5924#endif
5925#ifdef VK_EXT_debug_report
5926 if (!strcmp(name, "vkCreateDebugReportCallbackEXT"))
5927 {
5928 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_report");
5929 return hasExt ? (void*)entry_vkCreateDebugReportCallbackEXT : nullptr;
5930 }
5931 if (!strcmp(name, "vkDestroyDebugReportCallbackEXT"))
5932 {
5933 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_report");
5934 return hasExt ? (void*)entry_vkDestroyDebugReportCallbackEXT : nullptr;
5935 }
5936 if (!strcmp(name, "vkDebugReportMessageEXT"))
5937 {
5938 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_report");
5939 return hasExt ? (void*)entry_vkDebugReportMessageEXT : nullptr;
5940 }
5941#endif
5942#ifdef VK_EXT_debug_marker
5943 if (!strcmp(name, "vkDebugMarkerSetObjectTagEXT"))
5944 {
5945 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
5946 return hasExt ? (void*)entry_vkDebugMarkerSetObjectTagEXT : nullptr;
5947 }
5948 if (!strcmp(name, "vkDebugMarkerSetObjectNameEXT"))
5949 {
5950 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
5951 return hasExt ? (void*)entry_vkDebugMarkerSetObjectNameEXT : nullptr;
5952 }
5953 if (!strcmp(name, "vkCmdDebugMarkerBeginEXT"))
5954 {
5955 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
5956 return hasExt ? (void*)entry_vkCmdDebugMarkerBeginEXT : nullptr;
5957 }
5958 if (!strcmp(name, "vkCmdDebugMarkerEndEXT"))
5959 {
5960 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
5961 return hasExt ? (void*)entry_vkCmdDebugMarkerEndEXT : nullptr;
5962 }
5963 if (!strcmp(name, "vkCmdDebugMarkerInsertEXT"))
5964 {
5965 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_marker");
5966 return hasExt ? (void*)entry_vkCmdDebugMarkerInsertEXT : nullptr;
5967 }
5968#endif
5969#ifdef VK_AMD_draw_indirect_count
5970 if (!strcmp(name, "vkCmdDrawIndirectCountAMD"))
5971 {
5972 bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_draw_indirect_count");
5973 return hasExt ? (void*)entry_vkCmdDrawIndirectCountAMD : nullptr;
5974 }
5975 if (!strcmp(name, "vkCmdDrawIndexedIndirectCountAMD"))
5976 {
5977 bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_draw_indirect_count");
5978 return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountAMD : nullptr;
5979 }
5980#endif
5981#ifdef VK_AMD_shader_info
5982 if (!strcmp(name, "vkGetShaderInfoAMD"))
5983 {
5984 bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_shader_info");
5985 return hasExt ? (void*)entry_vkGetShaderInfoAMD : nullptr;
5986 }
5987#endif
5988#ifdef VK_NV_external_memory_capabilities
5989 if (!strcmp(name, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
5990 {
5991 bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_external_memory_capabilities");
5992 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalImageFormatPropertiesNV : nullptr;
5993 }
5994#endif
5995#ifdef VK_NV_external_memory_win32
5996 if (!strcmp(name, "vkGetMemoryWin32HandleNV"))
5997 {
5998 bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_external_memory_win32");
5999 return hasExt ? (void*)entry_vkGetMemoryWin32HandleNV : nullptr;
6000 }
6001#endif
6002#ifdef VK_NN_vi_surface
6003 if (!strcmp(name, "vkCreateViSurfaceNN"))
6004 {
6005 bool hasExt = resources->hasInstanceExtension(instance, "VK_NN_vi_surface");
6006 return hasExt ? (void*)entry_vkCreateViSurfaceNN : nullptr;
6007 }
6008#endif
6009#ifdef VK_EXT_conditional_rendering
6010 if (!strcmp(name, "vkCmdBeginConditionalRenderingEXT"))
6011 {
6012 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_conditional_rendering");
6013 return hasExt ? (void*)entry_vkCmdBeginConditionalRenderingEXT : nullptr;
6014 }
6015 if (!strcmp(name, "vkCmdEndConditionalRenderingEXT"))
6016 {
6017 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_conditional_rendering");
6018 return hasExt ? (void*)entry_vkCmdEndConditionalRenderingEXT : nullptr;
6019 }
6020#endif
6021#ifdef VK_NVX_device_generated_commands
6022 if (!strcmp(name, "vkCmdProcessCommandsNVX"))
6023 {
6024 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6025 return hasExt ? (void*)entry_vkCmdProcessCommandsNVX : nullptr;
6026 }
6027 if (!strcmp(name, "vkCmdReserveSpaceForCommandsNVX"))
6028 {
6029 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6030 return hasExt ? (void*)entry_vkCmdReserveSpaceForCommandsNVX : nullptr;
6031 }
6032 if (!strcmp(name, "vkCreateIndirectCommandsLayoutNVX"))
6033 {
6034 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6035 return hasExt ? (void*)entry_vkCreateIndirectCommandsLayoutNVX : nullptr;
6036 }
6037 if (!strcmp(name, "vkDestroyIndirectCommandsLayoutNVX"))
6038 {
6039 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6040 return hasExt ? (void*)entry_vkDestroyIndirectCommandsLayoutNVX : nullptr;
6041 }
6042 if (!strcmp(name, "vkCreateObjectTableNVX"))
6043 {
6044 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6045 return hasExt ? (void*)entry_vkCreateObjectTableNVX : nullptr;
6046 }
6047 if (!strcmp(name, "vkDestroyObjectTableNVX"))
6048 {
6049 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6050 return hasExt ? (void*)entry_vkDestroyObjectTableNVX : nullptr;
6051 }
6052 if (!strcmp(name, "vkRegisterObjectsNVX"))
6053 {
6054 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6055 return hasExt ? (void*)entry_vkRegisterObjectsNVX : nullptr;
6056 }
6057 if (!strcmp(name, "vkUnregisterObjectsNVX"))
6058 {
6059 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6060 return hasExt ? (void*)entry_vkUnregisterObjectsNVX : nullptr;
6061 }
6062 if (!strcmp(name, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
6063 {
6064 bool hasExt = resources->hasInstanceExtension(instance, "VK_NVX_device_generated_commands");
6065 return hasExt ? (void*)entry_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX : nullptr;
6066 }
6067#endif
6068#ifdef VK_NV_clip_space_w_scaling
6069 if (!strcmp(name, "vkCmdSetViewportWScalingNV"))
6070 {
6071 bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_clip_space_w_scaling");
6072 return hasExt ? (void*)entry_vkCmdSetViewportWScalingNV : nullptr;
6073 }
6074#endif
6075#ifdef VK_EXT_direct_mode_display
6076 if (!strcmp(name, "vkReleaseDisplayEXT"))
6077 {
6078 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_direct_mode_display");
6079 return hasExt ? (void*)entry_vkReleaseDisplayEXT : nullptr;
6080 }
6081#endif
6082#ifdef VK_EXT_acquire_xlib_display
6083 if (!strcmp(name, "vkAcquireXlibDisplayEXT"))
6084 {
6085 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_acquire_xlib_display");
6086 return hasExt ? (void*)entry_vkAcquireXlibDisplayEXT : nullptr;
6087 }
6088 if (!strcmp(name, "vkGetRandROutputDisplayEXT"))
6089 {
6090 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_acquire_xlib_display");
6091 return hasExt ? (void*)entry_vkGetRandROutputDisplayEXT : nullptr;
6092 }
6093#endif
6094#ifdef VK_EXT_display_surface_counter
6095 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
6096 {
6097 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_display_surface_counter");
6098 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2EXT : nullptr;
6099 }
6100#endif
6101#ifdef VK_EXT_display_control
6102 if (!strcmp(name, "vkDisplayPowerControlEXT"))
6103 {
6104 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_display_control");
6105 return hasExt ? (void*)entry_vkDisplayPowerControlEXT : nullptr;
6106 }
6107 if (!strcmp(name, "vkRegisterDeviceEventEXT"))
6108 {
6109 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_display_control");
6110 return hasExt ? (void*)entry_vkRegisterDeviceEventEXT : nullptr;
6111 }
6112 if (!strcmp(name, "vkRegisterDisplayEventEXT"))
6113 {
6114 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_display_control");
6115 return hasExt ? (void*)entry_vkRegisterDisplayEventEXT : nullptr;
6116 }
6117 if (!strcmp(name, "vkGetSwapchainCounterEXT"))
6118 {
6119 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_display_control");
6120 return hasExt ? (void*)entry_vkGetSwapchainCounterEXT : nullptr;
6121 }
6122#endif
6123#ifdef VK_GOOGLE_display_timing
6124 if (!strcmp(name, "vkGetRefreshCycleDurationGOOGLE"))
6125 {
6126 bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_display_timing");
6127 return hasExt ? (void*)entry_vkGetRefreshCycleDurationGOOGLE : nullptr;
6128 }
6129 if (!strcmp(name, "vkGetPastPresentationTimingGOOGLE"))
6130 {
6131 bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_display_timing");
6132 return hasExt ? (void*)entry_vkGetPastPresentationTimingGOOGLE : nullptr;
6133 }
6134#endif
6135#ifdef VK_EXT_discard_rectangles
6136 if (!strcmp(name, "vkCmdSetDiscardRectangleEXT"))
6137 {
6138 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_discard_rectangles");
6139 return hasExt ? (void*)entry_vkCmdSetDiscardRectangleEXT : nullptr;
6140 }
6141#endif
6142#ifdef VK_EXT_hdr_metadata
6143 if (!strcmp(name, "vkSetHdrMetadataEXT"))
6144 {
6145 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_hdr_metadata");
6146 return hasExt ? (void*)entry_vkSetHdrMetadataEXT : nullptr;
6147 }
6148#endif
6149#ifdef VK_MVK_ios_surface
6150 if (!strcmp(name, "vkCreateIOSSurfaceMVK"))
6151 {
6152 bool hasExt = resources->hasInstanceExtension(instance, "VK_MVK_ios_surface");
6153 return hasExt ? (void*)entry_vkCreateIOSSurfaceMVK : nullptr;
6154 }
6155#endif
6156#ifdef VK_MVK_macos_surface
6157 if (!strcmp(name, "vkCreateMacOSSurfaceMVK"))
6158 {
6159 bool hasExt = resources->hasInstanceExtension(instance, "VK_MVK_macos_surface");
6160 return hasExt ? (void*)entry_vkCreateMacOSSurfaceMVK : nullptr;
6161 }
6162#endif
6163#ifdef VK_EXT_debug_utils
6164 if (!strcmp(name, "vkSetDebugUtilsObjectNameEXT"))
6165 {
6166 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6167 return hasExt ? (void*)entry_vkSetDebugUtilsObjectNameEXT : nullptr;
6168 }
6169 if (!strcmp(name, "vkSetDebugUtilsObjectTagEXT"))
6170 {
6171 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6172 return hasExt ? (void*)entry_vkSetDebugUtilsObjectTagEXT : nullptr;
6173 }
6174 if (!strcmp(name, "vkQueueBeginDebugUtilsLabelEXT"))
6175 {
6176 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6177 return hasExt ? (void*)entry_vkQueueBeginDebugUtilsLabelEXT : nullptr;
6178 }
6179 if (!strcmp(name, "vkQueueEndDebugUtilsLabelEXT"))
6180 {
6181 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6182 return hasExt ? (void*)entry_vkQueueEndDebugUtilsLabelEXT : nullptr;
6183 }
6184 if (!strcmp(name, "vkQueueInsertDebugUtilsLabelEXT"))
6185 {
6186 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6187 return hasExt ? (void*)entry_vkQueueInsertDebugUtilsLabelEXT : nullptr;
6188 }
6189 if (!strcmp(name, "vkCmdBeginDebugUtilsLabelEXT"))
6190 {
6191 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6192 return hasExt ? (void*)entry_vkCmdBeginDebugUtilsLabelEXT : nullptr;
6193 }
6194 if (!strcmp(name, "vkCmdEndDebugUtilsLabelEXT"))
6195 {
6196 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6197 return hasExt ? (void*)entry_vkCmdEndDebugUtilsLabelEXT : nullptr;
6198 }
6199 if (!strcmp(name, "vkCmdInsertDebugUtilsLabelEXT"))
6200 {
6201 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6202 return hasExt ? (void*)entry_vkCmdInsertDebugUtilsLabelEXT : nullptr;
6203 }
6204 if (!strcmp(name, "vkCreateDebugUtilsMessengerEXT"))
6205 {
6206 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6207 return hasExt ? (void*)entry_vkCreateDebugUtilsMessengerEXT : nullptr;
6208 }
6209 if (!strcmp(name, "vkDestroyDebugUtilsMessengerEXT"))
6210 {
6211 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6212 return hasExt ? (void*)entry_vkDestroyDebugUtilsMessengerEXT : nullptr;
6213 }
6214 if (!strcmp(name, "vkSubmitDebugUtilsMessageEXT"))
6215 {
6216 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_debug_utils");
6217 return hasExt ? (void*)entry_vkSubmitDebugUtilsMessageEXT : nullptr;
6218 }
6219#endif
6220#ifdef VK_ANDROID_external_memory_android_hardware_buffer
6221 if (!strcmp(name, "vkGetAndroidHardwareBufferPropertiesANDROID"))
6222 {
6223 bool hasExt = resources->hasInstanceExtension(instance, "VK_ANDROID_external_memory_android_hardware_buffer");
6224 return hasExt ? (void*)entry_vkGetAndroidHardwareBufferPropertiesANDROID : nullptr;
6225 }
6226 if (!strcmp(name, "vkGetMemoryAndroidHardwareBufferANDROID"))
6227 {
6228 bool hasExt = resources->hasInstanceExtension(instance, "VK_ANDROID_external_memory_android_hardware_buffer");
6229 return hasExt ? (void*)entry_vkGetMemoryAndroidHardwareBufferANDROID : nullptr;
6230 }
6231#endif
6232#ifdef VK_EXT_sample_locations
6233 if (!strcmp(name, "vkCmdSetSampleLocationsEXT"))
6234 {
6235 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_sample_locations");
6236 return hasExt ? (void*)entry_vkCmdSetSampleLocationsEXT : nullptr;
6237 }
6238 if (!strcmp(name, "vkGetPhysicalDeviceMultisamplePropertiesEXT"))
6239 {
6240 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_sample_locations");
6241 return hasExt ? (void*)entry_vkGetPhysicalDeviceMultisamplePropertiesEXT : nullptr;
6242 }
6243#endif
6244#ifdef VK_EXT_validation_cache
6245 if (!strcmp(name, "vkCreateValidationCacheEXT"))
6246 {
6247 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_validation_cache");
6248 return hasExt ? (void*)entry_vkCreateValidationCacheEXT : nullptr;
6249 }
6250 if (!strcmp(name, "vkDestroyValidationCacheEXT"))
6251 {
6252 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_validation_cache");
6253 return hasExt ? (void*)entry_vkDestroyValidationCacheEXT : nullptr;
6254 }
6255 if (!strcmp(name, "vkMergeValidationCachesEXT"))
6256 {
6257 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_validation_cache");
6258 return hasExt ? (void*)entry_vkMergeValidationCachesEXT : nullptr;
6259 }
6260 if (!strcmp(name, "vkGetValidationCacheDataEXT"))
6261 {
6262 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_validation_cache");
6263 return hasExt ? (void*)entry_vkGetValidationCacheDataEXT : nullptr;
6264 }
6265#endif
6266#ifdef VK_EXT_external_memory_host
6267 if (!strcmp(name, "vkGetMemoryHostPointerPropertiesEXT"))
6268 {
6269 bool hasExt = resources->hasInstanceExtension(instance, "VK_EXT_external_memory_host");
6270 return hasExt ? (void*)entry_vkGetMemoryHostPointerPropertiesEXT : nullptr;
6271 }
6272#endif
6273#ifdef VK_AMD_buffer_marker
6274 if (!strcmp(name, "vkCmdWriteBufferMarkerAMD"))
6275 {
6276 bool hasExt = resources->hasInstanceExtension(instance, "VK_AMD_buffer_marker");
6277 return hasExt ? (void*)entry_vkCmdWriteBufferMarkerAMD : nullptr;
6278 }
6279#endif
6280#ifdef VK_NV_device_diagnostic_checkpoints
6281 if (!strcmp(name, "vkCmdSetCheckpointNV"))
6282 {
6283 bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_device_diagnostic_checkpoints");
6284 return hasExt ? (void*)entry_vkCmdSetCheckpointNV : nullptr;
6285 }
6286 if (!strcmp(name, "vkGetQueueCheckpointDataNV"))
6287 {
6288 bool hasExt = resources->hasInstanceExtension(instance, "VK_NV_device_diagnostic_checkpoints");
6289 return hasExt ? (void*)entry_vkGetQueueCheckpointDataNV : nullptr;
6290 }
6291#endif
6292#ifdef VK_GOOGLE_address_space
6293 if (!strcmp(name, "vkMapMemoryIntoAddressSpaceGOOGLE"))
6294 {
6295 bool hasExt = resources->hasInstanceExtension(instance, "VK_GOOGLE_address_space");
6296 return hasExt ? (void*)entry_vkMapMemoryIntoAddressSpaceGOOGLE : nullptr;
6297 }
6298#endif
6299 return nullptr;
6300}
6301void* goldfish_vulkan_get_device_proc_address(VkDevice device, const char* name){
6302 auto resources = ResourceTracker::get();
6303 bool has1_1OrHigher = resources->getApiVersionFromDevice(device) >= VK_API_VERSION_1_1;
6304#ifdef VK_VERSION_1_0
6305 if (!strcmp(name, "vkCreateInstance"))
6306 {
6307 return (void*)entry_vkCreateInstance;
6308 }
6309 if (!strcmp(name, "vkDestroyInstance"))
6310 {
6311 return (void*)entry_vkDestroyInstance;
6312 }
6313 if (!strcmp(name, "vkEnumeratePhysicalDevices"))
6314 {
6315 return (void*)entry_vkEnumeratePhysicalDevices;
6316 }
6317 if (!strcmp(name, "vkGetPhysicalDeviceFeatures"))
6318 {
6319 return (void*)entry_vkGetPhysicalDeviceFeatures;
6320 }
6321 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties"))
6322 {
6323 return (void*)entry_vkGetPhysicalDeviceFormatProperties;
6324 }
6325 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties"))
6326 {
6327 return (void*)entry_vkGetPhysicalDeviceImageFormatProperties;
6328 }
6329 if (!strcmp(name, "vkGetPhysicalDeviceProperties"))
6330 {
6331 return (void*)entry_vkGetPhysicalDeviceProperties;
6332 }
6333 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties"))
6334 {
6335 return (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties;
6336 }
6337 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties"))
6338 {
6339 return (void*)entry_vkGetPhysicalDeviceMemoryProperties;
6340 }
6341 if (!strcmp(name, "vkGetInstanceProcAddr"))
6342 {
6343 return (void*)entry_vkGetInstanceProcAddr;
6344 }
6345 if (!strcmp(name, "vkGetDeviceProcAddr"))
6346 {
6347 return (void*)entry_vkGetDeviceProcAddr;
6348 }
6349 if (!strcmp(name, "vkCreateDevice"))
6350 {
6351 return (void*)entry_vkCreateDevice;
6352 }
6353 if (!strcmp(name, "vkDestroyDevice"))
6354 {
6355 return (void*)entry_vkDestroyDevice;
6356 }
6357 if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
6358 {
6359 return (void*)entry_vkEnumerateInstanceExtensionProperties;
6360 }
6361 if (!strcmp(name, "vkEnumerateDeviceExtensionProperties"))
6362 {
6363 return (void*)entry_vkEnumerateDeviceExtensionProperties;
6364 }
6365 if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
6366 {
6367 return (void*)entry_vkEnumerateInstanceLayerProperties;
6368 }
6369 if (!strcmp(name, "vkEnumerateDeviceLayerProperties"))
6370 {
6371 return (void*)entry_vkEnumerateDeviceLayerProperties;
6372 }
6373 if (!strcmp(name, "vkGetDeviceQueue"))
6374 {
6375 return (void*)entry_vkGetDeviceQueue;
6376 }
6377 if (!strcmp(name, "vkQueueSubmit"))
6378 {
6379 return (void*)entry_vkQueueSubmit;
6380 }
6381 if (!strcmp(name, "vkQueueWaitIdle"))
6382 {
6383 return (void*)entry_vkQueueWaitIdle;
6384 }
6385 if (!strcmp(name, "vkDeviceWaitIdle"))
6386 {
6387 return (void*)entry_vkDeviceWaitIdle;
6388 }
6389 if (!strcmp(name, "vkAllocateMemory"))
6390 {
6391 return (void*)entry_vkAllocateMemory;
6392 }
6393 if (!strcmp(name, "vkFreeMemory"))
6394 {
6395 return (void*)entry_vkFreeMemory;
6396 }
6397 if (!strcmp(name, "vkMapMemory"))
6398 {
6399 return (void*)entry_vkMapMemory;
6400 }
6401 if (!strcmp(name, "vkUnmapMemory"))
6402 {
6403 return (void*)entry_vkUnmapMemory;
6404 }
6405 if (!strcmp(name, "vkFlushMappedMemoryRanges"))
6406 {
6407 return (void*)entry_vkFlushMappedMemoryRanges;
6408 }
6409 if (!strcmp(name, "vkInvalidateMappedMemoryRanges"))
6410 {
6411 return (void*)entry_vkInvalidateMappedMemoryRanges;
6412 }
6413 if (!strcmp(name, "vkGetDeviceMemoryCommitment"))
6414 {
6415 return (void*)entry_vkGetDeviceMemoryCommitment;
6416 }
6417 if (!strcmp(name, "vkBindBufferMemory"))
6418 {
6419 return (void*)entry_vkBindBufferMemory;
6420 }
6421 if (!strcmp(name, "vkBindImageMemory"))
6422 {
6423 return (void*)entry_vkBindImageMemory;
6424 }
6425 if (!strcmp(name, "vkGetBufferMemoryRequirements"))
6426 {
6427 return (void*)entry_vkGetBufferMemoryRequirements;
6428 }
6429 if (!strcmp(name, "vkGetImageMemoryRequirements"))
6430 {
6431 return (void*)entry_vkGetImageMemoryRequirements;
6432 }
6433 if (!strcmp(name, "vkGetImageSparseMemoryRequirements"))
6434 {
6435 return (void*)entry_vkGetImageSparseMemoryRequirements;
6436 }
6437 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties"))
6438 {
6439 return (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties;
6440 }
6441 if (!strcmp(name, "vkQueueBindSparse"))
6442 {
6443 return (void*)entry_vkQueueBindSparse;
6444 }
6445 if (!strcmp(name, "vkCreateFence"))
6446 {
6447 return (void*)entry_vkCreateFence;
6448 }
6449 if (!strcmp(name, "vkDestroyFence"))
6450 {
6451 return (void*)entry_vkDestroyFence;
6452 }
6453 if (!strcmp(name, "vkResetFences"))
6454 {
6455 return (void*)entry_vkResetFences;
6456 }
6457 if (!strcmp(name, "vkGetFenceStatus"))
6458 {
6459 return (void*)entry_vkGetFenceStatus;
6460 }
6461 if (!strcmp(name, "vkWaitForFences"))
6462 {
6463 return (void*)entry_vkWaitForFences;
6464 }
6465 if (!strcmp(name, "vkCreateSemaphore"))
6466 {
6467 return (void*)entry_vkCreateSemaphore;
6468 }
6469 if (!strcmp(name, "vkDestroySemaphore"))
6470 {
6471 return (void*)entry_vkDestroySemaphore;
6472 }
6473 if (!strcmp(name, "vkCreateEvent"))
6474 {
6475 return (void*)entry_vkCreateEvent;
6476 }
6477 if (!strcmp(name, "vkDestroyEvent"))
6478 {
6479 return (void*)entry_vkDestroyEvent;
6480 }
6481 if (!strcmp(name, "vkGetEventStatus"))
6482 {
6483 return (void*)entry_vkGetEventStatus;
6484 }
6485 if (!strcmp(name, "vkSetEvent"))
6486 {
6487 return (void*)entry_vkSetEvent;
6488 }
6489 if (!strcmp(name, "vkResetEvent"))
6490 {
6491 return (void*)entry_vkResetEvent;
6492 }
6493 if (!strcmp(name, "vkCreateQueryPool"))
6494 {
6495 return (void*)entry_vkCreateQueryPool;
6496 }
6497 if (!strcmp(name, "vkDestroyQueryPool"))
6498 {
6499 return (void*)entry_vkDestroyQueryPool;
6500 }
6501 if (!strcmp(name, "vkGetQueryPoolResults"))
6502 {
6503 return (void*)entry_vkGetQueryPoolResults;
6504 }
6505 if (!strcmp(name, "vkCreateBuffer"))
6506 {
6507 return (void*)entry_vkCreateBuffer;
6508 }
6509 if (!strcmp(name, "vkDestroyBuffer"))
6510 {
6511 return (void*)entry_vkDestroyBuffer;
6512 }
6513 if (!strcmp(name, "vkCreateBufferView"))
6514 {
6515 return (void*)entry_vkCreateBufferView;
6516 }
6517 if (!strcmp(name, "vkDestroyBufferView"))
6518 {
6519 return (void*)entry_vkDestroyBufferView;
6520 }
6521 if (!strcmp(name, "vkCreateImage"))
6522 {
6523 return (void*)entry_vkCreateImage;
6524 }
6525 if (!strcmp(name, "vkDestroyImage"))
6526 {
6527 return (void*)entry_vkDestroyImage;
6528 }
6529 if (!strcmp(name, "vkGetImageSubresourceLayout"))
6530 {
6531 return (void*)entry_vkGetImageSubresourceLayout;
6532 }
6533 if (!strcmp(name, "vkCreateImageView"))
6534 {
6535 return (void*)entry_vkCreateImageView;
6536 }
6537 if (!strcmp(name, "vkDestroyImageView"))
6538 {
6539 return (void*)entry_vkDestroyImageView;
6540 }
6541 if (!strcmp(name, "vkCreateShaderModule"))
6542 {
6543 return (void*)entry_vkCreateShaderModule;
6544 }
6545 if (!strcmp(name, "vkDestroyShaderModule"))
6546 {
6547 return (void*)entry_vkDestroyShaderModule;
6548 }
6549 if (!strcmp(name, "vkCreatePipelineCache"))
6550 {
6551 return (void*)entry_vkCreatePipelineCache;
6552 }
6553 if (!strcmp(name, "vkDestroyPipelineCache"))
6554 {
6555 return (void*)entry_vkDestroyPipelineCache;
6556 }
6557 if (!strcmp(name, "vkGetPipelineCacheData"))
6558 {
6559 return (void*)entry_vkGetPipelineCacheData;
6560 }
6561 if (!strcmp(name, "vkMergePipelineCaches"))
6562 {
6563 return (void*)entry_vkMergePipelineCaches;
6564 }
6565 if (!strcmp(name, "vkCreateGraphicsPipelines"))
6566 {
6567 return (void*)entry_vkCreateGraphicsPipelines;
6568 }
6569 if (!strcmp(name, "vkCreateComputePipelines"))
6570 {
6571 return (void*)entry_vkCreateComputePipelines;
6572 }
6573 if (!strcmp(name, "vkDestroyPipeline"))
6574 {
6575 return (void*)entry_vkDestroyPipeline;
6576 }
6577 if (!strcmp(name, "vkCreatePipelineLayout"))
6578 {
6579 return (void*)entry_vkCreatePipelineLayout;
6580 }
6581 if (!strcmp(name, "vkDestroyPipelineLayout"))
6582 {
6583 return (void*)entry_vkDestroyPipelineLayout;
6584 }
6585 if (!strcmp(name, "vkCreateSampler"))
6586 {
6587 return (void*)entry_vkCreateSampler;
6588 }
6589 if (!strcmp(name, "vkDestroySampler"))
6590 {
6591 return (void*)entry_vkDestroySampler;
6592 }
6593 if (!strcmp(name, "vkCreateDescriptorSetLayout"))
6594 {
6595 return (void*)entry_vkCreateDescriptorSetLayout;
6596 }
6597 if (!strcmp(name, "vkDestroyDescriptorSetLayout"))
6598 {
6599 return (void*)entry_vkDestroyDescriptorSetLayout;
6600 }
6601 if (!strcmp(name, "vkCreateDescriptorPool"))
6602 {
6603 return (void*)entry_vkCreateDescriptorPool;
6604 }
6605 if (!strcmp(name, "vkDestroyDescriptorPool"))
6606 {
6607 return (void*)entry_vkDestroyDescriptorPool;
6608 }
6609 if (!strcmp(name, "vkResetDescriptorPool"))
6610 {
6611 return (void*)entry_vkResetDescriptorPool;
6612 }
6613 if (!strcmp(name, "vkAllocateDescriptorSets"))
6614 {
6615 return (void*)entry_vkAllocateDescriptorSets;
6616 }
6617 if (!strcmp(name, "vkFreeDescriptorSets"))
6618 {
6619 return (void*)entry_vkFreeDescriptorSets;
6620 }
6621 if (!strcmp(name, "vkUpdateDescriptorSets"))
6622 {
6623 return (void*)entry_vkUpdateDescriptorSets;
6624 }
6625 if (!strcmp(name, "vkCreateFramebuffer"))
6626 {
6627 return (void*)entry_vkCreateFramebuffer;
6628 }
6629 if (!strcmp(name, "vkDestroyFramebuffer"))
6630 {
6631 return (void*)entry_vkDestroyFramebuffer;
6632 }
6633 if (!strcmp(name, "vkCreateRenderPass"))
6634 {
6635 return (void*)entry_vkCreateRenderPass;
6636 }
6637 if (!strcmp(name, "vkDestroyRenderPass"))
6638 {
6639 return (void*)entry_vkDestroyRenderPass;
6640 }
6641 if (!strcmp(name, "vkGetRenderAreaGranularity"))
6642 {
6643 return (void*)entry_vkGetRenderAreaGranularity;
6644 }
6645 if (!strcmp(name, "vkCreateCommandPool"))
6646 {
6647 return (void*)entry_vkCreateCommandPool;
6648 }
6649 if (!strcmp(name, "vkDestroyCommandPool"))
6650 {
6651 return (void*)entry_vkDestroyCommandPool;
6652 }
6653 if (!strcmp(name, "vkResetCommandPool"))
6654 {
6655 return (void*)entry_vkResetCommandPool;
6656 }
6657 if (!strcmp(name, "vkAllocateCommandBuffers"))
6658 {
6659 return (void*)entry_vkAllocateCommandBuffers;
6660 }
6661 if (!strcmp(name, "vkFreeCommandBuffers"))
6662 {
6663 return (void*)entry_vkFreeCommandBuffers;
6664 }
6665 if (!strcmp(name, "vkBeginCommandBuffer"))
6666 {
6667 return (void*)entry_vkBeginCommandBuffer;
6668 }
6669 if (!strcmp(name, "vkEndCommandBuffer"))
6670 {
6671 return (void*)entry_vkEndCommandBuffer;
6672 }
6673 if (!strcmp(name, "vkResetCommandBuffer"))
6674 {
6675 return (void*)entry_vkResetCommandBuffer;
6676 }
6677 if (!strcmp(name, "vkCmdBindPipeline"))
6678 {
6679 return (void*)entry_vkCmdBindPipeline;
6680 }
6681 if (!strcmp(name, "vkCmdSetViewport"))
6682 {
6683 return (void*)entry_vkCmdSetViewport;
6684 }
6685 if (!strcmp(name, "vkCmdSetScissor"))
6686 {
6687 return (void*)entry_vkCmdSetScissor;
6688 }
6689 if (!strcmp(name, "vkCmdSetLineWidth"))
6690 {
6691 return (void*)entry_vkCmdSetLineWidth;
6692 }
6693 if (!strcmp(name, "vkCmdSetDepthBias"))
6694 {
6695 return (void*)entry_vkCmdSetDepthBias;
6696 }
6697 if (!strcmp(name, "vkCmdSetBlendConstants"))
6698 {
6699 return (void*)entry_vkCmdSetBlendConstants;
6700 }
6701 if (!strcmp(name, "vkCmdSetDepthBounds"))
6702 {
6703 return (void*)entry_vkCmdSetDepthBounds;
6704 }
6705 if (!strcmp(name, "vkCmdSetStencilCompareMask"))
6706 {
6707 return (void*)entry_vkCmdSetStencilCompareMask;
6708 }
6709 if (!strcmp(name, "vkCmdSetStencilWriteMask"))
6710 {
6711 return (void*)entry_vkCmdSetStencilWriteMask;
6712 }
6713 if (!strcmp(name, "vkCmdSetStencilReference"))
6714 {
6715 return (void*)entry_vkCmdSetStencilReference;
6716 }
6717 if (!strcmp(name, "vkCmdBindDescriptorSets"))
6718 {
6719 return (void*)entry_vkCmdBindDescriptorSets;
6720 }
6721 if (!strcmp(name, "vkCmdBindIndexBuffer"))
6722 {
6723 return (void*)entry_vkCmdBindIndexBuffer;
6724 }
6725 if (!strcmp(name, "vkCmdBindVertexBuffers"))
6726 {
6727 return (void*)entry_vkCmdBindVertexBuffers;
6728 }
6729 if (!strcmp(name, "vkCmdDraw"))
6730 {
6731 return (void*)entry_vkCmdDraw;
6732 }
6733 if (!strcmp(name, "vkCmdDrawIndexed"))
6734 {
6735 return (void*)entry_vkCmdDrawIndexed;
6736 }
6737 if (!strcmp(name, "vkCmdDrawIndirect"))
6738 {
6739 return (void*)entry_vkCmdDrawIndirect;
6740 }
6741 if (!strcmp(name, "vkCmdDrawIndexedIndirect"))
6742 {
6743 return (void*)entry_vkCmdDrawIndexedIndirect;
6744 }
6745 if (!strcmp(name, "vkCmdDispatch"))
6746 {
6747 return (void*)entry_vkCmdDispatch;
6748 }
6749 if (!strcmp(name, "vkCmdDispatchIndirect"))
6750 {
6751 return (void*)entry_vkCmdDispatchIndirect;
6752 }
6753 if (!strcmp(name, "vkCmdCopyBuffer"))
6754 {
6755 return (void*)entry_vkCmdCopyBuffer;
6756 }
6757 if (!strcmp(name, "vkCmdCopyImage"))
6758 {
6759 return (void*)entry_vkCmdCopyImage;
6760 }
6761 if (!strcmp(name, "vkCmdBlitImage"))
6762 {
6763 return (void*)entry_vkCmdBlitImage;
6764 }
6765 if (!strcmp(name, "vkCmdCopyBufferToImage"))
6766 {
6767 return (void*)entry_vkCmdCopyBufferToImage;
6768 }
6769 if (!strcmp(name, "vkCmdCopyImageToBuffer"))
6770 {
6771 return (void*)entry_vkCmdCopyImageToBuffer;
6772 }
6773 if (!strcmp(name, "vkCmdUpdateBuffer"))
6774 {
6775 return (void*)entry_vkCmdUpdateBuffer;
6776 }
6777 if (!strcmp(name, "vkCmdFillBuffer"))
6778 {
6779 return (void*)entry_vkCmdFillBuffer;
6780 }
6781 if (!strcmp(name, "vkCmdClearColorImage"))
6782 {
6783 return (void*)entry_vkCmdClearColorImage;
6784 }
6785 if (!strcmp(name, "vkCmdClearDepthStencilImage"))
6786 {
6787 return (void*)entry_vkCmdClearDepthStencilImage;
6788 }
6789 if (!strcmp(name, "vkCmdClearAttachments"))
6790 {
6791 return (void*)entry_vkCmdClearAttachments;
6792 }
6793 if (!strcmp(name, "vkCmdResolveImage"))
6794 {
6795 return (void*)entry_vkCmdResolveImage;
6796 }
6797 if (!strcmp(name, "vkCmdSetEvent"))
6798 {
6799 return (void*)entry_vkCmdSetEvent;
6800 }
6801 if (!strcmp(name, "vkCmdResetEvent"))
6802 {
6803 return (void*)entry_vkCmdResetEvent;
6804 }
6805 if (!strcmp(name, "vkCmdWaitEvents"))
6806 {
6807 return (void*)entry_vkCmdWaitEvents;
6808 }
6809 if (!strcmp(name, "vkCmdPipelineBarrier"))
6810 {
6811 return (void*)entry_vkCmdPipelineBarrier;
6812 }
6813 if (!strcmp(name, "vkCmdBeginQuery"))
6814 {
6815 return (void*)entry_vkCmdBeginQuery;
6816 }
6817 if (!strcmp(name, "vkCmdEndQuery"))
6818 {
6819 return (void*)entry_vkCmdEndQuery;
6820 }
6821 if (!strcmp(name, "vkCmdResetQueryPool"))
6822 {
6823 return (void*)entry_vkCmdResetQueryPool;
6824 }
6825 if (!strcmp(name, "vkCmdWriteTimestamp"))
6826 {
6827 return (void*)entry_vkCmdWriteTimestamp;
6828 }
6829 if (!strcmp(name, "vkCmdCopyQueryPoolResults"))
6830 {
6831 return (void*)entry_vkCmdCopyQueryPoolResults;
6832 }
6833 if (!strcmp(name, "vkCmdPushConstants"))
6834 {
6835 return (void*)entry_vkCmdPushConstants;
6836 }
6837 if (!strcmp(name, "vkCmdBeginRenderPass"))
6838 {
6839 return (void*)entry_vkCmdBeginRenderPass;
6840 }
6841 if (!strcmp(name, "vkCmdNextSubpass"))
6842 {
6843 return (void*)entry_vkCmdNextSubpass;
6844 }
6845 if (!strcmp(name, "vkCmdEndRenderPass"))
6846 {
6847 return (void*)entry_vkCmdEndRenderPass;
6848 }
6849 if (!strcmp(name, "vkCmdExecuteCommands"))
6850 {
6851 return (void*)entry_vkCmdExecuteCommands;
6852 }
6853#endif
6854#ifdef VK_VERSION_1_1
6855 if (!strcmp(name, "vkEnumerateInstanceVersion"))
6856 {
6857 return has1_1OrHigher ? (void*)entry_vkEnumerateInstanceVersion : nullptr;
6858 }
6859 if (!strcmp(name, "vkBindBufferMemory2"))
6860 {
6861 return has1_1OrHigher ? (void*)entry_vkBindBufferMemory2 : nullptr;
6862 }
6863 if (!strcmp(name, "vkBindImageMemory2"))
6864 {
6865 return has1_1OrHigher ? (void*)entry_vkBindImageMemory2 : nullptr;
6866 }
6867 if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeatures"))
6868 {
6869 return has1_1OrHigher ? (void*)entry_vkGetDeviceGroupPeerMemoryFeatures : nullptr;
6870 }
6871 if (!strcmp(name, "vkCmdSetDeviceMask"))
6872 {
6873 return has1_1OrHigher ? (void*)entry_vkCmdSetDeviceMask : nullptr;
6874 }
6875 if (!strcmp(name, "vkCmdDispatchBase"))
6876 {
6877 return has1_1OrHigher ? (void*)entry_vkCmdDispatchBase : nullptr;
6878 }
6879 if (!strcmp(name, "vkEnumeratePhysicalDeviceGroups"))
6880 {
6881 return nullptr;
6882 }
6883 if (!strcmp(name, "vkGetImageMemoryRequirements2"))
6884 {
6885 return has1_1OrHigher ? (void*)entry_vkGetImageMemoryRequirements2 : nullptr;
6886 }
6887 if (!strcmp(name, "vkGetBufferMemoryRequirements2"))
6888 {
6889 return has1_1OrHigher ? (void*)entry_vkGetBufferMemoryRequirements2 : nullptr;
6890 }
6891 if (!strcmp(name, "vkGetImageSparseMemoryRequirements2"))
6892 {
6893 return has1_1OrHigher ? (void*)entry_vkGetImageSparseMemoryRequirements2 : nullptr;
6894 }
6895 if (!strcmp(name, "vkGetPhysicalDeviceFeatures2"))
6896 {
6897 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFeatures2 : nullptr;
6898 }
6899 if (!strcmp(name, "vkGetPhysicalDeviceProperties2"))
6900 {
6901 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceProperties2 : nullptr;
6902 }
6903 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2"))
6904 {
6905 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceFormatProperties2 : nullptr;
6906 }
6907 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2"))
6908 {
6909 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2 : nullptr;
6910 }
6911 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2"))
6912 {
6913 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2 : nullptr;
6914 }
6915 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2"))
6916 {
6917 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2 : nullptr;
6918 }
6919 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2"))
6920 {
6921 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2 : nullptr;
6922 }
6923 if (!strcmp(name, "vkTrimCommandPool"))
6924 {
6925 return has1_1OrHigher ? (void*)entry_vkTrimCommandPool : nullptr;
6926 }
6927 if (!strcmp(name, "vkGetDeviceQueue2"))
6928 {
6929 return has1_1OrHigher ? (void*)entry_vkGetDeviceQueue2 : nullptr;
6930 }
6931 if (!strcmp(name, "vkCreateSamplerYcbcrConversion"))
6932 {
6933 return has1_1OrHigher ? (void*)entry_vkCreateSamplerYcbcrConversion : nullptr;
6934 }
6935 if (!strcmp(name, "vkDestroySamplerYcbcrConversion"))
6936 {
6937 return has1_1OrHigher ? (void*)entry_vkDestroySamplerYcbcrConversion : nullptr;
6938 }
6939 if (!strcmp(name, "vkCreateDescriptorUpdateTemplate"))
6940 {
6941 return has1_1OrHigher ? (void*)entry_vkCreateDescriptorUpdateTemplate : nullptr;
6942 }
6943 if (!strcmp(name, "vkDestroyDescriptorUpdateTemplate"))
6944 {
6945 return has1_1OrHigher ? (void*)entry_vkDestroyDescriptorUpdateTemplate : nullptr;
6946 }
6947 if (!strcmp(name, "vkUpdateDescriptorSetWithTemplate"))
6948 {
6949 return has1_1OrHigher ? (void*)entry_vkUpdateDescriptorSetWithTemplate : nullptr;
6950 }
6951 if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferProperties"))
6952 {
6953 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalBufferProperties : nullptr;
6954 }
6955 if (!strcmp(name, "vkGetPhysicalDeviceExternalFenceProperties"))
6956 {
6957 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalFenceProperties : nullptr;
6958 }
6959 if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphoreProperties"))
6960 {
6961 return has1_1OrHigher ? (void*)entry_vkGetPhysicalDeviceExternalSemaphoreProperties : nullptr;
6962 }
6963 if (!strcmp(name, "vkGetDescriptorSetLayoutSupport"))
6964 {
6965 return has1_1OrHigher ? (void*)entry_vkGetDescriptorSetLayoutSupport : nullptr;
6966 }
6967#endif
6968#ifdef VK_KHR_surface
6969 if (!strcmp(name, "vkDestroySurfaceKHR"))
6970 {
6971 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
6972 return hasExt ? (void*)entry_vkDestroySurfaceKHR : nullptr;
6973 }
6974 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceSupportKHR"))
6975 {
6976 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
6977 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceSupportKHR : nullptr;
6978 }
6979 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"))
6980 {
6981 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
6982 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR : nullptr;
6983 }
6984 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormatsKHR"))
6985 {
6986 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
6987 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormatsKHR : nullptr;
6988 }
6989 if (!strcmp(name, "vkGetPhysicalDeviceSurfacePresentModesKHR"))
6990 {
6991 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_surface");
6992 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfacePresentModesKHR : nullptr;
6993 }
6994#endif
6995#ifdef VK_KHR_swapchain
6996 if (!strcmp(name, "vkCreateSwapchainKHR"))
6997 {
6998 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
6999 return hasExt ? (void*)entry_vkCreateSwapchainKHR : nullptr;
7000 }
7001 if (!strcmp(name, "vkDestroySwapchainKHR"))
7002 {
7003 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7004 return hasExt ? (void*)entry_vkDestroySwapchainKHR : nullptr;
7005 }
7006 if (!strcmp(name, "vkGetSwapchainImagesKHR"))
7007 {
7008 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7009 return hasExt ? (void*)entry_vkGetSwapchainImagesKHR : nullptr;
7010 }
7011 if (!strcmp(name, "vkAcquireNextImageKHR"))
7012 {
7013 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7014 return hasExt ? (void*)entry_vkAcquireNextImageKHR : nullptr;
7015 }
7016 if (!strcmp(name, "vkQueuePresentKHR"))
7017 {
7018 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7019 return hasExt ? (void*)entry_vkQueuePresentKHR : nullptr;
7020 }
7021 if (!strcmp(name, "vkGetDeviceGroupPresentCapabilitiesKHR"))
7022 {
7023 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7024 return hasExt ? (void*)entry_vkGetDeviceGroupPresentCapabilitiesKHR : nullptr;
7025 }
7026 if (!strcmp(name, "vkGetDeviceGroupSurfacePresentModesKHR"))
7027 {
7028 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7029 return hasExt ? (void*)entry_vkGetDeviceGroupSurfacePresentModesKHR : nullptr;
7030 }
7031 if (!strcmp(name, "vkGetPhysicalDevicePresentRectanglesKHR"))
7032 {
7033 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7034 return hasExt ? (void*)entry_vkGetPhysicalDevicePresentRectanglesKHR : nullptr;
7035 }
7036 if (!strcmp(name, "vkAcquireNextImage2KHR"))
7037 {
7038 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_swapchain");
7039 return hasExt ? (void*)entry_vkAcquireNextImage2KHR : nullptr;
7040 }
7041#endif
7042#ifdef VK_KHR_display
7043 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPropertiesKHR"))
7044 {
7045 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7046 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPropertiesKHR : nullptr;
7047 }
7048 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"))
7049 {
7050 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7051 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR : nullptr;
7052 }
7053 if (!strcmp(name, "vkGetDisplayPlaneSupportedDisplaysKHR"))
7054 {
7055 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7056 return hasExt ? (void*)entry_vkGetDisplayPlaneSupportedDisplaysKHR : nullptr;
7057 }
7058 if (!strcmp(name, "vkGetDisplayModePropertiesKHR"))
7059 {
7060 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7061 return hasExt ? (void*)entry_vkGetDisplayModePropertiesKHR : nullptr;
7062 }
7063 if (!strcmp(name, "vkCreateDisplayModeKHR"))
7064 {
7065 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7066 return hasExt ? (void*)entry_vkCreateDisplayModeKHR : nullptr;
7067 }
7068 if (!strcmp(name, "vkGetDisplayPlaneCapabilitiesKHR"))
7069 {
7070 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7071 return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilitiesKHR : nullptr;
7072 }
7073 if (!strcmp(name, "vkCreateDisplayPlaneSurfaceKHR"))
7074 {
7075 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display");
7076 return hasExt ? (void*)entry_vkCreateDisplayPlaneSurfaceKHR : nullptr;
7077 }
7078#endif
7079#ifdef VK_KHR_display_swapchain
7080 if (!strcmp(name, "vkCreateSharedSwapchainsKHR"))
7081 {
7082 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_display_swapchain");
7083 return hasExt ? (void*)entry_vkCreateSharedSwapchainsKHR : nullptr;
7084 }
7085#endif
7086#ifdef VK_KHR_xlib_surface
7087 if (!strcmp(name, "vkCreateXlibSurfaceKHR"))
7088 {
7089 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xlib_surface");
7090 return hasExt ? (void*)entry_vkCreateXlibSurfaceKHR : nullptr;
7091 }
7092 if (!strcmp(name, "vkGetPhysicalDeviceXlibPresentationSupportKHR"))
7093 {
7094 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xlib_surface");
7095 return hasExt ? (void*)entry_vkGetPhysicalDeviceXlibPresentationSupportKHR : nullptr;
7096 }
7097#endif
7098#ifdef VK_KHR_xcb_surface
7099 if (!strcmp(name, "vkCreateXcbSurfaceKHR"))
7100 {
7101 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xcb_surface");
7102 return hasExt ? (void*)entry_vkCreateXcbSurfaceKHR : nullptr;
7103 }
7104 if (!strcmp(name, "vkGetPhysicalDeviceXcbPresentationSupportKHR"))
7105 {
7106 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_xcb_surface");
7107 return hasExt ? (void*)entry_vkGetPhysicalDeviceXcbPresentationSupportKHR : nullptr;
7108 }
7109#endif
7110#ifdef VK_KHR_wayland_surface
7111 if (!strcmp(name, "vkCreateWaylandSurfaceKHR"))
7112 {
7113 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_wayland_surface");
7114 return hasExt ? (void*)entry_vkCreateWaylandSurfaceKHR : nullptr;
7115 }
7116 if (!strcmp(name, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"))
7117 {
7118 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_wayland_surface");
7119 return hasExt ? (void*)entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR : nullptr;
7120 }
7121#endif
7122#ifdef VK_KHR_mir_surface
7123 if (!strcmp(name, "vkCreateMirSurfaceKHR"))
7124 {
7125 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_mir_surface");
7126 return hasExt ? (void*)entry_vkCreateMirSurfaceKHR : nullptr;
7127 }
7128 if (!strcmp(name, "vkGetPhysicalDeviceMirPresentationSupportKHR"))
7129 {
7130 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_mir_surface");
7131 return hasExt ? (void*)entry_vkGetPhysicalDeviceMirPresentationSupportKHR : nullptr;
7132 }
7133#endif
7134#ifdef VK_KHR_android_surface
7135 if (!strcmp(name, "vkCreateAndroidSurfaceKHR"))
7136 {
7137 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_android_surface");
7138 return hasExt ? (void*)entry_vkCreateAndroidSurfaceKHR : nullptr;
7139 }
7140#endif
7141#ifdef VK_KHR_win32_surface
7142 if (!strcmp(name, "vkCreateWin32SurfaceKHR"))
7143 {
7144 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_win32_surface");
7145 return hasExt ? (void*)entry_vkCreateWin32SurfaceKHR : nullptr;
7146 }
7147 if (!strcmp(name, "vkGetPhysicalDeviceWin32PresentationSupportKHR"))
7148 {
7149 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_win32_surface");
7150 return hasExt ? (void*)entry_vkGetPhysicalDeviceWin32PresentationSupportKHR : nullptr;
7151 }
7152#endif
7153#ifdef VK_KHR_get_physical_device_properties2
7154 if (!strcmp(name, "vkGetPhysicalDeviceFeatures2KHR"))
7155 {
7156 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7157 return hasExt ? (void*)entry_vkGetPhysicalDeviceFeatures2KHR : nullptr;
7158 }
7159 if (!strcmp(name, "vkGetPhysicalDeviceProperties2KHR"))
7160 {
7161 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7162 return hasExt ? (void*)entry_vkGetPhysicalDeviceProperties2KHR : nullptr;
7163 }
7164 if (!strcmp(name, "vkGetPhysicalDeviceFormatProperties2KHR"))
7165 {
7166 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7167 return hasExt ? (void*)entry_vkGetPhysicalDeviceFormatProperties2KHR : nullptr;
7168 }
7169 if (!strcmp(name, "vkGetPhysicalDeviceImageFormatProperties2KHR"))
7170 {
7171 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7172 return hasExt ? (void*)entry_vkGetPhysicalDeviceImageFormatProperties2KHR : nullptr;
7173 }
7174 if (!strcmp(name, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"))
7175 {
7176 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7177 return hasExt ? (void*)entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR : nullptr;
7178 }
7179 if (!strcmp(name, "vkGetPhysicalDeviceMemoryProperties2KHR"))
7180 {
7181 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7182 return hasExt ? (void*)entry_vkGetPhysicalDeviceMemoryProperties2KHR : nullptr;
7183 }
7184 if (!strcmp(name, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"))
7185 {
7186 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_physical_device_properties2");
7187 return hasExt ? (void*)entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR : nullptr;
7188 }
7189#endif
7190#ifdef VK_KHR_device_group
7191 if (!strcmp(name, "vkGetDeviceGroupPeerMemoryFeaturesKHR"))
7192 {
7193 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group");
7194 return hasExt ? (void*)entry_vkGetDeviceGroupPeerMemoryFeaturesKHR : nullptr;
7195 }
7196 if (!strcmp(name, "vkCmdSetDeviceMaskKHR"))
7197 {
7198 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group");
7199 return hasExt ? (void*)entry_vkCmdSetDeviceMaskKHR : nullptr;
7200 }
7201 if (!strcmp(name, "vkCmdDispatchBaseKHR"))
7202 {
7203 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group");
7204 return hasExt ? (void*)entry_vkCmdDispatchBaseKHR : nullptr;
7205 }
7206#endif
7207#ifdef VK_KHR_maintenance1
7208 if (!strcmp(name, "vkTrimCommandPoolKHR"))
7209 {
7210 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_maintenance1");
7211 return hasExt ? (void*)entry_vkTrimCommandPoolKHR : nullptr;
7212 }
7213#endif
7214#ifdef VK_KHR_device_group_creation
7215 if (!strcmp(name, "vkEnumeratePhysicalDeviceGroupsKHR"))
7216 {
7217 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_device_group_creation");
7218 return hasExt ? (void*)entry_vkEnumeratePhysicalDeviceGroupsKHR : nullptr;
7219 }
7220#endif
7221#ifdef VK_KHR_external_memory_capabilities
7222 if (!strcmp(name, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"))
7223 {
7224 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_capabilities");
7225 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR : nullptr;
7226 }
7227#endif
7228#ifdef VK_KHR_external_memory_win32
7229 if (!strcmp(name, "vkGetMemoryWin32HandleKHR"))
7230 {
7231 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32");
7232 return hasExt ? (void*)entry_vkGetMemoryWin32HandleKHR : nullptr;
7233 }
7234 if (!strcmp(name, "vkGetMemoryWin32HandlePropertiesKHR"))
7235 {
7236 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32");
7237 return hasExt ? (void*)entry_vkGetMemoryWin32HandlePropertiesKHR : nullptr;
7238 }
7239#endif
7240#ifdef VK_KHR_external_memory_fd
7241 if (!strcmp(name, "vkGetMemoryFdKHR"))
7242 {
7243 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd");
7244 return hasExt ? (void*)entry_vkGetMemoryFdKHR : nullptr;
7245 }
7246 if (!strcmp(name, "vkGetMemoryFdPropertiesKHR"))
7247 {
7248 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd");
7249 return hasExt ? (void*)entry_vkGetMemoryFdPropertiesKHR : nullptr;
7250 }
7251#endif
7252#ifdef VK_KHR_external_semaphore_capabilities
7253 if (!strcmp(name, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"))
7254 {
7255 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_capabilities");
7256 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR : nullptr;
7257 }
7258#endif
7259#ifdef VK_KHR_external_semaphore_win32
7260 if (!strcmp(name, "vkImportSemaphoreWin32HandleKHR"))
7261 {
7262 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32");
7263 return hasExt ? (void*)entry_vkImportSemaphoreWin32HandleKHR : nullptr;
7264 }
7265 if (!strcmp(name, "vkGetSemaphoreWin32HandleKHR"))
7266 {
7267 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32");
7268 return hasExt ? (void*)entry_vkGetSemaphoreWin32HandleKHR : nullptr;
7269 }
7270#endif
7271#ifdef VK_KHR_external_semaphore_fd
7272 if (!strcmp(name, "vkImportSemaphoreFdKHR"))
7273 {
7274 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd");
7275 return hasExt ? (void*)entry_vkImportSemaphoreFdKHR : nullptr;
7276 }
7277 if (!strcmp(name, "vkGetSemaphoreFdKHR"))
7278 {
7279 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd");
7280 return hasExt ? (void*)entry_vkGetSemaphoreFdKHR : nullptr;
7281 }
7282#endif
7283#ifdef VK_KHR_push_descriptor
7284 if (!strcmp(name, "vkCmdPushDescriptorSetKHR"))
7285 {
7286 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_push_descriptor");
7287 return hasExt ? (void*)entry_vkCmdPushDescriptorSetKHR : nullptr;
7288 }
7289 if (!strcmp(name, "vkCmdPushDescriptorSetWithTemplateKHR"))
7290 {
7291 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_push_descriptor");
7292 return hasExt ? (void*)entry_vkCmdPushDescriptorSetWithTemplateKHR : nullptr;
7293 }
7294#endif
7295#ifdef VK_KHR_descriptor_update_template
7296 if (!strcmp(name, "vkCreateDescriptorUpdateTemplateKHR"))
7297 {
7298 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template");
7299 return hasExt ? (void*)entry_vkCreateDescriptorUpdateTemplateKHR : nullptr;
7300 }
7301 if (!strcmp(name, "vkDestroyDescriptorUpdateTemplateKHR"))
7302 {
7303 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template");
7304 return hasExt ? (void*)entry_vkDestroyDescriptorUpdateTemplateKHR : nullptr;
7305 }
7306 if (!strcmp(name, "vkUpdateDescriptorSetWithTemplateKHR"))
7307 {
7308 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template");
7309 return hasExt ? (void*)entry_vkUpdateDescriptorSetWithTemplateKHR : nullptr;
7310 }
7311#endif
7312#ifdef VK_KHR_create_renderpass2
7313 if (!strcmp(name, "vkCreateRenderPass2KHR"))
7314 {
7315 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
7316 return hasExt ? (void*)entry_vkCreateRenderPass2KHR : nullptr;
7317 }
7318 if (!strcmp(name, "vkCmdBeginRenderPass2KHR"))
7319 {
7320 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
7321 return hasExt ? (void*)entry_vkCmdBeginRenderPass2KHR : nullptr;
7322 }
7323 if (!strcmp(name, "vkCmdNextSubpass2KHR"))
7324 {
7325 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
7326 return hasExt ? (void*)entry_vkCmdNextSubpass2KHR : nullptr;
7327 }
7328 if (!strcmp(name, "vkCmdEndRenderPass2KHR"))
7329 {
7330 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2");
7331 return hasExt ? (void*)entry_vkCmdEndRenderPass2KHR : nullptr;
7332 }
7333#endif
7334#ifdef VK_KHR_shared_presentable_image
7335 if (!strcmp(name, "vkGetSwapchainStatusKHR"))
7336 {
7337 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_shared_presentable_image");
7338 return hasExt ? (void*)entry_vkGetSwapchainStatusKHR : nullptr;
7339 }
7340#endif
7341#ifdef VK_KHR_external_fence_capabilities
7342 if (!strcmp(name, "vkGetPhysicalDeviceExternalFencePropertiesKHR"))
7343 {
7344 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_capabilities");
7345 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalFencePropertiesKHR : nullptr;
7346 }
7347#endif
7348#ifdef VK_KHR_external_fence_win32
7349 if (!strcmp(name, "vkImportFenceWin32HandleKHR"))
7350 {
7351 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32");
7352 return hasExt ? (void*)entry_vkImportFenceWin32HandleKHR : nullptr;
7353 }
7354 if (!strcmp(name, "vkGetFenceWin32HandleKHR"))
7355 {
7356 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32");
7357 return hasExt ? (void*)entry_vkGetFenceWin32HandleKHR : nullptr;
7358 }
7359#endif
7360#ifdef VK_KHR_external_fence_fd
7361 if (!strcmp(name, "vkImportFenceFdKHR"))
7362 {
7363 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd");
7364 return hasExt ? (void*)entry_vkImportFenceFdKHR : nullptr;
7365 }
7366 if (!strcmp(name, "vkGetFenceFdKHR"))
7367 {
7368 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd");
7369 return hasExt ? (void*)entry_vkGetFenceFdKHR : nullptr;
7370 }
7371#endif
7372#ifdef VK_KHR_get_surface_capabilities2
7373 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"))
7374 {
7375 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_surface_capabilities2");
7376 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR : nullptr;
7377 }
7378 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceFormats2KHR"))
7379 {
7380 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_surface_capabilities2");
7381 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceFormats2KHR : nullptr;
7382 }
7383#endif
7384#ifdef VK_KHR_get_display_properties2
7385 if (!strcmp(name, "vkGetPhysicalDeviceDisplayProperties2KHR"))
7386 {
7387 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
7388 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayProperties2KHR : nullptr;
7389 }
7390 if (!strcmp(name, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"))
7391 {
7392 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
7393 return hasExt ? (void*)entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR : nullptr;
7394 }
7395 if (!strcmp(name, "vkGetDisplayModeProperties2KHR"))
7396 {
7397 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
7398 return hasExt ? (void*)entry_vkGetDisplayModeProperties2KHR : nullptr;
7399 }
7400 if (!strcmp(name, "vkGetDisplayPlaneCapabilities2KHR"))
7401 {
7402 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_display_properties2");
7403 return hasExt ? (void*)entry_vkGetDisplayPlaneCapabilities2KHR : nullptr;
7404 }
7405#endif
7406#ifdef VK_KHR_get_memory_requirements2
7407 if (!strcmp(name, "vkGetImageMemoryRequirements2KHR"))
7408 {
7409 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2");
7410 return hasExt ? (void*)entry_vkGetImageMemoryRequirements2KHR : nullptr;
7411 }
7412 if (!strcmp(name, "vkGetBufferMemoryRequirements2KHR"))
7413 {
7414 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2");
7415 return hasExt ? (void*)entry_vkGetBufferMemoryRequirements2KHR : nullptr;
7416 }
7417 if (!strcmp(name, "vkGetImageSparseMemoryRequirements2KHR"))
7418 {
7419 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_get_memory_requirements2");
7420 return hasExt ? (void*)entry_vkGetImageSparseMemoryRequirements2KHR : nullptr;
7421 }
7422#endif
7423#ifdef VK_KHR_sampler_ycbcr_conversion
7424 if (!strcmp(name, "vkCreateSamplerYcbcrConversionKHR"))
7425 {
7426 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_sampler_ycbcr_conversion");
7427 return hasExt ? (void*)entry_vkCreateSamplerYcbcrConversionKHR : nullptr;
7428 }
7429 if (!strcmp(name, "vkDestroySamplerYcbcrConversionKHR"))
7430 {
7431 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_sampler_ycbcr_conversion");
7432 return hasExt ? (void*)entry_vkDestroySamplerYcbcrConversionKHR : nullptr;
7433 }
7434#endif
7435#ifdef VK_KHR_bind_memory2
7436 if (!strcmp(name, "vkBindBufferMemory2KHR"))
7437 {
7438 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_bind_memory2");
7439 return hasExt ? (void*)entry_vkBindBufferMemory2KHR : nullptr;
7440 }
7441 if (!strcmp(name, "vkBindImageMemory2KHR"))
7442 {
7443 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_bind_memory2");
7444 return hasExt ? (void*)entry_vkBindImageMemory2KHR : nullptr;
7445 }
7446#endif
7447#ifdef VK_KHR_maintenance3
7448 if (!strcmp(name, "vkGetDescriptorSetLayoutSupportKHR"))
7449 {
7450 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_maintenance3");
7451 return hasExt ? (void*)entry_vkGetDescriptorSetLayoutSupportKHR : nullptr;
7452 }
7453#endif
7454#ifdef VK_KHR_draw_indirect_count
7455 if (!strcmp(name, "vkCmdDrawIndirectCountKHR"))
7456 {
7457 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_draw_indirect_count");
7458 return hasExt ? (void*)entry_vkCmdDrawIndirectCountKHR : nullptr;
7459 }
7460 if (!strcmp(name, "vkCmdDrawIndexedIndirectCountKHR"))
7461 {
7462 bool hasExt = resources->hasDeviceExtension(device, "VK_KHR_draw_indirect_count");
7463 return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountKHR : nullptr;
7464 }
7465#endif
7466#ifdef VK_ANDROID_native_buffer
7467 if (!strcmp(name, "vkGetSwapchainGrallocUsageANDROID"))
7468 {
7469 bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer");
7470 return hasExt ? (void*)entry_vkGetSwapchainGrallocUsageANDROID : nullptr;
7471 }
7472 if (!strcmp(name, "vkAcquireImageANDROID"))
7473 {
7474 bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer");
7475 return hasExt ? (void*)entry_vkAcquireImageANDROID : nullptr;
7476 }
7477 if (!strcmp(name, "vkQueueSignalReleaseImageANDROID"))
7478 {
7479 bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_native_buffer");
7480 return hasExt ? (void*)entry_vkQueueSignalReleaseImageANDROID : nullptr;
7481 }
7482#endif
7483#ifdef VK_EXT_debug_report
7484 if (!strcmp(name, "vkCreateDebugReportCallbackEXT"))
7485 {
7486 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_report");
7487 return hasExt ? (void*)entry_vkCreateDebugReportCallbackEXT : nullptr;
7488 }
7489 if (!strcmp(name, "vkDestroyDebugReportCallbackEXT"))
7490 {
7491 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_report");
7492 return hasExt ? (void*)entry_vkDestroyDebugReportCallbackEXT : nullptr;
7493 }
7494 if (!strcmp(name, "vkDebugReportMessageEXT"))
7495 {
7496 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_report");
7497 return hasExt ? (void*)entry_vkDebugReportMessageEXT : nullptr;
7498 }
7499#endif
7500#ifdef VK_EXT_debug_marker
7501 if (!strcmp(name, "vkDebugMarkerSetObjectTagEXT"))
7502 {
7503 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
7504 return hasExt ? (void*)entry_vkDebugMarkerSetObjectTagEXT : nullptr;
7505 }
7506 if (!strcmp(name, "vkDebugMarkerSetObjectNameEXT"))
7507 {
7508 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
7509 return hasExt ? (void*)entry_vkDebugMarkerSetObjectNameEXT : nullptr;
7510 }
7511 if (!strcmp(name, "vkCmdDebugMarkerBeginEXT"))
7512 {
7513 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
7514 return hasExt ? (void*)entry_vkCmdDebugMarkerBeginEXT : nullptr;
7515 }
7516 if (!strcmp(name, "vkCmdDebugMarkerEndEXT"))
7517 {
7518 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
7519 return hasExt ? (void*)entry_vkCmdDebugMarkerEndEXT : nullptr;
7520 }
7521 if (!strcmp(name, "vkCmdDebugMarkerInsertEXT"))
7522 {
7523 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_marker");
7524 return hasExt ? (void*)entry_vkCmdDebugMarkerInsertEXT : nullptr;
7525 }
7526#endif
7527#ifdef VK_AMD_draw_indirect_count
7528 if (!strcmp(name, "vkCmdDrawIndirectCountAMD"))
7529 {
7530 bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_draw_indirect_count");
7531 return hasExt ? (void*)entry_vkCmdDrawIndirectCountAMD : nullptr;
7532 }
7533 if (!strcmp(name, "vkCmdDrawIndexedIndirectCountAMD"))
7534 {
7535 bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_draw_indirect_count");
7536 return hasExt ? (void*)entry_vkCmdDrawIndexedIndirectCountAMD : nullptr;
7537 }
7538#endif
7539#ifdef VK_AMD_shader_info
7540 if (!strcmp(name, "vkGetShaderInfoAMD"))
7541 {
7542 bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_shader_info");
7543 return hasExt ? (void*)entry_vkGetShaderInfoAMD : nullptr;
7544 }
7545#endif
7546#ifdef VK_NV_external_memory_capabilities
7547 if (!strcmp(name, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"))
7548 {
7549 bool hasExt = resources->hasDeviceExtension(device, "VK_NV_external_memory_capabilities");
7550 return hasExt ? (void*)entry_vkGetPhysicalDeviceExternalImageFormatPropertiesNV : nullptr;
7551 }
7552#endif
7553#ifdef VK_NV_external_memory_win32
7554 if (!strcmp(name, "vkGetMemoryWin32HandleNV"))
7555 {
7556 bool hasExt = resources->hasDeviceExtension(device, "VK_NV_external_memory_win32");
7557 return hasExt ? (void*)entry_vkGetMemoryWin32HandleNV : nullptr;
7558 }
7559#endif
7560#ifdef VK_NN_vi_surface
7561 if (!strcmp(name, "vkCreateViSurfaceNN"))
7562 {
7563 bool hasExt = resources->hasDeviceExtension(device, "VK_NN_vi_surface");
7564 return hasExt ? (void*)entry_vkCreateViSurfaceNN : nullptr;
7565 }
7566#endif
7567#ifdef VK_EXT_conditional_rendering
7568 if (!strcmp(name, "vkCmdBeginConditionalRenderingEXT"))
7569 {
7570 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_conditional_rendering");
7571 return hasExt ? (void*)entry_vkCmdBeginConditionalRenderingEXT : nullptr;
7572 }
7573 if (!strcmp(name, "vkCmdEndConditionalRenderingEXT"))
7574 {
7575 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_conditional_rendering");
7576 return hasExt ? (void*)entry_vkCmdEndConditionalRenderingEXT : nullptr;
7577 }
7578#endif
7579#ifdef VK_NVX_device_generated_commands
7580 if (!strcmp(name, "vkCmdProcessCommandsNVX"))
7581 {
7582 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7583 return hasExt ? (void*)entry_vkCmdProcessCommandsNVX : nullptr;
7584 }
7585 if (!strcmp(name, "vkCmdReserveSpaceForCommandsNVX"))
7586 {
7587 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7588 return hasExt ? (void*)entry_vkCmdReserveSpaceForCommandsNVX : nullptr;
7589 }
7590 if (!strcmp(name, "vkCreateIndirectCommandsLayoutNVX"))
7591 {
7592 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7593 return hasExt ? (void*)entry_vkCreateIndirectCommandsLayoutNVX : nullptr;
7594 }
7595 if (!strcmp(name, "vkDestroyIndirectCommandsLayoutNVX"))
7596 {
7597 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7598 return hasExt ? (void*)entry_vkDestroyIndirectCommandsLayoutNVX : nullptr;
7599 }
7600 if (!strcmp(name, "vkCreateObjectTableNVX"))
7601 {
7602 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7603 return hasExt ? (void*)entry_vkCreateObjectTableNVX : nullptr;
7604 }
7605 if (!strcmp(name, "vkDestroyObjectTableNVX"))
7606 {
7607 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7608 return hasExt ? (void*)entry_vkDestroyObjectTableNVX : nullptr;
7609 }
7610 if (!strcmp(name, "vkRegisterObjectsNVX"))
7611 {
7612 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7613 return hasExt ? (void*)entry_vkRegisterObjectsNVX : nullptr;
7614 }
7615 if (!strcmp(name, "vkUnregisterObjectsNVX"))
7616 {
7617 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7618 return hasExt ? (void*)entry_vkUnregisterObjectsNVX : nullptr;
7619 }
7620 if (!strcmp(name, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"))
7621 {
7622 bool hasExt = resources->hasDeviceExtension(device, "VK_NVX_device_generated_commands");
7623 return hasExt ? (void*)entry_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX : nullptr;
7624 }
7625#endif
7626#ifdef VK_NV_clip_space_w_scaling
7627 if (!strcmp(name, "vkCmdSetViewportWScalingNV"))
7628 {
7629 bool hasExt = resources->hasDeviceExtension(device, "VK_NV_clip_space_w_scaling");
7630 return hasExt ? (void*)entry_vkCmdSetViewportWScalingNV : nullptr;
7631 }
7632#endif
7633#ifdef VK_EXT_direct_mode_display
7634 if (!strcmp(name, "vkReleaseDisplayEXT"))
7635 {
7636 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_direct_mode_display");
7637 return hasExt ? (void*)entry_vkReleaseDisplayEXT : nullptr;
7638 }
7639#endif
7640#ifdef VK_EXT_acquire_xlib_display
7641 if (!strcmp(name, "vkAcquireXlibDisplayEXT"))
7642 {
7643 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_acquire_xlib_display");
7644 return hasExt ? (void*)entry_vkAcquireXlibDisplayEXT : nullptr;
7645 }
7646 if (!strcmp(name, "vkGetRandROutputDisplayEXT"))
7647 {
7648 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_acquire_xlib_display");
7649 return hasExt ? (void*)entry_vkGetRandROutputDisplayEXT : nullptr;
7650 }
7651#endif
7652#ifdef VK_EXT_display_surface_counter
7653 if (!strcmp(name, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"))
7654 {
7655 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_surface_counter");
7656 return hasExt ? (void*)entry_vkGetPhysicalDeviceSurfaceCapabilities2EXT : nullptr;
7657 }
7658#endif
7659#ifdef VK_EXT_display_control
7660 if (!strcmp(name, "vkDisplayPowerControlEXT"))
7661 {
7662 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
7663 return hasExt ? (void*)entry_vkDisplayPowerControlEXT : nullptr;
7664 }
7665 if (!strcmp(name, "vkRegisterDeviceEventEXT"))
7666 {
7667 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
7668 return hasExt ? (void*)entry_vkRegisterDeviceEventEXT : nullptr;
7669 }
7670 if (!strcmp(name, "vkRegisterDisplayEventEXT"))
7671 {
7672 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
7673 return hasExt ? (void*)entry_vkRegisterDisplayEventEXT : nullptr;
7674 }
7675 if (!strcmp(name, "vkGetSwapchainCounterEXT"))
7676 {
7677 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_display_control");
7678 return hasExt ? (void*)entry_vkGetSwapchainCounterEXT : nullptr;
7679 }
7680#endif
7681#ifdef VK_GOOGLE_display_timing
7682 if (!strcmp(name, "vkGetRefreshCycleDurationGOOGLE"))
7683 {
7684 bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_display_timing");
7685 return hasExt ? (void*)entry_vkGetRefreshCycleDurationGOOGLE : nullptr;
7686 }
7687 if (!strcmp(name, "vkGetPastPresentationTimingGOOGLE"))
7688 {
7689 bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_display_timing");
7690 return hasExt ? (void*)entry_vkGetPastPresentationTimingGOOGLE : nullptr;
7691 }
7692#endif
7693#ifdef VK_EXT_discard_rectangles
7694 if (!strcmp(name, "vkCmdSetDiscardRectangleEXT"))
7695 {
7696 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_discard_rectangles");
7697 return hasExt ? (void*)entry_vkCmdSetDiscardRectangleEXT : nullptr;
7698 }
7699#endif
7700#ifdef VK_EXT_hdr_metadata
7701 if (!strcmp(name, "vkSetHdrMetadataEXT"))
7702 {
7703 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_hdr_metadata");
7704 return hasExt ? (void*)entry_vkSetHdrMetadataEXT : nullptr;
7705 }
7706#endif
7707#ifdef VK_MVK_ios_surface
7708 if (!strcmp(name, "vkCreateIOSSurfaceMVK"))
7709 {
7710 bool hasExt = resources->hasDeviceExtension(device, "VK_MVK_ios_surface");
7711 return hasExt ? (void*)entry_vkCreateIOSSurfaceMVK : nullptr;
7712 }
7713#endif
7714#ifdef VK_MVK_macos_surface
7715 if (!strcmp(name, "vkCreateMacOSSurfaceMVK"))
7716 {
7717 bool hasExt = resources->hasDeviceExtension(device, "VK_MVK_macos_surface");
7718 return hasExt ? (void*)entry_vkCreateMacOSSurfaceMVK : nullptr;
7719 }
7720#endif
7721#ifdef VK_EXT_debug_utils
7722 if (!strcmp(name, "vkSetDebugUtilsObjectNameEXT"))
7723 {
7724 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7725 return hasExt ? (void*)entry_vkSetDebugUtilsObjectNameEXT : nullptr;
7726 }
7727 if (!strcmp(name, "vkSetDebugUtilsObjectTagEXT"))
7728 {
7729 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7730 return hasExt ? (void*)entry_vkSetDebugUtilsObjectTagEXT : nullptr;
7731 }
7732 if (!strcmp(name, "vkQueueBeginDebugUtilsLabelEXT"))
7733 {
7734 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7735 return hasExt ? (void*)entry_vkQueueBeginDebugUtilsLabelEXT : nullptr;
7736 }
7737 if (!strcmp(name, "vkQueueEndDebugUtilsLabelEXT"))
7738 {
7739 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7740 return hasExt ? (void*)entry_vkQueueEndDebugUtilsLabelEXT : nullptr;
7741 }
7742 if (!strcmp(name, "vkQueueInsertDebugUtilsLabelEXT"))
7743 {
7744 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7745 return hasExt ? (void*)entry_vkQueueInsertDebugUtilsLabelEXT : nullptr;
7746 }
7747 if (!strcmp(name, "vkCmdBeginDebugUtilsLabelEXT"))
7748 {
7749 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7750 return hasExt ? (void*)entry_vkCmdBeginDebugUtilsLabelEXT : nullptr;
7751 }
7752 if (!strcmp(name, "vkCmdEndDebugUtilsLabelEXT"))
7753 {
7754 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7755 return hasExt ? (void*)entry_vkCmdEndDebugUtilsLabelEXT : nullptr;
7756 }
7757 if (!strcmp(name, "vkCmdInsertDebugUtilsLabelEXT"))
7758 {
7759 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7760 return hasExt ? (void*)entry_vkCmdInsertDebugUtilsLabelEXT : nullptr;
7761 }
7762 if (!strcmp(name, "vkCreateDebugUtilsMessengerEXT"))
7763 {
7764 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7765 return hasExt ? (void*)entry_vkCreateDebugUtilsMessengerEXT : nullptr;
7766 }
7767 if (!strcmp(name, "vkDestroyDebugUtilsMessengerEXT"))
7768 {
7769 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7770 return hasExt ? (void*)entry_vkDestroyDebugUtilsMessengerEXT : nullptr;
7771 }
7772 if (!strcmp(name, "vkSubmitDebugUtilsMessageEXT"))
7773 {
7774 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_debug_utils");
7775 return hasExt ? (void*)entry_vkSubmitDebugUtilsMessageEXT : nullptr;
7776 }
7777#endif
7778#ifdef VK_ANDROID_external_memory_android_hardware_buffer
7779 if (!strcmp(name, "vkGetAndroidHardwareBufferPropertiesANDROID"))
7780 {
7781 bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_external_memory_android_hardware_buffer");
7782 return hasExt ? (void*)entry_vkGetAndroidHardwareBufferPropertiesANDROID : nullptr;
7783 }
7784 if (!strcmp(name, "vkGetMemoryAndroidHardwareBufferANDROID"))
7785 {
7786 bool hasExt = resources->hasDeviceExtension(device, "VK_ANDROID_external_memory_android_hardware_buffer");
7787 return hasExt ? (void*)entry_vkGetMemoryAndroidHardwareBufferANDROID : nullptr;
7788 }
7789#endif
7790#ifdef VK_EXT_sample_locations
7791 if (!strcmp(name, "vkCmdSetSampleLocationsEXT"))
7792 {
7793 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_sample_locations");
7794 return hasExt ? (void*)entry_vkCmdSetSampleLocationsEXT : nullptr;
7795 }
7796 if (!strcmp(name, "vkGetPhysicalDeviceMultisamplePropertiesEXT"))
7797 {
7798 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_sample_locations");
7799 return hasExt ? (void*)entry_vkGetPhysicalDeviceMultisamplePropertiesEXT : nullptr;
7800 }
7801#endif
7802#ifdef VK_EXT_validation_cache
7803 if (!strcmp(name, "vkCreateValidationCacheEXT"))
7804 {
7805 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
7806 return hasExt ? (void*)entry_vkCreateValidationCacheEXT : nullptr;
7807 }
7808 if (!strcmp(name, "vkDestroyValidationCacheEXT"))
7809 {
7810 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
7811 return hasExt ? (void*)entry_vkDestroyValidationCacheEXT : nullptr;
7812 }
7813 if (!strcmp(name, "vkMergeValidationCachesEXT"))
7814 {
7815 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
7816 return hasExt ? (void*)entry_vkMergeValidationCachesEXT : nullptr;
7817 }
7818 if (!strcmp(name, "vkGetValidationCacheDataEXT"))
7819 {
7820 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_validation_cache");
7821 return hasExt ? (void*)entry_vkGetValidationCacheDataEXT : nullptr;
7822 }
7823#endif
7824#ifdef VK_EXT_external_memory_host
7825 if (!strcmp(name, "vkGetMemoryHostPointerPropertiesEXT"))
7826 {
7827 bool hasExt = resources->hasDeviceExtension(device, "VK_EXT_external_memory_host");
7828 return hasExt ? (void*)entry_vkGetMemoryHostPointerPropertiesEXT : nullptr;
7829 }
7830#endif
7831#ifdef VK_AMD_buffer_marker
7832 if (!strcmp(name, "vkCmdWriteBufferMarkerAMD"))
7833 {
7834 bool hasExt = resources->hasDeviceExtension(device, "VK_AMD_buffer_marker");
7835 return hasExt ? (void*)entry_vkCmdWriteBufferMarkerAMD : nullptr;
7836 }
7837#endif
7838#ifdef VK_NV_device_diagnostic_checkpoints
7839 if (!strcmp(name, "vkCmdSetCheckpointNV"))
7840 {
7841 bool hasExt = resources->hasDeviceExtension(device, "VK_NV_device_diagnostic_checkpoints");
7842 return hasExt ? (void*)entry_vkCmdSetCheckpointNV : nullptr;
7843 }
7844 if (!strcmp(name, "vkGetQueueCheckpointDataNV"))
7845 {
7846 bool hasExt = resources->hasDeviceExtension(device, "VK_NV_device_diagnostic_checkpoints");
7847 return hasExt ? (void*)entry_vkGetQueueCheckpointDataNV : nullptr;
7848 }
7849#endif
7850#ifdef VK_GOOGLE_address_space
7851 if (!strcmp(name, "vkMapMemoryIntoAddressSpaceGOOGLE"))
7852 {
7853 bool hasExt = resources->hasDeviceExtension(device, "VK_GOOGLE_address_space");
7854 return hasExt ? (void*)entry_vkMapMemoryIntoAddressSpaceGOOGLE : nullptr;
Lingfeng Yang5c63afd2018-12-22 01:21:14 -08007855 }
7856#endif
Lingfeng Yang0b81df22018-11-05 21:40:30 -08007857 return nullptr;
7858}
7859
7860} // namespace goldfish_vk