Coverage Report

Created: 2026-09-02 06:53

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/vulkan-loader/loader/generated/vk_loader_extensions.c
Line
Count
Source
1
// *** THIS FILE IS GENERATED - DO NOT EDIT ***
2
// See loader_extension_generator.py for modifications
3
4
/*
5
 * Copyright (c) 2015-2025 The Khronos Group Inc.
6
 * Copyright (c) 2015-2025 Valve Corporation
7
 * Copyright (c) 2015-2025 LunarG, Inc.
8
 * Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
9
 * Copyright (c) 2023-2023 RasterGrid Kft.
10
 *
11
 * Licensed under the Apache License, Version 2.0 (the "License");
12
 * you may not use this file except in compliance with the License.
13
 * You may obtain a copy of the License at
14
 *
15
 *     http://www.apache.org/licenses/LICENSE-2.0
16
 *
17
 * Unless required by applicable law or agreed to in writing, software
18
 * distributed under the License is distributed on an "AS IS" BASIS,
19
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
 * See the License for the specific language governing permissions and
21
 * limitations under the License.
22
 *
23
 * Author: Mark Lobodzinski <mark@lunarg.com>
24
 * Author: Mark Young <marky@lunarg.com>
25
 * Author: Charles Giessen <charles@lunarg.com>
26
 */
27
28
// clang-format off
29
#include <stdio.h>
30
#include <stdlib.h>
31
#include <string.h>
32
#include "loader.h"
33
#include "vk_loader_extensions.h"
34
#include <vulkan/vk_icd.h>
35
#include "wsi.h"
36
#include "debug_utils.h"
37
#include "extension_manual.h"
38
39
// Device extension error function
40
0
VKAPI_ATTR VkResult VKAPI_CALL vkDevExtError(VkDevice dev) {
41
0
    struct loader_device *found_dev;
42
    // The device going in is a trampoline device
43
0
    struct loader_icd_term *icd_term = loader_get_icd_and_device(dev, &found_dev);
44
45
0
    if (icd_term)
46
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_ERROR_BIT, 0,
47
0
                   "Bad destination in loader trampoline dispatch,"
48
0
                   "Are layers and extensions that you are calling enabled?");
49
0
    return VK_ERROR_EXTENSION_NOT_PRESENT;
50
0
}
51
52
0
VKAPI_ATTR bool VKAPI_CALL loader_icd_init_entries(struct loader_instance* inst, struct loader_icd_term *icd_term) {
53
0
    const PFN_vkGetInstanceProcAddr fp_gipa = icd_term->scanned_icd->GetInstanceProcAddr;
54
55
0
#define LOOKUP_GIPA(func) icd_term->dispatch.func = (PFN_vk##func)fp_gipa(icd_term->instance, "vk" #func);
56
57
0
#define LOOKUP_REQUIRED_GIPA(func)                                                      \
58
0
    do {                                                                                \
59
0
        LOOKUP_GIPA(func);                                                              \
60
0
        if (!icd_term->dispatch.func) {                                                 \
61
0
            loader_log(inst, VULKAN_LOADER_WARN_BIT, 0, "Unable to load %s from ICD %s",\
62
0
                       "vk"#func, icd_term->scanned_icd->lib_name);                     \
63
0
            return false;                                                               \
64
0
        }                                                                               \
65
0
    } while (0)
66
67
68
    // ---- Core Vulkan 1.0
69
0
    LOOKUP_REQUIRED_GIPA(DestroyInstance);
70
0
    LOOKUP_REQUIRED_GIPA(EnumeratePhysicalDevices);
71
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceFeatures);
72
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceFormatProperties);
73
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceImageFormatProperties);
74
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceProperties);
75
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceQueueFamilyProperties);
76
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceMemoryProperties);
77
0
    LOOKUP_REQUIRED_GIPA(GetDeviceProcAddr);
78
0
    LOOKUP_REQUIRED_GIPA(CreateDevice);
79
0
    LOOKUP_REQUIRED_GIPA(EnumerateDeviceExtensionProperties);
80
0
    LOOKUP_REQUIRED_GIPA(GetPhysicalDeviceSparseImageFormatProperties);
81
82
    // ---- Core Vulkan 1.1
83
0
    LOOKUP_GIPA(EnumeratePhysicalDeviceGroups);
84
0
    LOOKUP_GIPA(GetPhysicalDeviceFeatures2);
85
0
    LOOKUP_GIPA(GetPhysicalDeviceProperties2);
86
0
    LOOKUP_GIPA(GetPhysicalDeviceFormatProperties2);
87
0
    LOOKUP_GIPA(GetPhysicalDeviceImageFormatProperties2);
88
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyProperties2);
89
0
    LOOKUP_GIPA(GetPhysicalDeviceMemoryProperties2);
90
0
    LOOKUP_GIPA(GetPhysicalDeviceSparseImageFormatProperties2);
91
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalBufferProperties);
92
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalFenceProperties);
93
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalSemaphoreProperties);
94
95
    // ---- Core Vulkan 1.3
96
0
    LOOKUP_GIPA(GetPhysicalDeviceToolProperties);
97
98
    // ---- VK_KHR_surface extension commands
99
0
    LOOKUP_GIPA(DestroySurfaceKHR);
100
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfaceSupportKHR);
101
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfaceCapabilitiesKHR);
102
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfaceFormatsKHR);
103
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfacePresentModesKHR);
104
105
    // ---- VK_KHR_swapchain extension commands
106
0
    LOOKUP_GIPA(GetPhysicalDevicePresentRectanglesKHR);
107
108
    // ---- VK_KHR_display extension commands
109
0
    LOOKUP_GIPA(GetPhysicalDeviceDisplayPropertiesKHR);
110
0
    LOOKUP_GIPA(GetPhysicalDeviceDisplayPlanePropertiesKHR);
111
0
    LOOKUP_GIPA(GetDisplayPlaneSupportedDisplaysKHR);
112
0
    LOOKUP_GIPA(GetDisplayModePropertiesKHR);
113
0
    LOOKUP_GIPA(CreateDisplayModeKHR);
114
0
    LOOKUP_GIPA(GetDisplayPlaneCapabilitiesKHR);
115
0
    LOOKUP_GIPA(CreateDisplayPlaneSurfaceKHR);
116
117
    // ---- VK_KHR_xlib_surface extension commands
118
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
119
0
    LOOKUP_GIPA(CreateXlibSurfaceKHR);
120
0
#endif // VK_USE_PLATFORM_XLIB_KHR
121
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
122
0
    LOOKUP_GIPA(GetPhysicalDeviceXlibPresentationSupportKHR);
123
0
#endif // VK_USE_PLATFORM_XLIB_KHR
124
125
    // ---- VK_KHR_xcb_surface extension commands
126
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
127
0
    LOOKUP_GIPA(CreateXcbSurfaceKHR);
128
0
#endif // VK_USE_PLATFORM_XCB_KHR
129
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
130
0
    LOOKUP_GIPA(GetPhysicalDeviceXcbPresentationSupportKHR);
131
0
#endif // VK_USE_PLATFORM_XCB_KHR
132
133
    // ---- VK_KHR_wayland_surface extension commands
134
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
135
0
    LOOKUP_GIPA(CreateWaylandSurfaceKHR);
136
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
137
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
138
0
    LOOKUP_GIPA(GetPhysicalDeviceWaylandPresentationSupportKHR);
139
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
140
141
    // ---- VK_KHR_android_surface extension commands
142
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
143
    LOOKUP_GIPA(CreateAndroidSurfaceKHR);
144
#endif // VK_USE_PLATFORM_ANDROID_KHR
145
146
    // ---- VK_KHR_win32_surface extension commands
147
#if defined(VK_USE_PLATFORM_WIN32_KHR)
148
    LOOKUP_GIPA(CreateWin32SurfaceKHR);
149
#endif // VK_USE_PLATFORM_WIN32_KHR
150
#if defined(VK_USE_PLATFORM_WIN32_KHR)
151
    LOOKUP_GIPA(GetPhysicalDeviceWin32PresentationSupportKHR);
152
#endif // VK_USE_PLATFORM_WIN32_KHR
153
154
    // ---- VK_KHR_video_queue extension commands
155
0
    LOOKUP_GIPA(GetPhysicalDeviceVideoCapabilitiesKHR);
156
0
    LOOKUP_GIPA(GetPhysicalDeviceVideoFormatPropertiesKHR);
157
158
    // ---- VK_KHR_get_physical_device_properties2 extension commands
159
0
    LOOKUP_GIPA(GetPhysicalDeviceFeatures2KHR);
160
0
    LOOKUP_GIPA(GetPhysicalDeviceProperties2KHR);
161
0
    LOOKUP_GIPA(GetPhysicalDeviceFormatProperties2KHR);
162
0
    LOOKUP_GIPA(GetPhysicalDeviceImageFormatProperties2KHR);
163
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyProperties2KHR);
164
0
    LOOKUP_GIPA(GetPhysicalDeviceMemoryProperties2KHR);
165
0
    LOOKUP_GIPA(GetPhysicalDeviceSparseImageFormatProperties2KHR);
166
167
    // ---- VK_KHR_device_group_creation extension commands
168
0
    LOOKUP_GIPA(EnumeratePhysicalDeviceGroupsKHR);
169
170
    // ---- VK_KHR_external_memory_capabilities extension commands
171
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalBufferPropertiesKHR);
172
173
    // ---- VK_KHR_external_semaphore_capabilities extension commands
174
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalSemaphorePropertiesKHR);
175
176
    // ---- VK_KHR_external_fence_capabilities extension commands
177
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalFencePropertiesKHR);
178
179
    // ---- VK_KHR_performance_query extension commands
180
0
    LOOKUP_GIPA(EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR);
181
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR);
182
183
    // ---- VK_KHR_get_surface_capabilities2 extension commands
184
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfaceCapabilities2KHR);
185
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfaceFormats2KHR);
186
187
    // ---- VK_KHR_get_display_properties2 extension commands
188
0
    LOOKUP_GIPA(GetPhysicalDeviceDisplayProperties2KHR);
189
0
    LOOKUP_GIPA(GetPhysicalDeviceDisplayPlaneProperties2KHR);
190
0
    LOOKUP_GIPA(GetDisplayModeProperties2KHR);
191
0
    LOOKUP_GIPA(GetDisplayPlaneCapabilities2KHR);
192
193
    // ---- VK_KHR_fragment_shading_rate extension commands
194
0
    LOOKUP_GIPA(GetPhysicalDeviceFragmentShadingRatesKHR);
195
196
    // ---- VK_KHR_video_encode_queue extension commands
197
0
    LOOKUP_GIPA(GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR);
198
199
    // ---- VK_KHR_cooperative_matrix extension commands
200
0
    LOOKUP_GIPA(GetPhysicalDeviceCooperativeMatrixPropertiesKHR);
201
202
    // ---- VK_KHR_calibrated_timestamps extension commands
203
0
    LOOKUP_GIPA(GetPhysicalDeviceCalibrateableTimeDomainsKHR);
204
205
    // ---- VK_EXT_debug_report extension commands
206
0
    LOOKUP_GIPA(CreateDebugReportCallbackEXT);
207
0
    LOOKUP_GIPA(DestroyDebugReportCallbackEXT);
208
0
    LOOKUP_GIPA(DebugReportMessageEXT);
209
210
    // ---- VK_GGP_stream_descriptor_surface extension commands
211
#if defined(VK_USE_PLATFORM_GGP)
212
    LOOKUP_GIPA(CreateStreamDescriptorSurfaceGGP);
213
#endif // VK_USE_PLATFORM_GGP
214
215
    // ---- VK_NV_external_memory_capabilities extension commands
216
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalImageFormatPropertiesNV);
217
218
    // ---- VK_NN_vi_surface extension commands
219
#if defined(VK_USE_PLATFORM_VI_NN)
220
    LOOKUP_GIPA(CreateViSurfaceNN);
221
#endif // VK_USE_PLATFORM_VI_NN
222
223
    // ---- VK_EXT_direct_mode_display extension commands
224
0
    LOOKUP_GIPA(ReleaseDisplayEXT);
225
226
    // ---- VK_EXT_acquire_xlib_display extension commands
227
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
228
0
    LOOKUP_GIPA(AcquireXlibDisplayEXT);
229
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
230
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
231
0
    LOOKUP_GIPA(GetRandROutputDisplayEXT);
232
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
233
234
    // ---- VK_EXT_display_surface_counter extension commands
235
0
    LOOKUP_GIPA(GetPhysicalDeviceSurfaceCapabilities2EXT);
236
237
    // ---- VK_MVK_ios_surface extension commands
238
#if defined(VK_USE_PLATFORM_IOS_MVK)
239
    LOOKUP_GIPA(CreateIOSSurfaceMVK);
240
#endif // VK_USE_PLATFORM_IOS_MVK
241
242
    // ---- VK_MVK_macos_surface extension commands
243
#if defined(VK_USE_PLATFORM_MACOS_MVK)
244
    LOOKUP_GIPA(CreateMacOSSurfaceMVK);
245
#endif // VK_USE_PLATFORM_MACOS_MVK
246
247
    // ---- VK_EXT_debug_utils extension commands
248
0
    LOOKUP_GIPA(CreateDebugUtilsMessengerEXT);
249
0
    LOOKUP_GIPA(DestroyDebugUtilsMessengerEXT);
250
0
    LOOKUP_GIPA(SubmitDebugUtilsMessageEXT);
251
252
    // ---- VK_EXT_descriptor_heap extension commands
253
0
    LOOKUP_GIPA(GetPhysicalDeviceDescriptorSizeEXT);
254
255
    // ---- VK_EXT_sample_locations extension commands
256
0
    LOOKUP_GIPA(GetPhysicalDeviceMultisamplePropertiesEXT);
257
258
    // ---- VK_EXT_calibrated_timestamps extension commands
259
0
    LOOKUP_GIPA(GetPhysicalDeviceCalibrateableTimeDomainsEXT);
260
261
    // ---- VK_FUCHSIA_imagepipe_surface extension commands
262
#if defined(VK_USE_PLATFORM_FUCHSIA)
263
    LOOKUP_GIPA(CreateImagePipeSurfaceFUCHSIA);
264
#endif // VK_USE_PLATFORM_FUCHSIA
265
266
    // ---- VK_EXT_metal_surface extension commands
267
#if defined(VK_USE_PLATFORM_METAL_EXT)
268
    LOOKUP_GIPA(CreateMetalSurfaceEXT);
269
#endif // VK_USE_PLATFORM_METAL_EXT
270
271
    // ---- VK_EXT_tooling_info extension commands
272
0
    LOOKUP_GIPA(GetPhysicalDeviceToolPropertiesEXT);
273
274
    // ---- VK_NV_cooperative_matrix extension commands
275
0
    LOOKUP_GIPA(GetPhysicalDeviceCooperativeMatrixPropertiesNV);
276
277
    // ---- VK_NV_coverage_reduction_mode extension commands
278
0
    LOOKUP_GIPA(GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV);
279
280
    // ---- VK_EXT_full_screen_exclusive extension commands
281
#if defined(VK_USE_PLATFORM_WIN32_KHR)
282
    LOOKUP_GIPA(GetPhysicalDeviceSurfacePresentModes2EXT);
283
#endif // VK_USE_PLATFORM_WIN32_KHR
284
285
    // ---- VK_EXT_headless_surface extension commands
286
0
    LOOKUP_GIPA(CreateHeadlessSurfaceEXT);
287
288
    // ---- VK_EXT_acquire_drm_display extension commands
289
0
    LOOKUP_GIPA(AcquireDrmDisplayEXT);
290
0
    LOOKUP_GIPA(GetDrmDisplayEXT);
291
292
    // ---- VK_NV_acquire_winrt_display extension commands
293
#if defined(VK_USE_PLATFORM_WIN32_KHR)
294
    LOOKUP_GIPA(AcquireWinrtDisplayNV);
295
#endif // VK_USE_PLATFORM_WIN32_KHR
296
#if defined(VK_USE_PLATFORM_WIN32_KHR)
297
    LOOKUP_GIPA(GetWinrtDisplayNV);
298
#endif // VK_USE_PLATFORM_WIN32_KHR
299
300
    // ---- VK_EXT_directfb_surface extension commands
301
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
302
    LOOKUP_GIPA(CreateDirectFBSurfaceEXT);
303
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
304
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
305
    LOOKUP_GIPA(GetPhysicalDeviceDirectFBPresentationSupportEXT);
306
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
307
308
    // ---- VK_QNX_screen_surface extension commands
309
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
310
    LOOKUP_GIPA(CreateScreenSurfaceQNX);
311
#endif // VK_USE_PLATFORM_SCREEN_QNX
312
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
313
    LOOKUP_GIPA(GetPhysicalDeviceScreenPresentationSupportQNX);
314
#endif // VK_USE_PLATFORM_SCREEN_QNX
315
316
    // ---- VK_ARM_tensors extension commands
317
0
    LOOKUP_GIPA(GetPhysicalDeviceExternalTensorPropertiesARM);
318
319
    // ---- VK_NV_optical_flow extension commands
320
0
    LOOKUP_GIPA(GetPhysicalDeviceOpticalFlowImageFormatsNV);
321
322
    // ---- VK_NV_cooperative_vector extension commands
323
0
    LOOKUP_GIPA(GetPhysicalDeviceCooperativeVectorPropertiesNV);
324
325
    // ---- VK_ARM_data_graph extension commands
326
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM);
327
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM);
328
329
    // ---- VK_ARM_data_graph_instruction_set_tosa extension commands
330
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM);
331
332
    // ---- VK_OHOS_surface extension commands
333
#if defined(VK_USE_PLATFORM_OHOS)
334
    LOOKUP_GIPA(CreateSurfaceOHOS);
335
#endif // VK_USE_PLATFORM_OHOS
336
337
    // ---- VK_NV_cooperative_matrix2 extension commands
338
0
    LOOKUP_GIPA(GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV);
339
340
    // ---- VK_ARM_performance_counters_by_region extension commands
341
0
    LOOKUP_GIPA(EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM);
342
343
    // ---- VK_ARM_shader_instrumentation extension commands
344
0
    LOOKUP_GIPA(EnumeratePhysicalDeviceShaderInstrumentationMetricsARM);
345
346
    // ---- VK_ARM_data_graph_optical_flow extension commands
347
0
    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM);
348
349
    // ---- VK_EXT_cooperative_matrix_maintenance1 extension commands
350
0
    LOOKUP_GIPA(GetPhysicalDeviceCooperativeMatrixProperties2EXT);
351
352
    // ---- VK_SEC_ubm_surface extension commands
353
#if defined(VK_USE_PLATFORM_UBM_SEC)
354
    LOOKUP_GIPA(CreateUbmSurfaceSEC);
355
#endif // VK_USE_PLATFORM_UBM_SEC
356
#if defined(VK_USE_PLATFORM_UBM_SEC)
357
    LOOKUP_GIPA(GetPhysicalDeviceUbmPresentationSupportSEC);
358
#endif // VK_USE_PLATFORM_UBM_SEC
359
360
0
#undef LOOKUP_REQUIRED_GIPA
361
0
#undef LOOKUP_GIPA
362
363
0
    return true;
364
0
};
365
366
// Init Device function pointer dispatch table with core commands
367
VKAPI_ATTR void VKAPI_CALL loader_init_device_dispatch_table(struct loader_dev_dispatch_table *dev_table, PFN_vkGetDeviceProcAddr gpa,
368
0
                                                             VkDevice dev) {
369
0
    VkLayerDispatchTable *table = &dev_table->core_dispatch;
370
0
    if (table->magic != DEVICE_DISP_TABLE_MAGIC_NUMBER) { abort(); }
371
0
    for (uint32_t i = 0; i < MAX_NUM_UNKNOWN_EXTS; i++) dev_table->ext_dispatch[i] = (PFN_vkDevExt)vkDevExtError;
372
373
    // ---- Core Vulkan 1.0 commands
374
0
    table->GetDeviceProcAddr = gpa;
375
0
    table->DestroyDevice = (PFN_vkDestroyDevice)gpa(dev, "vkDestroyDevice");
376
0
    table->GetDeviceQueue = (PFN_vkGetDeviceQueue)gpa(dev, "vkGetDeviceQueue");
377
0
    table->QueueSubmit = (PFN_vkQueueSubmit)gpa(dev, "vkQueueSubmit");
378
0
    table->QueueWaitIdle = (PFN_vkQueueWaitIdle)gpa(dev, "vkQueueWaitIdle");
379
0
    table->DeviceWaitIdle = (PFN_vkDeviceWaitIdle)gpa(dev, "vkDeviceWaitIdle");
380
0
    table->AllocateMemory = (PFN_vkAllocateMemory)gpa(dev, "vkAllocateMemory");
381
0
    table->FreeMemory = (PFN_vkFreeMemory)gpa(dev, "vkFreeMemory");
382
0
    table->MapMemory = (PFN_vkMapMemory)gpa(dev, "vkMapMemory");
383
0
    table->UnmapMemory = (PFN_vkUnmapMemory)gpa(dev, "vkUnmapMemory");
384
0
    table->FlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)gpa(dev, "vkFlushMappedMemoryRanges");
385
0
    table->InvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)gpa(dev, "vkInvalidateMappedMemoryRanges");
386
0
    table->GetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)gpa(dev, "vkGetDeviceMemoryCommitment");
387
0
    table->BindBufferMemory = (PFN_vkBindBufferMemory)gpa(dev, "vkBindBufferMemory");
388
0
    table->BindImageMemory = (PFN_vkBindImageMemory)gpa(dev, "vkBindImageMemory");
389
0
    table->GetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)gpa(dev, "vkGetBufferMemoryRequirements");
390
0
    table->GetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)gpa(dev, "vkGetImageMemoryRequirements");
391
0
    table->GetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)gpa(dev, "vkGetImageSparseMemoryRequirements");
392
0
    table->QueueBindSparse = (PFN_vkQueueBindSparse)gpa(dev, "vkQueueBindSparse");
393
0
    table->CreateFence = (PFN_vkCreateFence)gpa(dev, "vkCreateFence");
394
0
    table->DestroyFence = (PFN_vkDestroyFence)gpa(dev, "vkDestroyFence");
395
0
    table->ResetFences = (PFN_vkResetFences)gpa(dev, "vkResetFences");
396
0
    table->GetFenceStatus = (PFN_vkGetFenceStatus)gpa(dev, "vkGetFenceStatus");
397
0
    table->WaitForFences = (PFN_vkWaitForFences)gpa(dev, "vkWaitForFences");
398
0
    table->CreateSemaphore = (PFN_vkCreateSemaphore)gpa(dev, "vkCreateSemaphore");
399
0
    table->DestroySemaphore = (PFN_vkDestroySemaphore)gpa(dev, "vkDestroySemaphore");
400
0
    table->CreateQueryPool = (PFN_vkCreateQueryPool)gpa(dev, "vkCreateQueryPool");
401
0
    table->DestroyQueryPool = (PFN_vkDestroyQueryPool)gpa(dev, "vkDestroyQueryPool");
402
0
    table->GetQueryPoolResults = (PFN_vkGetQueryPoolResults)gpa(dev, "vkGetQueryPoolResults");
403
0
    table->CreateBuffer = (PFN_vkCreateBuffer)gpa(dev, "vkCreateBuffer");
404
0
    table->DestroyBuffer = (PFN_vkDestroyBuffer)gpa(dev, "vkDestroyBuffer");
405
0
    table->CreateImage = (PFN_vkCreateImage)gpa(dev, "vkCreateImage");
406
0
    table->DestroyImage = (PFN_vkDestroyImage)gpa(dev, "vkDestroyImage");
407
0
    table->GetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)gpa(dev, "vkGetImageSubresourceLayout");
408
0
    table->CreateImageView = (PFN_vkCreateImageView)gpa(dev, "vkCreateImageView");
409
0
    table->DestroyImageView = (PFN_vkDestroyImageView)gpa(dev, "vkDestroyImageView");
410
0
    table->CreateCommandPool = (PFN_vkCreateCommandPool)gpa(dev, "vkCreateCommandPool");
411
0
    table->DestroyCommandPool = (PFN_vkDestroyCommandPool)gpa(dev, "vkDestroyCommandPool");
412
0
    table->ResetCommandPool = (PFN_vkResetCommandPool)gpa(dev, "vkResetCommandPool");
413
0
    table->AllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)gpa(dev, "vkAllocateCommandBuffers");
414
0
    table->FreeCommandBuffers = (PFN_vkFreeCommandBuffers)gpa(dev, "vkFreeCommandBuffers");
415
0
    table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer)gpa(dev, "vkBeginCommandBuffer");
416
0
    table->EndCommandBuffer = (PFN_vkEndCommandBuffer)gpa(dev, "vkEndCommandBuffer");
417
0
    table->ResetCommandBuffer = (PFN_vkResetCommandBuffer)gpa(dev, "vkResetCommandBuffer");
418
0
    table->CmdCopyBuffer = (PFN_vkCmdCopyBuffer)gpa(dev, "vkCmdCopyBuffer");
419
0
    table->CmdCopyImage = (PFN_vkCmdCopyImage)gpa(dev, "vkCmdCopyImage");
420
0
    table->CmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)gpa(dev, "vkCmdCopyBufferToImage");
421
0
    table->CmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)gpa(dev, "vkCmdCopyImageToBuffer");
422
0
    table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)gpa(dev, "vkCmdUpdateBuffer");
423
0
    table->CmdFillBuffer = (PFN_vkCmdFillBuffer)gpa(dev, "vkCmdFillBuffer");
424
0
    table->CmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)gpa(dev, "vkCmdPipelineBarrier");
425
0
    table->CmdBeginQuery = (PFN_vkCmdBeginQuery)gpa(dev, "vkCmdBeginQuery");
426
0
    table->CmdEndQuery = (PFN_vkCmdEndQuery)gpa(dev, "vkCmdEndQuery");
427
0
    table->CmdResetQueryPool = (PFN_vkCmdResetQueryPool)gpa(dev, "vkCmdResetQueryPool");
428
0
    table->CmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)gpa(dev, "vkCmdWriteTimestamp");
429
0
    table->CmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)gpa(dev, "vkCmdCopyQueryPoolResults");
430
0
    table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands)gpa(dev, "vkCmdExecuteCommands");
431
0
    table->CreateEvent = (PFN_vkCreateEvent)gpa(dev, "vkCreateEvent");
432
0
    table->DestroyEvent = (PFN_vkDestroyEvent)gpa(dev, "vkDestroyEvent");
433
0
    table->GetEventStatus = (PFN_vkGetEventStatus)gpa(dev, "vkGetEventStatus");
434
0
    table->SetEvent = (PFN_vkSetEvent)gpa(dev, "vkSetEvent");
435
0
    table->ResetEvent = (PFN_vkResetEvent)gpa(dev, "vkResetEvent");
436
0
    table->CreateBufferView = (PFN_vkCreateBufferView)gpa(dev, "vkCreateBufferView");
437
0
    table->DestroyBufferView = (PFN_vkDestroyBufferView)gpa(dev, "vkDestroyBufferView");
438
0
    table->CreateShaderModule = (PFN_vkCreateShaderModule)gpa(dev, "vkCreateShaderModule");
439
0
    table->DestroyShaderModule = (PFN_vkDestroyShaderModule)gpa(dev, "vkDestroyShaderModule");
440
0
    table->CreatePipelineCache = (PFN_vkCreatePipelineCache)gpa(dev, "vkCreatePipelineCache");
441
0
    table->DestroyPipelineCache = (PFN_vkDestroyPipelineCache)gpa(dev, "vkDestroyPipelineCache");
442
0
    table->GetPipelineCacheData = (PFN_vkGetPipelineCacheData)gpa(dev, "vkGetPipelineCacheData");
443
0
    table->MergePipelineCaches = (PFN_vkMergePipelineCaches)gpa(dev, "vkMergePipelineCaches");
444
0
    table->CreateComputePipelines = (PFN_vkCreateComputePipelines)gpa(dev, "vkCreateComputePipelines");
445
0
    table->DestroyPipeline = (PFN_vkDestroyPipeline)gpa(dev, "vkDestroyPipeline");
446
0
    table->CreatePipelineLayout = (PFN_vkCreatePipelineLayout)gpa(dev, "vkCreatePipelineLayout");
447
0
    table->DestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)gpa(dev, "vkDestroyPipelineLayout");
448
0
    table->CreateSampler = (PFN_vkCreateSampler)gpa(dev, "vkCreateSampler");
449
0
    table->DestroySampler = (PFN_vkDestroySampler)gpa(dev, "vkDestroySampler");
450
0
    table->CreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)gpa(dev, "vkCreateDescriptorSetLayout");
451
0
    table->DestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)gpa(dev, "vkDestroyDescriptorSetLayout");
452
0
    table->CreateDescriptorPool = (PFN_vkCreateDescriptorPool)gpa(dev, "vkCreateDescriptorPool");
453
0
    table->DestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)gpa(dev, "vkDestroyDescriptorPool");
454
0
    table->ResetDescriptorPool = (PFN_vkResetDescriptorPool)gpa(dev, "vkResetDescriptorPool");
455
0
    table->AllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)gpa(dev, "vkAllocateDescriptorSets");
456
0
    table->FreeDescriptorSets = (PFN_vkFreeDescriptorSets)gpa(dev, "vkFreeDescriptorSets");
457
0
    table->UpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)gpa(dev, "vkUpdateDescriptorSets");
458
0
    table->CmdBindPipeline = (PFN_vkCmdBindPipeline)gpa(dev, "vkCmdBindPipeline");
459
0
    table->CmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)gpa(dev, "vkCmdBindDescriptorSets");
460
0
    table->CmdClearColorImage = (PFN_vkCmdClearColorImage)gpa(dev, "vkCmdClearColorImage");
461
0
    table->CmdDispatch = (PFN_vkCmdDispatch)gpa(dev, "vkCmdDispatch");
462
0
    table->CmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)gpa(dev, "vkCmdDispatchIndirect");
463
0
    table->CmdSetEvent = (PFN_vkCmdSetEvent)gpa(dev, "vkCmdSetEvent");
464
0
    table->CmdResetEvent = (PFN_vkCmdResetEvent)gpa(dev, "vkCmdResetEvent");
465
0
    table->CmdWaitEvents = (PFN_vkCmdWaitEvents)gpa(dev, "vkCmdWaitEvents");
466
0
    table->CmdPushConstants = (PFN_vkCmdPushConstants)gpa(dev, "vkCmdPushConstants");
467
0
    table->CreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)gpa(dev, "vkCreateGraphicsPipelines");
468
0
    table->CreateFramebuffer = (PFN_vkCreateFramebuffer)gpa(dev, "vkCreateFramebuffer");
469
0
    table->DestroyFramebuffer = (PFN_vkDestroyFramebuffer)gpa(dev, "vkDestroyFramebuffer");
470
0
    table->CreateRenderPass = (PFN_vkCreateRenderPass)gpa(dev, "vkCreateRenderPass");
471
0
    table->DestroyRenderPass = (PFN_vkDestroyRenderPass)gpa(dev, "vkDestroyRenderPass");
472
0
    table->GetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)gpa(dev, "vkGetRenderAreaGranularity");
473
0
    table->CmdSetViewport = (PFN_vkCmdSetViewport)gpa(dev, "vkCmdSetViewport");
474
0
    table->CmdSetScissor = (PFN_vkCmdSetScissor)gpa(dev, "vkCmdSetScissor");
475
0
    table->CmdSetLineWidth = (PFN_vkCmdSetLineWidth)gpa(dev, "vkCmdSetLineWidth");
476
0
    table->CmdSetDepthBias = (PFN_vkCmdSetDepthBias)gpa(dev, "vkCmdSetDepthBias");
477
0
    table->CmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)gpa(dev, "vkCmdSetBlendConstants");
478
0
    table->CmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)gpa(dev, "vkCmdSetDepthBounds");
479
0
    table->CmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)gpa(dev, "vkCmdSetStencilCompareMask");
480
0
    table->CmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)gpa(dev, "vkCmdSetStencilWriteMask");
481
0
    table->CmdSetStencilReference = (PFN_vkCmdSetStencilReference)gpa(dev, "vkCmdSetStencilReference");
482
0
    table->CmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)gpa(dev, "vkCmdBindIndexBuffer");
483
0
    table->CmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)gpa(dev, "vkCmdBindVertexBuffers");
484
0
    table->CmdDraw = (PFN_vkCmdDraw)gpa(dev, "vkCmdDraw");
485
0
    table->CmdDrawIndexed = (PFN_vkCmdDrawIndexed)gpa(dev, "vkCmdDrawIndexed");
486
0
    table->CmdDrawIndirect = (PFN_vkCmdDrawIndirect)gpa(dev, "vkCmdDrawIndirect");
487
0
    table->CmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)gpa(dev, "vkCmdDrawIndexedIndirect");
488
0
    table->CmdBlitImage = (PFN_vkCmdBlitImage)gpa(dev, "vkCmdBlitImage");
489
0
    table->CmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)gpa(dev, "vkCmdClearDepthStencilImage");
490
0
    table->CmdClearAttachments = (PFN_vkCmdClearAttachments)gpa(dev, "vkCmdClearAttachments");
491
0
    table->CmdResolveImage = (PFN_vkCmdResolveImage)gpa(dev, "vkCmdResolveImage");
492
0
    table->CmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)gpa(dev, "vkCmdBeginRenderPass");
493
0
    table->CmdNextSubpass = (PFN_vkCmdNextSubpass)gpa(dev, "vkCmdNextSubpass");
494
0
    table->CmdEndRenderPass = (PFN_vkCmdEndRenderPass)gpa(dev, "vkCmdEndRenderPass");
495
496
    // ---- Core Vulkan 1.1 commands
497
0
    table->BindBufferMemory2 = (PFN_vkBindBufferMemory2)gpa(dev, "vkBindBufferMemory2");
498
0
    table->BindImageMemory2 = (PFN_vkBindImageMemory2)gpa(dev, "vkBindImageMemory2");
499
0
    table->GetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)gpa(dev, "vkGetDeviceGroupPeerMemoryFeatures");
500
0
    table->CmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)gpa(dev, "vkCmdSetDeviceMask");
501
0
    table->GetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)gpa(dev, "vkGetImageMemoryRequirements2");
502
0
    table->GetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)gpa(dev, "vkGetBufferMemoryRequirements2");
503
0
    table->GetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)gpa(dev, "vkGetImageSparseMemoryRequirements2");
504
0
    table->TrimCommandPool = (PFN_vkTrimCommandPool)gpa(dev, "vkTrimCommandPool");
505
0
    table->GetDeviceQueue2 = (PFN_vkGetDeviceQueue2)gpa(dev, "vkGetDeviceQueue2");
506
0
    table->CmdDispatchBase = (PFN_vkCmdDispatchBase)gpa(dev, "vkCmdDispatchBase");
507
0
    table->CreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)gpa(dev, "vkCreateDescriptorUpdateTemplate");
508
0
    table->DestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)gpa(dev, "vkDestroyDescriptorUpdateTemplate");
509
0
    table->UpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)gpa(dev, "vkUpdateDescriptorSetWithTemplate");
510
0
    table->GetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)gpa(dev, "vkGetDescriptorSetLayoutSupport");
511
0
    table->CreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)gpa(dev, "vkCreateSamplerYcbcrConversion");
512
0
    table->DestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)gpa(dev, "vkDestroySamplerYcbcrConversion");
513
514
    // ---- Core Vulkan 1.2 commands
515
0
    table->ResetQueryPool = (PFN_vkResetQueryPool)gpa(dev, "vkResetQueryPool");
516
0
    table->GetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)gpa(dev, "vkGetSemaphoreCounterValue");
517
0
    table->WaitSemaphores = (PFN_vkWaitSemaphores)gpa(dev, "vkWaitSemaphores");
518
0
    table->SignalSemaphore = (PFN_vkSignalSemaphore)gpa(dev, "vkSignalSemaphore");
519
0
    table->GetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)gpa(dev, "vkGetBufferDeviceAddress");
520
0
    table->GetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)gpa(dev, "vkGetBufferOpaqueCaptureAddress");
521
0
    table->GetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)gpa(dev, "vkGetDeviceMemoryOpaqueCaptureAddress");
522
0
    table->CmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)gpa(dev, "vkCmdDrawIndirectCount");
523
0
    table->CmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)gpa(dev, "vkCmdDrawIndexedIndirectCount");
524
0
    table->CreateRenderPass2 = (PFN_vkCreateRenderPass2)gpa(dev, "vkCreateRenderPass2");
525
0
    table->CmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)gpa(dev, "vkCmdBeginRenderPass2");
526
0
    table->CmdNextSubpass2 = (PFN_vkCmdNextSubpass2)gpa(dev, "vkCmdNextSubpass2");
527
0
    table->CmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)gpa(dev, "vkCmdEndRenderPass2");
528
529
    // ---- Core Vulkan 1.3 commands
530
0
    table->CreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)gpa(dev, "vkCreatePrivateDataSlot");
531
0
    table->DestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)gpa(dev, "vkDestroyPrivateDataSlot");
532
0
    table->SetPrivateData = (PFN_vkSetPrivateData)gpa(dev, "vkSetPrivateData");
533
0
    table->GetPrivateData = (PFN_vkGetPrivateData)gpa(dev, "vkGetPrivateData");
534
0
    table->CmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)gpa(dev, "vkCmdPipelineBarrier2");
535
0
    table->CmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)gpa(dev, "vkCmdWriteTimestamp2");
536
0
    table->QueueSubmit2 = (PFN_vkQueueSubmit2)gpa(dev, "vkQueueSubmit2");
537
0
    table->CmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)gpa(dev, "vkCmdCopyBuffer2");
538
0
    table->CmdCopyImage2 = (PFN_vkCmdCopyImage2)gpa(dev, "vkCmdCopyImage2");
539
0
    table->CmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)gpa(dev, "vkCmdCopyBufferToImage2");
540
0
    table->CmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)gpa(dev, "vkCmdCopyImageToBuffer2");
541
0
    table->GetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)gpa(dev, "vkGetDeviceBufferMemoryRequirements");
542
0
    table->GetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)gpa(dev, "vkGetDeviceImageMemoryRequirements");
543
0
    table->GetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)gpa(dev, "vkGetDeviceImageSparseMemoryRequirements");
544
0
    table->CmdSetEvent2 = (PFN_vkCmdSetEvent2)gpa(dev, "vkCmdSetEvent2");
545
0
    table->CmdResetEvent2 = (PFN_vkCmdResetEvent2)gpa(dev, "vkCmdResetEvent2");
546
0
    table->CmdWaitEvents2 = (PFN_vkCmdWaitEvents2)gpa(dev, "vkCmdWaitEvents2");
547
0
    table->CmdBlitImage2 = (PFN_vkCmdBlitImage2)gpa(dev, "vkCmdBlitImage2");
548
0
    table->CmdResolveImage2 = (PFN_vkCmdResolveImage2)gpa(dev, "vkCmdResolveImage2");
549
0
    table->CmdBeginRendering = (PFN_vkCmdBeginRendering)gpa(dev, "vkCmdBeginRendering");
550
0
    table->CmdEndRendering = (PFN_vkCmdEndRendering)gpa(dev, "vkCmdEndRendering");
551
0
    table->CmdSetCullMode = (PFN_vkCmdSetCullMode)gpa(dev, "vkCmdSetCullMode");
552
0
    table->CmdSetFrontFace = (PFN_vkCmdSetFrontFace)gpa(dev, "vkCmdSetFrontFace");
553
0
    table->CmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)gpa(dev, "vkCmdSetPrimitiveTopology");
554
0
    table->CmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)gpa(dev, "vkCmdSetViewportWithCount");
555
0
    table->CmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)gpa(dev, "vkCmdSetScissorWithCount");
556
0
    table->CmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2)gpa(dev, "vkCmdBindVertexBuffers2");
557
0
    table->CmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable)gpa(dev, "vkCmdSetDepthTestEnable");
558
0
    table->CmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)gpa(dev, "vkCmdSetDepthWriteEnable");
559
0
    table->CmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp)gpa(dev, "vkCmdSetDepthCompareOp");
560
0
    table->CmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)gpa(dev, "vkCmdSetDepthBoundsTestEnable");
561
0
    table->CmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)gpa(dev, "vkCmdSetStencilTestEnable");
562
0
    table->CmdSetStencilOp = (PFN_vkCmdSetStencilOp)gpa(dev, "vkCmdSetStencilOp");
563
0
    table->CmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)gpa(dev, "vkCmdSetRasterizerDiscardEnable");
564
0
    table->CmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)gpa(dev, "vkCmdSetDepthBiasEnable");
565
0
    table->CmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)gpa(dev, "vkCmdSetPrimitiveRestartEnable");
566
567
    // ---- Core Vulkan 1.4 commands
568
0
    table->MapMemory2 = (PFN_vkMapMemory2)gpa(dev, "vkMapMemory2");
569
0
    table->UnmapMemory2 = (PFN_vkUnmapMemory2)gpa(dev, "vkUnmapMemory2");
570
0
    table->GetDeviceImageSubresourceLayout = (PFN_vkGetDeviceImageSubresourceLayout)gpa(dev, "vkGetDeviceImageSubresourceLayout");
571
0
    table->GetImageSubresourceLayout2 = (PFN_vkGetImageSubresourceLayout2)gpa(dev, "vkGetImageSubresourceLayout2");
572
0
    table->CopyMemoryToImage = (PFN_vkCopyMemoryToImage)gpa(dev, "vkCopyMemoryToImage");
573
0
    table->CopyImageToMemory = (PFN_vkCopyImageToMemory)gpa(dev, "vkCopyImageToMemory");
574
0
    table->CopyImageToImage = (PFN_vkCopyImageToImage)gpa(dev, "vkCopyImageToImage");
575
0
    table->TransitionImageLayout = (PFN_vkTransitionImageLayout)gpa(dev, "vkTransitionImageLayout");
576
0
    table->CmdPushDescriptorSet = (PFN_vkCmdPushDescriptorSet)gpa(dev, "vkCmdPushDescriptorSet");
577
0
    table->CmdPushDescriptorSetWithTemplate = (PFN_vkCmdPushDescriptorSetWithTemplate)gpa(dev, "vkCmdPushDescriptorSetWithTemplate");
578
0
    table->CmdBindDescriptorSets2 = (PFN_vkCmdBindDescriptorSets2)gpa(dev, "vkCmdBindDescriptorSets2");
579
0
    table->CmdPushConstants2 = (PFN_vkCmdPushConstants2)gpa(dev, "vkCmdPushConstants2");
580
0
    table->CmdPushDescriptorSet2 = (PFN_vkCmdPushDescriptorSet2)gpa(dev, "vkCmdPushDescriptorSet2");
581
0
    table->CmdPushDescriptorSetWithTemplate2 = (PFN_vkCmdPushDescriptorSetWithTemplate2)gpa(dev, "vkCmdPushDescriptorSetWithTemplate2");
582
0
    table->CmdSetLineStipple = (PFN_vkCmdSetLineStipple)gpa(dev, "vkCmdSetLineStipple");
583
0
    table->CmdBindIndexBuffer2 = (PFN_vkCmdBindIndexBuffer2)gpa(dev, "vkCmdBindIndexBuffer2");
584
0
    table->GetRenderingAreaGranularity = (PFN_vkGetRenderingAreaGranularity)gpa(dev, "vkGetRenderingAreaGranularity");
585
0
    table->CmdSetRenderingAttachmentLocations = (PFN_vkCmdSetRenderingAttachmentLocations)gpa(dev, "vkCmdSetRenderingAttachmentLocations");
586
0
    table->CmdSetRenderingInputAttachmentIndices = (PFN_vkCmdSetRenderingInputAttachmentIndices)gpa(dev, "vkCmdSetRenderingInputAttachmentIndices");
587
0
}
588
589
// Init Device function pointer dispatch table with extension commands
590
VKAPI_ATTR void VKAPI_CALL loader_init_device_extension_dispatch_table(struct loader_dev_dispatch_table *dev_table,
591
                                                                       PFN_vkGetInstanceProcAddr gipa,
592
                                                                       PFN_vkGetDeviceProcAddr gdpa,
593
                                                                       VkInstance inst,
594
0
                                                                       VkDevice dev) {
595
0
    VkLayerDispatchTable *table = &dev_table->core_dispatch;
596
0
    table->magic = DEVICE_DISP_TABLE_MAGIC_NUMBER;
597
598
    // ---- VK_KHR_swapchain extension commands
599
0
    table->CreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)gdpa(dev, "vkCreateSwapchainKHR");
600
0
    table->DestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)gdpa(dev, "vkDestroySwapchainKHR");
601
0
    table->GetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)gdpa(dev, "vkGetSwapchainImagesKHR");
602
0
    table->AcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)gdpa(dev, "vkAcquireNextImageKHR");
603
0
    table->QueuePresentKHR = (PFN_vkQueuePresentKHR)gdpa(dev, "vkQueuePresentKHR");
604
0
    table->GetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)gdpa(dev, "vkGetDeviceGroupPresentCapabilitiesKHR");
605
0
    table->GetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)gdpa(dev, "vkGetDeviceGroupSurfacePresentModesKHR");
606
0
    table->AcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)gdpa(dev, "vkAcquireNextImage2KHR");
607
608
    // ---- VK_KHR_display_swapchain extension commands
609
0
    table->CreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)gdpa(dev, "vkCreateSharedSwapchainsKHR");
610
611
    // ---- VK_KHR_video_queue extension commands
612
0
    table->CreateVideoSessionKHR = (PFN_vkCreateVideoSessionKHR)gdpa(dev, "vkCreateVideoSessionKHR");
613
0
    table->DestroyVideoSessionKHR = (PFN_vkDestroyVideoSessionKHR)gdpa(dev, "vkDestroyVideoSessionKHR");
614
0
    table->GetVideoSessionMemoryRequirementsKHR = (PFN_vkGetVideoSessionMemoryRequirementsKHR)gdpa(dev, "vkGetVideoSessionMemoryRequirementsKHR");
615
0
    table->BindVideoSessionMemoryKHR = (PFN_vkBindVideoSessionMemoryKHR)gdpa(dev, "vkBindVideoSessionMemoryKHR");
616
0
    table->CreateVideoSessionParametersKHR = (PFN_vkCreateVideoSessionParametersKHR)gdpa(dev, "vkCreateVideoSessionParametersKHR");
617
0
    table->UpdateVideoSessionParametersKHR = (PFN_vkUpdateVideoSessionParametersKHR)gdpa(dev, "vkUpdateVideoSessionParametersKHR");
618
0
    table->DestroyVideoSessionParametersKHR = (PFN_vkDestroyVideoSessionParametersKHR)gdpa(dev, "vkDestroyVideoSessionParametersKHR");
619
0
    table->CmdBeginVideoCodingKHR = (PFN_vkCmdBeginVideoCodingKHR)gdpa(dev, "vkCmdBeginVideoCodingKHR");
620
0
    table->CmdEndVideoCodingKHR = (PFN_vkCmdEndVideoCodingKHR)gdpa(dev, "vkCmdEndVideoCodingKHR");
621
0
    table->CmdControlVideoCodingKHR = (PFN_vkCmdControlVideoCodingKHR)gdpa(dev, "vkCmdControlVideoCodingKHR");
622
623
    // ---- VK_KHR_video_decode_queue extension commands
624
0
    table->CmdDecodeVideoKHR = (PFN_vkCmdDecodeVideoKHR)gdpa(dev, "vkCmdDecodeVideoKHR");
625
626
    // ---- VK_KHR_dynamic_rendering extension commands
627
0
    table->CmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)gdpa(dev, "vkCmdBeginRenderingKHR");
628
0
    table->CmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)gdpa(dev, "vkCmdEndRenderingKHR");
629
630
    // ---- VK_KHR_device_group extension commands
631
0
    table->GetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)gdpa(dev, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
632
0
    table->CmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)gdpa(dev, "vkCmdSetDeviceMaskKHR");
633
0
    table->CmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)gdpa(dev, "vkCmdDispatchBaseKHR");
634
635
    // ---- VK_KHR_maintenance1 extension commands
636
0
    table->TrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)gdpa(dev, "vkTrimCommandPoolKHR");
637
638
    // ---- VK_KHR_external_memory_win32 extension commands
639
#if defined(VK_USE_PLATFORM_WIN32_KHR)
640
    table->GetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)gdpa(dev, "vkGetMemoryWin32HandleKHR");
641
#endif // VK_USE_PLATFORM_WIN32_KHR
642
#if defined(VK_USE_PLATFORM_WIN32_KHR)
643
    table->GetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)gdpa(dev, "vkGetMemoryWin32HandlePropertiesKHR");
644
#endif // VK_USE_PLATFORM_WIN32_KHR
645
646
    // ---- VK_KHR_external_memory_fd extension commands
647
0
    table->GetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)gdpa(dev, "vkGetMemoryFdKHR");
648
0
    table->GetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)gdpa(dev, "vkGetMemoryFdPropertiesKHR");
649
650
    // ---- VK_KHR_external_semaphore_win32 extension commands
651
#if defined(VK_USE_PLATFORM_WIN32_KHR)
652
    table->ImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)gdpa(dev, "vkImportSemaphoreWin32HandleKHR");
653
#endif // VK_USE_PLATFORM_WIN32_KHR
654
#if defined(VK_USE_PLATFORM_WIN32_KHR)
655
    table->GetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)gdpa(dev, "vkGetSemaphoreWin32HandleKHR");
656
#endif // VK_USE_PLATFORM_WIN32_KHR
657
658
    // ---- VK_KHR_external_semaphore_fd extension commands
659
0
    table->ImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)gdpa(dev, "vkImportSemaphoreFdKHR");
660
0
    table->GetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)gdpa(dev, "vkGetSemaphoreFdKHR");
661
662
    // ---- VK_KHR_push_descriptor extension commands
663
0
    table->CmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)gdpa(dev, "vkCmdPushDescriptorSetKHR");
664
0
    table->CmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)gdpa(dev, "vkCmdPushDescriptorSetWithTemplateKHR");
665
666
    // ---- VK_KHR_descriptor_update_template extension commands
667
0
    table->CreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)gdpa(dev, "vkCreateDescriptorUpdateTemplateKHR");
668
0
    table->DestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)gdpa(dev, "vkDestroyDescriptorUpdateTemplateKHR");
669
0
    table->UpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)gdpa(dev, "vkUpdateDescriptorSetWithTemplateKHR");
670
671
    // ---- VK_KHR_create_renderpass2 extension commands
672
0
    table->CreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)gdpa(dev, "vkCreateRenderPass2KHR");
673
0
    table->CmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)gdpa(dev, "vkCmdBeginRenderPass2KHR");
674
0
    table->CmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)gdpa(dev, "vkCmdNextSubpass2KHR");
675
0
    table->CmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)gdpa(dev, "vkCmdEndRenderPass2KHR");
676
677
    // ---- VK_KHR_shared_presentable_image extension commands
678
0
    table->GetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)gdpa(dev, "vkGetSwapchainStatusKHR");
679
680
    // ---- VK_KHR_external_fence_win32 extension commands
681
#if defined(VK_USE_PLATFORM_WIN32_KHR)
682
    table->ImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)gdpa(dev, "vkImportFenceWin32HandleKHR");
683
#endif // VK_USE_PLATFORM_WIN32_KHR
684
#if defined(VK_USE_PLATFORM_WIN32_KHR)
685
    table->GetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)gdpa(dev, "vkGetFenceWin32HandleKHR");
686
#endif // VK_USE_PLATFORM_WIN32_KHR
687
688
    // ---- VK_KHR_external_fence_fd extension commands
689
0
    table->ImportFenceFdKHR = (PFN_vkImportFenceFdKHR)gdpa(dev, "vkImportFenceFdKHR");
690
0
    table->GetFenceFdKHR = (PFN_vkGetFenceFdKHR)gdpa(dev, "vkGetFenceFdKHR");
691
692
    // ---- VK_KHR_performance_query extension commands
693
0
    table->AcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)gdpa(dev, "vkAcquireProfilingLockKHR");
694
0
    table->ReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)gdpa(dev, "vkReleaseProfilingLockKHR");
695
696
    // ---- VK_KHR_get_memory_requirements2 extension commands
697
0
    table->GetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)gdpa(dev, "vkGetImageMemoryRequirements2KHR");
698
0
    table->GetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)gdpa(dev, "vkGetBufferMemoryRequirements2KHR");
699
0
    table->GetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)gdpa(dev, "vkGetImageSparseMemoryRequirements2KHR");
700
701
    // ---- VK_KHR_sampler_ycbcr_conversion extension commands
702
0
    table->CreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)gdpa(dev, "vkCreateSamplerYcbcrConversionKHR");
703
0
    table->DestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)gdpa(dev, "vkDestroySamplerYcbcrConversionKHR");
704
705
    // ---- VK_KHR_bind_memory2 extension commands
706
0
    table->BindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)gdpa(dev, "vkBindBufferMemory2KHR");
707
0
    table->BindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)gdpa(dev, "vkBindImageMemory2KHR");
708
709
    // ---- VK_KHR_maintenance3 extension commands
710
0
    table->GetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)gdpa(dev, "vkGetDescriptorSetLayoutSupportKHR");
711
712
    // ---- VK_KHR_draw_indirect_count extension commands
713
0
    table->CmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)gdpa(dev, "vkCmdDrawIndirectCountKHR");
714
0
    table->CmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)gdpa(dev, "vkCmdDrawIndexedIndirectCountKHR");
715
716
    // ---- VK_KHR_timeline_semaphore extension commands
717
0
    table->GetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)gdpa(dev, "vkGetSemaphoreCounterValueKHR");
718
0
    table->WaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)gdpa(dev, "vkWaitSemaphoresKHR");
719
0
    table->SignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)gdpa(dev, "vkSignalSemaphoreKHR");
720
721
    // ---- VK_KHR_fragment_shading_rate extension commands
722
0
    table->CmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)gdpa(dev, "vkCmdSetFragmentShadingRateKHR");
723
724
    // ---- VK_KHR_dynamic_rendering_local_read extension commands
725
0
    table->CmdSetRenderingAttachmentLocationsKHR = (PFN_vkCmdSetRenderingAttachmentLocationsKHR)gdpa(dev, "vkCmdSetRenderingAttachmentLocationsKHR");
726
0
    table->CmdSetRenderingInputAttachmentIndicesKHR = (PFN_vkCmdSetRenderingInputAttachmentIndicesKHR)gdpa(dev, "vkCmdSetRenderingInputAttachmentIndicesKHR");
727
728
    // ---- VK_KHR_present_wait extension commands
729
0
    table->WaitForPresentKHR = (PFN_vkWaitForPresentKHR)gdpa(dev, "vkWaitForPresentKHR");
730
731
    // ---- VK_KHR_buffer_device_address extension commands
732
0
    table->GetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)gdpa(dev, "vkGetBufferDeviceAddressKHR");
733
0
    table->GetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)gdpa(dev, "vkGetBufferOpaqueCaptureAddressKHR");
734
0
    table->GetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)gdpa(dev, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
735
736
    // ---- VK_KHR_deferred_host_operations extension commands
737
0
    table->CreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)gdpa(dev, "vkCreateDeferredOperationKHR");
738
0
    table->DestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)gdpa(dev, "vkDestroyDeferredOperationKHR");
739
0
    table->GetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)gdpa(dev, "vkGetDeferredOperationMaxConcurrencyKHR");
740
0
    table->GetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)gdpa(dev, "vkGetDeferredOperationResultKHR");
741
0
    table->DeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)gdpa(dev, "vkDeferredOperationJoinKHR");
742
743
    // ---- VK_KHR_pipeline_executable_properties extension commands
744
0
    table->GetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)gdpa(dev, "vkGetPipelineExecutablePropertiesKHR");
745
0
    table->GetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)gdpa(dev, "vkGetPipelineExecutableStatisticsKHR");
746
0
    table->GetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)gdpa(dev, "vkGetPipelineExecutableInternalRepresentationsKHR");
747
748
    // ---- VK_KHR_map_memory2 extension commands
749
0
    table->MapMemory2KHR = (PFN_vkMapMemory2KHR)gdpa(dev, "vkMapMemory2KHR");
750
0
    table->UnmapMemory2KHR = (PFN_vkUnmapMemory2KHR)gdpa(dev, "vkUnmapMemory2KHR");
751
752
    // ---- VK_KHR_video_encode_queue extension commands
753
0
    table->GetEncodedVideoSessionParametersKHR = (PFN_vkGetEncodedVideoSessionParametersKHR)gdpa(dev, "vkGetEncodedVideoSessionParametersKHR");
754
0
    table->CmdEncodeVideoKHR = (PFN_vkCmdEncodeVideoKHR)gdpa(dev, "vkCmdEncodeVideoKHR");
755
756
    // ---- VK_KHR_synchronization2 extension commands
757
0
    table->CmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)gdpa(dev, "vkCmdSetEvent2KHR");
758
0
    table->CmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)gdpa(dev, "vkCmdResetEvent2KHR");
759
0
    table->CmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)gdpa(dev, "vkCmdWaitEvents2KHR");
760
0
    table->CmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)gdpa(dev, "vkCmdPipelineBarrier2KHR");
761
0
    table->CmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)gdpa(dev, "vkCmdWriteTimestamp2KHR");
762
0
    table->QueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)gdpa(dev, "vkQueueSubmit2KHR");
763
764
    // ---- VK_KHR_device_address_commands extension commands
765
0
    table->CmdBindIndexBuffer3KHR = (PFN_vkCmdBindIndexBuffer3KHR)gdpa(dev, "vkCmdBindIndexBuffer3KHR");
766
0
    table->CmdBindVertexBuffers3KHR = (PFN_vkCmdBindVertexBuffers3KHR)gdpa(dev, "vkCmdBindVertexBuffers3KHR");
767
0
    table->CmdDrawIndirect2KHR = (PFN_vkCmdDrawIndirect2KHR)gdpa(dev, "vkCmdDrawIndirect2KHR");
768
0
    table->CmdDrawIndexedIndirect2KHR = (PFN_vkCmdDrawIndexedIndirect2KHR)gdpa(dev, "vkCmdDrawIndexedIndirect2KHR");
769
0
    table->CmdDispatchIndirect2KHR = (PFN_vkCmdDispatchIndirect2KHR)gdpa(dev, "vkCmdDispatchIndirect2KHR");
770
0
    table->CmdCopyMemoryKHR = (PFN_vkCmdCopyMemoryKHR)gdpa(dev, "vkCmdCopyMemoryKHR");
771
0
    table->CmdCopyMemoryToImageKHR = (PFN_vkCmdCopyMemoryToImageKHR)gdpa(dev, "vkCmdCopyMemoryToImageKHR");
772
0
    table->CmdCopyImageToMemoryKHR = (PFN_vkCmdCopyImageToMemoryKHR)gdpa(dev, "vkCmdCopyImageToMemoryKHR");
773
0
    table->CmdUpdateMemoryKHR = (PFN_vkCmdUpdateMemoryKHR)gdpa(dev, "vkCmdUpdateMemoryKHR");
774
0
    table->CmdFillMemoryKHR = (PFN_vkCmdFillMemoryKHR)gdpa(dev, "vkCmdFillMemoryKHR");
775
0
    table->CmdCopyQueryPoolResultsToMemoryKHR = (PFN_vkCmdCopyQueryPoolResultsToMemoryKHR)gdpa(dev, "vkCmdCopyQueryPoolResultsToMemoryKHR");
776
0
    table->CmdDrawIndirectCount2KHR = (PFN_vkCmdDrawIndirectCount2KHR)gdpa(dev, "vkCmdDrawIndirectCount2KHR");
777
0
    table->CmdDrawIndexedIndirectCount2KHR = (PFN_vkCmdDrawIndexedIndirectCount2KHR)gdpa(dev, "vkCmdDrawIndexedIndirectCount2KHR");
778
0
    table->CmdBeginConditionalRendering2EXT = (PFN_vkCmdBeginConditionalRendering2EXT)gdpa(dev, "vkCmdBeginConditionalRendering2EXT");
779
0
    table->CmdBindTransformFeedbackBuffers2EXT = (PFN_vkCmdBindTransformFeedbackBuffers2EXT)gdpa(dev, "vkCmdBindTransformFeedbackBuffers2EXT");
780
0
    table->CmdBeginTransformFeedback2EXT = (PFN_vkCmdBeginTransformFeedback2EXT)gdpa(dev, "vkCmdBeginTransformFeedback2EXT");
781
0
    table->CmdEndTransformFeedback2EXT = (PFN_vkCmdEndTransformFeedback2EXT)gdpa(dev, "vkCmdEndTransformFeedback2EXT");
782
0
    table->CmdDrawIndirectByteCount2EXT = (PFN_vkCmdDrawIndirectByteCount2EXT)gdpa(dev, "vkCmdDrawIndirectByteCount2EXT");
783
0
    table->CmdDrawMeshTasksIndirect2EXT = (PFN_vkCmdDrawMeshTasksIndirect2EXT)gdpa(dev, "vkCmdDrawMeshTasksIndirect2EXT");
784
0
    table->CmdDrawMeshTasksIndirectCount2EXT = (PFN_vkCmdDrawMeshTasksIndirectCount2EXT)gdpa(dev, "vkCmdDrawMeshTasksIndirectCount2EXT");
785
0
    table->CmdWriteMarkerToMemoryAMD = (PFN_vkCmdWriteMarkerToMemoryAMD)gdpa(dev, "vkCmdWriteMarkerToMemoryAMD");
786
0
    table->CreateAccelerationStructure2KHR = (PFN_vkCreateAccelerationStructure2KHR)gdpa(dev, "vkCreateAccelerationStructure2KHR");
787
788
    // ---- VK_KHR_copy_commands2 extension commands
789
0
    table->CmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)gdpa(dev, "vkCmdCopyBuffer2KHR");
790
0
    table->CmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)gdpa(dev, "vkCmdCopyImage2KHR");
791
0
    table->CmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)gdpa(dev, "vkCmdCopyBufferToImage2KHR");
792
0
    table->CmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)gdpa(dev, "vkCmdCopyImageToBuffer2KHR");
793
0
    table->CmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)gdpa(dev, "vkCmdBlitImage2KHR");
794
0
    table->CmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)gdpa(dev, "vkCmdResolveImage2KHR");
795
796
    // ---- VK_KHR_ray_tracing_maintenance1 extension commands
797
0
    table->CmdTraceRaysIndirect2KHR = (PFN_vkCmdTraceRaysIndirect2KHR)gdpa(dev, "vkCmdTraceRaysIndirect2KHR");
798
799
    // ---- VK_KHR_maintenance4 extension commands
800
0
    table->GetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR)gdpa(dev, "vkGetDeviceBufferMemoryRequirementsKHR");
801
0
    table->GetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR)gdpa(dev, "vkGetDeviceImageMemoryRequirementsKHR");
802
0
    table->GetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)gdpa(dev, "vkGetDeviceImageSparseMemoryRequirementsKHR");
803
804
    // ---- VK_KHR_maintenance5 extension commands
805
0
    table->CmdBindIndexBuffer2KHR = (PFN_vkCmdBindIndexBuffer2KHR)gdpa(dev, "vkCmdBindIndexBuffer2KHR");
806
0
    table->GetRenderingAreaGranularityKHR = (PFN_vkGetRenderingAreaGranularityKHR)gdpa(dev, "vkGetRenderingAreaGranularityKHR");
807
0
    table->GetDeviceImageSubresourceLayoutKHR = (PFN_vkGetDeviceImageSubresourceLayoutKHR)gdpa(dev, "vkGetDeviceImageSubresourceLayoutKHR");
808
0
    table->GetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR)gdpa(dev, "vkGetImageSubresourceLayout2KHR");
809
810
    // ---- VK_KHR_present_wait2 extension commands
811
0
    table->WaitForPresent2KHR = (PFN_vkWaitForPresent2KHR)gdpa(dev, "vkWaitForPresent2KHR");
812
813
    // ---- VK_KHR_pipeline_binary extension commands
814
0
    table->CreatePipelineBinariesKHR = (PFN_vkCreatePipelineBinariesKHR)gdpa(dev, "vkCreatePipelineBinariesKHR");
815
0
    table->DestroyPipelineBinaryKHR = (PFN_vkDestroyPipelineBinaryKHR)gdpa(dev, "vkDestroyPipelineBinaryKHR");
816
0
    table->GetPipelineKeyKHR = (PFN_vkGetPipelineKeyKHR)gdpa(dev, "vkGetPipelineKeyKHR");
817
0
    table->GetPipelineBinaryDataKHR = (PFN_vkGetPipelineBinaryDataKHR)gdpa(dev, "vkGetPipelineBinaryDataKHR");
818
0
    table->ReleaseCapturedPipelineDataKHR = (PFN_vkReleaseCapturedPipelineDataKHR)gdpa(dev, "vkReleaseCapturedPipelineDataKHR");
819
820
    // ---- VK_KHR_swapchain_maintenance1 extension commands
821
0
    table->ReleaseSwapchainImagesKHR = (PFN_vkReleaseSwapchainImagesKHR)gdpa(dev, "vkReleaseSwapchainImagesKHR");
822
823
    // ---- VK_KHR_line_rasterization extension commands
824
0
    table->CmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)gdpa(dev, "vkCmdSetLineStippleKHR");
825
826
    // ---- VK_KHR_calibrated_timestamps extension commands
827
0
    table->GetCalibratedTimestampsKHR = (PFN_vkGetCalibratedTimestampsKHR)gdpa(dev, "vkGetCalibratedTimestampsKHR");
828
829
    // ---- VK_KHR_maintenance6 extension commands
830
0
    table->CmdBindDescriptorSets2KHR = (PFN_vkCmdBindDescriptorSets2KHR)gdpa(dev, "vkCmdBindDescriptorSets2KHR");
831
0
    table->CmdPushConstants2KHR = (PFN_vkCmdPushConstants2KHR)gdpa(dev, "vkCmdPushConstants2KHR");
832
0
    table->CmdPushDescriptorSet2KHR = (PFN_vkCmdPushDescriptorSet2KHR)gdpa(dev, "vkCmdPushDescriptorSet2KHR");
833
0
    table->CmdPushDescriptorSetWithTemplate2KHR = (PFN_vkCmdPushDescriptorSetWithTemplate2KHR)gdpa(dev, "vkCmdPushDescriptorSetWithTemplate2KHR");
834
0
    table->CmdSetDescriptorBufferOffsets2EXT = (PFN_vkCmdSetDescriptorBufferOffsets2EXT)gdpa(dev, "vkCmdSetDescriptorBufferOffsets2EXT");
835
0
    table->CmdBindDescriptorBufferEmbeddedSamplers2EXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)gdpa(dev, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT");
836
837
    // ---- VK_KHR_copy_memory_indirect extension commands
838
0
    table->CmdCopyMemoryIndirectKHR = (PFN_vkCmdCopyMemoryIndirectKHR)gdpa(dev, "vkCmdCopyMemoryIndirectKHR");
839
0
    table->CmdCopyMemoryToImageIndirectKHR = (PFN_vkCmdCopyMemoryToImageIndirectKHR)gdpa(dev, "vkCmdCopyMemoryToImageIndirectKHR");
840
841
    // ---- VK_KHR_device_fault extension commands
842
0
    table->GetDeviceFaultReportsKHR = (PFN_vkGetDeviceFaultReportsKHR)gdpa(dev, "vkGetDeviceFaultReportsKHR");
843
0
    table->GetDeviceFaultDebugInfoKHR = (PFN_vkGetDeviceFaultDebugInfoKHR)gdpa(dev, "vkGetDeviceFaultDebugInfoKHR");
844
845
    // ---- VK_KHR_maintenance10 extension commands
846
0
    table->CmdEndRendering2KHR = (PFN_vkCmdEndRendering2KHR)gdpa(dev, "vkCmdEndRendering2KHR");
847
848
    // ---- VK_EXT_debug_marker extension commands
849
0
    table->DebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)gdpa(dev, "vkDebugMarkerSetObjectTagEXT");
850
0
    table->DebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)gdpa(dev, "vkDebugMarkerSetObjectNameEXT");
851
0
    table->CmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)gdpa(dev, "vkCmdDebugMarkerBeginEXT");
852
0
    table->CmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)gdpa(dev, "vkCmdDebugMarkerEndEXT");
853
0
    table->CmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)gdpa(dev, "vkCmdDebugMarkerInsertEXT");
854
855
    // ---- VK_EXT_transform_feedback extension commands
856
0
    table->CmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)gdpa(dev, "vkCmdBindTransformFeedbackBuffersEXT");
857
0
    table->CmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)gdpa(dev, "vkCmdBeginTransformFeedbackEXT");
858
0
    table->CmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)gdpa(dev, "vkCmdEndTransformFeedbackEXT");
859
0
    table->CmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)gdpa(dev, "vkCmdBeginQueryIndexedEXT");
860
0
    table->CmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)gdpa(dev, "vkCmdEndQueryIndexedEXT");
861
0
    table->CmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)gdpa(dev, "vkCmdDrawIndirectByteCountEXT");
862
863
    // ---- VK_NVX_binary_import extension commands
864
0
    table->CreateCuModuleNVX = (PFN_vkCreateCuModuleNVX)gdpa(dev, "vkCreateCuModuleNVX");
865
0
    table->CreateCuFunctionNVX = (PFN_vkCreateCuFunctionNVX)gdpa(dev, "vkCreateCuFunctionNVX");
866
0
    table->DestroyCuModuleNVX = (PFN_vkDestroyCuModuleNVX)gdpa(dev, "vkDestroyCuModuleNVX");
867
0
    table->DestroyCuFunctionNVX = (PFN_vkDestroyCuFunctionNVX)gdpa(dev, "vkDestroyCuFunctionNVX");
868
0
    table->CmdCuLaunchKernelNVX = (PFN_vkCmdCuLaunchKernelNVX)gdpa(dev, "vkCmdCuLaunchKernelNVX");
869
870
    // ---- VK_NVX_image_view_handle extension commands
871
0
    table->GetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)gdpa(dev, "vkGetImageViewHandleNVX");
872
0
    table->GetImageViewHandle64NVX = (PFN_vkGetImageViewHandle64NVX)gdpa(dev, "vkGetImageViewHandle64NVX");
873
0
    table->GetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)gdpa(dev, "vkGetImageViewAddressNVX");
874
0
    table->GetDeviceCombinedImageSamplerIndexNVX = (PFN_vkGetDeviceCombinedImageSamplerIndexNVX)gdpa(dev, "vkGetDeviceCombinedImageSamplerIndexNVX");
875
876
    // ---- VK_AMD_draw_indirect_count extension commands
877
0
    table->CmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)gdpa(dev, "vkCmdDrawIndirectCountAMD");
878
0
    table->CmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)gdpa(dev, "vkCmdDrawIndexedIndirectCountAMD");
879
880
    // ---- VK_AMD_shader_info extension commands
881
0
    table->GetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)gdpa(dev, "vkGetShaderInfoAMD");
882
883
    // ---- VK_NV_external_memory_win32 extension commands
884
#if defined(VK_USE_PLATFORM_WIN32_KHR)
885
    table->GetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)gdpa(dev, "vkGetMemoryWin32HandleNV");
886
#endif // VK_USE_PLATFORM_WIN32_KHR
887
888
    // ---- VK_EXT_conditional_rendering extension commands
889
0
    table->CmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)gdpa(dev, "vkCmdBeginConditionalRenderingEXT");
890
0
    table->CmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)gdpa(dev, "vkCmdEndConditionalRenderingEXT");
891
892
    // ---- VK_NV_clip_space_w_scaling extension commands
893
0
    table->CmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)gdpa(dev, "vkCmdSetViewportWScalingNV");
894
895
    // ---- VK_EXT_display_control extension commands
896
0
    table->DisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)gdpa(dev, "vkDisplayPowerControlEXT");
897
0
    table->RegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)gdpa(dev, "vkRegisterDeviceEventEXT");
898
0
    table->RegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)gdpa(dev, "vkRegisterDisplayEventEXT");
899
0
    table->GetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)gdpa(dev, "vkGetSwapchainCounterEXT");
900
901
    // ---- VK_GOOGLE_display_timing extension commands
902
0
    table->GetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)gdpa(dev, "vkGetRefreshCycleDurationGOOGLE");
903
0
    table->GetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)gdpa(dev, "vkGetPastPresentationTimingGOOGLE");
904
905
    // ---- VK_EXT_discard_rectangles extension commands
906
0
    table->CmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)gdpa(dev, "vkCmdSetDiscardRectangleEXT");
907
0
    table->CmdSetDiscardRectangleEnableEXT = (PFN_vkCmdSetDiscardRectangleEnableEXT)gdpa(dev, "vkCmdSetDiscardRectangleEnableEXT");
908
0
    table->CmdSetDiscardRectangleModeEXT = (PFN_vkCmdSetDiscardRectangleModeEXT)gdpa(dev, "vkCmdSetDiscardRectangleModeEXT");
909
910
    // ---- VK_EXT_hdr_metadata extension commands
911
0
    table->SetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)gdpa(dev, "vkSetHdrMetadataEXT");
912
913
    // ---- VK_EXT_debug_utils extension commands
914
0
    table->SetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)gipa(inst, "vkSetDebugUtilsObjectNameEXT");
915
0
    table->SetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)gipa(inst, "vkSetDebugUtilsObjectTagEXT");
916
0
    table->QueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)gipa(inst, "vkQueueBeginDebugUtilsLabelEXT");
917
0
    table->QueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)gipa(inst, "vkQueueEndDebugUtilsLabelEXT");
918
0
    table->QueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT)gipa(inst, "vkQueueInsertDebugUtilsLabelEXT");
919
0
    table->CmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)gipa(inst, "vkCmdBeginDebugUtilsLabelEXT");
920
0
    table->CmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)gipa(inst, "vkCmdEndDebugUtilsLabelEXT");
921
0
    table->CmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)gipa(inst, "vkCmdInsertDebugUtilsLabelEXT");
922
923
    // ---- VK_ANDROID_external_memory_android_hardware_buffer extension commands
924
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
925
    table->GetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)gdpa(dev, "vkGetAndroidHardwareBufferPropertiesANDROID");
926
#endif // VK_USE_PLATFORM_ANDROID_KHR
927
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
928
    table->GetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)gdpa(dev, "vkGetMemoryAndroidHardwareBufferANDROID");
929
#endif // VK_USE_PLATFORM_ANDROID_KHR
930
931
    // ---- VK_AMD_gpa_interface extension commands
932
0
    table->CreateGpaSessionAMD = (PFN_vkCreateGpaSessionAMD)gdpa(dev, "vkCreateGpaSessionAMD");
933
0
    table->DestroyGpaSessionAMD = (PFN_vkDestroyGpaSessionAMD)gdpa(dev, "vkDestroyGpaSessionAMD");
934
0
    table->SetGpaDeviceClockModeAMD = (PFN_vkSetGpaDeviceClockModeAMD)gdpa(dev, "vkSetGpaDeviceClockModeAMD");
935
0
    table->GetGpaDeviceClockInfoAMD = (PFN_vkGetGpaDeviceClockInfoAMD)gdpa(dev, "vkGetGpaDeviceClockInfoAMD");
936
0
    table->CmdBeginGpaSessionAMD = (PFN_vkCmdBeginGpaSessionAMD)gdpa(dev, "vkCmdBeginGpaSessionAMD");
937
0
    table->CmdEndGpaSessionAMD = (PFN_vkCmdEndGpaSessionAMD)gdpa(dev, "vkCmdEndGpaSessionAMD");
938
0
    table->CmdBeginGpaSampleAMD = (PFN_vkCmdBeginGpaSampleAMD)gdpa(dev, "vkCmdBeginGpaSampleAMD");
939
0
    table->CmdEndGpaSampleAMD = (PFN_vkCmdEndGpaSampleAMD)gdpa(dev, "vkCmdEndGpaSampleAMD");
940
0
    table->GetGpaSessionStatusAMD = (PFN_vkGetGpaSessionStatusAMD)gdpa(dev, "vkGetGpaSessionStatusAMD");
941
0
    table->GetGpaSessionResultsAMD = (PFN_vkGetGpaSessionResultsAMD)gdpa(dev, "vkGetGpaSessionResultsAMD");
942
0
    table->ResetGpaSessionAMD = (PFN_vkResetGpaSessionAMD)gdpa(dev, "vkResetGpaSessionAMD");
943
0
    table->CmdCopyGpaSessionResultsAMD = (PFN_vkCmdCopyGpaSessionResultsAMD)gdpa(dev, "vkCmdCopyGpaSessionResultsAMD");
944
945
    // ---- VK_AMDX_shader_enqueue extension commands
946
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
947
0
    table->CreateExecutionGraphPipelinesAMDX = (PFN_vkCreateExecutionGraphPipelinesAMDX)gdpa(dev, "vkCreateExecutionGraphPipelinesAMDX");
948
0
#endif // VK_ENABLE_BETA_EXTENSIONS
949
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
950
0
    table->GetExecutionGraphPipelineScratchSizeAMDX = (PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)gdpa(dev, "vkGetExecutionGraphPipelineScratchSizeAMDX");
951
0
#endif // VK_ENABLE_BETA_EXTENSIONS
952
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
953
0
    table->GetExecutionGraphPipelineNodeIndexAMDX = (PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)gdpa(dev, "vkGetExecutionGraphPipelineNodeIndexAMDX");
954
0
#endif // VK_ENABLE_BETA_EXTENSIONS
955
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
956
0
    table->CmdInitializeGraphScratchMemoryAMDX = (PFN_vkCmdInitializeGraphScratchMemoryAMDX)gdpa(dev, "vkCmdInitializeGraphScratchMemoryAMDX");
957
0
#endif // VK_ENABLE_BETA_EXTENSIONS
958
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
959
0
    table->CmdDispatchGraphAMDX = (PFN_vkCmdDispatchGraphAMDX)gdpa(dev, "vkCmdDispatchGraphAMDX");
960
0
#endif // VK_ENABLE_BETA_EXTENSIONS
961
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
962
0
    table->CmdDispatchGraphIndirectAMDX = (PFN_vkCmdDispatchGraphIndirectAMDX)gdpa(dev, "vkCmdDispatchGraphIndirectAMDX");
963
0
#endif // VK_ENABLE_BETA_EXTENSIONS
964
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
965
0
    table->CmdDispatchGraphIndirectCountAMDX = (PFN_vkCmdDispatchGraphIndirectCountAMDX)gdpa(dev, "vkCmdDispatchGraphIndirectCountAMDX");
966
0
#endif // VK_ENABLE_BETA_EXTENSIONS
967
968
    // ---- VK_EXT_descriptor_heap extension commands
969
0
    table->WriteSamplerDescriptorsEXT = (PFN_vkWriteSamplerDescriptorsEXT)gdpa(dev, "vkWriteSamplerDescriptorsEXT");
970
0
    table->WriteResourceDescriptorsEXT = (PFN_vkWriteResourceDescriptorsEXT)gdpa(dev, "vkWriteResourceDescriptorsEXT");
971
0
    table->CmdBindSamplerHeapEXT = (PFN_vkCmdBindSamplerHeapEXT)gdpa(dev, "vkCmdBindSamplerHeapEXT");
972
0
    table->CmdBindResourceHeapEXT = (PFN_vkCmdBindResourceHeapEXT)gdpa(dev, "vkCmdBindResourceHeapEXT");
973
0
    table->CmdPushDataEXT = (PFN_vkCmdPushDataEXT)gdpa(dev, "vkCmdPushDataEXT");
974
0
    table->GetImageOpaqueCaptureDataEXT = (PFN_vkGetImageOpaqueCaptureDataEXT)gdpa(dev, "vkGetImageOpaqueCaptureDataEXT");
975
0
    table->RegisterCustomBorderColorEXT = (PFN_vkRegisterCustomBorderColorEXT)gdpa(dev, "vkRegisterCustomBorderColorEXT");
976
0
    table->UnregisterCustomBorderColorEXT = (PFN_vkUnregisterCustomBorderColorEXT)gdpa(dev, "vkUnregisterCustomBorderColorEXT");
977
0
    table->GetTensorOpaqueCaptureDataARM = (PFN_vkGetTensorOpaqueCaptureDataARM)gdpa(dev, "vkGetTensorOpaqueCaptureDataARM");
978
979
    // ---- VK_EXT_sample_locations extension commands
980
0
    table->CmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)gdpa(dev, "vkCmdSetSampleLocationsEXT");
981
982
    // ---- VK_EXT_image_drm_format_modifier extension commands
983
0
    table->GetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)gdpa(dev, "vkGetImageDrmFormatModifierPropertiesEXT");
984
985
    // ---- VK_EXT_validation_cache extension commands
986
0
    table->CreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)gdpa(dev, "vkCreateValidationCacheEXT");
987
0
    table->DestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)gdpa(dev, "vkDestroyValidationCacheEXT");
988
0
    table->MergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)gdpa(dev, "vkMergeValidationCachesEXT");
989
0
    table->GetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)gdpa(dev, "vkGetValidationCacheDataEXT");
990
991
    // ---- VK_NV_shading_rate_image extension commands
992
0
    table->CmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)gdpa(dev, "vkCmdBindShadingRateImageNV");
993
0
    table->CmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)gdpa(dev, "vkCmdSetViewportShadingRatePaletteNV");
994
0
    table->CmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)gdpa(dev, "vkCmdSetCoarseSampleOrderNV");
995
996
    // ---- VK_NV_ray_tracing extension commands
997
0
    table->CreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)gdpa(dev, "vkCreateAccelerationStructureNV");
998
0
    table->DestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)gdpa(dev, "vkDestroyAccelerationStructureNV");
999
0
    table->GetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)gdpa(dev, "vkGetAccelerationStructureMemoryRequirementsNV");
1000
0
    table->BindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)gdpa(dev, "vkBindAccelerationStructureMemoryNV");
1001
0
    table->CmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)gdpa(dev, "vkCmdBuildAccelerationStructureNV");
1002
0
    table->CmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)gdpa(dev, "vkCmdCopyAccelerationStructureNV");
1003
0
    table->CmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)gdpa(dev, "vkCmdTraceRaysNV");
1004
0
    table->CreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)gdpa(dev, "vkCreateRayTracingPipelinesNV");
1005
1006
    // ---- VK_KHR_ray_tracing_pipeline extension commands
1007
0
    table->GetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)gdpa(dev, "vkGetRayTracingShaderGroupHandlesKHR");
1008
1009
    // ---- VK_NV_ray_tracing extension commands
1010
0
    table->GetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)gdpa(dev, "vkGetRayTracingShaderGroupHandlesNV");
1011
0
    table->GetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)gdpa(dev, "vkGetAccelerationStructureHandleNV");
1012
0
    table->CmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)gdpa(dev, "vkCmdWriteAccelerationStructuresPropertiesNV");
1013
0
    table->CompileDeferredNV = (PFN_vkCompileDeferredNV)gdpa(dev, "vkCompileDeferredNV");
1014
1015
    // ---- VK_EXT_external_memory_host extension commands
1016
0
    table->GetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)gdpa(dev, "vkGetMemoryHostPointerPropertiesEXT");
1017
1018
    // ---- VK_AMD_buffer_marker extension commands
1019
0
    table->CmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)gdpa(dev, "vkCmdWriteBufferMarkerAMD");
1020
0
    table->CmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)gdpa(dev, "vkCmdWriteBufferMarker2AMD");
1021
1022
    // ---- VK_EXT_calibrated_timestamps extension commands
1023
0
    table->GetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)gdpa(dev, "vkGetCalibratedTimestampsEXT");
1024
1025
    // ---- VK_NV_mesh_shader extension commands
1026
0
    table->CmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)gdpa(dev, "vkCmdDrawMeshTasksNV");
1027
0
    table->CmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)gdpa(dev, "vkCmdDrawMeshTasksIndirectNV");
1028
0
    table->CmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)gdpa(dev, "vkCmdDrawMeshTasksIndirectCountNV");
1029
1030
    // ---- VK_NV_scissor_exclusive extension commands
1031
0
    table->CmdSetExclusiveScissorEnableNV = (PFN_vkCmdSetExclusiveScissorEnableNV)gdpa(dev, "vkCmdSetExclusiveScissorEnableNV");
1032
0
    table->CmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)gdpa(dev, "vkCmdSetExclusiveScissorNV");
1033
1034
    // ---- VK_NV_device_diagnostic_checkpoints extension commands
1035
0
    table->CmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)gdpa(dev, "vkCmdSetCheckpointNV");
1036
0
    table->GetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)gdpa(dev, "vkGetQueueCheckpointDataNV");
1037
0
    table->GetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)gdpa(dev, "vkGetQueueCheckpointData2NV");
1038
1039
    // ---- VK_EXT_present_timing extension commands
1040
0
    table->SetSwapchainPresentTimingQueueSizeEXT = (PFN_vkSetSwapchainPresentTimingQueueSizeEXT)gdpa(dev, "vkSetSwapchainPresentTimingQueueSizeEXT");
1041
0
    table->GetSwapchainTimingPropertiesEXT = (PFN_vkGetSwapchainTimingPropertiesEXT)gdpa(dev, "vkGetSwapchainTimingPropertiesEXT");
1042
0
    table->GetSwapchainTimeDomainPropertiesEXT = (PFN_vkGetSwapchainTimeDomainPropertiesEXT)gdpa(dev, "vkGetSwapchainTimeDomainPropertiesEXT");
1043
0
    table->GetPastPresentationTimingEXT = (PFN_vkGetPastPresentationTimingEXT)gdpa(dev, "vkGetPastPresentationTimingEXT");
1044
1045
    // ---- VK_INTEL_performance_query extension commands
1046
0
    table->InitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)gdpa(dev, "vkInitializePerformanceApiINTEL");
1047
0
    table->UninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)gdpa(dev, "vkUninitializePerformanceApiINTEL");
1048
0
    table->CmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)gdpa(dev, "vkCmdSetPerformanceMarkerINTEL");
1049
0
    table->CmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)gdpa(dev, "vkCmdSetPerformanceStreamMarkerINTEL");
1050
0
    table->CmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)gdpa(dev, "vkCmdSetPerformanceOverrideINTEL");
1051
0
    table->AcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)gdpa(dev, "vkAcquirePerformanceConfigurationINTEL");
1052
0
    table->ReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)gdpa(dev, "vkReleasePerformanceConfigurationINTEL");
1053
0
    table->QueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)gdpa(dev, "vkQueueSetPerformanceConfigurationINTEL");
1054
0
    table->GetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)gdpa(dev, "vkGetPerformanceParameterINTEL");
1055
1056
    // ---- VK_AMD_display_native_hdr extension commands
1057
0
    table->SetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)gdpa(dev, "vkSetLocalDimmingAMD");
1058
1059
    // ---- VK_EXT_buffer_device_address extension commands
1060
0
    table->GetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)gdpa(dev, "vkGetBufferDeviceAddressEXT");
1061
1062
    // ---- VK_EXT_full_screen_exclusive extension commands
1063
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1064
    table->AcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)gdpa(dev, "vkAcquireFullScreenExclusiveModeEXT");
1065
#endif // VK_USE_PLATFORM_WIN32_KHR
1066
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1067
    table->ReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)gdpa(dev, "vkReleaseFullScreenExclusiveModeEXT");
1068
#endif // VK_USE_PLATFORM_WIN32_KHR
1069
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1070
    table->GetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)gdpa(dev, "vkGetDeviceGroupSurfacePresentModes2EXT");
1071
#endif // VK_USE_PLATFORM_WIN32_KHR
1072
1073
    // ---- VK_EXT_line_rasterization extension commands
1074
0
    table->CmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)gdpa(dev, "vkCmdSetLineStippleEXT");
1075
1076
    // ---- VK_EXT_host_query_reset extension commands
1077
0
    table->ResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)gdpa(dev, "vkResetQueryPoolEXT");
1078
1079
    // ---- VK_EXT_extended_dynamic_state extension commands
1080
0
    table->CmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)gdpa(dev, "vkCmdSetCullModeEXT");
1081
0
    table->CmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)gdpa(dev, "vkCmdSetFrontFaceEXT");
1082
0
    table->CmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)gdpa(dev, "vkCmdSetPrimitiveTopologyEXT");
1083
0
    table->CmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)gdpa(dev, "vkCmdSetViewportWithCountEXT");
1084
0
    table->CmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)gdpa(dev, "vkCmdSetScissorWithCountEXT");
1085
0
    table->CmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)gdpa(dev, "vkCmdBindVertexBuffers2EXT");
1086
0
    table->CmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)gdpa(dev, "vkCmdSetDepthTestEnableEXT");
1087
0
    table->CmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)gdpa(dev, "vkCmdSetDepthWriteEnableEXT");
1088
0
    table->CmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)gdpa(dev, "vkCmdSetDepthCompareOpEXT");
1089
0
    table->CmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)gdpa(dev, "vkCmdSetDepthBoundsTestEnableEXT");
1090
0
    table->CmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)gdpa(dev, "vkCmdSetStencilTestEnableEXT");
1091
0
    table->CmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)gdpa(dev, "vkCmdSetStencilOpEXT");
1092
1093
    // ---- VK_EXT_host_image_copy extension commands
1094
0
    table->CopyMemoryToImageEXT = (PFN_vkCopyMemoryToImageEXT)gdpa(dev, "vkCopyMemoryToImageEXT");
1095
0
    table->CopyImageToMemoryEXT = (PFN_vkCopyImageToMemoryEXT)gdpa(dev, "vkCopyImageToMemoryEXT");
1096
0
    table->CopyImageToImageEXT = (PFN_vkCopyImageToImageEXT)gdpa(dev, "vkCopyImageToImageEXT");
1097
0
    table->TransitionImageLayoutEXT = (PFN_vkTransitionImageLayoutEXT)gdpa(dev, "vkTransitionImageLayoutEXT");
1098
0
    table->GetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)gdpa(dev, "vkGetImageSubresourceLayout2EXT");
1099
1100
    // ---- VK_EXT_swapchain_maintenance1 extension commands
1101
0
    table->ReleaseSwapchainImagesEXT = (PFN_vkReleaseSwapchainImagesEXT)gdpa(dev, "vkReleaseSwapchainImagesEXT");
1102
1103
    // ---- VK_NV_device_generated_commands extension commands
1104
0
    table->GetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)gdpa(dev, "vkGetGeneratedCommandsMemoryRequirementsNV");
1105
0
    table->CmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)gdpa(dev, "vkCmdPreprocessGeneratedCommandsNV");
1106
0
    table->CmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)gdpa(dev, "vkCmdExecuteGeneratedCommandsNV");
1107
0
    table->CmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)gdpa(dev, "vkCmdBindPipelineShaderGroupNV");
1108
0
    table->CreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)gdpa(dev, "vkCreateIndirectCommandsLayoutNV");
1109
0
    table->DestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)gdpa(dev, "vkDestroyIndirectCommandsLayoutNV");
1110
1111
    // ---- VK_EXT_depth_bias_control extension commands
1112
0
    table->CmdSetDepthBias2EXT = (PFN_vkCmdSetDepthBias2EXT)gdpa(dev, "vkCmdSetDepthBias2EXT");
1113
1114
    // ---- VK_EXT_private_data extension commands
1115
0
    table->CreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)gdpa(dev, "vkCreatePrivateDataSlotEXT");
1116
0
    table->DestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)gdpa(dev, "vkDestroyPrivateDataSlotEXT");
1117
0
    table->SetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)gdpa(dev, "vkSetPrivateDataEXT");
1118
0
    table->GetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)gdpa(dev, "vkGetPrivateDataEXT");
1119
1120
    // ---- VK_QCOM_queue_perf_hint extension commands
1121
0
    table->QueueSetPerfHintQCOM = (PFN_vkQueueSetPerfHintQCOM)gdpa(dev, "vkQueueSetPerfHintQCOM");
1122
1123
    // ---- VK_NV_cuda_kernel_launch extension commands
1124
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
1125
0
    table->CreateCudaModuleNV = (PFN_vkCreateCudaModuleNV)gdpa(dev, "vkCreateCudaModuleNV");
1126
0
#endif // VK_ENABLE_BETA_EXTENSIONS
1127
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
1128
0
    table->GetCudaModuleCacheNV = (PFN_vkGetCudaModuleCacheNV)gdpa(dev, "vkGetCudaModuleCacheNV");
1129
0
#endif // VK_ENABLE_BETA_EXTENSIONS
1130
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
1131
0
    table->CreateCudaFunctionNV = (PFN_vkCreateCudaFunctionNV)gdpa(dev, "vkCreateCudaFunctionNV");
1132
0
#endif // VK_ENABLE_BETA_EXTENSIONS
1133
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
1134
0
    table->DestroyCudaModuleNV = (PFN_vkDestroyCudaModuleNV)gdpa(dev, "vkDestroyCudaModuleNV");
1135
0
#endif // VK_ENABLE_BETA_EXTENSIONS
1136
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
1137
0
    table->DestroyCudaFunctionNV = (PFN_vkDestroyCudaFunctionNV)gdpa(dev, "vkDestroyCudaFunctionNV");
1138
0
#endif // VK_ENABLE_BETA_EXTENSIONS
1139
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
1140
0
    table->CmdCudaLaunchKernelNV = (PFN_vkCmdCudaLaunchKernelNV)gdpa(dev, "vkCmdCudaLaunchKernelNV");
1141
0
#endif // VK_ENABLE_BETA_EXTENSIONS
1142
1143
    // ---- VK_QCOM_tile_shading extension commands
1144
0
    table->CmdDispatchTileQCOM = (PFN_vkCmdDispatchTileQCOM)gdpa(dev, "vkCmdDispatchTileQCOM");
1145
0
    table->CmdBeginPerTileExecutionQCOM = (PFN_vkCmdBeginPerTileExecutionQCOM)gdpa(dev, "vkCmdBeginPerTileExecutionQCOM");
1146
0
    table->CmdEndPerTileExecutionQCOM = (PFN_vkCmdEndPerTileExecutionQCOM)gdpa(dev, "vkCmdEndPerTileExecutionQCOM");
1147
1148
    // ---- VK_NV_low_latency extension commands
1149
0
    table->SetLatencySleepModeLegacyNV = (PFN_vkSetLatencySleepModeLegacyNV)gdpa(dev, "vkSetLatencySleepModeLegacyNV");
1150
0
    table->LatencySleepLegacyNV = (PFN_vkLatencySleepLegacyNV)gdpa(dev, "vkLatencySleepLegacyNV");
1151
0
    table->SetLatencyMarkerLegacyNV = (PFN_vkSetLatencyMarkerLegacyNV)gdpa(dev, "vkSetLatencyMarkerLegacyNV");
1152
0
    table->GetLatencyTimingsLegacyNV = (PFN_vkGetLatencyTimingsLegacyNV)gdpa(dev, "vkGetLatencyTimingsLegacyNV");
1153
0
    table->QueueNotifyOutOfBandLegacyNV = (PFN_vkQueueNotifyOutOfBandLegacyNV)gdpa(dev, "vkQueueNotifyOutOfBandLegacyNV");
1154
0
    table->GetSleepStatusLegacyNV = (PFN_vkGetSleepStatusLegacyNV)gdpa(dev, "vkGetSleepStatusLegacyNV");
1155
0
    table->ShutdownLatencyDeviceLegacyNV = (PFN_vkShutdownLatencyDeviceLegacyNV)gdpa(dev, "vkShutdownLatencyDeviceLegacyNV");
1156
1157
    // ---- VK_EXT_metal_objects extension commands
1158
#if defined(VK_USE_PLATFORM_METAL_EXT)
1159
    table->ExportMetalObjectsEXT = (PFN_vkExportMetalObjectsEXT)gdpa(dev, "vkExportMetalObjectsEXT");
1160
#endif // VK_USE_PLATFORM_METAL_EXT
1161
1162
    // ---- VK_EXT_descriptor_buffer extension commands
1163
0
    table->GetDescriptorSetLayoutSizeEXT = (PFN_vkGetDescriptorSetLayoutSizeEXT)gdpa(dev, "vkGetDescriptorSetLayoutSizeEXT");
1164
0
    table->GetDescriptorSetLayoutBindingOffsetEXT = (PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)gdpa(dev, "vkGetDescriptorSetLayoutBindingOffsetEXT");
1165
0
    table->GetDescriptorEXT = (PFN_vkGetDescriptorEXT)gdpa(dev, "vkGetDescriptorEXT");
1166
0
    table->CmdBindDescriptorBuffersEXT = (PFN_vkCmdBindDescriptorBuffersEXT)gdpa(dev, "vkCmdBindDescriptorBuffersEXT");
1167
0
    table->CmdSetDescriptorBufferOffsetsEXT = (PFN_vkCmdSetDescriptorBufferOffsetsEXT)gdpa(dev, "vkCmdSetDescriptorBufferOffsetsEXT");
1168
0
    table->CmdBindDescriptorBufferEmbeddedSamplersEXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)gdpa(dev, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT");
1169
0
    table->GetBufferOpaqueCaptureDescriptorDataEXT = (PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)gdpa(dev, "vkGetBufferOpaqueCaptureDescriptorDataEXT");
1170
0
    table->GetImageOpaqueCaptureDescriptorDataEXT = (PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)gdpa(dev, "vkGetImageOpaqueCaptureDescriptorDataEXT");
1171
0
    table->GetImageViewOpaqueCaptureDescriptorDataEXT = (PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)gdpa(dev, "vkGetImageViewOpaqueCaptureDescriptorDataEXT");
1172
0
    table->GetSamplerOpaqueCaptureDescriptorDataEXT = (PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)gdpa(dev, "vkGetSamplerOpaqueCaptureDescriptorDataEXT");
1173
0
    table->GetAccelerationStructureOpaqueCaptureDescriptorDataEXT = (PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)gdpa(dev, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT");
1174
1175
    // ---- VK_NV_fragment_shading_rate_enums extension commands
1176
0
    table->CmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)gdpa(dev, "vkCmdSetFragmentShadingRateEnumNV");
1177
1178
    // ---- VK_EXT_device_fault extension commands
1179
0
    table->GetDeviceFaultInfoEXT = (PFN_vkGetDeviceFaultInfoEXT)gdpa(dev, "vkGetDeviceFaultInfoEXT");
1180
1181
    // ---- VK_EXT_vertex_input_dynamic_state extension commands
1182
0
    table->CmdSetVertexInputEXT = (PFN_vkCmdSetVertexInputEXT)gdpa(dev, "vkCmdSetVertexInputEXT");
1183
1184
    // ---- VK_FUCHSIA_external_memory extension commands
1185
#if defined(VK_USE_PLATFORM_FUCHSIA)
1186
    table->GetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA)gdpa(dev, "vkGetMemoryZirconHandleFUCHSIA");
1187
#endif // VK_USE_PLATFORM_FUCHSIA
1188
#if defined(VK_USE_PLATFORM_FUCHSIA)
1189
    table->GetMemoryZirconHandlePropertiesFUCHSIA = (PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)gdpa(dev, "vkGetMemoryZirconHandlePropertiesFUCHSIA");
1190
#endif // VK_USE_PLATFORM_FUCHSIA
1191
1192
    // ---- VK_FUCHSIA_external_semaphore extension commands
1193
#if defined(VK_USE_PLATFORM_FUCHSIA)
1194
    table->ImportSemaphoreZirconHandleFUCHSIA = (PFN_vkImportSemaphoreZirconHandleFUCHSIA)gdpa(dev, "vkImportSemaphoreZirconHandleFUCHSIA");
1195
#endif // VK_USE_PLATFORM_FUCHSIA
1196
#if defined(VK_USE_PLATFORM_FUCHSIA)
1197
    table->GetSemaphoreZirconHandleFUCHSIA = (PFN_vkGetSemaphoreZirconHandleFUCHSIA)gdpa(dev, "vkGetSemaphoreZirconHandleFUCHSIA");
1198
#endif // VK_USE_PLATFORM_FUCHSIA
1199
1200
    // ---- VK_FUCHSIA_buffer_collection extension commands
1201
#if defined(VK_USE_PLATFORM_FUCHSIA)
1202
    table->CreateBufferCollectionFUCHSIA = (PFN_vkCreateBufferCollectionFUCHSIA)gdpa(dev, "vkCreateBufferCollectionFUCHSIA");
1203
#endif // VK_USE_PLATFORM_FUCHSIA
1204
#if defined(VK_USE_PLATFORM_FUCHSIA)
1205
    table->SetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)gdpa(dev, "vkSetBufferCollectionImageConstraintsFUCHSIA");
1206
#endif // VK_USE_PLATFORM_FUCHSIA
1207
#if defined(VK_USE_PLATFORM_FUCHSIA)
1208
    table->SetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)gdpa(dev, "vkSetBufferCollectionBufferConstraintsFUCHSIA");
1209
#endif // VK_USE_PLATFORM_FUCHSIA
1210
#if defined(VK_USE_PLATFORM_FUCHSIA)
1211
    table->DestroyBufferCollectionFUCHSIA = (PFN_vkDestroyBufferCollectionFUCHSIA)gdpa(dev, "vkDestroyBufferCollectionFUCHSIA");
1212
#endif // VK_USE_PLATFORM_FUCHSIA
1213
#if defined(VK_USE_PLATFORM_FUCHSIA)
1214
    table->GetBufferCollectionPropertiesFUCHSIA = (PFN_vkGetBufferCollectionPropertiesFUCHSIA)gdpa(dev, "vkGetBufferCollectionPropertiesFUCHSIA");
1215
#endif // VK_USE_PLATFORM_FUCHSIA
1216
1217
    // ---- VK_HUAWEI_subpass_shading extension commands
1218
0
    table->GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = (PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)gdpa(dev, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
1219
0
    table->CmdSubpassShadingHUAWEI = (PFN_vkCmdSubpassShadingHUAWEI)gdpa(dev, "vkCmdSubpassShadingHUAWEI");
1220
1221
    // ---- VK_HUAWEI_invocation_mask extension commands
1222
0
    table->CmdBindInvocationMaskHUAWEI = (PFN_vkCmdBindInvocationMaskHUAWEI)gdpa(dev, "vkCmdBindInvocationMaskHUAWEI");
1223
1224
    // ---- VK_NV_external_memory_rdma extension commands
1225
0
    table->GetMemoryRemoteAddressNV = (PFN_vkGetMemoryRemoteAddressNV)gdpa(dev, "vkGetMemoryRemoteAddressNV");
1226
1227
    // ---- VK_EXT_pipeline_properties extension commands
1228
0
    table->GetPipelinePropertiesEXT = (PFN_vkGetPipelinePropertiesEXT)gdpa(dev, "vkGetPipelinePropertiesEXT");
1229
1230
    // ---- VK_EXT_extended_dynamic_state2 extension commands
1231
0
    table->CmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT)gdpa(dev, "vkCmdSetPatchControlPointsEXT");
1232
0
    table->CmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)gdpa(dev, "vkCmdSetRasterizerDiscardEnableEXT");
1233
0
    table->CmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)gdpa(dev, "vkCmdSetDepthBiasEnableEXT");
1234
0
    table->CmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT)gdpa(dev, "vkCmdSetLogicOpEXT");
1235
0
    table->CmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT)gdpa(dev, "vkCmdSetPrimitiveRestartEnableEXT");
1236
1237
    // ---- VK_EXT_color_write_enable extension commands
1238
0
    table->CmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)gdpa(dev, "vkCmdSetColorWriteEnableEXT");
1239
1240
    // ---- VK_EXT_multi_draw extension commands
1241
0
    table->CmdDrawMultiEXT = (PFN_vkCmdDrawMultiEXT)gdpa(dev, "vkCmdDrawMultiEXT");
1242
0
    table->CmdDrawMultiIndexedEXT = (PFN_vkCmdDrawMultiIndexedEXT)gdpa(dev, "vkCmdDrawMultiIndexedEXT");
1243
1244
    // ---- VK_EXT_opacity_micromap extension commands
1245
0
    table->CreateMicromapEXT = (PFN_vkCreateMicromapEXT)gdpa(dev, "vkCreateMicromapEXT");
1246
0
    table->DestroyMicromapEXT = (PFN_vkDestroyMicromapEXT)gdpa(dev, "vkDestroyMicromapEXT");
1247
0
    table->CmdBuildMicromapsEXT = (PFN_vkCmdBuildMicromapsEXT)gdpa(dev, "vkCmdBuildMicromapsEXT");
1248
0
    table->BuildMicromapsEXT = (PFN_vkBuildMicromapsEXT)gdpa(dev, "vkBuildMicromapsEXT");
1249
0
    table->CopyMicromapEXT = (PFN_vkCopyMicromapEXT)gdpa(dev, "vkCopyMicromapEXT");
1250
0
    table->CopyMicromapToMemoryEXT = (PFN_vkCopyMicromapToMemoryEXT)gdpa(dev, "vkCopyMicromapToMemoryEXT");
1251
0
    table->CopyMemoryToMicromapEXT = (PFN_vkCopyMemoryToMicromapEXT)gdpa(dev, "vkCopyMemoryToMicromapEXT");
1252
0
    table->WriteMicromapsPropertiesEXT = (PFN_vkWriteMicromapsPropertiesEXT)gdpa(dev, "vkWriteMicromapsPropertiesEXT");
1253
0
    table->CmdCopyMicromapEXT = (PFN_vkCmdCopyMicromapEXT)gdpa(dev, "vkCmdCopyMicromapEXT");
1254
0
    table->CmdCopyMicromapToMemoryEXT = (PFN_vkCmdCopyMicromapToMemoryEXT)gdpa(dev, "vkCmdCopyMicromapToMemoryEXT");
1255
0
    table->CmdCopyMemoryToMicromapEXT = (PFN_vkCmdCopyMemoryToMicromapEXT)gdpa(dev, "vkCmdCopyMemoryToMicromapEXT");
1256
0
    table->CmdWriteMicromapsPropertiesEXT = (PFN_vkCmdWriteMicromapsPropertiesEXT)gdpa(dev, "vkCmdWriteMicromapsPropertiesEXT");
1257
0
    table->GetDeviceMicromapCompatibilityEXT = (PFN_vkGetDeviceMicromapCompatibilityEXT)gdpa(dev, "vkGetDeviceMicromapCompatibilityEXT");
1258
0
    table->GetMicromapBuildSizesEXT = (PFN_vkGetMicromapBuildSizesEXT)gdpa(dev, "vkGetMicromapBuildSizesEXT");
1259
1260
    // ---- VK_HUAWEI_cluster_culling_shader extension commands
1261
0
    table->CmdDrawClusterHUAWEI = (PFN_vkCmdDrawClusterHUAWEI)gdpa(dev, "vkCmdDrawClusterHUAWEI");
1262
0
    table->CmdDrawClusterIndirectHUAWEI = (PFN_vkCmdDrawClusterIndirectHUAWEI)gdpa(dev, "vkCmdDrawClusterIndirectHUAWEI");
1263
1264
    // ---- VK_EXT_pageable_device_local_memory extension commands
1265
0
    table->SetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)gdpa(dev, "vkSetDeviceMemoryPriorityEXT");
1266
1267
    // ---- VK_ARM_scheduling_controls extension commands
1268
0
    table->CmdSetDispatchParametersARM = (PFN_vkCmdSetDispatchParametersARM)gdpa(dev, "vkCmdSetDispatchParametersARM");
1269
1270
    // ---- VK_VALVE_descriptor_set_host_mapping extension commands
1271
0
    table->GetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)gdpa(dev, "vkGetDescriptorSetLayoutHostMappingInfoVALVE");
1272
0
    table->GetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)gdpa(dev, "vkGetDescriptorSetHostMappingVALVE");
1273
1274
    // ---- VK_NV_copy_memory_indirect extension commands
1275
0
    table->CmdCopyMemoryIndirectNV = (PFN_vkCmdCopyMemoryIndirectNV)gdpa(dev, "vkCmdCopyMemoryIndirectNV");
1276
0
    table->CmdCopyMemoryToImageIndirectNV = (PFN_vkCmdCopyMemoryToImageIndirectNV)gdpa(dev, "vkCmdCopyMemoryToImageIndirectNV");
1277
1278
    // ---- VK_NV_memory_decompression extension commands
1279
0
    table->CmdDecompressMemoryNV = (PFN_vkCmdDecompressMemoryNV)gdpa(dev, "vkCmdDecompressMemoryNV");
1280
0
    table->CmdDecompressMemoryIndirectCountNV = (PFN_vkCmdDecompressMemoryIndirectCountNV)gdpa(dev, "vkCmdDecompressMemoryIndirectCountNV");
1281
1282
    // ---- VK_NV_device_generated_commands_compute extension commands
1283
0
    table->GetPipelineIndirectMemoryRequirementsNV = (PFN_vkGetPipelineIndirectMemoryRequirementsNV)gdpa(dev, "vkGetPipelineIndirectMemoryRequirementsNV");
1284
0
    table->CmdUpdatePipelineIndirectBufferNV = (PFN_vkCmdUpdatePipelineIndirectBufferNV)gdpa(dev, "vkCmdUpdatePipelineIndirectBufferNV");
1285
0
    table->GetPipelineIndirectDeviceAddressNV = (PFN_vkGetPipelineIndirectDeviceAddressNV)gdpa(dev, "vkGetPipelineIndirectDeviceAddressNV");
1286
1287
    // ---- VK_OHOS_external_memory extension commands
1288
#if defined(VK_USE_PLATFORM_OHOS)
1289
    table->GetNativeBufferPropertiesOHOS = (PFN_vkGetNativeBufferPropertiesOHOS)gdpa(dev, "vkGetNativeBufferPropertiesOHOS");
1290
#endif // VK_USE_PLATFORM_OHOS
1291
#if defined(VK_USE_PLATFORM_OHOS)
1292
    table->GetMemoryNativeBufferOHOS = (PFN_vkGetMemoryNativeBufferOHOS)gdpa(dev, "vkGetMemoryNativeBufferOHOS");
1293
#endif // VK_USE_PLATFORM_OHOS
1294
1295
    // ---- VK_EXT_extended_dynamic_state3 extension commands
1296
0
    table->CmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)gdpa(dev, "vkCmdSetDepthClampEnableEXT");
1297
0
    table->CmdSetPolygonModeEXT = (PFN_vkCmdSetPolygonModeEXT)gdpa(dev, "vkCmdSetPolygonModeEXT");
1298
0
    table->CmdSetRasterizationSamplesEXT = (PFN_vkCmdSetRasterizationSamplesEXT)gdpa(dev, "vkCmdSetRasterizationSamplesEXT");
1299
0
    table->CmdSetSampleMaskEXT = (PFN_vkCmdSetSampleMaskEXT)gdpa(dev, "vkCmdSetSampleMaskEXT");
1300
0
    table->CmdSetAlphaToCoverageEnableEXT = (PFN_vkCmdSetAlphaToCoverageEnableEXT)gdpa(dev, "vkCmdSetAlphaToCoverageEnableEXT");
1301
0
    table->CmdSetAlphaToOneEnableEXT = (PFN_vkCmdSetAlphaToOneEnableEXT)gdpa(dev, "vkCmdSetAlphaToOneEnableEXT");
1302
0
    table->CmdSetLogicOpEnableEXT = (PFN_vkCmdSetLogicOpEnableEXT)gdpa(dev, "vkCmdSetLogicOpEnableEXT");
1303
0
    table->CmdSetColorBlendEnableEXT = (PFN_vkCmdSetColorBlendEnableEXT)gdpa(dev, "vkCmdSetColorBlendEnableEXT");
1304
0
    table->CmdSetColorBlendEquationEXT = (PFN_vkCmdSetColorBlendEquationEXT)gdpa(dev, "vkCmdSetColorBlendEquationEXT");
1305
0
    table->CmdSetColorWriteMaskEXT = (PFN_vkCmdSetColorWriteMaskEXT)gdpa(dev, "vkCmdSetColorWriteMaskEXT");
1306
0
    table->CmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT)gdpa(dev, "vkCmdSetTessellationDomainOriginEXT");
1307
0
    table->CmdSetRasterizationStreamEXT = (PFN_vkCmdSetRasterizationStreamEXT)gdpa(dev, "vkCmdSetRasterizationStreamEXT");
1308
0
    table->CmdSetConservativeRasterizationModeEXT = (PFN_vkCmdSetConservativeRasterizationModeEXT)gdpa(dev, "vkCmdSetConservativeRasterizationModeEXT");
1309
0
    table->CmdSetExtraPrimitiveOverestimationSizeEXT = (PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)gdpa(dev, "vkCmdSetExtraPrimitiveOverestimationSizeEXT");
1310
0
    table->CmdSetDepthClipEnableEXT = (PFN_vkCmdSetDepthClipEnableEXT)gdpa(dev, "vkCmdSetDepthClipEnableEXT");
1311
0
    table->CmdSetSampleLocationsEnableEXT = (PFN_vkCmdSetSampleLocationsEnableEXT)gdpa(dev, "vkCmdSetSampleLocationsEnableEXT");
1312
0
    table->CmdSetColorBlendAdvancedEXT = (PFN_vkCmdSetColorBlendAdvancedEXT)gdpa(dev, "vkCmdSetColorBlendAdvancedEXT");
1313
0
    table->CmdSetProvokingVertexModeEXT = (PFN_vkCmdSetProvokingVertexModeEXT)gdpa(dev, "vkCmdSetProvokingVertexModeEXT");
1314
0
    table->CmdSetLineRasterizationModeEXT = (PFN_vkCmdSetLineRasterizationModeEXT)gdpa(dev, "vkCmdSetLineRasterizationModeEXT");
1315
0
    table->CmdSetLineStippleEnableEXT = (PFN_vkCmdSetLineStippleEnableEXT)gdpa(dev, "vkCmdSetLineStippleEnableEXT");
1316
0
    table->CmdSetDepthClipNegativeOneToOneEXT = (PFN_vkCmdSetDepthClipNegativeOneToOneEXT)gdpa(dev, "vkCmdSetDepthClipNegativeOneToOneEXT");
1317
0
    table->CmdSetViewportWScalingEnableNV = (PFN_vkCmdSetViewportWScalingEnableNV)gdpa(dev, "vkCmdSetViewportWScalingEnableNV");
1318
0
    table->CmdSetViewportSwizzleNV = (PFN_vkCmdSetViewportSwizzleNV)gdpa(dev, "vkCmdSetViewportSwizzleNV");
1319
0
    table->CmdSetCoverageToColorEnableNV = (PFN_vkCmdSetCoverageToColorEnableNV)gdpa(dev, "vkCmdSetCoverageToColorEnableNV");
1320
0
    table->CmdSetCoverageToColorLocationNV = (PFN_vkCmdSetCoverageToColorLocationNV)gdpa(dev, "vkCmdSetCoverageToColorLocationNV");
1321
0
    table->CmdSetCoverageModulationModeNV = (PFN_vkCmdSetCoverageModulationModeNV)gdpa(dev, "vkCmdSetCoverageModulationModeNV");
1322
0
    table->CmdSetCoverageModulationTableEnableNV = (PFN_vkCmdSetCoverageModulationTableEnableNV)gdpa(dev, "vkCmdSetCoverageModulationTableEnableNV");
1323
0
    table->CmdSetCoverageModulationTableNV = (PFN_vkCmdSetCoverageModulationTableNV)gdpa(dev, "vkCmdSetCoverageModulationTableNV");
1324
0
    table->CmdSetShadingRateImageEnableNV = (PFN_vkCmdSetShadingRateImageEnableNV)gdpa(dev, "vkCmdSetShadingRateImageEnableNV");
1325
0
    table->CmdSetRepresentativeFragmentTestEnableNV = (PFN_vkCmdSetRepresentativeFragmentTestEnableNV)gdpa(dev, "vkCmdSetRepresentativeFragmentTestEnableNV");
1326
0
    table->CmdSetCoverageReductionModeNV = (PFN_vkCmdSetCoverageReductionModeNV)gdpa(dev, "vkCmdSetCoverageReductionModeNV");
1327
1328
    // ---- VK_ARM_tensors extension commands
1329
0
    table->CreateTensorARM = (PFN_vkCreateTensorARM)gdpa(dev, "vkCreateTensorARM");
1330
0
    table->DestroyTensorARM = (PFN_vkDestroyTensorARM)gdpa(dev, "vkDestroyTensorARM");
1331
0
    table->CreateTensorViewARM = (PFN_vkCreateTensorViewARM)gdpa(dev, "vkCreateTensorViewARM");
1332
0
    table->DestroyTensorViewARM = (PFN_vkDestroyTensorViewARM)gdpa(dev, "vkDestroyTensorViewARM");
1333
0
    table->GetTensorMemoryRequirementsARM = (PFN_vkGetTensorMemoryRequirementsARM)gdpa(dev, "vkGetTensorMemoryRequirementsARM");
1334
0
    table->BindTensorMemoryARM = (PFN_vkBindTensorMemoryARM)gdpa(dev, "vkBindTensorMemoryARM");
1335
0
    table->GetDeviceTensorMemoryRequirementsARM = (PFN_vkGetDeviceTensorMemoryRequirementsARM)gdpa(dev, "vkGetDeviceTensorMemoryRequirementsARM");
1336
0
    table->CmdCopyTensorARM = (PFN_vkCmdCopyTensorARM)gdpa(dev, "vkCmdCopyTensorARM");
1337
0
    table->GetTensorOpaqueCaptureDescriptorDataARM = (PFN_vkGetTensorOpaqueCaptureDescriptorDataARM)gdpa(dev, "vkGetTensorOpaqueCaptureDescriptorDataARM");
1338
0
    table->GetTensorViewOpaqueCaptureDescriptorDataARM = (PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM)gdpa(dev, "vkGetTensorViewOpaqueCaptureDescriptorDataARM");
1339
1340
    // ---- VK_EXT_shader_module_identifier extension commands
1341
0
    table->GetShaderModuleIdentifierEXT = (PFN_vkGetShaderModuleIdentifierEXT)gdpa(dev, "vkGetShaderModuleIdentifierEXT");
1342
0
    table->GetShaderModuleCreateInfoIdentifierEXT = (PFN_vkGetShaderModuleCreateInfoIdentifierEXT)gdpa(dev, "vkGetShaderModuleCreateInfoIdentifierEXT");
1343
1344
    // ---- VK_NV_optical_flow extension commands
1345
0
    table->CreateOpticalFlowSessionNV = (PFN_vkCreateOpticalFlowSessionNV)gdpa(dev, "vkCreateOpticalFlowSessionNV");
1346
0
    table->DestroyOpticalFlowSessionNV = (PFN_vkDestroyOpticalFlowSessionNV)gdpa(dev, "vkDestroyOpticalFlowSessionNV");
1347
0
    table->BindOpticalFlowSessionImageNV = (PFN_vkBindOpticalFlowSessionImageNV)gdpa(dev, "vkBindOpticalFlowSessionImageNV");
1348
0
    table->CmdOpticalFlowExecuteNV = (PFN_vkCmdOpticalFlowExecuteNV)gdpa(dev, "vkCmdOpticalFlowExecuteNV");
1349
1350
    // ---- VK_AMD_anti_lag extension commands
1351
0
    table->AntiLagUpdateAMD = (PFN_vkAntiLagUpdateAMD)gdpa(dev, "vkAntiLagUpdateAMD");
1352
1353
    // ---- VK_EXT_shader_object extension commands
1354
0
    table->CreateShadersEXT = (PFN_vkCreateShadersEXT)gdpa(dev, "vkCreateShadersEXT");
1355
0
    table->DestroyShaderEXT = (PFN_vkDestroyShaderEXT)gdpa(dev, "vkDestroyShaderEXT");
1356
0
    table->GetShaderBinaryDataEXT = (PFN_vkGetShaderBinaryDataEXT)gdpa(dev, "vkGetShaderBinaryDataEXT");
1357
0
    table->CmdBindShadersEXT = (PFN_vkCmdBindShadersEXT)gdpa(dev, "vkCmdBindShadersEXT");
1358
0
    table->CmdSetDepthClampRangeEXT = (PFN_vkCmdSetDepthClampRangeEXT)gdpa(dev, "vkCmdSetDepthClampRangeEXT");
1359
1360
    // ---- VK_QCOM_tile_properties extension commands
1361
0
    table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)gdpa(dev, "vkGetFramebufferTilePropertiesQCOM");
1362
0
    table->GetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)gdpa(dev, "vkGetDynamicRenderingTilePropertiesQCOM");
1363
1364
    // ---- VK_NV_cooperative_vector extension commands
1365
0
    table->ConvertCooperativeVectorMatrixNV = (PFN_vkConvertCooperativeVectorMatrixNV)gdpa(dev, "vkConvertCooperativeVectorMatrixNV");
1366
0
    table->CmdConvertCooperativeVectorMatrixNV = (PFN_vkCmdConvertCooperativeVectorMatrixNV)gdpa(dev, "vkCmdConvertCooperativeVectorMatrixNV");
1367
1368
    // ---- VK_NV_low_latency2 extension commands
1369
0
    table->SetLatencySleepModeNV = (PFN_vkSetLatencySleepModeNV)gdpa(dev, "vkSetLatencySleepModeNV");
1370
0
    table->LatencySleepNV = (PFN_vkLatencySleepNV)gdpa(dev, "vkLatencySleepNV");
1371
0
    table->SetLatencyMarkerNV = (PFN_vkSetLatencyMarkerNV)gdpa(dev, "vkSetLatencyMarkerNV");
1372
0
    table->GetLatencyTimingsNV = (PFN_vkGetLatencyTimingsNV)gdpa(dev, "vkGetLatencyTimingsNV");
1373
0
    table->QueueNotifyOutOfBandNV = (PFN_vkQueueNotifyOutOfBandNV)gdpa(dev, "vkQueueNotifyOutOfBandNV");
1374
1375
    // ---- VK_ARM_data_graph extension commands
1376
0
    table->CreateDataGraphPipelinesARM = (PFN_vkCreateDataGraphPipelinesARM)gdpa(dev, "vkCreateDataGraphPipelinesARM");
1377
0
    table->CreateDataGraphPipelineSessionARM = (PFN_vkCreateDataGraphPipelineSessionARM)gdpa(dev, "vkCreateDataGraphPipelineSessionARM");
1378
0
    table->GetDataGraphPipelineSessionBindPointRequirementsARM = (PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)gdpa(dev, "vkGetDataGraphPipelineSessionBindPointRequirementsARM");
1379
0
    table->GetDataGraphPipelineSessionMemoryRequirementsARM = (PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)gdpa(dev, "vkGetDataGraphPipelineSessionMemoryRequirementsARM");
1380
0
    table->BindDataGraphPipelineSessionMemoryARM = (PFN_vkBindDataGraphPipelineSessionMemoryARM)gdpa(dev, "vkBindDataGraphPipelineSessionMemoryARM");
1381
0
    table->DestroyDataGraphPipelineSessionARM = (PFN_vkDestroyDataGraphPipelineSessionARM)gdpa(dev, "vkDestroyDataGraphPipelineSessionARM");
1382
0
    table->CmdDispatchDataGraphARM = (PFN_vkCmdDispatchDataGraphARM)gdpa(dev, "vkCmdDispatchDataGraphARM");
1383
0
    table->GetDataGraphPipelineAvailablePropertiesARM = (PFN_vkGetDataGraphPipelineAvailablePropertiesARM)gdpa(dev, "vkGetDataGraphPipelineAvailablePropertiesARM");
1384
0
    table->GetDataGraphPipelinePropertiesARM = (PFN_vkGetDataGraphPipelinePropertiesARM)gdpa(dev, "vkGetDataGraphPipelinePropertiesARM");
1385
1386
    // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands
1387
0
    table->CmdSetAttachmentFeedbackLoopEnableEXT = (PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)gdpa(dev, "vkCmdSetAttachmentFeedbackLoopEnableEXT");
1388
1389
    // ---- VK_QNX_external_memory_screen_buffer extension commands
1390
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
1391
    table->GetScreenBufferPropertiesQNX = (PFN_vkGetScreenBufferPropertiesQNX)gdpa(dev, "vkGetScreenBufferPropertiesQNX");
1392
#endif // VK_USE_PLATFORM_SCREEN_QNX
1393
1394
    // ---- VK_QCOM_tile_memory_heap extension commands
1395
0
    table->CmdBindTileMemoryQCOM = (PFN_vkCmdBindTileMemoryQCOM)gdpa(dev, "vkCmdBindTileMemoryQCOM");
1396
1397
    // ---- VK_EXT_memory_decompression extension commands
1398
0
    table->CmdDecompressMemoryEXT = (PFN_vkCmdDecompressMemoryEXT)gdpa(dev, "vkCmdDecompressMemoryEXT");
1399
0
    table->CmdDecompressMemoryIndirectCountEXT = (PFN_vkCmdDecompressMemoryIndirectCountEXT)gdpa(dev, "vkCmdDecompressMemoryIndirectCountEXT");
1400
1401
    // ---- VK_NV_external_compute_queue extension commands
1402
0
    table->CreateExternalComputeQueueNV = (PFN_vkCreateExternalComputeQueueNV)gdpa(dev, "vkCreateExternalComputeQueueNV");
1403
0
    table->DestroyExternalComputeQueueNV = (PFN_vkDestroyExternalComputeQueueNV)gdpa(dev, "vkDestroyExternalComputeQueueNV");
1404
0
    table->GetExternalComputeQueueDataNV = (PFN_vkGetExternalComputeQueueDataNV)gdpa(dev, "vkGetExternalComputeQueueDataNV");
1405
1406
    // ---- VK_NV_cluster_acceleration_structure extension commands
1407
0
    table->GetClusterAccelerationStructureBuildSizesNV = (PFN_vkGetClusterAccelerationStructureBuildSizesNV)gdpa(dev, "vkGetClusterAccelerationStructureBuildSizesNV");
1408
0
    table->CmdBuildClusterAccelerationStructureIndirectNV = (PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)gdpa(dev, "vkCmdBuildClusterAccelerationStructureIndirectNV");
1409
1410
    // ---- VK_NV_partitioned_acceleration_structure extension commands
1411
0
    table->GetPartitionedAccelerationStructuresBuildSizesNV = (PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)gdpa(dev, "vkGetPartitionedAccelerationStructuresBuildSizesNV");
1412
0
    table->CmdBuildPartitionedAccelerationStructuresNV = (PFN_vkCmdBuildPartitionedAccelerationStructuresNV)gdpa(dev, "vkCmdBuildPartitionedAccelerationStructuresNV");
1413
1414
    // ---- VK_EXT_device_generated_commands extension commands
1415
0
    table->GetGeneratedCommandsMemoryRequirementsEXT = (PFN_vkGetGeneratedCommandsMemoryRequirementsEXT)gdpa(dev, "vkGetGeneratedCommandsMemoryRequirementsEXT");
1416
0
    table->CmdPreprocessGeneratedCommandsEXT = (PFN_vkCmdPreprocessGeneratedCommandsEXT)gdpa(dev, "vkCmdPreprocessGeneratedCommandsEXT");
1417
0
    table->CmdExecuteGeneratedCommandsEXT = (PFN_vkCmdExecuteGeneratedCommandsEXT)gdpa(dev, "vkCmdExecuteGeneratedCommandsEXT");
1418
0
    table->CreateIndirectCommandsLayoutEXT = (PFN_vkCreateIndirectCommandsLayoutEXT)gdpa(dev, "vkCreateIndirectCommandsLayoutEXT");
1419
0
    table->DestroyIndirectCommandsLayoutEXT = (PFN_vkDestroyIndirectCommandsLayoutEXT)gdpa(dev, "vkDestroyIndirectCommandsLayoutEXT");
1420
0
    table->CreateIndirectExecutionSetEXT = (PFN_vkCreateIndirectExecutionSetEXT)gdpa(dev, "vkCreateIndirectExecutionSetEXT");
1421
0
    table->DestroyIndirectExecutionSetEXT = (PFN_vkDestroyIndirectExecutionSetEXT)gdpa(dev, "vkDestroyIndirectExecutionSetEXT");
1422
0
    table->UpdateIndirectExecutionSetPipelineEXT = (PFN_vkUpdateIndirectExecutionSetPipelineEXT)gdpa(dev, "vkUpdateIndirectExecutionSetPipelineEXT");
1423
0
    table->UpdateIndirectExecutionSetShaderEXT = (PFN_vkUpdateIndirectExecutionSetShaderEXT)gdpa(dev, "vkUpdateIndirectExecutionSetShaderEXT");
1424
1425
    // ---- VK_EXT_external_memory_metal extension commands
1426
#if defined(VK_USE_PLATFORM_METAL_EXT)
1427
    table->GetMemoryMetalHandleEXT = (PFN_vkGetMemoryMetalHandleEXT)gdpa(dev, "vkGetMemoryMetalHandleEXT");
1428
#endif // VK_USE_PLATFORM_METAL_EXT
1429
#if defined(VK_USE_PLATFORM_METAL_EXT)
1430
    table->GetMemoryMetalHandlePropertiesEXT = (PFN_vkGetMemoryMetalHandlePropertiesEXT)gdpa(dev, "vkGetMemoryMetalHandlePropertiesEXT");
1431
#endif // VK_USE_PLATFORM_METAL_EXT
1432
1433
    // ---- VK_ARM_shader_instrumentation extension commands
1434
0
    table->CreateShaderInstrumentationARM = (PFN_vkCreateShaderInstrumentationARM)gdpa(dev, "vkCreateShaderInstrumentationARM");
1435
0
    table->DestroyShaderInstrumentationARM = (PFN_vkDestroyShaderInstrumentationARM)gdpa(dev, "vkDestroyShaderInstrumentationARM");
1436
0
    table->CmdBeginShaderInstrumentationARM = (PFN_vkCmdBeginShaderInstrumentationARM)gdpa(dev, "vkCmdBeginShaderInstrumentationARM");
1437
0
    table->CmdEndShaderInstrumentationARM = (PFN_vkCmdEndShaderInstrumentationARM)gdpa(dev, "vkCmdEndShaderInstrumentationARM");
1438
0
    table->GetShaderInstrumentationValuesARM = (PFN_vkGetShaderInstrumentationValuesARM)gdpa(dev, "vkGetShaderInstrumentationValuesARM");
1439
0
    table->ClearShaderInstrumentationMetricsARM = (PFN_vkClearShaderInstrumentationMetricsARM)gdpa(dev, "vkClearShaderInstrumentationMetricsARM");
1440
1441
    // ---- VK_EXT_fragment_density_map_offset extension commands
1442
0
    table->CmdEndRendering2EXT = (PFN_vkCmdEndRendering2EXT)gdpa(dev, "vkCmdEndRendering2EXT");
1443
1444
    // ---- VK_EXT_custom_resolve extension commands
1445
0
    table->CmdBeginCustomResolveEXT = (PFN_vkCmdBeginCustomResolveEXT)gdpa(dev, "vkCmdBeginCustomResolveEXT");
1446
1447
    // ---- VK_NV_compute_occupancy_priority extension commands
1448
0
    table->CmdSetComputeOccupancyPriorityNV = (PFN_vkCmdSetComputeOccupancyPriorityNV)gdpa(dev, "vkCmdSetComputeOccupancyPriorityNV");
1449
1450
    // ---- VK_EXT_primitive_restart_index extension commands
1451
0
    table->CmdSetPrimitiveRestartIndexEXT = (PFN_vkCmdSetPrimitiveRestartIndexEXT)gdpa(dev, "vkCmdSetPrimitiveRestartIndexEXT");
1452
1453
    // ---- VK_KHR_acceleration_structure extension commands
1454
0
    table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)gdpa(dev, "vkCreateAccelerationStructureKHR");
1455
0
    table->DestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)gdpa(dev, "vkDestroyAccelerationStructureKHR");
1456
0
    table->CmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)gdpa(dev, "vkCmdBuildAccelerationStructuresKHR");
1457
0
    table->CmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)gdpa(dev, "vkCmdBuildAccelerationStructuresIndirectKHR");
1458
0
    table->BuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)gdpa(dev, "vkBuildAccelerationStructuresKHR");
1459
0
    table->CopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)gdpa(dev, "vkCopyAccelerationStructureKHR");
1460
0
    table->CopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)gdpa(dev, "vkCopyAccelerationStructureToMemoryKHR");
1461
0
    table->CopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)gdpa(dev, "vkCopyMemoryToAccelerationStructureKHR");
1462
0
    table->WriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)gdpa(dev, "vkWriteAccelerationStructuresPropertiesKHR");
1463
0
    table->CmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)gdpa(dev, "vkCmdCopyAccelerationStructureKHR");
1464
0
    table->CmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)gdpa(dev, "vkCmdCopyAccelerationStructureToMemoryKHR");
1465
0
    table->CmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)gdpa(dev, "vkCmdCopyMemoryToAccelerationStructureKHR");
1466
0
    table->GetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)gdpa(dev, "vkGetAccelerationStructureDeviceAddressKHR");
1467
0
    table->CmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)gdpa(dev, "vkCmdWriteAccelerationStructuresPropertiesKHR");
1468
0
    table->GetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)gdpa(dev, "vkGetDeviceAccelerationStructureCompatibilityKHR");
1469
0
    table->GetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)gdpa(dev, "vkGetAccelerationStructureBuildSizesKHR");
1470
1471
    // ---- VK_KHR_ray_tracing_pipeline extension commands
1472
0
    table->CmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)gdpa(dev, "vkCmdTraceRaysKHR");
1473
0
    table->CreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)gdpa(dev, "vkCreateRayTracingPipelinesKHR");
1474
0
    table->GetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)gdpa(dev, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
1475
0
    table->CmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)gdpa(dev, "vkCmdTraceRaysIndirectKHR");
1476
0
    table->GetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)gdpa(dev, "vkGetRayTracingShaderGroupStackSizeKHR");
1477
0
    table->CmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)gdpa(dev, "vkCmdSetRayTracingPipelineStackSizeKHR");
1478
1479
    // ---- VK_EXT_mesh_shader extension commands
1480
0
    table->CmdDrawMeshTasksEXT = (PFN_vkCmdDrawMeshTasksEXT)gdpa(dev, "vkCmdDrawMeshTasksEXT");
1481
0
    table->CmdDrawMeshTasksIndirectEXT = (PFN_vkCmdDrawMeshTasksIndirectEXT)gdpa(dev, "vkCmdDrawMeshTasksIndirectEXT");
1482
0
    table->CmdDrawMeshTasksIndirectCountEXT = (PFN_vkCmdDrawMeshTasksIndirectCountEXT)gdpa(dev, "vkCmdDrawMeshTasksIndirectCountEXT");
1483
0
}
1484
1485
// Init Instance function pointer dispatch table with core commands
1486
VKAPI_ATTR void VKAPI_CALL loader_init_instance_core_dispatch_table(VkLayerInstanceDispatchTable *table, PFN_vkGetInstanceProcAddr gpa,
1487
0
                                                                    VkInstance inst) {
1488
1489
    // ---- Core Vulkan 1.0 commands
1490
0
    table->DestroyInstance = (PFN_vkDestroyInstance)gpa(inst, "vkDestroyInstance");
1491
0
    table->EnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)gpa(inst, "vkEnumeratePhysicalDevices");
1492
0
    table->GetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)gpa(inst, "vkGetPhysicalDeviceFeatures");
1493
0
    table->GetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties)gpa(inst, "vkGetPhysicalDeviceFormatProperties");
1494
0
    table->GetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties)gpa(inst, "vkGetPhysicalDeviceImageFormatProperties");
1495
0
    table->GetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)gpa(inst, "vkGetPhysicalDeviceProperties");
1496
0
    table->GetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties)gpa(inst, "vkGetPhysicalDeviceQueueFamilyProperties");
1497
0
    table->GetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)gpa(inst, "vkGetPhysicalDeviceMemoryProperties");
1498
0
    table->GetInstanceProcAddr = gpa;
1499
0
    table->EnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)gpa(inst, "vkEnumerateDeviceExtensionProperties");
1500
0
    table->EnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties)gpa(inst, "vkEnumerateDeviceLayerProperties");
1501
0
    table->GetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)gpa(inst, "vkGetPhysicalDeviceSparseImageFormatProperties");
1502
1503
    // ---- Core Vulkan 1.1 commands
1504
0
    table->EnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups)gpa(inst, "vkEnumeratePhysicalDeviceGroups");
1505
0
    table->GetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)gpa(inst, "vkGetPhysicalDeviceFeatures2");
1506
0
    table->GetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2)gpa(inst, "vkGetPhysicalDeviceProperties2");
1507
0
    table->GetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)gpa(inst, "vkGetPhysicalDeviceFormatProperties2");
1508
0
    table->GetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2)gpa(inst, "vkGetPhysicalDeviceImageFormatProperties2");
1509
0
    table->GetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)gpa(inst, "vkGetPhysicalDeviceQueueFamilyProperties2");
1510
0
    table->GetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)gpa(inst, "vkGetPhysicalDeviceMemoryProperties2");
1511
0
    table->GetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)gpa(inst, "vkGetPhysicalDeviceSparseImageFormatProperties2");
1512
0
    table->GetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties)gpa(inst, "vkGetPhysicalDeviceExternalBufferProperties");
1513
0
    table->GetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties)gpa(inst, "vkGetPhysicalDeviceExternalFenceProperties");
1514
0
    table->GetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)gpa(inst, "vkGetPhysicalDeviceExternalSemaphoreProperties");
1515
1516
    // ---- Core Vulkan 1.3 commands
1517
0
    table->GetPhysicalDeviceToolProperties = (PFN_vkGetPhysicalDeviceToolProperties)gpa(inst, "vkGetPhysicalDeviceToolProperties");
1518
0
}
1519
1520
// Init Instance function pointer dispatch table with core commands
1521
VKAPI_ATTR void VKAPI_CALL loader_init_instance_extension_dispatch_table(VkLayerInstanceDispatchTable *table, PFN_vkGetInstanceProcAddr gpa,
1522
0
                                                                        VkInstance inst) {
1523
1524
    // ---- VK_KHR_surface extension commands
1525
0
    table->DestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)gpa(inst, "vkDestroySurfaceKHR");
1526
0
    table->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)gpa(inst, "vkGetPhysicalDeviceSurfaceSupportKHR");
1527
0
    table->GetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)gpa(inst, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
1528
0
    table->GetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)gpa(inst, "vkGetPhysicalDeviceSurfaceFormatsKHR");
1529
0
    table->GetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)gpa(inst, "vkGetPhysicalDeviceSurfacePresentModesKHR");
1530
1531
    // ---- VK_KHR_swapchain extension commands
1532
0
    table->GetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR)gpa(inst, "vkGetPhysicalDevicePresentRectanglesKHR");
1533
1534
    // ---- VK_KHR_display extension commands
1535
0
    table->GetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)gpa(inst, "vkGetPhysicalDeviceDisplayPropertiesKHR");
1536
0
    table->GetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)gpa(inst, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
1537
0
    table->GetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR)gpa(inst, "vkGetDisplayPlaneSupportedDisplaysKHR");
1538
0
    table->GetDisplayModePropertiesKHR = (PFN_vkGetDisplayModePropertiesKHR)gpa(inst, "vkGetDisplayModePropertiesKHR");
1539
0
    table->CreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR)gpa(inst, "vkCreateDisplayModeKHR");
1540
0
    table->GetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR)gpa(inst, "vkGetDisplayPlaneCapabilitiesKHR");
1541
0
    table->CreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR)gpa(inst, "vkCreateDisplayPlaneSurfaceKHR");
1542
1543
    // ---- VK_KHR_xlib_surface extension commands
1544
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
1545
0
    table->CreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR)gpa(inst, "vkCreateXlibSurfaceKHR");
1546
0
#endif // VK_USE_PLATFORM_XLIB_KHR
1547
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
1548
0
    table->GetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)gpa(inst, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
1549
0
#endif // VK_USE_PLATFORM_XLIB_KHR
1550
1551
    // ---- VK_KHR_xcb_surface extension commands
1552
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
1553
0
    table->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR)gpa(inst, "vkCreateXcbSurfaceKHR");
1554
0
#endif // VK_USE_PLATFORM_XCB_KHR
1555
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
1556
0
    table->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)gpa(inst, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
1557
0
#endif // VK_USE_PLATFORM_XCB_KHR
1558
1559
    // ---- VK_KHR_wayland_surface extension commands
1560
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
1561
0
    table->CreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR)gpa(inst, "vkCreateWaylandSurfaceKHR");
1562
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
1563
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
1564
0
    table->GetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)gpa(inst, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
1565
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
1566
1567
    // ---- VK_KHR_android_surface extension commands
1568
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
1569
    table->CreateAndroidSurfaceKHR = (PFN_vkCreateAndroidSurfaceKHR)gpa(inst, "vkCreateAndroidSurfaceKHR");
1570
#endif // VK_USE_PLATFORM_ANDROID_KHR
1571
1572
    // ---- VK_KHR_win32_surface extension commands
1573
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1574
    table->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)gpa(inst, "vkCreateWin32SurfaceKHR");
1575
#endif // VK_USE_PLATFORM_WIN32_KHR
1576
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1577
    table->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)gpa(inst, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
1578
#endif // VK_USE_PLATFORM_WIN32_KHR
1579
1580
    // ---- VK_KHR_video_queue extension commands
1581
0
    table->GetPhysicalDeviceVideoCapabilitiesKHR = (PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)gpa(inst, "vkGetPhysicalDeviceVideoCapabilitiesKHR");
1582
0
    table->GetPhysicalDeviceVideoFormatPropertiesKHR = (PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)gpa(inst, "vkGetPhysicalDeviceVideoFormatPropertiesKHR");
1583
1584
    // ---- VK_KHR_get_physical_device_properties2 extension commands
1585
0
    table->GetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR)gpa(inst, "vkGetPhysicalDeviceFeatures2KHR");
1586
0
    table->GetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR)gpa(inst, "vkGetPhysicalDeviceProperties2KHR");
1587
0
    table->GetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR)gpa(inst, "vkGetPhysicalDeviceFormatProperties2KHR");
1588
0
    table->GetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)gpa(inst, "vkGetPhysicalDeviceImageFormatProperties2KHR");
1589
0
    table->GetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)gpa(inst, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
1590
0
    table->GetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)gpa(inst, "vkGetPhysicalDeviceMemoryProperties2KHR");
1591
0
    table->GetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)gpa(inst, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
1592
1593
    // ---- VK_KHR_device_group_creation extension commands
1594
0
    table->EnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR)gpa(inst, "vkEnumeratePhysicalDeviceGroupsKHR");
1595
1596
    // ---- VK_KHR_external_memory_capabilities extension commands
1597
0
    table->GetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)gpa(inst, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
1598
1599
    // ---- VK_KHR_external_semaphore_capabilities extension commands
1600
0
    table->GetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)gpa(inst, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
1601
1602
    // ---- VK_KHR_external_fence_capabilities extension commands
1603
0
    table->GetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)gpa(inst, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
1604
1605
    // ---- VK_KHR_performance_query extension commands
1606
0
    table->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)gpa(inst, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
1607
0
    table->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)gpa(inst, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
1608
1609
    // ---- VK_KHR_get_surface_capabilities2 extension commands
1610
0
    table->GetPhysicalDeviceSurfaceCapabilities2KHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)gpa(inst, "vkGetPhysicalDeviceSurfaceCapabilities2KHR");
1611
0
    table->GetPhysicalDeviceSurfaceFormats2KHR = (PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)gpa(inst, "vkGetPhysicalDeviceSurfaceFormats2KHR");
1612
1613
    // ---- VK_KHR_get_display_properties2 extension commands
1614
0
    table->GetPhysicalDeviceDisplayProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayProperties2KHR)gpa(inst, "vkGetPhysicalDeviceDisplayProperties2KHR");
1615
0
    table->GetPhysicalDeviceDisplayPlaneProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)gpa(inst, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
1616
0
    table->GetDisplayModeProperties2KHR = (PFN_vkGetDisplayModeProperties2KHR)gpa(inst, "vkGetDisplayModeProperties2KHR");
1617
0
    table->GetDisplayPlaneCapabilities2KHR = (PFN_vkGetDisplayPlaneCapabilities2KHR)gpa(inst, "vkGetDisplayPlaneCapabilities2KHR");
1618
1619
    // ---- VK_KHR_fragment_shading_rate extension commands
1620
0
    table->GetPhysicalDeviceFragmentShadingRatesKHR = (PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)gpa(inst, "vkGetPhysicalDeviceFragmentShadingRatesKHR");
1621
1622
    // ---- VK_KHR_video_encode_queue extension commands
1623
0
    table->GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = (PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)gpa(inst, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR");
1624
1625
    // ---- VK_KHR_cooperative_matrix extension commands
1626
0
    table->GetPhysicalDeviceCooperativeMatrixPropertiesKHR = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)gpa(inst, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR");
1627
1628
    // ---- VK_KHR_calibrated_timestamps extension commands
1629
0
    table->GetPhysicalDeviceCalibrateableTimeDomainsKHR = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)gpa(inst, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR");
1630
1631
    // ---- VK_EXT_debug_report extension commands
1632
0
    table->CreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)gpa(inst, "vkCreateDebugReportCallbackEXT");
1633
0
    table->DestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)gpa(inst, "vkDestroyDebugReportCallbackEXT");
1634
0
    table->DebugReportMessageEXT = (PFN_vkDebugReportMessageEXT)gpa(inst, "vkDebugReportMessageEXT");
1635
1636
    // ---- VK_GGP_stream_descriptor_surface extension commands
1637
#if defined(VK_USE_PLATFORM_GGP)
1638
    table->CreateStreamDescriptorSurfaceGGP = (PFN_vkCreateStreamDescriptorSurfaceGGP)gpa(inst, "vkCreateStreamDescriptorSurfaceGGP");
1639
#endif // VK_USE_PLATFORM_GGP
1640
1641
    // ---- VK_NV_external_memory_capabilities extension commands
1642
0
    table->GetPhysicalDeviceExternalImageFormatPropertiesNV = (PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)gpa(inst, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
1643
1644
    // ---- VK_NN_vi_surface extension commands
1645
#if defined(VK_USE_PLATFORM_VI_NN)
1646
    table->CreateViSurfaceNN = (PFN_vkCreateViSurfaceNN)gpa(inst, "vkCreateViSurfaceNN");
1647
#endif // VK_USE_PLATFORM_VI_NN
1648
1649
    // ---- VK_EXT_direct_mode_display extension commands
1650
0
    table->ReleaseDisplayEXT = (PFN_vkReleaseDisplayEXT)gpa(inst, "vkReleaseDisplayEXT");
1651
1652
    // ---- VK_EXT_acquire_xlib_display extension commands
1653
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
1654
0
    table->AcquireXlibDisplayEXT = (PFN_vkAcquireXlibDisplayEXT)gpa(inst, "vkAcquireXlibDisplayEXT");
1655
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
1656
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
1657
0
    table->GetRandROutputDisplayEXT = (PFN_vkGetRandROutputDisplayEXT)gpa(inst, "vkGetRandROutputDisplayEXT");
1658
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
1659
1660
    // ---- VK_EXT_display_surface_counter extension commands
1661
0
    table->GetPhysicalDeviceSurfaceCapabilities2EXT = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)gpa(inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT");
1662
1663
    // ---- VK_MVK_ios_surface extension commands
1664
#if defined(VK_USE_PLATFORM_IOS_MVK)
1665
    table->CreateIOSSurfaceMVK = (PFN_vkCreateIOSSurfaceMVK)gpa(inst, "vkCreateIOSSurfaceMVK");
1666
#endif // VK_USE_PLATFORM_IOS_MVK
1667
1668
    // ---- VK_MVK_macos_surface extension commands
1669
#if defined(VK_USE_PLATFORM_MACOS_MVK)
1670
    table->CreateMacOSSurfaceMVK = (PFN_vkCreateMacOSSurfaceMVK)gpa(inst, "vkCreateMacOSSurfaceMVK");
1671
#endif // VK_USE_PLATFORM_MACOS_MVK
1672
1673
    // ---- VK_EXT_debug_utils extension commands
1674
0
    table->CreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)gpa(inst, "vkCreateDebugUtilsMessengerEXT");
1675
0
    table->DestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)gpa(inst, "vkDestroyDebugUtilsMessengerEXT");
1676
0
    table->SubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)gpa(inst, "vkSubmitDebugUtilsMessageEXT");
1677
1678
    // ---- VK_EXT_descriptor_heap extension commands
1679
0
    table->GetPhysicalDeviceDescriptorSizeEXT = (PFN_vkGetPhysicalDeviceDescriptorSizeEXT)gpa(inst, "vkGetPhysicalDeviceDescriptorSizeEXT");
1680
1681
    // ---- VK_EXT_sample_locations extension commands
1682
0
    table->GetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)gpa(inst, "vkGetPhysicalDeviceMultisamplePropertiesEXT");
1683
1684
    // ---- VK_EXT_calibrated_timestamps extension commands
1685
0
    table->GetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)gpa(inst, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
1686
1687
    // ---- VK_FUCHSIA_imagepipe_surface extension commands
1688
#if defined(VK_USE_PLATFORM_FUCHSIA)
1689
    table->CreateImagePipeSurfaceFUCHSIA = (PFN_vkCreateImagePipeSurfaceFUCHSIA)gpa(inst, "vkCreateImagePipeSurfaceFUCHSIA");
1690
#endif // VK_USE_PLATFORM_FUCHSIA
1691
1692
    // ---- VK_EXT_metal_surface extension commands
1693
#if defined(VK_USE_PLATFORM_METAL_EXT)
1694
    table->CreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT)gpa(inst, "vkCreateMetalSurfaceEXT");
1695
#endif // VK_USE_PLATFORM_METAL_EXT
1696
1697
    // ---- VK_EXT_tooling_info extension commands
1698
0
    table->GetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)gpa(inst, "vkGetPhysicalDeviceToolPropertiesEXT");
1699
1700
    // ---- VK_NV_cooperative_matrix extension commands
1701
0
    table->GetPhysicalDeviceCooperativeMatrixPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)gpa(inst, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
1702
1703
    // ---- VK_NV_coverage_reduction_mode extension commands
1704
0
    table->GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)gpa(inst, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
1705
1706
    // ---- VK_EXT_full_screen_exclusive extension commands
1707
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1708
    table->GetPhysicalDeviceSurfacePresentModes2EXT = (PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)gpa(inst, "vkGetPhysicalDeviceSurfacePresentModes2EXT");
1709
#endif // VK_USE_PLATFORM_WIN32_KHR
1710
1711
    // ---- VK_EXT_headless_surface extension commands
1712
0
    table->CreateHeadlessSurfaceEXT = (PFN_vkCreateHeadlessSurfaceEXT)gpa(inst, "vkCreateHeadlessSurfaceEXT");
1713
1714
    // ---- VK_EXT_acquire_drm_display extension commands
1715
0
    table->AcquireDrmDisplayEXT = (PFN_vkAcquireDrmDisplayEXT)gpa(inst, "vkAcquireDrmDisplayEXT");
1716
0
    table->GetDrmDisplayEXT = (PFN_vkGetDrmDisplayEXT)gpa(inst, "vkGetDrmDisplayEXT");
1717
1718
    // ---- VK_NV_acquire_winrt_display extension commands
1719
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1720
    table->AcquireWinrtDisplayNV = (PFN_vkAcquireWinrtDisplayNV)gpa(inst, "vkAcquireWinrtDisplayNV");
1721
#endif // VK_USE_PLATFORM_WIN32_KHR
1722
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1723
    table->GetWinrtDisplayNV = (PFN_vkGetWinrtDisplayNV)gpa(inst, "vkGetWinrtDisplayNV");
1724
#endif // VK_USE_PLATFORM_WIN32_KHR
1725
1726
    // ---- VK_EXT_directfb_surface extension commands
1727
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
1728
    table->CreateDirectFBSurfaceEXT = (PFN_vkCreateDirectFBSurfaceEXT)gpa(inst, "vkCreateDirectFBSurfaceEXT");
1729
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
1730
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
1731
    table->GetPhysicalDeviceDirectFBPresentationSupportEXT = (PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)gpa(inst, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT");
1732
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
1733
1734
    // ---- VK_QNX_screen_surface extension commands
1735
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
1736
    table->CreateScreenSurfaceQNX = (PFN_vkCreateScreenSurfaceQNX)gpa(inst, "vkCreateScreenSurfaceQNX");
1737
#endif // VK_USE_PLATFORM_SCREEN_QNX
1738
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
1739
    table->GetPhysicalDeviceScreenPresentationSupportQNX = (PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)gpa(inst, "vkGetPhysicalDeviceScreenPresentationSupportQNX");
1740
#endif // VK_USE_PLATFORM_SCREEN_QNX
1741
1742
    // ---- VK_ARM_tensors extension commands
1743
0
    table->GetPhysicalDeviceExternalTensorPropertiesARM = (PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM)gpa(inst, "vkGetPhysicalDeviceExternalTensorPropertiesARM");
1744
1745
    // ---- VK_NV_optical_flow extension commands
1746
0
    table->GetPhysicalDeviceOpticalFlowImageFormatsNV = (PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)gpa(inst, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV");
1747
1748
    // ---- VK_NV_cooperative_vector extension commands
1749
0
    table->GetPhysicalDeviceCooperativeVectorPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)gpa(inst, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV");
1750
1751
    // ---- VK_ARM_data_graph extension commands
1752
0
    table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)gpa(inst, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM");
1753
0
    table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)gpa(inst, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM");
1754
1755
    // ---- VK_ARM_data_graph_instruction_set_tosa extension commands
1756
0
    table->GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM)gpa(inst, "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM");
1757
1758
    // ---- VK_OHOS_surface extension commands
1759
#if defined(VK_USE_PLATFORM_OHOS)
1760
    table->CreateSurfaceOHOS = (PFN_vkCreateSurfaceOHOS)gpa(inst, "vkCreateSurfaceOHOS");
1761
#endif // VK_USE_PLATFORM_OHOS
1762
1763
    // ---- VK_NV_cooperative_matrix2 extension commands
1764
0
    table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)gpa(inst, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV");
1765
1766
    // ---- VK_ARM_performance_counters_by_region extension commands
1767
0
    table->EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)gpa(inst, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM");
1768
1769
    // ---- VK_ARM_shader_instrumentation extension commands
1770
0
    table->EnumeratePhysicalDeviceShaderInstrumentationMetricsARM = (PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM)gpa(inst, "vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM");
1771
1772
    // ---- VK_ARM_data_graph_optical_flow extension commands
1773
0
    table->GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM)gpa(inst, "vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM");
1774
1775
    // ---- VK_EXT_cooperative_matrix_maintenance1 extension commands
1776
0
    table->GetPhysicalDeviceCooperativeMatrixProperties2EXT = (PFN_vkGetPhysicalDeviceCooperativeMatrixProperties2EXT)gpa(inst, "vkGetPhysicalDeviceCooperativeMatrixProperties2EXT");
1777
1778
    // ---- VK_SEC_ubm_surface extension commands
1779
#if defined(VK_USE_PLATFORM_UBM_SEC)
1780
    table->CreateUbmSurfaceSEC = (PFN_vkCreateUbmSurfaceSEC)gpa(inst, "vkCreateUbmSurfaceSEC");
1781
#endif // VK_USE_PLATFORM_UBM_SEC
1782
#if defined(VK_USE_PLATFORM_UBM_SEC)
1783
    table->GetPhysicalDeviceUbmPresentationSupportSEC = (PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC)gpa(inst, "vkGetPhysicalDeviceUbmPresentationSupportSEC");
1784
#endif // VK_USE_PLATFORM_UBM_SEC
1785
0
}
1786
1787
// Functions that required a terminator need to have a separate dispatch table which contains their corresponding
1788
// device function. This is used in the terminators themselves.
1789
0
void init_extension_device_proc_terminator_dispatch(struct loader_device *dev) {
1790
0
    struct loader_device_terminator_dispatch* dispatch = &dev->loader_dispatch.extension_terminator_dispatch;
1791
0
    PFN_vkGetDeviceProcAddr gpda = (PFN_vkGetDeviceProcAddr)dev->phys_dev_term->this_icd_term->dispatch.GetDeviceProcAddr;
1792
1793
    // ---- VK_KHR_swapchain extension commands
1794
0
    if (dev->driver_extensions.khr_swapchain_enabled)
1795
0
       dispatch->CreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)gpda(dev->icd_device, "vkCreateSwapchainKHR");
1796
0
    if (dev->driver_extensions.khr_swapchain_enabled || dev->driver_extensions.khr_device_group_enabled)
1797
0
       dispatch->GetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)gpda(dev->icd_device, "vkGetDeviceGroupSurfacePresentModesKHR");
1798
1799
    // ---- VK_KHR_display_swapchain extension commands
1800
0
    if (dev->driver_extensions.khr_display_swapchain_enabled)
1801
0
       dispatch->CreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)gpda(dev->icd_device, "vkCreateSharedSwapchainsKHR");
1802
1803
    // ---- VK_EXT_debug_marker extension commands
1804
0
    if (dev->driver_extensions.ext_debug_marker_enabled)
1805
0
       dispatch->DebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)gpda(dev->icd_device, "vkDebugMarkerSetObjectTagEXT");
1806
0
    if (dev->driver_extensions.ext_debug_marker_enabled)
1807
0
       dispatch->DebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)gpda(dev->icd_device, "vkDebugMarkerSetObjectNameEXT");
1808
1809
    // ---- VK_EXT_debug_utils extension commands
1810
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1811
0
       dispatch->SetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)gpda(dev->icd_device, "vkSetDebugUtilsObjectNameEXT");
1812
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1813
0
       dispatch->SetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)gpda(dev->icd_device, "vkSetDebugUtilsObjectTagEXT");
1814
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1815
0
       dispatch->QueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)gpda(dev->icd_device, "vkQueueBeginDebugUtilsLabelEXT");
1816
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1817
0
       dispatch->QueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)gpda(dev->icd_device, "vkQueueEndDebugUtilsLabelEXT");
1818
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1819
0
       dispatch->QueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT)gpda(dev->icd_device, "vkQueueInsertDebugUtilsLabelEXT");
1820
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1821
0
       dispatch->CmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)gpda(dev->icd_device, "vkCmdBeginDebugUtilsLabelEXT");
1822
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1823
0
       dispatch->CmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)gpda(dev->icd_device, "vkCmdEndDebugUtilsLabelEXT");
1824
0
    if (dev->driver_extensions.ext_debug_utils_enabled)
1825
0
       dispatch->CmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)gpda(dev->icd_device, "vkCmdInsertDebugUtilsLabelEXT");
1826
#if defined(VK_USE_PLATFORM_WIN32_KHR)
1827
1828
    // ---- VK_EXT_full_screen_exclusive extension commands
1829
    if (dev->driver_extensions.ext_full_screen_exclusive_enabled)
1830
       dispatch->GetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)gpda(dev->icd_device, "vkGetDeviceGroupSurfacePresentModes2EXT");
1831
#endif // VK_USE_PLATFORM_WIN32_KHR
1832
0
}
1833
1834
// These are prototypes for functions that need their trampoline called in all circumstances.
1835
// They are used in loader_lookup_device_dispatch_table but are defined afterwards.
1836
1837
    // ---- VK_EXT_debug_marker extension commands
1838
VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
1839
    VkDevice                                    device,
1840
    const VkDebugMarkerObjectTagInfoEXT*        pTagInfo);
1841
VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(
1842
    VkDevice                                    device,
1843
    const VkDebugMarkerObjectNameInfoEXT*       pNameInfo);
1844
1845
    // ---- VK_EXT_debug_utils extension commands
1846
VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
1847
    VkDevice                                    device,
1848
    const VkDebugUtilsObjectNameInfoEXT*        pNameInfo);
1849
VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectTagEXT(
1850
    VkDevice                                    device,
1851
    const VkDebugUtilsObjectTagInfoEXT*         pTagInfo);
1852
1853
// Device command lookup function
1854
0
VKAPI_ATTR void* VKAPI_CALL loader_lookup_device_dispatch_table(const VkLayerDispatchTable *table, const char *name, bool* found_name) {
1855
0
    if (!name || name[0] != 'v' || name[1] != 'k') {
1856
0
        *found_name = false;
1857
0
        return NULL;
1858
0
    }
1859
1860
0
    name += 2;
1861
0
    *found_name = true;
1862
0
    struct loader_device* dev = (struct loader_device *)table;
1863
0
    const struct loader_instance* inst = dev->phys_dev_term->this_icd_term->this_instance;
1864
0
    uint32_t api_version = VK_MAKE_API_VERSION(0, inst->app_api_version.major, inst->app_api_version.minor, inst->app_api_version.patch);
1865
0
    const uint32_t name_hash = loader_hash_string(name);
1866
1867
0
    switch (name_hash) {
1868
1869
        // ---- Core Vulkan 1.0 commands
1870
0
        case 0x556f3e66u:
1871
0
            if (!strcmp(name, "GetDeviceProcAddr")) {
1872
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1873
0
                return (void *)table->GetDeviceProcAddr;
1874
0
            }
1875
0
            break;
1876
0
        case 0xc3c245f3u:
1877
0
            if (!strcmp(name, "DestroyDevice")) {
1878
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1879
0
                return (void *)table->DestroyDevice;
1880
0
            }
1881
0
            break;
1882
0
        case 0xe828e700u:
1883
0
            if (!strcmp(name, "GetDeviceQueue")) {
1884
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1885
0
                return (void *)table->GetDeviceQueue;
1886
0
            }
1887
0
            break;
1888
0
        case 0xf634aeb0u:
1889
0
            if (!strcmp(name, "QueueSubmit")) {
1890
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1891
0
                return (void *)table->QueueSubmit;
1892
0
            }
1893
0
            break;
1894
0
        case 0x30e5a4dfu:
1895
0
            if (!strcmp(name, "QueueWaitIdle")) {
1896
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1897
0
                return (void *)table->QueueWaitIdle;
1898
0
            }
1899
0
            break;
1900
0
        case 0x97ad82bcu:
1901
0
            if (!strcmp(name, "DeviceWaitIdle")) {
1902
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1903
0
                return (void *)table->DeviceWaitIdle;
1904
0
            }
1905
0
            break;
1906
0
        case 0x1a48a22du:
1907
0
            if (!strcmp(name, "AllocateMemory")) {
1908
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1909
0
                return (void *)table->AllocateMemory;
1910
0
            }
1911
0
            break;
1912
0
        case 0xff032fd4u:
1913
0
            if (!strcmp(name, "FreeMemory")) {
1914
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1915
0
                return (void *)table->FreeMemory;
1916
0
            }
1917
0
            break;
1918
0
        case 0x2b4a440au:
1919
0
            if (!strcmp(name, "MapMemory")) {
1920
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1921
0
                return (void *)table->MapMemory;
1922
0
            }
1923
0
            break;
1924
0
        case 0xdd78dd07u:
1925
0
            if (!strcmp(name, "UnmapMemory")) {
1926
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1927
0
                return (void *)table->UnmapMemory;
1928
0
            }
1929
0
            break;
1930
0
        case 0x04c06873u:
1931
0
            if (!strcmp(name, "FlushMappedMemoryRanges")) {
1932
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1933
0
                return (void *)table->FlushMappedMemoryRanges;
1934
0
            }
1935
0
            break;
1936
0
        case 0x42e40ec6u:
1937
0
            if (!strcmp(name, "InvalidateMappedMemoryRanges")) {
1938
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1939
0
                return (void *)table->InvalidateMappedMemoryRanges;
1940
0
            }
1941
0
            break;
1942
0
        case 0xb58c2237u:
1943
0
            if (!strcmp(name, "GetDeviceMemoryCommitment")) {
1944
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1945
0
                return (void *)table->GetDeviceMemoryCommitment;
1946
0
            }
1947
0
            break;
1948
0
        case 0xf9d3e8bbu:
1949
0
            if (!strcmp(name, "BindBufferMemory")) {
1950
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1951
0
                return (void *)table->BindBufferMemory;
1952
0
            }
1953
0
            break;
1954
0
        case 0xa6ad4e7cu:
1955
0
            if (!strcmp(name, "BindImageMemory")) {
1956
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1957
0
                return (void *)table->BindImageMemory;
1958
0
            }
1959
0
            break;
1960
0
        case 0xdbd8f14eu:
1961
0
            if (!strcmp(name, "GetBufferMemoryRequirements")) {
1962
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1963
0
                return (void *)table->GetBufferMemoryRequirements;
1964
0
            }
1965
0
            break;
1966
0
        case 0xadd404fbu:
1967
0
            if (!strcmp(name, "GetImageMemoryRequirements")) {
1968
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1969
0
                return (void *)table->GetImageMemoryRequirements;
1970
0
            }
1971
0
            break;
1972
0
        case 0x02f07be3u:
1973
0
            if (!strcmp(name, "GetImageSparseMemoryRequirements")) {
1974
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1975
0
                return (void *)table->GetImageSparseMemoryRequirements;
1976
0
            }
1977
0
            break;
1978
0
        case 0x446723b3u:
1979
0
            if (!strcmp(name, "QueueBindSparse")) {
1980
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1981
0
                return (void *)table->QueueBindSparse;
1982
0
            }
1983
0
            break;
1984
0
        case 0xb85cb06eu:
1985
0
            if (!strcmp(name, "CreateFence")) {
1986
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1987
0
                return (void *)table->CreateFence;
1988
0
            }
1989
0
            break;
1990
0
        case 0xee059b16u:
1991
0
            if (!strcmp(name, "DestroyFence")) {
1992
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1993
0
                return (void *)table->DestroyFence;
1994
0
            }
1995
0
            break;
1996
0
        case 0x49e2bbfeu:
1997
0
            if (!strcmp(name, "ResetFences")) {
1998
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
1999
0
                return (void *)table->ResetFences;
2000
0
            }
2001
0
            break;
2002
0
        case 0x27219372u:
2003
0
            if (!strcmp(name, "GetFenceStatus")) {
2004
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2005
0
                return (void *)table->GetFenceStatus;
2006
0
            }
2007
0
            break;
2008
0
        case 0x2701d8c1u:
2009
0
            if (!strcmp(name, "WaitForFences")) {
2010
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2011
0
                return (void *)table->WaitForFences;
2012
0
            }
2013
0
            break;
2014
0
        case 0x72a17f35u:
2015
0
            if (!strcmp(name, "CreateSemaphore")) {
2016
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2017
0
                return (void *)table->CreateSemaphore;
2018
0
            }
2019
0
            break;
2020
0
        case 0x7a900dbdu:
2021
0
            if (!strcmp(name, "DestroySemaphore")) {
2022
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2023
0
                return (void *)table->DestroySemaphore;
2024
0
            }
2025
0
            break;
2026
0
        case 0x1d052b99u:
2027
0
            if (!strcmp(name, "CreateQueryPool")) {
2028
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2029
0
                return (void *)table->CreateQueryPool;
2030
0
            }
2031
0
            break;
2032
0
        case 0xa2679271u:
2033
0
            if (!strcmp(name, "DestroyQueryPool")) {
2034
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2035
0
                return (void *)table->DestroyQueryPool;
2036
0
            }
2037
0
            break;
2038
0
        case 0x2acc2043u:
2039
0
            if (!strcmp(name, "GetQueryPoolResults")) {
2040
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2041
0
                return (void *)table->GetQueryPoolResults;
2042
0
            }
2043
0
            break;
2044
0
        case 0x594c57f3u:
2045
0
            if (!strcmp(name, "CreateBuffer")) {
2046
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2047
0
                return (void *)table->CreateBuffer;
2048
0
            }
2049
0
            break;
2050
0
        case 0x74b0eb7bu:
2051
0
            if (!strcmp(name, "DestroyBuffer")) {
2052
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2053
0
                return (void *)table->DestroyBuffer;
2054
0
            }
2055
0
            break;
2056
0
        case 0x1052ae42u:
2057
0
            if (!strcmp(name, "CreateImage")) {
2058
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2059
0
                return (void *)table->CreateImage;
2060
0
            }
2061
0
            break;
2062
0
        case 0xe4d58afau:
2063
0
            if (!strcmp(name, "DestroyImage")) {
2064
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2065
0
                return (void *)table->DestroyImage;
2066
0
            }
2067
0
            break;
2068
0
        case 0x5bec9c60u:
2069
0
            if (!strcmp(name, "GetImageSubresourceLayout")) {
2070
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2071
0
                return (void *)table->GetImageSubresourceLayout;
2072
0
            }
2073
0
            break;
2074
0
        case 0x98d3880bu:
2075
0
            if (!strcmp(name, "CreateImageView")) {
2076
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2077
0
                return (void *)table->CreateImageView;
2078
0
            }
2079
0
            break;
2080
0
        case 0x3ac8cdd3u:
2081
0
            if (!strcmp(name, "DestroyImageView")) {
2082
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2083
0
                return (void *)table->DestroyImageView;
2084
0
            }
2085
0
            break;
2086
0
        case 0x5b4c1778u:
2087
0
            if (!strcmp(name, "CreateCommandPool")) {
2088
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2089
0
                return (void *)table->CreateCommandPool;
2090
0
            }
2091
0
            break;
2092
0
        case 0xfca6d900u:
2093
0
            if (!strcmp(name, "DestroyCommandPool")) {
2094
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2095
0
                return (void *)table->DestroyCommandPool;
2096
0
            }
2097
0
            break;
2098
0
        case 0xd1984e7fu:
2099
0
            if (!strcmp(name, "ResetCommandPool")) {
2100
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2101
0
                return (void *)table->ResetCommandPool;
2102
0
            }
2103
0
            break;
2104
0
        case 0x46e1a59eu:
2105
0
            if (!strcmp(name, "AllocateCommandBuffers")) {
2106
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2107
0
                return (void *)table->AllocateCommandBuffers;
2108
0
            }
2109
0
            break;
2110
0
        case 0x92a01f53u:
2111
0
            if (!strcmp(name, "FreeCommandBuffers")) {
2112
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2113
0
                return (void *)table->FreeCommandBuffers;
2114
0
            }
2115
0
            break;
2116
0
        case 0xd6878265u:
2117
0
            if (!strcmp(name, "BeginCommandBuffer")) {
2118
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2119
0
                return (void *)table->BeginCommandBuffer;
2120
0
            }
2121
0
            break;
2122
0
        case 0x00b4c891u:
2123
0
            if (!strcmp(name, "EndCommandBuffer")) {
2124
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2125
0
                return (void *)table->EndCommandBuffer;
2126
0
            }
2127
0
            break;
2128
0
        case 0xb4c6737fu:
2129
0
            if (!strcmp(name, "ResetCommandBuffer")) {
2130
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2131
0
                return (void *)table->ResetCommandBuffer;
2132
0
            }
2133
0
            break;
2134
0
        case 0x0c36d35cu:
2135
0
            if (!strcmp(name, "CmdCopyBuffer")) {
2136
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2137
0
                return (void *)table->CmdCopyBuffer;
2138
0
            }
2139
0
            break;
2140
0
        case 0xc56ce137u:
2141
0
            if (!strcmp(name, "CmdCopyImage")) {
2142
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2143
0
                return (void *)table->CmdCopyImage;
2144
0
            }
2145
0
            break;
2146
0
        case 0x37f8b1cau:
2147
0
            if (!strcmp(name, "CmdCopyBufferToImage")) {
2148
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2149
0
                return (void *)table->CmdCopyBufferToImage;
2150
0
            }
2151
0
            break;
2152
0
        case 0xdd6c206cu:
2153
0
            if (!strcmp(name, "CmdCopyImageToBuffer")) {
2154
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2155
0
                return (void *)table->CmdCopyImageToBuffer;
2156
0
            }
2157
0
            break;
2158
0
        case 0x004dd694u:
2159
0
            if (!strcmp(name, "CmdUpdateBuffer")) {
2160
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2161
0
                return (void *)table->CmdUpdateBuffer;
2162
0
            }
2163
0
            break;
2164
0
        case 0x9c272074u:
2165
0
            if (!strcmp(name, "CmdFillBuffer")) {
2166
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2167
0
                return (void *)table->CmdFillBuffer;
2168
0
            }
2169
0
            break;
2170
0
        case 0x99bb3b50u:
2171
0
            if (!strcmp(name, "CmdPipelineBarrier")) {
2172
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2173
0
                return (void *)table->CmdPipelineBarrier;
2174
0
            }
2175
0
            break;
2176
0
        case 0x847b49f8u:
2177
0
            if (!strcmp(name, "CmdBeginQuery")) {
2178
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2179
0
                return (void *)table->CmdBeginQuery;
2180
0
            }
2181
0
            break;
2182
0
        case 0xa38ee8bcu:
2183
0
            if (!strcmp(name, "CmdEndQuery")) {
2184
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2185
0
                return (void *)table->CmdEndQuery;
2186
0
            }
2187
0
            break;
2188
0
        case 0x4cd9424cu:
2189
0
            if (!strcmp(name, "CmdResetQueryPool")) {
2190
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2191
0
                return (void *)table->CmdResetQueryPool;
2192
0
            }
2193
0
            break;
2194
0
        case 0x36056986u:
2195
0
            if (!strcmp(name, "CmdWriteTimestamp")) {
2196
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2197
0
                return (void *)table->CmdWriteTimestamp;
2198
0
            }
2199
0
            break;
2200
0
        case 0x03cfd77au:
2201
0
            if (!strcmp(name, "CmdCopyQueryPoolResults")) {
2202
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2203
0
                return (void *)table->CmdCopyQueryPoolResults;
2204
0
            }
2205
0
            break;
2206
0
        case 0xfc3b9de4u:
2207
0
            if (!strcmp(name, "CmdExecuteCommands")) {
2208
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2209
0
                return (void *)table->CmdExecuteCommands;
2210
0
            }
2211
0
            break;
2212
0
        case 0x45545f97u:
2213
0
            if (!strcmp(name, "CreateEvent")) {
2214
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2215
0
                return (void *)table->CreateEvent;
2216
0
            }
2217
0
            break;
2218
0
        case 0x2fb5259fu:
2219
0
            if (!strcmp(name, "DestroyEvent")) {
2220
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2221
0
                return (void *)table->DestroyEvent;
2222
0
            }
2223
0
            break;
2224
0
        case 0x30fcfaffu:
2225
0
            if (!strcmp(name, "GetEventStatus")) {
2226
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2227
0
                return (void *)table->GetEventStatus;
2228
0
            }
2229
0
            break;
2230
0
        case 0x519d96f1u:
2231
0
            if (!strcmp(name, "SetEvent")) {
2232
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2233
0
                return (void *)table->SetEvent;
2234
0
            }
2235
0
            break;
2236
0
        case 0x068fe748u:
2237
0
            if (!strcmp(name, "ResetEvent")) {
2238
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2239
0
                return (void *)table->ResetEvent;
2240
0
            }
2241
0
            break;
2242
0
        case 0xe8d8b0f6u:
2243
0
            if (!strcmp(name, "CreateBufferView")) {
2244
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2245
0
                return (void *)table->CreateBufferView;
2246
0
            }
2247
0
            break;
2248
0
        case 0x4ccdf76eu:
2249
0
            if (!strcmp(name, "DestroyBufferView")) {
2250
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2251
0
                return (void *)table->DestroyBufferView;
2252
0
            }
2253
0
            break;
2254
0
        case 0x31b2bef8u:
2255
0
            if (!strcmp(name, "CreateShaderModule")) {
2256
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2257
0
                return (void *)table->CreateShaderModule;
2258
0
            }
2259
0
            break;
2260
0
        case 0x9d5a9360u:
2261
0
            if (!strcmp(name, "DestroyShaderModule")) {
2262
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2263
0
                return (void *)table->DestroyShaderModule;
2264
0
            }
2265
0
            break;
2266
0
        case 0x192270cfu:
2267
0
            if (!strcmp(name, "CreatePipelineCache")) {
2268
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2269
0
                return (void *)table->CreatePipelineCache;
2270
0
            }
2271
0
            break;
2272
0
        case 0x902ac897u:
2273
0
            if (!strcmp(name, "DestroyPipelineCache")) {
2274
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2275
0
                return (void *)table->DestroyPipelineCache;
2276
0
            }
2277
0
            break;
2278
0
        case 0xc16e21f1u:
2279
0
            if (!strcmp(name, "GetPipelineCacheData")) {
2280
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2281
0
                return (void *)table->GetPipelineCacheData;
2282
0
            }
2283
0
            break;
2284
0
        case 0x561dbd46u:
2285
0
            if (!strcmp(name, "MergePipelineCaches")) {
2286
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2287
0
                return (void *)table->MergePipelineCaches;
2288
0
            }
2289
0
            break;
2290
0
        case 0xd2393b0du:
2291
0
            if (!strcmp(name, "CreateComputePipelines")) {
2292
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2293
0
                return (void *)table->CreateComputePipelines;
2294
0
            }
2295
0
            break;
2296
0
        case 0x3a781083u:
2297
0
            if (!strcmp(name, "DestroyPipeline")) {
2298
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2299
0
                return (void *)table->DestroyPipeline;
2300
0
            }
2301
0
            break;
2302
0
        case 0x386cb351u:
2303
0
            if (!strcmp(name, "CreatePipelineLayout")) {
2304
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2305
0
                return (void *)table->CreatePipelineLayout;
2306
0
            }
2307
0
            break;
2308
0
        case 0x24a65109u:
2309
0
            if (!strcmp(name, "DestroyPipelineLayout")) {
2310
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2311
0
                return (void *)table->DestroyPipelineLayout;
2312
0
            }
2313
0
            break;
2314
0
        case 0x22611e57u:
2315
0
            if (!strcmp(name, "CreateSampler")) {
2316
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2317
0
                return (void *)table->CreateSampler;
2318
0
            }
2319
0
            break;
2320
0
        case 0x66efd24fu:
2321
0
            if (!strcmp(name, "DestroySampler")) {
2322
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2323
0
                return (void *)table->DestroySampler;
2324
0
            }
2325
0
            break;
2326
0
        case 0x0c59900eu:
2327
0
            if (!strcmp(name, "CreateDescriptorSetLayout")) {
2328
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2329
0
                return (void *)table->CreateDescriptorSetLayout;
2330
0
            }
2331
0
            break;
2332
0
        case 0xcdc1f4b6u:
2333
0
            if (!strcmp(name, "DestroyDescriptorSetLayout")) {
2334
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2335
0
                return (void *)table->DestroyDescriptorSetLayout;
2336
0
            }
2337
0
            break;
2338
0
        case 0xe154a866u:
2339
0
            if (!strcmp(name, "CreateDescriptorPool")) {
2340
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2341
0
                return (void *)table->CreateDescriptorPool;
2342
0
            }
2343
0
            break;
2344
0
        case 0xcb4caf9eu:
2345
0
            if (!strcmp(name, "DestroyDescriptorPool")) {
2346
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2347
0
                return (void *)table->DestroyDescriptorPool;
2348
0
            }
2349
0
            break;
2350
0
        case 0xbd10cdc7u:
2351
0
            if (!strcmp(name, "ResetDescriptorPool")) {
2352
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2353
0
                return (void *)table->ResetDescriptorPool;
2354
0
            }
2355
0
            break;
2356
0
        case 0x8783e9eau:
2357
0
            if (!strcmp(name, "AllocateDescriptorSets")) {
2358
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2359
0
                return (void *)table->AllocateDescriptorSets;
2360
0
            }
2361
0
            break;
2362
0
        case 0xf6ab6a4bu:
2363
0
            if (!strcmp(name, "FreeDescriptorSets")) {
2364
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2365
0
                return (void *)table->FreeDescriptorSets;
2366
0
            }
2367
0
            break;
2368
0
        case 0x796a4db0u:
2369
0
            if (!strcmp(name, "UpdateDescriptorSets")) {
2370
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2371
0
                return (void *)table->UpdateDescriptorSets;
2372
0
            }
2373
0
            break;
2374
0
        case 0x0fea12b2u:
2375
0
            if (!strcmp(name, "CmdBindPipeline")) {
2376
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2377
0
                return (void *)table->CmdBindPipeline;
2378
0
            }
2379
0
            break;
2380
0
        case 0xbdecba10u:
2381
0
            if (!strcmp(name, "CmdBindDescriptorSets")) {
2382
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2383
0
                return (void *)table->CmdBindDescriptorSets;
2384
0
            }
2385
0
            break;
2386
0
        case 0x68e97180u:
2387
0
            if (!strcmp(name, "CmdClearColorImage")) {
2388
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2389
0
                return (void *)table->CmdClearColorImage;
2390
0
            }
2391
0
            break;
2392
0
        case 0x0b58a221u:
2393
0
            if (!strcmp(name, "CmdDispatch")) {
2394
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2395
0
                return (void *)table->CmdDispatch;
2396
0
            }
2397
0
            break;
2398
0
        case 0x023cf383u:
2399
0
            if (!strcmp(name, "CmdDispatchIndirect")) {
2400
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2401
0
                return (void *)table->CmdDispatchIndirect;
2402
0
            }
2403
0
            break;
2404
0
        case 0xe0c49af3u:
2405
0
            if (!strcmp(name, "CmdSetEvent")) {
2406
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2407
0
                return (void *)table->CmdSetEvent;
2408
0
            }
2409
0
            break;
2410
0
        case 0xab60a1d6u:
2411
0
            if (!strcmp(name, "CmdResetEvent")) {
2412
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2413
0
                return (void *)table->CmdResetEvent;
2414
0
            }
2415
0
            break;
2416
0
        case 0x41fbe8a7u:
2417
0
            if (!strcmp(name, "CmdWaitEvents")) {
2418
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2419
0
                return (void *)table->CmdWaitEvents;
2420
0
            }
2421
0
            break;
2422
0
        case 0xef4f8998u:
2423
0
            if (!strcmp(name, "CmdPushConstants")) {
2424
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2425
0
                return (void *)table->CmdPushConstants;
2426
0
            }
2427
0
            break;
2428
0
        case 0x49120077u:
2429
0
            if (!strcmp(name, "CreateGraphicsPipelines")) {
2430
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2431
0
                return (void *)table->CreateGraphicsPipelines;
2432
0
            }
2433
0
            break;
2434
0
        case 0xee253c88u:
2435
0
            if (!strcmp(name, "CreateFramebuffer")) {
2436
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2437
0
                return (void *)table->CreateFramebuffer;
2438
0
            }
2439
0
            break;
2440
0
        case 0x4edbdb50u:
2441
0
            if (!strcmp(name, "DestroyFramebuffer")) {
2442
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2443
0
                return (void *)table->DestroyFramebuffer;
2444
0
            }
2445
0
            break;
2446
0
        case 0xc3352a08u:
2447
0
            if (!strcmp(name, "CreateRenderPass")) {
2448
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2449
0
                return (void *)table->CreateRenderPass;
2450
0
            }
2451
0
            break;
2452
0
        case 0xea8843a0u:
2453
0
            if (!strcmp(name, "DestroyRenderPass")) {
2454
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2455
0
                return (void *)table->DestroyRenderPass;
2456
0
            }
2457
0
            break;
2458
0
        case 0xbd702976u:
2459
0
            if (!strcmp(name, "GetRenderAreaGranularity")) {
2460
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2461
0
                return (void *)table->GetRenderAreaGranularity;
2462
0
            }
2463
0
            break;
2464
0
        case 0x60223eafu:
2465
0
            if (!strcmp(name, "CmdSetViewport")) {
2466
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2467
0
                return (void *)table->CmdSetViewport;
2468
0
            }
2469
0
            break;
2470
0
        case 0x06645d65u:
2471
0
            if (!strcmp(name, "CmdSetScissor")) {
2472
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2473
0
                return (void *)table->CmdSetScissor;
2474
0
            }
2475
0
            break;
2476
0
        case 0x028ebdd5u:
2477
0
            if (!strcmp(name, "CmdSetLineWidth")) {
2478
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2479
0
                return (void *)table->CmdSetLineWidth;
2480
0
            }
2481
0
            break;
2482
0
        case 0x84edaf93u:
2483
0
            if (!strcmp(name, "CmdSetDepthBias")) {
2484
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2485
0
                return (void *)table->CmdSetDepthBias;
2486
0
            }
2487
0
            break;
2488
0
        case 0x12c65e99u:
2489
0
            if (!strcmp(name, "CmdSetBlendConstants")) {
2490
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2491
0
                return (void *)table->CmdSetBlendConstants;
2492
0
            }
2493
0
            break;
2494
0
        case 0xa6c6ccffu:
2495
0
            if (!strcmp(name, "CmdSetDepthBounds")) {
2496
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2497
0
                return (void *)table->CmdSetDepthBounds;
2498
0
            }
2499
0
            break;
2500
0
        case 0xed6fff6eu:
2501
0
            if (!strcmp(name, "CmdSetStencilCompareMask")) {
2502
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2503
0
                return (void *)table->CmdSetStencilCompareMask;
2504
0
            }
2505
0
            break;
2506
0
        case 0x1b99fe4au:
2507
0
            if (!strcmp(name, "CmdSetStencilWriteMask")) {
2508
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2509
0
                return (void *)table->CmdSetStencilWriteMask;
2510
0
            }
2511
0
            break;
2512
0
        case 0x43a8794cu:
2513
0
            if (!strcmp(name, "CmdSetStencilReference")) {
2514
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2515
0
                return (void *)table->CmdSetStencilReference;
2516
0
            }
2517
0
            break;
2518
0
        case 0x6113c7aau:
2519
0
            if (!strcmp(name, "CmdBindIndexBuffer")) {
2520
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2521
0
                return (void *)table->CmdBindIndexBuffer;
2522
0
            }
2523
0
            break;
2524
0
        case 0x8480280du:
2525
0
            if (!strcmp(name, "CmdBindVertexBuffers")) {
2526
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2527
0
                return (void *)table->CmdBindVertexBuffers;
2528
0
            }
2529
0
            break;
2530
0
        case 0x8c1fc0d9u:
2531
0
            if (!strcmp(name, "CmdDraw")) {
2532
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2533
0
                return (void *)table->CmdDraw;
2534
0
            }
2535
0
            break;
2536
0
        case 0xb1da916eu:
2537
0
            if (!strcmp(name, "CmdDrawIndexed")) {
2538
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2539
0
                return (void *)table->CmdDrawIndexed;
2540
0
            }
2541
0
            break;
2542
0
        case 0x44bd488bu:
2543
0
            if (!strcmp(name, "CmdDrawIndirect")) {
2544
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2545
0
                return (void *)table->CmdDrawIndirect;
2546
0
            }
2547
0
            break;
2548
0
        case 0xf026b8a0u:
2549
0
            if (!strcmp(name, "CmdDrawIndexedIndirect")) {
2550
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2551
0
                return (void *)table->CmdDrawIndexedIndirect;
2552
0
            }
2553
0
            break;
2554
0
        case 0x203c55edu:
2555
0
            if (!strcmp(name, "CmdBlitImage")) {
2556
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2557
0
                return (void *)table->CmdBlitImage;
2558
0
            }
2559
0
            break;
2560
0
        case 0x0a1abe14u:
2561
0
            if (!strcmp(name, "CmdClearDepthStencilImage")) {
2562
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2563
0
                return (void *)table->CmdClearDepthStencilImage;
2564
0
            }
2565
0
            break;
2566
0
        case 0xf8912576u:
2567
0
            if (!strcmp(name, "CmdClearAttachments")) {
2568
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2569
0
                return (void *)table->CmdClearAttachments;
2570
0
            }
2571
0
            break;
2572
0
        case 0x7d6ce9fau:
2573
0
            if (!strcmp(name, "CmdResolveImage")) {
2574
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2575
0
                return (void *)table->CmdResolveImage;
2576
0
            }
2577
0
            break;
2578
0
        case 0x97aa36c5u:
2579
0
            if (!strcmp(name, "CmdBeginRenderPass")) {
2580
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2581
0
                return (void *)table->CmdBeginRenderPass;
2582
0
            }
2583
0
            break;
2584
0
        case 0x65711319u:
2585
0
            if (!strcmp(name, "CmdNextSubpass")) {
2586
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2587
0
                return (void *)table->CmdNextSubpass;
2588
0
            }
2589
0
            break;
2590
0
        case 0x21535791u:
2591
0
            if (!strcmp(name, "CmdEndRenderPass")) {
2592
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_0) return NULL;
2593
0
                return (void *)table->CmdEndRenderPass;
2594
0
            }
2595
0
            break;
2596
2597
        // ---- Core Vulkan 1.1 commands
2598
0
        case 0xd1970fabu:
2599
0
            if (!strcmp(name, "BindBufferMemory2")) {
2600
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2601
0
                return (void *)table->BindBufferMemory2;
2602
0
            }
2603
0
            break;
2604
0
        case 0xb0d244cau:
2605
0
            if (!strcmp(name, "BindImageMemory2")) {
2606
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2607
0
                return (void *)table->BindImageMemory2;
2608
0
            }
2609
0
            break;
2610
0
        case 0x76cc3b34u:
2611
0
            if (!strcmp(name, "GetDeviceGroupPeerMemoryFeatures")) {
2612
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2613
0
                return (void *)table->GetDeviceGroupPeerMemoryFeatures;
2614
0
            }
2615
0
            break;
2616
0
        case 0x7ce530b3u:
2617
0
            if (!strcmp(name, "CmdSetDeviceMask")) {
2618
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2619
0
                return (void *)table->CmdSetDeviceMask;
2620
0
            }
2621
0
            break;
2622
0
        case 0x6dc3886bu:
2623
0
            if (!strcmp(name, "GetImageMemoryRequirements2")) {
2624
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2625
0
                return (void *)table->GetImageMemoryRequirements2;
2626
0
            }
2627
0
            break;
2628
0
        case 0x92842634u:
2629
0
            if (!strcmp(name, "GetBufferMemoryRequirements2")) {
2630
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2631
0
                return (void *)table->GetBufferMemoryRequirements2;
2632
0
            }
2633
0
            break;
2634
0
        case 0x7192ea03u:
2635
0
            if (!strcmp(name, "GetImageSparseMemoryRequirements2")) {
2636
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2637
0
                return (void *)table->GetImageSparseMemoryRequirements2;
2638
0
            }
2639
0
            break;
2640
0
        case 0x136bedacu:
2641
0
            if (!strcmp(name, "TrimCommandPool")) {
2642
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2643
0
                return (void *)table->TrimCommandPool;
2644
0
            }
2645
0
            break;
2646
0
        case 0xaa63f3b6u:
2647
0
            if (!strcmp(name, "GetDeviceQueue2")) {
2648
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2649
0
                return (void *)table->GetDeviceQueue2;
2650
0
            }
2651
0
            break;
2652
0
        case 0xc39e3e2cu:
2653
0
            if (!strcmp(name, "CmdDispatchBase")) {
2654
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2655
0
                return (void *)table->CmdDispatchBase;
2656
0
            }
2657
0
            break;
2658
0
        case 0xb229937fu:
2659
0
            if (!strcmp(name, "CreateDescriptorUpdateTemplate")) {
2660
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2661
0
                return (void *)table->CreateDescriptorUpdateTemplate;
2662
0
            }
2663
0
            break;
2664
0
        case 0xa73acec7u:
2665
0
            if (!strcmp(name, "DestroyDescriptorUpdateTemplate")) {
2666
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2667
0
                return (void *)table->DestroyDescriptorUpdateTemplate;
2668
0
            }
2669
0
            break;
2670
0
        case 0xe9a3c1f9u:
2671
0
            if (!strcmp(name, "UpdateDescriptorSetWithTemplate")) {
2672
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2673
0
                return (void *)table->UpdateDescriptorSetWithTemplate;
2674
0
            }
2675
0
            break;
2676
0
        case 0x74e1f8cfu:
2677
0
            if (!strcmp(name, "GetDescriptorSetLayoutSupport")) {
2678
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2679
0
                return (void *)table->GetDescriptorSetLayoutSupport;
2680
0
            }
2681
0
            break;
2682
0
        case 0x452314aeu:
2683
0
            if (!strcmp(name, "CreateSamplerYcbcrConversion")) {
2684
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2685
0
                return (void *)table->CreateSamplerYcbcrConversion;
2686
0
            }
2687
0
            break;
2688
0
        case 0xa5a844d6u:
2689
0
            if (!strcmp(name, "DestroySamplerYcbcrConversion")) {
2690
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_1) return NULL;
2691
0
                return (void *)table->DestroySamplerYcbcrConversion;
2692
0
            }
2693
0
            break;
2694
2695
        // ---- Core Vulkan 1.2 commands
2696
0
        case 0xb0cc2abau:
2697
0
            if (!strcmp(name, "ResetQueryPool")) {
2698
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2699
0
                return (void *)table->ResetQueryPool;
2700
0
            }
2701
0
            break;
2702
0
        case 0x5a94735eu:
2703
0
            if (!strcmp(name, "GetSemaphoreCounterValue")) {
2704
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2705
0
                return (void *)table->GetSemaphoreCounterValue;
2706
0
            }
2707
0
            break;
2708
0
        case 0xec14fdebu:
2709
0
            if (!strcmp(name, "WaitSemaphores")) {
2710
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2711
0
                return (void *)table->WaitSemaphores;
2712
0
            }
2713
0
            break;
2714
0
        case 0x53897c39u:
2715
0
            if (!strcmp(name, "SignalSemaphore")) {
2716
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2717
0
                return (void *)table->SignalSemaphore;
2718
0
            }
2719
0
            break;
2720
0
        case 0x58b83869u:
2721
0
            if (!strcmp(name, "GetBufferDeviceAddress")) {
2722
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2723
0
                return (void *)table->GetBufferDeviceAddress;
2724
0
            }
2725
0
            break;
2726
0
        case 0x7878eaa4u:
2727
0
            if (!strcmp(name, "GetBufferOpaqueCaptureAddress")) {
2728
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2729
0
                return (void *)table->GetBufferOpaqueCaptureAddress;
2730
0
            }
2731
0
            break;
2732
0
        case 0x9a0eb25fu:
2733
0
            if (!strcmp(name, "GetDeviceMemoryOpaqueCaptureAddress")) {
2734
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2735
0
                return (void *)table->GetDeviceMemoryOpaqueCaptureAddress;
2736
0
            }
2737
0
            break;
2738
0
        case 0xe62a3a1au:
2739
0
            if (!strcmp(name, "CmdDrawIndirectCount")) {
2740
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2741
0
                return (void *)table->CmdDrawIndirectCount;
2742
0
            }
2743
0
            break;
2744
0
        case 0xf9fd358fu:
2745
0
            if (!strcmp(name, "CmdDrawIndexedIndirectCount")) {
2746
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2747
0
                return (void *)table->CmdDrawIndexedIndirectCount;
2748
0
            }
2749
0
            break;
2750
0
        case 0x86b1794eu:
2751
0
            if (!strcmp(name, "CreateRenderPass2")) {
2752
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2753
0
                return (void *)table->CreateRenderPass2;
2754
0
            }
2755
0
            break;
2756
0
        case 0xb7f486d5u:
2757
0
            if (!strcmp(name, "CmdBeginRenderPass2")) {
2758
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2759
0
                return (void *)table->CmdBeginRenderPass2;
2760
0
            }
2761
0
            break;
2762
0
        case 0xdc012cb1u:
2763
0
            if (!strcmp(name, "CmdNextSubpass2")) {
2764
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2765
0
                return (void *)table->CmdNextSubpass2;
2766
0
            }
2767
0
            break;
2768
0
        case 0x1932f599u:
2769
0
            if (!strcmp(name, "CmdEndRenderPass2")) {
2770
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_2) return NULL;
2771
0
                return (void *)table->CmdEndRenderPass2;
2772
0
            }
2773
0
            break;
2774
2775
        // ---- Core Vulkan 1.3 commands
2776
0
        case 0x177d5920u:
2777
0
            if (!strcmp(name, "CreatePrivateDataSlot")) {
2778
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2779
0
                return (void *)table->CreatePrivateDataSlot;
2780
0
            }
2781
0
            break;
2782
0
        case 0x7f21ff68u:
2783
0
            if (!strcmp(name, "DestroyPrivateDataSlot")) {
2784
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2785
0
                return (void *)table->DestroyPrivateDataSlot;
2786
0
            }
2787
0
            break;
2788
0
        case 0xe7f3b50eu:
2789
0
            if (!strcmp(name, "SetPrivateData")) {
2790
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2791
0
                return (void *)table->SetPrivateData;
2792
0
            }
2793
0
            break;
2794
0
        case 0xe2ac6662u:
2795
0
            if (!strcmp(name, "GetPrivateData")) {
2796
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2797
0
                return (void *)table->GetPrivateData;
2798
0
            }
2799
0
            break;
2800
0
        case 0x63be7b46u:
2801
0
            if (!strcmp(name, "CmdPipelineBarrier2")) {
2802
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2803
0
                return (void *)table->CmdPipelineBarrier2;
2804
0
            }
2805
0
            break;
2806
0
        case 0xbe85665cu:
2807
0
            if (!strcmp(name, "CmdWriteTimestamp2")) {
2808
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2809
0
                return (void *)table->CmdWriteTimestamp2;
2810
0
            }
2811
0
            break;
2812
0
        case 0x16eeb6a6u:
2813
0
            if (!strcmp(name, "QueueSubmit2")) {
2814
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2815
0
                return (void *)table->QueueSubmit2;
2816
0
            }
2817
0
            break;
2818
0
        case 0xa84ed62au:
2819
0
            if (!strcmp(name, "CmdCopyBuffer2")) {
2820
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2821
0
                return (void *)table->CmdCopyBuffer2;
2822
0
            }
2823
0
            break;
2824
0
        case 0xcf663adfu:
2825
0
            if (!strcmp(name, "CmdCopyImage2")) {
2826
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2827
0
                return (void *)table->CmdCopyImage2;
2828
0
            }
2829
0
            break;
2830
0
        case 0x14802968u:
2831
0
            if (!strcmp(name, "CmdCopyBufferToImage2")) {
2832
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2833
0
                return (void *)table->CmdCopyBufferToImage2;
2834
0
            }
2835
0
            break;
2836
0
        case 0xef36f3fau:
2837
0
            if (!strcmp(name, "CmdCopyImageToBuffer2")) {
2838
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2839
0
                return (void *)table->CmdCopyImageToBuffer2;
2840
0
            }
2841
0
            break;
2842
0
        case 0xb708741cu:
2843
0
            if (!strcmp(name, "GetDeviceBufferMemoryRequirements")) {
2844
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2845
0
                return (void *)table->GetDeviceBufferMemoryRequirements;
2846
0
            }
2847
0
            break;
2848
0
        case 0xca328b99u:
2849
0
            if (!strcmp(name, "GetDeviceImageMemoryRequirements")) {
2850
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2851
0
                return (void *)table->GetDeviceImageMemoryRequirements;
2852
0
            }
2853
0
            break;
2854
0
        case 0x3fe21ac5u:
2855
0
            if (!strcmp(name, "GetDeviceImageSparseMemoryRequirements")) {
2856
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2857
0
                return (void *)table->GetDeviceImageSparseMemoryRequirements;
2858
0
            }
2859
0
            break;
2860
0
        case 0x967f9dd3u:
2861
0
            if (!strcmp(name, "CmdSetEvent2")) {
2862
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2863
0
                return (void *)table->CmdSetEvent2;
2864
0
            }
2865
0
            break;
2866
0
        case 0xad1ed9ecu:
2867
0
            if (!strcmp(name, "CmdResetEvent2")) {
2868
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2869
0
                return (void *)table->CmdResetEvent2;
2870
0
            }
2871
0
            break;
2872
0
        case 0x748f228fu:
2873
0
            if (!strcmp(name, "CmdWaitEvents2")) {
2874
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2875
0
                return (void *)table->CmdWaitEvents2;
2876
0
            }
2877
0
            break;
2878
0
        case 0x9dfb2e0du:
2879
0
            if (!strcmp(name, "CmdBlitImage2")) {
2880
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2881
0
                return (void *)table->CmdBlitImage2;
2882
0
            }
2883
0
            break;
2884
0
        case 0x3a7405d8u:
2885
0
            if (!strcmp(name, "CmdResolveImage2")) {
2886
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2887
0
                return (void *)table->CmdResolveImage2;
2888
0
            }
2889
0
            break;
2890
0
        case 0xaa8fee8cu:
2891
0
            if (!strcmp(name, "CmdBeginRendering")) {
2892
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2893
0
                return (void *)table->CmdBeginRendering;
2894
0
            }
2895
0
            break;
2896
0
        case 0xee0f67d0u:
2897
0
            if (!strcmp(name, "CmdEndRendering")) {
2898
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2899
0
                return (void *)table->CmdEndRendering;
2900
0
            }
2901
0
            break;
2902
0
        case 0x20a446deu:
2903
0
            if (!strcmp(name, "CmdSetCullMode")) {
2904
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2905
0
                return (void *)table->CmdSetCullMode;
2906
0
            }
2907
0
            break;
2908
0
        case 0x414443d5u:
2909
0
            if (!strcmp(name, "CmdSetFrontFace")) {
2910
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2911
0
                return (void *)table->CmdSetFrontFace;
2912
0
            }
2913
0
            break;
2914
0
        case 0x1a103db7u:
2915
0
            if (!strcmp(name, "CmdSetPrimitiveTopology")) {
2916
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2917
0
                return (void *)table->CmdSetPrimitiveTopology;
2918
0
            }
2919
0
            break;
2920
0
        case 0xcba6442eu:
2921
0
            if (!strcmp(name, "CmdSetViewportWithCount")) {
2922
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2923
0
                return (void *)table->CmdSetViewportWithCount;
2924
0
            }
2925
0
            break;
2926
0
        case 0x9d1ae5f0u:
2927
0
            if (!strcmp(name, "CmdSetScissorWithCount")) {
2928
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2929
0
                return (void *)table->CmdSetScissorWithCount;
2930
0
            }
2931
0
            break;
2932
0
        case 0xd4bf5b2du:
2933
0
            if (!strcmp(name, "CmdBindVertexBuffers2")) {
2934
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2935
0
                return (void *)table->CmdBindVertexBuffers2;
2936
0
            }
2937
0
            break;
2938
0
        case 0xfdeb3f45u:
2939
0
            if (!strcmp(name, "CmdSetDepthTestEnable")) {
2940
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2941
0
                return (void *)table->CmdSetDepthTestEnable;
2942
0
            }
2943
0
            break;
2944
0
        case 0xeedd9e22u:
2945
0
            if (!strcmp(name, "CmdSetDepthWriteEnable")) {
2946
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2947
0
                return (void *)table->CmdSetDepthWriteEnable;
2948
0
            }
2949
0
            break;
2950
0
        case 0x56561e4au:
2951
0
            if (!strcmp(name, "CmdSetDepthCompareOp")) {
2952
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2953
0
                return (void *)table->CmdSetDepthCompareOp;
2954
0
            }
2955
0
            break;
2956
0
        case 0x7948f434u:
2957
0
            if (!strcmp(name, "CmdSetDepthBoundsTestEnable")) {
2958
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2959
0
                return (void *)table->CmdSetDepthBoundsTestEnable;
2960
0
            }
2961
0
            break;
2962
0
        case 0xad756094u:
2963
0
            if (!strcmp(name, "CmdSetStencilTestEnable")) {
2964
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2965
0
                return (void *)table->CmdSetStencilTestEnable;
2966
0
            }
2967
0
            break;
2968
0
        case 0x1d9ffdc0u:
2969
0
            if (!strcmp(name, "CmdSetStencilOp")) {
2970
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2971
0
                return (void *)table->CmdSetStencilOp;
2972
0
            }
2973
0
            break;
2974
0
        case 0xc64b8095u:
2975
0
            if (!strcmp(name, "CmdSetRasterizerDiscardEnable")) {
2976
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2977
0
                return (void *)table->CmdSetRasterizerDiscardEnable;
2978
0
            }
2979
0
            break;
2980
0
        case 0x4e9b6cfcu:
2981
0
            if (!strcmp(name, "CmdSetDepthBiasEnable")) {
2982
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2983
0
                return (void *)table->CmdSetDepthBiasEnable;
2984
0
            }
2985
0
            break;
2986
0
        case 0xd45e7f8eu:
2987
0
            if (!strcmp(name, "CmdSetPrimitiveRestartEnable")) {
2988
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_3) return NULL;
2989
0
                return (void *)table->CmdSetPrimitiveRestartEnable;
2990
0
            }
2991
0
            break;
2992
2993
        // ---- Core Vulkan 1.4 commands
2994
0
        case 0x5de96428u:
2995
0
            if (!strcmp(name, "MapMemory2")) {
2996
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
2997
0
                return (void *)table->MapMemory2;
2998
0
            }
2999
0
            break;
3000
0
        case 0xda443a6fu:
3001
0
            if (!strcmp(name, "UnmapMemory2")) {
3002
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3003
0
                return (void *)table->UnmapMemory2;
3004
0
            }
3005
0
            break;
3006
0
        case 0x31e492fau:
3007
0
            if (!strcmp(name, "GetDeviceImageSubresourceLayout")) {
3008
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3009
0
                return (void *)table->GetDeviceImageSubresourceLayout;
3010
0
            }
3011
0
            break;
3012
0
        case 0x077a1516u:
3013
0
            if (!strcmp(name, "GetImageSubresourceLayout2")) {
3014
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3015
0
                return (void *)table->GetImageSubresourceLayout2;
3016
0
            }
3017
0
            break;
3018
0
        case 0xa305dfb7u:
3019
0
            if (!strcmp(name, "CopyMemoryToImage")) {
3020
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3021
0
                return (void *)table->CopyMemoryToImage;
3022
0
            }
3023
0
            break;
3024
0
        case 0xc7c58193u:
3025
0
            if (!strcmp(name, "CopyImageToMemory")) {
3026
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3027
0
                return (void *)table->CopyImageToMemory;
3028
0
            }
3029
0
            break;
3030
0
        case 0x07cb5f2du:
3031
0
            if (!strcmp(name, "CopyImageToImage")) {
3032
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3033
0
                return (void *)table->CopyImageToImage;
3034
0
            }
3035
0
            break;
3036
0
        case 0x311876ddu:
3037
0
            if (!strcmp(name, "TransitionImageLayout")) {
3038
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3039
0
                return (void *)table->TransitionImageLayout;
3040
0
            }
3041
0
            break;
3042
0
        case 0xe6f62546u:
3043
0
            if (!strcmp(name, "CmdPushDescriptorSet")) {
3044
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3045
0
                return (void *)table->CmdPushDescriptorSet;
3046
0
            }
3047
0
            break;
3048
0
        case 0x4c799004u:
3049
0
            if (!strcmp(name, "CmdPushDescriptorSetWithTemplate")) {
3050
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3051
0
                return (void *)table->CmdPushDescriptorSetWithTemplate;
3052
0
            }
3053
0
            break;
3054
0
        case 0x1da90386u:
3055
0
            if (!strcmp(name, "CmdBindDescriptorSets2")) {
3056
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3057
0
                return (void *)table->CmdBindDescriptorSets2;
3058
0
            }
3059
0
            break;
3060
0
        case 0x6435b69eu:
3061
0
            if (!strcmp(name, "CmdPushConstants2")) {
3062
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3063
0
                return (void *)table->CmdPushConstants2;
3064
0
            }
3065
0
            break;
3066
0
        case 0x097cf59cu:
3067
0
            if (!strcmp(name, "CmdPushDescriptorSet2")) {
3068
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3069
0
                return (void *)table->CmdPushDescriptorSet2;
3070
0
            }
3071
0
            break;
3072
0
        case 0x995e0502u:
3073
0
            if (!strcmp(name, "CmdPushDescriptorSetWithTemplate2")) {
3074
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3075
0
                return (void *)table->CmdPushDescriptorSetWithTemplate2;
3076
0
            }
3077
0
            break;
3078
0
        case 0x3e320cccu:
3079
0
            if (!strcmp(name, "CmdSetLineStipple")) {
3080
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3081
0
                return (void *)table->CmdSetLineStipple;
3082
0
            }
3083
0
            break;
3084
0
        case 0x6a233448u:
3085
0
            if (!strcmp(name, "CmdBindIndexBuffer2")) {
3086
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3087
0
                return (void *)table->CmdBindIndexBuffer2;
3088
0
            }
3089
0
            break;
3090
0
        case 0xe26f5990u:
3091
0
            if (!strcmp(name, "GetRenderingAreaGranularity")) {
3092
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3093
0
                return (void *)table->GetRenderingAreaGranularity;
3094
0
            }
3095
0
            break;
3096
0
        case 0xa1d575eeu:
3097
0
            if (!strcmp(name, "CmdSetRenderingAttachmentLocations")) {
3098
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3099
0
                return (void *)table->CmdSetRenderingAttachmentLocations;
3100
0
            }
3101
0
            break;
3102
0
        case 0xf6408f2du:
3103
0
            if (!strcmp(name, "CmdSetRenderingInputAttachmentIndices")) {
3104
0
                if (dev->should_ignore_device_commands_from_newer_version && api_version < VK_API_VERSION_1_4) return NULL;
3105
0
                return (void *)table->CmdSetRenderingInputAttachmentIndices;
3106
0
            }
3107
0
            break;
3108
3109
        // ---- VK_KHR_swapchain extension commands
3110
0
        case 0xe67ad416u:
3111
0
            if (!strcmp(name, "CreateSwapchainKHR")) return (void *)table->CreateSwapchainKHR;
3112
0
            break;
3113
0
        case 0xb16c7d8eu:
3114
0
            if (!strcmp(name, "DestroySwapchainKHR")) return (void *)table->DestroySwapchainKHR;
3115
0
            break;
3116
0
        case 0x1beb0af2u:
3117
0
            if (!strcmp(name, "GetSwapchainImagesKHR")) return (void *)table->GetSwapchainImagesKHR;
3118
0
            break;
3119
0
        case 0x3cfee58au:
3120
0
            if (!strcmp(name, "AcquireNextImageKHR")) return (void *)table->AcquireNextImageKHR;
3121
0
            break;
3122
0
        case 0xe1fb6286u:
3123
0
            if (!strcmp(name, "QueuePresentKHR")) return (void *)table->QueuePresentKHR;
3124
0
            break;
3125
0
        case 0x50feefb4u:
3126
0
            if (!strcmp(name, "GetDeviceGroupPresentCapabilitiesKHR")) return (void *)table->GetDeviceGroupPresentCapabilitiesKHR;
3127
0
            break;
3128
0
        case 0x75cc4ee9u:
3129
0
            if (!strcmp(name, "GetDeviceGroupSurfacePresentModesKHR")) return (void *)table->GetDeviceGroupSurfacePresentModesKHR;
3130
0
            break;
3131
0
        case 0x89ecd932u:
3132
0
            if (!strcmp(name, "AcquireNextImage2KHR")) return (void *)table->AcquireNextImage2KHR;
3133
0
            break;
3134
3135
        // ---- VK_KHR_display_swapchain extension commands
3136
0
        case 0x65d55da4u:
3137
0
            if (!strcmp(name, "CreateSharedSwapchainsKHR")) return (void *)table->CreateSharedSwapchainsKHR;
3138
0
            break;
3139
3140
        // ---- VK_KHR_video_queue extension commands
3141
0
        case 0x8755b43bu:
3142
0
            if (!strcmp(name, "CreateVideoSessionKHR")) return (void *)table->CreateVideoSessionKHR;
3143
0
            break;
3144
0
        case 0xba6a9c23u:
3145
0
            if (!strcmp(name, "DestroyVideoSessionKHR")) return (void *)table->DestroyVideoSessionKHR;
3146
0
            break;
3147
0
        case 0x99a36c94u:
3148
0
            if (!strcmp(name, "GetVideoSessionMemoryRequirementsKHR")) return (void *)table->GetVideoSessionMemoryRequirementsKHR;
3149
0
            break;
3150
0
        case 0x8eb592f3u:
3151
0
            if (!strcmp(name, "BindVideoSessionMemoryKHR")) return (void *)table->BindVideoSessionMemoryKHR;
3152
0
            break;
3153
0
        case 0xdaba1587u:
3154
0
            if (!strcmp(name, "CreateVideoSessionParametersKHR")) return (void *)table->CreateVideoSessionParametersKHR;
3155
0
            break;
3156
0
        case 0x8134ab64u:
3157
0
            if (!strcmp(name, "UpdateVideoSessionParametersKHR")) return (void *)table->UpdateVideoSessionParametersKHR;
3158
0
            break;
3159
0
        case 0xa3e5ec1fu:
3160
0
            if (!strcmp(name, "DestroyVideoSessionParametersKHR")) return (void *)table->DestroyVideoSessionParametersKHR;
3161
0
            break;
3162
0
        case 0x2ffc3be0u:
3163
0
            if (!strcmp(name, "CmdBeginVideoCodingKHR")) return (void *)table->CmdBeginVideoCodingKHR;
3164
0
            break;
3165
0
        case 0xb0826eccu:
3166
0
            if (!strcmp(name, "CmdEndVideoCodingKHR")) return (void *)table->CmdEndVideoCodingKHR;
3167
0
            break;
3168
0
        case 0xa3bded00u:
3169
0
            if (!strcmp(name, "CmdControlVideoCodingKHR")) return (void *)table->CmdControlVideoCodingKHR;
3170
0
            break;
3171
3172
        // ---- VK_KHR_video_decode_queue extension commands
3173
0
        case 0x6929c567u:
3174
0
            if (!strcmp(name, "CmdDecodeVideoKHR")) return (void *)table->CmdDecodeVideoKHR;
3175
0
            break;
3176
3177
        // ---- VK_KHR_dynamic_rendering extension commands
3178
0
        case 0xb25ed13fu:
3179
0
            if (!strcmp(name, "CmdBeginRenderingKHR")) return (void *)table->CmdBeginRenderingKHR;
3180
0
            break;
3181
0
        case 0xa1e8da3bu:
3182
0
            if (!strcmp(name, "CmdEndRenderingKHR")) return (void *)table->CmdEndRenderingKHR;
3183
0
            break;
3184
3185
        // ---- VK_KHR_device_group extension commands
3186
0
        case 0x4ed71617u:
3187
0
            if (!strcmp(name, "GetDeviceGroupPeerMemoryFeaturesKHR")) return (void *)table->GetDeviceGroupPeerMemoryFeaturesKHR;
3188
0
            break;
3189
0
        case 0x08800ab6u:
3190
0
            if (!strcmp(name, "CmdSetDeviceMaskKHR")) return (void *)table->CmdSetDeviceMaskKHR;
3191
0
            break;
3192
0
        case 0xd63b031fu:
3193
0
            if (!strcmp(name, "CmdDispatchBaseKHR")) return (void *)table->CmdDispatchBaseKHR;
3194
0
            break;
3195
3196
        // ---- VK_KHR_maintenance1 extension commands
3197
0
        case 0xb633ed9fu:
3198
0
            if (!strcmp(name, "TrimCommandPoolKHR")) return (void *)table->TrimCommandPoolKHR;
3199
0
            break;
3200
3201
        // ---- VK_KHR_external_memory_win32 extension commands
3202
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3203
        case 0x20d23800u:
3204
            if (!strcmp(name, "GetMemoryWin32HandleKHR")) return (void *)table->GetMemoryWin32HandleKHR;
3205
            break;
3206
#endif // VK_USE_PLATFORM_WIN32_KHR
3207
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3208
        case 0x8aa3a953u:
3209
            if (!strcmp(name, "GetMemoryWin32HandlePropertiesKHR")) return (void *)table->GetMemoryWin32HandlePropertiesKHR;
3210
            break;
3211
#endif // VK_USE_PLATFORM_WIN32_KHR
3212
3213
        // ---- VK_KHR_external_memory_fd extension commands
3214
0
        case 0xf40b9fe1u:
3215
0
            if (!strcmp(name, "GetMemoryFdKHR")) return (void *)table->GetMemoryFdKHR;
3216
0
            break;
3217
0
        case 0x56495eaau:
3218
0
            if (!strcmp(name, "GetMemoryFdPropertiesKHR")) return (void *)table->GetMemoryFdPropertiesKHR;
3219
0
            break;
3220
3221
        // ---- VK_KHR_external_semaphore_win32 extension commands
3222
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3223
        case 0x9c1d8f6au:
3224
            if (!strcmp(name, "ImportSemaphoreWin32HandleKHR")) return (void *)table->ImportSemaphoreWin32HandleKHR;
3225
            break;
3226
#endif // VK_USE_PLATFORM_WIN32_KHR
3227
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3228
        case 0x08094127u:
3229
            if (!strcmp(name, "GetSemaphoreWin32HandleKHR")) return (void *)table->GetSemaphoreWin32HandleKHR;
3230
            break;
3231
#endif // VK_USE_PLATFORM_WIN32_KHR
3232
3233
        // ---- VK_KHR_external_semaphore_fd extension commands
3234
0
        case 0x63f7079fu:
3235
0
            if (!strcmp(name, "ImportSemaphoreFdKHR")) return (void *)table->ImportSemaphoreFdKHR;
3236
0
            break;
3237
0
        case 0x68dc7f34u:
3238
0
            if (!strcmp(name, "GetSemaphoreFdKHR")) return (void *)table->GetSemaphoreFdKHR;
3239
0
            break;
3240
3241
        // ---- VK_KHR_push_descriptor extension commands
3242
0
        case 0x3728abedu:
3243
0
            if (!strcmp(name, "CmdPushDescriptorSetKHR")) return (void *)table->CmdPushDescriptorSetKHR;
3244
0
            break;
3245
0
        case 0xcdcc9167u:
3246
0
            if (!strcmp(name, "CmdPushDescriptorSetWithTemplateKHR")) return (void *)table->CmdPushDescriptorSetWithTemplateKHR;
3247
0
            break;
3248
3249
        // ---- VK_KHR_descriptor_update_template extension commands
3250
0
        case 0x1e2093eau:
3251
0
            if (!strcmp(name, "CreateDescriptorUpdateTemplateKHR")) return (void *)table->CreateDescriptorUpdateTemplateKHR;
3252
0
            break;
3253
0
        case 0x17e357a2u:
3254
0
            if (!strcmp(name, "DestroyDescriptorUpdateTemplateKHR")) return (void *)table->DestroyDescriptorUpdateTemplateKHR;
3255
0
            break;
3256
0
        case 0x74072198u:
3257
0
            if (!strcmp(name, "UpdateDescriptorSetWithTemplateKHR")) return (void *)table->UpdateDescriptorSetWithTemplateKHR;
3258
0
            break;
3259
3260
        // ---- VK_KHR_create_renderpass2 extension commands
3261
0
        case 0xff68d4a5u:
3262
0
            if (!strcmp(name, "CreateRenderPass2KHR")) return (void *)table->CreateRenderPass2KHR;
3263
0
            break;
3264
0
        case 0x1342302cu:
3265
0
            if (!strcmp(name, "CmdBeginRenderPass2KHR")) return (void *)table->CmdBeginRenderPass2KHR;
3266
0
            break;
3267
0
        case 0xb9f20aa0u:
3268
0
            if (!strcmp(name, "CmdNextSubpass2KHR")) return (void *)table->CmdNextSubpass2KHR;
3269
0
            break;
3270
0
        case 0x192dc6f8u:
3271
0
            if (!strcmp(name, "CmdEndRenderPass2KHR")) return (void *)table->CmdEndRenderPass2KHR;
3272
0
            break;
3273
3274
        // ---- VK_KHR_shared_presentable_image extension commands
3275
0
        case 0x7204d3eeu:
3276
0
            if (!strcmp(name, "GetSwapchainStatusKHR")) return (void *)table->GetSwapchainStatusKHR;
3277
0
            break;
3278
3279
        // ---- VK_KHR_external_fence_win32 extension commands
3280
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3281
        case 0xc75dd639u:
3282
            if (!strcmp(name, "ImportFenceWin32HandleKHR")) return (void *)table->ImportFenceWin32HandleKHR;
3283
            break;
3284
#endif // VK_USE_PLATFORM_WIN32_KHR
3285
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3286
        case 0x1a5aafe0u:
3287
            if (!strcmp(name, "GetFenceWin32HandleKHR")) return (void *)table->GetFenceWin32HandleKHR;
3288
            break;
3289
#endif // VK_USE_PLATFORM_WIN32_KHR
3290
3291
        // ---- VK_KHR_external_fence_fd extension commands
3292
0
        case 0x8cdebc12u:
3293
0
            if (!strcmp(name, "ImportFenceFdKHR")) return (void *)table->ImportFenceFdKHR;
3294
0
            break;
3295
0
        case 0x5a3a2481u:
3296
0
            if (!strcmp(name, "GetFenceFdKHR")) return (void *)table->GetFenceFdKHR;
3297
0
            break;
3298
3299
        // ---- VK_KHR_performance_query extension commands
3300
0
        case 0xf1c9f763u:
3301
0
            if (!strcmp(name, "AcquireProfilingLockKHR")) return (void *)table->AcquireProfilingLockKHR;
3302
0
            break;
3303
0
        case 0xebe8785eu:
3304
0
            if (!strcmp(name, "ReleaseProfilingLockKHR")) return (void *)table->ReleaseProfilingLockKHR;
3305
0
            break;
3306
3307
        // ---- VK_KHR_get_memory_requirements2 extension commands
3308
0
        case 0x4eabff9eu:
3309
0
            if (!strcmp(name, "GetImageMemoryRequirements2KHR")) return (void *)table->GetImageMemoryRequirements2KHR;
3310
0
            break;
3311
0
        case 0x2909ef17u:
3312
0
            if (!strcmp(name, "GetBufferMemoryRequirements2KHR")) return (void *)table->GetBufferMemoryRequirements2KHR;
3313
0
            break;
3314
0
        case 0x6dd8dc46u:
3315
0
            if (!strcmp(name, "GetImageSparseMemoryRequirements2KHR")) return (void *)table->GetImageSparseMemoryRequirements2KHR;
3316
0
            break;
3317
3318
        // ---- VK_KHR_sampler_ycbcr_conversion extension commands
3319
0
        case 0x85ef1f45u:
3320
0
            if (!strcmp(name, "CreateSamplerYcbcrConversionKHR")) return (void *)table->CreateSamplerYcbcrConversionKHR;
3321
0
            break;
3322
0
        case 0xbe069d3du:
3323
0
            if (!strcmp(name, "DestroySamplerYcbcrConversionKHR")) return (void *)table->DestroySamplerYcbcrConversionKHR;
3324
0
            break;
3325
3326
        // ---- VK_KHR_bind_memory2 extension commands
3327
0
        case 0x6d4e02deu:
3328
0
            if (!strcmp(name, "BindBufferMemory2KHR")) return (void *)table->BindBufferMemory2KHR;
3329
0
            break;
3330
0
        case 0x201869e9u:
3331
0
            if (!strcmp(name, "BindImageMemory2KHR")) return (void *)table->BindImageMemory2KHR;
3332
0
            break;
3333
3334
        // ---- VK_KHR_maintenance3 extension commands
3335
0
        case 0x9edd64bau:
3336
0
            if (!strcmp(name, "GetDescriptorSetLayoutSupportKHR")) return (void *)table->GetDescriptorSetLayoutSupportKHR;
3337
0
            break;
3338
3339
        // ---- VK_KHR_draw_indirect_count extension commands
3340
0
        case 0xda9e74f9u:
3341
0
            if (!strcmp(name, "CmdDrawIndirectCountKHR")) return (void *)table->CmdDrawIndirectCountKHR;
3342
0
            break;
3343
0
        case 0xb26a147au:
3344
0
            if (!strcmp(name, "CmdDrawIndexedIndirectCountKHR")) return (void *)table->CmdDrawIndexedIndirectCountKHR;
3345
0
            break;
3346
3347
        // ---- VK_KHR_timeline_semaphore extension commands
3348
0
        case 0xf35de4b5u:
3349
0
            if (!strcmp(name, "GetSemaphoreCounterValueKHR")) return (void *)table->GetSemaphoreCounterValueKHR;
3350
0
            break;
3351
0
        case 0xd6b1ec1eu:
3352
0
            if (!strcmp(name, "WaitSemaphoresKHR")) return (void *)table->WaitSemaphoresKHR;
3353
0
            break;
3354
0
        case 0xe32cacd8u:
3355
0
            if (!strcmp(name, "SignalSemaphoreKHR")) return (void *)table->SignalSemaphoreKHR;
3356
0
            break;
3357
3358
        // ---- VK_KHR_fragment_shading_rate extension commands
3359
0
        case 0x3fb07adeu:
3360
0
            if (!strcmp(name, "CmdSetFragmentShadingRateKHR")) return (void *)table->CmdSetFragmentShadingRateKHR;
3361
0
            break;
3362
3363
        // ---- VK_KHR_dynamic_rendering_local_read extension commands
3364
0
        case 0x55942285u:
3365
0
            if (!strcmp(name, "CmdSetRenderingAttachmentLocationsKHR")) return (void *)table->CmdSetRenderingAttachmentLocationsKHR;
3366
0
            break;
3367
0
        case 0xd1853d34u:
3368
0
            if (!strcmp(name, "CmdSetRenderingInputAttachmentIndicesKHR")) return (void *)table->CmdSetRenderingInputAttachmentIndicesKHR;
3369
0
            break;
3370
3371
        // ---- VK_KHR_present_wait extension commands
3372
0
        case 0xf8e1926du:
3373
0
            if (!strcmp(name, "WaitForPresentKHR")) return (void *)table->WaitForPresentKHR;
3374
0
            break;
3375
3376
        // ---- VK_KHR_buffer_device_address extension commands
3377
0
        case 0xf67656c8u:
3378
0
            if (!strcmp(name, "GetBufferDeviceAddressKHR")) return (void *)table->GetBufferDeviceAddressKHR;
3379
0
            break;
3380
0
        case 0x6af732c7u:
3381
0
            if (!strcmp(name, "GetBufferOpaqueCaptureAddressKHR")) return (void *)table->GetBufferOpaqueCaptureAddressKHR;
3382
0
            break;
3383
0
        case 0x40173f8au:
3384
0
            if (!strcmp(name, "GetDeviceMemoryOpaqueCaptureAddressKHR")) return (void *)table->GetDeviceMemoryOpaqueCaptureAddressKHR;
3385
0
            break;
3386
3387
        // ---- VK_KHR_deferred_host_operations extension commands
3388
0
        case 0x41db77c2u:
3389
0
            if (!strcmp(name, "CreateDeferredOperationKHR")) return (void *)table->CreateDeferredOperationKHR;
3390
0
            break;
3391
0
        case 0xe2e9652au:
3392
0
            if (!strcmp(name, "DestroyDeferredOperationKHR")) return (void *)table->DestroyDeferredOperationKHR;
3393
0
            break;
3394
0
        case 0xa17aac2bu:
3395
0
            if (!strcmp(name, "GetDeferredOperationMaxConcurrencyKHR")) return (void *)table->GetDeferredOperationMaxConcurrencyKHR;
3396
0
            break;
3397
0
        case 0xc99a2583u:
3398
0
            if (!strcmp(name, "GetDeferredOperationResultKHR")) return (void *)table->GetDeferredOperationResultKHR;
3399
0
            break;
3400
0
        case 0xf82ca3cau:
3401
0
            if (!strcmp(name, "DeferredOperationJoinKHR")) return (void *)table->DeferredOperationJoinKHR;
3402
0
            break;
3403
3404
        // ---- VK_KHR_pipeline_executable_properties extension commands
3405
0
        case 0x5120db1bu:
3406
0
            if (!strcmp(name, "GetPipelineExecutablePropertiesKHR")) return (void *)table->GetPipelineExecutablePropertiesKHR;
3407
0
            break;
3408
0
        case 0x415fae7du:
3409
0
            if (!strcmp(name, "GetPipelineExecutableStatisticsKHR")) return (void *)table->GetPipelineExecutableStatisticsKHR;
3410
0
            break;
3411
0
        case 0x3f6f94ddu:
3412
0
            if (!strcmp(name, "GetPipelineExecutableInternalRepresentationsKHR")) return (void *)table->GetPipelineExecutableInternalRepresentationsKHR;
3413
0
            break;
3414
3415
        // ---- VK_KHR_map_memory2 extension commands
3416
0
        case 0xfcd0e5c3u:
3417
0
            if (!strcmp(name, "MapMemory2KHR")) return (void *)table->MapMemory2KHR;
3418
0
            break;
3419
0
        case 0xbd86b31au:
3420
0
            if (!strcmp(name, "UnmapMemory2KHR")) return (void *)table->UnmapMemory2KHR;
3421
0
            break;
3422
3423
        // ---- VK_KHR_video_encode_queue extension commands
3424
0
        case 0xe513aa09u:
3425
0
            if (!strcmp(name, "GetEncodedVideoSessionParametersKHR")) return (void *)table->GetEncodedVideoSessionParametersKHR;
3426
0
            break;
3427
0
        case 0xed044fd3u:
3428
0
            if (!strcmp(name, "CmdEncodeVideoKHR")) return (void *)table->CmdEncodeVideoKHR;
3429
0
            break;
3430
3431
        // ---- VK_KHR_synchronization2 extension commands
3432
0
        case 0x5a728716u:
3433
0
            if (!strcmp(name, "CmdSetEvent2KHR")) return (void *)table->CmdSetEvent2KHR;
3434
0
            break;
3435
0
        case 0xa5b840dfu:
3436
0
            if (!strcmp(name, "CmdResetEvent2KHR")) return (void *)table->CmdResetEvent2KHR;
3437
0
            break;
3438
0
        case 0x91e1837au:
3439
0
            if (!strcmp(name, "CmdWaitEvents2KHR")) return (void *)table->CmdWaitEvents2KHR;
3440
0
            break;
3441
0
        case 0x1dfbddedu:
3442
0
            if (!strcmp(name, "CmdPipelineBarrier2KHR")) return (void *)table->CmdPipelineBarrier2KHR;
3443
0
            break;
3444
0
        case 0xe0d31c8fu:
3445
0
            if (!strcmp(name, "CmdWriteTimestamp2KHR")) return (void *)table->CmdWriteTimestamp2KHR;
3446
0
            break;
3447
0
        case 0x63783d0du:
3448
0
            if (!strcmp(name, "QueueSubmit2KHR")) return (void *)table->QueueSubmit2KHR;
3449
0
            break;
3450
3451
        // ---- VK_KHR_device_address_commands extension commands
3452
0
        case 0x83d6864eu:
3453
0
            if (!strcmp(name, "CmdBindIndexBuffer3KHR")) return (void *)table->CmdBindIndexBuffer3KHR;
3454
0
            break;
3455
0
        case 0x07552f79u:
3456
0
            if (!strcmp(name, "CmdBindVertexBuffers3KHR")) return (void *)table->CmdBindVertexBuffers3KHR;
3457
0
            break;
3458
0
        case 0xfc7b6a6eu:
3459
0
            if (!strcmp(name, "CmdDrawIndirect2KHR")) return (void *)table->CmdDrawIndirect2KHR;
3460
0
            break;
3461
0
        case 0xb46b003du:
3462
0
            if (!strcmp(name, "CmdDrawIndexedIndirect2KHR")) return (void *)table->CmdDrawIndexedIndirect2KHR;
3463
0
            break;
3464
0
        case 0x4f295d26u:
3465
0
            if (!strcmp(name, "CmdDispatchIndirect2KHR")) return (void *)table->CmdDispatchIndirect2KHR;
3466
0
            break;
3467
0
        case 0x5602cfa4u:
3468
0
            if (!strcmp(name, "CmdCopyMemoryKHR")) return (void *)table->CmdCopyMemoryKHR;
3469
0
            break;
3470
0
        case 0xe8215fe8u:
3471
0
            if (!strcmp(name, "CmdCopyMemoryToImageKHR")) return (void *)table->CmdCopyMemoryToImageKHR;
3472
0
            break;
3473
0
        case 0xb26c1574u:
3474
0
            if (!strcmp(name, "CmdCopyImageToMemoryKHR")) return (void *)table->CmdCopyImageToMemoryKHR;
3475
0
            break;
3476
0
        case 0x0663b20cu:
3477
0
            if (!strcmp(name, "CmdUpdateMemoryKHR")) return (void *)table->CmdUpdateMemoryKHR;
3478
0
            break;
3479
0
        case 0x12eb262cu:
3480
0
            if (!strcmp(name, "CmdFillMemoryKHR")) return (void *)table->CmdFillMemoryKHR;
3481
0
            break;
3482
0
        case 0x35d24253u:
3483
0
            if (!strcmp(name, "CmdCopyQueryPoolResultsToMemoryKHR")) return (void *)table->CmdCopyQueryPoolResultsToMemoryKHR;
3484
0
            break;
3485
0
        case 0xb51d3c53u:
3486
0
            if (!strcmp(name, "CmdDrawIndirectCount2KHR")) return (void *)table->CmdDrawIndirectCount2KHR;
3487
0
            break;
3488
0
        case 0x2d675662u:
3489
0
            if (!strcmp(name, "CmdDrawIndexedIndirectCount2KHR")) return (void *)table->CmdDrawIndexedIndirectCount2KHR;
3490
0
            break;
3491
0
        case 0x2ed06d21u:
3492
0
            if (!strcmp(name, "CmdBeginConditionalRendering2EXT")) return (void *)table->CmdBeginConditionalRendering2EXT;
3493
0
            break;
3494
0
        case 0x956c8b1bu:
3495
0
            if (!strcmp(name, "CmdBindTransformFeedbackBuffers2EXT")) return (void *)table->CmdBindTransformFeedbackBuffers2EXT;
3496
0
            break;
3497
0
        case 0x79dc416au:
3498
0
            if (!strcmp(name, "CmdBeginTransformFeedback2EXT")) return (void *)table->CmdBeginTransformFeedback2EXT;
3499
0
            break;
3500
0
        case 0xeb8ed116u:
3501
0
            if (!strcmp(name, "CmdEndTransformFeedback2EXT")) return (void *)table->CmdEndTransformFeedback2EXT;
3502
0
            break;
3503
0
        case 0xa13ce3b5u:
3504
0
            if (!strcmp(name, "CmdDrawIndirectByteCount2EXT")) return (void *)table->CmdDrawIndirectByteCount2EXT;
3505
0
            break;
3506
0
        case 0x8148b859u:
3507
0
            if (!strcmp(name, "CmdDrawMeshTasksIndirect2EXT")) return (void *)table->CmdDrawMeshTasksIndirect2EXT;
3508
0
            break;
3509
0
        case 0x349198b6u:
3510
0
            if (!strcmp(name, "CmdDrawMeshTasksIndirectCount2EXT")) return (void *)table->CmdDrawMeshTasksIndirectCount2EXT;
3511
0
            break;
3512
0
        case 0xf0e2afa4u:
3513
0
            if (!strcmp(name, "CmdWriteMarkerToMemoryAMD")) return (void *)table->CmdWriteMarkerToMemoryAMD;
3514
0
            break;
3515
0
        case 0xef4623ffu:
3516
0
            if (!strcmp(name, "CreateAccelerationStructure2KHR")) return (void *)table->CreateAccelerationStructure2KHR;
3517
0
            break;
3518
3519
        // ---- VK_KHR_copy_commands2 extension commands
3520
0
        case 0x8ad79009u:
3521
0
            if (!strcmp(name, "CmdCopyBuffer2KHR")) return (void *)table->CmdCopyBuffer2KHR;
3522
0
            break;
3523
0
        case 0xb82dbd0au:
3524
0
            if (!strcmp(name, "CmdCopyImage2KHR")) return (void *)table->CmdCopyImage2KHR;
3525
0
            break;
3526
0
        case 0xac4cc803u:
3527
0
            if (!strcmp(name, "CmdCopyBufferToImage2KHR")) return (void *)table->CmdCopyBufferToImage2KHR;
3528
0
            break;
3529
0
        case 0xb3361a99u:
3530
0
            if (!strcmp(name, "CmdCopyImageToBuffer2KHR")) return (void *)table->CmdCopyImageToBuffer2KHR;
3531
0
            break;
3532
0
        case 0x6f8868d4u:
3533
0
            if (!strcmp(name, "CmdBlitImage2KHR")) return (void *)table->CmdBlitImage2KHR;
3534
0
            break;
3535
0
        case 0xd9427c73u:
3536
0
            if (!strcmp(name, "CmdResolveImage2KHR")) return (void *)table->CmdResolveImage2KHR;
3537
0
            break;
3538
3539
        // ---- VK_KHR_ray_tracing_maintenance1 extension commands
3540
0
        case 0x1f19994au:
3541
0
            if (!strcmp(name, "CmdTraceRaysIndirect2KHR")) return (void *)table->CmdTraceRaysIndirect2KHR;
3542
0
            break;
3543
3544
        // ---- VK_KHR_maintenance4 extension commands
3545
0
        case 0x1e729e4fu:
3546
0
            if (!strcmp(name, "GetDeviceBufferMemoryRequirementsKHR")) return (void *)table->GetDeviceBufferMemoryRequirementsKHR;
3547
0
            break;
3548
0
        case 0x6df0b8f8u:
3549
0
            if (!strcmp(name, "GetDeviceImageMemoryRequirementsKHR")) return (void *)table->GetDeviceImageMemoryRequirementsKHR;
3550
0
            break;
3551
0
        case 0x2ded89dcu:
3552
0
            if (!strcmp(name, "GetDeviceImageSparseMemoryRequirementsKHR")) return (void *)table->GetDeviceImageSparseMemoryRequirementsKHR;
3553
0
            break;
3554
3555
        // ---- VK_KHR_maintenance5 extension commands
3556
0
        case 0x48eace23u:
3557
0
            if (!strcmp(name, "CmdBindIndexBuffer2KHR")) return (void *)table->CmdBindIndexBuffer2KHR;
3558
0
            break;
3559
0
        case 0xf4ab27fbu:
3560
0
            if (!strcmp(name, "GetRenderingAreaGranularityKHR")) return (void *)table->GetRenderingAreaGranularityKHR;
3561
0
            break;
3562
0
        case 0x7c40af99u:
3563
0
            if (!strcmp(name, "GetDeviceImageSubresourceLayoutKHR")) return (void *)table->GetDeviceImageSubresourceLayoutKHR;
3564
0
            break;
3565
0
        case 0xa6b7077du:
3566
0
            if (!strcmp(name, "GetImageSubresourceLayout2KHR")) return (void *)table->GetImageSubresourceLayout2KHR;
3567
0
            break;
3568
3569
        // ---- VK_KHR_present_wait2 extension commands
3570
0
        case 0x8c33ea4fu:
3571
0
            if (!strcmp(name, "WaitForPresent2KHR")) return (void *)table->WaitForPresent2KHR;
3572
0
            break;
3573
3574
        // ---- VK_KHR_pipeline_binary extension commands
3575
0
        case 0xef98a8a5u:
3576
0
            if (!strcmp(name, "CreatePipelineBinariesKHR")) return (void *)table->CreatePipelineBinariesKHR;
3577
0
            break;
3578
0
        case 0xe6865415u:
3579
0
            if (!strcmp(name, "DestroyPipelineBinaryKHR")) return (void *)table->DestroyPipelineBinaryKHR;
3580
0
            break;
3581
0
        case 0x5fd4a693u:
3582
0
            if (!strcmp(name, "GetPipelineKeyKHR")) return (void *)table->GetPipelineKeyKHR;
3583
0
            break;
3584
0
        case 0xd217a0e3u:
3585
0
            if (!strcmp(name, "GetPipelineBinaryDataKHR")) return (void *)table->GetPipelineBinaryDataKHR;
3586
0
            break;
3587
0
        case 0x53358d0du:
3588
0
            if (!strcmp(name, "ReleaseCapturedPipelineDataKHR")) return (void *)table->ReleaseCapturedPipelineDataKHR;
3589
0
            break;
3590
3591
        // ---- VK_KHR_swapchain_maintenance1 extension commands
3592
0
        case 0x9eeaf127u:
3593
0
            if (!strcmp(name, "ReleaseSwapchainImagesKHR")) return (void *)table->ReleaseSwapchainImagesKHR;
3594
0
            break;
3595
3596
        // ---- VK_KHR_line_rasterization extension commands
3597
0
        case 0x0968c67fu:
3598
0
            if (!strcmp(name, "CmdSetLineStippleKHR")) return (void *)table->CmdSetLineStippleKHR;
3599
0
            break;
3600
3601
        // ---- VK_KHR_calibrated_timestamps extension commands
3602
0
        case 0x6b882920u:
3603
0
            if (!strcmp(name, "GetCalibratedTimestampsKHR")) return (void *)table->GetCalibratedTimestampsKHR;
3604
0
            break;
3605
3606
        // ---- VK_KHR_maintenance6 extension commands
3607
0
        case 0x710c992du:
3608
0
            if (!strcmp(name, "CmdBindDescriptorSets2KHR")) return (void *)table->CmdBindDescriptorSets2KHR;
3609
0
            break;
3610
0
        case 0x653f92f5u:
3611
0
            if (!strcmp(name, "CmdPushConstants2KHR")) return (void *)table->CmdPushConstants2KHR;
3612
0
            break;
3613
0
        case 0x16210ecfu:
3614
0
            if (!strcmp(name, "CmdPushDescriptorSet2KHR")) return (void *)table->CmdPushDescriptorSet2KHR;
3615
0
            break;
3616
0
        case 0x9b217891u:
3617
0
            if (!strcmp(name, "CmdPushDescriptorSetWithTemplate2KHR")) return (void *)table->CmdPushDescriptorSetWithTemplate2KHR;
3618
0
            break;
3619
0
        case 0xaa36302fu:
3620
0
            if (!strcmp(name, "CmdSetDescriptorBufferOffsets2EXT")) return (void *)table->CmdSetDescriptorBufferOffsets2EXT;
3621
0
            break;
3622
0
        case 0x8c819255u:
3623
0
            if (!strcmp(name, "CmdBindDescriptorBufferEmbeddedSamplers2EXT")) return (void *)table->CmdBindDescriptorBufferEmbeddedSamplers2EXT;
3624
0
            break;
3625
3626
        // ---- VK_KHR_copy_memory_indirect extension commands
3627
0
        case 0x6822bffau:
3628
0
            if (!strcmp(name, "CmdCopyMemoryIndirectKHR")) return (void *)table->CmdCopyMemoryIndirectKHR;
3629
0
            break;
3630
0
        case 0x45e676eeu:
3631
0
            if (!strcmp(name, "CmdCopyMemoryToImageIndirectKHR")) return (void *)table->CmdCopyMemoryToImageIndirectKHR;
3632
0
            break;
3633
3634
        // ---- VK_KHR_device_fault extension commands
3635
0
        case 0xbabfebc5u:
3636
0
            if (!strcmp(name, "GetDeviceFaultReportsKHR")) return (void *)table->GetDeviceFaultReportsKHR;
3637
0
            break;
3638
0
        case 0x77fed63du:
3639
0
            if (!strcmp(name, "GetDeviceFaultDebugInfoKHR")) return (void *)table->GetDeviceFaultDebugInfoKHR;
3640
0
            break;
3641
3642
        // ---- VK_KHR_maintenance10 extension commands
3643
0
        case 0x1486526du:
3644
0
            if (!strcmp(name, "CmdEndRendering2KHR")) return (void *)table->CmdEndRendering2KHR;
3645
0
            break;
3646
3647
        // ---- VK_EXT_debug_marker extension commands
3648
0
        case 0x35133102u:
3649
0
            if (!strcmp(name, "DebugMarkerSetObjectTagEXT")) return dev->layer_extensions.ext_debug_marker_enabled ? (void *)DebugMarkerSetObjectTagEXT : NULL;
3650
0
            break;
3651
0
        case 0xd549f399u:
3652
0
            if (!strcmp(name, "DebugMarkerSetObjectNameEXT")) return dev->layer_extensions.ext_debug_marker_enabled ? (void *)DebugMarkerSetObjectNameEXT : NULL;
3653
0
            break;
3654
0
        case 0x8bd450dcu:
3655
0
            if (!strcmp(name, "CmdDebugMarkerBeginEXT")) return (void *)table->CmdDebugMarkerBeginEXT;
3656
0
            break;
3657
0
        case 0x39db560cu:
3658
0
            if (!strcmp(name, "CmdDebugMarkerEndEXT")) return (void *)table->CmdDebugMarkerEndEXT;
3659
0
            break;
3660
0
        case 0x87eb00acu:
3661
0
            if (!strcmp(name, "CmdDebugMarkerInsertEXT")) return (void *)table->CmdDebugMarkerInsertEXT;
3662
0
            break;
3663
3664
        // ---- VK_EXT_transform_feedback extension commands
3665
0
        case 0x13f3b181u:
3666
0
            if (!strcmp(name, "CmdBindTransformFeedbackBuffersEXT")) return (void *)table->CmdBindTransformFeedbackBuffersEXT;
3667
0
            break;
3668
0
        case 0x9b6bf192u:
3669
0
            if (!strcmp(name, "CmdBeginTransformFeedbackEXT")) return (void *)table->CmdBeginTransformFeedbackEXT;
3670
0
            break;
3671
0
        case 0x367a51c6u:
3672
0
            if (!strcmp(name, "CmdEndTransformFeedbackEXT")) return (void *)table->CmdEndTransformFeedbackEXT;
3673
0
            break;
3674
0
        case 0x301925d4u:
3675
0
            if (!strcmp(name, "CmdBeginQueryIndexedEXT")) return (void *)table->CmdBeginQueryIndexedEXT;
3676
0
            break;
3677
0
        case 0xbca8e430u:
3678
0
            if (!strcmp(name, "CmdEndQueryIndexedEXT")) return (void *)table->CmdEndQueryIndexedEXT;
3679
0
            break;
3680
0
        case 0xa5386103u:
3681
0
            if (!strcmp(name, "CmdDrawIndirectByteCountEXT")) return (void *)table->CmdDrawIndirectByteCountEXT;
3682
0
            break;
3683
3684
        // ---- VK_NVX_binary_import extension commands
3685
0
        case 0xdf85d3a7u:
3686
0
            if (!strcmp(name, "CreateCuModuleNVX")) return (void *)table->CreateCuModuleNVX;
3687
0
            break;
3688
0
        case 0x1a7b1b6bu:
3689
0
            if (!strcmp(name, "CreateCuFunctionNVX")) return (void *)table->CreateCuFunctionNVX;
3690
0
            break;
3691
0
        case 0x76ff5d6fu:
3692
0
            if (!strcmp(name, "DestroyCuModuleNVX")) return (void *)table->DestroyCuModuleNVX;
3693
0
            break;
3694
0
        case 0x185d65e3u:
3695
0
            if (!strcmp(name, "DestroyCuFunctionNVX")) return (void *)table->DestroyCuFunctionNVX;
3696
0
            break;
3697
0
        case 0xe56f83cfu:
3698
0
            if (!strcmp(name, "CmdCuLaunchKernelNVX")) return (void *)table->CmdCuLaunchKernelNVX;
3699
0
            break;
3700
3701
        // ---- VK_NVX_image_view_handle extension commands
3702
0
        case 0x24b2d191u:
3703
0
            if (!strcmp(name, "GetImageViewHandleNVX")) return (void *)table->GetImageViewHandleNVX;
3704
0
            break;
3705
0
        case 0x2339418bu:
3706
0
            if (!strcmp(name, "GetImageViewHandle64NVX")) return (void *)table->GetImageViewHandle64NVX;
3707
0
            break;
3708
0
        case 0x515f4f51u:
3709
0
            if (!strcmp(name, "GetImageViewAddressNVX")) return (void *)table->GetImageViewAddressNVX;
3710
0
            break;
3711
0
        case 0x39a203a9u:
3712
0
            if (!strcmp(name, "GetDeviceCombinedImageSamplerIndexNVX")) return (void *)table->GetDeviceCombinedImageSamplerIndexNVX;
3713
0
            break;
3714
3715
        // ---- VK_AMD_draw_indirect_count extension commands
3716
0
        case 0x4a6af6e0u:
3717
0
            if (!strcmp(name, "CmdDrawIndirectCountAMD")) return (void *)table->CmdDrawIndirectCountAMD;
3718
0
            break;
3719
0
        case 0xce3c2253u:
3720
0
            if (!strcmp(name, "CmdDrawIndexedIndirectCountAMD")) return (void *)table->CmdDrawIndexedIndirectCountAMD;
3721
0
            break;
3722
3723
        // ---- VK_AMD_shader_info extension commands
3724
0
        case 0xae68a420u:
3725
0
            if (!strcmp(name, "GetShaderInfoAMD")) return (void *)table->GetShaderInfoAMD;
3726
0
            break;
3727
3728
        // ---- VK_NV_external_memory_win32 extension commands
3729
#if defined(VK_USE_PLATFORM_WIN32_KHR)
3730
        case 0xaa346f01u:
3731
            if (!strcmp(name, "GetMemoryWin32HandleNV")) return (void *)table->GetMemoryWin32HandleNV;
3732
            break;
3733
#endif // VK_USE_PLATFORM_WIN32_KHR
3734
3735
        // ---- VK_EXT_conditional_rendering extension commands
3736
0
        case 0x83cc6ec7u:
3737
0
            if (!strcmp(name, "CmdBeginConditionalRenderingEXT")) return (void *)table->CmdBeginConditionalRenderingEXT;
3738
0
            break;
3739
0
        case 0xc2f44443u:
3740
0
            if (!strcmp(name, "CmdEndConditionalRenderingEXT")) return (void *)table->CmdEndConditionalRenderingEXT;
3741
0
            break;
3742
3743
        // ---- VK_NV_clip_space_w_scaling extension commands
3744
0
        case 0xef4404bdu:
3745
0
            if (!strcmp(name, "CmdSetViewportWScalingNV")) return (void *)table->CmdSetViewportWScalingNV;
3746
0
            break;
3747
3748
        // ---- VK_EXT_display_control extension commands
3749
0
        case 0xcd3d83d6u:
3750
0
            if (!strcmp(name, "DisplayPowerControlEXT")) return (void *)table->DisplayPowerControlEXT;
3751
0
            break;
3752
0
        case 0x89eb83c5u:
3753
0
            if (!strcmp(name, "RegisterDeviceEventEXT")) return (void *)table->RegisterDeviceEventEXT;
3754
0
            break;
3755
0
        case 0x308cb801u:
3756
0
            if (!strcmp(name, "RegisterDisplayEventEXT")) return (void *)table->RegisterDisplayEventEXT;
3757
0
            break;
3758
0
        case 0x422be39au:
3759
0
            if (!strcmp(name, "GetSwapchainCounterEXT")) return (void *)table->GetSwapchainCounterEXT;
3760
0
            break;
3761
3762
        // ---- VK_GOOGLE_display_timing extension commands
3763
0
        case 0x9d1e9cbbu:
3764
0
            if (!strcmp(name, "GetRefreshCycleDurationGOOGLE")) return (void *)table->GetRefreshCycleDurationGOOGLE;
3765
0
            break;
3766
0
        case 0x2bf55b06u:
3767
0
            if (!strcmp(name, "GetPastPresentationTimingGOOGLE")) return (void *)table->GetPastPresentationTimingGOOGLE;
3768
0
            break;
3769
3770
        // ---- VK_EXT_discard_rectangles extension commands
3771
0
        case 0x494be225u:
3772
0
            if (!strcmp(name, "CmdSetDiscardRectangleEXT")) return (void *)table->CmdSetDiscardRectangleEXT;
3773
0
            break;
3774
0
        case 0xde952114u:
3775
0
            if (!strcmp(name, "CmdSetDiscardRectangleEnableEXT")) return (void *)table->CmdSetDiscardRectangleEnableEXT;
3776
0
            break;
3777
0
        case 0x0229a59cu:
3778
0
            if (!strcmp(name, "CmdSetDiscardRectangleModeEXT")) return (void *)table->CmdSetDiscardRectangleModeEXT;
3779
0
            break;
3780
3781
        // ---- VK_EXT_hdr_metadata extension commands
3782
0
        case 0x4c4c9e61u:
3783
0
            if (!strcmp(name, "SetHdrMetadataEXT")) return (void *)table->SetHdrMetadataEXT;
3784
0
            break;
3785
3786
        // ---- VK_EXT_debug_utils extension commands
3787
0
        case 0x773b4682u:
3788
0
            if (!strcmp(name, "SetDebugUtilsObjectNameEXT")) return dev->layer_extensions.ext_debug_utils_enabled ? (void *)SetDebugUtilsObjectNameEXT : NULL;
3789
0
            break;
3790
0
        case 0x357569a7u:
3791
0
            if (!strcmp(name, "SetDebugUtilsObjectTagEXT")) return dev->layer_extensions.ext_debug_utils_enabled ? (void *)SetDebugUtilsObjectTagEXT : NULL;
3792
0
            break;
3793
0
        case 0x17c2ff64u:
3794
0
            if (!strcmp(name, "QueueBeginDebugUtilsLabelEXT")) return (void *)table->QueueBeginDebugUtilsLabelEXT;
3795
0
            break;
3796
0
        case 0xdf00ddb4u:
3797
0
            if (!strcmp(name, "QueueEndDebugUtilsLabelEXT")) return (void *)table->QueueEndDebugUtilsLabelEXT;
3798
0
            break;
3799
0
        case 0x4e04da94u:
3800
0
            if (!strcmp(name, "QueueInsertDebugUtilsLabelEXT")) return (void *)table->QueueInsertDebugUtilsLabelEXT;
3801
0
            break;
3802
0
        case 0xc0ad7af9u:
3803
0
            if (!strcmp(name, "CmdBeginDebugUtilsLabelEXT")) return (void *)table->CmdBeginDebugUtilsLabelEXT;
3804
0
            break;
3805
0
        case 0x54548a95u:
3806
0
            if (!strcmp(name, "CmdEndDebugUtilsLabelEXT")) return (void *)table->CmdEndDebugUtilsLabelEXT;
3807
0
            break;
3808
0
        case 0x08691667u:
3809
0
            if (!strcmp(name, "CmdInsertDebugUtilsLabelEXT")) return (void *)table->CmdInsertDebugUtilsLabelEXT;
3810
0
            break;
3811
3812
        // ---- VK_ANDROID_external_memory_android_hardware_buffer extension commands
3813
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
3814
        case 0xb9163790u:
3815
            if (!strcmp(name, "GetAndroidHardwareBufferPropertiesANDROID")) return (void *)table->GetAndroidHardwareBufferPropertiesANDROID;
3816
            break;
3817
#endif // VK_USE_PLATFORM_ANDROID_KHR
3818
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
3819
        case 0x20fc64b4u:
3820
            if (!strcmp(name, "GetMemoryAndroidHardwareBufferANDROID")) return (void *)table->GetMemoryAndroidHardwareBufferANDROID;
3821
            break;
3822
#endif // VK_USE_PLATFORM_ANDROID_KHR
3823
3824
        // ---- VK_AMD_gpa_interface extension commands
3825
0
        case 0x8aa864afu:
3826
0
            if (!strcmp(name, "CreateGpaSessionAMD")) return (void *)table->CreateGpaSessionAMD;
3827
0
            break;
3828
0
        case 0xcbcaef47u:
3829
0
            if (!strcmp(name, "DestroyGpaSessionAMD")) return (void *)table->DestroyGpaSessionAMD;
3830
0
            break;
3831
0
        case 0x2e7fabf0u:
3832
0
            if (!strcmp(name, "SetGpaDeviceClockModeAMD")) return (void *)table->SetGpaDeviceClockModeAMD;
3833
0
            break;
3834
0
        case 0x1b222879u:
3835
0
            if (!strcmp(name, "GetGpaDeviceClockInfoAMD")) return (void *)table->GetGpaDeviceClockInfoAMD;
3836
0
            break;
3837
0
        case 0x0a5546c0u:
3838
0
            if (!strcmp(name, "CmdBeginGpaSessionAMD")) return (void *)table->CmdBeginGpaSessionAMD;
3839
0
            break;
3840
0
        case 0xfed3ed24u:
3841
0
            if (!strcmp(name, "CmdEndGpaSessionAMD")) return (void *)table->CmdEndGpaSessionAMD;
3842
0
            break;
3843
0
        case 0xbde10466u:
3844
0
            if (!strcmp(name, "CmdBeginGpaSampleAMD")) return (void *)table->CmdBeginGpaSampleAMD;
3845
0
            break;
3846
0
        case 0xd1be1f02u:
3847
0
            if (!strcmp(name, "CmdEndGpaSampleAMD")) return (void *)table->CmdEndGpaSampleAMD;
3848
0
            break;
3849
0
        case 0xa427fd8bu:
3850
0
            if (!strcmp(name, "GetGpaSessionStatusAMD")) return (void *)table->GetGpaSessionStatusAMD;
3851
0
            break;
3852
0
        case 0x0f68255du:
3853
0
            if (!strcmp(name, "GetGpaSessionResultsAMD")) return (void *)table->GetGpaSessionResultsAMD;
3854
0
            break;
3855
0
        case 0x558b561cu:
3856
0
            if (!strcmp(name, "ResetGpaSessionAMD")) return (void *)table->ResetGpaSessionAMD;
3857
0
            break;
3858
0
        case 0xb2c1bb6cu:
3859
0
            if (!strcmp(name, "CmdCopyGpaSessionResultsAMD")) return (void *)table->CmdCopyGpaSessionResultsAMD;
3860
0
            break;
3861
3862
        // ---- VK_AMDX_shader_enqueue extension commands
3863
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3864
0
        case 0x6591a33cu:
3865
0
            if (!strcmp(name, "CreateExecutionGraphPipelinesAMDX")) return (void *)table->CreateExecutionGraphPipelinesAMDX;
3866
0
            break;
3867
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3868
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3869
0
        case 0x285c32bcu:
3870
0
            if (!strcmp(name, "GetExecutionGraphPipelineScratchSizeAMDX")) return (void *)table->GetExecutionGraphPipelineScratchSizeAMDX;
3871
0
            break;
3872
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3873
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3874
0
        case 0x269b0af3u:
3875
0
            if (!strcmp(name, "GetExecutionGraphPipelineNodeIndexAMDX")) return (void *)table->GetExecutionGraphPipelineNodeIndexAMDX;
3876
0
            break;
3877
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3878
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3879
0
        case 0x3c22a23eu:
3880
0
            if (!strcmp(name, "CmdInitializeGraphScratchMemoryAMDX")) return (void *)table->CmdInitializeGraphScratchMemoryAMDX;
3881
0
            break;
3882
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3883
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3884
0
        case 0xb7474735u:
3885
0
            if (!strcmp(name, "CmdDispatchGraphAMDX")) return (void *)table->CmdDispatchGraphAMDX;
3886
0
            break;
3887
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3888
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3889
0
        case 0x0ec3bd13u:
3890
0
            if (!strcmp(name, "CmdDispatchGraphIndirectAMDX")) return (void *)table->CmdDispatchGraphIndirectAMDX;
3891
0
            break;
3892
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3893
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
3894
0
        case 0x10376d2eu:
3895
0
            if (!strcmp(name, "CmdDispatchGraphIndirectCountAMDX")) return (void *)table->CmdDispatchGraphIndirectCountAMDX;
3896
0
            break;
3897
0
#endif // VK_ENABLE_BETA_EXTENSIONS
3898
3899
        // ---- VK_EXT_descriptor_heap extension commands
3900
0
        case 0x12ae8561u:
3901
0
            if (!strcmp(name, "WriteSamplerDescriptorsEXT")) return (void *)table->WriteSamplerDescriptorsEXT;
3902
0
            break;
3903
0
        case 0xa535e175u:
3904
0
            if (!strcmp(name, "WriteResourceDescriptorsEXT")) return (void *)table->WriteResourceDescriptorsEXT;
3905
0
            break;
3906
0
        case 0xcd88cf99u:
3907
0
            if (!strcmp(name, "CmdBindSamplerHeapEXT")) return (void *)table->CmdBindSamplerHeapEXT;
3908
0
            break;
3909
0
        case 0xc282757du:
3910
0
            if (!strcmp(name, "CmdBindResourceHeapEXT")) return (void *)table->CmdBindResourceHeapEXT;
3911
0
            break;
3912
0
        case 0xdfc9609au:
3913
0
            if (!strcmp(name, "CmdPushDataEXT")) return (void *)table->CmdPushDataEXT;
3914
0
            break;
3915
0
        case 0x2e5a2a1au:
3916
0
            if (!strcmp(name, "GetImageOpaqueCaptureDataEXT")) return (void *)table->GetImageOpaqueCaptureDataEXT;
3917
0
            break;
3918
0
        case 0xf5acd713u:
3919
0
            if (!strcmp(name, "RegisterCustomBorderColorEXT")) return (void *)table->RegisterCustomBorderColorEXT;
3920
0
            break;
3921
0
        case 0x49241c28u:
3922
0
            if (!strcmp(name, "UnregisterCustomBorderColorEXT")) return (void *)table->UnregisterCustomBorderColorEXT;
3923
0
            break;
3924
0
        case 0x201f6589u:
3925
0
            if (!strcmp(name, "GetTensorOpaqueCaptureDataARM")) return (void *)table->GetTensorOpaqueCaptureDataARM;
3926
0
            break;
3927
3928
        // ---- VK_EXT_sample_locations extension commands
3929
0
        case 0xd0bfab14u:
3930
0
            if (!strcmp(name, "CmdSetSampleLocationsEXT")) return (void *)table->CmdSetSampleLocationsEXT;
3931
0
            break;
3932
3933
        // ---- VK_EXT_image_drm_format_modifier extension commands
3934
0
        case 0x0f35fea9u:
3935
0
            if (!strcmp(name, "GetImageDrmFormatModifierPropertiesEXT")) return (void *)table->GetImageDrmFormatModifierPropertiesEXT;
3936
0
            break;
3937
3938
        // ---- VK_EXT_validation_cache extension commands
3939
0
        case 0x8fcdba63u:
3940
0
            if (!strcmp(name, "CreateValidationCacheEXT")) return (void *)table->CreateValidationCacheEXT;
3941
0
            break;
3942
0
        case 0xfb7aea5bu:
3943
0
            if (!strcmp(name, "DestroyValidationCacheEXT")) return (void *)table->DestroyValidationCacheEXT;
3944
0
            break;
3945
0
        case 0x643a9b0eu:
3946
0
            if (!strcmp(name, "MergeValidationCachesEXT")) return (void *)table->MergeValidationCachesEXT;
3947
0
            break;
3948
0
        case 0x150f30f9u:
3949
0
            if (!strcmp(name, "GetValidationCacheDataEXT")) return (void *)table->GetValidationCacheDataEXT;
3950
0
            break;
3951
3952
        // ---- VK_NV_shading_rate_image extension commands
3953
0
        case 0x6a4bbce9u:
3954
0
            if (!strcmp(name, "CmdBindShadingRateImageNV")) return (void *)table->CmdBindShadingRateImageNV;
3955
0
            break;
3956
0
        case 0xe4fce164u:
3957
0
            if (!strcmp(name, "CmdSetViewportShadingRatePaletteNV")) return (void *)table->CmdSetViewportShadingRatePaletteNV;
3958
0
            break;
3959
0
        case 0xae8c7ae6u:
3960
0
            if (!strcmp(name, "CmdSetCoarseSampleOrderNV")) return (void *)table->CmdSetCoarseSampleOrderNV;
3961
0
            break;
3962
3963
        // ---- VK_NV_ray_tracing extension commands
3964
0
        case 0xa6a91c1au:
3965
0
            if (!strcmp(name, "CreateAccelerationStructureNV")) return (void *)table->CreateAccelerationStructureNV;
3966
0
            break;
3967
0
        case 0xf3a49dc2u:
3968
0
            if (!strcmp(name, "DestroyAccelerationStructureNV")) return (void *)table->DestroyAccelerationStructureNV;
3969
0
            break;
3970
0
        case 0x94c92d9fu:
3971
0
            if (!strcmp(name, "GetAccelerationStructureMemoryRequirementsNV")) return (void *)table->GetAccelerationStructureMemoryRequirementsNV;
3972
0
            break;
3973
0
        case 0xba777ef4u:
3974
0
            if (!strcmp(name, "BindAccelerationStructureMemoryNV")) return (void *)table->BindAccelerationStructureMemoryNV;
3975
0
            break;
3976
0
        case 0x41a5a62eu:
3977
0
            if (!strcmp(name, "CmdBuildAccelerationStructureNV")) return (void *)table->CmdBuildAccelerationStructureNV;
3978
0
            break;
3979
0
        case 0x7a5d9a1bu:
3980
0
            if (!strcmp(name, "CmdCopyAccelerationStructureNV")) return (void *)table->CmdCopyAccelerationStructureNV;
3981
0
            break;
3982
0
        case 0x16249515u:
3983
0
            if (!strcmp(name, "CmdTraceRaysNV")) return (void *)table->CmdTraceRaysNV;
3984
0
            break;
3985
0
        case 0xf2f82f6au:
3986
0
            if (!strcmp(name, "CreateRayTracingPipelinesNV")) return (void *)table->CreateRayTracingPipelinesNV;
3987
0
            break;
3988
3989
        // ---- VK_KHR_ray_tracing_pipeline extension commands
3990
0
        case 0xc58edd21u:
3991
0
            if (!strcmp(name, "GetRayTracingShaderGroupHandlesKHR")) return (void *)table->GetRayTracingShaderGroupHandlesKHR;
3992
0
            break;
3993
3994
        // ---- VK_NV_ray_tracing extension commands
3995
0
        case 0x0d5f3ca6u:
3996
0
            if (!strcmp(name, "GetRayTracingShaderGroupHandlesNV")) return (void *)table->GetRayTracingShaderGroupHandlesNV;
3997
0
            break;
3998
0
        case 0xe0f756e2u:
3999
0
            if (!strcmp(name, "GetAccelerationStructureHandleNV")) return (void *)table->GetAccelerationStructureHandleNV;
4000
0
            break;
4001
0
        case 0xb79ab941u:
4002
0
            if (!strcmp(name, "CmdWriteAccelerationStructuresPropertiesNV")) return (void *)table->CmdWriteAccelerationStructuresPropertiesNV;
4003
0
            break;
4004
0
        case 0xb1c5975du:
4005
0
            if (!strcmp(name, "CompileDeferredNV")) return (void *)table->CompileDeferredNV;
4006
0
            break;
4007
4008
        // ---- VK_EXT_external_memory_host extension commands
4009
0
        case 0x969c0921u:
4010
0
            if (!strcmp(name, "GetMemoryHostPointerPropertiesEXT")) return (void *)table->GetMemoryHostPointerPropertiesEXT;
4011
0
            break;
4012
4013
        // ---- VK_AMD_buffer_marker extension commands
4014
0
        case 0xbc07cba8u:
4015
0
            if (!strcmp(name, "CmdWriteBufferMarkerAMD")) return (void *)table->CmdWriteBufferMarkerAMD;
4016
0
            break;
4017
0
        case 0x94d3cdeau:
4018
0
            if (!strcmp(name, "CmdWriteBufferMarker2AMD")) return (void *)table->CmdWriteBufferMarker2AMD;
4019
0
            break;
4020
4021
        // ---- VK_EXT_calibrated_timestamps extension commands
4022
0
        case 0xaff87e08u:
4023
0
            if (!strcmp(name, "GetCalibratedTimestampsEXT")) return (void *)table->GetCalibratedTimestampsEXT;
4024
0
            break;
4025
4026
        // ---- VK_NV_mesh_shader extension commands
4027
0
        case 0x99213e96u:
4028
0
            if (!strcmp(name, "CmdDrawMeshTasksNV")) return (void *)table->CmdDrawMeshTasksNV;
4029
0
            break;
4030
0
        case 0xa6f9ae88u:
4031
0
            if (!strcmp(name, "CmdDrawMeshTasksIndirectNV")) return (void *)table->CmdDrawMeshTasksIndirectNV;
4032
0
            break;
4033
0
        case 0x549d70abu:
4034
0
            if (!strcmp(name, "CmdDrawMeshTasksIndirectCountNV")) return (void *)table->CmdDrawMeshTasksIndirectCountNV;
4035
0
            break;
4036
4037
        // ---- VK_NV_scissor_exclusive extension commands
4038
0
        case 0xc9d49accu:
4039
0
            if (!strcmp(name, "CmdSetExclusiveScissorEnableNV")) return (void *)table->CmdSetExclusiveScissorEnableNV;
4040
0
            break;
4041
0
        case 0x59aa4d2fu:
4042
0
            if (!strcmp(name, "CmdSetExclusiveScissorNV")) return (void *)table->CmdSetExclusiveScissorNV;
4043
0
            break;
4044
4045
        // ---- VK_NV_device_diagnostic_checkpoints extension commands
4046
0
        case 0xb6d28423u:
4047
0
            if (!strcmp(name, "CmdSetCheckpointNV")) return (void *)table->CmdSetCheckpointNV;
4048
0
            break;
4049
0
        case 0x449b2e0cu:
4050
0
            if (!strcmp(name, "GetQueueCheckpointDataNV")) return (void *)table->GetQueueCheckpointDataNV;
4051
0
            break;
4052
0
        case 0x348ecc02u:
4053
0
            if (!strcmp(name, "GetQueueCheckpointData2NV")) return (void *)table->GetQueueCheckpointData2NV;
4054
0
            break;
4055
4056
        // ---- VK_EXT_present_timing extension commands
4057
0
        case 0xda074e3bu:
4058
0
            if (!strcmp(name, "SetSwapchainPresentTimingQueueSizeEXT")) return (void *)table->SetSwapchainPresentTimingQueueSizeEXT;
4059
0
            break;
4060
0
        case 0xe26293a9u:
4061
0
            if (!strcmp(name, "GetSwapchainTimingPropertiesEXT")) return (void *)table->GetSwapchainTimingPropertiesEXT;
4062
0
            break;
4063
0
        case 0x15b187f8u:
4064
0
            if (!strcmp(name, "GetSwapchainTimeDomainPropertiesEXT")) return (void *)table->GetSwapchainTimeDomainPropertiesEXT;
4065
0
            break;
4066
0
        case 0x81335194u:
4067
0
            if (!strcmp(name, "GetPastPresentationTimingEXT")) return (void *)table->GetPastPresentationTimingEXT;
4068
0
            break;
4069
4070
        // ---- VK_INTEL_performance_query extension commands
4071
0
        case 0x48bbbb5fu:
4072
0
            if (!strcmp(name, "InitializePerformanceApiINTEL")) return (void *)table->InitializePerformanceApiINTEL;
4073
0
            break;
4074
0
        case 0x1253c0d2u:
4075
0
            if (!strcmp(name, "UninitializePerformanceApiINTEL")) return (void *)table->UninitializePerformanceApiINTEL;
4076
0
            break;
4077
0
        case 0xd1766025u:
4078
0
            if (!strcmp(name, "CmdSetPerformanceMarkerINTEL")) return (void *)table->CmdSetPerformanceMarkerINTEL;
4079
0
            break;
4080
0
        case 0x49b583ddu:
4081
0
            if (!strcmp(name, "CmdSetPerformanceStreamMarkerINTEL")) return (void *)table->CmdSetPerformanceStreamMarkerINTEL;
4082
0
            break;
4083
0
        case 0x138dfdbbu:
4084
0
            if (!strcmp(name, "CmdSetPerformanceOverrideINTEL")) return (void *)table->CmdSetPerformanceOverrideINTEL;
4085
0
            break;
4086
0
        case 0xb537e059u:
4087
0
            if (!strcmp(name, "AcquirePerformanceConfigurationINTEL")) return (void *)table->AcquirePerformanceConfigurationINTEL;
4088
0
            break;
4089
0
        case 0x599c00bau:
4090
0
            if (!strcmp(name, "ReleasePerformanceConfigurationINTEL")) return (void *)table->ReleasePerformanceConfigurationINTEL;
4091
0
            break;
4092
0
        case 0x9e52d85cu:
4093
0
            if (!strcmp(name, "QueueSetPerformanceConfigurationINTEL")) return (void *)table->QueueSetPerformanceConfigurationINTEL;
4094
0
            break;
4095
0
        case 0xc1a38c12u:
4096
0
            if (!strcmp(name, "GetPerformanceParameterINTEL")) return (void *)table->GetPerformanceParameterINTEL;
4097
0
            break;
4098
4099
        // ---- VK_AMD_display_native_hdr extension commands
4100
0
        case 0xafa2d3edu:
4101
0
            if (!strcmp(name, "SetLocalDimmingAMD")) return (void *)table->SetLocalDimmingAMD;
4102
0
            break;
4103
4104
        // ---- VK_EXT_buffer_device_address extension commands
4105
0
        case 0x28645dc0u:
4106
0
            if (!strcmp(name, "GetBufferDeviceAddressEXT")) return (void *)table->GetBufferDeviceAddressEXT;
4107
0
            break;
4108
4109
        // ---- VK_EXT_full_screen_exclusive extension commands
4110
#if defined(VK_USE_PLATFORM_WIN32_KHR)
4111
        case 0x9fb871e0u:
4112
            if (!strcmp(name, "AcquireFullScreenExclusiveModeEXT")) return (void *)table->AcquireFullScreenExclusiveModeEXT;
4113
            break;
4114
#endif // VK_USE_PLATFORM_WIN32_KHR
4115
#if defined(VK_USE_PLATFORM_WIN32_KHR)
4116
        case 0x67c7c855u:
4117
            if (!strcmp(name, "ReleaseFullScreenExclusiveModeEXT")) return (void *)table->ReleaseFullScreenExclusiveModeEXT;
4118
            break;
4119
#endif // VK_USE_PLATFORM_WIN32_KHR
4120
#if defined(VK_USE_PLATFORM_WIN32_KHR)
4121
        case 0xbde3a0ebu:
4122
            if (!strcmp(name, "GetDeviceGroupSurfacePresentModes2EXT")) return (void *)table->GetDeviceGroupSurfacePresentModes2EXT;
4123
            break;
4124
#endif // VK_USE_PLATFORM_WIN32_KHR
4125
4126
        // ---- VK_EXT_line_rasterization extension commands
4127
0
        case 0xad3668e7u:
4128
0
            if (!strcmp(name, "CmdSetLineStippleEXT")) return (void *)table->CmdSetLineStippleEXT;
4129
0
            break;
4130
4131
        // ---- VK_EXT_host_query_reset extension commands
4132
0
        case 0x6c6fcce1u:
4133
0
            if (!strcmp(name, "ResetQueryPoolEXT")) return (void *)table->ResetQueryPoolEXT;
4134
0
            break;
4135
4136
        // ---- VK_EXT_extended_dynamic_state extension commands
4137
0
        case 0xab9b765du:
4138
0
            if (!strcmp(name, "CmdSetCullModeEXT")) return (void *)table->CmdSetCullModeEXT;
4139
0
            break;
4140
0
        case 0xf2289404u:
4141
0
            if (!strcmp(name, "CmdSetFrontFaceEXT")) return (void *)table->CmdSetFrontFaceEXT;
4142
0
            break;
4143
0
        case 0x64cba91au:
4144
0
            if (!strcmp(name, "CmdSetPrimitiveTopologyEXT")) return (void *)table->CmdSetPrimitiveTopologyEXT;
4145
0
            break;
4146
0
        case 0xf0fcf30du:
4147
0
            if (!strcmp(name, "CmdSetViewportWithCountEXT")) return (void *)table->CmdSetViewportWithCountEXT;
4148
0
            break;
4149
0
        case 0xe7925953u:
4150
0
            if (!strcmp(name, "CmdSetScissorWithCountEXT")) return (void *)table->CmdSetScissorWithCountEXT;
4151
0
            break;
4152
0
        case 0xb4cd241cu:
4153
0
            if (!strcmp(name, "CmdBindVertexBuffers2EXT")) return (void *)table->CmdBindVertexBuffers2EXT;
4154
0
            break;
4155
0
        case 0xdfd30d54u:
4156
0
            if (!strcmp(name, "CmdSetDepthTestEnableEXT")) return (void *)table->CmdSetDepthTestEnableEXT;
4157
0
            break;
4158
0
        case 0x10132f69u:
4159
0
            if (!strcmp(name, "CmdSetDepthWriteEnableEXT")) return (void *)table->CmdSetDepthWriteEnableEXT;
4160
0
            break;
4161
0
        case 0x421cb111u:
4162
0
            if (!strcmp(name, "CmdSetDepthCompareOpEXT")) return (void *)table->CmdSetDepthCompareOpEXT;
4163
0
            break;
4164
0
        case 0x6a6d3a6fu:
4165
0
            if (!strcmp(name, "CmdSetDepthBoundsTestEnableEXT")) return (void *)table->CmdSetDepthBoundsTestEnableEXT;
4166
0
            break;
4167
0
        case 0x62b54f0fu:
4168
0
            if (!strcmp(name, "CmdSetStencilTestEnableEXT")) return (void *)table->CmdSetStencilTestEnableEXT;
4169
0
            break;
4170
0
        case 0xc2c7a883u:
4171
0
            if (!strcmp(name, "CmdSetStencilOpEXT")) return (void *)table->CmdSetStencilOpEXT;
4172
0
            break;
4173
4174
        // ---- VK_EXT_host_image_copy extension commands
4175
0
        case 0xd1081f1au:
4176
0
            if (!strcmp(name, "CopyMemoryToImageEXT")) return (void *)table->CopyMemoryToImageEXT;
4177
0
            break;
4178
0
        case 0xf686396eu:
4179
0
            if (!strcmp(name, "CopyImageToMemoryEXT")) return (void *)table->CopyImageToMemoryEXT;
4180
0
            break;
4181
0
        case 0xa81e501cu:
4182
0
            if (!strcmp(name, "CopyImageToImageEXT")) return (void *)table->CopyImageToImageEXT;
4183
0
            break;
4184
0
        case 0xbd1c916cu:
4185
0
            if (!strcmp(name, "TransitionImageLayoutEXT")) return (void *)table->TransitionImageLayoutEXT;
4186
0
            break;
4187
0
        case 0x54f17095u:
4188
0
            if (!strcmp(name, "GetImageSubresourceLayout2EXT")) return (void *)table->GetImageSubresourceLayout2EXT;
4189
0
            break;
4190
4191
        // ---- VK_EXT_swapchain_maintenance1 extension commands
4192
0
        case 0x944dc39fu:
4193
0
            if (!strcmp(name, "ReleaseSwapchainImagesEXT")) return (void *)table->ReleaseSwapchainImagesEXT;
4194
0
            break;
4195
4196
        // ---- VK_NV_device_generated_commands extension commands
4197
0
        case 0xd2aa7009u:
4198
0
            if (!strcmp(name, "GetGeneratedCommandsMemoryRequirementsNV")) return (void *)table->GetGeneratedCommandsMemoryRequirementsNV;
4199
0
            break;
4200
0
        case 0x8d45b6c0u:
4201
0
            if (!strcmp(name, "CmdPreprocessGeneratedCommandsNV")) return (void *)table->CmdPreprocessGeneratedCommandsNV;
4202
0
            break;
4203
0
        case 0xe443e77du:
4204
0
            if (!strcmp(name, "CmdExecuteGeneratedCommandsNV")) return (void *)table->CmdExecuteGeneratedCommandsNV;
4205
0
            break;
4206
0
        case 0xa5273626u:
4207
0
            if (!strcmp(name, "CmdBindPipelineShaderGroupNV")) return (void *)table->CmdBindPipelineShaderGroupNV;
4208
0
            break;
4209
0
        case 0x51109e57u:
4210
0
            if (!strcmp(name, "CreateIndirectCommandsLayoutNV")) return (void *)table->CreateIndirectCommandsLayoutNV;
4211
0
            break;
4212
0
        case 0x92854a2fu:
4213
0
            if (!strcmp(name, "DestroyIndirectCommandsLayoutNV")) return (void *)table->DestroyIndirectCommandsLayoutNV;
4214
0
            break;
4215
4216
        // ---- VK_EXT_depth_bias_control extension commands
4217
0
        case 0x318f1b8eu:
4218
0
            if (!strcmp(name, "CmdSetDepthBias2EXT")) return (void *)table->CmdSetDepthBias2EXT;
4219
0
            break;
4220
4221
        // ---- VK_EXT_private_data extension commands
4222
0
        case 0x091e69a3u:
4223
0
            if (!strcmp(name, "CreatePrivateDataSlotEXT")) return (void *)table->CreatePrivateDataSlotEXT;
4224
0
            break;
4225
0
        case 0xa81e10ebu:
4226
0
            if (!strcmp(name, "DestroyPrivateDataSlotEXT")) return (void *)table->DestroyPrivateDataSlotEXT;
4227
0
            break;
4228
0
        case 0x8c160fadu:
4229
0
            if (!strcmp(name, "SetPrivateDataEXT")) return (void *)table->SetPrivateDataEXT;
4230
0
            break;
4231
0
        case 0x889689a9u:
4232
0
            if (!strcmp(name, "GetPrivateDataEXT")) return (void *)table->GetPrivateDataEXT;
4233
0
            break;
4234
4235
        // ---- VK_QCOM_queue_perf_hint extension commands
4236
0
        case 0x25e8d0f2u:
4237
0
            if (!strcmp(name, "QueueSetPerfHintQCOM")) return (void *)table->QueueSetPerfHintQCOM;
4238
0
            break;
4239
4240
        // ---- VK_NV_cuda_kernel_launch extension commands
4241
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
4242
0
        case 0x45e9daceu:
4243
0
            if (!strcmp(name, "CreateCudaModuleNV")) return (void *)table->CreateCudaModuleNV;
4244
0
            break;
4245
0
#endif // VK_ENABLE_BETA_EXTENSIONS
4246
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
4247
0
        case 0xa6a2b5bau:
4248
0
            if (!strcmp(name, "GetCudaModuleCacheNV")) return (void *)table->GetCudaModuleCacheNV;
4249
0
            break;
4250
0
#endif // VK_ENABLE_BETA_EXTENSIONS
4251
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
4252
0
        case 0x2a307bb6u:
4253
0
            if (!strcmp(name, "CreateCudaFunctionNV")) return (void *)table->CreateCudaFunctionNV;
4254
0
            break;
4255
0
#endif // VK_ENABLE_BETA_EXTENSIONS
4256
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
4257
0
        case 0x04687356u:
4258
0
            if (!strcmp(name, "DestroyCudaModuleNV")) return (void *)table->DestroyCudaModuleNV;
4259
0
            break;
4260
0
#endif // VK_ENABLE_BETA_EXTENSIONS
4261
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
4262
0
        case 0x2e6ec66eu:
4263
0
            if (!strcmp(name, "DestroyCudaFunctionNV")) return (void *)table->DestroyCudaFunctionNV;
4264
0
            break;
4265
0
#endif // VK_ENABLE_BETA_EXTENSIONS
4266
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
4267
0
        case 0x129a70c6u:
4268
0
            if (!strcmp(name, "CmdCudaLaunchKernelNV")) return (void *)table->CmdCudaLaunchKernelNV;
4269
0
            break;
4270
0
#endif // VK_ENABLE_BETA_EXTENSIONS
4271
4272
        // ---- VK_QCOM_tile_shading extension commands
4273
0
        case 0x6f5d0139u:
4274
0
            if (!strcmp(name, "CmdDispatchTileQCOM")) return (void *)table->CmdDispatchTileQCOM;
4275
0
            break;
4276
0
        case 0x648e12c3u:
4277
0
            if (!strcmp(name, "CmdBeginPerTileExecutionQCOM")) return (void *)table->CmdBeginPerTileExecutionQCOM;
4278
0
            break;
4279
0
        case 0x8724225fu:
4280
0
            if (!strcmp(name, "CmdEndPerTileExecutionQCOM")) return (void *)table->CmdEndPerTileExecutionQCOM;
4281
0
            break;
4282
4283
        // ---- VK_NV_low_latency extension commands
4284
0
        case 0x6b0465f2u:
4285
0
            if (!strcmp(name, "SetLatencySleepModeLegacyNV")) return (void *)table->SetLatencySleepModeLegacyNV;
4286
0
            break;
4287
0
        case 0xc66f5793u:
4288
0
            if (!strcmp(name, "LatencySleepLegacyNV")) return (void *)table->LatencySleepLegacyNV;
4289
0
            break;
4290
0
        case 0x4a6c5faeu:
4291
0
            if (!strcmp(name, "SetLatencyMarkerLegacyNV")) return (void *)table->SetLatencyMarkerLegacyNV;
4292
0
            break;
4293
0
        case 0x8bc2efb5u:
4294
0
            if (!strcmp(name, "GetLatencyTimingsLegacyNV")) return (void *)table->GetLatencyTimingsLegacyNV;
4295
0
            break;
4296
0
        case 0x95c3d312u:
4297
0
            if (!strcmp(name, "QueueNotifyOutOfBandLegacyNV")) return (void *)table->QueueNotifyOutOfBandLegacyNV;
4298
0
            break;
4299
0
        case 0x121842abu:
4300
0
            if (!strcmp(name, "GetSleepStatusLegacyNV")) return (void *)table->GetSleepStatusLegacyNV;
4301
0
            break;
4302
0
        case 0x7fc5aa3eu:
4303
0
            if (!strcmp(name, "ShutdownLatencyDeviceLegacyNV")) return (void *)table->ShutdownLatencyDeviceLegacyNV;
4304
0
            break;
4305
4306
        // ---- VK_EXT_metal_objects extension commands
4307
#if defined(VK_USE_PLATFORM_METAL_EXT)
4308
        case 0xb9aa8da9u:
4309
            if (!strcmp(name, "ExportMetalObjectsEXT")) return (void *)table->ExportMetalObjectsEXT;
4310
            break;
4311
#endif // VK_USE_PLATFORM_METAL_EXT
4312
4313
        // ---- VK_EXT_descriptor_buffer extension commands
4314
0
        case 0xcc0f26f0u:
4315
0
            if (!strcmp(name, "GetDescriptorSetLayoutSizeEXT")) return (void *)table->GetDescriptorSetLayoutSizeEXT;
4316
0
            break;
4317
0
        case 0xc1941ea5u:
4318
0
            if (!strcmp(name, "GetDescriptorSetLayoutBindingOffsetEXT")) return (void *)table->GetDescriptorSetLayoutBindingOffsetEXT;
4319
0
            break;
4320
0
        case 0x00925845u:
4321
0
            if (!strcmp(name, "GetDescriptorEXT")) return (void *)table->GetDescriptorEXT;
4322
0
            break;
4323
0
        case 0x5cd0b4bbu:
4324
0
            if (!strcmp(name, "CmdBindDescriptorBuffersEXT")) return (void *)table->CmdBindDescriptorBuffersEXT;
4325
0
            break;
4326
0
        case 0xf9f42a2du:
4327
0
            if (!strcmp(name, "CmdSetDescriptorBufferOffsetsEXT")) return (void *)table->CmdSetDescriptorBufferOffsetsEXT;
4328
0
            break;
4329
0
        case 0x8cb64a23u:
4330
0
            if (!strcmp(name, "CmdBindDescriptorBufferEmbeddedSamplersEXT")) return (void *)table->CmdBindDescriptorBufferEmbeddedSamplersEXT;
4331
0
            break;
4332
0
        case 0x8928ea04u:
4333
0
            if (!strcmp(name, "GetBufferOpaqueCaptureDescriptorDataEXT")) return (void *)table->GetBufferOpaqueCaptureDescriptorDataEXT;
4334
0
            break;
4335
0
        case 0xc2b010ddu:
4336
0
            if (!strcmp(name, "GetImageOpaqueCaptureDescriptorDataEXT")) return (void *)table->GetImageOpaqueCaptureDescriptorDataEXT;
4337
0
            break;
4338
0
        case 0xeae4a4ecu:
4339
0
            if (!strcmp(name, "GetImageViewOpaqueCaptureDescriptorDataEXT")) return (void *)table->GetImageViewOpaqueCaptureDescriptorDataEXT;
4340
0
            break;
4341
0
        case 0xbd1e21ccu:
4342
0
            if (!strcmp(name, "GetSamplerOpaqueCaptureDescriptorDataEXT")) return (void *)table->GetSamplerOpaqueCaptureDescriptorDataEXT;
4343
0
            break;
4344
0
        case 0x430ba849u:
4345
0
            if (!strcmp(name, "GetAccelerationStructureOpaqueCaptureDescriptorDataEXT")) return (void *)table->GetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
4346
0
            break;
4347
4348
        // ---- VK_NV_fragment_shading_rate_enums extension commands
4349
0
        case 0x449b8d16u:
4350
0
            if (!strcmp(name, "CmdSetFragmentShadingRateEnumNV")) return (void *)table->CmdSetFragmentShadingRateEnumNV;
4351
0
            break;
4352
4353
        // ---- VK_EXT_device_fault extension commands
4354
0
        case 0xa47a426eu:
4355
0
            if (!strcmp(name, "GetDeviceFaultInfoEXT")) return (void *)table->GetDeviceFaultInfoEXT;
4356
0
            break;
4357
4358
        // ---- VK_EXT_vertex_input_dynamic_state extension commands
4359
0
        case 0x8005af30u:
4360
0
            if (!strcmp(name, "CmdSetVertexInputEXT")) return (void *)table->CmdSetVertexInputEXT;
4361
0
            break;
4362
4363
        // ---- VK_FUCHSIA_external_memory extension commands
4364
#if defined(VK_USE_PLATFORM_FUCHSIA)
4365
        case 0xd4b736e2u:
4366
            if (!strcmp(name, "GetMemoryZirconHandleFUCHSIA")) return (void *)table->GetMemoryZirconHandleFUCHSIA;
4367
            break;
4368
#endif // VK_USE_PLATFORM_FUCHSIA
4369
#if defined(VK_USE_PLATFORM_FUCHSIA)
4370
        case 0x1982503du:
4371
            if (!strcmp(name, "GetMemoryZirconHandlePropertiesFUCHSIA")) return (void *)table->GetMemoryZirconHandlePropertiesFUCHSIA;
4372
            break;
4373
#endif // VK_USE_PLATFORM_FUCHSIA
4374
4375
        // ---- VK_FUCHSIA_external_semaphore extension commands
4376
#if defined(VK_USE_PLATFORM_FUCHSIA)
4377
        case 0x326b4b20u:
4378
            if (!strcmp(name, "ImportSemaphoreZirconHandleFUCHSIA")) return (void *)table->ImportSemaphoreZirconHandleFUCHSIA;
4379
            break;
4380
#endif // VK_USE_PLATFORM_FUCHSIA
4381
#if defined(VK_USE_PLATFORM_FUCHSIA)
4382
        case 0xe6bbe67bu:
4383
            if (!strcmp(name, "GetSemaphoreZirconHandleFUCHSIA")) return (void *)table->GetSemaphoreZirconHandleFUCHSIA;
4384
            break;
4385
#endif // VK_USE_PLATFORM_FUCHSIA
4386
4387
        // ---- VK_FUCHSIA_buffer_collection extension commands
4388
#if defined(VK_USE_PLATFORM_FUCHSIA)
4389
        case 0xa722b2c0u:
4390
            if (!strcmp(name, "CreateBufferCollectionFUCHSIA")) return (void *)table->CreateBufferCollectionFUCHSIA;
4391
            break;
4392
#endif // VK_USE_PLATFORM_FUCHSIA
4393
#if defined(VK_USE_PLATFORM_FUCHSIA)
4394
        case 0x3bba029fu:
4395
            if (!strcmp(name, "SetBufferCollectionImageConstraintsFUCHSIA")) return (void *)table->SetBufferCollectionImageConstraintsFUCHSIA;
4396
            break;
4397
#endif // VK_USE_PLATFORM_FUCHSIA
4398
#if defined(VK_USE_PLATFORM_FUCHSIA)
4399
        case 0x9c967496u:
4400
            if (!strcmp(name, "SetBufferCollectionBufferConstraintsFUCHSIA")) return (void *)table->SetBufferCollectionBufferConstraintsFUCHSIA;
4401
            break;
4402
#endif // VK_USE_PLATFORM_FUCHSIA
4403
#if defined(VK_USE_PLATFORM_FUCHSIA)
4404
        case 0xa5a53ad8u:
4405
            if (!strcmp(name, "DestroyBufferCollectionFUCHSIA")) return (void *)table->DestroyBufferCollectionFUCHSIA;
4406
            break;
4407
#endif // VK_USE_PLATFORM_FUCHSIA
4408
#if defined(VK_USE_PLATFORM_FUCHSIA)
4409
        case 0x963d0551u:
4410
            if (!strcmp(name, "GetBufferCollectionPropertiesFUCHSIA")) return (void *)table->GetBufferCollectionPropertiesFUCHSIA;
4411
            break;
4412
#endif // VK_USE_PLATFORM_FUCHSIA
4413
4414
        // ---- VK_HUAWEI_subpass_shading extension commands
4415
0
        case 0x4c56fa14u:
4416
0
            if (!strcmp(name, "GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")) return (void *)table->GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
4417
0
            break;
4418
0
        case 0x08ae7a99u:
4419
0
            if (!strcmp(name, "CmdSubpassShadingHUAWEI")) return (void *)table->CmdSubpassShadingHUAWEI;
4420
0
            break;
4421
4422
        // ---- VK_HUAWEI_invocation_mask extension commands
4423
0
        case 0x8948a3bbu:
4424
0
            if (!strcmp(name, "CmdBindInvocationMaskHUAWEI")) return (void *)table->CmdBindInvocationMaskHUAWEI;
4425
0
            break;
4426
4427
        // ---- VK_NV_external_memory_rdma extension commands
4428
0
        case 0x654fb382u:
4429
0
            if (!strcmp(name, "GetMemoryRemoteAddressNV")) return (void *)table->GetMemoryRemoteAddressNV;
4430
0
            break;
4431
4432
        // ---- VK_EXT_pipeline_properties extension commands
4433
0
        case 0xa91b0edbu:
4434
0
            if (!strcmp(name, "GetPipelinePropertiesEXT")) return (void *)table->GetPipelinePropertiesEXT;
4435
0
            break;
4436
4437
        // ---- VK_EXT_extended_dynamic_state2 extension commands
4438
0
        case 0xe3cf69c8u:
4439
0
            if (!strcmp(name, "CmdSetPatchControlPointsEXT")) return (void *)table->CmdSetPatchControlPointsEXT;
4440
0
            break;
4441
0
        case 0x015d47c4u:
4442
0
            if (!strcmp(name, "CmdSetRasterizerDiscardEnableEXT")) return (void *)table->CmdSetRasterizerDiscardEnableEXT;
4443
0
            break;
4444
0
        case 0xd526ddf7u:
4445
0
            if (!strcmp(name, "CmdSetDepthBiasEnableEXT")) return (void *)table->CmdSetDepthBiasEnableEXT;
4446
0
            break;
4447
0
        case 0xe76c2231u:
4448
0
            if (!strcmp(name, "CmdSetLogicOpEXT")) return (void *)table->CmdSetLogicOpEXT;
4449
0
            break;
4450
0
        case 0x69f6e32du:
4451
0
            if (!strcmp(name, "CmdSetPrimitiveRestartEnableEXT")) return (void *)table->CmdSetPrimitiveRestartEnableEXT;
4452
0
            break;
4453
4454
        // ---- VK_EXT_color_write_enable extension commands
4455
0
        case 0x88b42aefu:
4456
0
            if (!strcmp(name, "CmdSetColorWriteEnableEXT")) return (void *)table->CmdSetColorWriteEnableEXT;
4457
0
            break;
4458
4459
        // ---- VK_EXT_multi_draw extension commands
4460
0
        case 0x2a995ebdu:
4461
0
            if (!strcmp(name, "CmdDrawMultiEXT")) return (void *)table->CmdDrawMultiEXT;
4462
0
            break;
4463
0
        case 0xa3a7fa6eu:
4464
0
            if (!strcmp(name, "CmdDrawMultiIndexedEXT")) return (void *)table->CmdDrawMultiIndexedEXT;
4465
0
            break;
4466
4467
        // ---- VK_EXT_opacity_micromap extension commands
4468
0
        case 0x367ac11eu:
4469
0
            if (!strcmp(name, "CreateMicromapEXT")) return (void *)table->CreateMicromapEXT;
4470
0
            break;
4471
0
        case 0x4c19d1c6u:
4472
0
            if (!strcmp(name, "DestroyMicromapEXT")) return (void *)table->DestroyMicromapEXT;
4473
0
            break;
4474
0
        case 0xffe0755fu:
4475
0
            if (!strcmp(name, "CmdBuildMicromapsEXT")) return (void *)table->CmdBuildMicromapsEXT;
4476
0
            break;
4477
0
        case 0x316926b1u:
4478
0
            if (!strcmp(name, "BuildMicromapsEXT")) return (void *)table->BuildMicromapsEXT;
4479
0
            break;
4480
0
        case 0x16c3f23du:
4481
0
            if (!strcmp(name, "CopyMicromapEXT")) return (void *)table->CopyMicromapEXT;
4482
0
            break;
4483
0
        case 0xdd14db57u:
4484
0
            if (!strcmp(name, "CopyMicromapToMemoryEXT")) return (void *)table->CopyMicromapToMemoryEXT;
4485
0
            break;
4486
0
        case 0xe467c893u:
4487
0
            if (!strcmp(name, "CopyMemoryToMicromapEXT")) return (void *)table->CopyMemoryToMicromapEXT;
4488
0
            break;
4489
0
        case 0x4e595135u:
4490
0
            if (!strcmp(name, "WriteMicromapsPropertiesEXT")) return (void *)table->WriteMicromapsPropertiesEXT;
4491
0
            break;
4492
0
        case 0x3c8abe13u:
4493
0
            if (!strcmp(name, "CmdCopyMicromapEXT")) return (void *)table->CmdCopyMicromapEXT;
4494
0
            break;
4495
0
        case 0xf8b0deb9u:
4496
0
            if (!strcmp(name, "CmdCopyMicromapToMemoryEXT")) return (void *)table->CmdCopyMicromapToMemoryEXT;
4497
0
            break;
4498
0
        case 0xae64bcc5u:
4499
0
            if (!strcmp(name, "CmdCopyMemoryToMicromapEXT")) return (void *)table->CmdCopyMemoryToMicromapEXT;
4500
0
            break;
4501
0
        case 0xf2620b47u:
4502
0
            if (!strcmp(name, "CmdWriteMicromapsPropertiesEXT")) return (void *)table->CmdWriteMicromapsPropertiesEXT;
4503
0
            break;
4504
0
        case 0x3db62560u:
4505
0
            if (!strcmp(name, "GetDeviceMicromapCompatibilityEXT")) return (void *)table->GetDeviceMicromapCompatibilityEXT;
4506
0
            break;
4507
0
        case 0x4700a14au:
4508
0
            if (!strcmp(name, "GetMicromapBuildSizesEXT")) return (void *)table->GetMicromapBuildSizesEXT;
4509
0
            break;
4510
4511
        // ---- VK_HUAWEI_cluster_culling_shader extension commands
4512
0
        case 0x92efcafcu:
4513
0
            if (!strcmp(name, "CmdDrawClusterHUAWEI")) return (void *)table->CmdDrawClusterHUAWEI;
4514
0
            break;
4515
0
        case 0xa4dbc26au:
4516
0
            if (!strcmp(name, "CmdDrawClusterIndirectHUAWEI")) return (void *)table->CmdDrawClusterIndirectHUAWEI;
4517
0
            break;
4518
4519
        // ---- VK_EXT_pageable_device_local_memory extension commands
4520
0
        case 0x46de03b5u:
4521
0
            if (!strcmp(name, "SetDeviceMemoryPriorityEXT")) return (void *)table->SetDeviceMemoryPriorityEXT;
4522
0
            break;
4523
4524
        // ---- VK_ARM_scheduling_controls extension commands
4525
0
        case 0x6ebdb357u:
4526
0
            if (!strcmp(name, "CmdSetDispatchParametersARM")) return (void *)table->CmdSetDispatchParametersARM;
4527
0
            break;
4528
4529
        // ---- VK_VALVE_descriptor_set_host_mapping extension commands
4530
0
        case 0x3c6e3abau:
4531
0
            if (!strcmp(name, "GetDescriptorSetLayoutHostMappingInfoVALVE")) return (void *)table->GetDescriptorSetLayoutHostMappingInfoVALVE;
4532
0
            break;
4533
0
        case 0xc911a54cu:
4534
0
            if (!strcmp(name, "GetDescriptorSetHostMappingVALVE")) return (void *)table->GetDescriptorSetHostMappingVALVE;
4535
0
            break;
4536
4537
        // ---- VK_NV_copy_memory_indirect extension commands
4538
0
        case 0x0e5861dfu:
4539
0
            if (!strcmp(name, "CmdCopyMemoryIndirectNV")) return (void *)table->CmdCopyMemoryIndirectNV;
4540
0
            break;
4541
0
        case 0x89366afbu:
4542
0
            if (!strcmp(name, "CmdCopyMemoryToImageIndirectNV")) return (void *)table->CmdCopyMemoryToImageIndirectNV;
4543
0
            break;
4544
4545
        // ---- VK_NV_memory_decompression extension commands
4546
0
        case 0x3787dc07u:
4547
0
            if (!strcmp(name, "CmdDecompressMemoryNV")) return (void *)table->CmdDecompressMemoryNV;
4548
0
            break;
4549
0
        case 0x4c9a0898u:
4550
0
            if (!strcmp(name, "CmdDecompressMemoryIndirectCountNV")) return (void *)table->CmdDecompressMemoryIndirectCountNV;
4551
0
            break;
4552
4553
        // ---- VK_NV_device_generated_commands_compute extension commands
4554
0
        case 0x68516320u:
4555
0
            if (!strcmp(name, "GetPipelineIndirectMemoryRequirementsNV")) return (void *)table->GetPipelineIndirectMemoryRequirementsNV;
4556
0
            break;
4557
0
        case 0x40e85748u:
4558
0
            if (!strcmp(name, "CmdUpdatePipelineIndirectBufferNV")) return (void *)table->CmdUpdatePipelineIndirectBufferNV;
4559
0
            break;
4560
0
        case 0x928cd267u:
4561
0
            if (!strcmp(name, "GetPipelineIndirectDeviceAddressNV")) return (void *)table->GetPipelineIndirectDeviceAddressNV;
4562
0
            break;
4563
4564
        // ---- VK_OHOS_external_memory extension commands
4565
#if defined(VK_USE_PLATFORM_OHOS)
4566
        case 0x06874e5eu:
4567
            if (!strcmp(name, "GetNativeBufferPropertiesOHOS")) return (void *)table->GetNativeBufferPropertiesOHOS;
4568
            break;
4569
#endif // VK_USE_PLATFORM_OHOS
4570
#if defined(VK_USE_PLATFORM_OHOS)
4571
        case 0xbb61bc68u:
4572
            if (!strcmp(name, "GetMemoryNativeBufferOHOS")) return (void *)table->GetMemoryNativeBufferOHOS;
4573
            break;
4574
#endif // VK_USE_PLATFORM_OHOS
4575
4576
        // ---- VK_EXT_extended_dynamic_state3 extension commands
4577
0
        case 0x2023a31du:
4578
0
            if (!strcmp(name, "CmdSetDepthClampEnableEXT")) return (void *)table->CmdSetDepthClampEnableEXT;
4579
0
            break;
4580
0
        case 0xead2dc11u:
4581
0
            if (!strcmp(name, "CmdSetPolygonModeEXT")) return (void *)table->CmdSetPolygonModeEXT;
4582
0
            break;
4583
0
        case 0x40d2368au:
4584
0
            if (!strcmp(name, "CmdSetRasterizationSamplesEXT")) return (void *)table->CmdSetRasterizationSamplesEXT;
4585
0
            break;
4586
0
        case 0x8074bbbau:
4587
0
            if (!strcmp(name, "CmdSetSampleMaskEXT")) return (void *)table->CmdSetSampleMaskEXT;
4588
0
            break;
4589
0
        case 0x436cf4cau:
4590
0
            if (!strcmp(name, "CmdSetAlphaToCoverageEnableEXT")) return (void *)table->CmdSetAlphaToCoverageEnableEXT;
4591
0
            break;
4592
0
        case 0x88aa9b78u:
4593
0
            if (!strcmp(name, "CmdSetAlphaToOneEnableEXT")) return (void *)table->CmdSetAlphaToOneEnableEXT;
4594
0
            break;
4595
0
        case 0xfdc1a750u:
4596
0
            if (!strcmp(name, "CmdSetLogicOpEnableEXT")) return (void *)table->CmdSetLogicOpEnableEXT;
4597
0
            break;
4598
0
        case 0xef84fefbu:
4599
0
            if (!strcmp(name, "CmdSetColorBlendEnableEXT")) return (void *)table->CmdSetColorBlendEnableEXT;
4600
0
            break;
4601
0
        case 0xa2683bf4u:
4602
0
            if (!strcmp(name, "CmdSetColorBlendEquationEXT")) return (void *)table->CmdSetColorBlendEquationEXT;
4603
0
            break;
4604
0
        case 0xabff6022u:
4605
0
            if (!strcmp(name, "CmdSetColorWriteMaskEXT")) return (void *)table->CmdSetColorWriteMaskEXT;
4606
0
            break;
4607
0
        case 0x69b05a7du:
4608
0
            if (!strcmp(name, "CmdSetTessellationDomainOriginEXT")) return (void *)table->CmdSetTessellationDomainOriginEXT;
4609
0
            break;
4610
0
        case 0xb085c957u:
4611
0
            if (!strcmp(name, "CmdSetRasterizationStreamEXT")) return (void *)table->CmdSetRasterizationStreamEXT;
4612
0
            break;
4613
0
        case 0x75d3a4bfu:
4614
0
            if (!strcmp(name, "CmdSetConservativeRasterizationModeEXT")) return (void *)table->CmdSetConservativeRasterizationModeEXT;
4615
0
            break;
4616
0
        case 0x9b4dd0e5u:
4617
0
            if (!strcmp(name, "CmdSetExtraPrimitiveOverestimationSizeEXT")) return (void *)table->CmdSetExtraPrimitiveOverestimationSizeEXT;
4618
0
            break;
4619
0
        case 0xde0cc9cau:
4620
0
            if (!strcmp(name, "CmdSetDepthClipEnableEXT")) return (void *)table->CmdSetDepthClipEnableEXT;
4621
0
            break;
4622
0
        case 0xa2d6a90du:
4623
0
            if (!strcmp(name, "CmdSetSampleLocationsEnableEXT")) return (void *)table->CmdSetSampleLocationsEnableEXT;
4624
0
            break;
4625
0
        case 0x91cd4248u:
4626
0
            if (!strcmp(name, "CmdSetColorBlendAdvancedEXT")) return (void *)table->CmdSetColorBlendAdvancedEXT;
4627
0
            break;
4628
0
        case 0x2f707cd4u:
4629
0
            if (!strcmp(name, "CmdSetProvokingVertexModeEXT")) return (void *)table->CmdSetProvokingVertexModeEXT;
4630
0
            break;
4631
0
        case 0x0bd058f0u:
4632
0
            if (!strcmp(name, "CmdSetLineRasterizationModeEXT")) return (void *)table->CmdSetLineRasterizationModeEXT;
4633
0
            break;
4634
0
        case 0xe0af9de6u:
4635
0
            if (!strcmp(name, "CmdSetLineStippleEnableEXT")) return (void *)table->CmdSetLineStippleEnableEXT;
4636
0
            break;
4637
0
        case 0x66cb7fcbu:
4638
0
            if (!strcmp(name, "CmdSetDepthClipNegativeOneToOneEXT")) return (void *)table->CmdSetDepthClipNegativeOneToOneEXT;
4639
0
            break;
4640
0
        case 0x02eda17au:
4641
0
            if (!strcmp(name, "CmdSetViewportWScalingEnableNV")) return (void *)table->CmdSetViewportWScalingEnableNV;
4642
0
            break;
4643
0
        case 0x32f50e8fu:
4644
0
            if (!strcmp(name, "CmdSetViewportSwizzleNV")) return (void *)table->CmdSetViewportSwizzleNV;
4645
0
            break;
4646
0
        case 0x1cd4b962u:
4647
0
            if (!strcmp(name, "CmdSetCoverageToColorEnableNV")) return (void *)table->CmdSetCoverageToColorEnableNV;
4648
0
            break;
4649
0
        case 0x44b956aau:
4650
0
            if (!strcmp(name, "CmdSetCoverageToColorLocationNV")) return (void *)table->CmdSetCoverageToColorLocationNV;
4651
0
            break;
4652
0
        case 0x4a470032u:
4653
0
            if (!strcmp(name, "CmdSetCoverageModulationModeNV")) return (void *)table->CmdSetCoverageModulationModeNV;
4654
0
            break;
4655
0
        case 0xe3053e18u:
4656
0
            if (!strcmp(name, "CmdSetCoverageModulationTableEnableNV")) return (void *)table->CmdSetCoverageModulationTableEnableNV;
4657
0
            break;
4658
0
        case 0x19587b3bu:
4659
0
            if (!strcmp(name, "CmdSetCoverageModulationTableNV")) return (void *)table->CmdSetCoverageModulationTableNV;
4660
0
            break;
4661
0
        case 0x793a2117u:
4662
0
            if (!strcmp(name, "CmdSetShadingRateImageEnableNV")) return (void *)table->CmdSetShadingRateImageEnableNV;
4663
0
            break;
4664
0
        case 0x8c9443cbu:
4665
0
            if (!strcmp(name, "CmdSetRepresentativeFragmentTestEnableNV")) return (void *)table->CmdSetRepresentativeFragmentTestEnableNV;
4666
0
            break;
4667
0
        case 0xcd8c0debu:
4668
0
            if (!strcmp(name, "CmdSetCoverageReductionModeNV")) return (void *)table->CmdSetCoverageReductionModeNV;
4669
0
            break;
4670
4671
        // ---- VK_ARM_tensors extension commands
4672
0
        case 0x8ee83766u:
4673
0
            if (!strcmp(name, "CreateTensorARM")) return (void *)table->CreateTensorARM;
4674
0
            break;
4675
0
        case 0x78dca0eeu:
4676
0
            if (!strcmp(name, "DestroyTensorARM")) return (void *)table->DestroyTensorARM;
4677
0
            break;
4678
0
        case 0x2235ebb5u:
4679
0
            if (!strcmp(name, "CreateTensorViewARM")) return (void *)table->CreateTensorViewARM;
4680
0
            break;
4681
0
        case 0x865e822du:
4682
0
            if (!strcmp(name, "DestroyTensorViewARM")) return (void *)table->DestroyTensorViewARM;
4683
0
            break;
4684
0
        case 0x59691d2du:
4685
0
            if (!strcmp(name, "GetTensorMemoryRequirementsARM")) return (void *)table->GetTensorMemoryRequirementsARM;
4686
0
            break;
4687
0
        case 0x8618affau:
4688
0
            if (!strcmp(name, "BindTensorMemoryARM")) return (void *)table->BindTensorMemoryARM;
4689
0
            break;
4690
0
        case 0xe1b39aebu:
4691
0
            if (!strcmp(name, "GetDeviceTensorMemoryRequirementsARM")) return (void *)table->GetDeviceTensorMemoryRequirementsARM;
4692
0
            break;
4693
0
        case 0xb93ada8bu:
4694
0
            if (!strcmp(name, "CmdCopyTensorARM")) return (void *)table->CmdCopyTensorARM;
4695
0
            break;
4696
0
        case 0xceb87a56u:
4697
0
            if (!strcmp(name, "GetTensorOpaqueCaptureDescriptorDataARM")) return (void *)table->GetTensorOpaqueCaptureDescriptorDataARM;
4698
0
            break;
4699
0
        case 0x938d0053u:
4700
0
            if (!strcmp(name, "GetTensorViewOpaqueCaptureDescriptorDataARM")) return (void *)table->GetTensorViewOpaqueCaptureDescriptorDataARM;
4701
0
            break;
4702
4703
        // ---- VK_EXT_shader_module_identifier extension commands
4704
0
        case 0x9e53195cu:
4705
0
            if (!strcmp(name, "GetShaderModuleIdentifierEXT")) return (void *)table->GetShaderModuleIdentifierEXT;
4706
0
            break;
4707
0
        case 0xa4c4d258u:
4708
0
            if (!strcmp(name, "GetShaderModuleCreateInfoIdentifierEXT")) return (void *)table->GetShaderModuleCreateInfoIdentifierEXT;
4709
0
            break;
4710
4711
        // ---- VK_NV_optical_flow extension commands
4712
0
        case 0x131f42e1u:
4713
0
            if (!strcmp(name, "CreateOpticalFlowSessionNV")) return (void *)table->CreateOpticalFlowSessionNV;
4714
0
            break;
4715
0
        case 0x18d36c59u:
4716
0
            if (!strcmp(name, "DestroyOpticalFlowSessionNV")) return (void *)table->DestroyOpticalFlowSessionNV;
4717
0
            break;
4718
0
        case 0x7ed5d89bu:
4719
0
            if (!strcmp(name, "BindOpticalFlowSessionImageNV")) return (void *)table->BindOpticalFlowSessionImageNV;
4720
0
            break;
4721
0
        case 0x51df2d1cu:
4722
0
            if (!strcmp(name, "CmdOpticalFlowExecuteNV")) return (void *)table->CmdOpticalFlowExecuteNV;
4723
0
            break;
4724
4725
        // ---- VK_AMD_anti_lag extension commands
4726
0
        case 0xe574b248u:
4727
0
            if (!strcmp(name, "AntiLagUpdateAMD")) return (void *)table->AntiLagUpdateAMD;
4728
0
            break;
4729
4730
        // ---- VK_EXT_shader_object extension commands
4731
0
        case 0x7af22e70u:
4732
0
            if (!strcmp(name, "CreateShadersEXT")) return (void *)table->CreateShadersEXT;
4733
0
            break;
4734
0
        case 0x4356e7ebu:
4735
0
            if (!strcmp(name, "DestroyShaderEXT")) return (void *)table->DestroyShaderEXT;
4736
0
            break;
4737
0
        case 0x035647d6u:
4738
0
            if (!strcmp(name, "GetShaderBinaryDataEXT")) return (void *)table->GetShaderBinaryDataEXT;
4739
0
            break;
4740
0
        case 0xaf09e9c9u:
4741
0
            if (!strcmp(name, "CmdBindShadersEXT")) return (void *)table->CmdBindShadersEXT;
4742
0
            break;
4743
0
        case 0x2fbae029u:
4744
0
            if (!strcmp(name, "CmdSetDepthClampRangeEXT")) return (void *)table->CmdSetDepthClampRangeEXT;
4745
0
            break;
4746
4747
        // ---- VK_QCOM_tile_properties extension commands
4748
0
        case 0x1b96b233u:
4749
0
            if (!strcmp(name, "GetFramebufferTilePropertiesQCOM")) return (void *)table->GetFramebufferTilePropertiesQCOM;
4750
0
            break;
4751
0
        case 0xa57b8109u:
4752
0
            if (!strcmp(name, "GetDynamicRenderingTilePropertiesQCOM")) return (void *)table->GetDynamicRenderingTilePropertiesQCOM;
4753
0
            break;
4754
4755
        // ---- VK_NV_cooperative_vector extension commands
4756
0
        case 0xfdc0d2b5u:
4757
0
            if (!strcmp(name, "ConvertCooperativeVectorMatrixNV")) return (void *)table->ConvertCooperativeVectorMatrixNV;
4758
0
            break;
4759
0
        case 0xa3bc320fu:
4760
0
            if (!strcmp(name, "CmdConvertCooperativeVectorMatrixNV")) return (void *)table->CmdConvertCooperativeVectorMatrixNV;
4761
0
            break;
4762
4763
        // ---- VK_NV_low_latency2 extension commands
4764
0
        case 0x8d2a16c5u:
4765
0
            if (!strcmp(name, "SetLatencySleepModeNV")) return (void *)table->SetLatencySleepModeNV;
4766
0
            break;
4767
0
        case 0xd9427520u:
4768
0
            if (!strcmp(name, "LatencySleepNV")) return (void *)table->LatencySleepNV;
4769
0
            break;
4770
0
        case 0xb07b0699u:
4771
0
            if (!strcmp(name, "SetLatencyMarkerNV")) return (void *)table->SetLatencyMarkerNV;
4772
0
            break;
4773
0
        case 0xb95541bau:
4774
0
            if (!strcmp(name, "GetLatencyTimingsNV")) return (void *)table->GetLatencyTimingsNV;
4775
0
            break;
4776
0
        case 0x87fc9ca5u:
4777
0
            if (!strcmp(name, "QueueNotifyOutOfBandNV")) return (void *)table->QueueNotifyOutOfBandNV;
4778
0
            break;
4779
4780
        // ---- VK_ARM_data_graph extension commands
4781
0
        case 0x2173b4c0u:
4782
0
            if (!strcmp(name, "CreateDataGraphPipelinesARM")) return (void *)table->CreateDataGraphPipelinesARM;
4783
0
            break;
4784
0
        case 0x186d09dbu:
4785
0
            if (!strcmp(name, "CreateDataGraphPipelineSessionARM")) return (void *)table->CreateDataGraphPipelineSessionARM;
4786
0
            break;
4787
0
        case 0x87a1a322u:
4788
0
            if (!strcmp(name, "GetDataGraphPipelineSessionBindPointRequirementsARM")) return (void *)table->GetDataGraphPipelineSessionBindPointRequirementsARM;
4789
0
            break;
4790
0
        case 0xa168b348u:
4791
0
            if (!strcmp(name, "GetDataGraphPipelineSessionMemoryRequirementsARM")) return (void *)table->GetDataGraphPipelineSessionMemoryRequirementsARM;
4792
0
            break;
4793
0
        case 0x0b8f6dbfu:
4794
0
            if (!strcmp(name, "BindDataGraphPipelineSessionMemoryARM")) return (void *)table->BindDataGraphPipelineSessionMemoryARM;
4795
0
            break;
4796
0
        case 0x22aae5c3u:
4797
0
            if (!strcmp(name, "DestroyDataGraphPipelineSessionARM")) return (void *)table->DestroyDataGraphPipelineSessionARM;
4798
0
            break;
4799
0
        case 0x72c8ae53u:
4800
0
            if (!strcmp(name, "CmdDispatchDataGraphARM")) return (void *)table->CmdDispatchDataGraphARM;
4801
0
            break;
4802
0
        case 0x816ef83fu:
4803
0
            if (!strcmp(name, "GetDataGraphPipelineAvailablePropertiesARM")) return (void *)table->GetDataGraphPipelineAvailablePropertiesARM;
4804
0
            break;
4805
0
        case 0x8358ba34u:
4806
0
            if (!strcmp(name, "GetDataGraphPipelinePropertiesARM")) return (void *)table->GetDataGraphPipelinePropertiesARM;
4807
0
            break;
4808
4809
        // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands
4810
0
        case 0x7597b011u:
4811
0
            if (!strcmp(name, "CmdSetAttachmentFeedbackLoopEnableEXT")) return (void *)table->CmdSetAttachmentFeedbackLoopEnableEXT;
4812
0
            break;
4813
4814
        // ---- VK_QNX_external_memory_screen_buffer extension commands
4815
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
4816
        case 0xb6bc3d65u:
4817
            if (!strcmp(name, "GetScreenBufferPropertiesQNX")) return (void *)table->GetScreenBufferPropertiesQNX;
4818
            break;
4819
#endif // VK_USE_PLATFORM_SCREEN_QNX
4820
4821
        // ---- VK_QCOM_tile_memory_heap extension commands
4822
0
        case 0xa87804d7u:
4823
0
            if (!strcmp(name, "CmdBindTileMemoryQCOM")) return (void *)table->CmdBindTileMemoryQCOM;
4824
0
            break;
4825
4826
        // ---- VK_EXT_memory_decompression extension commands
4827
0
        case 0xd19fa84au:
4828
0
            if (!strcmp(name, "CmdDecompressMemoryEXT")) return (void *)table->CmdDecompressMemoryEXT;
4829
0
            break;
4830
0
        case 0xc1bea83fu:
4831
0
            if (!strcmp(name, "CmdDecompressMemoryIndirectCountEXT")) return (void *)table->CmdDecompressMemoryIndirectCountEXT;
4832
0
            break;
4833
4834
        // ---- VK_NV_external_compute_queue extension commands
4835
0
        case 0x66123ec2u:
4836
0
            if (!strcmp(name, "CreateExternalComputeQueueNV")) return (void *)table->CreateExternalComputeQueueNV;
4837
0
            break;
4838
0
        case 0xb140596au:
4839
0
            if (!strcmp(name, "DestroyExternalComputeQueueNV")) return (void *)table->DestroyExternalComputeQueueNV;
4840
0
            break;
4841
0
        case 0x4db4b434u:
4842
0
            if (!strcmp(name, "GetExternalComputeQueueDataNV")) return (void *)table->GetExternalComputeQueueDataNV;
4843
0
            break;
4844
4845
        // ---- VK_NV_cluster_acceleration_structure extension commands
4846
0
        case 0x5e994382u:
4847
0
            if (!strcmp(name, "GetClusterAccelerationStructureBuildSizesNV")) return (void *)table->GetClusterAccelerationStructureBuildSizesNV;
4848
0
            break;
4849
0
        case 0x50372290u:
4850
0
            if (!strcmp(name, "CmdBuildClusterAccelerationStructureIndirectNV")) return (void *)table->CmdBuildClusterAccelerationStructureIndirectNV;
4851
0
            break;
4852
4853
        // ---- VK_NV_partitioned_acceleration_structure extension commands
4854
0
        case 0x921b5752u:
4855
0
            if (!strcmp(name, "GetPartitionedAccelerationStructuresBuildSizesNV")) return (void *)table->GetPartitionedAccelerationStructuresBuildSizesNV;
4856
0
            break;
4857
0
        case 0xc9bd643eu:
4858
0
            if (!strcmp(name, "CmdBuildPartitionedAccelerationStructuresNV")) return (void *)table->CmdBuildPartitionedAccelerationStructuresNV;
4859
0
            break;
4860
4861
        // ---- VK_EXT_device_generated_commands extension commands
4862
0
        case 0x0de82280u:
4863
0
            if (!strcmp(name, "GetGeneratedCommandsMemoryRequirementsEXT")) return (void *)table->GetGeneratedCommandsMemoryRequirementsEXT;
4864
0
            break;
4865
0
        case 0x45082ad7u:
4866
0
            if (!strcmp(name, "CmdPreprocessGeneratedCommandsEXT")) return (void *)table->CmdPreprocessGeneratedCommandsEXT;
4867
0
            break;
4868
0
        case 0x4e44bcbcu:
4869
0
            if (!strcmp(name, "CmdExecuteGeneratedCommandsEXT")) return (void *)table->CmdExecuteGeneratedCommandsEXT;
4870
0
            break;
4871
0
        case 0xf3e8f51au:
4872
0
            if (!strcmp(name, "CreateIndirectCommandsLayoutEXT")) return (void *)table->CreateIndirectCommandsLayoutEXT;
4873
0
            break;
4874
0
        case 0xe39a9d42u:
4875
0
            if (!strcmp(name, "DestroyIndirectCommandsLayoutEXT")) return (void *)table->DestroyIndirectCommandsLayoutEXT;
4876
0
            break;
4877
0
        case 0xcb16d00cu:
4878
0
            if (!strcmp(name, "CreateIndirectExecutionSetEXT")) return (void *)table->CreateIndirectExecutionSetEXT;
4879
0
            break;
4880
0
        case 0x9c4214c4u:
4881
0
            if (!strcmp(name, "DestroyIndirectExecutionSetEXT")) return (void *)table->DestroyIndirectExecutionSetEXT;
4882
0
            break;
4883
0
        case 0x19f63d15u:
4884
0
            if (!strcmp(name, "UpdateIndirectExecutionSetPipelineEXT")) return (void *)table->UpdateIndirectExecutionSetPipelineEXT;
4885
0
            break;
4886
0
        case 0x05ac8360u:
4887
0
            if (!strcmp(name, "UpdateIndirectExecutionSetShaderEXT")) return (void *)table->UpdateIndirectExecutionSetShaderEXT;
4888
0
            break;
4889
4890
        // ---- VK_EXT_external_memory_metal extension commands
4891
#if defined(VK_USE_PLATFORM_METAL_EXT)
4892
        case 0xa02b049cu:
4893
            if (!strcmp(name, "GetMemoryMetalHandleEXT")) return (void *)table->GetMemoryMetalHandleEXT;
4894
            break;
4895
#endif // VK_USE_PLATFORM_METAL_EXT
4896
#if defined(VK_USE_PLATFORM_METAL_EXT)
4897
        case 0x2ad619bfu:
4898
            if (!strcmp(name, "GetMemoryMetalHandlePropertiesEXT")) return (void *)table->GetMemoryMetalHandlePropertiesEXT;
4899
            break;
4900
#endif // VK_USE_PLATFORM_METAL_EXT
4901
4902
        // ---- VK_ARM_shader_instrumentation extension commands
4903
0
        case 0x91602e1cu:
4904
0
            if (!strcmp(name, "CreateShaderInstrumentationARM")) return (void *)table->CreateShaderInstrumentationARM;
4905
0
            break;
4906
0
        case 0x6b282174u:
4907
0
            if (!strcmp(name, "DestroyShaderInstrumentationARM")) return (void *)table->DestroyShaderInstrumentationARM;
4908
0
            break;
4909
0
        case 0x820deaa5u:
4910
0
            if (!strcmp(name, "CmdBeginShaderInstrumentationARM")) return (void *)table->CmdBeginShaderInstrumentationARM;
4911
0
            break;
4912
0
        case 0x9e284719u:
4913
0
            if (!strcmp(name, "CmdEndShaderInstrumentationARM")) return (void *)table->CmdEndShaderInstrumentationARM;
4914
0
            break;
4915
0
        case 0xb87c65c8u:
4916
0
            if (!strcmp(name, "GetShaderInstrumentationValuesARM")) return (void *)table->GetShaderInstrumentationValuesARM;
4917
0
            break;
4918
0
        case 0xe46475d2u:
4919
0
            if (!strcmp(name, "ClearShaderInstrumentationMetricsARM")) return (void *)table->ClearShaderInstrumentationMetricsARM;
4920
0
            break;
4921
4922
        // ---- VK_EXT_fragment_density_map_offset extension commands
4923
0
        case 0xc27109a5u:
4924
0
            if (!strcmp(name, "CmdEndRendering2EXT")) return (void *)table->CmdEndRendering2EXT;
4925
0
            break;
4926
4927
        // ---- VK_EXT_custom_resolve extension commands
4928
0
        case 0xc3261ff8u:
4929
0
            if (!strcmp(name, "CmdBeginCustomResolveEXT")) return (void *)table->CmdBeginCustomResolveEXT;
4930
0
            break;
4931
4932
        // ---- VK_NV_compute_occupancy_priority extension commands
4933
0
        case 0x233e514bu:
4934
0
            if (!strcmp(name, "CmdSetComputeOccupancyPriorityNV")) return (void *)table->CmdSetComputeOccupancyPriorityNV;
4935
0
            break;
4936
4937
        // ---- VK_EXT_primitive_restart_index extension commands
4938
0
        case 0x52eaa7c6u:
4939
0
            if (!strcmp(name, "CmdSetPrimitiveRestartIndexEXT")) return (void *)table->CmdSetPrimitiveRestartIndexEXT;
4940
0
            break;
4941
4942
        // ---- VK_KHR_acceleration_structure extension commands
4943
0
        case 0xce965a5du:
4944
0
            if (!strcmp(name, "CreateAccelerationStructureKHR")) return (void *)table->CreateAccelerationStructureKHR;
4945
0
            break;
4946
0
        case 0x451e9ac5u:
4947
0
            if (!strcmp(name, "DestroyAccelerationStructureKHR")) return (void *)table->DestroyAccelerationStructureKHR;
4948
0
            break;
4949
0
        case 0x0279ea2eu:
4950
0
            if (!strcmp(name, "CmdBuildAccelerationStructuresKHR")) return (void *)table->CmdBuildAccelerationStructuresKHR;
4951
0
            break;
4952
0
        case 0x77d19a58u:
4953
0
            if (!strcmp(name, "CmdBuildAccelerationStructuresIndirectKHR")) return (void *)table->CmdBuildAccelerationStructuresIndirectKHR;
4954
0
            break;
4955
0
        case 0xd699e1dcu:
4956
0
            if (!strcmp(name, "BuildAccelerationStructuresKHR")) return (void *)table->BuildAccelerationStructuresKHR;
4957
0
            break;
4958
0
        case 0x99303774u:
4959
0
            if (!strcmp(name, "CopyAccelerationStructureKHR")) return (void *)table->CopyAccelerationStructureKHR;
4960
0
            break;
4961
0
        case 0xd6d213eau:
4962
0
            if (!strcmp(name, "CopyAccelerationStructureToMemoryKHR")) return (void *)table->CopyAccelerationStructureToMemoryKHR;
4963
0
            break;
4964
0
        case 0xdc7bca4eu:
4965
0
            if (!strcmp(name, "CopyMemoryToAccelerationStructureKHR")) return (void *)table->CopyMemoryToAccelerationStructureKHR;
4966
0
            break;
4967
0
        case 0x5baf1f8au:
4968
0
            if (!strcmp(name, "WriteAccelerationStructuresPropertiesKHR")) return (void *)table->WriteAccelerationStructuresPropertiesKHR;
4969
0
            break;
4970
0
        case 0x07d2daceu:
4971
0
            if (!strcmp(name, "CmdCopyAccelerationStructureKHR")) return (void *)table->CmdCopyAccelerationStructureKHR;
4972
0
            break;
4973
0
        case 0x69b69860u:
4974
0
            if (!strcmp(name, "CmdCopyAccelerationStructureToMemoryKHR")) return (void *)table->CmdCopyAccelerationStructureToMemoryKHR;
4975
0
            break;
4976
0
        case 0xc05e1ddcu:
4977
0
            if (!strcmp(name, "CmdCopyMemoryToAccelerationStructureKHR")) return (void *)table->CmdCopyMemoryToAccelerationStructureKHR;
4978
0
            break;
4979
0
        case 0x17e34879u:
4980
0
            if (!strcmp(name, "GetAccelerationStructureDeviceAddressKHR")) return (void *)table->GetAccelerationStructureDeviceAddressKHR;
4981
0
            break;
4982
0
        case 0xf8d9e440u:
4983
0
            if (!strcmp(name, "CmdWriteAccelerationStructuresPropertiesKHR")) return (void *)table->CmdWriteAccelerationStructuresPropertiesKHR;
4984
0
            break;
4985
0
        case 0x2d186d4du:
4986
0
            if (!strcmp(name, "GetDeviceAccelerationStructureCompatibilityKHR")) return (void *)table->GetDeviceAccelerationStructureCompatibilityKHR;
4987
0
            break;
4988
0
        case 0x4b8adcb5u:
4989
0
            if (!strcmp(name, "GetAccelerationStructureBuildSizesKHR")) return (void *)table->GetAccelerationStructureBuildSizesKHR;
4990
0
            break;
4991
4992
        // ---- VK_KHR_ray_tracing_pipeline extension commands
4993
0
        case 0x683dee8cu:
4994
0
            if (!strcmp(name, "CmdTraceRaysKHR")) return (void *)table->CmdTraceRaysKHR;
4995
0
            break;
4996
0
        case 0x9f60774du:
4997
0
            if (!strcmp(name, "CreateRayTracingPipelinesKHR")) return (void *)table->CreateRayTracingPipelinesKHR;
4998
0
            break;
4999
0
        case 0x7e4aca88u:
5000
0
            if (!strcmp(name, "GetRayTracingCaptureReplayShaderGroupHandlesKHR")) return (void *)table->GetRayTracingCaptureReplayShaderGroupHandlesKHR;
5001
0
            break;
5002
0
        case 0x71243852u:
5003
0
            if (!strcmp(name, "CmdTraceRaysIndirectKHR")) return (void *)table->CmdTraceRaysIndirectKHR;
5004
0
            break;
5005
0
        case 0xd366d0cfu:
5006
0
            if (!strcmp(name, "GetRayTracingShaderGroupStackSizeKHR")) return (void *)table->GetRayTracingShaderGroupStackSizeKHR;
5007
0
            break;
5008
0
        case 0xb831363du:
5009
0
            if (!strcmp(name, "CmdSetRayTracingPipelineStackSizeKHR")) return (void *)table->CmdSetRayTracingPipelineStackSizeKHR;
5010
0
            break;
5011
5012
        // ---- VK_EXT_mesh_shader extension commands
5013
0
        case 0xb2ec7be9u:
5014
0
            if (!strcmp(name, "CmdDrawMeshTasksEXT")) return (void *)table->CmdDrawMeshTasksEXT;
5015
0
            break;
5016
0
        case 0x13d6aa6fu:
5017
0
            if (!strcmp(name, "CmdDrawMeshTasksIndirectEXT")) return (void *)table->CmdDrawMeshTasksIndirectEXT;
5018
0
            break;
5019
0
        case 0xb67c7ce6u:
5020
0
            if (!strcmp(name, "CmdDrawMeshTasksIndirectCountEXT")) return (void *)table->CmdDrawMeshTasksIndirectCountEXT;
5021
0
            break;
5022
0
        default:
5023
0
            break;
5024
0
    }
5025
5026
0
    *found_name = false;
5027
0
    return NULL;
5028
0
}
5029
5030
// Instance command lookup function
5031
VKAPI_ATTR void* VKAPI_CALL loader_lookup_instance_dispatch_table(const VkLayerInstanceDispatchTable *table, const char *name,
5032
0
                                                                 bool *found_name) {
5033
0
    if (!name || name[0] != 'v' || name[1] != 'k') {
5034
0
        *found_name = false;
5035
0
        return NULL;
5036
0
    }
5037
5038
0
    *found_name = true;
5039
0
    name += 2;
5040
0
    const uint32_t name_hash = loader_hash_string(name);
5041
0
    switch (name_hash) {
5042
5043
        // ---- Core Vulkan 1.0 commands
5044
0
        case 0x72bac092u:
5045
0
            if (!strcmp(name, "DestroyInstance")) return (void *)table->DestroyInstance;
5046
0
            break;
5047
0
        case 0x47707f5bu:
5048
0
            if (!strcmp(name, "EnumeratePhysicalDevices")) return (void *)table->EnumeratePhysicalDevices;
5049
0
            break;
5050
0
        case 0x1f85ee93u:
5051
0
            if (!strcmp(name, "GetPhysicalDeviceFeatures")) return (void *)table->GetPhysicalDeviceFeatures;
5052
0
            break;
5053
0
        case 0x74a5d8deu:
5054
0
            if (!strcmp(name, "GetPhysicalDeviceFormatProperties")) return (void *)table->GetPhysicalDeviceFormatProperties;
5055
0
            break;
5056
0
        case 0x8451aa6bu:
5057
0
            if (!strcmp(name, "GetPhysicalDeviceImageFormatProperties")) return (void *)table->GetPhysicalDeviceImageFormatProperties;
5058
0
            break;
5059
0
        case 0x1de4f4b9u:
5060
0
            if (!strcmp(name, "GetPhysicalDeviceProperties")) return (void *)table->GetPhysicalDeviceProperties;
5061
0
            break;
5062
0
        case 0x027f4f12u:
5063
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties")) return (void *)table->GetPhysicalDeviceQueueFamilyProperties;
5064
0
            break;
5065
0
        case 0x1c0f4f2eu:
5066
0
            if (!strcmp(name, "GetPhysicalDeviceMemoryProperties")) return (void *)table->GetPhysicalDeviceMemoryProperties;
5067
0
            break;
5068
0
        case 0x2d3c8c27u:
5069
0
            if (!strcmp(name, "GetInstanceProcAddr")) return (void *)table->GetInstanceProcAddr;
5070
0
            break;
5071
0
        case 0xd83dfc59u:
5072
0
            if (!strcmp(name, "EnumerateDeviceExtensionProperties")) return (void *)table->EnumerateDeviceExtensionProperties;
5073
0
            break;
5074
0
        case 0x74122e01u:
5075
0
            if (!strcmp(name, "EnumerateDeviceLayerProperties")) return (void *)table->EnumerateDeviceLayerProperties;
5076
0
            break;
5077
0
        case 0x9c272193u:
5078
0
            if (!strcmp(name, "GetPhysicalDeviceSparseImageFormatProperties")) return (void *)table->GetPhysicalDeviceSparseImageFormatProperties;
5079
0
            break;
5080
5081
        // ---- Core Vulkan 1.1 commands
5082
0
        case 0xf777380au:
5083
0
            if (!strcmp(name, "EnumeratePhysicalDeviceGroups")) return (void *)table->EnumeratePhysicalDeviceGroups;
5084
0
            break;
5085
0
        case 0x40d6a773u:
5086
0
            if (!strcmp(name, "GetPhysicalDeviceFeatures2")) return (void *)table->GetPhysicalDeviceFeatures2;
5087
0
            break;
5088
0
        case 0x9a6cf6d1u:
5089
0
            if (!strcmp(name, "GetPhysicalDeviceProperties2")) return (void *)table->GetPhysicalDeviceProperties2;
5090
0
            break;
5091
0
        case 0x8d147b84u:
5092
0
            if (!strcmp(name, "GetPhysicalDeviceFormatProperties2")) return (void *)table->GetPhysicalDeviceFormatProperties2;
5093
0
            break;
5094
0
        case 0xa58f2a1bu:
5095
0
            if (!strcmp(name, "GetPhysicalDeviceImageFormatProperties2")) return (void *)table->GetPhysicalDeviceImageFormatProperties2;
5096
0
            break;
5097
0
        case 0x0e698f60u:
5098
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties2")) return (void *)table->GetPhysicalDeviceQueueFamilyProperties2;
5099
0
            break;
5100
0
        case 0x48198914u:
5101
0
            if (!strcmp(name, "GetPhysicalDeviceMemoryProperties2")) return (void *)table->GetPhysicalDeviceMemoryProperties2;
5102
0
            break;
5103
0
        case 0x7299f073u:
5104
0
            if (!strcmp(name, "GetPhysicalDeviceSparseImageFormatProperties2")) return (void *)table->GetPhysicalDeviceSparseImageFormatProperties2;
5105
0
            break;
5106
0
        case 0x457cf6d0u:
5107
0
            if (!strcmp(name, "GetPhysicalDeviceExternalBufferProperties")) return (void *)table->GetPhysicalDeviceExternalBufferProperties;
5108
0
            break;
5109
0
        case 0xae7670e9u:
5110
0
            if (!strcmp(name, "GetPhysicalDeviceExternalFenceProperties")) return (void *)table->GetPhysicalDeviceExternalFenceProperties;
5111
0
            break;
5112
0
        case 0xc95e77dau:
5113
0
            if (!strcmp(name, "GetPhysicalDeviceExternalSemaphoreProperties")) return (void *)table->GetPhysicalDeviceExternalSemaphoreProperties;
5114
0
            break;
5115
5116
        // ---- Core Vulkan 1.3 commands
5117
0
        case 0xbf928f7bu:
5118
0
            if (!strcmp(name, "GetPhysicalDeviceToolProperties")) return (void *)table->GetPhysicalDeviceToolProperties;
5119
0
            break;
5120
5121
        // ---- VK_KHR_surface extension commands
5122
0
        case 0xa055626fu:
5123
0
            if (!strcmp(name, "DestroySurfaceKHR")) return (void *)table->DestroySurfaceKHR;
5124
0
            break;
5125
0
        case 0xeddb22e9u:
5126
0
            if (!strcmp(name, "GetPhysicalDeviceSurfaceSupportKHR")) return (void *)table->GetPhysicalDeviceSurfaceSupportKHR;
5127
0
            break;
5128
0
        case 0x35be348cu:
5129
0
            if (!strcmp(name, "GetPhysicalDeviceSurfaceCapabilitiesKHR")) return (void *)table->GetPhysicalDeviceSurfaceCapabilitiesKHR;
5130
0
            break;
5131
0
        case 0xcbc23c60u:
5132
0
            if (!strcmp(name, "GetPhysicalDeviceSurfaceFormatsKHR")) return (void *)table->GetPhysicalDeviceSurfaceFormatsKHR;
5133
0
            break;
5134
0
        case 0xc3bb5079u:
5135
0
            if (!strcmp(name, "GetPhysicalDeviceSurfacePresentModesKHR")) return (void *)table->GetPhysicalDeviceSurfacePresentModesKHR;
5136
0
            break;
5137
5138
        // ---- VK_KHR_swapchain extension commands
5139
0
        case 0x7f1cbd5cu:
5140
0
            if (!strcmp(name, "GetPhysicalDevicePresentRectanglesKHR")) return (void *)table->GetPhysicalDevicePresentRectanglesKHR;
5141
0
            break;
5142
5143
        // ---- VK_KHR_display extension commands
5144
0
        case 0x6ae00b02u:
5145
0
            if (!strcmp(name, "GetPhysicalDeviceDisplayPropertiesKHR")) return (void *)table->GetPhysicalDeviceDisplayPropertiesKHR;
5146
0
            break;
5147
0
        case 0x74256fc0u:
5148
0
            if (!strcmp(name, "GetPhysicalDeviceDisplayPlanePropertiesKHR")) return (void *)table->GetPhysicalDeviceDisplayPlanePropertiesKHR;
5149
0
            break;
5150
0
        case 0x069c6c3bu:
5151
0
            if (!strcmp(name, "GetDisplayPlaneSupportedDisplaysKHR")) return (void *)table->GetDisplayPlaneSupportedDisplaysKHR;
5152
0
            break;
5153
0
        case 0x7fb98644u:
5154
0
            if (!strcmp(name, "GetDisplayModePropertiesKHR")) return (void *)table->GetDisplayModePropertiesKHR;
5155
0
            break;
5156
0
        case 0x9565f3f9u:
5157
0
            if (!strcmp(name, "CreateDisplayModeKHR")) return (void *)table->CreateDisplayModeKHR;
5158
0
            break;
5159
0
        case 0x1ff22654u:
5160
0
            if (!strcmp(name, "GetDisplayPlaneCapabilitiesKHR")) return (void *)table->GetDisplayPlaneCapabilitiesKHR;
5161
0
            break;
5162
0
        case 0xdd4f3c17u:
5163
0
            if (!strcmp(name, "CreateDisplayPlaneSurfaceKHR")) return (void *)table->CreateDisplayPlaneSurfaceKHR;
5164
0
            break;
5165
5166
        // ---- VK_KHR_xlib_surface extension commands
5167
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
5168
0
        case 0xe0afa1bcu:
5169
0
            if (!strcmp(name, "CreateXlibSurfaceKHR")) return (void *)table->CreateXlibSurfaceKHR;
5170
0
            break;
5171
0
#endif // VK_USE_PLATFORM_XLIB_KHR
5172
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
5173
0
        case 0x661fc9c5u:
5174
0
            if (!strcmp(name, "GetPhysicalDeviceXlibPresentationSupportKHR")) return (void *)table->GetPhysicalDeviceXlibPresentationSupportKHR;
5175
0
            break;
5176
0
#endif // VK_USE_PLATFORM_XLIB_KHR
5177
5178
        // ---- VK_KHR_xcb_surface extension commands
5179
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
5180
0
        case 0x8566b9e0u:
5181
0
            if (!strcmp(name, "CreateXcbSurfaceKHR")) return (void *)table->CreateXcbSurfaceKHR;
5182
0
            break;
5183
0
#endif // VK_USE_PLATFORM_XCB_KHR
5184
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
5185
0
        case 0xfce4073fu:
5186
0
            if (!strcmp(name, "GetPhysicalDeviceXcbPresentationSupportKHR")) return (void *)table->GetPhysicalDeviceXcbPresentationSupportKHR;
5187
0
            break;
5188
0
#endif // VK_USE_PLATFORM_XCB_KHR
5189
5190
        // ---- VK_KHR_wayland_surface extension commands
5191
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
5192
0
        case 0xa0c8077bu:
5193
0
            if (!strcmp(name, "CreateWaylandSurfaceKHR")) return (void *)table->CreateWaylandSurfaceKHR;
5194
0
            break;
5195
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
5196
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
5197
0
        case 0x09cc42b8u:
5198
0
            if (!strcmp(name, "GetPhysicalDeviceWaylandPresentationSupportKHR")) return (void *)table->GetPhysicalDeviceWaylandPresentationSupportKHR;
5199
0
            break;
5200
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
5201
5202
        // ---- VK_KHR_android_surface extension commands
5203
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
5204
        case 0xd9f5522au:
5205
            if (!strcmp(name, "CreateAndroidSurfaceKHR")) return (void *)table->CreateAndroidSurfaceKHR;
5206
            break;
5207
#endif // VK_USE_PLATFORM_ANDROID_KHR
5208
5209
        // ---- VK_KHR_win32_surface extension commands
5210
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5211
        case 0x03edf712u:
5212
            if (!strcmp(name, "CreateWin32SurfaceKHR")) return (void *)table->CreateWin32SurfaceKHR;
5213
            break;
5214
#endif // VK_USE_PLATFORM_WIN32_KHR
5215
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5216
        case 0x9e8c6a7du:
5217
            if (!strcmp(name, "GetPhysicalDeviceWin32PresentationSupportKHR")) return (void *)table->GetPhysicalDeviceWin32PresentationSupportKHR;
5218
            break;
5219
#endif // VK_USE_PLATFORM_WIN32_KHR
5220
5221
        // ---- VK_KHR_video_queue extension commands
5222
0
        case 0x69aa34ecu:
5223
0
            if (!strcmp(name, "GetPhysicalDeviceVideoCapabilitiesKHR")) return (void *)table->GetPhysicalDeviceVideoCapabilitiesKHR;
5224
0
            break;
5225
0
        case 0xf490cbe4u:
5226
0
            if (!strcmp(name, "GetPhysicalDeviceVideoFormatPropertiesKHR")) return (void *)table->GetPhysicalDeviceVideoFormatPropertiesKHR;
5227
0
            break;
5228
5229
        // ---- VK_KHR_get_physical_device_properties2 extension commands
5230
0
        case 0x84aa6d76u:
5231
0
            if (!strcmp(name, "GetPhysicalDeviceFeatures2KHR")) return (void *)table->GetPhysicalDeviceFeatures2KHR;
5232
0
            break;
5233
0
        case 0x4602fe80u:
5234
0
            if (!strcmp(name, "GetPhysicalDeviceProperties2KHR")) return (void *)table->GetPhysicalDeviceProperties2KHR;
5235
0
            break;
5236
0
        case 0xa2da0fe7u:
5237
0
            if (!strcmp(name, "GetPhysicalDeviceFormatProperties2KHR")) return (void *)table->GetPhysicalDeviceFormatProperties2KHR;
5238
0
            break;
5239
0
        case 0x00dd0f8eu:
5240
0
            if (!strcmp(name, "GetPhysicalDeviceImageFormatProperties2KHR")) return (void *)table->GetPhysicalDeviceImageFormatProperties2KHR;
5241
0
            break;
5242
0
        case 0x715bef0bu:
5243
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties2KHR")) return (void *)table->GetPhysicalDeviceQueueFamilyProperties2KHR;
5244
0
            break;
5245
0
        case 0xe66dbb37u:
5246
0
            if (!strcmp(name, "GetPhysicalDeviceMemoryProperties2KHR")) return (void *)table->GetPhysicalDeviceMemoryProperties2KHR;
5247
0
            break;
5248
0
        case 0x3aebd076u:
5249
0
            if (!strcmp(name, "GetPhysicalDeviceSparseImageFormatProperties2KHR")) return (void *)table->GetPhysicalDeviceSparseImageFormatProperties2KHR;
5250
0
            break;
5251
5252
        // ---- VK_KHR_device_group_creation extension commands
5253
0
        case 0x261ea829u:
5254
0
            if (!strcmp(name, "EnumeratePhysicalDeviceGroupsKHR")) return (void *)table->EnumeratePhysicalDeviceGroupsKHR;
5255
0
            break;
5256
5257
        // ---- VK_KHR_external_memory_capabilities extension commands
5258
0
        case 0x53febf3bu:
5259
0
            if (!strcmp(name, "GetPhysicalDeviceExternalBufferPropertiesKHR")) return (void *)table->GetPhysicalDeviceExternalBufferPropertiesKHR;
5260
0
            break;
5261
5262
        // ---- VK_KHR_external_semaphore_capabilities extension commands
5263
0
        case 0xf80228b9u:
5264
0
            if (!strcmp(name, "GetPhysicalDeviceExternalSemaphorePropertiesKHR")) return (void *)table->GetPhysicalDeviceExternalSemaphorePropertiesKHR;
5265
0
            break;
5266
5267
        // ---- VK_KHR_external_fence_capabilities extension commands
5268
0
        case 0xd9b26448u:
5269
0
            if (!strcmp(name, "GetPhysicalDeviceExternalFencePropertiesKHR")) return (void *)table->GetPhysicalDeviceExternalFencePropertiesKHR;
5270
0
            break;
5271
5272
        // ---- VK_KHR_performance_query extension commands
5273
0
        case 0xdd2c038du:
5274
0
            if (!strcmp(name, "EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")) return (void *)table->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
5275
0
            break;
5276
0
        case 0x204022a7u:
5277
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")) return (void *)table->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
5278
0
            break;
5279
5280
        // ---- VK_KHR_get_surface_capabilities2 extension commands
5281
0
        case 0xfc0babdcu:
5282
0
            if (!strcmp(name, "GetPhysicalDeviceSurfaceCapabilities2KHR")) return (void *)table->GetPhysicalDeviceSurfaceCapabilities2KHR;
5283
0
            break;
5284
0
        case 0xbeb71818u:
5285
0
            if (!strcmp(name, "GetPhysicalDeviceSurfaceFormats2KHR")) return (void *)table->GetPhysicalDeviceSurfaceFormats2KHR;
5286
0
            break;
5287
5288
        // ---- VK_KHR_get_display_properties2 extension commands
5289
0
        case 0x6267683au:
5290
0
            if (!strcmp(name, "GetPhysicalDeviceDisplayProperties2KHR")) return (void *)table->GetPhysicalDeviceDisplayProperties2KHR;
5291
0
            break;
5292
0
        case 0x2693ff78u:
5293
0
            if (!strcmp(name, "GetPhysicalDeviceDisplayPlaneProperties2KHR")) return (void *)table->GetPhysicalDeviceDisplayPlaneProperties2KHR;
5294
0
            break;
5295
0
        case 0x91ff80e4u:
5296
0
            if (!strcmp(name, "GetDisplayModeProperties2KHR")) return (void *)table->GetDisplayModeProperties2KHR;
5297
0
            break;
5298
0
        case 0x2769b7b4u:
5299
0
            if (!strcmp(name, "GetDisplayPlaneCapabilities2KHR")) return (void *)table->GetDisplayPlaneCapabilities2KHR;
5300
0
            break;
5301
5302
        // ---- VK_KHR_fragment_shading_rate extension commands
5303
0
        case 0x5c375044u:
5304
0
            if (!strcmp(name, "GetPhysicalDeviceFragmentShadingRatesKHR")) return (void *)table->GetPhysicalDeviceFragmentShadingRatesKHR;
5305
0
            break;
5306
5307
        // ---- VK_KHR_video_encode_queue extension commands
5308
0
        case 0xdcdaba38u:
5309
0
            if (!strcmp(name, "GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR")) return (void *)table->GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR;
5310
0
            break;
5311
5312
        // ---- VK_KHR_cooperative_matrix extension commands
5313
0
        case 0x94f3aef6u:
5314
0
            if (!strcmp(name, "GetPhysicalDeviceCooperativeMatrixPropertiesKHR")) return (void *)table->GetPhysicalDeviceCooperativeMatrixPropertiesKHR;
5315
0
            break;
5316
5317
        // ---- VK_KHR_calibrated_timestamps extension commands
5318
0
        case 0x5e5a476cu:
5319
0
            if (!strcmp(name, "GetPhysicalDeviceCalibrateableTimeDomainsKHR")) return (void *)table->GetPhysicalDeviceCalibrateableTimeDomainsKHR;
5320
0
            break;
5321
5322
        // ---- VK_EXT_debug_report extension commands
5323
0
        case 0x7fe80d6cu:
5324
0
            if (!strcmp(name, "CreateDebugReportCallbackEXT")) return (void *)table->CreateDebugReportCallbackEXT;
5325
0
            break;
5326
0
        case 0xe7e9f7a4u:
5327
0
            if (!strcmp(name, "DestroyDebugReportCallbackEXT")) return (void *)table->DestroyDebugReportCallbackEXT;
5328
0
            break;
5329
0
        case 0x32b85520u:
5330
0
            if (!strcmp(name, "DebugReportMessageEXT")) return (void *)table->DebugReportMessageEXT;
5331
0
            break;
5332
5333
        // ---- VK_GGP_stream_descriptor_surface extension commands
5334
#if defined(VK_USE_PLATFORM_GGP)
5335
        case 0xc17c71d3u:
5336
            if (!strcmp(name, "CreateStreamDescriptorSurfaceGGP")) return (void *)table->CreateStreamDescriptorSurfaceGGP;
5337
            break;
5338
#endif // VK_USE_PLATFORM_GGP
5339
5340
        // ---- VK_NV_external_memory_capabilities extension commands
5341
0
        case 0x571bf196u:
5342
0
            if (!strcmp(name, "GetPhysicalDeviceExternalImageFormatPropertiesNV")) return (void *)table->GetPhysicalDeviceExternalImageFormatPropertiesNV;
5343
0
            break;
5344
5345
        // ---- VK_NN_vi_surface extension commands
5346
#if defined(VK_USE_PLATFORM_VI_NN)
5347
        case 0x863117bbu:
5348
            if (!strcmp(name, "CreateViSurfaceNN")) return (void *)table->CreateViSurfaceNN;
5349
            break;
5350
#endif // VK_USE_PLATFORM_VI_NN
5351
5352
        // ---- VK_EXT_direct_mode_display extension commands
5353
0
        case 0x8981a5c7u:
5354
0
            if (!strcmp(name, "ReleaseDisplayEXT")) return (void *)table->ReleaseDisplayEXT;
5355
0
            break;
5356
5357
        // ---- VK_EXT_acquire_xlib_display extension commands
5358
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
5359
0
        case 0xdcc13f05u:
5360
0
            if (!strcmp(name, "AcquireXlibDisplayEXT")) return (void *)table->AcquireXlibDisplayEXT;
5361
0
            break;
5362
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
5363
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
5364
0
        case 0x4a8e3892u:
5365
0
            if (!strcmp(name, "GetRandROutputDisplayEXT")) return (void *)table->GetRandROutputDisplayEXT;
5366
0
            break;
5367
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
5368
5369
        // ---- VK_EXT_display_surface_counter extension commands
5370
0
        case 0xd1bdfdd4u:
5371
0
            if (!strcmp(name, "GetPhysicalDeviceSurfaceCapabilities2EXT")) return (void *)table->GetPhysicalDeviceSurfaceCapabilities2EXT;
5372
0
            break;
5373
5374
        // ---- VK_MVK_ios_surface extension commands
5375
#if defined(VK_USE_PLATFORM_IOS_MVK)
5376
        case 0x179aa91bu:
5377
            if (!strcmp(name, "CreateIOSSurfaceMVK")) return (void *)table->CreateIOSSurfaceMVK;
5378
            break;
5379
#endif // VK_USE_PLATFORM_IOS_MVK
5380
5381
        // ---- VK_MVK_macos_surface extension commands
5382
#if defined(VK_USE_PLATFORM_MACOS_MVK)
5383
        case 0xf32ece1fu:
5384
            if (!strcmp(name, "CreateMacOSSurfaceMVK")) return (void *)table->CreateMacOSSurfaceMVK;
5385
            break;
5386
#endif // VK_USE_PLATFORM_MACOS_MVK
5387
5388
        // ---- VK_EXT_debug_utils extension commands
5389
0
        case 0xda987a67u:
5390
0
            if (!strcmp(name, "CreateDebugUtilsMessengerEXT")) return (void *)table->CreateDebugUtilsMessengerEXT;
5391
0
            break;
5392
0
        case 0xc22d235fu:
5393
0
            if (!strcmp(name, "DestroyDebugUtilsMessengerEXT")) return (void *)table->DestroyDebugUtilsMessengerEXT;
5394
0
            break;
5395
0
        case 0xa4e5a25fu:
5396
0
            if (!strcmp(name, "SubmitDebugUtilsMessageEXT")) return (void *)table->SubmitDebugUtilsMessageEXT;
5397
0
            break;
5398
5399
        // ---- VK_EXT_descriptor_heap extension commands
5400
0
        case 0x1f91e237u:
5401
0
            if (!strcmp(name, "GetPhysicalDeviceDescriptorSizeEXT")) return (void *)table->GetPhysicalDeviceDescriptorSizeEXT;
5402
0
            break;
5403
5404
        // ---- VK_EXT_sample_locations extension commands
5405
0
        case 0x91fd6da9u:
5406
0
            if (!strcmp(name, "GetPhysicalDeviceMultisamplePropertiesEXT")) return (void *)table->GetPhysicalDeviceMultisamplePropertiesEXT;
5407
0
            break;
5408
5409
        // ---- VK_EXT_calibrated_timestamps extension commands
5410
0
        case 0x73bbb944u:
5411
0
            if (!strcmp(name, "GetPhysicalDeviceCalibrateableTimeDomainsEXT")) return (void *)table->GetPhysicalDeviceCalibrateableTimeDomainsEXT;
5412
0
            break;
5413
5414
        // ---- VK_FUCHSIA_imagepipe_surface extension commands
5415
#if defined(VK_USE_PLATFORM_FUCHSIA)
5416
        case 0x0f39959au:
5417
            if (!strcmp(name, "CreateImagePipeSurfaceFUCHSIA")) return (void *)table->CreateImagePipeSurfaceFUCHSIA;
5418
            break;
5419
#endif // VK_USE_PLATFORM_FUCHSIA
5420
5421
        // ---- VK_EXT_metal_surface extension commands
5422
#if defined(VK_USE_PLATFORM_METAL_EXT)
5423
        case 0xfee7e802u:
5424
            if (!strcmp(name, "CreateMetalSurfaceEXT")) return (void *)table->CreateMetalSurfaceEXT;
5425
            break;
5426
#endif // VK_USE_PLATFORM_METAL_EXT
5427
5428
        // ---- VK_EXT_tooling_info extension commands
5429
0
        case 0x0c2f1fb6u:
5430
0
            if (!strcmp(name, "GetPhysicalDeviceToolPropertiesEXT")) return (void *)table->GetPhysicalDeviceToolPropertiesEXT;
5431
0
            break;
5432
5433
        // ---- VK_NV_cooperative_matrix extension commands
5434
0
        case 0x45f8c703u:
5435
0
            if (!strcmp(name, "GetPhysicalDeviceCooperativeMatrixPropertiesNV")) return (void *)table->GetPhysicalDeviceCooperativeMatrixPropertiesNV;
5436
0
            break;
5437
5438
        // ---- VK_NV_coverage_reduction_mode extension commands
5439
0
        case 0xa161da27u:
5440
0
            if (!strcmp(name, "GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")) return (void *)table->GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
5441
0
            break;
5442
5443
        // ---- VK_EXT_full_screen_exclusive extension commands
5444
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5445
        case 0x821a789bu:
5446
            if (!strcmp(name, "GetPhysicalDeviceSurfacePresentModes2EXT")) return (void *)table->GetPhysicalDeviceSurfacePresentModes2EXT;
5447
            break;
5448
#endif // VK_USE_PLATFORM_WIN32_KHR
5449
5450
        // ---- VK_EXT_headless_surface extension commands
5451
0
        case 0xd35abb2cu:
5452
0
            if (!strcmp(name, "CreateHeadlessSurfaceEXT")) return (void *)table->CreateHeadlessSurfaceEXT;
5453
0
            break;
5454
5455
        // ---- VK_EXT_acquire_drm_display extension commands
5456
0
        case 0xdc6a4ea5u:
5457
0
            if (!strcmp(name, "AcquireDrmDisplayEXT")) return (void *)table->AcquireDrmDisplayEXT;
5458
0
            break;
5459
0
        case 0x096b67f1u:
5460
0
            if (!strcmp(name, "GetDrmDisplayEXT")) return (void *)table->GetDrmDisplayEXT;
5461
0
            break;
5462
5463
        // ---- VK_NV_acquire_winrt_display extension commands
5464
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5465
        case 0xcef6a005u:
5466
            if (!strcmp(name, "AcquireWinrtDisplayNV")) return (void *)table->AcquireWinrtDisplayNV;
5467
            break;
5468
#endif // VK_USE_PLATFORM_WIN32_KHR
5469
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5470
        case 0xd5127861u:
5471
            if (!strcmp(name, "GetWinrtDisplayNV")) return (void *)table->GetWinrtDisplayNV;
5472
            break;
5473
#endif // VK_USE_PLATFORM_WIN32_KHR
5474
5475
        // ---- VK_EXT_directfb_surface extension commands
5476
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
5477
        case 0x765413dau:
5478
            if (!strcmp(name, "CreateDirectFBSurfaceEXT")) return (void *)table->CreateDirectFBSurfaceEXT;
5479
            break;
5480
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
5481
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
5482
        case 0x1cac816bu:
5483
            if (!strcmp(name, "GetPhysicalDeviceDirectFBPresentationSupportEXT")) return (void *)table->GetPhysicalDeviceDirectFBPresentationSupportEXT;
5484
            break;
5485
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
5486
5487
        // ---- VK_QNX_screen_surface extension commands
5488
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
5489
        case 0xaa83acfdu:
5490
            if (!strcmp(name, "CreateScreenSurfaceQNX")) return (void *)table->CreateScreenSurfaceQNX;
5491
            break;
5492
#endif // VK_USE_PLATFORM_SCREEN_QNX
5493
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
5494
        case 0xa23e7294u:
5495
            if (!strcmp(name, "GetPhysicalDeviceScreenPresentationSupportQNX")) return (void *)table->GetPhysicalDeviceScreenPresentationSupportQNX;
5496
            break;
5497
#endif // VK_USE_PLATFORM_SCREEN_QNX
5498
5499
        // ---- VK_ARM_tensors extension commands
5500
0
        case 0xa2eb3b67u:
5501
0
            if (!strcmp(name, "GetPhysicalDeviceExternalTensorPropertiesARM")) return (void *)table->GetPhysicalDeviceExternalTensorPropertiesARM;
5502
0
            break;
5503
5504
        // ---- VK_NV_optical_flow extension commands
5505
0
        case 0x8dc34c03u:
5506
0
            if (!strcmp(name, "GetPhysicalDeviceOpticalFlowImageFormatsNV")) return (void *)table->GetPhysicalDeviceOpticalFlowImageFormatsNV;
5507
0
            break;
5508
5509
        // ---- VK_NV_cooperative_vector extension commands
5510
0
        case 0xbfb812e5u:
5511
0
            if (!strcmp(name, "GetPhysicalDeviceCooperativeVectorPropertiesNV")) return (void *)table->GetPhysicalDeviceCooperativeVectorPropertiesNV;
5512
0
            break;
5513
5514
        // ---- VK_ARM_data_graph extension commands
5515
0
        case 0x638d0d92u:
5516
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM")) return (void *)table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM;
5517
0
            break;
5518
0
        case 0x30bf23ddu:
5519
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM")) return (void *)table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM;
5520
0
            break;
5521
5522
        // ---- VK_ARM_data_graph_instruction_set_tosa extension commands
5523
0
        case 0xe74f7ef1u:
5524
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM")) return (void *)table->GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM;
5525
0
            break;
5526
5527
        // ---- VK_OHOS_surface extension commands
5528
#if defined(VK_USE_PLATFORM_OHOS)
5529
        case 0x145c187du:
5530
            if (!strcmp(name, "CreateSurfaceOHOS")) return (void *)table->CreateSurfaceOHOS;
5531
            break;
5532
#endif // VK_USE_PLATFORM_OHOS
5533
5534
        // ---- VK_NV_cooperative_matrix2 extension commands
5535
0
        case 0xe31dbd89u:
5536
0
            if (!strcmp(name, "GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV")) return (void *)table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
5537
0
            break;
5538
5539
        // ---- VK_ARM_performance_counters_by_region extension commands
5540
0
        case 0xccac9981u:
5541
0
            if (!strcmp(name, "EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM")) return (void *)table->EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM;
5542
0
            break;
5543
5544
        // ---- VK_ARM_shader_instrumentation extension commands
5545
0
        case 0x4cf6e1fau:
5546
0
            if (!strcmp(name, "EnumeratePhysicalDeviceShaderInstrumentationMetricsARM")) return (void *)table->EnumeratePhysicalDeviceShaderInstrumentationMetricsARM;
5547
0
            break;
5548
5549
        // ---- VK_ARM_data_graph_optical_flow extension commands
5550
0
        case 0x225e663au:
5551
0
            if (!strcmp(name, "GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM")) return (void *)table->GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM;
5552
0
            break;
5553
5554
        // ---- VK_EXT_cooperative_matrix_maintenance1 extension commands
5555
0
        case 0xb3ca09aeu:
5556
0
            if (!strcmp(name, "GetPhysicalDeviceCooperativeMatrixProperties2EXT")) return (void *)table->GetPhysicalDeviceCooperativeMatrixProperties2EXT;
5557
0
            break;
5558
5559
        // ---- VK_SEC_ubm_surface extension commands
5560
#if defined(VK_USE_PLATFORM_UBM_SEC)
5561
        case 0xafb52745u:
5562
            if (!strcmp(name, "CreateUbmSurfaceSEC")) return (void *)table->CreateUbmSurfaceSEC;
5563
            break;
5564
#endif // VK_USE_PLATFORM_UBM_SEC
5565
#if defined(VK_USE_PLATFORM_UBM_SEC)
5566
        case 0x4654e43au:
5567
            if (!strcmp(name, "GetPhysicalDeviceUbmPresentationSupportSEC")) return (void *)table->GetPhysicalDeviceUbmPresentationSupportSEC;
5568
            break;
5569
#endif // VK_USE_PLATFORM_UBM_SEC
5570
0
        default:
5571
0
            break;
5572
0
    }
5573
5574
0
    *found_name = false;
5575
0
    return NULL;
5576
0
}
5577
5578
5579
// ---- VK_KHR_video_queue extension trampoline/terminators
5580
5581
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoCapabilitiesKHR(
5582
    VkPhysicalDevice                            physicalDevice,
5583
    const VkVideoProfileInfoKHR*                pVideoProfile,
5584
0
    VkVideoCapabilitiesKHR*                     pCapabilities) {
5585
0
    const VkLayerInstanceDispatchTable *disp;
5586
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
5587
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
5588
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5589
0
                   "vkGetPhysicalDeviceVideoCapabilitiesKHR: Invalid physicalDevice "
5590
0
                   "[VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-physicalDevice-parameter]");
5591
0
        abort(); /* Intentionally fail so user can correct issue. */
5592
0
    }
5593
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
5594
0
    return disp->GetPhysicalDeviceVideoCapabilitiesKHR(unwrapped_phys_dev, pVideoProfile, pCapabilities);
5595
0
}
5596
5597
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceVideoCapabilitiesKHR(
5598
    VkPhysicalDevice                            physicalDevice,
5599
    const VkVideoProfileInfoKHR*                pVideoProfile,
5600
0
    VkVideoCapabilitiesKHR*                     pCapabilities) {
5601
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
5602
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
5603
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceVideoCapabilitiesKHR) {
5604
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
5605
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceVideoCapabilitiesKHR");
5606
0
        abort(); /* Intentionally fail so user can correct issue. */
5607
0
    }
5608
0
    return icd_term->dispatch.GetPhysicalDeviceVideoCapabilitiesKHR(phys_dev_term->phys_dev, pVideoProfile, pCapabilities);
5609
0
}
5610
5611
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoFormatPropertiesKHR(
5612
    VkPhysicalDevice                            physicalDevice,
5613
    const VkPhysicalDeviceVideoFormatInfoKHR*   pVideoFormatInfo,
5614
    uint32_t*                                   pVideoFormatPropertyCount,
5615
0
    VkVideoFormatPropertiesKHR*                 pVideoFormatProperties) {
5616
0
    const VkLayerInstanceDispatchTable *disp;
5617
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
5618
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
5619
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5620
0
                   "vkGetPhysicalDeviceVideoFormatPropertiesKHR: Invalid physicalDevice "
5621
0
                   "[VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-physicalDevice-parameter]");
5622
0
        abort(); /* Intentionally fail so user can correct issue. */
5623
0
    }
5624
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
5625
0
    return disp->GetPhysicalDeviceVideoFormatPropertiesKHR(unwrapped_phys_dev, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties);
5626
0
}
5627
5628
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceVideoFormatPropertiesKHR(
5629
    VkPhysicalDevice                            physicalDevice,
5630
    const VkPhysicalDeviceVideoFormatInfoKHR*   pVideoFormatInfo,
5631
    uint32_t*                                   pVideoFormatPropertyCount,
5632
0
    VkVideoFormatPropertiesKHR*                 pVideoFormatProperties) {
5633
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
5634
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
5635
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceVideoFormatPropertiesKHR) {
5636
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
5637
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceVideoFormatPropertiesKHR");
5638
0
        abort(); /* Intentionally fail so user can correct issue. */
5639
0
    }
5640
0
    return icd_term->dispatch.GetPhysicalDeviceVideoFormatPropertiesKHR(phys_dev_term->phys_dev, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties);
5641
0
}
5642
5643
VKAPI_ATTR VkResult VKAPI_CALL CreateVideoSessionKHR(
5644
    VkDevice                                    device,
5645
    const VkVideoSessionCreateInfoKHR*          pCreateInfo,
5646
    const VkAllocationCallbacks*                pAllocator,
5647
0
    VkVideoSessionKHR*                          pVideoSession) {
5648
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5649
0
    if (NULL == disp) {
5650
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5651
0
                   "vkCreateVideoSessionKHR: Invalid device "
5652
0
                   "[VUID-vkCreateVideoSessionKHR-device-parameter]");
5653
0
        abort(); /* Intentionally fail so user can correct issue. */
5654
0
    }
5655
0
    return disp->CreateVideoSessionKHR(device, pCreateInfo, pAllocator, pVideoSession);
5656
0
}
5657
5658
VKAPI_ATTR void VKAPI_CALL DestroyVideoSessionKHR(
5659
    VkDevice                                    device,
5660
    VkVideoSessionKHR                           videoSession,
5661
0
    const VkAllocationCallbacks*                pAllocator) {
5662
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5663
0
    if (NULL == disp) {
5664
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5665
0
                   "vkDestroyVideoSessionKHR: Invalid device "
5666
0
                   "[VUID-vkDestroyVideoSessionKHR-device-parameter]");
5667
0
        abort(); /* Intentionally fail so user can correct issue. */
5668
0
    }
5669
0
    disp->DestroyVideoSessionKHR(device, videoSession, pAllocator);
5670
0
}
5671
5672
VKAPI_ATTR VkResult VKAPI_CALL GetVideoSessionMemoryRequirementsKHR(
5673
    VkDevice                                    device,
5674
    VkVideoSessionKHR                           videoSession,
5675
    uint32_t*                                   pMemoryRequirementsCount,
5676
0
    VkVideoSessionMemoryRequirementsKHR*        pMemoryRequirements) {
5677
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5678
0
    if (NULL == disp) {
5679
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5680
0
                   "vkGetVideoSessionMemoryRequirementsKHR: Invalid device "
5681
0
                   "[VUID-vkGetVideoSessionMemoryRequirementsKHR-device-parameter]");
5682
0
        abort(); /* Intentionally fail so user can correct issue. */
5683
0
    }
5684
0
    return disp->GetVideoSessionMemoryRequirementsKHR(device, videoSession, pMemoryRequirementsCount, pMemoryRequirements);
5685
0
}
5686
5687
VKAPI_ATTR VkResult VKAPI_CALL BindVideoSessionMemoryKHR(
5688
    VkDevice                                    device,
5689
    VkVideoSessionKHR                           videoSession,
5690
    uint32_t                                    bindSessionMemoryInfoCount,
5691
0
    const VkBindVideoSessionMemoryInfoKHR*      pBindSessionMemoryInfos) {
5692
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5693
0
    if (NULL == disp) {
5694
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5695
0
                   "vkBindVideoSessionMemoryKHR: Invalid device "
5696
0
                   "[VUID-vkBindVideoSessionMemoryKHR-device-parameter]");
5697
0
        abort(); /* Intentionally fail so user can correct issue. */
5698
0
    }
5699
0
    return disp->BindVideoSessionMemoryKHR(device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos);
5700
0
}
5701
5702
VKAPI_ATTR VkResult VKAPI_CALL CreateVideoSessionParametersKHR(
5703
    VkDevice                                    device,
5704
    const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
5705
    const VkAllocationCallbacks*                pAllocator,
5706
0
    VkVideoSessionParametersKHR*                pVideoSessionParameters) {
5707
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5708
0
    if (NULL == disp) {
5709
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5710
0
                   "vkCreateVideoSessionParametersKHR: Invalid device "
5711
0
                   "[VUID-vkCreateVideoSessionParametersKHR-device-parameter]");
5712
0
        abort(); /* Intentionally fail so user can correct issue. */
5713
0
    }
5714
0
    return disp->CreateVideoSessionParametersKHR(device, pCreateInfo, pAllocator, pVideoSessionParameters);
5715
0
}
5716
5717
VKAPI_ATTR VkResult VKAPI_CALL UpdateVideoSessionParametersKHR(
5718
    VkDevice                                    device,
5719
    VkVideoSessionParametersKHR                 videoSessionParameters,
5720
0
    const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) {
5721
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5722
0
    if (NULL == disp) {
5723
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5724
0
                   "vkUpdateVideoSessionParametersKHR: Invalid device "
5725
0
                   "[VUID-vkUpdateVideoSessionParametersKHR-device-parameter]");
5726
0
        abort(); /* Intentionally fail so user can correct issue. */
5727
0
    }
5728
0
    return disp->UpdateVideoSessionParametersKHR(device, videoSessionParameters, pUpdateInfo);
5729
0
}
5730
5731
VKAPI_ATTR void VKAPI_CALL DestroyVideoSessionParametersKHR(
5732
    VkDevice                                    device,
5733
    VkVideoSessionParametersKHR                 videoSessionParameters,
5734
0
    const VkAllocationCallbacks*                pAllocator) {
5735
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5736
0
    if (NULL == disp) {
5737
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5738
0
                   "vkDestroyVideoSessionParametersKHR: Invalid device "
5739
0
                   "[VUID-vkDestroyVideoSessionParametersKHR-device-parameter]");
5740
0
        abort(); /* Intentionally fail so user can correct issue. */
5741
0
    }
5742
0
    disp->DestroyVideoSessionParametersKHR(device, videoSessionParameters, pAllocator);
5743
0
}
5744
5745
VKAPI_ATTR void VKAPI_CALL CmdBeginVideoCodingKHR(
5746
    VkCommandBuffer                             commandBuffer,
5747
0
    const VkVideoBeginCodingInfoKHR*            pBeginInfo) {
5748
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5749
0
    if (NULL == disp) {
5750
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5751
0
                   "vkCmdBeginVideoCodingKHR: Invalid commandBuffer "
5752
0
                   "[VUID-vkCmdBeginVideoCodingKHR-commandBuffer-parameter]");
5753
0
        abort(); /* Intentionally fail so user can correct issue. */
5754
0
    }
5755
0
    disp->CmdBeginVideoCodingKHR(commandBuffer, pBeginInfo);
5756
0
}
5757
5758
VKAPI_ATTR void VKAPI_CALL CmdEndVideoCodingKHR(
5759
    VkCommandBuffer                             commandBuffer,
5760
0
    const VkVideoEndCodingInfoKHR*              pEndCodingInfo) {
5761
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5762
0
    if (NULL == disp) {
5763
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5764
0
                   "vkCmdEndVideoCodingKHR: Invalid commandBuffer "
5765
0
                   "[VUID-vkCmdEndVideoCodingKHR-commandBuffer-parameter]");
5766
0
        abort(); /* Intentionally fail so user can correct issue. */
5767
0
    }
5768
0
    disp->CmdEndVideoCodingKHR(commandBuffer, pEndCodingInfo);
5769
0
}
5770
5771
VKAPI_ATTR void VKAPI_CALL CmdControlVideoCodingKHR(
5772
    VkCommandBuffer                             commandBuffer,
5773
0
    const VkVideoCodingControlInfoKHR*          pCodingControlInfo) {
5774
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5775
0
    if (NULL == disp) {
5776
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5777
0
                   "vkCmdControlVideoCodingKHR: Invalid commandBuffer "
5778
0
                   "[VUID-vkCmdControlVideoCodingKHR-commandBuffer-parameter]");
5779
0
        abort(); /* Intentionally fail so user can correct issue. */
5780
0
    }
5781
0
    disp->CmdControlVideoCodingKHR(commandBuffer, pCodingControlInfo);
5782
0
}
5783
5784
5785
// ---- VK_KHR_video_decode_queue extension trampoline/terminators
5786
5787
VKAPI_ATTR void VKAPI_CALL CmdDecodeVideoKHR(
5788
    VkCommandBuffer                             commandBuffer,
5789
0
    const VkVideoDecodeInfoKHR*                 pDecodeInfo) {
5790
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5791
0
    if (NULL == disp) {
5792
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5793
0
                   "vkCmdDecodeVideoKHR: Invalid commandBuffer "
5794
0
                   "[VUID-vkCmdDecodeVideoKHR-commandBuffer-parameter]");
5795
0
        abort(); /* Intentionally fail so user can correct issue. */
5796
0
    }
5797
0
    disp->CmdDecodeVideoKHR(commandBuffer, pDecodeInfo);
5798
0
}
5799
5800
5801
// ---- VK_KHR_dynamic_rendering extension trampoline/terminators
5802
5803
VKAPI_ATTR void VKAPI_CALL CmdBeginRenderingKHR(
5804
    VkCommandBuffer                             commandBuffer,
5805
0
    const VkRenderingInfo*                      pRenderingInfo) {
5806
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5807
0
    if (NULL == disp) {
5808
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5809
0
                   "vkCmdBeginRenderingKHR: Invalid commandBuffer "
5810
0
                   "[VUID-vkCmdBeginRenderingKHR-commandBuffer-parameter]");
5811
0
        abort(); /* Intentionally fail so user can correct issue. */
5812
0
    }
5813
0
    disp->CmdBeginRenderingKHR(commandBuffer, pRenderingInfo);
5814
0
}
5815
5816
VKAPI_ATTR void VKAPI_CALL CmdEndRenderingKHR(
5817
0
    VkCommandBuffer                             commandBuffer) {
5818
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5819
0
    if (NULL == disp) {
5820
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5821
0
                   "vkCmdEndRenderingKHR: Invalid commandBuffer "
5822
0
                   "[VUID-vkCmdEndRenderingKHR-commandBuffer-parameter]");
5823
0
        abort(); /* Intentionally fail so user can correct issue. */
5824
0
    }
5825
0
    disp->CmdEndRenderingKHR(commandBuffer);
5826
0
}
5827
5828
5829
// ---- VK_KHR_device_group extension trampoline/terminators
5830
5831
VKAPI_ATTR void VKAPI_CALL GetDeviceGroupPeerMemoryFeaturesKHR(
5832
    VkDevice                                    device,
5833
    uint32_t                                    heapIndex,
5834
    uint32_t                                    localDeviceIndex,
5835
    uint32_t                                    remoteDeviceIndex,
5836
0
    VkPeerMemoryFeatureFlags*                   pPeerMemoryFeatures) {
5837
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5838
0
    if (NULL == disp) {
5839
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5840
0
                   "vkGetDeviceGroupPeerMemoryFeaturesKHR: Invalid device "
5841
0
                   "[VUID-vkGetDeviceGroupPeerMemoryFeaturesKHR-device-parameter]");
5842
0
        abort(); /* Intentionally fail so user can correct issue. */
5843
0
    }
5844
0
    disp->GetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
5845
0
}
5846
5847
VKAPI_ATTR void VKAPI_CALL CmdSetDeviceMaskKHR(
5848
    VkCommandBuffer                             commandBuffer,
5849
0
    uint32_t                                    deviceMask) {
5850
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5851
0
    if (NULL == disp) {
5852
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5853
0
                   "vkCmdSetDeviceMaskKHR: Invalid commandBuffer "
5854
0
                   "[VUID-vkCmdSetDeviceMaskKHR-commandBuffer-parameter]");
5855
0
        abort(); /* Intentionally fail so user can correct issue. */
5856
0
    }
5857
0
    disp->CmdSetDeviceMaskKHR(commandBuffer, deviceMask);
5858
0
}
5859
5860
VKAPI_ATTR void VKAPI_CALL CmdDispatchBaseKHR(
5861
    VkCommandBuffer                             commandBuffer,
5862
    uint32_t                                    baseGroupX,
5863
    uint32_t                                    baseGroupY,
5864
    uint32_t                                    baseGroupZ,
5865
    uint32_t                                    groupCountX,
5866
    uint32_t                                    groupCountY,
5867
0
    uint32_t                                    groupCountZ) {
5868
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
5869
0
    if (NULL == disp) {
5870
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5871
0
                   "vkCmdDispatchBaseKHR: Invalid commandBuffer "
5872
0
                   "[VUID-vkCmdDispatchBaseKHR-commandBuffer-parameter]");
5873
0
        abort(); /* Intentionally fail so user can correct issue. */
5874
0
    }
5875
0
    disp->CmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
5876
0
}
5877
5878
5879
// ---- VK_KHR_maintenance1 extension trampoline/terminators
5880
5881
VKAPI_ATTR void VKAPI_CALL TrimCommandPoolKHR(
5882
    VkDevice                                    device,
5883
    VkCommandPool                               commandPool,
5884
0
    VkCommandPoolTrimFlags                      flags) {
5885
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5886
0
    if (NULL == disp) {
5887
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5888
0
                   "vkTrimCommandPoolKHR: Invalid device "
5889
0
                   "[VUID-vkTrimCommandPoolKHR-device-parameter]");
5890
0
        abort(); /* Intentionally fail so user can correct issue. */
5891
0
    }
5892
0
    disp->TrimCommandPoolKHR(device, commandPool, flags);
5893
0
}
5894
5895
5896
// ---- VK_KHR_external_memory_win32 extension trampoline/terminators
5897
5898
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5899
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleKHR(
5900
    VkDevice                                    device,
5901
    const VkMemoryGetWin32HandleInfoKHR*        pGetWin32HandleInfo,
5902
    HANDLE*                                     pHandle) {
5903
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5904
    if (NULL == disp) {
5905
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5906
                   "vkGetMemoryWin32HandleKHR: Invalid device "
5907
                   "[VUID-vkGetMemoryWin32HandleKHR-device-parameter]");
5908
        abort(); /* Intentionally fail so user can correct issue. */
5909
    }
5910
    return disp->GetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
5911
}
5912
5913
#endif // VK_USE_PLATFORM_WIN32_KHR
5914
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5915
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandlePropertiesKHR(
5916
    VkDevice                                    device,
5917
    VkExternalMemoryHandleTypeFlagBits          handleType,
5918
    HANDLE                                      handle,
5919
    VkMemoryWin32HandlePropertiesKHR*           pMemoryWin32HandleProperties) {
5920
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5921
    if (NULL == disp) {
5922
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5923
                   "vkGetMemoryWin32HandlePropertiesKHR: Invalid device "
5924
                   "[VUID-vkGetMemoryWin32HandlePropertiesKHR-device-parameter]");
5925
        abort(); /* Intentionally fail so user can correct issue. */
5926
    }
5927
    return disp->GetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
5928
}
5929
5930
#endif // VK_USE_PLATFORM_WIN32_KHR
5931
5932
// ---- VK_KHR_external_memory_fd extension trampoline/terminators
5933
5934
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdKHR(
5935
    VkDevice                                    device,
5936
    const VkMemoryGetFdInfoKHR*                 pGetFdInfo,
5937
0
    int*                                        pFd) {
5938
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5939
0
    if (NULL == disp) {
5940
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5941
0
                   "vkGetMemoryFdKHR: Invalid device "
5942
0
                   "[VUID-vkGetMemoryFdKHR-device-parameter]");
5943
0
        abort(); /* Intentionally fail so user can correct issue. */
5944
0
    }
5945
0
    return disp->GetMemoryFdKHR(device, pGetFdInfo, pFd);
5946
0
}
5947
5948
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryFdPropertiesKHR(
5949
    VkDevice                                    device,
5950
    VkExternalMemoryHandleTypeFlagBits          handleType,
5951
    int                                         fd,
5952
0
    VkMemoryFdPropertiesKHR*                    pMemoryFdProperties) {
5953
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5954
0
    if (NULL == disp) {
5955
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5956
0
                   "vkGetMemoryFdPropertiesKHR: Invalid device "
5957
0
                   "[VUID-vkGetMemoryFdPropertiesKHR-device-parameter]");
5958
0
        abort(); /* Intentionally fail so user can correct issue. */
5959
0
    }
5960
0
    return disp->GetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
5961
0
}
5962
5963
5964
// ---- VK_KHR_external_semaphore_win32 extension trampoline/terminators
5965
5966
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5967
VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreWin32HandleKHR(
5968
    VkDevice                                    device,
5969
    const VkImportSemaphoreWin32HandleInfoKHR*  pImportSemaphoreWin32HandleInfo) {
5970
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5971
    if (NULL == disp) {
5972
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5973
                   "vkImportSemaphoreWin32HandleKHR: Invalid device "
5974
                   "[VUID-vkImportSemaphoreWin32HandleKHR-device-parameter]");
5975
        abort(); /* Intentionally fail so user can correct issue. */
5976
    }
5977
    return disp->ImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
5978
}
5979
5980
#endif // VK_USE_PLATFORM_WIN32_KHR
5981
#if defined(VK_USE_PLATFORM_WIN32_KHR)
5982
VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreWin32HandleKHR(
5983
    VkDevice                                    device,
5984
    const VkSemaphoreGetWin32HandleInfoKHR*     pGetWin32HandleInfo,
5985
    HANDLE*                                     pHandle) {
5986
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
5987
    if (NULL == disp) {
5988
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
5989
                   "vkGetSemaphoreWin32HandleKHR: Invalid device "
5990
                   "[VUID-vkGetSemaphoreWin32HandleKHR-device-parameter]");
5991
        abort(); /* Intentionally fail so user can correct issue. */
5992
    }
5993
    return disp->GetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
5994
}
5995
5996
#endif // VK_USE_PLATFORM_WIN32_KHR
5997
5998
// ---- VK_KHR_external_semaphore_fd extension trampoline/terminators
5999
6000
VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreFdKHR(
6001
    VkDevice                                    device,
6002
0
    const VkImportSemaphoreFdInfoKHR*           pImportSemaphoreFdInfo) {
6003
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6004
0
    if (NULL == disp) {
6005
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6006
0
                   "vkImportSemaphoreFdKHR: Invalid device "
6007
0
                   "[VUID-vkImportSemaphoreFdKHR-device-parameter]");
6008
0
        abort(); /* Intentionally fail so user can correct issue. */
6009
0
    }
6010
0
    return disp->ImportSemaphoreFdKHR(device, pImportSemaphoreFdInfo);
6011
0
}
6012
6013
VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreFdKHR(
6014
    VkDevice                                    device,
6015
    const VkSemaphoreGetFdInfoKHR*              pGetFdInfo,
6016
0
    int*                                        pFd) {
6017
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6018
0
    if (NULL == disp) {
6019
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6020
0
                   "vkGetSemaphoreFdKHR: Invalid device "
6021
0
                   "[VUID-vkGetSemaphoreFdKHR-device-parameter]");
6022
0
        abort(); /* Intentionally fail so user can correct issue. */
6023
0
    }
6024
0
    return disp->GetSemaphoreFdKHR(device, pGetFdInfo, pFd);
6025
0
}
6026
6027
6028
// ---- VK_KHR_push_descriptor extension trampoline/terminators
6029
6030
VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetKHR(
6031
    VkCommandBuffer                             commandBuffer,
6032
    VkPipelineBindPoint                         pipelineBindPoint,
6033
    VkPipelineLayout                            layout,
6034
    uint32_t                                    set,
6035
    uint32_t                                    descriptorWriteCount,
6036
0
    const VkWriteDescriptorSet*                 pDescriptorWrites) {
6037
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6038
0
    if (NULL == disp) {
6039
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6040
0
                   "vkCmdPushDescriptorSetKHR: Invalid commandBuffer "
6041
0
                   "[VUID-vkCmdPushDescriptorSetKHR-commandBuffer-parameter]");
6042
0
        abort(); /* Intentionally fail so user can correct issue. */
6043
0
    }
6044
0
    disp->CmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
6045
0
}
6046
6047
VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplateKHR(
6048
    VkCommandBuffer                             commandBuffer,
6049
    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,
6050
    VkPipelineLayout                            layout,
6051
    uint32_t                                    set,
6052
0
    const void*                                 pData) {
6053
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6054
0
    if (NULL == disp) {
6055
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6056
0
                   "vkCmdPushDescriptorSetWithTemplateKHR: Invalid commandBuffer "
6057
0
                   "[VUID-vkCmdPushDescriptorSetWithTemplateKHR-commandBuffer-parameter]");
6058
0
        abort(); /* Intentionally fail so user can correct issue. */
6059
0
    }
6060
0
    disp->CmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
6061
0
}
6062
6063
6064
// ---- VK_KHR_descriptor_update_template extension trampoline/terminators
6065
6066
VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorUpdateTemplateKHR(
6067
    VkDevice                                    device,
6068
    const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6069
    const VkAllocationCallbacks*                pAllocator,
6070
0
    VkDescriptorUpdateTemplate*                 pDescriptorUpdateTemplate) {
6071
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6072
0
    if (NULL == disp) {
6073
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6074
0
                   "vkCreateDescriptorUpdateTemplateKHR: Invalid device "
6075
0
                   "[VUID-vkCreateDescriptorUpdateTemplateKHR-device-parameter]");
6076
0
        abort(); /* Intentionally fail so user can correct issue. */
6077
0
    }
6078
0
    return disp->CreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
6079
0
}
6080
6081
VKAPI_ATTR void VKAPI_CALL DestroyDescriptorUpdateTemplateKHR(
6082
    VkDevice                                    device,
6083
    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,
6084
0
    const VkAllocationCallbacks*                pAllocator) {
6085
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6086
0
    if (NULL == disp) {
6087
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6088
0
                   "vkDestroyDescriptorUpdateTemplateKHR: Invalid device "
6089
0
                   "[VUID-vkDestroyDescriptorUpdateTemplateKHR-device-parameter]");
6090
0
        abort(); /* Intentionally fail so user can correct issue. */
6091
0
    }
6092
0
    disp->DestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
6093
0
}
6094
6095
VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSetWithTemplateKHR(
6096
    VkDevice                                    device,
6097
    VkDescriptorSet                             descriptorSet,
6098
    VkDescriptorUpdateTemplate                  descriptorUpdateTemplate,
6099
0
    const void*                                 pData) {
6100
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6101
0
    if (NULL == disp) {
6102
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6103
0
                   "vkUpdateDescriptorSetWithTemplateKHR: Invalid device "
6104
0
                   "[VUID-vkUpdateDescriptorSetWithTemplateKHR-device-parameter]");
6105
0
        abort(); /* Intentionally fail so user can correct issue. */
6106
0
    }
6107
0
    disp->UpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
6108
0
}
6109
6110
6111
// ---- VK_KHR_create_renderpass2 extension trampoline/terminators
6112
6113
VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass2KHR(
6114
    VkDevice                                    device,
6115
    const VkRenderPassCreateInfo2*              pCreateInfo,
6116
    const VkAllocationCallbacks*                pAllocator,
6117
0
    VkRenderPass*                               pRenderPass) {
6118
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6119
0
    if (NULL == disp) {
6120
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6121
0
                   "vkCreateRenderPass2KHR: Invalid device "
6122
0
                   "[VUID-vkCreateRenderPass2KHR-device-parameter]");
6123
0
        abort(); /* Intentionally fail so user can correct issue. */
6124
0
    }
6125
0
    return disp->CreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
6126
0
}
6127
6128
VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass2KHR(
6129
    VkCommandBuffer                             commandBuffer,
6130
    const VkRenderPassBeginInfo*                pRenderPassBegin,
6131
0
    const VkSubpassBeginInfo*                   pSubpassBeginInfo) {
6132
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6133
0
    if (NULL == disp) {
6134
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6135
0
                   "vkCmdBeginRenderPass2KHR: Invalid commandBuffer "
6136
0
                   "[VUID-vkCmdBeginRenderPass2KHR-commandBuffer-parameter]");
6137
0
        abort(); /* Intentionally fail so user can correct issue. */
6138
0
    }
6139
0
    disp->CmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
6140
0
}
6141
6142
VKAPI_ATTR void VKAPI_CALL CmdNextSubpass2KHR(
6143
    VkCommandBuffer                             commandBuffer,
6144
    const VkSubpassBeginInfo*                   pSubpassBeginInfo,
6145
0
    const VkSubpassEndInfo*                     pSubpassEndInfo) {
6146
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6147
0
    if (NULL == disp) {
6148
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6149
0
                   "vkCmdNextSubpass2KHR: Invalid commandBuffer "
6150
0
                   "[VUID-vkCmdNextSubpass2KHR-commandBuffer-parameter]");
6151
0
        abort(); /* Intentionally fail so user can correct issue. */
6152
0
    }
6153
0
    disp->CmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
6154
0
}
6155
6156
VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass2KHR(
6157
    VkCommandBuffer                             commandBuffer,
6158
0
    const VkSubpassEndInfo*                     pSubpassEndInfo) {
6159
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6160
0
    if (NULL == disp) {
6161
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6162
0
                   "vkCmdEndRenderPass2KHR: Invalid commandBuffer "
6163
0
                   "[VUID-vkCmdEndRenderPass2KHR-commandBuffer-parameter]");
6164
0
        abort(); /* Intentionally fail so user can correct issue. */
6165
0
    }
6166
0
    disp->CmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);
6167
0
}
6168
6169
6170
// ---- VK_KHR_shared_presentable_image extension trampoline/terminators
6171
6172
VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainStatusKHR(
6173
    VkDevice                                    device,
6174
0
    VkSwapchainKHR                              swapchain) {
6175
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6176
0
    if (NULL == disp) {
6177
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6178
0
                   "vkGetSwapchainStatusKHR: Invalid device "
6179
0
                   "[VUID-vkGetSwapchainStatusKHR-device-parameter]");
6180
0
        abort(); /* Intentionally fail so user can correct issue. */
6181
0
    }
6182
0
    return disp->GetSwapchainStatusKHR(device, swapchain);
6183
0
}
6184
6185
6186
// ---- VK_KHR_external_fence_win32 extension trampoline/terminators
6187
6188
#if defined(VK_USE_PLATFORM_WIN32_KHR)
6189
VKAPI_ATTR VkResult VKAPI_CALL ImportFenceWin32HandleKHR(
6190
    VkDevice                                    device,
6191
    const VkImportFenceWin32HandleInfoKHR*      pImportFenceWin32HandleInfo) {
6192
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6193
    if (NULL == disp) {
6194
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6195
                   "vkImportFenceWin32HandleKHR: Invalid device "
6196
                   "[VUID-vkImportFenceWin32HandleKHR-device-parameter]");
6197
        abort(); /* Intentionally fail so user can correct issue. */
6198
    }
6199
    return disp->ImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
6200
}
6201
6202
#endif // VK_USE_PLATFORM_WIN32_KHR
6203
#if defined(VK_USE_PLATFORM_WIN32_KHR)
6204
VKAPI_ATTR VkResult VKAPI_CALL GetFenceWin32HandleKHR(
6205
    VkDevice                                    device,
6206
    const VkFenceGetWin32HandleInfoKHR*         pGetWin32HandleInfo,
6207
    HANDLE*                                     pHandle) {
6208
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6209
    if (NULL == disp) {
6210
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6211
                   "vkGetFenceWin32HandleKHR: Invalid device "
6212
                   "[VUID-vkGetFenceWin32HandleKHR-device-parameter]");
6213
        abort(); /* Intentionally fail so user can correct issue. */
6214
    }
6215
    return disp->GetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
6216
}
6217
6218
#endif // VK_USE_PLATFORM_WIN32_KHR
6219
6220
// ---- VK_KHR_external_fence_fd extension trampoline/terminators
6221
6222
VKAPI_ATTR VkResult VKAPI_CALL ImportFenceFdKHR(
6223
    VkDevice                                    device,
6224
0
    const VkImportFenceFdInfoKHR*               pImportFenceFdInfo) {
6225
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6226
0
    if (NULL == disp) {
6227
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6228
0
                   "vkImportFenceFdKHR: Invalid device "
6229
0
                   "[VUID-vkImportFenceFdKHR-device-parameter]");
6230
0
        abort(); /* Intentionally fail so user can correct issue. */
6231
0
    }
6232
0
    return disp->ImportFenceFdKHR(device, pImportFenceFdInfo);
6233
0
}
6234
6235
VKAPI_ATTR VkResult VKAPI_CALL GetFenceFdKHR(
6236
    VkDevice                                    device,
6237
    const VkFenceGetFdInfoKHR*                  pGetFdInfo,
6238
0
    int*                                        pFd) {
6239
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6240
0
    if (NULL == disp) {
6241
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6242
0
                   "vkGetFenceFdKHR: Invalid device "
6243
0
                   "[VUID-vkGetFenceFdKHR-device-parameter]");
6244
0
        abort(); /* Intentionally fail so user can correct issue. */
6245
0
    }
6246
0
    return disp->GetFenceFdKHR(device, pGetFdInfo, pFd);
6247
0
}
6248
6249
6250
// ---- VK_KHR_performance_query extension trampoline/terminators
6251
6252
VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6253
    VkPhysicalDevice                            physicalDevice,
6254
    uint32_t                                    queueFamilyIndex,
6255
    uint32_t*                                   pCounterCount,
6256
    VkPerformanceCounterKHR*                    pCounters,
6257
0
    VkPerformanceCounterDescriptionKHR*         pCounterDescriptions) {
6258
0
    const VkLayerInstanceDispatchTable *disp;
6259
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
6260
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
6261
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6262
0
                   "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR: Invalid physicalDevice "
6263
0
                   "[VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR-physicalDevice-parameter]");
6264
0
        abort(); /* Intentionally fail so user can correct issue. */
6265
0
    }
6266
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
6267
0
    return disp->EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(unwrapped_phys_dev, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
6268
0
}
6269
6270
VKAPI_ATTR VkResult VKAPI_CALL terminator_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
6271
    VkPhysicalDevice                            physicalDevice,
6272
    uint32_t                                    queueFamilyIndex,
6273
    uint32_t*                                   pCounterCount,
6274
    VkPerformanceCounterKHR*                    pCounters,
6275
0
    VkPerformanceCounterDescriptionKHR*         pCounterDescriptions) {
6276
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
6277
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
6278
0
    if (NULL == icd_term->dispatch.EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR) {
6279
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
6280
0
                   "ICD associated with VkPhysicalDevice does not support EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
6281
0
        abort(); /* Intentionally fail so user can correct issue. */
6282
0
    }
6283
0
    return icd_term->dispatch.EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(phys_dev_term->phys_dev, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
6284
0
}
6285
6286
VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6287
    VkPhysicalDevice                            physicalDevice,
6288
    const VkQueryPoolPerformanceCreateInfoKHR*  pPerformanceQueryCreateInfo,
6289
0
    uint32_t*                                   pNumPasses) {
6290
0
    const VkLayerInstanceDispatchTable *disp;
6291
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
6292
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
6293
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6294
0
                   "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: Invalid physicalDevice "
6295
0
                   "[VUID-vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR-physicalDevice-parameter]");
6296
0
        abort(); /* Intentionally fail so user can correct issue. */
6297
0
    }
6298
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
6299
0
    disp->GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(unwrapped_phys_dev, pPerformanceQueryCreateInfo, pNumPasses);
6300
0
}
6301
6302
VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
6303
    VkPhysicalDevice                            physicalDevice,
6304
    const VkQueryPoolPerformanceCreateInfoKHR*  pPerformanceQueryCreateInfo,
6305
0
    uint32_t*                                   pNumPasses) {
6306
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
6307
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
6308
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR) {
6309
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
6310
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
6311
0
        abort(); /* Intentionally fail so user can correct issue. */
6312
0
    }
6313
0
    icd_term->dispatch.GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(phys_dev_term->phys_dev, pPerformanceQueryCreateInfo, pNumPasses);
6314
0
}
6315
6316
VKAPI_ATTR VkResult VKAPI_CALL AcquireProfilingLockKHR(
6317
    VkDevice                                    device,
6318
0
    const VkAcquireProfilingLockInfoKHR*        pInfo) {
6319
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6320
0
    if (NULL == disp) {
6321
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6322
0
                   "vkAcquireProfilingLockKHR: Invalid device "
6323
0
                   "[VUID-vkAcquireProfilingLockKHR-device-parameter]");
6324
0
        abort(); /* Intentionally fail so user can correct issue. */
6325
0
    }
6326
0
    return disp->AcquireProfilingLockKHR(device, pInfo);
6327
0
}
6328
6329
VKAPI_ATTR void VKAPI_CALL ReleaseProfilingLockKHR(
6330
0
    VkDevice                                    device) {
6331
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6332
0
    if (NULL == disp) {
6333
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6334
0
                   "vkReleaseProfilingLockKHR: Invalid device "
6335
0
                   "[VUID-vkReleaseProfilingLockKHR-device-parameter]");
6336
0
        abort(); /* Intentionally fail so user can correct issue. */
6337
0
    }
6338
0
    disp->ReleaseProfilingLockKHR(device);
6339
0
}
6340
6341
6342
// ---- VK_KHR_get_memory_requirements2 extension trampoline/terminators
6343
6344
VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements2KHR(
6345
    VkDevice                                    device,
6346
    const VkImageMemoryRequirementsInfo2*       pInfo,
6347
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
6348
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6349
0
    if (NULL == disp) {
6350
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6351
0
                   "vkGetImageMemoryRequirements2KHR: Invalid device "
6352
0
                   "[VUID-vkGetImageMemoryRequirements2KHR-device-parameter]");
6353
0
        abort(); /* Intentionally fail so user can correct issue. */
6354
0
    }
6355
0
    disp->GetImageMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
6356
0
}
6357
6358
VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements2KHR(
6359
    VkDevice                                    device,
6360
    const VkBufferMemoryRequirementsInfo2*      pInfo,
6361
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
6362
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6363
0
    if (NULL == disp) {
6364
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6365
0
                   "vkGetBufferMemoryRequirements2KHR: Invalid device "
6366
0
                   "[VUID-vkGetBufferMemoryRequirements2KHR-device-parameter]");
6367
0
        abort(); /* Intentionally fail so user can correct issue. */
6368
0
    }
6369
0
    disp->GetBufferMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
6370
0
}
6371
6372
VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements2KHR(
6373
    VkDevice                                    device,
6374
    const VkImageSparseMemoryRequirementsInfo2* pInfo,
6375
    uint32_t*                                   pSparseMemoryRequirementCount,
6376
0
    VkSparseImageMemoryRequirements2*           pSparseMemoryRequirements) {
6377
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6378
0
    if (NULL == disp) {
6379
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6380
0
                   "vkGetImageSparseMemoryRequirements2KHR: Invalid device "
6381
0
                   "[VUID-vkGetImageSparseMemoryRequirements2KHR-device-parameter]");
6382
0
        abort(); /* Intentionally fail so user can correct issue. */
6383
0
    }
6384
0
    disp->GetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
6385
0
}
6386
6387
6388
// ---- VK_KHR_sampler_ycbcr_conversion extension trampoline/terminators
6389
6390
VKAPI_ATTR VkResult VKAPI_CALL CreateSamplerYcbcrConversionKHR(
6391
    VkDevice                                    device,
6392
    const VkSamplerYcbcrConversionCreateInfo*   pCreateInfo,
6393
    const VkAllocationCallbacks*                pAllocator,
6394
0
    VkSamplerYcbcrConversion*                   pYcbcrConversion) {
6395
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6396
0
    if (NULL == disp) {
6397
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6398
0
                   "vkCreateSamplerYcbcrConversionKHR: Invalid device "
6399
0
                   "[VUID-vkCreateSamplerYcbcrConversionKHR-device-parameter]");
6400
0
        abort(); /* Intentionally fail so user can correct issue. */
6401
0
    }
6402
0
    return disp->CreateSamplerYcbcrConversionKHR(device, pCreateInfo, pAllocator, pYcbcrConversion);
6403
0
}
6404
6405
VKAPI_ATTR void VKAPI_CALL DestroySamplerYcbcrConversionKHR(
6406
    VkDevice                                    device,
6407
    VkSamplerYcbcrConversion                    ycbcrConversion,
6408
0
    const VkAllocationCallbacks*                pAllocator) {
6409
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6410
0
    if (NULL == disp) {
6411
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6412
0
                   "vkDestroySamplerYcbcrConversionKHR: Invalid device "
6413
0
                   "[VUID-vkDestroySamplerYcbcrConversionKHR-device-parameter]");
6414
0
        abort(); /* Intentionally fail so user can correct issue. */
6415
0
    }
6416
0
    disp->DestroySamplerYcbcrConversionKHR(device, ycbcrConversion, pAllocator);
6417
0
}
6418
6419
6420
// ---- VK_KHR_bind_memory2 extension trampoline/terminators
6421
6422
VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory2KHR(
6423
    VkDevice                                    device,
6424
    uint32_t                                    bindInfoCount,
6425
0
    const VkBindBufferMemoryInfo*               pBindInfos) {
6426
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6427
0
    if (NULL == disp) {
6428
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6429
0
                   "vkBindBufferMemory2KHR: Invalid device "
6430
0
                   "[VUID-vkBindBufferMemory2KHR-device-parameter]");
6431
0
        abort(); /* Intentionally fail so user can correct issue. */
6432
0
    }
6433
0
    return disp->BindBufferMemory2KHR(device, bindInfoCount, pBindInfos);
6434
0
}
6435
6436
VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory2KHR(
6437
    VkDevice                                    device,
6438
    uint32_t                                    bindInfoCount,
6439
0
    const VkBindImageMemoryInfo*                pBindInfos) {
6440
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6441
0
    if (NULL == disp) {
6442
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6443
0
                   "vkBindImageMemory2KHR: Invalid device "
6444
0
                   "[VUID-vkBindImageMemory2KHR-device-parameter]");
6445
0
        abort(); /* Intentionally fail so user can correct issue. */
6446
0
    }
6447
0
    return disp->BindImageMemory2KHR(device, bindInfoCount, pBindInfos);
6448
0
}
6449
6450
6451
// ---- VK_KHR_maintenance3 extension trampoline/terminators
6452
6453
VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSupportKHR(
6454
    VkDevice                                    device,
6455
    const VkDescriptorSetLayoutCreateInfo*      pCreateInfo,
6456
0
    VkDescriptorSetLayoutSupport*               pSupport) {
6457
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6458
0
    if (NULL == disp) {
6459
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6460
0
                   "vkGetDescriptorSetLayoutSupportKHR: Invalid device "
6461
0
                   "[VUID-vkGetDescriptorSetLayoutSupportKHR-device-parameter]");
6462
0
        abort(); /* Intentionally fail so user can correct issue. */
6463
0
    }
6464
0
    disp->GetDescriptorSetLayoutSupportKHR(device, pCreateInfo, pSupport);
6465
0
}
6466
6467
6468
// ---- VK_KHR_draw_indirect_count extension trampoline/terminators
6469
6470
VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountKHR(
6471
    VkCommandBuffer                             commandBuffer,
6472
    VkBuffer                                    buffer,
6473
    VkDeviceSize                                offset,
6474
    VkBuffer                                    countBuffer,
6475
    VkDeviceSize                                countBufferOffset,
6476
    uint32_t                                    maxDrawCount,
6477
0
    uint32_t                                    stride) {
6478
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6479
0
    if (NULL == disp) {
6480
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6481
0
                   "vkCmdDrawIndirectCountKHR: Invalid commandBuffer "
6482
0
                   "[VUID-vkCmdDrawIndirectCountKHR-commandBuffer-parameter]");
6483
0
        abort(); /* Intentionally fail so user can correct issue. */
6484
0
    }
6485
0
    disp->CmdDrawIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
6486
0
}
6487
6488
VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountKHR(
6489
    VkCommandBuffer                             commandBuffer,
6490
    VkBuffer                                    buffer,
6491
    VkDeviceSize                                offset,
6492
    VkBuffer                                    countBuffer,
6493
    VkDeviceSize                                countBufferOffset,
6494
    uint32_t                                    maxDrawCount,
6495
0
    uint32_t                                    stride) {
6496
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6497
0
    if (NULL == disp) {
6498
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6499
0
                   "vkCmdDrawIndexedIndirectCountKHR: Invalid commandBuffer "
6500
0
                   "[VUID-vkCmdDrawIndexedIndirectCountKHR-commandBuffer-parameter]");
6501
0
        abort(); /* Intentionally fail so user can correct issue. */
6502
0
    }
6503
0
    disp->CmdDrawIndexedIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
6504
0
}
6505
6506
6507
// ---- VK_KHR_timeline_semaphore extension trampoline/terminators
6508
6509
VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreCounterValueKHR(
6510
    VkDevice                                    device,
6511
    VkSemaphore                                 semaphore,
6512
0
    uint64_t*                                   pValue) {
6513
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6514
0
    if (NULL == disp) {
6515
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6516
0
                   "vkGetSemaphoreCounterValueKHR: Invalid device "
6517
0
                   "[VUID-vkGetSemaphoreCounterValueKHR-device-parameter]");
6518
0
        abort(); /* Intentionally fail so user can correct issue. */
6519
0
    }
6520
0
    return disp->GetSemaphoreCounterValueKHR(device, semaphore, pValue);
6521
0
}
6522
6523
VKAPI_ATTR VkResult VKAPI_CALL WaitSemaphoresKHR(
6524
    VkDevice                                    device,
6525
    const VkSemaphoreWaitInfo*                  pWaitInfo,
6526
0
    uint64_t                                    timeout) {
6527
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6528
0
    if (NULL == disp) {
6529
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6530
0
                   "vkWaitSemaphoresKHR: Invalid device "
6531
0
                   "[VUID-vkWaitSemaphoresKHR-device-parameter]");
6532
0
        abort(); /* Intentionally fail so user can correct issue. */
6533
0
    }
6534
0
    return disp->WaitSemaphoresKHR(device, pWaitInfo, timeout);
6535
0
}
6536
6537
VKAPI_ATTR VkResult VKAPI_CALL SignalSemaphoreKHR(
6538
    VkDevice                                    device,
6539
0
    const VkSemaphoreSignalInfo*                pSignalInfo) {
6540
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6541
0
    if (NULL == disp) {
6542
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6543
0
                   "vkSignalSemaphoreKHR: Invalid device "
6544
0
                   "[VUID-vkSignalSemaphoreKHR-device-parameter]");
6545
0
        abort(); /* Intentionally fail so user can correct issue. */
6546
0
    }
6547
0
    return disp->SignalSemaphoreKHR(device, pSignalInfo);
6548
0
}
6549
6550
6551
// ---- VK_KHR_fragment_shading_rate extension trampoline/terminators
6552
6553
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceFragmentShadingRatesKHR(
6554
    VkPhysicalDevice                            physicalDevice,
6555
    uint32_t*                                   pFragmentShadingRateCount,
6556
0
    VkPhysicalDeviceFragmentShadingRateKHR*     pFragmentShadingRates) {
6557
0
    const VkLayerInstanceDispatchTable *disp;
6558
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
6559
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
6560
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6561
0
                   "vkGetPhysicalDeviceFragmentShadingRatesKHR: Invalid physicalDevice "
6562
0
                   "[VUID-vkGetPhysicalDeviceFragmentShadingRatesKHR-physicalDevice-parameter]");
6563
0
        abort(); /* Intentionally fail so user can correct issue. */
6564
0
    }
6565
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
6566
0
    return disp->GetPhysicalDeviceFragmentShadingRatesKHR(unwrapped_phys_dev, pFragmentShadingRateCount, pFragmentShadingRates);
6567
0
}
6568
6569
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceFragmentShadingRatesKHR(
6570
    VkPhysicalDevice                            physicalDevice,
6571
    uint32_t*                                   pFragmentShadingRateCount,
6572
0
    VkPhysicalDeviceFragmentShadingRateKHR*     pFragmentShadingRates) {
6573
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
6574
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
6575
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceFragmentShadingRatesKHR) {
6576
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
6577
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceFragmentShadingRatesKHR");
6578
0
        abort(); /* Intentionally fail so user can correct issue. */
6579
0
    }
6580
0
    return icd_term->dispatch.GetPhysicalDeviceFragmentShadingRatesKHR(phys_dev_term->phys_dev, pFragmentShadingRateCount, pFragmentShadingRates);
6581
0
}
6582
6583
VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR(
6584
    VkCommandBuffer                             commandBuffer,
6585
    const VkExtent2D*                           pFragmentSize,
6586
0
    const VkFragmentShadingRateCombinerOpKHR    combinerOps[2]) {
6587
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6588
0
    if (NULL == disp) {
6589
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6590
0
                   "vkCmdSetFragmentShadingRateKHR: Invalid commandBuffer "
6591
0
                   "[VUID-vkCmdSetFragmentShadingRateKHR-commandBuffer-parameter]");
6592
0
        abort(); /* Intentionally fail so user can correct issue. */
6593
0
    }
6594
0
    disp->CmdSetFragmentShadingRateKHR(commandBuffer, pFragmentSize, combinerOps);
6595
0
}
6596
6597
6598
// ---- VK_KHR_dynamic_rendering_local_read extension trampoline/terminators
6599
6600
VKAPI_ATTR void VKAPI_CALL CmdSetRenderingAttachmentLocationsKHR(
6601
    VkCommandBuffer                             commandBuffer,
6602
0
    const VkRenderingAttachmentLocationInfo*    pLocationInfo) {
6603
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6604
0
    if (NULL == disp) {
6605
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6606
0
                   "vkCmdSetRenderingAttachmentLocationsKHR: Invalid commandBuffer "
6607
0
                   "[VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-parameter]");
6608
0
        abort(); /* Intentionally fail so user can correct issue. */
6609
0
    }
6610
0
    disp->CmdSetRenderingAttachmentLocationsKHR(commandBuffer, pLocationInfo);
6611
0
}
6612
6613
VKAPI_ATTR void VKAPI_CALL CmdSetRenderingInputAttachmentIndicesKHR(
6614
    VkCommandBuffer                             commandBuffer,
6615
0
    const VkRenderingInputAttachmentIndexInfo*  pInputAttachmentIndexInfo) {
6616
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6617
0
    if (NULL == disp) {
6618
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6619
0
                   "vkCmdSetRenderingInputAttachmentIndicesKHR: Invalid commandBuffer "
6620
0
                   "[VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-parameter]");
6621
0
        abort(); /* Intentionally fail so user can correct issue. */
6622
0
    }
6623
0
    disp->CmdSetRenderingInputAttachmentIndicesKHR(commandBuffer, pInputAttachmentIndexInfo);
6624
0
}
6625
6626
6627
// ---- VK_KHR_present_wait extension trampoline/terminators
6628
6629
VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR(
6630
    VkDevice                                    device,
6631
    VkSwapchainKHR                              swapchain,
6632
    uint64_t                                    presentId,
6633
0
    uint64_t                                    timeout) {
6634
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6635
0
    if (NULL == disp) {
6636
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6637
0
                   "vkWaitForPresentKHR: Invalid device "
6638
0
                   "[VUID-vkWaitForPresentKHR-device-parameter]");
6639
0
        abort(); /* Intentionally fail so user can correct issue. */
6640
0
    }
6641
0
    return disp->WaitForPresentKHR(device, swapchain, presentId, timeout);
6642
0
}
6643
6644
6645
// ---- VK_KHR_buffer_device_address extension trampoline/terminators
6646
6647
VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR(
6648
    VkDevice                                    device,
6649
0
    const VkBufferDeviceAddressInfo*            pInfo) {
6650
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6651
0
    if (NULL == disp) {
6652
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6653
0
                   "vkGetBufferDeviceAddressKHR: Invalid device "
6654
0
                   "[VUID-vkGetBufferDeviceAddressKHR-device-parameter]");
6655
0
        abort(); /* Intentionally fail so user can correct issue. */
6656
0
    }
6657
0
    return disp->GetBufferDeviceAddressKHR(device, pInfo);
6658
0
}
6659
6660
VKAPI_ATTR uint64_t VKAPI_CALL GetBufferOpaqueCaptureAddressKHR(
6661
    VkDevice                                    device,
6662
0
    const VkBufferDeviceAddressInfo*            pInfo) {
6663
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6664
0
    if (NULL == disp) {
6665
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6666
0
                   "vkGetBufferOpaqueCaptureAddressKHR: Invalid device "
6667
0
                   "[VUID-vkGetBufferOpaqueCaptureAddressKHR-device-parameter]");
6668
0
        abort(); /* Intentionally fail so user can correct issue. */
6669
0
    }
6670
0
    return disp->GetBufferOpaqueCaptureAddressKHR(device, pInfo);
6671
0
}
6672
6673
VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceMemoryOpaqueCaptureAddressKHR(
6674
    VkDevice                                    device,
6675
0
    const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) {
6676
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6677
0
    if (NULL == disp) {
6678
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6679
0
                   "vkGetDeviceMemoryOpaqueCaptureAddressKHR: Invalid device "
6680
0
                   "[VUID-vkGetDeviceMemoryOpaqueCaptureAddressKHR-device-parameter]");
6681
0
        abort(); /* Intentionally fail so user can correct issue. */
6682
0
    }
6683
0
    return disp->GetDeviceMemoryOpaqueCaptureAddressKHR(device, pInfo);
6684
0
}
6685
6686
6687
// ---- VK_KHR_deferred_host_operations extension trampoline/terminators
6688
6689
VKAPI_ATTR VkResult VKAPI_CALL CreateDeferredOperationKHR(
6690
    VkDevice                                    device,
6691
    const VkAllocationCallbacks*                pAllocator,
6692
0
    VkDeferredOperationKHR*                     pDeferredOperation) {
6693
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6694
0
    if (NULL == disp) {
6695
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6696
0
                   "vkCreateDeferredOperationKHR: Invalid device "
6697
0
                   "[VUID-vkCreateDeferredOperationKHR-device-parameter]");
6698
0
        abort(); /* Intentionally fail so user can correct issue. */
6699
0
    }
6700
0
    return disp->CreateDeferredOperationKHR(device, pAllocator, pDeferredOperation);
6701
0
}
6702
6703
VKAPI_ATTR void VKAPI_CALL DestroyDeferredOperationKHR(
6704
    VkDevice                                    device,
6705
    VkDeferredOperationKHR                      operation,
6706
0
    const VkAllocationCallbacks*                pAllocator) {
6707
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6708
0
    if (NULL == disp) {
6709
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6710
0
                   "vkDestroyDeferredOperationKHR: Invalid device "
6711
0
                   "[VUID-vkDestroyDeferredOperationKHR-device-parameter]");
6712
0
        abort(); /* Intentionally fail so user can correct issue. */
6713
0
    }
6714
0
    disp->DestroyDeferredOperationKHR(device, operation, pAllocator);
6715
0
}
6716
6717
VKAPI_ATTR uint32_t VKAPI_CALL GetDeferredOperationMaxConcurrencyKHR(
6718
    VkDevice                                    device,
6719
0
    VkDeferredOperationKHR                      operation) {
6720
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6721
0
    if (NULL == disp) {
6722
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6723
0
                   "vkGetDeferredOperationMaxConcurrencyKHR: Invalid device "
6724
0
                   "[VUID-vkGetDeferredOperationMaxConcurrencyKHR-device-parameter]");
6725
0
        abort(); /* Intentionally fail so user can correct issue. */
6726
0
    }
6727
0
    return disp->GetDeferredOperationMaxConcurrencyKHR(device, operation);
6728
0
}
6729
6730
VKAPI_ATTR VkResult VKAPI_CALL GetDeferredOperationResultKHR(
6731
    VkDevice                                    device,
6732
0
    VkDeferredOperationKHR                      operation) {
6733
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6734
0
    if (NULL == disp) {
6735
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6736
0
                   "vkGetDeferredOperationResultKHR: Invalid device "
6737
0
                   "[VUID-vkGetDeferredOperationResultKHR-device-parameter]");
6738
0
        abort(); /* Intentionally fail so user can correct issue. */
6739
0
    }
6740
0
    return disp->GetDeferredOperationResultKHR(device, operation);
6741
0
}
6742
6743
VKAPI_ATTR VkResult VKAPI_CALL DeferredOperationJoinKHR(
6744
    VkDevice                                    device,
6745
0
    VkDeferredOperationKHR                      operation) {
6746
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6747
0
    if (NULL == disp) {
6748
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6749
0
                   "vkDeferredOperationJoinKHR: Invalid device "
6750
0
                   "[VUID-vkDeferredOperationJoinKHR-device-parameter]");
6751
0
        abort(); /* Intentionally fail so user can correct issue. */
6752
0
    }
6753
0
    return disp->DeferredOperationJoinKHR(device, operation);
6754
0
}
6755
6756
6757
// ---- VK_KHR_pipeline_executable_properties extension trampoline/terminators
6758
6759
VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutablePropertiesKHR(
6760
    VkDevice                                    device,
6761
    const VkPipelineInfoKHR*                    pPipelineInfo,
6762
    uint32_t*                                   pExecutableCount,
6763
0
    VkPipelineExecutablePropertiesKHR*          pProperties) {
6764
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6765
0
    if (NULL == disp) {
6766
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6767
0
                   "vkGetPipelineExecutablePropertiesKHR: Invalid device "
6768
0
                   "[VUID-vkGetPipelineExecutablePropertiesKHR-device-parameter]");
6769
0
        abort(); /* Intentionally fail so user can correct issue. */
6770
0
    }
6771
0
    return disp->GetPipelineExecutablePropertiesKHR(device, pPipelineInfo, pExecutableCount, pProperties);
6772
0
}
6773
6774
VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableStatisticsKHR(
6775
    VkDevice                                    device,
6776
    const VkPipelineExecutableInfoKHR*          pExecutableInfo,
6777
    uint32_t*                                   pStatisticCount,
6778
0
    VkPipelineExecutableStatisticKHR*           pStatistics) {
6779
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6780
0
    if (NULL == disp) {
6781
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6782
0
                   "vkGetPipelineExecutableStatisticsKHR: Invalid device "
6783
0
                   "[VUID-vkGetPipelineExecutableStatisticsKHR-device-parameter]");
6784
0
        abort(); /* Intentionally fail so user can correct issue. */
6785
0
    }
6786
0
    return disp->GetPipelineExecutableStatisticsKHR(device, pExecutableInfo, pStatisticCount, pStatistics);
6787
0
}
6788
6789
VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentationsKHR(
6790
    VkDevice                                    device,
6791
    const VkPipelineExecutableInfoKHR*          pExecutableInfo,
6792
    uint32_t*                                   pInternalRepresentationCount,
6793
0
    VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) {
6794
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6795
0
    if (NULL == disp) {
6796
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6797
0
                   "vkGetPipelineExecutableInternalRepresentationsKHR: Invalid device "
6798
0
                   "[VUID-vkGetPipelineExecutableInternalRepresentationsKHR-device-parameter]");
6799
0
        abort(); /* Intentionally fail so user can correct issue. */
6800
0
    }
6801
0
    return disp->GetPipelineExecutableInternalRepresentationsKHR(device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations);
6802
0
}
6803
6804
6805
// ---- VK_KHR_map_memory2 extension trampoline/terminators
6806
6807
VKAPI_ATTR VkResult VKAPI_CALL MapMemory2KHR(
6808
    VkDevice                                    device,
6809
    const VkMemoryMapInfo*                      pMemoryMapInfo,
6810
0
    void**                                      ppData) {
6811
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6812
0
    if (NULL == disp) {
6813
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6814
0
                   "vkMapMemory2KHR: Invalid device "
6815
0
                   "[VUID-vkMapMemory2KHR-device-parameter]");
6816
0
        abort(); /* Intentionally fail so user can correct issue. */
6817
0
    }
6818
0
    return disp->MapMemory2KHR(device, pMemoryMapInfo, ppData);
6819
0
}
6820
6821
VKAPI_ATTR VkResult VKAPI_CALL UnmapMemory2KHR(
6822
    VkDevice                                    device,
6823
0
    const VkMemoryUnmapInfo*                    pMemoryUnmapInfo) {
6824
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6825
0
    if (NULL == disp) {
6826
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6827
0
                   "vkUnmapMemory2KHR: Invalid device "
6828
0
                   "[VUID-vkUnmapMemory2KHR-device-parameter]");
6829
0
        abort(); /* Intentionally fail so user can correct issue. */
6830
0
    }
6831
0
    return disp->UnmapMemory2KHR(device, pMemoryUnmapInfo);
6832
0
}
6833
6834
6835
// ---- VK_KHR_video_encode_queue extension trampoline/terminators
6836
6837
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
6838
    VkPhysicalDevice                            physicalDevice,
6839
    const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
6840
0
    VkVideoEncodeQualityLevelPropertiesKHR*     pQualityLevelProperties) {
6841
0
    const VkLayerInstanceDispatchTable *disp;
6842
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
6843
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
6844
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6845
0
                   "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR: Invalid physicalDevice "
6846
0
                   "[VUID-vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR-physicalDevice-parameter]");
6847
0
        abort(); /* Intentionally fail so user can correct issue. */
6848
0
    }
6849
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
6850
0
    return disp->GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(unwrapped_phys_dev, pQualityLevelInfo, pQualityLevelProperties);
6851
0
}
6852
6853
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
6854
    VkPhysicalDevice                            physicalDevice,
6855
    const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo,
6856
0
    VkVideoEncodeQualityLevelPropertiesKHR*     pQualityLevelProperties) {
6857
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
6858
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
6859
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR) {
6860
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
6861
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR");
6862
0
        abort(); /* Intentionally fail so user can correct issue. */
6863
0
    }
6864
0
    return icd_term->dispatch.GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(phys_dev_term->phys_dev, pQualityLevelInfo, pQualityLevelProperties);
6865
0
}
6866
6867
VKAPI_ATTR VkResult VKAPI_CALL GetEncodedVideoSessionParametersKHR(
6868
    VkDevice                                    device,
6869
    const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo,
6870
    VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo,
6871
    size_t*                                     pDataSize,
6872
0
    void*                                       pData) {
6873
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
6874
0
    if (NULL == disp) {
6875
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6876
0
                   "vkGetEncodedVideoSessionParametersKHR: Invalid device "
6877
0
                   "[VUID-vkGetEncodedVideoSessionParametersKHR-device-parameter]");
6878
0
        abort(); /* Intentionally fail so user can correct issue. */
6879
0
    }
6880
0
    return disp->GetEncodedVideoSessionParametersKHR(device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData);
6881
0
}
6882
6883
VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR(
6884
    VkCommandBuffer                             commandBuffer,
6885
0
    const VkVideoEncodeInfoKHR*                 pEncodeInfo) {
6886
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6887
0
    if (NULL == disp) {
6888
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6889
0
                   "vkCmdEncodeVideoKHR: Invalid commandBuffer "
6890
0
                   "[VUID-vkCmdEncodeVideoKHR-commandBuffer-parameter]");
6891
0
        abort(); /* Intentionally fail so user can correct issue. */
6892
0
    }
6893
0
    disp->CmdEncodeVideoKHR(commandBuffer, pEncodeInfo);
6894
0
}
6895
6896
6897
// ---- VK_KHR_synchronization2 extension trampoline/terminators
6898
6899
VKAPI_ATTR void VKAPI_CALL CmdSetEvent2KHR(
6900
    VkCommandBuffer                             commandBuffer,
6901
    VkEvent                                     event,
6902
0
    const VkDependencyInfo*                     pDependencyInfo) {
6903
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6904
0
    if (NULL == disp) {
6905
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6906
0
                   "vkCmdSetEvent2KHR: Invalid commandBuffer "
6907
0
                   "[VUID-vkCmdSetEvent2KHR-commandBuffer-parameter]");
6908
0
        abort(); /* Intentionally fail so user can correct issue. */
6909
0
    }
6910
0
    disp->CmdSetEvent2KHR(commandBuffer, event, pDependencyInfo);
6911
0
}
6912
6913
VKAPI_ATTR void VKAPI_CALL CmdResetEvent2KHR(
6914
    VkCommandBuffer                             commandBuffer,
6915
    VkEvent                                     event,
6916
0
    VkPipelineStageFlags2                       stageMask) {
6917
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6918
0
    if (NULL == disp) {
6919
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6920
0
                   "vkCmdResetEvent2KHR: Invalid commandBuffer "
6921
0
                   "[VUID-vkCmdResetEvent2KHR-commandBuffer-parameter]");
6922
0
        abort(); /* Intentionally fail so user can correct issue. */
6923
0
    }
6924
0
    disp->CmdResetEvent2KHR(commandBuffer, event, stageMask);
6925
0
}
6926
6927
VKAPI_ATTR void VKAPI_CALL CmdWaitEvents2KHR(
6928
    VkCommandBuffer                             commandBuffer,
6929
    uint32_t                                    eventCount,
6930
    const VkEvent*                              pEvents,
6931
0
    const VkDependencyInfo*                     pDependencyInfos) {
6932
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6933
0
    if (NULL == disp) {
6934
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6935
0
                   "vkCmdWaitEvents2KHR: Invalid commandBuffer "
6936
0
                   "[VUID-vkCmdWaitEvents2KHR-commandBuffer-parameter]");
6937
0
        abort(); /* Intentionally fail so user can correct issue. */
6938
0
    }
6939
0
    disp->CmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos);
6940
0
}
6941
6942
VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier2KHR(
6943
    VkCommandBuffer                             commandBuffer,
6944
0
    const VkDependencyInfo*                     pDependencyInfo) {
6945
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6946
0
    if (NULL == disp) {
6947
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6948
0
                   "vkCmdPipelineBarrier2KHR: Invalid commandBuffer "
6949
0
                   "[VUID-vkCmdPipelineBarrier2KHR-commandBuffer-parameter]");
6950
0
        abort(); /* Intentionally fail so user can correct issue. */
6951
0
    }
6952
0
    disp->CmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo);
6953
0
}
6954
6955
VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp2KHR(
6956
    VkCommandBuffer                             commandBuffer,
6957
    VkPipelineStageFlags2                       stage,
6958
    VkQueryPool                                 queryPool,
6959
0
    uint32_t                                    query) {
6960
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6961
0
    if (NULL == disp) {
6962
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6963
0
                   "vkCmdWriteTimestamp2KHR: Invalid commandBuffer "
6964
0
                   "[VUID-vkCmdWriteTimestamp2KHR-commandBuffer-parameter]");
6965
0
        abort(); /* Intentionally fail so user can correct issue. */
6966
0
    }
6967
0
    disp->CmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query);
6968
0
}
6969
6970
VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit2KHR(
6971
    VkQueue                                     queue,
6972
    uint32_t                                    submitCount,
6973
    const VkSubmitInfo2*                        pSubmits,
6974
0
    VkFence                                     fence) {
6975
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
6976
0
    if (NULL == disp) {
6977
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6978
0
                   "vkQueueSubmit2KHR: Invalid queue "
6979
0
                   "[VUID-vkQueueSubmit2KHR-queue-parameter]");
6980
0
        abort(); /* Intentionally fail so user can correct issue. */
6981
0
    }
6982
0
    return disp->QueueSubmit2KHR(queue, submitCount, pSubmits, fence);
6983
0
}
6984
6985
6986
// ---- VK_KHR_device_address_commands extension trampoline/terminators
6987
6988
VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer3KHR(
6989
    VkCommandBuffer                             commandBuffer,
6990
0
    const VkBindIndexBuffer3InfoKHR*            pInfo) {
6991
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
6992
0
    if (NULL == disp) {
6993
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
6994
0
                   "vkCmdBindIndexBuffer3KHR: Invalid commandBuffer "
6995
0
                   "[VUID-vkCmdBindIndexBuffer3KHR-commandBuffer-parameter]");
6996
0
        abort(); /* Intentionally fail so user can correct issue. */
6997
0
    }
6998
0
    disp->CmdBindIndexBuffer3KHR(commandBuffer, pInfo);
6999
0
}
7000
7001
VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers3KHR(
7002
    VkCommandBuffer                             commandBuffer,
7003
    uint32_t                                    firstBinding,
7004
    uint32_t                                    bindingCount,
7005
0
    const VkBindVertexBuffer3InfoKHR*           pBindingInfos) {
7006
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7007
0
    if (NULL == disp) {
7008
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7009
0
                   "vkCmdBindVertexBuffers3KHR: Invalid commandBuffer "
7010
0
                   "[VUID-vkCmdBindVertexBuffers3KHR-commandBuffer-parameter]");
7011
0
        abort(); /* Intentionally fail so user can correct issue. */
7012
0
    }
7013
0
    disp->CmdBindVertexBuffers3KHR(commandBuffer, firstBinding, bindingCount, pBindingInfos);
7014
0
}
7015
7016
VKAPI_ATTR void VKAPI_CALL CmdDrawIndirect2KHR(
7017
    VkCommandBuffer                             commandBuffer,
7018
0
    const VkDrawIndirect2InfoKHR*               pInfo) {
7019
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7020
0
    if (NULL == disp) {
7021
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7022
0
                   "vkCmdDrawIndirect2KHR: Invalid commandBuffer "
7023
0
                   "[VUID-vkCmdDrawIndirect2KHR-commandBuffer-parameter]");
7024
0
        abort(); /* Intentionally fail so user can correct issue. */
7025
0
    }
7026
0
    disp->CmdDrawIndirect2KHR(commandBuffer, pInfo);
7027
0
}
7028
7029
VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirect2KHR(
7030
    VkCommandBuffer                             commandBuffer,
7031
0
    const VkDrawIndirect2InfoKHR*               pInfo) {
7032
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7033
0
    if (NULL == disp) {
7034
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7035
0
                   "vkCmdDrawIndexedIndirect2KHR: Invalid commandBuffer "
7036
0
                   "[VUID-vkCmdDrawIndexedIndirect2KHR-commandBuffer-parameter]");
7037
0
        abort(); /* Intentionally fail so user can correct issue. */
7038
0
    }
7039
0
    disp->CmdDrawIndexedIndirect2KHR(commandBuffer, pInfo);
7040
0
}
7041
7042
VKAPI_ATTR void VKAPI_CALL CmdDispatchIndirect2KHR(
7043
    VkCommandBuffer                             commandBuffer,
7044
0
    const VkDispatchIndirect2InfoKHR*           pInfo) {
7045
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7046
0
    if (NULL == disp) {
7047
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7048
0
                   "vkCmdDispatchIndirect2KHR: Invalid commandBuffer "
7049
0
                   "[VUID-vkCmdDispatchIndirect2KHR-commandBuffer-parameter]");
7050
0
        abort(); /* Intentionally fail so user can correct issue. */
7051
0
    }
7052
0
    disp->CmdDispatchIndirect2KHR(commandBuffer, pInfo);
7053
0
}
7054
7055
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryKHR(
7056
    VkCommandBuffer                             commandBuffer,
7057
0
    const VkCopyDeviceMemoryInfoKHR*            pCopyMemoryInfo) {
7058
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7059
0
    if (NULL == disp) {
7060
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7061
0
                   "vkCmdCopyMemoryKHR: Invalid commandBuffer "
7062
0
                   "[VUID-vkCmdCopyMemoryKHR-commandBuffer-parameter]");
7063
0
        abort(); /* Intentionally fail so user can correct issue. */
7064
0
    }
7065
0
    disp->CmdCopyMemoryKHR(commandBuffer, pCopyMemoryInfo);
7066
0
}
7067
7068
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageKHR(
7069
    VkCommandBuffer                             commandBuffer,
7070
0
    const VkCopyDeviceMemoryImageInfoKHR*       pCopyMemoryInfo) {
7071
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7072
0
    if (NULL == disp) {
7073
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7074
0
                   "vkCmdCopyMemoryToImageKHR: Invalid commandBuffer "
7075
0
                   "[VUID-vkCmdCopyMemoryToImageKHR-commandBuffer-parameter]");
7076
0
        abort(); /* Intentionally fail so user can correct issue. */
7077
0
    }
7078
0
    disp->CmdCopyMemoryToImageKHR(commandBuffer, pCopyMemoryInfo);
7079
0
}
7080
7081
VKAPI_ATTR void VKAPI_CALL CmdCopyImageToMemoryKHR(
7082
    VkCommandBuffer                             commandBuffer,
7083
0
    const VkCopyDeviceMemoryImageInfoKHR*       pCopyMemoryInfo) {
7084
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7085
0
    if (NULL == disp) {
7086
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7087
0
                   "vkCmdCopyImageToMemoryKHR: Invalid commandBuffer "
7088
0
                   "[VUID-vkCmdCopyImageToMemoryKHR-commandBuffer-parameter]");
7089
0
        abort(); /* Intentionally fail so user can correct issue. */
7090
0
    }
7091
0
    disp->CmdCopyImageToMemoryKHR(commandBuffer, pCopyMemoryInfo);
7092
0
}
7093
7094
VKAPI_ATTR void VKAPI_CALL CmdUpdateMemoryKHR(
7095
    VkCommandBuffer                             commandBuffer,
7096
    const VkDeviceAddressRangeKHR*              pDstRange,
7097
    VkAddressCommandFlagsKHR                    dstFlags,
7098
    VkDeviceSize                                dataSize,
7099
0
    const void*                                 pData) {
7100
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7101
0
    if (NULL == disp) {
7102
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7103
0
                   "vkCmdUpdateMemoryKHR: Invalid commandBuffer "
7104
0
                   "[VUID-vkCmdUpdateMemoryKHR-commandBuffer-parameter]");
7105
0
        abort(); /* Intentionally fail so user can correct issue. */
7106
0
    }
7107
0
    disp->CmdUpdateMemoryKHR(commandBuffer, pDstRange, dstFlags, dataSize, pData);
7108
0
}
7109
7110
VKAPI_ATTR void VKAPI_CALL CmdFillMemoryKHR(
7111
    VkCommandBuffer                             commandBuffer,
7112
    const VkDeviceAddressRangeKHR*              pDstRange,
7113
    VkAddressCommandFlagsKHR                    dstFlags,
7114
0
    uint32_t                                    data) {
7115
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7116
0
    if (NULL == disp) {
7117
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7118
0
                   "vkCmdFillMemoryKHR: Invalid commandBuffer "
7119
0
                   "[VUID-vkCmdFillMemoryKHR-commandBuffer-parameter]");
7120
0
        abort(); /* Intentionally fail so user can correct issue. */
7121
0
    }
7122
0
    disp->CmdFillMemoryKHR(commandBuffer, pDstRange, dstFlags, data);
7123
0
}
7124
7125
VKAPI_ATTR void VKAPI_CALL CmdCopyQueryPoolResultsToMemoryKHR(
7126
    VkCommandBuffer                             commandBuffer,
7127
    VkQueryPool                                 queryPool,
7128
    uint32_t                                    firstQuery,
7129
    uint32_t                                    queryCount,
7130
    const VkStridedDeviceAddressRangeKHR*       pDstRange,
7131
    VkAddressCommandFlagsKHR                    dstFlags,
7132
0
    VkQueryResultFlags                          queryResultFlags) {
7133
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7134
0
    if (NULL == disp) {
7135
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7136
0
                   "vkCmdCopyQueryPoolResultsToMemoryKHR: Invalid commandBuffer "
7137
0
                   "[VUID-vkCmdCopyQueryPoolResultsToMemoryKHR-commandBuffer-parameter]");
7138
0
        abort(); /* Intentionally fail so user can correct issue. */
7139
0
    }
7140
0
    disp->CmdCopyQueryPoolResultsToMemoryKHR(commandBuffer, queryPool, firstQuery, queryCount, pDstRange, dstFlags, queryResultFlags);
7141
0
}
7142
7143
VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCount2KHR(
7144
    VkCommandBuffer                             commandBuffer,
7145
0
    const VkDrawIndirectCount2InfoKHR*          pInfo) {
7146
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7147
0
    if (NULL == disp) {
7148
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7149
0
                   "vkCmdDrawIndirectCount2KHR: Invalid commandBuffer "
7150
0
                   "[VUID-vkCmdDrawIndirectCount2KHR-commandBuffer-parameter]");
7151
0
        abort(); /* Intentionally fail so user can correct issue. */
7152
0
    }
7153
0
    disp->CmdDrawIndirectCount2KHR(commandBuffer, pInfo);
7154
0
}
7155
7156
VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCount2KHR(
7157
    VkCommandBuffer                             commandBuffer,
7158
0
    const VkDrawIndirectCount2InfoKHR*          pInfo) {
7159
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7160
0
    if (NULL == disp) {
7161
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7162
0
                   "vkCmdDrawIndexedIndirectCount2KHR: Invalid commandBuffer "
7163
0
                   "[VUID-vkCmdDrawIndexedIndirectCount2KHR-commandBuffer-parameter]");
7164
0
        abort(); /* Intentionally fail so user can correct issue. */
7165
0
    }
7166
0
    disp->CmdDrawIndexedIndirectCount2KHR(commandBuffer, pInfo);
7167
0
}
7168
7169
VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRendering2EXT(
7170
    VkCommandBuffer                             commandBuffer,
7171
0
    const VkConditionalRenderingBeginInfo2EXT*  pConditionalRenderingBegin) {
7172
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7173
0
    if (NULL == disp) {
7174
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7175
0
                   "vkCmdBeginConditionalRendering2EXT: Invalid commandBuffer "
7176
0
                   "[VUID-vkCmdBeginConditionalRendering2EXT-commandBuffer-parameter]");
7177
0
        abort(); /* Intentionally fail so user can correct issue. */
7178
0
    }
7179
0
    disp->CmdBeginConditionalRendering2EXT(commandBuffer, pConditionalRenderingBegin);
7180
0
}
7181
7182
VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffers2EXT(
7183
    VkCommandBuffer                             commandBuffer,
7184
    uint32_t                                    firstBinding,
7185
    uint32_t                                    bindingCount,
7186
0
    const VkBindTransformFeedbackBuffer2InfoEXT* pBindingInfos) {
7187
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7188
0
    if (NULL == disp) {
7189
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7190
0
                   "vkCmdBindTransformFeedbackBuffers2EXT: Invalid commandBuffer "
7191
0
                   "[VUID-vkCmdBindTransformFeedbackBuffers2EXT-commandBuffer-parameter]");
7192
0
        abort(); /* Intentionally fail so user can correct issue. */
7193
0
    }
7194
0
    disp->CmdBindTransformFeedbackBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBindingInfos);
7195
0
}
7196
7197
VKAPI_ATTR void VKAPI_CALL CmdBeginTransformFeedback2EXT(
7198
    VkCommandBuffer                             commandBuffer,
7199
    uint32_t                                    firstCounterRange,
7200
    uint32_t                                    counterRangeCount,
7201
0
    const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos) {
7202
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7203
0
    if (NULL == disp) {
7204
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7205
0
                   "vkCmdBeginTransformFeedback2EXT: Invalid commandBuffer "
7206
0
                   "[VUID-vkCmdBeginTransformFeedback2EXT-commandBuffer-parameter]");
7207
0
        abort(); /* Intentionally fail so user can correct issue. */
7208
0
    }
7209
0
    disp->CmdBeginTransformFeedback2EXT(commandBuffer, firstCounterRange, counterRangeCount, pCounterInfos);
7210
0
}
7211
7212
VKAPI_ATTR void VKAPI_CALL CmdEndTransformFeedback2EXT(
7213
    VkCommandBuffer                             commandBuffer,
7214
    uint32_t                                    firstCounterRange,
7215
    uint32_t                                    counterRangeCount,
7216
0
    const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfos) {
7217
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7218
0
    if (NULL == disp) {
7219
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7220
0
                   "vkCmdEndTransformFeedback2EXT: Invalid commandBuffer "
7221
0
                   "[VUID-vkCmdEndTransformFeedback2EXT-commandBuffer-parameter]");
7222
0
        abort(); /* Intentionally fail so user can correct issue. */
7223
0
    }
7224
0
    disp->CmdEndTransformFeedback2EXT(commandBuffer, firstCounterRange, counterRangeCount, pCounterInfos);
7225
0
}
7226
7227
VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCount2EXT(
7228
    VkCommandBuffer                             commandBuffer,
7229
    uint32_t                                    instanceCount,
7230
    uint32_t                                    firstInstance,
7231
    const VkBindTransformFeedbackBuffer2InfoEXT* pCounterInfo,
7232
    uint32_t                                    counterOffset,
7233
0
    uint32_t                                    vertexStride) {
7234
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7235
0
    if (NULL == disp) {
7236
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7237
0
                   "vkCmdDrawIndirectByteCount2EXT: Invalid commandBuffer "
7238
0
                   "[VUID-vkCmdDrawIndirectByteCount2EXT-commandBuffer-parameter]");
7239
0
        abort(); /* Intentionally fail so user can correct issue. */
7240
0
    }
7241
0
    disp->CmdDrawIndirectByteCount2EXT(commandBuffer, instanceCount, firstInstance, pCounterInfo, counterOffset, vertexStride);
7242
0
}
7243
7244
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirect2EXT(
7245
    VkCommandBuffer                             commandBuffer,
7246
0
    const VkDrawIndirect2InfoKHR*               pInfo) {
7247
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7248
0
    if (NULL == disp) {
7249
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7250
0
                   "vkCmdDrawMeshTasksIndirect2EXT: Invalid commandBuffer "
7251
0
                   "[VUID-vkCmdDrawMeshTasksIndirect2EXT-commandBuffer-parameter]");
7252
0
        abort(); /* Intentionally fail so user can correct issue. */
7253
0
    }
7254
0
    disp->CmdDrawMeshTasksIndirect2EXT(commandBuffer, pInfo);
7255
0
}
7256
7257
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCount2EXT(
7258
    VkCommandBuffer                             commandBuffer,
7259
0
    const VkDrawIndirectCount2InfoKHR*          pInfo) {
7260
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7261
0
    if (NULL == disp) {
7262
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7263
0
                   "vkCmdDrawMeshTasksIndirectCount2EXT: Invalid commandBuffer "
7264
0
                   "[VUID-vkCmdDrawMeshTasksIndirectCount2EXT-commandBuffer-parameter]");
7265
0
        abort(); /* Intentionally fail so user can correct issue. */
7266
0
    }
7267
0
    disp->CmdDrawMeshTasksIndirectCount2EXT(commandBuffer, pInfo);
7268
0
}
7269
7270
VKAPI_ATTR void VKAPI_CALL CmdWriteMarkerToMemoryAMD(
7271
    VkCommandBuffer                             commandBuffer,
7272
0
    const VkMemoryMarkerInfoAMD*                pInfo) {
7273
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7274
0
    if (NULL == disp) {
7275
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7276
0
                   "vkCmdWriteMarkerToMemoryAMD: Invalid commandBuffer "
7277
0
                   "[VUID-vkCmdWriteMarkerToMemoryAMD-commandBuffer-parameter]");
7278
0
        abort(); /* Intentionally fail so user can correct issue. */
7279
0
    }
7280
0
    disp->CmdWriteMarkerToMemoryAMD(commandBuffer, pInfo);
7281
0
}
7282
7283
VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructure2KHR(
7284
    VkDevice                                    device,
7285
    const VkAccelerationStructureCreateInfo2KHR* pCreateInfo,
7286
    const VkAllocationCallbacks*                pAllocator,
7287
0
    VkAccelerationStructureKHR*                 pAccelerationStructure) {
7288
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7289
0
    if (NULL == disp) {
7290
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7291
0
                   "vkCreateAccelerationStructure2KHR: Invalid device "
7292
0
                   "[VUID-vkCreateAccelerationStructure2KHR-device-parameter]");
7293
0
        abort(); /* Intentionally fail so user can correct issue. */
7294
0
    }
7295
0
    return disp->CreateAccelerationStructure2KHR(device, pCreateInfo, pAllocator, pAccelerationStructure);
7296
0
}
7297
7298
7299
// ---- VK_KHR_copy_commands2 extension trampoline/terminators
7300
7301
VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer2KHR(
7302
    VkCommandBuffer                             commandBuffer,
7303
0
    const VkCopyBufferInfo2*                    pCopyBufferInfo) {
7304
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7305
0
    if (NULL == disp) {
7306
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7307
0
                   "vkCmdCopyBuffer2KHR: Invalid commandBuffer "
7308
0
                   "[VUID-vkCmdCopyBuffer2KHR-commandBuffer-parameter]");
7309
0
        abort(); /* Intentionally fail so user can correct issue. */
7310
0
    }
7311
0
    disp->CmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo);
7312
0
}
7313
7314
VKAPI_ATTR void VKAPI_CALL CmdCopyImage2KHR(
7315
    VkCommandBuffer                             commandBuffer,
7316
0
    const VkCopyImageInfo2*                     pCopyImageInfo) {
7317
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7318
0
    if (NULL == disp) {
7319
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7320
0
                   "vkCmdCopyImage2KHR: Invalid commandBuffer "
7321
0
                   "[VUID-vkCmdCopyImage2KHR-commandBuffer-parameter]");
7322
0
        abort(); /* Intentionally fail so user can correct issue. */
7323
0
    }
7324
0
    disp->CmdCopyImage2KHR(commandBuffer, pCopyImageInfo);
7325
0
}
7326
7327
VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage2KHR(
7328
    VkCommandBuffer                             commandBuffer,
7329
0
    const VkCopyBufferToImageInfo2*             pCopyBufferToImageInfo) {
7330
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7331
0
    if (NULL == disp) {
7332
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7333
0
                   "vkCmdCopyBufferToImage2KHR: Invalid commandBuffer "
7334
0
                   "[VUID-vkCmdCopyBufferToImage2KHR-commandBuffer-parameter]");
7335
0
        abort(); /* Intentionally fail so user can correct issue. */
7336
0
    }
7337
0
    disp->CmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo);
7338
0
}
7339
7340
VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer2KHR(
7341
    VkCommandBuffer                             commandBuffer,
7342
0
    const VkCopyImageToBufferInfo2*             pCopyImageToBufferInfo) {
7343
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7344
0
    if (NULL == disp) {
7345
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7346
0
                   "vkCmdCopyImageToBuffer2KHR: Invalid commandBuffer "
7347
0
                   "[VUID-vkCmdCopyImageToBuffer2KHR-commandBuffer-parameter]");
7348
0
        abort(); /* Intentionally fail so user can correct issue. */
7349
0
    }
7350
0
    disp->CmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo);
7351
0
}
7352
7353
VKAPI_ATTR void VKAPI_CALL CmdBlitImage2KHR(
7354
    VkCommandBuffer                             commandBuffer,
7355
0
    const VkBlitImageInfo2*                     pBlitImageInfo) {
7356
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7357
0
    if (NULL == disp) {
7358
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7359
0
                   "vkCmdBlitImage2KHR: Invalid commandBuffer "
7360
0
                   "[VUID-vkCmdBlitImage2KHR-commandBuffer-parameter]");
7361
0
        abort(); /* Intentionally fail so user can correct issue. */
7362
0
    }
7363
0
    disp->CmdBlitImage2KHR(commandBuffer, pBlitImageInfo);
7364
0
}
7365
7366
VKAPI_ATTR void VKAPI_CALL CmdResolveImage2KHR(
7367
    VkCommandBuffer                             commandBuffer,
7368
0
    const VkResolveImageInfo2*                  pResolveImageInfo) {
7369
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7370
0
    if (NULL == disp) {
7371
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7372
0
                   "vkCmdResolveImage2KHR: Invalid commandBuffer "
7373
0
                   "[VUID-vkCmdResolveImage2KHR-commandBuffer-parameter]");
7374
0
        abort(); /* Intentionally fail so user can correct issue. */
7375
0
    }
7376
0
    disp->CmdResolveImage2KHR(commandBuffer, pResolveImageInfo);
7377
0
}
7378
7379
7380
// ---- VK_KHR_ray_tracing_maintenance1 extension trampoline/terminators
7381
7382
VKAPI_ATTR void VKAPI_CALL CmdTraceRaysIndirect2KHR(
7383
    VkCommandBuffer                             commandBuffer,
7384
0
    VkDeviceAddress                             indirectDeviceAddress) {
7385
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7386
0
    if (NULL == disp) {
7387
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7388
0
                   "vkCmdTraceRaysIndirect2KHR: Invalid commandBuffer "
7389
0
                   "[VUID-vkCmdTraceRaysIndirect2KHR-commandBuffer-parameter]");
7390
0
        abort(); /* Intentionally fail so user can correct issue. */
7391
0
    }
7392
0
    disp->CmdTraceRaysIndirect2KHR(commandBuffer, indirectDeviceAddress);
7393
0
}
7394
7395
7396
// ---- VK_KHR_maintenance4 extension trampoline/terminators
7397
7398
VKAPI_ATTR void VKAPI_CALL GetDeviceBufferMemoryRequirementsKHR(
7399
    VkDevice                                    device,
7400
    const VkDeviceBufferMemoryRequirements*     pInfo,
7401
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
7402
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7403
0
    if (NULL == disp) {
7404
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7405
0
                   "vkGetDeviceBufferMemoryRequirementsKHR: Invalid device "
7406
0
                   "[VUID-vkGetDeviceBufferMemoryRequirementsKHR-device-parameter]");
7407
0
        abort(); /* Intentionally fail so user can correct issue. */
7408
0
    }
7409
0
    disp->GetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements);
7410
0
}
7411
7412
VKAPI_ATTR void VKAPI_CALL GetDeviceImageMemoryRequirementsKHR(
7413
    VkDevice                                    device,
7414
    const VkDeviceImageMemoryRequirements*      pInfo,
7415
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
7416
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7417
0
    if (NULL == disp) {
7418
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7419
0
                   "vkGetDeviceImageMemoryRequirementsKHR: Invalid device "
7420
0
                   "[VUID-vkGetDeviceImageMemoryRequirementsKHR-device-parameter]");
7421
0
        abort(); /* Intentionally fail so user can correct issue. */
7422
0
    }
7423
0
    disp->GetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements);
7424
0
}
7425
7426
VKAPI_ATTR void VKAPI_CALL GetDeviceImageSparseMemoryRequirementsKHR(
7427
    VkDevice                                    device,
7428
    const VkDeviceImageMemoryRequirements*      pInfo,
7429
    uint32_t*                                   pSparseMemoryRequirementCount,
7430
0
    VkSparseImageMemoryRequirements2*           pSparseMemoryRequirements) {
7431
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7432
0
    if (NULL == disp) {
7433
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7434
0
                   "vkGetDeviceImageSparseMemoryRequirementsKHR: Invalid device "
7435
0
                   "[VUID-vkGetDeviceImageSparseMemoryRequirementsKHR-device-parameter]");
7436
0
        abort(); /* Intentionally fail so user can correct issue. */
7437
0
    }
7438
0
    disp->GetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
7439
0
}
7440
7441
7442
// ---- VK_KHR_maintenance5 extension trampoline/terminators
7443
7444
VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer2KHR(
7445
    VkCommandBuffer                             commandBuffer,
7446
    VkBuffer                                    buffer,
7447
    VkDeviceSize                                offset,
7448
    VkDeviceSize                                size,
7449
0
    VkIndexType                                 indexType) {
7450
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7451
0
    if (NULL == disp) {
7452
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7453
0
                   "vkCmdBindIndexBuffer2KHR: Invalid commandBuffer "
7454
0
                   "[VUID-vkCmdBindIndexBuffer2KHR-commandBuffer-parameter]");
7455
0
        abort(); /* Intentionally fail so user can correct issue. */
7456
0
    }
7457
0
    disp->CmdBindIndexBuffer2KHR(commandBuffer, buffer, offset, size, indexType);
7458
0
}
7459
7460
VKAPI_ATTR void VKAPI_CALL GetRenderingAreaGranularityKHR(
7461
    VkDevice                                    device,
7462
    const VkRenderingAreaInfo*                  pRenderingAreaInfo,
7463
0
    VkExtent2D*                                 pGranularity) {
7464
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7465
0
    if (NULL == disp) {
7466
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7467
0
                   "vkGetRenderingAreaGranularityKHR: Invalid device "
7468
0
                   "[VUID-vkGetRenderingAreaGranularityKHR-device-parameter]");
7469
0
        abort(); /* Intentionally fail so user can correct issue. */
7470
0
    }
7471
0
    disp->GetRenderingAreaGranularityKHR(device, pRenderingAreaInfo, pGranularity);
7472
0
}
7473
7474
VKAPI_ATTR void VKAPI_CALL GetDeviceImageSubresourceLayoutKHR(
7475
    VkDevice                                    device,
7476
    const VkDeviceImageSubresourceInfo*         pInfo,
7477
0
    VkSubresourceLayout2*                       pLayout) {
7478
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7479
0
    if (NULL == disp) {
7480
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7481
0
                   "vkGetDeviceImageSubresourceLayoutKHR: Invalid device "
7482
0
                   "[VUID-vkGetDeviceImageSubresourceLayoutKHR-device-parameter]");
7483
0
        abort(); /* Intentionally fail so user can correct issue. */
7484
0
    }
7485
0
    disp->GetDeviceImageSubresourceLayoutKHR(device, pInfo, pLayout);
7486
0
}
7487
7488
VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2KHR(
7489
    VkDevice                                    device,
7490
    VkImage                                     image,
7491
    const VkImageSubresource2*                  pSubresource,
7492
0
    VkSubresourceLayout2*                       pLayout) {
7493
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7494
0
    if (NULL == disp) {
7495
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7496
0
                   "vkGetImageSubresourceLayout2KHR: Invalid device "
7497
0
                   "[VUID-vkGetImageSubresourceLayout2KHR-device-parameter]");
7498
0
        abort(); /* Intentionally fail so user can correct issue. */
7499
0
    }
7500
0
    disp->GetImageSubresourceLayout2KHR(device, image, pSubresource, pLayout);
7501
0
}
7502
7503
7504
// ---- VK_KHR_present_wait2 extension trampoline/terminators
7505
7506
VKAPI_ATTR VkResult VKAPI_CALL WaitForPresent2KHR(
7507
    VkDevice                                    device,
7508
    VkSwapchainKHR                              swapchain,
7509
0
    const VkPresentWait2InfoKHR*                pPresentWait2Info) {
7510
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7511
0
    if (NULL == disp) {
7512
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7513
0
                   "vkWaitForPresent2KHR: Invalid device "
7514
0
                   "[VUID-vkWaitForPresent2KHR-device-parameter]");
7515
0
        abort(); /* Intentionally fail so user can correct issue. */
7516
0
    }
7517
0
    return disp->WaitForPresent2KHR(device, swapchain, pPresentWait2Info);
7518
0
}
7519
7520
7521
// ---- VK_KHR_pipeline_binary extension trampoline/terminators
7522
7523
VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineBinariesKHR(
7524
    VkDevice                                    device,
7525
    const VkPipelineBinaryCreateInfoKHR*        pCreateInfo,
7526
    const VkAllocationCallbacks*                pAllocator,
7527
0
    VkPipelineBinaryHandlesInfoKHR*             pBinaries) {
7528
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7529
0
    if (NULL == disp) {
7530
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7531
0
                   "vkCreatePipelineBinariesKHR: Invalid device "
7532
0
                   "[VUID-vkCreatePipelineBinariesKHR-device-parameter]");
7533
0
        abort(); /* Intentionally fail so user can correct issue. */
7534
0
    }
7535
0
    return disp->CreatePipelineBinariesKHR(device, pCreateInfo, pAllocator, pBinaries);
7536
0
}
7537
7538
VKAPI_ATTR void VKAPI_CALL DestroyPipelineBinaryKHR(
7539
    VkDevice                                    device,
7540
    VkPipelineBinaryKHR                         pipelineBinary,
7541
0
    const VkAllocationCallbacks*                pAllocator) {
7542
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7543
0
    if (NULL == disp) {
7544
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7545
0
                   "vkDestroyPipelineBinaryKHR: Invalid device "
7546
0
                   "[VUID-vkDestroyPipelineBinaryKHR-device-parameter]");
7547
0
        abort(); /* Intentionally fail so user can correct issue. */
7548
0
    }
7549
0
    disp->DestroyPipelineBinaryKHR(device, pipelineBinary, pAllocator);
7550
0
}
7551
7552
VKAPI_ATTR VkResult VKAPI_CALL GetPipelineKeyKHR(
7553
    VkDevice                                    device,
7554
    const VkPipelineCreateInfoKHR*              pPipelineCreateInfo,
7555
0
    VkPipelineBinaryKeyKHR*                     pPipelineKey) {
7556
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7557
0
    if (NULL == disp) {
7558
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7559
0
                   "vkGetPipelineKeyKHR: Invalid device "
7560
0
                   "[VUID-vkGetPipelineKeyKHR-device-parameter]");
7561
0
        abort(); /* Intentionally fail so user can correct issue. */
7562
0
    }
7563
0
    return disp->GetPipelineKeyKHR(device, pPipelineCreateInfo, pPipelineKey);
7564
0
}
7565
7566
VKAPI_ATTR VkResult VKAPI_CALL GetPipelineBinaryDataKHR(
7567
    VkDevice                                    device,
7568
    const VkPipelineBinaryDataInfoKHR*          pInfo,
7569
    VkPipelineBinaryKeyKHR*                     pPipelineBinaryKey,
7570
    size_t*                                     pPipelineBinaryDataSize,
7571
0
    void*                                       pPipelineBinaryData) {
7572
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7573
0
    if (NULL == disp) {
7574
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7575
0
                   "vkGetPipelineBinaryDataKHR: Invalid device "
7576
0
                   "[VUID-vkGetPipelineBinaryDataKHR-device-parameter]");
7577
0
        abort(); /* Intentionally fail so user can correct issue. */
7578
0
    }
7579
0
    return disp->GetPipelineBinaryDataKHR(device, pInfo, pPipelineBinaryKey, pPipelineBinaryDataSize, pPipelineBinaryData);
7580
0
}
7581
7582
VKAPI_ATTR VkResult VKAPI_CALL ReleaseCapturedPipelineDataKHR(
7583
    VkDevice                                    device,
7584
    const VkReleaseCapturedPipelineDataInfoKHR* pInfo,
7585
0
    const VkAllocationCallbacks*                pAllocator) {
7586
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7587
0
    if (NULL == disp) {
7588
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7589
0
                   "vkReleaseCapturedPipelineDataKHR: Invalid device "
7590
0
                   "[VUID-vkReleaseCapturedPipelineDataKHR-device-parameter]");
7591
0
        abort(); /* Intentionally fail so user can correct issue. */
7592
0
    }
7593
0
    return disp->ReleaseCapturedPipelineDataKHR(device, pInfo, pAllocator);
7594
0
}
7595
7596
7597
// ---- VK_KHR_swapchain_maintenance1 extension trampoline/terminators
7598
7599
VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesKHR(
7600
    VkDevice                                    device,
7601
0
    const VkReleaseSwapchainImagesInfoKHR*      pReleaseInfo) {
7602
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7603
0
    if (NULL == disp) {
7604
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7605
0
                   "vkReleaseSwapchainImagesKHR: Invalid device "
7606
0
                   "[VUID-vkReleaseSwapchainImagesKHR-device-parameter]");
7607
0
        abort(); /* Intentionally fail so user can correct issue. */
7608
0
    }
7609
0
    return disp->ReleaseSwapchainImagesKHR(device, pReleaseInfo);
7610
0
}
7611
7612
7613
// ---- VK_KHR_cooperative_matrix extension trampoline/terminators
7614
7615
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
7616
    VkPhysicalDevice                            physicalDevice,
7617
    uint32_t*                                   pPropertyCount,
7618
0
    VkCooperativeMatrixPropertiesKHR*           pProperties) {
7619
0
    const VkLayerInstanceDispatchTable *disp;
7620
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
7621
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
7622
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7623
0
                   "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR: Invalid physicalDevice "
7624
0
                   "[VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR-physicalDevice-parameter]");
7625
0
        abort(); /* Intentionally fail so user can correct issue. */
7626
0
    }
7627
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
7628
0
    return disp->GetPhysicalDeviceCooperativeMatrixPropertiesKHR(unwrapped_phys_dev, pPropertyCount, pProperties);
7629
0
}
7630
7631
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCooperativeMatrixPropertiesKHR(
7632
    VkPhysicalDevice                            physicalDevice,
7633
    uint32_t*                                   pPropertyCount,
7634
0
    VkCooperativeMatrixPropertiesKHR*           pProperties) {
7635
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
7636
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
7637
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixPropertiesKHR) {
7638
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
7639
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCooperativeMatrixPropertiesKHR");
7640
0
        abort(); /* Intentionally fail so user can correct issue. */
7641
0
    }
7642
0
    return icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixPropertiesKHR(phys_dev_term->phys_dev, pPropertyCount, pProperties);
7643
0
}
7644
7645
7646
// ---- VK_KHR_line_rasterization extension trampoline/terminators
7647
7648
VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleKHR(
7649
    VkCommandBuffer                             commandBuffer,
7650
    uint32_t                                    lineStippleFactor,
7651
0
    uint16_t                                    lineStipplePattern) {
7652
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7653
0
    if (NULL == disp) {
7654
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7655
0
                   "vkCmdSetLineStippleKHR: Invalid commandBuffer "
7656
0
                   "[VUID-vkCmdSetLineStippleKHR-commandBuffer-parameter]");
7657
0
        abort(); /* Intentionally fail so user can correct issue. */
7658
0
    }
7659
0
    disp->CmdSetLineStippleKHR(commandBuffer, lineStippleFactor, lineStipplePattern);
7660
0
}
7661
7662
7663
// ---- VK_KHR_calibrated_timestamps extension trampoline/terminators
7664
7665
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsKHR(
7666
    VkPhysicalDevice                            physicalDevice,
7667
    uint32_t*                                   pTimeDomainCount,
7668
0
    VkTimeDomainKHR*                            pTimeDomains) {
7669
0
    const VkLayerInstanceDispatchTable *disp;
7670
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
7671
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
7672
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7673
0
                   "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR: Invalid physicalDevice "
7674
0
                   "[VUID-vkGetPhysicalDeviceCalibrateableTimeDomainsKHR-physicalDevice-parameter]");
7675
0
        abort(); /* Intentionally fail so user can correct issue. */
7676
0
    }
7677
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
7678
0
    return disp->GetPhysicalDeviceCalibrateableTimeDomainsKHR(unwrapped_phys_dev, pTimeDomainCount, pTimeDomains);
7679
0
}
7680
7681
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCalibrateableTimeDomainsKHR(
7682
    VkPhysicalDevice                            physicalDevice,
7683
    uint32_t*                                   pTimeDomainCount,
7684
0
    VkTimeDomainKHR*                            pTimeDomains) {
7685
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
7686
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
7687
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCalibrateableTimeDomainsKHR) {
7688
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
7689
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCalibrateableTimeDomainsKHR");
7690
0
        abort(); /* Intentionally fail so user can correct issue. */
7691
0
    }
7692
0
    return icd_term->dispatch.GetPhysicalDeviceCalibrateableTimeDomainsKHR(phys_dev_term->phys_dev, pTimeDomainCount, pTimeDomains);
7693
0
}
7694
7695
VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsKHR(
7696
    VkDevice                                    device,
7697
    uint32_t                                    timestampCount,
7698
    const VkCalibratedTimestampInfoKHR*         pTimestampInfos,
7699
    uint64_t*                                   pTimestamps,
7700
0
    uint64_t*                                   pMaxDeviation) {
7701
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7702
0
    if (NULL == disp) {
7703
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7704
0
                   "vkGetCalibratedTimestampsKHR: Invalid device "
7705
0
                   "[VUID-vkGetCalibratedTimestampsKHR-device-parameter]");
7706
0
        abort(); /* Intentionally fail so user can correct issue. */
7707
0
    }
7708
0
    return disp->GetCalibratedTimestampsKHR(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation);
7709
0
}
7710
7711
7712
// ---- VK_KHR_maintenance6 extension trampoline/terminators
7713
7714
VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets2KHR(
7715
    VkCommandBuffer                             commandBuffer,
7716
0
    const VkBindDescriptorSetsInfo*             pBindDescriptorSetsInfo) {
7717
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7718
0
    if (NULL == disp) {
7719
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7720
0
                   "vkCmdBindDescriptorSets2KHR: Invalid commandBuffer "
7721
0
                   "[VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-parameter]");
7722
0
        abort(); /* Intentionally fail so user can correct issue. */
7723
0
    }
7724
0
    disp->CmdBindDescriptorSets2KHR(commandBuffer, pBindDescriptorSetsInfo);
7725
0
}
7726
7727
VKAPI_ATTR void VKAPI_CALL CmdPushConstants2KHR(
7728
    VkCommandBuffer                             commandBuffer,
7729
0
    const VkPushConstantsInfo*                  pPushConstantsInfo) {
7730
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7731
0
    if (NULL == disp) {
7732
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7733
0
                   "vkCmdPushConstants2KHR: Invalid commandBuffer "
7734
0
                   "[VUID-vkCmdPushConstants2KHR-commandBuffer-parameter]");
7735
0
        abort(); /* Intentionally fail so user can correct issue. */
7736
0
    }
7737
0
    disp->CmdPushConstants2KHR(commandBuffer, pPushConstantsInfo);
7738
0
}
7739
7740
VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSet2KHR(
7741
    VkCommandBuffer                             commandBuffer,
7742
0
    const VkPushDescriptorSetInfo*              pPushDescriptorSetInfo) {
7743
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7744
0
    if (NULL == disp) {
7745
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7746
0
                   "vkCmdPushDescriptorSet2KHR: Invalid commandBuffer "
7747
0
                   "[VUID-vkCmdPushDescriptorSet2KHR-commandBuffer-parameter]");
7748
0
        abort(); /* Intentionally fail so user can correct issue. */
7749
0
    }
7750
0
    disp->CmdPushDescriptorSet2KHR(commandBuffer, pPushDescriptorSetInfo);
7751
0
}
7752
7753
VKAPI_ATTR void VKAPI_CALL CmdPushDescriptorSetWithTemplate2KHR(
7754
    VkCommandBuffer                             commandBuffer,
7755
0
    const VkPushDescriptorSetWithTemplateInfo*  pPushDescriptorSetWithTemplateInfo) {
7756
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7757
0
    if (NULL == disp) {
7758
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7759
0
                   "vkCmdPushDescriptorSetWithTemplate2KHR: Invalid commandBuffer "
7760
0
                   "[VUID-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-parameter]");
7761
0
        abort(); /* Intentionally fail so user can correct issue. */
7762
0
    }
7763
0
    disp->CmdPushDescriptorSetWithTemplate2KHR(commandBuffer, pPushDescriptorSetWithTemplateInfo);
7764
0
}
7765
7766
VKAPI_ATTR void VKAPI_CALL CmdSetDescriptorBufferOffsets2EXT(
7767
    VkCommandBuffer                             commandBuffer,
7768
0
    const VkSetDescriptorBufferOffsetsInfoEXT*  pSetDescriptorBufferOffsetsInfo) {
7769
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7770
0
    if (NULL == disp) {
7771
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7772
0
                   "vkCmdSetDescriptorBufferOffsets2EXT: Invalid commandBuffer "
7773
0
                   "[VUID-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-parameter]");
7774
0
        abort(); /* Intentionally fail so user can correct issue. */
7775
0
    }
7776
0
    disp->CmdSetDescriptorBufferOffsets2EXT(commandBuffer, pSetDescriptorBufferOffsetsInfo);
7777
0
}
7778
7779
VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBufferEmbeddedSamplers2EXT(
7780
    VkCommandBuffer                             commandBuffer,
7781
0
    const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo) {
7782
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7783
0
    if (NULL == disp) {
7784
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7785
0
                   "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT: Invalid commandBuffer "
7786
0
                   "[VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-parameter]");
7787
0
        abort(); /* Intentionally fail so user can correct issue. */
7788
0
    }
7789
0
    disp->CmdBindDescriptorBufferEmbeddedSamplers2EXT(commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo);
7790
0
}
7791
7792
7793
// ---- VK_KHR_copy_memory_indirect extension trampoline/terminators
7794
7795
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectKHR(
7796
    VkCommandBuffer                             commandBuffer,
7797
0
    const VkCopyMemoryIndirectInfoKHR*          pCopyMemoryIndirectInfo) {
7798
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7799
0
    if (NULL == disp) {
7800
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7801
0
                   "vkCmdCopyMemoryIndirectKHR: Invalid commandBuffer "
7802
0
                   "[VUID-vkCmdCopyMemoryIndirectKHR-commandBuffer-parameter]");
7803
0
        abort(); /* Intentionally fail so user can correct issue. */
7804
0
    }
7805
0
    disp->CmdCopyMemoryIndirectKHR(commandBuffer, pCopyMemoryIndirectInfo);
7806
0
}
7807
7808
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectKHR(
7809
    VkCommandBuffer                             commandBuffer,
7810
0
    const VkCopyMemoryToImageIndirectInfoKHR*   pCopyMemoryToImageIndirectInfo) {
7811
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7812
0
    if (NULL == disp) {
7813
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7814
0
                   "vkCmdCopyMemoryToImageIndirectKHR: Invalid commandBuffer "
7815
0
                   "[VUID-vkCmdCopyMemoryToImageIndirectKHR-commandBuffer-parameter]");
7816
0
        abort(); /* Intentionally fail so user can correct issue. */
7817
0
    }
7818
0
    disp->CmdCopyMemoryToImageIndirectKHR(commandBuffer, pCopyMemoryToImageIndirectInfo);
7819
0
}
7820
7821
7822
// ---- VK_KHR_device_fault extension trampoline/terminators
7823
7824
VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultReportsKHR(
7825
    VkDevice                                    device,
7826
    uint64_t                                    timeout,
7827
    uint32_t*                                   pFaultCounts,
7828
0
    VkDeviceFaultInfoKHR*                       pFaultInfo) {
7829
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7830
0
    if (NULL == disp) {
7831
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7832
0
                   "vkGetDeviceFaultReportsKHR: Invalid device "
7833
0
                   "[VUID-vkGetDeviceFaultReportsKHR-device-parameter]");
7834
0
        abort(); /* Intentionally fail so user can correct issue. */
7835
0
    }
7836
0
    return disp->GetDeviceFaultReportsKHR(device, timeout, pFaultCounts, pFaultInfo);
7837
0
}
7838
7839
VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultDebugInfoKHR(
7840
    VkDevice                                    device,
7841
0
    VkDeviceFaultDebugInfoKHR*                  pDebugInfo) {
7842
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7843
0
    if (NULL == disp) {
7844
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7845
0
                   "vkGetDeviceFaultDebugInfoKHR: Invalid device "
7846
0
                   "[VUID-vkGetDeviceFaultDebugInfoKHR-device-parameter]");
7847
0
        abort(); /* Intentionally fail so user can correct issue. */
7848
0
    }
7849
0
    return disp->GetDeviceFaultDebugInfoKHR(device, pDebugInfo);
7850
0
}
7851
7852
7853
// ---- VK_KHR_maintenance10 extension trampoline/terminators
7854
7855
VKAPI_ATTR void VKAPI_CALL CmdEndRendering2KHR(
7856
    VkCommandBuffer                             commandBuffer,
7857
0
    const VkRenderingEndInfoKHR*                pRenderingEndInfo) {
7858
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7859
0
    if (NULL == disp) {
7860
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7861
0
                   "vkCmdEndRendering2KHR: Invalid commandBuffer "
7862
0
                   "[VUID-vkCmdEndRendering2KHR-commandBuffer-parameter]");
7863
0
        abort(); /* Intentionally fail so user can correct issue. */
7864
0
    }
7865
0
    disp->CmdEndRendering2KHR(commandBuffer, pRenderingEndInfo);
7866
0
}
7867
7868
7869
// ---- VK_EXT_debug_marker extension trampoline/terminators
7870
7871
VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(
7872
    VkDevice                                    device,
7873
0
    const VkDebugMarkerObjectTagInfoEXT*        pTagInfo) {
7874
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7875
0
    if (NULL == disp) {
7876
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7877
0
                   "vkDebugMarkerSetObjectTagEXT: Invalid device "
7878
0
                   "[VUID-vkDebugMarkerSetObjectTagEXT-device-parameter]");
7879
0
        abort(); /* Intentionally fail so user can correct issue. */
7880
0
    }
7881
0
    VkDebugMarkerObjectTagInfoEXT local_tag_info;
7882
0
    memcpy(&local_tag_info, pTagInfo, sizeof(VkDebugMarkerObjectTagInfoEXT));
7883
    // If this is a physical device, we have to replace it with the proper one for the next call.
7884
0
    if (pTagInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT) {
7885
0
        struct loader_physical_device_tramp *phys_dev_tramp = (struct loader_physical_device_tramp *)(uintptr_t)pTagInfo->object;
7886
0
        local_tag_info.object = (uint64_t)(uintptr_t)phys_dev_tramp->phys_dev;
7887
0
    }
7888
0
    if (pTagInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT) {
7889
0
        struct loader_instance* instance = (struct loader_instance *)(uintptr_t)pTagInfo->object;
7890
0
        local_tag_info.object = (uint64_t)(uintptr_t)instance->instance;
7891
0
    }
7892
0
    return disp->DebugMarkerSetObjectTagEXT(device, &local_tag_info);
7893
0
}
7894
7895
VKAPI_ATTR VkResult VKAPI_CALL terminator_DebugMarkerSetObjectTagEXT(
7896
    VkDevice                                    device,
7897
0
    const VkDebugMarkerObjectTagInfoEXT*        pTagInfo) {
7898
0
    struct loader_device *dev;
7899
0
    struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev);
7900
0
    if (NULL == icd_term || NULL == dev) {
7901
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "DebugMarkerSetObjectTagEXT: Invalid device handle");
7902
0
        abort(); /* Intentionally fail so user can correct issue. */
7903
0
    }
7904
0
    VkDebugMarkerObjectTagInfoEXT local_tag_info;
7905
0
    memcpy(&local_tag_info, pTagInfo, sizeof(VkDebugMarkerObjectTagInfoEXT));
7906
    // If this is a physical device, we have to replace it with the proper one for the next call.
7907
0
    if (pTagInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT) {
7908
0
        struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)(uintptr_t)pTagInfo->object;
7909
0
        local_tag_info.object = (uint64_t)(uintptr_t)phys_dev_term->phys_dev;
7910
    // If this is a KHR_surface, and the ICD has created its own, we have to replace it with the proper one for the next call.
7911
0
    } else if (pTagInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT) {
7912
0
        if (NULL != dev && NULL != dev->loader_dispatch.core_dispatch.CreateSwapchainKHR) {
7913
0
            VkSurfaceKHR surface = (VkSurfaceKHR)(uintptr_t)pTagInfo->object;
7914
0
            if (wsi_unwrap_icd_surface(icd_term, &surface) == VK_SUCCESS) {
7915
0
                local_tag_info.object = (uint64_t)surface;
7916
0
            }
7917
0
        }
7918
    // If this is an instance we have to replace it with the proper one for the next call.
7919
0
    } else if (pTagInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT) {
7920
0
        local_tag_info.object = (uint64_t)(uintptr_t)icd_term->instance;
7921
0
    }
7922
    // Exit early if the driver does not support the function - this can happen as a layer or the loader itself supports
7923
    // debug utils but the driver does not.
7924
0
    if (NULL == dev->loader_dispatch.extension_terminator_dispatch.DebugMarkerSetObjectTagEXT)
7925
0
        return VK_SUCCESS;
7926
0
    return dev->loader_dispatch.extension_terminator_dispatch.DebugMarkerSetObjectTagEXT(device, &local_tag_info);
7927
0
}
7928
7929
VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(
7930
    VkDevice                                    device,
7931
0
    const VkDebugMarkerObjectNameInfoEXT*       pNameInfo) {
7932
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
7933
0
    if (NULL == disp) {
7934
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7935
0
                   "vkDebugMarkerSetObjectNameEXT: Invalid device "
7936
0
                   "[VUID-vkDebugMarkerSetObjectNameEXT-device-parameter]");
7937
0
        abort(); /* Intentionally fail so user can correct issue. */
7938
0
    }
7939
0
    VkDebugMarkerObjectNameInfoEXT local_name_info;
7940
0
    memcpy(&local_name_info, pNameInfo, sizeof(VkDebugMarkerObjectNameInfoEXT));
7941
    // If this is a physical device, we have to replace it with the proper one for the next call.
7942
0
    if (pNameInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT) {
7943
0
        struct loader_physical_device_tramp *phys_dev_tramp = (struct loader_physical_device_tramp *)(uintptr_t)pNameInfo->object;
7944
0
        local_name_info.object = (uint64_t)(uintptr_t)phys_dev_tramp->phys_dev;
7945
0
    }
7946
0
    if (pNameInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT) {
7947
0
        struct loader_instance* instance = (struct loader_instance *)(uintptr_t)pNameInfo->object;
7948
0
        local_name_info.object = (uint64_t)(uintptr_t)instance->instance;
7949
0
    }
7950
0
    return disp->DebugMarkerSetObjectNameEXT(device, &local_name_info);
7951
0
}
7952
7953
VKAPI_ATTR VkResult VKAPI_CALL terminator_DebugMarkerSetObjectNameEXT(
7954
    VkDevice                                    device,
7955
0
    const VkDebugMarkerObjectNameInfoEXT*       pNameInfo) {
7956
0
    struct loader_device *dev;
7957
0
    struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev);
7958
0
    if (NULL == icd_term || NULL == dev) {
7959
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "DebugMarkerSetObjectNameEXT: Invalid device handle");
7960
0
        abort(); /* Intentionally fail so user can correct issue. */
7961
0
    }
7962
0
    VkDebugMarkerObjectNameInfoEXT local_name_info;
7963
0
    memcpy(&local_name_info, pNameInfo, sizeof(VkDebugMarkerObjectNameInfoEXT));
7964
    // If this is a physical device, we have to replace it with the proper one for the next call.
7965
0
    if (pNameInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT) {
7966
0
        struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)(uintptr_t)pNameInfo->object;
7967
0
        local_name_info.object = (uint64_t)(uintptr_t)phys_dev_term->phys_dev;
7968
    // If this is a KHR_surface, and the ICD has created its own, we have to replace it with the proper one for the next call.
7969
0
    } else if (pNameInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT) {
7970
0
        if (NULL != dev && NULL != dev->loader_dispatch.core_dispatch.CreateSwapchainKHR) {
7971
0
            VkSurfaceKHR surface = (VkSurfaceKHR)(uintptr_t)pNameInfo->object;
7972
0
            if (wsi_unwrap_icd_surface(icd_term, &surface) == VK_SUCCESS) {
7973
0
                local_name_info.object = (uint64_t)surface;
7974
0
            }
7975
0
        }
7976
    // If this is an instance we have to replace it with the proper one for the next call.
7977
0
    } else if (pNameInfo->objectType == VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT) {
7978
0
        local_name_info.object = (uint64_t)(uintptr_t)icd_term->instance;
7979
0
    }
7980
    // Exit early if the driver does not support the function - this can happen as a layer or the loader itself supports
7981
    // debug utils but the driver does not.
7982
0
    if (NULL == dev->loader_dispatch.extension_terminator_dispatch.DebugMarkerSetObjectNameEXT)
7983
0
        return VK_SUCCESS;
7984
0
    return dev->loader_dispatch.extension_terminator_dispatch.DebugMarkerSetObjectNameEXT(device, &local_name_info);
7985
0
}
7986
7987
VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerBeginEXT(
7988
    VkCommandBuffer                             commandBuffer,
7989
0
    const VkDebugMarkerMarkerInfoEXT*           pMarkerInfo) {
7990
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
7991
0
    if (NULL == disp) {
7992
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
7993
0
                   "vkCmdDebugMarkerBeginEXT: Invalid commandBuffer "
7994
0
                   "[VUID-vkCmdDebugMarkerBeginEXT-commandBuffer-parameter]");
7995
0
        abort(); /* Intentionally fail so user can correct issue. */
7996
0
    }
7997
0
    disp->CmdDebugMarkerBeginEXT(commandBuffer, pMarkerInfo);
7998
0
}
7999
8000
VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerEndEXT(
8001
0
    VkCommandBuffer                             commandBuffer) {
8002
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8003
0
    if (NULL == disp) {
8004
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8005
0
                   "vkCmdDebugMarkerEndEXT: Invalid commandBuffer "
8006
0
                   "[VUID-vkCmdDebugMarkerEndEXT-commandBuffer-parameter]");
8007
0
        abort(); /* Intentionally fail so user can correct issue. */
8008
0
    }
8009
0
    disp->CmdDebugMarkerEndEXT(commandBuffer);
8010
0
}
8011
8012
VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT(
8013
    VkCommandBuffer                             commandBuffer,
8014
0
    const VkDebugMarkerMarkerInfoEXT*           pMarkerInfo) {
8015
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8016
0
    if (NULL == disp) {
8017
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8018
0
                   "vkCmdDebugMarkerInsertEXT: Invalid commandBuffer "
8019
0
                   "[VUID-vkCmdDebugMarkerInsertEXT-commandBuffer-parameter]");
8020
0
        abort(); /* Intentionally fail so user can correct issue. */
8021
0
    }
8022
0
    disp->CmdDebugMarkerInsertEXT(commandBuffer, pMarkerInfo);
8023
0
}
8024
8025
8026
// ---- VK_EXT_transform_feedback extension trampoline/terminators
8027
8028
VKAPI_ATTR void VKAPI_CALL CmdBindTransformFeedbackBuffersEXT(
8029
    VkCommandBuffer                             commandBuffer,
8030
    uint32_t                                    firstBinding,
8031
    uint32_t                                    bindingCount,
8032
    const VkBuffer*                             pBuffers,
8033
    const VkDeviceSize*                         pOffsets,
8034
0
    const VkDeviceSize*                         pSizes) {
8035
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8036
0
    if (NULL == disp) {
8037
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8038
0
                   "vkCmdBindTransformFeedbackBuffersEXT: Invalid commandBuffer "
8039
0
                   "[VUID-vkCmdBindTransformFeedbackBuffersEXT-commandBuffer-parameter]");
8040
0
        abort(); /* Intentionally fail so user can correct issue. */
8041
0
    }
8042
0
    disp->CmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
8043
0
}
8044
8045
VKAPI_ATTR void VKAPI_CALL CmdBeginTransformFeedbackEXT(
8046
    VkCommandBuffer                             commandBuffer,
8047
    uint32_t                                    firstCounterBuffer,
8048
    uint32_t                                    counterBufferCount,
8049
    const VkBuffer*                             pCounterBuffers,
8050
0
    const VkDeviceSize*                         pCounterBufferOffsets) {
8051
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8052
0
    if (NULL == disp) {
8053
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8054
0
                   "vkCmdBeginTransformFeedbackEXT: Invalid commandBuffer "
8055
0
                   "[VUID-vkCmdBeginTransformFeedbackEXT-commandBuffer-parameter]");
8056
0
        abort(); /* Intentionally fail so user can correct issue. */
8057
0
    }
8058
0
    disp->CmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
8059
0
}
8060
8061
VKAPI_ATTR void VKAPI_CALL CmdEndTransformFeedbackEXT(
8062
    VkCommandBuffer                             commandBuffer,
8063
    uint32_t                                    firstCounterBuffer,
8064
    uint32_t                                    counterBufferCount,
8065
    const VkBuffer*                             pCounterBuffers,
8066
0
    const VkDeviceSize*                         pCounterBufferOffsets) {
8067
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8068
0
    if (NULL == disp) {
8069
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8070
0
                   "vkCmdEndTransformFeedbackEXT: Invalid commandBuffer "
8071
0
                   "[VUID-vkCmdEndTransformFeedbackEXT-commandBuffer-parameter]");
8072
0
        abort(); /* Intentionally fail so user can correct issue. */
8073
0
    }
8074
0
    disp->CmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
8075
0
}
8076
8077
VKAPI_ATTR void VKAPI_CALL CmdBeginQueryIndexedEXT(
8078
    VkCommandBuffer                             commandBuffer,
8079
    VkQueryPool                                 queryPool,
8080
    uint32_t                                    query,
8081
    VkQueryControlFlags                         flags,
8082
0
    uint32_t                                    index) {
8083
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8084
0
    if (NULL == disp) {
8085
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8086
0
                   "vkCmdBeginQueryIndexedEXT: Invalid commandBuffer "
8087
0
                   "[VUID-vkCmdBeginQueryIndexedEXT-commandBuffer-parameter]");
8088
0
        abort(); /* Intentionally fail so user can correct issue. */
8089
0
    }
8090
0
    disp->CmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index);
8091
0
}
8092
8093
VKAPI_ATTR void VKAPI_CALL CmdEndQueryIndexedEXT(
8094
    VkCommandBuffer                             commandBuffer,
8095
    VkQueryPool                                 queryPool,
8096
    uint32_t                                    query,
8097
0
    uint32_t                                    index) {
8098
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8099
0
    if (NULL == disp) {
8100
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8101
0
                   "vkCmdEndQueryIndexedEXT: Invalid commandBuffer "
8102
0
                   "[VUID-vkCmdEndQueryIndexedEXT-commandBuffer-parameter]");
8103
0
        abort(); /* Intentionally fail so user can correct issue. */
8104
0
    }
8105
0
    disp->CmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);
8106
0
}
8107
8108
VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectByteCountEXT(
8109
    VkCommandBuffer                             commandBuffer,
8110
    uint32_t                                    instanceCount,
8111
    uint32_t                                    firstInstance,
8112
    VkBuffer                                    counterBuffer,
8113
    VkDeviceSize                                counterBufferOffset,
8114
    uint32_t                                    counterOffset,
8115
0
    uint32_t                                    vertexStride) {
8116
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8117
0
    if (NULL == disp) {
8118
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8119
0
                   "vkCmdDrawIndirectByteCountEXT: Invalid commandBuffer "
8120
0
                   "[VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-parameter]");
8121
0
        abort(); /* Intentionally fail so user can correct issue. */
8122
0
    }
8123
0
    disp->CmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
8124
0
}
8125
8126
8127
// ---- VK_NVX_binary_import extension trampoline/terminators
8128
8129
VKAPI_ATTR VkResult VKAPI_CALL CreateCuModuleNVX(
8130
    VkDevice                                    device,
8131
    const VkCuModuleCreateInfoNVX*              pCreateInfo,
8132
    const VkAllocationCallbacks*                pAllocator,
8133
0
    VkCuModuleNVX*                              pModule) {
8134
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8135
0
    if (NULL == disp) {
8136
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8137
0
                   "vkCreateCuModuleNVX: Invalid device "
8138
0
                   "[VUID-vkCreateCuModuleNVX-device-parameter]");
8139
0
        abort(); /* Intentionally fail so user can correct issue. */
8140
0
    }
8141
0
    return disp->CreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule);
8142
0
}
8143
8144
VKAPI_ATTR VkResult VKAPI_CALL CreateCuFunctionNVX(
8145
    VkDevice                                    device,
8146
    const VkCuFunctionCreateInfoNVX*            pCreateInfo,
8147
    const VkAllocationCallbacks*                pAllocator,
8148
0
    VkCuFunctionNVX*                            pFunction) {
8149
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8150
0
    if (NULL == disp) {
8151
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8152
0
                   "vkCreateCuFunctionNVX: Invalid device "
8153
0
                   "[VUID-vkCreateCuFunctionNVX-device-parameter]");
8154
0
        abort(); /* Intentionally fail so user can correct issue. */
8155
0
    }
8156
0
    return disp->CreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction);
8157
0
}
8158
8159
VKAPI_ATTR void VKAPI_CALL DestroyCuModuleNVX(
8160
    VkDevice                                    device,
8161
    VkCuModuleNVX                               module,
8162
0
    const VkAllocationCallbacks*                pAllocator) {
8163
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8164
0
    if (NULL == disp) {
8165
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8166
0
                   "vkDestroyCuModuleNVX: Invalid device "
8167
0
                   "[VUID-vkDestroyCuModuleNVX-device-parameter]");
8168
0
        abort(); /* Intentionally fail so user can correct issue. */
8169
0
    }
8170
0
    disp->DestroyCuModuleNVX(device, module, pAllocator);
8171
0
}
8172
8173
VKAPI_ATTR void VKAPI_CALL DestroyCuFunctionNVX(
8174
    VkDevice                                    device,
8175
    VkCuFunctionNVX                             function,
8176
0
    const VkAllocationCallbacks*                pAllocator) {
8177
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8178
0
    if (NULL == disp) {
8179
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8180
0
                   "vkDestroyCuFunctionNVX: Invalid device "
8181
0
                   "[VUID-vkDestroyCuFunctionNVX-device-parameter]");
8182
0
        abort(); /* Intentionally fail so user can correct issue. */
8183
0
    }
8184
0
    disp->DestroyCuFunctionNVX(device, function, pAllocator);
8185
0
}
8186
8187
VKAPI_ATTR void VKAPI_CALL CmdCuLaunchKernelNVX(
8188
    VkCommandBuffer                             commandBuffer,
8189
0
    const VkCuLaunchInfoNVX*                    pLaunchInfo) {
8190
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8191
0
    if (NULL == disp) {
8192
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8193
0
                   "vkCmdCuLaunchKernelNVX: Invalid commandBuffer "
8194
0
                   "[VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameter]");
8195
0
        abort(); /* Intentionally fail so user can correct issue. */
8196
0
    }
8197
0
    disp->CmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo);
8198
0
}
8199
8200
8201
// ---- VK_NVX_image_view_handle extension trampoline/terminators
8202
8203
VKAPI_ATTR uint32_t VKAPI_CALL GetImageViewHandleNVX(
8204
    VkDevice                                    device,
8205
0
    const VkImageViewHandleInfoNVX*             pInfo) {
8206
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8207
0
    if (NULL == disp) {
8208
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8209
0
                   "vkGetImageViewHandleNVX: Invalid device "
8210
0
                   "[VUID-vkGetImageViewHandleNVX-device-parameter]");
8211
0
        abort(); /* Intentionally fail so user can correct issue. */
8212
0
    }
8213
0
    return disp->GetImageViewHandleNVX(device, pInfo);
8214
0
}
8215
8216
VKAPI_ATTR uint64_t VKAPI_CALL GetImageViewHandle64NVX(
8217
    VkDevice                                    device,
8218
0
    const VkImageViewHandleInfoNVX*             pInfo) {
8219
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8220
0
    if (NULL == disp) {
8221
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8222
0
                   "vkGetImageViewHandle64NVX: Invalid device "
8223
0
                   "[VUID-vkGetImageViewHandle64NVX-device-parameter]");
8224
0
        abort(); /* Intentionally fail so user can correct issue. */
8225
0
    }
8226
0
    return disp->GetImageViewHandle64NVX(device, pInfo);
8227
0
}
8228
8229
VKAPI_ATTR VkResult VKAPI_CALL GetImageViewAddressNVX(
8230
    VkDevice                                    device,
8231
    VkImageView                                 imageView,
8232
0
    VkImageViewAddressPropertiesNVX*            pProperties) {
8233
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8234
0
    if (NULL == disp) {
8235
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8236
0
                   "vkGetImageViewAddressNVX: Invalid device "
8237
0
                   "[VUID-vkGetImageViewAddressNVX-device-parameter]");
8238
0
        abort(); /* Intentionally fail so user can correct issue. */
8239
0
    }
8240
0
    return disp->GetImageViewAddressNVX(device, imageView, pProperties);
8241
0
}
8242
8243
VKAPI_ATTR uint64_t VKAPI_CALL GetDeviceCombinedImageSamplerIndexNVX(
8244
    VkDevice                                    device,
8245
    uint64_t                                    imageViewIndex,
8246
0
    uint64_t                                    samplerIndex) {
8247
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8248
0
    if (NULL == disp) {
8249
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8250
0
                   "vkGetDeviceCombinedImageSamplerIndexNVX: Invalid device "
8251
0
                   "[VUID-vkGetDeviceCombinedImageSamplerIndexNVX-device-parameter]");
8252
0
        abort(); /* Intentionally fail so user can correct issue. */
8253
0
    }
8254
0
    return disp->GetDeviceCombinedImageSamplerIndexNVX(device, imageViewIndex, samplerIndex);
8255
0
}
8256
8257
8258
// ---- VK_AMD_draw_indirect_count extension trampoline/terminators
8259
8260
VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD(
8261
    VkCommandBuffer                             commandBuffer,
8262
    VkBuffer                                    buffer,
8263
    VkDeviceSize                                offset,
8264
    VkBuffer                                    countBuffer,
8265
    VkDeviceSize                                countBufferOffset,
8266
    uint32_t                                    maxDrawCount,
8267
0
    uint32_t                                    stride) {
8268
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8269
0
    if (NULL == disp) {
8270
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8271
0
                   "vkCmdDrawIndirectCountAMD: Invalid commandBuffer "
8272
0
                   "[VUID-vkCmdDrawIndirectCountAMD-commandBuffer-parameter]");
8273
0
        abort(); /* Intentionally fail so user can correct issue. */
8274
0
    }
8275
0
    disp->CmdDrawIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
8276
0
}
8277
8278
VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD(
8279
    VkCommandBuffer                             commandBuffer,
8280
    VkBuffer                                    buffer,
8281
    VkDeviceSize                                offset,
8282
    VkBuffer                                    countBuffer,
8283
    VkDeviceSize                                countBufferOffset,
8284
    uint32_t                                    maxDrawCount,
8285
0
    uint32_t                                    stride) {
8286
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8287
0
    if (NULL == disp) {
8288
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8289
0
                   "vkCmdDrawIndexedIndirectCountAMD: Invalid commandBuffer "
8290
0
                   "[VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-parameter]");
8291
0
        abort(); /* Intentionally fail so user can correct issue. */
8292
0
    }
8293
0
    disp->CmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
8294
0
}
8295
8296
8297
// ---- VK_AMD_shader_info extension trampoline/terminators
8298
8299
VKAPI_ATTR VkResult VKAPI_CALL GetShaderInfoAMD(
8300
    VkDevice                                    device,
8301
    VkPipeline                                  pipeline,
8302
    VkShaderStageFlagBits                       shaderStage,
8303
    VkShaderInfoTypeAMD                         infoType,
8304
    size_t*                                     pInfoSize,
8305
0
    void*                                       pInfo) {
8306
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8307
0
    if (NULL == disp) {
8308
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8309
0
                   "vkGetShaderInfoAMD: Invalid device "
8310
0
                   "[VUID-vkGetShaderInfoAMD-device-parameter]");
8311
0
        abort(); /* Intentionally fail so user can correct issue. */
8312
0
    }
8313
0
    return disp->GetShaderInfoAMD(device, pipeline, shaderStage, infoType, pInfoSize, pInfo);
8314
0
}
8315
8316
8317
// ---- VK_NV_external_memory_win32 extension trampoline/terminators
8318
8319
#if defined(VK_USE_PLATFORM_WIN32_KHR)
8320
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(
8321
    VkDevice                                    device,
8322
    VkDeviceMemory                              memory,
8323
    VkExternalMemoryHandleTypeFlagsNV           handleType,
8324
    HANDLE*                                     pHandle) {
8325
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8326
    if (NULL == disp) {
8327
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8328
                   "vkGetMemoryWin32HandleNV: Invalid device "
8329
                   "[VUID-vkGetMemoryWin32HandleNV-device-parameter]");
8330
        abort(); /* Intentionally fail so user can correct issue. */
8331
    }
8332
    return disp->GetMemoryWin32HandleNV(device, memory, handleType, pHandle);
8333
}
8334
8335
#endif // VK_USE_PLATFORM_WIN32_KHR
8336
8337
// ---- VK_EXT_conditional_rendering extension trampoline/terminators
8338
8339
VKAPI_ATTR void VKAPI_CALL CmdBeginConditionalRenderingEXT(
8340
    VkCommandBuffer                             commandBuffer,
8341
0
    const VkConditionalRenderingBeginInfoEXT*   pConditionalRenderingBegin) {
8342
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8343
0
    if (NULL == disp) {
8344
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8345
0
                   "vkCmdBeginConditionalRenderingEXT: Invalid commandBuffer "
8346
0
                   "[VUID-vkCmdBeginConditionalRenderingEXT-commandBuffer-parameter]");
8347
0
        abort(); /* Intentionally fail so user can correct issue. */
8348
0
    }
8349
0
    disp->CmdBeginConditionalRenderingEXT(commandBuffer, pConditionalRenderingBegin);
8350
0
}
8351
8352
VKAPI_ATTR void VKAPI_CALL CmdEndConditionalRenderingEXT(
8353
0
    VkCommandBuffer                             commandBuffer) {
8354
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8355
0
    if (NULL == disp) {
8356
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8357
0
                   "vkCmdEndConditionalRenderingEXT: Invalid commandBuffer "
8358
0
                   "[VUID-vkCmdEndConditionalRenderingEXT-commandBuffer-parameter]");
8359
0
        abort(); /* Intentionally fail so user can correct issue. */
8360
0
    }
8361
0
    disp->CmdEndConditionalRenderingEXT(commandBuffer);
8362
0
}
8363
8364
8365
// ---- VK_NV_clip_space_w_scaling extension trampoline/terminators
8366
8367
VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingNV(
8368
    VkCommandBuffer                             commandBuffer,
8369
    uint32_t                                    firstViewport,
8370
    uint32_t                                    viewportCount,
8371
0
    const VkViewportWScalingNV*                 pViewportWScalings) {
8372
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8373
0
    if (NULL == disp) {
8374
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8375
0
                   "vkCmdSetViewportWScalingNV: Invalid commandBuffer "
8376
0
                   "[VUID-vkCmdSetViewportWScalingNV-commandBuffer-parameter]");
8377
0
        abort(); /* Intentionally fail so user can correct issue. */
8378
0
    }
8379
0
    disp->CmdSetViewportWScalingNV(commandBuffer, firstViewport, viewportCount, pViewportWScalings);
8380
0
}
8381
8382
8383
// ---- VK_EXT_display_control extension trampoline/terminators
8384
8385
VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT(
8386
    VkDevice                                    device,
8387
    VkDisplayKHR                                display,
8388
0
    const VkDisplayPowerInfoEXT*                pDisplayPowerInfo) {
8389
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8390
0
    if (NULL == disp) {
8391
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8392
0
                   "vkDisplayPowerControlEXT: Invalid device "
8393
0
                   "[VUID-vkDisplayPowerControlEXT-device-parameter]");
8394
0
        abort(); /* Intentionally fail so user can correct issue. */
8395
0
    }
8396
0
    return disp->DisplayPowerControlEXT(device, display, pDisplayPowerInfo);
8397
0
}
8398
8399
VKAPI_ATTR VkResult VKAPI_CALL RegisterDeviceEventEXT(
8400
    VkDevice                                    device,
8401
    const VkDeviceEventInfoEXT*                 pDeviceEventInfo,
8402
    const VkAllocationCallbacks*                pAllocator,
8403
0
    VkFence*                                    pFence) {
8404
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8405
0
    if (NULL == disp) {
8406
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8407
0
                   "vkRegisterDeviceEventEXT: Invalid device "
8408
0
                   "[VUID-vkRegisterDeviceEventEXT-device-parameter]");
8409
0
        abort(); /* Intentionally fail so user can correct issue. */
8410
0
    }
8411
0
    return disp->RegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence);
8412
0
}
8413
8414
VKAPI_ATTR VkResult VKAPI_CALL RegisterDisplayEventEXT(
8415
    VkDevice                                    device,
8416
    VkDisplayKHR                                display,
8417
    const VkDisplayEventInfoEXT*                pDisplayEventInfo,
8418
    const VkAllocationCallbacks*                pAllocator,
8419
0
    VkFence*                                    pFence) {
8420
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8421
0
    if (NULL == disp) {
8422
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8423
0
                   "vkRegisterDisplayEventEXT: Invalid device "
8424
0
                   "[VUID-vkRegisterDisplayEventEXT-device-parameter]");
8425
0
        abort(); /* Intentionally fail so user can correct issue. */
8426
0
    }
8427
0
    return disp->RegisterDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence);
8428
0
}
8429
8430
VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT(
8431
    VkDevice                                    device,
8432
    VkSwapchainKHR                              swapchain,
8433
    VkSurfaceCounterFlagBitsEXT                 counter,
8434
0
    uint64_t*                                   pCounterValue) {
8435
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8436
0
    if (NULL == disp) {
8437
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8438
0
                   "vkGetSwapchainCounterEXT: Invalid device "
8439
0
                   "[VUID-vkGetSwapchainCounterEXT-device-parameter]");
8440
0
        abort(); /* Intentionally fail so user can correct issue. */
8441
0
    }
8442
0
    return disp->GetSwapchainCounterEXT(device, swapchain, counter, pCounterValue);
8443
0
}
8444
8445
8446
// ---- VK_GOOGLE_display_timing extension trampoline/terminators
8447
8448
VKAPI_ATTR VkResult VKAPI_CALL GetRefreshCycleDurationGOOGLE(
8449
    VkDevice                                    device,
8450
    VkSwapchainKHR                              swapchain,
8451
0
    VkRefreshCycleDurationGOOGLE*               pDisplayTimingProperties) {
8452
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8453
0
    if (NULL == disp) {
8454
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8455
0
                   "vkGetRefreshCycleDurationGOOGLE: Invalid device "
8456
0
                   "[VUID-vkGetRefreshCycleDurationGOOGLE-device-parameter]");
8457
0
        abort(); /* Intentionally fail so user can correct issue. */
8458
0
    }
8459
0
    return disp->GetRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties);
8460
0
}
8461
8462
VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingGOOGLE(
8463
    VkDevice                                    device,
8464
    VkSwapchainKHR                              swapchain,
8465
    uint32_t*                                   pPresentationTimingCount,
8466
0
    VkPastPresentationTimingGOOGLE*             pPresentationTimings) {
8467
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8468
0
    if (NULL == disp) {
8469
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8470
0
                   "vkGetPastPresentationTimingGOOGLE: Invalid device "
8471
0
                   "[VUID-vkGetPastPresentationTimingGOOGLE-device-parameter]");
8472
0
        abort(); /* Intentionally fail so user can correct issue. */
8473
0
    }
8474
0
    return disp->GetPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings);
8475
0
}
8476
8477
8478
// ---- VK_EXT_discard_rectangles extension trampoline/terminators
8479
8480
VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEXT(
8481
    VkCommandBuffer                             commandBuffer,
8482
    uint32_t                                    firstDiscardRectangle,
8483
    uint32_t                                    discardRectangleCount,
8484
0
    const VkRect2D*                             pDiscardRectangles) {
8485
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8486
0
    if (NULL == disp) {
8487
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8488
0
                   "vkCmdSetDiscardRectangleEXT: Invalid commandBuffer "
8489
0
                   "[VUID-vkCmdSetDiscardRectangleEXT-commandBuffer-parameter]");
8490
0
        abort(); /* Intentionally fail so user can correct issue. */
8491
0
    }
8492
0
    disp->CmdSetDiscardRectangleEXT(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles);
8493
0
}
8494
8495
VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleEnableEXT(
8496
    VkCommandBuffer                             commandBuffer,
8497
0
    VkBool32                                    discardRectangleEnable) {
8498
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8499
0
    if (NULL == disp) {
8500
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8501
0
                   "vkCmdSetDiscardRectangleEnableEXT: Invalid commandBuffer "
8502
0
                   "[VUID-vkCmdSetDiscardRectangleEnableEXT-commandBuffer-parameter]");
8503
0
        abort(); /* Intentionally fail so user can correct issue. */
8504
0
    }
8505
0
    disp->CmdSetDiscardRectangleEnableEXT(commandBuffer, discardRectangleEnable);
8506
0
}
8507
8508
VKAPI_ATTR void VKAPI_CALL CmdSetDiscardRectangleModeEXT(
8509
    VkCommandBuffer                             commandBuffer,
8510
0
    VkDiscardRectangleModeEXT                   discardRectangleMode) {
8511
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8512
0
    if (NULL == disp) {
8513
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8514
0
                   "vkCmdSetDiscardRectangleModeEXT: Invalid commandBuffer "
8515
0
                   "[VUID-vkCmdSetDiscardRectangleModeEXT-commandBuffer-parameter]");
8516
0
        abort(); /* Intentionally fail so user can correct issue. */
8517
0
    }
8518
0
    disp->CmdSetDiscardRectangleModeEXT(commandBuffer, discardRectangleMode);
8519
0
}
8520
8521
8522
// ---- VK_EXT_hdr_metadata extension trampoline/terminators
8523
8524
VKAPI_ATTR void VKAPI_CALL SetHdrMetadataEXT(
8525
    VkDevice                                    device,
8526
    uint32_t                                    swapchainCount,
8527
    const VkSwapchainKHR*                       pSwapchains,
8528
0
    const VkHdrMetadataEXT*                     pMetadata) {
8529
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8530
0
    if (NULL == disp) {
8531
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8532
0
                   "vkSetHdrMetadataEXT: Invalid device "
8533
0
                   "[VUID-vkSetHdrMetadataEXT-device-parameter]");
8534
0
        abort(); /* Intentionally fail so user can correct issue. */
8535
0
    }
8536
0
    disp->SetHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata);
8537
0
}
8538
8539
8540
// ---- VK_EXT_debug_utils extension trampoline/terminators
8541
8542
VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectNameEXT(
8543
    VkDevice                                    device,
8544
0
    const VkDebugUtilsObjectNameInfoEXT*        pNameInfo) {
8545
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8546
0
    if (NULL == disp) {
8547
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8548
0
                   "vkSetDebugUtilsObjectNameEXT: Invalid device "
8549
0
                   "[VUID-vkSetDebugUtilsObjectNameEXT-device-parameter]");
8550
0
        abort(); /* Intentionally fail so user can correct issue. */
8551
0
    }
8552
0
    VkDebugUtilsObjectNameInfoEXT local_name_info;
8553
0
    memcpy(&local_name_info, pNameInfo, sizeof(VkDebugUtilsObjectNameInfoEXT));
8554
    // If this is a physical device, we have to replace it with the proper one for the next call.
8555
0
    if (pNameInfo->objectType == VK_OBJECT_TYPE_PHYSICAL_DEVICE) {
8556
0
        struct loader_physical_device_tramp *phys_dev_tramp = (struct loader_physical_device_tramp *)(uintptr_t)pNameInfo->objectHandle;
8557
0
        local_name_info.objectHandle = (uint64_t)(uintptr_t)phys_dev_tramp->phys_dev;
8558
0
    }
8559
0
    if (pNameInfo->objectType == VK_OBJECT_TYPE_INSTANCE) {
8560
0
        struct loader_instance* instance = (struct loader_instance *)(uintptr_t)pNameInfo->objectHandle;
8561
0
        local_name_info.objectHandle = (uint64_t)(uintptr_t)instance->instance;
8562
0
    }
8563
0
    if (disp->SetDebugUtilsObjectNameEXT != NULL) {
8564
0
        return disp->SetDebugUtilsObjectNameEXT(device, &local_name_info);
8565
0
    } else {
8566
0
        return VK_SUCCESS;
8567
0
    }
8568
0
}
8569
8570
VKAPI_ATTR VkResult VKAPI_CALL terminator_SetDebugUtilsObjectNameEXT(
8571
    VkDevice                                    device,
8572
0
    const VkDebugUtilsObjectNameInfoEXT*        pNameInfo) {
8573
0
    struct loader_device *dev;
8574
0
    struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev);
8575
0
    if (NULL == icd_term || NULL == dev) {
8576
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "SetDebugUtilsObjectNameEXT: Invalid device handle");
8577
0
        abort(); /* Intentionally fail so user can correct issue. */
8578
0
    }
8579
0
    VkDebugUtilsObjectNameInfoEXT local_name_info;
8580
0
    memcpy(&local_name_info, pNameInfo, sizeof(VkDebugUtilsObjectNameInfoEXT));
8581
    // If this is a physical device, we have to replace it with the proper one for the next call.
8582
0
    if (pNameInfo->objectType == VK_OBJECT_TYPE_PHYSICAL_DEVICE) {
8583
0
        struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)(uintptr_t)pNameInfo->objectHandle;
8584
0
        local_name_info.objectHandle = (uint64_t)(uintptr_t)phys_dev_term->phys_dev;
8585
    // If this is a KHR_surface, and the ICD has created its own, we have to replace it with the proper one for the next call.
8586
0
    } else if (pNameInfo->objectType == VK_OBJECT_TYPE_SURFACE_KHR) {
8587
0
        if (NULL != dev && NULL != dev->loader_dispatch.core_dispatch.CreateSwapchainKHR) {
8588
0
            VkSurfaceKHR surface = (VkSurfaceKHR)(uintptr_t)pNameInfo->objectHandle;
8589
0
            if (wsi_unwrap_icd_surface(icd_term, &surface) == VK_SUCCESS) {
8590
0
                local_name_info.objectHandle = (uint64_t)surface;
8591
0
            }
8592
0
        }
8593
    // If this is an instance we have to replace it with the proper one for the next call.
8594
0
    } else if (pNameInfo->objectType == VK_OBJECT_TYPE_INSTANCE) {
8595
0
        local_name_info.objectHandle = (uint64_t)(uintptr_t)icd_term->instance;
8596
0
    }
8597
    // Exit early if the driver does not support the function - this can happen as a layer or the loader itself supports
8598
    // debug utils but the driver does not.
8599
0
    if (NULL == dev->loader_dispatch.extension_terminator_dispatch.SetDebugUtilsObjectNameEXT)
8600
0
        return VK_SUCCESS;
8601
0
    return dev->loader_dispatch.extension_terminator_dispatch.SetDebugUtilsObjectNameEXT(device, &local_name_info);
8602
0
}
8603
8604
VKAPI_ATTR VkResult VKAPI_CALL SetDebugUtilsObjectTagEXT(
8605
    VkDevice                                    device,
8606
0
    const VkDebugUtilsObjectTagInfoEXT*         pTagInfo) {
8607
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8608
0
    if (NULL == disp) {
8609
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8610
0
                   "vkSetDebugUtilsObjectTagEXT: Invalid device "
8611
0
                   "[VUID-vkSetDebugUtilsObjectTagEXT-device-parameter]");
8612
0
        abort(); /* Intentionally fail so user can correct issue. */
8613
0
    }
8614
0
    VkDebugUtilsObjectTagInfoEXT local_tag_info;
8615
0
    memcpy(&local_tag_info, pTagInfo, sizeof(VkDebugUtilsObjectTagInfoEXT));
8616
    // If this is a physical device, we have to replace it with the proper one for the next call.
8617
0
    if (pTagInfo->objectType == VK_OBJECT_TYPE_PHYSICAL_DEVICE) {
8618
0
        struct loader_physical_device_tramp *phys_dev_tramp = (struct loader_physical_device_tramp *)(uintptr_t)pTagInfo->objectHandle;
8619
0
        local_tag_info.objectHandle = (uint64_t)(uintptr_t)phys_dev_tramp->phys_dev;
8620
0
    }
8621
0
    if (pTagInfo->objectType == VK_OBJECT_TYPE_INSTANCE) {
8622
0
        struct loader_instance* instance = (struct loader_instance *)(uintptr_t)pTagInfo->objectHandle;
8623
0
        local_tag_info.objectHandle = (uint64_t)(uintptr_t)instance->instance;
8624
0
    }
8625
0
    if (disp->SetDebugUtilsObjectTagEXT != NULL) {
8626
0
        return disp->SetDebugUtilsObjectTagEXT(device, &local_tag_info);
8627
0
    } else {
8628
0
        return VK_SUCCESS;
8629
0
    }
8630
0
}
8631
8632
VKAPI_ATTR VkResult VKAPI_CALL terminator_SetDebugUtilsObjectTagEXT(
8633
    VkDevice                                    device,
8634
0
    const VkDebugUtilsObjectTagInfoEXT*         pTagInfo) {
8635
0
    struct loader_device *dev;
8636
0
    struct loader_icd_term *icd_term = loader_get_icd_and_device(device, &dev);
8637
0
    if (NULL == icd_term || NULL == dev) {
8638
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "SetDebugUtilsObjectTagEXT: Invalid device handle");
8639
0
        abort(); /* Intentionally fail so user can correct issue. */
8640
0
    }
8641
0
    VkDebugUtilsObjectTagInfoEXT local_tag_info;
8642
0
    memcpy(&local_tag_info, pTagInfo, sizeof(VkDebugUtilsObjectTagInfoEXT));
8643
    // If this is a physical device, we have to replace it with the proper one for the next call.
8644
0
    if (pTagInfo->objectType == VK_OBJECT_TYPE_PHYSICAL_DEVICE) {
8645
0
        struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)(uintptr_t)pTagInfo->objectHandle;
8646
0
        local_tag_info.objectHandle = (uint64_t)(uintptr_t)phys_dev_term->phys_dev;
8647
    // If this is a KHR_surface, and the ICD has created its own, we have to replace it with the proper one for the next call.
8648
0
    } else if (pTagInfo->objectType == VK_OBJECT_TYPE_SURFACE_KHR) {
8649
0
        if (NULL != dev && NULL != dev->loader_dispatch.core_dispatch.CreateSwapchainKHR) {
8650
0
            VkSurfaceKHR surface = (VkSurfaceKHR)(uintptr_t)pTagInfo->objectHandle;
8651
0
            if (wsi_unwrap_icd_surface(icd_term, &surface) == VK_SUCCESS) {
8652
0
                local_tag_info.objectHandle = (uint64_t)surface;
8653
0
            }
8654
0
        }
8655
    // If this is an instance we have to replace it with the proper one for the next call.
8656
0
    } else if (pTagInfo->objectType == VK_OBJECT_TYPE_INSTANCE) {
8657
0
        local_tag_info.objectHandle = (uint64_t)(uintptr_t)icd_term->instance;
8658
0
    }
8659
    // Exit early if the driver does not support the function - this can happen as a layer or the loader itself supports
8660
    // debug utils but the driver does not.
8661
0
    if (NULL == dev->loader_dispatch.extension_terminator_dispatch.SetDebugUtilsObjectTagEXT)
8662
0
        return VK_SUCCESS;
8663
0
    return dev->loader_dispatch.extension_terminator_dispatch.SetDebugUtilsObjectTagEXT(device, &local_tag_info);
8664
0
}
8665
8666
VKAPI_ATTR void VKAPI_CALL QueueBeginDebugUtilsLabelEXT(
8667
    VkQueue                                     queue,
8668
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8669
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
8670
0
    if (NULL == disp) {
8671
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8672
0
                   "vkQueueBeginDebugUtilsLabelEXT: Invalid queue "
8673
0
                   "[VUID-vkQueueBeginDebugUtilsLabelEXT-queue-parameter]");
8674
0
        abort(); /* Intentionally fail so user can correct issue. */
8675
0
    }
8676
0
    if (disp->QueueBeginDebugUtilsLabelEXT != NULL) {
8677
0
        disp->QueueBeginDebugUtilsLabelEXT(queue, pLabelInfo);
8678
0
    }
8679
0
}
8680
8681
VKAPI_ATTR void VKAPI_CALL terminator_QueueBeginDebugUtilsLabelEXT(
8682
    VkQueue                                     queue,
8683
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8684
0
    struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch(queue);
8685
0
    if (NULL == dispatch_table) {
8686
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "VK_EXT_debug_utils: Invalid device handle");
8687
0
        abort(); /* Intentionally fail so user can correct issue. */
8688
0
    }
8689
    // Only call down if the device supports the function
8690
0
    if (NULL != dispatch_table->extension_terminator_dispatch.QueueBeginDebugUtilsLabelEXT)
8691
0
        dispatch_table->extension_terminator_dispatch.QueueBeginDebugUtilsLabelEXT(queue, pLabelInfo);
8692
0
}
8693
8694
VKAPI_ATTR void VKAPI_CALL QueueEndDebugUtilsLabelEXT(
8695
0
    VkQueue                                     queue) {
8696
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
8697
0
    if (NULL == disp) {
8698
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8699
0
                   "vkQueueEndDebugUtilsLabelEXT: Invalid queue "
8700
0
                   "[VUID-vkQueueEndDebugUtilsLabelEXT-queue-parameter]");
8701
0
        abort(); /* Intentionally fail so user can correct issue. */
8702
0
    }
8703
0
    if (disp->QueueEndDebugUtilsLabelEXT != NULL) {
8704
0
        disp->QueueEndDebugUtilsLabelEXT(queue);
8705
0
    }
8706
0
}
8707
8708
VKAPI_ATTR void VKAPI_CALL terminator_QueueEndDebugUtilsLabelEXT(
8709
0
    VkQueue                                     queue) {
8710
0
    struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch(queue);
8711
0
    if (NULL == dispatch_table) {
8712
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "VK_EXT_debug_utils: Invalid device handle");
8713
0
        abort(); /* Intentionally fail so user can correct issue. */
8714
0
    }
8715
    // Only call down if the device supports the function
8716
0
    if (NULL != dispatch_table->extension_terminator_dispatch.QueueEndDebugUtilsLabelEXT)
8717
0
        dispatch_table->extension_terminator_dispatch.QueueEndDebugUtilsLabelEXT(queue);
8718
0
}
8719
8720
VKAPI_ATTR void VKAPI_CALL QueueInsertDebugUtilsLabelEXT(
8721
    VkQueue                                     queue,
8722
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8723
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
8724
0
    if (NULL == disp) {
8725
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8726
0
                   "vkQueueInsertDebugUtilsLabelEXT: Invalid queue "
8727
0
                   "[VUID-vkQueueInsertDebugUtilsLabelEXT-queue-parameter]");
8728
0
        abort(); /* Intentionally fail so user can correct issue. */
8729
0
    }
8730
0
    if (disp->QueueInsertDebugUtilsLabelEXT != NULL) {
8731
0
        disp->QueueInsertDebugUtilsLabelEXT(queue, pLabelInfo);
8732
0
    }
8733
0
}
8734
8735
VKAPI_ATTR void VKAPI_CALL terminator_QueueInsertDebugUtilsLabelEXT(
8736
    VkQueue                                     queue,
8737
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8738
0
    struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch(queue);
8739
0
    if (NULL == dispatch_table) {
8740
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "VK_EXT_debug_utils: Invalid device handle");
8741
0
        abort(); /* Intentionally fail so user can correct issue. */
8742
0
    }
8743
    // Only call down if the device supports the function
8744
0
    if (NULL != dispatch_table->extension_terminator_dispatch.QueueInsertDebugUtilsLabelEXT)
8745
0
        dispatch_table->extension_terminator_dispatch.QueueInsertDebugUtilsLabelEXT(queue, pLabelInfo);
8746
0
}
8747
8748
VKAPI_ATTR void VKAPI_CALL CmdBeginDebugUtilsLabelEXT(
8749
    VkCommandBuffer                             commandBuffer,
8750
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8751
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8752
0
    if (NULL == disp) {
8753
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8754
0
                   "vkCmdBeginDebugUtilsLabelEXT: Invalid commandBuffer "
8755
0
                   "[VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-parameter]");
8756
0
        abort(); /* Intentionally fail so user can correct issue. */
8757
0
    }
8758
0
    if (disp->CmdBeginDebugUtilsLabelEXT != NULL) {
8759
0
        disp->CmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
8760
0
    }
8761
0
}
8762
8763
VKAPI_ATTR void VKAPI_CALL terminator_CmdBeginDebugUtilsLabelEXT(
8764
    VkCommandBuffer                             commandBuffer,
8765
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8766
0
    struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch(commandBuffer);
8767
0
    if (NULL == dispatch_table) {
8768
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "VK_EXT_debug_utils: Invalid device handle");
8769
0
        abort(); /* Intentionally fail so user can correct issue. */
8770
0
    }
8771
    // Only call down if the device supports the function
8772
0
    if (NULL != dispatch_table->extension_terminator_dispatch.CmdBeginDebugUtilsLabelEXT)
8773
0
        dispatch_table->extension_terminator_dispatch.CmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
8774
0
}
8775
8776
VKAPI_ATTR void VKAPI_CALL CmdEndDebugUtilsLabelEXT(
8777
0
    VkCommandBuffer                             commandBuffer) {
8778
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8779
0
    if (NULL == disp) {
8780
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8781
0
                   "vkCmdEndDebugUtilsLabelEXT: Invalid commandBuffer "
8782
0
                   "[VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-parameter]");
8783
0
        abort(); /* Intentionally fail so user can correct issue. */
8784
0
    }
8785
0
    if (disp->CmdEndDebugUtilsLabelEXT != NULL) {
8786
0
        disp->CmdEndDebugUtilsLabelEXT(commandBuffer);
8787
0
    }
8788
0
}
8789
8790
VKAPI_ATTR void VKAPI_CALL terminator_CmdEndDebugUtilsLabelEXT(
8791
0
    VkCommandBuffer                             commandBuffer) {
8792
0
    struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch(commandBuffer);
8793
0
    if (NULL == dispatch_table) {
8794
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "VK_EXT_debug_utils: Invalid device handle");
8795
0
        abort(); /* Intentionally fail so user can correct issue. */
8796
0
    }
8797
    // Only call down if the device supports the function
8798
0
    if (NULL != dispatch_table->extension_terminator_dispatch.CmdEndDebugUtilsLabelEXT)
8799
0
        dispatch_table->extension_terminator_dispatch.CmdEndDebugUtilsLabelEXT(commandBuffer);
8800
0
}
8801
8802
VKAPI_ATTR void VKAPI_CALL CmdInsertDebugUtilsLabelEXT(
8803
    VkCommandBuffer                             commandBuffer,
8804
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8805
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8806
0
    if (NULL == disp) {
8807
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8808
0
                   "vkCmdInsertDebugUtilsLabelEXT: Invalid commandBuffer "
8809
0
                   "[VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-parameter]");
8810
0
        abort(); /* Intentionally fail so user can correct issue. */
8811
0
    }
8812
0
    if (disp->CmdInsertDebugUtilsLabelEXT != NULL) {
8813
0
        disp->CmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
8814
0
    }
8815
0
}
8816
8817
VKAPI_ATTR void VKAPI_CALL terminator_CmdInsertDebugUtilsLabelEXT(
8818
    VkCommandBuffer                             commandBuffer,
8819
0
    const VkDebugUtilsLabelEXT*                 pLabelInfo) {
8820
0
    struct loader_dev_dispatch_table *dispatch_table = loader_get_dev_dispatch(commandBuffer);
8821
0
    if (NULL == dispatch_table) {
8822
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, "VK_EXT_debug_utils: Invalid device handle");
8823
0
        abort(); /* Intentionally fail so user can correct issue. */
8824
0
    }
8825
    // Only call down if the device supports the function
8826
0
    if (NULL != dispatch_table->extension_terminator_dispatch.CmdInsertDebugUtilsLabelEXT)
8827
0
        dispatch_table->extension_terminator_dispatch.CmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo);
8828
0
}
8829
8830
8831
// ---- VK_ANDROID_external_memory_android_hardware_buffer extension trampoline/terminators
8832
8833
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
8834
VKAPI_ATTR VkResult VKAPI_CALL GetAndroidHardwareBufferPropertiesANDROID(
8835
    VkDevice                                    device,
8836
    const struct AHardwareBuffer*               buffer,
8837
    VkAndroidHardwareBufferPropertiesANDROID*   pProperties) {
8838
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8839
    if (NULL == disp) {
8840
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8841
                   "vkGetAndroidHardwareBufferPropertiesANDROID: Invalid device "
8842
                   "[VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter]");
8843
        abort(); /* Intentionally fail so user can correct issue. */
8844
    }
8845
    return disp->GetAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties);
8846
}
8847
8848
#endif // VK_USE_PLATFORM_ANDROID_KHR
8849
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
8850
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryAndroidHardwareBufferANDROID(
8851
    VkDevice                                    device,
8852
    const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
8853
    struct AHardwareBuffer**                    pBuffer) {
8854
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8855
    if (NULL == disp) {
8856
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8857
                   "vkGetMemoryAndroidHardwareBufferANDROID: Invalid device "
8858
                   "[VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter]");
8859
        abort(); /* Intentionally fail so user can correct issue. */
8860
    }
8861
    return disp->GetMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer);
8862
}
8863
8864
#endif // VK_USE_PLATFORM_ANDROID_KHR
8865
8866
// ---- VK_AMD_gpa_interface extension trampoline/terminators
8867
8868
VKAPI_ATTR VkResult VKAPI_CALL CreateGpaSessionAMD(
8869
    VkDevice                                    device,
8870
    const VkGpaSessionCreateInfoAMD*            pCreateInfo,
8871
    const VkAllocationCallbacks*                pAllocator,
8872
0
    VkGpaSessionAMD*                            pGpaSession) {
8873
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8874
0
    if (NULL == disp) {
8875
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8876
0
                   "vkCreateGpaSessionAMD: Invalid device "
8877
0
                   "[VUID-vkCreateGpaSessionAMD-device-parameter]");
8878
0
        abort(); /* Intentionally fail so user can correct issue. */
8879
0
    }
8880
0
    return disp->CreateGpaSessionAMD(device, pCreateInfo, pAllocator, pGpaSession);
8881
0
}
8882
8883
VKAPI_ATTR void VKAPI_CALL DestroyGpaSessionAMD(
8884
    VkDevice                                    device,
8885
    VkGpaSessionAMD                             gpaSession,
8886
0
    const VkAllocationCallbacks*                pAllocator) {
8887
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8888
0
    if (NULL == disp) {
8889
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8890
0
                   "vkDestroyGpaSessionAMD: Invalid device "
8891
0
                   "[VUID-vkDestroyGpaSessionAMD-device-parameter]");
8892
0
        abort(); /* Intentionally fail so user can correct issue. */
8893
0
    }
8894
0
    disp->DestroyGpaSessionAMD(device, gpaSession, pAllocator);
8895
0
}
8896
8897
VKAPI_ATTR VkResult VKAPI_CALL SetGpaDeviceClockModeAMD(
8898
    VkDevice                                    device,
8899
0
    VkGpaDeviceClockModeInfoAMD*                pInfo) {
8900
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8901
0
    if (NULL == disp) {
8902
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8903
0
                   "vkSetGpaDeviceClockModeAMD: Invalid device "
8904
0
                   "[VUID-vkSetGpaDeviceClockModeAMD-device-parameter]");
8905
0
        abort(); /* Intentionally fail so user can correct issue. */
8906
0
    }
8907
0
    return disp->SetGpaDeviceClockModeAMD(device, pInfo);
8908
0
}
8909
8910
VKAPI_ATTR VkResult VKAPI_CALL GetGpaDeviceClockInfoAMD(
8911
    VkDevice                                    device,
8912
0
    VkGpaDeviceGetClockInfoAMD*                 pInfo) {
8913
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8914
0
    if (NULL == disp) {
8915
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8916
0
                   "vkGetGpaDeviceClockInfoAMD: Invalid device "
8917
0
                   "[VUID-vkGetGpaDeviceClockInfoAMD-device-parameter]");
8918
0
        abort(); /* Intentionally fail so user can correct issue. */
8919
0
    }
8920
0
    return disp->GetGpaDeviceClockInfoAMD(device, pInfo);
8921
0
}
8922
8923
VKAPI_ATTR VkResult VKAPI_CALL CmdBeginGpaSessionAMD(
8924
    VkCommandBuffer                             commandBuffer,
8925
0
    VkGpaSessionAMD                             gpaSession) {
8926
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8927
0
    if (NULL == disp) {
8928
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8929
0
                   "vkCmdBeginGpaSessionAMD: Invalid commandBuffer "
8930
0
                   "[VUID-vkCmdBeginGpaSessionAMD-commandBuffer-parameter]");
8931
0
        abort(); /* Intentionally fail so user can correct issue. */
8932
0
    }
8933
0
    return disp->CmdBeginGpaSessionAMD(commandBuffer, gpaSession);
8934
0
}
8935
8936
VKAPI_ATTR VkResult VKAPI_CALL CmdEndGpaSessionAMD(
8937
    VkCommandBuffer                             commandBuffer,
8938
0
    VkGpaSessionAMD                             gpaSession) {
8939
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8940
0
    if (NULL == disp) {
8941
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8942
0
                   "vkCmdEndGpaSessionAMD: Invalid commandBuffer "
8943
0
                   "[VUID-vkCmdEndGpaSessionAMD-commandBuffer-parameter]");
8944
0
        abort(); /* Intentionally fail so user can correct issue. */
8945
0
    }
8946
0
    return disp->CmdEndGpaSessionAMD(commandBuffer, gpaSession);
8947
0
}
8948
8949
VKAPI_ATTR VkResult VKAPI_CALL CmdBeginGpaSampleAMD(
8950
    VkCommandBuffer                             commandBuffer,
8951
    VkGpaSessionAMD                             gpaSession,
8952
    const VkGpaSampleBeginInfoAMD*              pGpaSampleBeginInfo,
8953
0
    uint32_t*                                   pSampleID) {
8954
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8955
0
    if (NULL == disp) {
8956
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8957
0
                   "vkCmdBeginGpaSampleAMD: Invalid commandBuffer "
8958
0
                   "[VUID-vkCmdBeginGpaSampleAMD-commandBuffer-parameter]");
8959
0
        abort(); /* Intentionally fail so user can correct issue. */
8960
0
    }
8961
0
    return disp->CmdBeginGpaSampleAMD(commandBuffer, gpaSession, pGpaSampleBeginInfo, pSampleID);
8962
0
}
8963
8964
VKAPI_ATTR void VKAPI_CALL CmdEndGpaSampleAMD(
8965
    VkCommandBuffer                             commandBuffer,
8966
    VkGpaSessionAMD                             gpaSession,
8967
0
    uint32_t                                    sampleID) {
8968
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
8969
0
    if (NULL == disp) {
8970
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8971
0
                   "vkCmdEndGpaSampleAMD: Invalid commandBuffer "
8972
0
                   "[VUID-vkCmdEndGpaSampleAMD-commandBuffer-parameter]");
8973
0
        abort(); /* Intentionally fail so user can correct issue. */
8974
0
    }
8975
0
    disp->CmdEndGpaSampleAMD(commandBuffer, gpaSession, sampleID);
8976
0
}
8977
8978
VKAPI_ATTR VkResult VKAPI_CALL GetGpaSessionStatusAMD(
8979
    VkDevice                                    device,
8980
0
    VkGpaSessionAMD                             gpaSession) {
8981
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8982
0
    if (NULL == disp) {
8983
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
8984
0
                   "vkGetGpaSessionStatusAMD: Invalid device "
8985
0
                   "[VUID-vkGetGpaSessionStatusAMD-device-parameter]");
8986
0
        abort(); /* Intentionally fail so user can correct issue. */
8987
0
    }
8988
0
    return disp->GetGpaSessionStatusAMD(device, gpaSession);
8989
0
}
8990
8991
VKAPI_ATTR VkResult VKAPI_CALL GetGpaSessionResultsAMD(
8992
    VkDevice                                    device,
8993
    VkGpaSessionAMD                             gpaSession,
8994
    uint32_t                                    sampleID,
8995
    size_t*                                     pSizeInBytes,
8996
0
    void*                                       pData) {
8997
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
8998
0
    if (NULL == disp) {
8999
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9000
0
                   "vkGetGpaSessionResultsAMD: Invalid device "
9001
0
                   "[VUID-vkGetGpaSessionResultsAMD-device-parameter]");
9002
0
        abort(); /* Intentionally fail so user can correct issue. */
9003
0
    }
9004
0
    return disp->GetGpaSessionResultsAMD(device, gpaSession, sampleID, pSizeInBytes, pData);
9005
0
}
9006
9007
VKAPI_ATTR VkResult VKAPI_CALL ResetGpaSessionAMD(
9008
    VkDevice                                    device,
9009
0
    VkGpaSessionAMD                             gpaSession) {
9010
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9011
0
    if (NULL == disp) {
9012
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9013
0
                   "vkResetGpaSessionAMD: Invalid device "
9014
0
                   "[VUID-vkResetGpaSessionAMD-device-parameter]");
9015
0
        abort(); /* Intentionally fail so user can correct issue. */
9016
0
    }
9017
0
    return disp->ResetGpaSessionAMD(device, gpaSession);
9018
0
}
9019
9020
VKAPI_ATTR void VKAPI_CALL CmdCopyGpaSessionResultsAMD(
9021
    VkCommandBuffer                             commandBuffer,
9022
0
    VkGpaSessionAMD                             gpaSession) {
9023
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9024
0
    if (NULL == disp) {
9025
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9026
0
                   "vkCmdCopyGpaSessionResultsAMD: Invalid commandBuffer "
9027
0
                   "[VUID-vkCmdCopyGpaSessionResultsAMD-commandBuffer-parameter]");
9028
0
        abort(); /* Intentionally fail so user can correct issue. */
9029
0
    }
9030
0
    disp->CmdCopyGpaSessionResultsAMD(commandBuffer, gpaSession);
9031
0
}
9032
9033
9034
// ---- VK_AMDX_shader_enqueue extension trampoline/terminators
9035
9036
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9037
VKAPI_ATTR VkResult VKAPI_CALL CreateExecutionGraphPipelinesAMDX(
9038
    VkDevice                                    device,
9039
    VkPipelineCache                             pipelineCache,
9040
    uint32_t                                    createInfoCount,
9041
    const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos,
9042
    const VkAllocationCallbacks*                pAllocator,
9043
0
    VkPipeline*                                 pPipelines) {
9044
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9045
0
    if (NULL == disp) {
9046
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9047
0
                   "vkCreateExecutionGraphPipelinesAMDX: Invalid device "
9048
0
                   "[VUID-vkCreateExecutionGraphPipelinesAMDX-device-parameter]");
9049
0
        abort(); /* Intentionally fail so user can correct issue. */
9050
0
    }
9051
0
    return disp->CreateExecutionGraphPipelinesAMDX(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
9052
0
}
9053
9054
#endif // VK_ENABLE_BETA_EXTENSIONS
9055
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9056
VKAPI_ATTR VkResult VKAPI_CALL GetExecutionGraphPipelineScratchSizeAMDX(
9057
    VkDevice                                    device,
9058
    VkPipeline                                  executionGraph,
9059
0
    VkExecutionGraphPipelineScratchSizeAMDX*    pSizeInfo) {
9060
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9061
0
    if (NULL == disp) {
9062
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9063
0
                   "vkGetExecutionGraphPipelineScratchSizeAMDX: Invalid device "
9064
0
                   "[VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-device-parameter]");
9065
0
        abort(); /* Intentionally fail so user can correct issue. */
9066
0
    }
9067
0
    return disp->GetExecutionGraphPipelineScratchSizeAMDX(device, executionGraph, pSizeInfo);
9068
0
}
9069
9070
#endif // VK_ENABLE_BETA_EXTENSIONS
9071
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9072
VKAPI_ATTR VkResult VKAPI_CALL GetExecutionGraphPipelineNodeIndexAMDX(
9073
    VkDevice                                    device,
9074
    VkPipeline                                  executionGraph,
9075
    const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo,
9076
0
    uint32_t*                                   pNodeIndex) {
9077
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9078
0
    if (NULL == disp) {
9079
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9080
0
                   "vkGetExecutionGraphPipelineNodeIndexAMDX: Invalid device "
9081
0
                   "[VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-device-parameter]");
9082
0
        abort(); /* Intentionally fail so user can correct issue. */
9083
0
    }
9084
0
    return disp->GetExecutionGraphPipelineNodeIndexAMDX(device, executionGraph, pNodeInfo, pNodeIndex);
9085
0
}
9086
9087
#endif // VK_ENABLE_BETA_EXTENSIONS
9088
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9089
VKAPI_ATTR void VKAPI_CALL CmdInitializeGraphScratchMemoryAMDX(
9090
    VkCommandBuffer                             commandBuffer,
9091
    VkPipeline                                  executionGraph,
9092
    VkDeviceAddress                             scratch,
9093
0
    VkDeviceSize                                scratchSize) {
9094
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9095
0
    if (NULL == disp) {
9096
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9097
0
                   "vkCmdInitializeGraphScratchMemoryAMDX: Invalid commandBuffer "
9098
0
                   "[VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-parameter]");
9099
0
        abort(); /* Intentionally fail so user can correct issue. */
9100
0
    }
9101
0
    disp->CmdInitializeGraphScratchMemoryAMDX(commandBuffer, executionGraph, scratch, scratchSize);
9102
0
}
9103
9104
#endif // VK_ENABLE_BETA_EXTENSIONS
9105
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9106
VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphAMDX(
9107
    VkCommandBuffer                             commandBuffer,
9108
    VkDeviceAddress                             scratch,
9109
    VkDeviceSize                                scratchSize,
9110
0
    const VkDispatchGraphCountInfoAMDX*         pCountInfo) {
9111
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9112
0
    if (NULL == disp) {
9113
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9114
0
                   "vkCmdDispatchGraphAMDX: Invalid commandBuffer "
9115
0
                   "[VUID-vkCmdDispatchGraphAMDX-commandBuffer-parameter]");
9116
0
        abort(); /* Intentionally fail so user can correct issue. */
9117
0
    }
9118
0
    disp->CmdDispatchGraphAMDX(commandBuffer, scratch, scratchSize, pCountInfo);
9119
0
}
9120
9121
#endif // VK_ENABLE_BETA_EXTENSIONS
9122
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9123
VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectAMDX(
9124
    VkCommandBuffer                             commandBuffer,
9125
    VkDeviceAddress                             scratch,
9126
    VkDeviceSize                                scratchSize,
9127
0
    const VkDispatchGraphCountInfoAMDX*         pCountInfo) {
9128
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9129
0
    if (NULL == disp) {
9130
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9131
0
                   "vkCmdDispatchGraphIndirectAMDX: Invalid commandBuffer "
9132
0
                   "[VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-parameter]");
9133
0
        abort(); /* Intentionally fail so user can correct issue. */
9134
0
    }
9135
0
    disp->CmdDispatchGraphIndirectAMDX(commandBuffer, scratch, scratchSize, pCountInfo);
9136
0
}
9137
9138
#endif // VK_ENABLE_BETA_EXTENSIONS
9139
#if defined(VK_ENABLE_BETA_EXTENSIONS)
9140
VKAPI_ATTR void VKAPI_CALL CmdDispatchGraphIndirectCountAMDX(
9141
    VkCommandBuffer                             commandBuffer,
9142
    VkDeviceAddress                             scratch,
9143
    VkDeviceSize                                scratchSize,
9144
0
    VkDeviceAddress                             countInfo) {
9145
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9146
0
    if (NULL == disp) {
9147
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9148
0
                   "vkCmdDispatchGraphIndirectCountAMDX: Invalid commandBuffer "
9149
0
                   "[VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-parameter]");
9150
0
        abort(); /* Intentionally fail so user can correct issue. */
9151
0
    }
9152
0
    disp->CmdDispatchGraphIndirectCountAMDX(commandBuffer, scratch, scratchSize, countInfo);
9153
0
}
9154
9155
#endif // VK_ENABLE_BETA_EXTENSIONS
9156
9157
// ---- VK_EXT_descriptor_heap extension trampoline/terminators
9158
9159
VKAPI_ATTR VkResult VKAPI_CALL WriteSamplerDescriptorsEXT(
9160
    VkDevice                                    device,
9161
    uint32_t                                    samplerCount,
9162
    const VkSamplerCreateInfo*                  pSamplers,
9163
0
    const VkHostAddressRangeEXT*                pDescriptors) {
9164
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9165
0
    if (NULL == disp) {
9166
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9167
0
                   "vkWriteSamplerDescriptorsEXT: Invalid device "
9168
0
                   "[VUID-vkWriteSamplerDescriptorsEXT-device-parameter]");
9169
0
        abort(); /* Intentionally fail so user can correct issue. */
9170
0
    }
9171
0
    return disp->WriteSamplerDescriptorsEXT(device, samplerCount, pSamplers, pDescriptors);
9172
0
}
9173
9174
VKAPI_ATTR VkResult VKAPI_CALL WriteResourceDescriptorsEXT(
9175
    VkDevice                                    device,
9176
    uint32_t                                    resourceCount,
9177
    const VkResourceDescriptorInfoEXT*          pResources,
9178
0
    const VkHostAddressRangeEXT*                pDescriptors) {
9179
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9180
0
    if (NULL == disp) {
9181
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9182
0
                   "vkWriteResourceDescriptorsEXT: Invalid device "
9183
0
                   "[VUID-vkWriteResourceDescriptorsEXT-device-parameter]");
9184
0
        abort(); /* Intentionally fail so user can correct issue. */
9185
0
    }
9186
0
    return disp->WriteResourceDescriptorsEXT(device, resourceCount, pResources, pDescriptors);
9187
0
}
9188
9189
VKAPI_ATTR void VKAPI_CALL CmdBindSamplerHeapEXT(
9190
    VkCommandBuffer                             commandBuffer,
9191
0
    const VkBindHeapInfoEXT*                    pBindInfo) {
9192
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9193
0
    if (NULL == disp) {
9194
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9195
0
                   "vkCmdBindSamplerHeapEXT: Invalid commandBuffer "
9196
0
                   "[VUID-vkCmdBindSamplerHeapEXT-commandBuffer-parameter]");
9197
0
        abort(); /* Intentionally fail so user can correct issue. */
9198
0
    }
9199
0
    disp->CmdBindSamplerHeapEXT(commandBuffer, pBindInfo);
9200
0
}
9201
9202
VKAPI_ATTR void VKAPI_CALL CmdBindResourceHeapEXT(
9203
    VkCommandBuffer                             commandBuffer,
9204
0
    const VkBindHeapInfoEXT*                    pBindInfo) {
9205
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9206
0
    if (NULL == disp) {
9207
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9208
0
                   "vkCmdBindResourceHeapEXT: Invalid commandBuffer "
9209
0
                   "[VUID-vkCmdBindResourceHeapEXT-commandBuffer-parameter]");
9210
0
        abort(); /* Intentionally fail so user can correct issue. */
9211
0
    }
9212
0
    disp->CmdBindResourceHeapEXT(commandBuffer, pBindInfo);
9213
0
}
9214
9215
VKAPI_ATTR void VKAPI_CALL CmdPushDataEXT(
9216
    VkCommandBuffer                             commandBuffer,
9217
0
    const VkPushDataInfoEXT*                    pPushDataInfo) {
9218
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9219
0
    if (NULL == disp) {
9220
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9221
0
                   "vkCmdPushDataEXT: Invalid commandBuffer "
9222
0
                   "[VUID-vkCmdPushDataEXT-commandBuffer-parameter]");
9223
0
        abort(); /* Intentionally fail so user can correct issue. */
9224
0
    }
9225
0
    disp->CmdPushDataEXT(commandBuffer, pPushDataInfo);
9226
0
}
9227
9228
VKAPI_ATTR VkResult VKAPI_CALL GetImageOpaqueCaptureDataEXT(
9229
    VkDevice                                    device,
9230
    uint32_t                                    imageCount,
9231
    const VkImage*                              pImages,
9232
0
    VkHostAddressRangeEXT*                      pDatas) {
9233
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9234
0
    if (NULL == disp) {
9235
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9236
0
                   "vkGetImageOpaqueCaptureDataEXT: Invalid device "
9237
0
                   "[VUID-vkGetImageOpaqueCaptureDataEXT-device-parameter]");
9238
0
        abort(); /* Intentionally fail so user can correct issue. */
9239
0
    }
9240
0
    return disp->GetImageOpaqueCaptureDataEXT(device, imageCount, pImages, pDatas);
9241
0
}
9242
9243
VKAPI_ATTR VkDeviceSize VKAPI_CALL GetPhysicalDeviceDescriptorSizeEXT(
9244
    VkPhysicalDevice                            physicalDevice,
9245
0
    VkDescriptorType                            descriptorType) {
9246
0
    const VkLayerInstanceDispatchTable *disp;
9247
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
9248
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
9249
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9250
0
                   "vkGetPhysicalDeviceDescriptorSizeEXT: Invalid physicalDevice "
9251
0
                   "[VUID-vkGetPhysicalDeviceDescriptorSizeEXT-physicalDevice-parameter]");
9252
0
        abort(); /* Intentionally fail so user can correct issue. */
9253
0
    }
9254
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
9255
0
    return disp->GetPhysicalDeviceDescriptorSizeEXT(unwrapped_phys_dev, descriptorType);
9256
0
}
9257
9258
VKAPI_ATTR VkDeviceSize VKAPI_CALL terminator_GetPhysicalDeviceDescriptorSizeEXT(
9259
    VkPhysicalDevice                            physicalDevice,
9260
0
    VkDescriptorType                            descriptorType) {
9261
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
9262
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
9263
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceDescriptorSizeEXT) {
9264
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
9265
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceDescriptorSizeEXT");
9266
0
        abort(); /* Intentionally fail so user can correct issue. */
9267
0
    }
9268
0
    return icd_term->dispatch.GetPhysicalDeviceDescriptorSizeEXT(phys_dev_term->phys_dev, descriptorType);
9269
0
}
9270
9271
VKAPI_ATTR VkResult VKAPI_CALL RegisterCustomBorderColorEXT(
9272
    VkDevice                                    device,
9273
    const VkSamplerCustomBorderColorCreateInfoEXT* pBorderColor,
9274
    VkBool32                                    requestIndex,
9275
0
    uint32_t*                                   pIndex) {
9276
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9277
0
    if (NULL == disp) {
9278
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9279
0
                   "vkRegisterCustomBorderColorEXT: Invalid device "
9280
0
                   "[VUID-vkRegisterCustomBorderColorEXT-device-parameter]");
9281
0
        abort(); /* Intentionally fail so user can correct issue. */
9282
0
    }
9283
0
    return disp->RegisterCustomBorderColorEXT(device, pBorderColor, requestIndex, pIndex);
9284
0
}
9285
9286
VKAPI_ATTR void VKAPI_CALL UnregisterCustomBorderColorEXT(
9287
    VkDevice                                    device,
9288
0
    uint32_t                                    index) {
9289
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9290
0
    if (NULL == disp) {
9291
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9292
0
                   "vkUnregisterCustomBorderColorEXT: Invalid device "
9293
0
                   "[VUID-vkUnregisterCustomBorderColorEXT-device-parameter]");
9294
0
        abort(); /* Intentionally fail so user can correct issue. */
9295
0
    }
9296
0
    disp->UnregisterCustomBorderColorEXT(device, index);
9297
0
}
9298
9299
VKAPI_ATTR VkResult VKAPI_CALL GetTensorOpaqueCaptureDataARM(
9300
    VkDevice                                    device,
9301
    uint32_t                                    tensorCount,
9302
    const VkTensorARM*                          pTensors,
9303
0
    VkHostAddressRangeEXT*                      pDatas) {
9304
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9305
0
    if (NULL == disp) {
9306
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9307
0
                   "vkGetTensorOpaqueCaptureDataARM: Invalid device "
9308
0
                   "[VUID-vkGetTensorOpaqueCaptureDataARM-device-parameter]");
9309
0
        abort(); /* Intentionally fail so user can correct issue. */
9310
0
    }
9311
0
    return disp->GetTensorOpaqueCaptureDataARM(device, tensorCount, pTensors, pDatas);
9312
0
}
9313
9314
9315
// ---- VK_EXT_sample_locations extension trampoline/terminators
9316
9317
VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEXT(
9318
    VkCommandBuffer                             commandBuffer,
9319
0
    const VkSampleLocationsInfoEXT*             pSampleLocationsInfo) {
9320
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9321
0
    if (NULL == disp) {
9322
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9323
0
                   "vkCmdSetSampleLocationsEXT: Invalid commandBuffer "
9324
0
                   "[VUID-vkCmdSetSampleLocationsEXT-commandBuffer-parameter]");
9325
0
        abort(); /* Intentionally fail so user can correct issue. */
9326
0
    }
9327
0
    disp->CmdSetSampleLocationsEXT(commandBuffer, pSampleLocationsInfo);
9328
0
}
9329
9330
VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMultisamplePropertiesEXT(
9331
    VkPhysicalDevice                            physicalDevice,
9332
    VkSampleCountFlagBits                       samples,
9333
0
    VkMultisamplePropertiesEXT*                 pMultisampleProperties) {
9334
0
    const VkLayerInstanceDispatchTable *disp;
9335
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
9336
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
9337
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9338
0
                   "vkGetPhysicalDeviceMultisamplePropertiesEXT: Invalid physicalDevice "
9339
0
                   "[VUID-vkGetPhysicalDeviceMultisamplePropertiesEXT-physicalDevice-parameter]");
9340
0
        abort(); /* Intentionally fail so user can correct issue. */
9341
0
    }
9342
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
9343
0
    disp->GetPhysicalDeviceMultisamplePropertiesEXT(unwrapped_phys_dev, samples, pMultisampleProperties);
9344
0
}
9345
9346
VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceMultisamplePropertiesEXT(
9347
    VkPhysicalDevice                            physicalDevice,
9348
    VkSampleCountFlagBits                       samples,
9349
0
    VkMultisamplePropertiesEXT*                 pMultisampleProperties) {
9350
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
9351
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
9352
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceMultisamplePropertiesEXT) {
9353
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
9354
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceMultisamplePropertiesEXT");
9355
0
        abort(); /* Intentionally fail so user can correct issue. */
9356
0
    }
9357
0
    icd_term->dispatch.GetPhysicalDeviceMultisamplePropertiesEXT(phys_dev_term->phys_dev, samples, pMultisampleProperties);
9358
0
}
9359
9360
9361
// ---- VK_EXT_image_drm_format_modifier extension trampoline/terminators
9362
9363
VKAPI_ATTR VkResult VKAPI_CALL GetImageDrmFormatModifierPropertiesEXT(
9364
    VkDevice                                    device,
9365
    VkImage                                     image,
9366
0
    VkImageDrmFormatModifierPropertiesEXT*      pProperties) {
9367
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9368
0
    if (NULL == disp) {
9369
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9370
0
                   "vkGetImageDrmFormatModifierPropertiesEXT: Invalid device "
9371
0
                   "[VUID-vkGetImageDrmFormatModifierPropertiesEXT-device-parameter]");
9372
0
        abort(); /* Intentionally fail so user can correct issue. */
9373
0
    }
9374
0
    return disp->GetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
9375
0
}
9376
9377
9378
// ---- VK_EXT_validation_cache extension trampoline/terminators
9379
9380
VKAPI_ATTR VkResult VKAPI_CALL CreateValidationCacheEXT(
9381
    VkDevice                                    device,
9382
    const VkValidationCacheCreateInfoEXT*       pCreateInfo,
9383
    const VkAllocationCallbacks*                pAllocator,
9384
0
    VkValidationCacheEXT*                       pValidationCache) {
9385
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9386
0
    if (NULL == disp) {
9387
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9388
0
                   "vkCreateValidationCacheEXT: Invalid device "
9389
0
                   "[VUID-vkCreateValidationCacheEXT-device-parameter]");
9390
0
        abort(); /* Intentionally fail so user can correct issue. */
9391
0
    }
9392
0
    return disp->CreateValidationCacheEXT(device, pCreateInfo, pAllocator, pValidationCache);
9393
0
}
9394
9395
VKAPI_ATTR void VKAPI_CALL DestroyValidationCacheEXT(
9396
    VkDevice                                    device,
9397
    VkValidationCacheEXT                        validationCache,
9398
0
    const VkAllocationCallbacks*                pAllocator) {
9399
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9400
0
    if (NULL == disp) {
9401
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9402
0
                   "vkDestroyValidationCacheEXT: Invalid device "
9403
0
                   "[VUID-vkDestroyValidationCacheEXT-device-parameter]");
9404
0
        abort(); /* Intentionally fail so user can correct issue. */
9405
0
    }
9406
0
    disp->DestroyValidationCacheEXT(device, validationCache, pAllocator);
9407
0
}
9408
9409
VKAPI_ATTR VkResult VKAPI_CALL MergeValidationCachesEXT(
9410
    VkDevice                                    device,
9411
    VkValidationCacheEXT                        dstCache,
9412
    uint32_t                                    srcCacheCount,
9413
0
    const VkValidationCacheEXT*                 pSrcCaches) {
9414
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9415
0
    if (NULL == disp) {
9416
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9417
0
                   "vkMergeValidationCachesEXT: Invalid device "
9418
0
                   "[VUID-vkMergeValidationCachesEXT-device-parameter]");
9419
0
        abort(); /* Intentionally fail so user can correct issue. */
9420
0
    }
9421
0
    return disp->MergeValidationCachesEXT(device, dstCache, srcCacheCount, pSrcCaches);
9422
0
}
9423
9424
VKAPI_ATTR VkResult VKAPI_CALL GetValidationCacheDataEXT(
9425
    VkDevice                                    device,
9426
    VkValidationCacheEXT                        validationCache,
9427
    size_t*                                     pDataSize,
9428
0
    void*                                       pData) {
9429
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9430
0
    if (NULL == disp) {
9431
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9432
0
                   "vkGetValidationCacheDataEXT: Invalid device "
9433
0
                   "[VUID-vkGetValidationCacheDataEXT-device-parameter]");
9434
0
        abort(); /* Intentionally fail so user can correct issue. */
9435
0
    }
9436
0
    return disp->GetValidationCacheDataEXT(device, validationCache, pDataSize, pData);
9437
0
}
9438
9439
9440
// ---- VK_NV_shading_rate_image extension trampoline/terminators
9441
9442
VKAPI_ATTR void VKAPI_CALL CmdBindShadingRateImageNV(
9443
    VkCommandBuffer                             commandBuffer,
9444
    VkImageView                                 imageView,
9445
0
    VkImageLayout                               imageLayout) {
9446
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9447
0
    if (NULL == disp) {
9448
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9449
0
                   "vkCmdBindShadingRateImageNV: Invalid commandBuffer "
9450
0
                   "[VUID-vkCmdBindShadingRateImageNV-commandBuffer-parameter]");
9451
0
        abort(); /* Intentionally fail so user can correct issue. */
9452
0
    }
9453
0
    disp->CmdBindShadingRateImageNV(commandBuffer, imageView, imageLayout);
9454
0
}
9455
9456
VKAPI_ATTR void VKAPI_CALL CmdSetViewportShadingRatePaletteNV(
9457
    VkCommandBuffer                             commandBuffer,
9458
    uint32_t                                    firstViewport,
9459
    uint32_t                                    viewportCount,
9460
0
    const VkShadingRatePaletteNV*               pShadingRatePalettes) {
9461
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9462
0
    if (NULL == disp) {
9463
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9464
0
                   "vkCmdSetViewportShadingRatePaletteNV: Invalid commandBuffer "
9465
0
                   "[VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-parameter]");
9466
0
        abort(); /* Intentionally fail so user can correct issue. */
9467
0
    }
9468
0
    disp->CmdSetViewportShadingRatePaletteNV(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes);
9469
0
}
9470
9471
VKAPI_ATTR void VKAPI_CALL CmdSetCoarseSampleOrderNV(
9472
    VkCommandBuffer                             commandBuffer,
9473
    VkCoarseSampleOrderTypeNV                   sampleOrderType,
9474
    uint32_t                                    customSampleOrderCount,
9475
0
    const VkCoarseSampleOrderCustomNV*          pCustomSampleOrders) {
9476
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9477
0
    if (NULL == disp) {
9478
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9479
0
                   "vkCmdSetCoarseSampleOrderNV: Invalid commandBuffer "
9480
0
                   "[VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-parameter]");
9481
0
        abort(); /* Intentionally fail so user can correct issue. */
9482
0
    }
9483
0
    disp->CmdSetCoarseSampleOrderNV(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders);
9484
0
}
9485
9486
9487
// ---- VK_NV_ray_tracing extension trampoline/terminators
9488
9489
VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureNV(
9490
    VkDevice                                    device,
9491
    const VkAccelerationStructureCreateInfoNV*  pCreateInfo,
9492
    const VkAllocationCallbacks*                pAllocator,
9493
0
    VkAccelerationStructureNV*                  pAccelerationStructure) {
9494
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9495
0
    if (NULL == disp) {
9496
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9497
0
                   "vkCreateAccelerationStructureNV: Invalid device "
9498
0
                   "[VUID-vkCreateAccelerationStructureNV-device-parameter]");
9499
0
        abort(); /* Intentionally fail so user can correct issue. */
9500
0
    }
9501
0
    return disp->CreateAccelerationStructureNV(device, pCreateInfo, pAllocator, pAccelerationStructure);
9502
0
}
9503
9504
VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureNV(
9505
    VkDevice                                    device,
9506
    VkAccelerationStructureNV                   accelerationStructure,
9507
0
    const VkAllocationCallbacks*                pAllocator) {
9508
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9509
0
    if (NULL == disp) {
9510
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9511
0
                   "vkDestroyAccelerationStructureNV: Invalid device "
9512
0
                   "[VUID-vkDestroyAccelerationStructureNV-device-parameter]");
9513
0
        abort(); /* Intentionally fail so user can correct issue. */
9514
0
    }
9515
0
    disp->DestroyAccelerationStructureNV(device, accelerationStructure, pAllocator);
9516
0
}
9517
9518
VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureMemoryRequirementsNV(
9519
    VkDevice                                    device,
9520
    const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
9521
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
9522
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9523
0
    if (NULL == disp) {
9524
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9525
0
                   "vkGetAccelerationStructureMemoryRequirementsNV: Invalid device "
9526
0
                   "[VUID-vkGetAccelerationStructureMemoryRequirementsNV-device-parameter]");
9527
0
        abort(); /* Intentionally fail so user can correct issue. */
9528
0
    }
9529
0
    disp->GetAccelerationStructureMemoryRequirementsNV(device, pInfo, pMemoryRequirements);
9530
0
}
9531
9532
VKAPI_ATTR VkResult VKAPI_CALL BindAccelerationStructureMemoryNV(
9533
    VkDevice                                    device,
9534
    uint32_t                                    bindInfoCount,
9535
0
    const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) {
9536
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9537
0
    if (NULL == disp) {
9538
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9539
0
                   "vkBindAccelerationStructureMemoryNV: Invalid device "
9540
0
                   "[VUID-vkBindAccelerationStructureMemoryNV-device-parameter]");
9541
0
        abort(); /* Intentionally fail so user can correct issue. */
9542
0
    }
9543
0
    return disp->BindAccelerationStructureMemoryNV(device, bindInfoCount, pBindInfos);
9544
0
}
9545
9546
VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructureNV(
9547
    VkCommandBuffer                             commandBuffer,
9548
    const VkAccelerationStructureInfoNV*        pInfo,
9549
    VkBuffer                                    instanceData,
9550
    VkDeviceSize                                instanceOffset,
9551
    VkBool32                                    update,
9552
    VkAccelerationStructureNV                   dst,
9553
    VkAccelerationStructureNV                   src,
9554
    VkBuffer                                    scratch,
9555
0
    VkDeviceSize                                scratchOffset) {
9556
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9557
0
    if (NULL == disp) {
9558
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9559
0
                   "vkCmdBuildAccelerationStructureNV: Invalid commandBuffer "
9560
0
                   "[VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-parameter]");
9561
0
        abort(); /* Intentionally fail so user can correct issue. */
9562
0
    }
9563
0
    disp->CmdBuildAccelerationStructureNV(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset);
9564
0
}
9565
9566
VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureNV(
9567
    VkCommandBuffer                             commandBuffer,
9568
    VkAccelerationStructureNV                   dst,
9569
    VkAccelerationStructureNV                   src,
9570
0
    VkCopyAccelerationStructureModeKHR          mode) {
9571
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9572
0
    if (NULL == disp) {
9573
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9574
0
                   "vkCmdCopyAccelerationStructureNV: Invalid commandBuffer "
9575
0
                   "[VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameter]");
9576
0
        abort(); /* Intentionally fail so user can correct issue. */
9577
0
    }
9578
0
    disp->CmdCopyAccelerationStructureNV(commandBuffer, dst, src, mode);
9579
0
}
9580
9581
VKAPI_ATTR void VKAPI_CALL CmdTraceRaysNV(
9582
    VkCommandBuffer                             commandBuffer,
9583
    VkBuffer                                    raygenShaderBindingTableBuffer,
9584
    VkDeviceSize                                raygenShaderBindingOffset,
9585
    VkBuffer                                    missShaderBindingTableBuffer,
9586
    VkDeviceSize                                missShaderBindingOffset,
9587
    VkDeviceSize                                missShaderBindingStride,
9588
    VkBuffer                                    hitShaderBindingTableBuffer,
9589
    VkDeviceSize                                hitShaderBindingOffset,
9590
    VkDeviceSize                                hitShaderBindingStride,
9591
    VkBuffer                                    callableShaderBindingTableBuffer,
9592
    VkDeviceSize                                callableShaderBindingOffset,
9593
    VkDeviceSize                                callableShaderBindingStride,
9594
    uint32_t                                    width,
9595
    uint32_t                                    height,
9596
0
    uint32_t                                    depth) {
9597
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9598
0
    if (NULL == disp) {
9599
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9600
0
                   "vkCmdTraceRaysNV: Invalid commandBuffer "
9601
0
                   "[VUID-vkCmdTraceRaysNV-commandBuffer-parameter]");
9602
0
        abort(); /* Intentionally fail so user can correct issue. */
9603
0
    }
9604
0
    disp->CmdTraceRaysNV(commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth);
9605
0
}
9606
9607
VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesNV(
9608
    VkDevice                                    device,
9609
    VkPipelineCache                             pipelineCache,
9610
    uint32_t                                    createInfoCount,
9611
    const VkRayTracingPipelineCreateInfoNV*     pCreateInfos,
9612
    const VkAllocationCallbacks*                pAllocator,
9613
0
    VkPipeline*                                 pPipelines) {
9614
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9615
0
    if (NULL == disp) {
9616
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9617
0
                   "vkCreateRayTracingPipelinesNV: Invalid device "
9618
0
                   "[VUID-vkCreateRayTracingPipelinesNV-device-parameter]");
9619
0
        abort(); /* Intentionally fail so user can correct issue. */
9620
0
    }
9621
0
    return disp->CreateRayTracingPipelinesNV(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
9622
0
}
9623
9624
9625
// ---- VK_KHR_ray_tracing_pipeline extension trampoline/terminators
9626
9627
VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesKHR(
9628
    VkDevice                                    device,
9629
    VkPipeline                                  pipeline,
9630
    uint32_t                                    firstGroup,
9631
    uint32_t                                    groupCount,
9632
    size_t                                      dataSize,
9633
0
    void*                                       pData) {
9634
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9635
0
    if (NULL == disp) {
9636
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9637
0
                   "vkGetRayTracingShaderGroupHandlesKHR: Invalid device "
9638
0
                   "[VUID-vkGetRayTracingShaderGroupHandlesKHR-device-parameter]");
9639
0
        abort(); /* Intentionally fail so user can correct issue. */
9640
0
    }
9641
0
    return disp->GetRayTracingShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData);
9642
0
}
9643
9644
9645
// ---- VK_NV_ray_tracing extension trampoline/terminators
9646
9647
VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingShaderGroupHandlesNV(
9648
    VkDevice                                    device,
9649
    VkPipeline                                  pipeline,
9650
    uint32_t                                    firstGroup,
9651
    uint32_t                                    groupCount,
9652
    size_t                                      dataSize,
9653
0
    void*                                       pData) {
9654
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9655
0
    if (NULL == disp) {
9656
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9657
0
                   "vkGetRayTracingShaderGroupHandlesNV: Invalid device "
9658
0
                   "[VUID-vkGetRayTracingShaderGroupHandlesNV-device-parameter]");
9659
0
        abort(); /* Intentionally fail so user can correct issue. */
9660
0
    }
9661
0
    return disp->GetRayTracingShaderGroupHandlesNV(device, pipeline, firstGroup, groupCount, dataSize, pData);
9662
0
}
9663
9664
VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureHandleNV(
9665
    VkDevice                                    device,
9666
    VkAccelerationStructureNV                   accelerationStructure,
9667
    size_t                                      dataSize,
9668
0
    void*                                       pData) {
9669
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9670
0
    if (NULL == disp) {
9671
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9672
0
                   "vkGetAccelerationStructureHandleNV: Invalid device "
9673
0
                   "[VUID-vkGetAccelerationStructureHandleNV-device-parameter]");
9674
0
        abort(); /* Intentionally fail so user can correct issue. */
9675
0
    }
9676
0
    return disp->GetAccelerationStructureHandleNV(device, accelerationStructure, dataSize, pData);
9677
0
}
9678
9679
VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesNV(
9680
    VkCommandBuffer                             commandBuffer,
9681
    uint32_t                                    accelerationStructureCount,
9682
    const VkAccelerationStructureNV*            pAccelerationStructures,
9683
    VkQueryType                                 queryType,
9684
    VkQueryPool                                 queryPool,
9685
0
    uint32_t                                    firstQuery) {
9686
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9687
0
    if (NULL == disp) {
9688
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9689
0
                   "vkCmdWriteAccelerationStructuresPropertiesNV: Invalid commandBuffer "
9690
0
                   "[VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-parameter]");
9691
0
        abort(); /* Intentionally fail so user can correct issue. */
9692
0
    }
9693
0
    disp->CmdWriteAccelerationStructuresPropertiesNV(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery);
9694
0
}
9695
9696
VKAPI_ATTR VkResult VKAPI_CALL CompileDeferredNV(
9697
    VkDevice                                    device,
9698
    VkPipeline                                  pipeline,
9699
0
    uint32_t                                    shader) {
9700
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9701
0
    if (NULL == disp) {
9702
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9703
0
                   "vkCompileDeferredNV: Invalid device "
9704
0
                   "[VUID-vkCompileDeferredNV-device-parameter]");
9705
0
        abort(); /* Intentionally fail so user can correct issue. */
9706
0
    }
9707
0
    return disp->CompileDeferredNV(device, pipeline, shader);
9708
0
}
9709
9710
9711
// ---- VK_EXT_external_memory_host extension trampoline/terminators
9712
9713
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryHostPointerPropertiesEXT(
9714
    VkDevice                                    device,
9715
    VkExternalMemoryHandleTypeFlagBits          handleType,
9716
    const void*                                 pHostPointer,
9717
0
    VkMemoryHostPointerPropertiesEXT*           pMemoryHostPointerProperties) {
9718
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9719
0
    if (NULL == disp) {
9720
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9721
0
                   "vkGetMemoryHostPointerPropertiesEXT: Invalid device "
9722
0
                   "[VUID-vkGetMemoryHostPointerPropertiesEXT-device-parameter]");
9723
0
        abort(); /* Intentionally fail so user can correct issue. */
9724
0
    }
9725
0
    return disp->GetMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties);
9726
0
}
9727
9728
9729
// ---- VK_AMD_buffer_marker extension trampoline/terminators
9730
9731
VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarkerAMD(
9732
    VkCommandBuffer                             commandBuffer,
9733
    VkPipelineStageFlagBits                     pipelineStage,
9734
    VkBuffer                                    dstBuffer,
9735
    VkDeviceSize                                dstOffset,
9736
0
    uint32_t                                    marker) {
9737
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9738
0
    if (NULL == disp) {
9739
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9740
0
                   "vkCmdWriteBufferMarkerAMD: Invalid commandBuffer "
9741
0
                   "[VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-parameter]");
9742
0
        abort(); /* Intentionally fail so user can correct issue. */
9743
0
    }
9744
0
    disp->CmdWriteBufferMarkerAMD(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker);
9745
0
}
9746
9747
VKAPI_ATTR void VKAPI_CALL CmdWriteBufferMarker2AMD(
9748
    VkCommandBuffer                             commandBuffer,
9749
    VkPipelineStageFlags2                       stage,
9750
    VkBuffer                                    dstBuffer,
9751
    VkDeviceSize                                dstOffset,
9752
0
    uint32_t                                    marker) {
9753
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9754
0
    if (NULL == disp) {
9755
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9756
0
                   "vkCmdWriteBufferMarker2AMD: Invalid commandBuffer "
9757
0
                   "[VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-parameter]");
9758
0
        abort(); /* Intentionally fail so user can correct issue. */
9759
0
    }
9760
0
    disp->CmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker);
9761
0
}
9762
9763
9764
// ---- VK_EXT_calibrated_timestamps extension trampoline/terminators
9765
9766
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCalibrateableTimeDomainsEXT(
9767
    VkPhysicalDevice                            physicalDevice,
9768
    uint32_t*                                   pTimeDomainCount,
9769
0
    VkTimeDomainKHR*                            pTimeDomains) {
9770
0
    const VkLayerInstanceDispatchTable *disp;
9771
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
9772
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
9773
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9774
0
                   "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT: Invalid physicalDevice "
9775
0
                   "[VUID-vkGetPhysicalDeviceCalibrateableTimeDomainsEXT-physicalDevice-parameter]");
9776
0
        abort(); /* Intentionally fail so user can correct issue. */
9777
0
    }
9778
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
9779
0
    return disp->GetPhysicalDeviceCalibrateableTimeDomainsEXT(unwrapped_phys_dev, pTimeDomainCount, pTimeDomains);
9780
0
}
9781
9782
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCalibrateableTimeDomainsEXT(
9783
    VkPhysicalDevice                            physicalDevice,
9784
    uint32_t*                                   pTimeDomainCount,
9785
0
    VkTimeDomainKHR*                            pTimeDomains) {
9786
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
9787
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
9788
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCalibrateableTimeDomainsEXT) {
9789
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
9790
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCalibrateableTimeDomainsEXT");
9791
0
        abort(); /* Intentionally fail so user can correct issue. */
9792
0
    }
9793
0
    return icd_term->dispatch.GetPhysicalDeviceCalibrateableTimeDomainsEXT(phys_dev_term->phys_dev, pTimeDomainCount, pTimeDomains);
9794
0
}
9795
9796
VKAPI_ATTR VkResult VKAPI_CALL GetCalibratedTimestampsEXT(
9797
    VkDevice                                    device,
9798
    uint32_t                                    timestampCount,
9799
    const VkCalibratedTimestampInfoKHR*         pTimestampInfos,
9800
    uint64_t*                                   pTimestamps,
9801
0
    uint64_t*                                   pMaxDeviation) {
9802
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9803
0
    if (NULL == disp) {
9804
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9805
0
                   "vkGetCalibratedTimestampsEXT: Invalid device "
9806
0
                   "[VUID-vkGetCalibratedTimestampsEXT-device-parameter]");
9807
0
        abort(); /* Intentionally fail so user can correct issue. */
9808
0
    }
9809
0
    return disp->GetCalibratedTimestampsEXT(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation);
9810
0
}
9811
9812
9813
// ---- VK_NV_mesh_shader extension trampoline/terminators
9814
9815
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksNV(
9816
    VkCommandBuffer                             commandBuffer,
9817
    uint32_t                                    taskCount,
9818
0
    uint32_t                                    firstTask) {
9819
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9820
0
    if (NULL == disp) {
9821
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9822
0
                   "vkCmdDrawMeshTasksNV: Invalid commandBuffer "
9823
0
                   "[VUID-vkCmdDrawMeshTasksNV-commandBuffer-parameter]");
9824
0
        abort(); /* Intentionally fail so user can correct issue. */
9825
0
    }
9826
0
    disp->CmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask);
9827
0
}
9828
9829
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectNV(
9830
    VkCommandBuffer                             commandBuffer,
9831
    VkBuffer                                    buffer,
9832
    VkDeviceSize                                offset,
9833
    uint32_t                                    drawCount,
9834
0
    uint32_t                                    stride) {
9835
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9836
0
    if (NULL == disp) {
9837
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9838
0
                   "vkCmdDrawMeshTasksIndirectNV: Invalid commandBuffer "
9839
0
                   "[VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-parameter]");
9840
0
        abort(); /* Intentionally fail so user can correct issue. */
9841
0
    }
9842
0
    disp->CmdDrawMeshTasksIndirectNV(commandBuffer, buffer, offset, drawCount, stride);
9843
0
}
9844
9845
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountNV(
9846
    VkCommandBuffer                             commandBuffer,
9847
    VkBuffer                                    buffer,
9848
    VkDeviceSize                                offset,
9849
    VkBuffer                                    countBuffer,
9850
    VkDeviceSize                                countBufferOffset,
9851
    uint32_t                                    maxDrawCount,
9852
0
    uint32_t                                    stride) {
9853
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9854
0
    if (NULL == disp) {
9855
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9856
0
                   "vkCmdDrawMeshTasksIndirectCountNV: Invalid commandBuffer "
9857
0
                   "[VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-parameter]");
9858
0
        abort(); /* Intentionally fail so user can correct issue. */
9859
0
    }
9860
0
    disp->CmdDrawMeshTasksIndirectCountNV(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
9861
0
}
9862
9863
9864
// ---- VK_NV_scissor_exclusive extension trampoline/terminators
9865
9866
VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorEnableNV(
9867
    VkCommandBuffer                             commandBuffer,
9868
    uint32_t                                    firstExclusiveScissor,
9869
    uint32_t                                    exclusiveScissorCount,
9870
0
    const VkBool32*                             pExclusiveScissorEnables) {
9871
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9872
0
    if (NULL == disp) {
9873
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9874
0
                   "vkCmdSetExclusiveScissorEnableNV: Invalid commandBuffer "
9875
0
                   "[VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-parameter]");
9876
0
        abort(); /* Intentionally fail so user can correct issue. */
9877
0
    }
9878
0
    disp->CmdSetExclusiveScissorEnableNV(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables);
9879
0
}
9880
9881
VKAPI_ATTR void VKAPI_CALL CmdSetExclusiveScissorNV(
9882
    VkCommandBuffer                             commandBuffer,
9883
    uint32_t                                    firstExclusiveScissor,
9884
    uint32_t                                    exclusiveScissorCount,
9885
0
    const VkRect2D*                             pExclusiveScissors) {
9886
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9887
0
    if (NULL == disp) {
9888
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9889
0
                   "vkCmdSetExclusiveScissorNV: Invalid commandBuffer "
9890
0
                   "[VUID-vkCmdSetExclusiveScissorNV-commandBuffer-parameter]");
9891
0
        abort(); /* Intentionally fail so user can correct issue. */
9892
0
    }
9893
0
    disp->CmdSetExclusiveScissorNV(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors);
9894
0
}
9895
9896
9897
// ---- VK_NV_device_diagnostic_checkpoints extension trampoline/terminators
9898
9899
VKAPI_ATTR void VKAPI_CALL CmdSetCheckpointNV(
9900
    VkCommandBuffer                             commandBuffer,
9901
0
    const void*                                 pCheckpointMarker) {
9902
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
9903
0
    if (NULL == disp) {
9904
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9905
0
                   "vkCmdSetCheckpointNV: Invalid commandBuffer "
9906
0
                   "[VUID-vkCmdSetCheckpointNV-commandBuffer-parameter]");
9907
0
        abort(); /* Intentionally fail so user can correct issue. */
9908
0
    }
9909
0
    disp->CmdSetCheckpointNV(commandBuffer, pCheckpointMarker);
9910
0
}
9911
9912
VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointDataNV(
9913
    VkQueue                                     queue,
9914
    uint32_t*                                   pCheckpointDataCount,
9915
0
    VkCheckpointDataNV*                         pCheckpointData) {
9916
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
9917
0
    if (NULL == disp) {
9918
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9919
0
                   "vkGetQueueCheckpointDataNV: Invalid queue "
9920
0
                   "[VUID-vkGetQueueCheckpointDataNV-queue-parameter]");
9921
0
        abort(); /* Intentionally fail so user can correct issue. */
9922
0
    }
9923
0
    disp->GetQueueCheckpointDataNV(queue, pCheckpointDataCount, pCheckpointData);
9924
0
}
9925
9926
VKAPI_ATTR void VKAPI_CALL GetQueueCheckpointData2NV(
9927
    VkQueue                                     queue,
9928
    uint32_t*                                   pCheckpointDataCount,
9929
0
    VkCheckpointData2NV*                        pCheckpointData) {
9930
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
9931
0
    if (NULL == disp) {
9932
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9933
0
                   "vkGetQueueCheckpointData2NV: Invalid queue "
9934
0
                   "[VUID-vkGetQueueCheckpointData2NV-queue-parameter]");
9935
0
        abort(); /* Intentionally fail so user can correct issue. */
9936
0
    }
9937
0
    disp->GetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData);
9938
0
}
9939
9940
9941
// ---- VK_EXT_present_timing extension trampoline/terminators
9942
9943
VKAPI_ATTR VkResult VKAPI_CALL SetSwapchainPresentTimingQueueSizeEXT(
9944
    VkDevice                                    device,
9945
    VkSwapchainKHR                              swapchain,
9946
0
    uint32_t                                    size) {
9947
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9948
0
    if (NULL == disp) {
9949
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9950
0
                   "vkSetSwapchainPresentTimingQueueSizeEXT: Invalid device "
9951
0
                   "[VUID-vkSetSwapchainPresentTimingQueueSizeEXT-device-parameter]");
9952
0
        abort(); /* Intentionally fail so user can correct issue. */
9953
0
    }
9954
0
    return disp->SetSwapchainPresentTimingQueueSizeEXT(device, swapchain, size);
9955
0
}
9956
9957
VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainTimingPropertiesEXT(
9958
    VkDevice                                    device,
9959
    VkSwapchainKHR                              swapchain,
9960
    VkSwapchainTimingPropertiesEXT*             pSwapchainTimingProperties,
9961
0
    uint64_t*                                   pSwapchainTimingPropertiesCounter) {
9962
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9963
0
    if (NULL == disp) {
9964
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9965
0
                   "vkGetSwapchainTimingPropertiesEXT: Invalid device "
9966
0
                   "[VUID-vkGetSwapchainTimingPropertiesEXT-device-parameter]");
9967
0
        abort(); /* Intentionally fail so user can correct issue. */
9968
0
    }
9969
0
    return disp->GetSwapchainTimingPropertiesEXT(device, swapchain, pSwapchainTimingProperties, pSwapchainTimingPropertiesCounter);
9970
0
}
9971
9972
VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainTimeDomainPropertiesEXT(
9973
    VkDevice                                    device,
9974
    VkSwapchainKHR                              swapchain,
9975
    VkSwapchainTimeDomainPropertiesEXT*         pSwapchainTimeDomainProperties,
9976
0
    uint64_t*                                   pTimeDomainsCounter) {
9977
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9978
0
    if (NULL == disp) {
9979
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9980
0
                   "vkGetSwapchainTimeDomainPropertiesEXT: Invalid device "
9981
0
                   "[VUID-vkGetSwapchainTimeDomainPropertiesEXT-device-parameter]");
9982
0
        abort(); /* Intentionally fail so user can correct issue. */
9983
0
    }
9984
0
    return disp->GetSwapchainTimeDomainPropertiesEXT(device, swapchain, pSwapchainTimeDomainProperties, pTimeDomainsCounter);
9985
0
}
9986
9987
VKAPI_ATTR VkResult VKAPI_CALL GetPastPresentationTimingEXT(
9988
    VkDevice                                    device,
9989
    const VkPastPresentationTimingInfoEXT*      pPastPresentationTimingInfo,
9990
0
    VkPastPresentationTimingPropertiesEXT*      pPastPresentationTimingProperties) {
9991
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
9992
0
    if (NULL == disp) {
9993
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
9994
0
                   "vkGetPastPresentationTimingEXT: Invalid device "
9995
0
                   "[VUID-vkGetPastPresentationTimingEXT-device-parameter]");
9996
0
        abort(); /* Intentionally fail so user can correct issue. */
9997
0
    }
9998
0
    return disp->GetPastPresentationTimingEXT(device, pPastPresentationTimingInfo, pPastPresentationTimingProperties);
9999
0
}
10000
10001
10002
// ---- VK_INTEL_performance_query extension trampoline/terminators
10003
10004
VKAPI_ATTR VkResult VKAPI_CALL InitializePerformanceApiINTEL(
10005
    VkDevice                                    device,
10006
0
    const VkInitializePerformanceApiInfoINTEL*  pInitializeInfo) {
10007
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10008
0
    if (NULL == disp) {
10009
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10010
0
                   "vkInitializePerformanceApiINTEL: Invalid device "
10011
0
                   "[VUID-vkInitializePerformanceApiINTEL-device-parameter]");
10012
0
        abort(); /* Intentionally fail so user can correct issue. */
10013
0
    }
10014
0
    return disp->InitializePerformanceApiINTEL(device, pInitializeInfo);
10015
0
}
10016
10017
VKAPI_ATTR void VKAPI_CALL UninitializePerformanceApiINTEL(
10018
0
    VkDevice                                    device) {
10019
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10020
0
    if (NULL == disp) {
10021
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10022
0
                   "vkUninitializePerformanceApiINTEL: Invalid device "
10023
0
                   "[VUID-vkUninitializePerformanceApiINTEL-device-parameter]");
10024
0
        abort(); /* Intentionally fail so user can correct issue. */
10025
0
    }
10026
0
    disp->UninitializePerformanceApiINTEL(device);
10027
0
}
10028
10029
VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceMarkerINTEL(
10030
    VkCommandBuffer                             commandBuffer,
10031
0
    const VkPerformanceMarkerInfoINTEL*         pMarkerInfo) {
10032
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10033
0
    if (NULL == disp) {
10034
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10035
0
                   "vkCmdSetPerformanceMarkerINTEL: Invalid commandBuffer "
10036
0
                   "[VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-parameter]");
10037
0
        abort(); /* Intentionally fail so user can correct issue. */
10038
0
    }
10039
0
    return disp->CmdSetPerformanceMarkerINTEL(commandBuffer, pMarkerInfo);
10040
0
}
10041
10042
VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceStreamMarkerINTEL(
10043
    VkCommandBuffer                             commandBuffer,
10044
0
    const VkPerformanceStreamMarkerInfoINTEL*   pMarkerInfo) {
10045
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10046
0
    if (NULL == disp) {
10047
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10048
0
                   "vkCmdSetPerformanceStreamMarkerINTEL: Invalid commandBuffer "
10049
0
                   "[VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-parameter]");
10050
0
        abort(); /* Intentionally fail so user can correct issue. */
10051
0
    }
10052
0
    return disp->CmdSetPerformanceStreamMarkerINTEL(commandBuffer, pMarkerInfo);
10053
0
}
10054
10055
VKAPI_ATTR VkResult VKAPI_CALL CmdSetPerformanceOverrideINTEL(
10056
    VkCommandBuffer                             commandBuffer,
10057
0
    const VkPerformanceOverrideInfoINTEL*       pOverrideInfo) {
10058
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10059
0
    if (NULL == disp) {
10060
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10061
0
                   "vkCmdSetPerformanceOverrideINTEL: Invalid commandBuffer "
10062
0
                   "[VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-parameter]");
10063
0
        abort(); /* Intentionally fail so user can correct issue. */
10064
0
    }
10065
0
    return disp->CmdSetPerformanceOverrideINTEL(commandBuffer, pOverrideInfo);
10066
0
}
10067
10068
VKAPI_ATTR VkResult VKAPI_CALL AcquirePerformanceConfigurationINTEL(
10069
    VkDevice                                    device,
10070
    const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
10071
0
    VkPerformanceConfigurationINTEL*            pConfiguration) {
10072
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10073
0
    if (NULL == disp) {
10074
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10075
0
                   "vkAcquirePerformanceConfigurationINTEL: Invalid device "
10076
0
                   "[VUID-vkAcquirePerformanceConfigurationINTEL-device-parameter]");
10077
0
        abort(); /* Intentionally fail so user can correct issue. */
10078
0
    }
10079
0
    return disp->AcquirePerformanceConfigurationINTEL(device, pAcquireInfo, pConfiguration);
10080
0
}
10081
10082
VKAPI_ATTR VkResult VKAPI_CALL ReleasePerformanceConfigurationINTEL(
10083
    VkDevice                                    device,
10084
0
    VkPerformanceConfigurationINTEL             configuration) {
10085
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10086
0
    if (NULL == disp) {
10087
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10088
0
                   "vkReleasePerformanceConfigurationINTEL: Invalid device "
10089
0
                   "[VUID-vkReleasePerformanceConfigurationINTEL-device-parameter]");
10090
0
        abort(); /* Intentionally fail so user can correct issue. */
10091
0
    }
10092
0
    return disp->ReleasePerformanceConfigurationINTEL(device, configuration);
10093
0
}
10094
10095
VKAPI_ATTR VkResult VKAPI_CALL QueueSetPerformanceConfigurationINTEL(
10096
    VkQueue                                     queue,
10097
0
    VkPerformanceConfigurationINTEL             configuration) {
10098
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
10099
0
    if (NULL == disp) {
10100
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10101
0
                   "vkQueueSetPerformanceConfigurationINTEL: Invalid queue "
10102
0
                   "[VUID-vkQueueSetPerformanceConfigurationINTEL-queue-parameter]");
10103
0
        abort(); /* Intentionally fail so user can correct issue. */
10104
0
    }
10105
0
    return disp->QueueSetPerformanceConfigurationINTEL(queue, configuration);
10106
0
}
10107
10108
VKAPI_ATTR VkResult VKAPI_CALL GetPerformanceParameterINTEL(
10109
    VkDevice                                    device,
10110
    VkPerformanceParameterTypeINTEL             parameter,
10111
0
    VkPerformanceValueINTEL*                    pValue) {
10112
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10113
0
    if (NULL == disp) {
10114
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10115
0
                   "vkGetPerformanceParameterINTEL: Invalid device "
10116
0
                   "[VUID-vkGetPerformanceParameterINTEL-device-parameter]");
10117
0
        abort(); /* Intentionally fail so user can correct issue. */
10118
0
    }
10119
0
    return disp->GetPerformanceParameterINTEL(device, parameter, pValue);
10120
0
}
10121
10122
10123
// ---- VK_AMD_display_native_hdr extension trampoline/terminators
10124
10125
VKAPI_ATTR void VKAPI_CALL SetLocalDimmingAMD(
10126
    VkDevice                                    device,
10127
    VkSwapchainKHR                              swapChain,
10128
0
    VkBool32                                    localDimmingEnable) {
10129
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10130
0
    if (NULL == disp) {
10131
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10132
0
                   "vkSetLocalDimmingAMD: Invalid device "
10133
0
                   "[VUID-vkSetLocalDimmingAMD-device-parameter]");
10134
0
        abort(); /* Intentionally fail so user can correct issue. */
10135
0
    }
10136
0
    disp->SetLocalDimmingAMD(device, swapChain, localDimmingEnable);
10137
0
}
10138
10139
10140
// ---- VK_EXT_buffer_device_address extension trampoline/terminators
10141
10142
VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressEXT(
10143
    VkDevice                                    device,
10144
0
    const VkBufferDeviceAddressInfo*            pInfo) {
10145
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10146
0
    if (NULL == disp) {
10147
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10148
0
                   "vkGetBufferDeviceAddressEXT: Invalid device "
10149
0
                   "[VUID-vkGetBufferDeviceAddressEXT-device-parameter]");
10150
0
        abort(); /* Intentionally fail so user can correct issue. */
10151
0
    }
10152
0
    return disp->GetBufferDeviceAddressEXT(device, pInfo);
10153
0
}
10154
10155
10156
// ---- VK_NV_cooperative_matrix extension trampoline/terminators
10157
10158
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixPropertiesNV(
10159
    VkPhysicalDevice                            physicalDevice,
10160
    uint32_t*                                   pPropertyCount,
10161
0
    VkCooperativeMatrixPropertiesNV*            pProperties) {
10162
0
    const VkLayerInstanceDispatchTable *disp;
10163
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
10164
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
10165
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10166
0
                   "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV: Invalid physicalDevice "
10167
0
                   "[VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-physicalDevice-parameter]");
10168
0
        abort(); /* Intentionally fail so user can correct issue. */
10169
0
    }
10170
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
10171
0
    return disp->GetPhysicalDeviceCooperativeMatrixPropertiesNV(unwrapped_phys_dev, pPropertyCount, pProperties);
10172
0
}
10173
10174
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCooperativeMatrixPropertiesNV(
10175
    VkPhysicalDevice                            physicalDevice,
10176
    uint32_t*                                   pPropertyCount,
10177
0
    VkCooperativeMatrixPropertiesNV*            pProperties) {
10178
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
10179
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
10180
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixPropertiesNV) {
10181
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
10182
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCooperativeMatrixPropertiesNV");
10183
0
        abort(); /* Intentionally fail so user can correct issue. */
10184
0
    }
10185
0
    return icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixPropertiesNV(phys_dev_term->phys_dev, pPropertyCount, pProperties);
10186
0
}
10187
10188
10189
// ---- VK_NV_coverage_reduction_mode extension trampoline/terminators
10190
10191
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10192
    VkPhysicalDevice                            physicalDevice,
10193
    uint32_t*                                   pCombinationCount,
10194
0
    VkFramebufferMixedSamplesCombinationNV*     pCombinations) {
10195
0
    const VkLayerInstanceDispatchTable *disp;
10196
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
10197
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
10198
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10199
0
                   "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: Invalid physicalDevice "
10200
0
                   "[VUID-vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV-physicalDevice-parameter]");
10201
0
        abort(); /* Intentionally fail so user can correct issue. */
10202
0
    }
10203
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
10204
0
    return disp->GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(unwrapped_phys_dev, pCombinationCount, pCombinations);
10205
0
}
10206
10207
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
10208
    VkPhysicalDevice                            physicalDevice,
10209
    uint32_t*                                   pCombinationCount,
10210
0
    VkFramebufferMixedSamplesCombinationNV*     pCombinations) {
10211
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
10212
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
10213
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV) {
10214
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
10215
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
10216
0
        abort(); /* Intentionally fail so user can correct issue. */
10217
0
    }
10218
0
    return icd_term->dispatch.GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(phys_dev_term->phys_dev, pCombinationCount, pCombinations);
10219
0
}
10220
10221
10222
// ---- VK_EXT_full_screen_exclusive extension trampoline/terminators
10223
10224
#if defined(VK_USE_PLATFORM_WIN32_KHR)
10225
VKAPI_ATTR VkResult VKAPI_CALL AcquireFullScreenExclusiveModeEXT(
10226
    VkDevice                                    device,
10227
    VkSwapchainKHR                              swapchain) {
10228
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10229
    if (NULL == disp) {
10230
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10231
                   "vkAcquireFullScreenExclusiveModeEXT: Invalid device "
10232
                   "[VUID-vkAcquireFullScreenExclusiveModeEXT-device-parameter]");
10233
        abort(); /* Intentionally fail so user can correct issue. */
10234
    }
10235
    return disp->AcquireFullScreenExclusiveModeEXT(device, swapchain);
10236
}
10237
10238
#endif // VK_USE_PLATFORM_WIN32_KHR
10239
#if defined(VK_USE_PLATFORM_WIN32_KHR)
10240
VKAPI_ATTR VkResult VKAPI_CALL ReleaseFullScreenExclusiveModeEXT(
10241
    VkDevice                                    device,
10242
    VkSwapchainKHR                              swapchain) {
10243
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10244
    if (NULL == disp) {
10245
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10246
                   "vkReleaseFullScreenExclusiveModeEXT: Invalid device "
10247
                   "[VUID-vkReleaseFullScreenExclusiveModeEXT-device-parameter]");
10248
        abort(); /* Intentionally fail so user can correct issue. */
10249
    }
10250
    return disp->ReleaseFullScreenExclusiveModeEXT(device, swapchain);
10251
}
10252
10253
#endif // VK_USE_PLATFORM_WIN32_KHR
10254
10255
// ---- VK_EXT_line_rasterization extension trampoline/terminators
10256
10257
VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEXT(
10258
    VkCommandBuffer                             commandBuffer,
10259
    uint32_t                                    lineStippleFactor,
10260
0
    uint16_t                                    lineStipplePattern) {
10261
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10262
0
    if (NULL == disp) {
10263
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10264
0
                   "vkCmdSetLineStippleEXT: Invalid commandBuffer "
10265
0
                   "[VUID-vkCmdSetLineStippleEXT-commandBuffer-parameter]");
10266
0
        abort(); /* Intentionally fail so user can correct issue. */
10267
0
    }
10268
0
    disp->CmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern);
10269
0
}
10270
10271
10272
// ---- VK_EXT_host_query_reset extension trampoline/terminators
10273
10274
VKAPI_ATTR void VKAPI_CALL ResetQueryPoolEXT(
10275
    VkDevice                                    device,
10276
    VkQueryPool                                 queryPool,
10277
    uint32_t                                    firstQuery,
10278
0
    uint32_t                                    queryCount) {
10279
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10280
0
    if (NULL == disp) {
10281
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10282
0
                   "vkResetQueryPoolEXT: Invalid device "
10283
0
                   "[VUID-vkResetQueryPoolEXT-device-parameter]");
10284
0
        abort(); /* Intentionally fail so user can correct issue. */
10285
0
    }
10286
0
    disp->ResetQueryPoolEXT(device, queryPool, firstQuery, queryCount);
10287
0
}
10288
10289
10290
// ---- VK_EXT_extended_dynamic_state extension trampoline/terminators
10291
10292
VKAPI_ATTR void VKAPI_CALL CmdSetCullModeEXT(
10293
    VkCommandBuffer                             commandBuffer,
10294
0
    VkCullModeFlags                             cullMode) {
10295
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10296
0
    if (NULL == disp) {
10297
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10298
0
                   "vkCmdSetCullModeEXT: Invalid commandBuffer "
10299
0
                   "[VUID-vkCmdSetCullModeEXT-commandBuffer-parameter]");
10300
0
        abort(); /* Intentionally fail so user can correct issue. */
10301
0
    }
10302
0
    disp->CmdSetCullModeEXT(commandBuffer, cullMode);
10303
0
}
10304
10305
VKAPI_ATTR void VKAPI_CALL CmdSetFrontFaceEXT(
10306
    VkCommandBuffer                             commandBuffer,
10307
0
    VkFrontFace                                 frontFace) {
10308
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10309
0
    if (NULL == disp) {
10310
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10311
0
                   "vkCmdSetFrontFaceEXT: Invalid commandBuffer "
10312
0
                   "[VUID-vkCmdSetFrontFaceEXT-commandBuffer-parameter]");
10313
0
        abort(); /* Intentionally fail so user can correct issue. */
10314
0
    }
10315
0
    disp->CmdSetFrontFaceEXT(commandBuffer, frontFace);
10316
0
}
10317
10318
VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveTopologyEXT(
10319
    VkCommandBuffer                             commandBuffer,
10320
0
    VkPrimitiveTopology                         primitiveTopology) {
10321
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10322
0
    if (NULL == disp) {
10323
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10324
0
                   "vkCmdSetPrimitiveTopologyEXT: Invalid commandBuffer "
10325
0
                   "[VUID-vkCmdSetPrimitiveTopologyEXT-commandBuffer-parameter]");
10326
0
        abort(); /* Intentionally fail so user can correct issue. */
10327
0
    }
10328
0
    disp->CmdSetPrimitiveTopologyEXT(commandBuffer, primitiveTopology);
10329
0
}
10330
10331
VKAPI_ATTR void VKAPI_CALL CmdSetViewportWithCountEXT(
10332
    VkCommandBuffer                             commandBuffer,
10333
    uint32_t                                    viewportCount,
10334
0
    const VkViewport*                           pViewports) {
10335
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10336
0
    if (NULL == disp) {
10337
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10338
0
                   "vkCmdSetViewportWithCountEXT: Invalid commandBuffer "
10339
0
                   "[VUID-vkCmdSetViewportWithCountEXT-commandBuffer-parameter]");
10340
0
        abort(); /* Intentionally fail so user can correct issue. */
10341
0
    }
10342
0
    disp->CmdSetViewportWithCountEXT(commandBuffer, viewportCount, pViewports);
10343
0
}
10344
10345
VKAPI_ATTR void VKAPI_CALL CmdSetScissorWithCountEXT(
10346
    VkCommandBuffer                             commandBuffer,
10347
    uint32_t                                    scissorCount,
10348
0
    const VkRect2D*                             pScissors) {
10349
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10350
0
    if (NULL == disp) {
10351
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10352
0
                   "vkCmdSetScissorWithCountEXT: Invalid commandBuffer "
10353
0
                   "[VUID-vkCmdSetScissorWithCountEXT-commandBuffer-parameter]");
10354
0
        abort(); /* Intentionally fail so user can correct issue. */
10355
0
    }
10356
0
    disp->CmdSetScissorWithCountEXT(commandBuffer, scissorCount, pScissors);
10357
0
}
10358
10359
VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers2EXT(
10360
    VkCommandBuffer                             commandBuffer,
10361
    uint32_t                                    firstBinding,
10362
    uint32_t                                    bindingCount,
10363
    const VkBuffer*                             pBuffers,
10364
    const VkDeviceSize*                         pOffsets,
10365
    const VkDeviceSize*                         pSizes,
10366
0
    const VkDeviceSize*                         pStrides) {
10367
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10368
0
    if (NULL == disp) {
10369
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10370
0
                   "vkCmdBindVertexBuffers2EXT: Invalid commandBuffer "
10371
0
                   "[VUID-vkCmdBindVertexBuffers2EXT-commandBuffer-parameter]");
10372
0
        abort(); /* Intentionally fail so user can correct issue. */
10373
0
    }
10374
0
    disp->CmdBindVertexBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides);
10375
0
}
10376
10377
VKAPI_ATTR void VKAPI_CALL CmdSetDepthTestEnableEXT(
10378
    VkCommandBuffer                             commandBuffer,
10379
0
    VkBool32                                    depthTestEnable) {
10380
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10381
0
    if (NULL == disp) {
10382
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10383
0
                   "vkCmdSetDepthTestEnableEXT: Invalid commandBuffer "
10384
0
                   "[VUID-vkCmdSetDepthTestEnableEXT-commandBuffer-parameter]");
10385
0
        abort(); /* Intentionally fail so user can correct issue. */
10386
0
    }
10387
0
    disp->CmdSetDepthTestEnableEXT(commandBuffer, depthTestEnable);
10388
0
}
10389
10390
VKAPI_ATTR void VKAPI_CALL CmdSetDepthWriteEnableEXT(
10391
    VkCommandBuffer                             commandBuffer,
10392
0
    VkBool32                                    depthWriteEnable) {
10393
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10394
0
    if (NULL == disp) {
10395
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10396
0
                   "vkCmdSetDepthWriteEnableEXT: Invalid commandBuffer "
10397
0
                   "[VUID-vkCmdSetDepthWriteEnableEXT-commandBuffer-parameter]");
10398
0
        abort(); /* Intentionally fail so user can correct issue. */
10399
0
    }
10400
0
    disp->CmdSetDepthWriteEnableEXT(commandBuffer, depthWriteEnable);
10401
0
}
10402
10403
VKAPI_ATTR void VKAPI_CALL CmdSetDepthCompareOpEXT(
10404
    VkCommandBuffer                             commandBuffer,
10405
0
    VkCompareOp                                 depthCompareOp) {
10406
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10407
0
    if (NULL == disp) {
10408
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10409
0
                   "vkCmdSetDepthCompareOpEXT: Invalid commandBuffer "
10410
0
                   "[VUID-vkCmdSetDepthCompareOpEXT-commandBuffer-parameter]");
10411
0
        abort(); /* Intentionally fail so user can correct issue. */
10412
0
    }
10413
0
    disp->CmdSetDepthCompareOpEXT(commandBuffer, depthCompareOp);
10414
0
}
10415
10416
VKAPI_ATTR void VKAPI_CALL CmdSetDepthBoundsTestEnableEXT(
10417
    VkCommandBuffer                             commandBuffer,
10418
0
    VkBool32                                    depthBoundsTestEnable) {
10419
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10420
0
    if (NULL == disp) {
10421
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10422
0
                   "vkCmdSetDepthBoundsTestEnableEXT: Invalid commandBuffer "
10423
0
                   "[VUID-vkCmdSetDepthBoundsTestEnableEXT-commandBuffer-parameter]");
10424
0
        abort(); /* Intentionally fail so user can correct issue. */
10425
0
    }
10426
0
    disp->CmdSetDepthBoundsTestEnableEXT(commandBuffer, depthBoundsTestEnable);
10427
0
}
10428
10429
VKAPI_ATTR void VKAPI_CALL CmdSetStencilTestEnableEXT(
10430
    VkCommandBuffer                             commandBuffer,
10431
0
    VkBool32                                    stencilTestEnable) {
10432
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10433
0
    if (NULL == disp) {
10434
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10435
0
                   "vkCmdSetStencilTestEnableEXT: Invalid commandBuffer "
10436
0
                   "[VUID-vkCmdSetStencilTestEnableEXT-commandBuffer-parameter]");
10437
0
        abort(); /* Intentionally fail so user can correct issue. */
10438
0
    }
10439
0
    disp->CmdSetStencilTestEnableEXT(commandBuffer, stencilTestEnable);
10440
0
}
10441
10442
VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT(
10443
    VkCommandBuffer                             commandBuffer,
10444
    VkStencilFaceFlags                          faceMask,
10445
    VkStencilOp                                 failOp,
10446
    VkStencilOp                                 passOp,
10447
    VkStencilOp                                 depthFailOp,
10448
0
    VkCompareOp                                 compareOp) {
10449
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10450
0
    if (NULL == disp) {
10451
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10452
0
                   "vkCmdSetStencilOpEXT: Invalid commandBuffer "
10453
0
                   "[VUID-vkCmdSetStencilOpEXT-commandBuffer-parameter]");
10454
0
        abort(); /* Intentionally fail so user can correct issue. */
10455
0
    }
10456
0
    disp->CmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
10457
0
}
10458
10459
10460
// ---- VK_EXT_host_image_copy extension trampoline/terminators
10461
10462
VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToImageEXT(
10463
    VkDevice                                    device,
10464
0
    const VkCopyMemoryToImageInfo*              pCopyMemoryToImageInfo) {
10465
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10466
0
    if (NULL == disp) {
10467
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10468
0
                   "vkCopyMemoryToImageEXT: Invalid device "
10469
0
                   "[VUID-vkCopyMemoryToImageEXT-device-parameter]");
10470
0
        abort(); /* Intentionally fail so user can correct issue. */
10471
0
    }
10472
0
    return disp->CopyMemoryToImageEXT(device, pCopyMemoryToImageInfo);
10473
0
}
10474
10475
VKAPI_ATTR VkResult VKAPI_CALL CopyImageToMemoryEXT(
10476
    VkDevice                                    device,
10477
0
    const VkCopyImageToMemoryInfo*              pCopyImageToMemoryInfo) {
10478
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10479
0
    if (NULL == disp) {
10480
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10481
0
                   "vkCopyImageToMemoryEXT: Invalid device "
10482
0
                   "[VUID-vkCopyImageToMemoryEXT-device-parameter]");
10483
0
        abort(); /* Intentionally fail so user can correct issue. */
10484
0
    }
10485
0
    return disp->CopyImageToMemoryEXT(device, pCopyImageToMemoryInfo);
10486
0
}
10487
10488
VKAPI_ATTR VkResult VKAPI_CALL CopyImageToImageEXT(
10489
    VkDevice                                    device,
10490
0
    const VkCopyImageToImageInfo*               pCopyImageToImageInfo) {
10491
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10492
0
    if (NULL == disp) {
10493
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10494
0
                   "vkCopyImageToImageEXT: Invalid device "
10495
0
                   "[VUID-vkCopyImageToImageEXT-device-parameter]");
10496
0
        abort(); /* Intentionally fail so user can correct issue. */
10497
0
    }
10498
0
    return disp->CopyImageToImageEXT(device, pCopyImageToImageInfo);
10499
0
}
10500
10501
VKAPI_ATTR VkResult VKAPI_CALL TransitionImageLayoutEXT(
10502
    VkDevice                                    device,
10503
    uint32_t                                    transitionCount,
10504
0
    const VkHostImageLayoutTransitionInfo*      pTransitions) {
10505
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10506
0
    if (NULL == disp) {
10507
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10508
0
                   "vkTransitionImageLayoutEXT: Invalid device "
10509
0
                   "[VUID-vkTransitionImageLayoutEXT-device-parameter]");
10510
0
        abort(); /* Intentionally fail so user can correct issue. */
10511
0
    }
10512
0
    return disp->TransitionImageLayoutEXT(device, transitionCount, pTransitions);
10513
0
}
10514
10515
VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout2EXT(
10516
    VkDevice                                    device,
10517
    VkImage                                     image,
10518
    const VkImageSubresource2*                  pSubresource,
10519
0
    VkSubresourceLayout2*                       pLayout) {
10520
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10521
0
    if (NULL == disp) {
10522
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10523
0
                   "vkGetImageSubresourceLayout2EXT: Invalid device "
10524
0
                   "[VUID-vkGetImageSubresourceLayout2EXT-device-parameter]");
10525
0
        abort(); /* Intentionally fail so user can correct issue. */
10526
0
    }
10527
0
    disp->GetImageSubresourceLayout2EXT(device, image, pSubresource, pLayout);
10528
0
}
10529
10530
10531
// ---- VK_EXT_swapchain_maintenance1 extension trampoline/terminators
10532
10533
VKAPI_ATTR VkResult VKAPI_CALL ReleaseSwapchainImagesEXT(
10534
    VkDevice                                    device,
10535
0
    const VkReleaseSwapchainImagesInfoKHR*      pReleaseInfo) {
10536
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10537
0
    if (NULL == disp) {
10538
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10539
0
                   "vkReleaseSwapchainImagesEXT: Invalid device "
10540
0
                   "[VUID-vkReleaseSwapchainImagesEXT-device-parameter]");
10541
0
        abort(); /* Intentionally fail so user can correct issue. */
10542
0
    }
10543
0
    return disp->ReleaseSwapchainImagesEXT(device, pReleaseInfo);
10544
0
}
10545
10546
10547
// ---- VK_NV_device_generated_commands extension trampoline/terminators
10548
10549
VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV(
10550
    VkDevice                                    device,
10551
    const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
10552
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
10553
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10554
0
    if (NULL == disp) {
10555
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10556
0
                   "vkGetGeneratedCommandsMemoryRequirementsNV: Invalid device "
10557
0
                   "[VUID-vkGetGeneratedCommandsMemoryRequirementsNV-device-parameter]");
10558
0
        abort(); /* Intentionally fail so user can correct issue. */
10559
0
    }
10560
0
    disp->GetGeneratedCommandsMemoryRequirementsNV(device, pInfo, pMemoryRequirements);
10561
0
}
10562
10563
VKAPI_ATTR void VKAPI_CALL CmdPreprocessGeneratedCommandsNV(
10564
    VkCommandBuffer                             commandBuffer,
10565
0
    const VkGeneratedCommandsInfoNV*            pGeneratedCommandsInfo) {
10566
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10567
0
    if (NULL == disp) {
10568
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10569
0
                   "vkCmdPreprocessGeneratedCommandsNV: Invalid commandBuffer "
10570
0
                   "[VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-parameter]");
10571
0
        abort(); /* Intentionally fail so user can correct issue. */
10572
0
    }
10573
0
    disp->CmdPreprocessGeneratedCommandsNV(commandBuffer, pGeneratedCommandsInfo);
10574
0
}
10575
10576
VKAPI_ATTR void VKAPI_CALL CmdExecuteGeneratedCommandsNV(
10577
    VkCommandBuffer                             commandBuffer,
10578
    VkBool32                                    isPreprocessed,
10579
0
    const VkGeneratedCommandsInfoNV*            pGeneratedCommandsInfo) {
10580
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10581
0
    if (NULL == disp) {
10582
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10583
0
                   "vkCmdExecuteGeneratedCommandsNV: Invalid commandBuffer "
10584
0
                   "[VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-parameter]");
10585
0
        abort(); /* Intentionally fail so user can correct issue. */
10586
0
    }
10587
0
    disp->CmdExecuteGeneratedCommandsNV(commandBuffer, isPreprocessed, pGeneratedCommandsInfo);
10588
0
}
10589
10590
VKAPI_ATTR void VKAPI_CALL CmdBindPipelineShaderGroupNV(
10591
    VkCommandBuffer                             commandBuffer,
10592
    VkPipelineBindPoint                         pipelineBindPoint,
10593
    VkPipeline                                  pipeline,
10594
0
    uint32_t                                    groupIndex) {
10595
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10596
0
    if (NULL == disp) {
10597
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10598
0
                   "vkCmdBindPipelineShaderGroupNV: Invalid commandBuffer "
10599
0
                   "[VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-parameter]");
10600
0
        abort(); /* Intentionally fail so user can correct issue. */
10601
0
    }
10602
0
    disp->CmdBindPipelineShaderGroupNV(commandBuffer, pipelineBindPoint, pipeline, groupIndex);
10603
0
}
10604
10605
VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutNV(
10606
    VkDevice                                    device,
10607
    const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
10608
    const VkAllocationCallbacks*                pAllocator,
10609
0
    VkIndirectCommandsLayoutNV*                 pIndirectCommandsLayout) {
10610
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10611
0
    if (NULL == disp) {
10612
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10613
0
                   "vkCreateIndirectCommandsLayoutNV: Invalid device "
10614
0
                   "[VUID-vkCreateIndirectCommandsLayoutNV-device-parameter]");
10615
0
        abort(); /* Intentionally fail so user can correct issue. */
10616
0
    }
10617
0
    return disp->CreateIndirectCommandsLayoutNV(device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
10618
0
}
10619
10620
VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV(
10621
    VkDevice                                    device,
10622
    VkIndirectCommandsLayoutNV                  indirectCommandsLayout,
10623
0
    const VkAllocationCallbacks*                pAllocator) {
10624
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10625
0
    if (NULL == disp) {
10626
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10627
0
                   "vkDestroyIndirectCommandsLayoutNV: Invalid device "
10628
0
                   "[VUID-vkDestroyIndirectCommandsLayoutNV-device-parameter]");
10629
0
        abort(); /* Intentionally fail so user can correct issue. */
10630
0
    }
10631
0
    disp->DestroyIndirectCommandsLayoutNV(device, indirectCommandsLayout, pAllocator);
10632
0
}
10633
10634
10635
// ---- VK_EXT_depth_bias_control extension trampoline/terminators
10636
10637
VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias2EXT(
10638
    VkCommandBuffer                             commandBuffer,
10639
0
    const VkDepthBiasInfoEXT*                   pDepthBiasInfo) {
10640
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10641
0
    if (NULL == disp) {
10642
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10643
0
                   "vkCmdSetDepthBias2EXT: Invalid commandBuffer "
10644
0
                   "[VUID-vkCmdSetDepthBias2EXT-commandBuffer-parameter]");
10645
0
        abort(); /* Intentionally fail so user can correct issue. */
10646
0
    }
10647
0
    disp->CmdSetDepthBias2EXT(commandBuffer, pDepthBiasInfo);
10648
0
}
10649
10650
10651
// ---- VK_EXT_acquire_drm_display extension trampoline/terminators
10652
10653
VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT(
10654
    VkPhysicalDevice                            physicalDevice,
10655
    int32_t                                     drmFd,
10656
0
    VkDisplayKHR                                display) {
10657
0
    const VkLayerInstanceDispatchTable *disp;
10658
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
10659
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
10660
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10661
0
                   "vkAcquireDrmDisplayEXT: Invalid physicalDevice "
10662
0
                   "[VUID-vkAcquireDrmDisplayEXT-physicalDevice-parameter]");
10663
0
        abort(); /* Intentionally fail so user can correct issue. */
10664
0
    }
10665
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
10666
0
    return disp->AcquireDrmDisplayEXT(unwrapped_phys_dev, drmFd, display);
10667
0
}
10668
10669
VKAPI_ATTR VkResult VKAPI_CALL terminator_AcquireDrmDisplayEXT(
10670
    VkPhysicalDevice                            physicalDevice,
10671
    int32_t                                     drmFd,
10672
0
    VkDisplayKHR                                display) {
10673
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
10674
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
10675
0
    if (NULL == icd_term->dispatch.AcquireDrmDisplayEXT) {
10676
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_ERROR_BIT, 0,
10677
0
                   "ICD associated with VkPhysicalDevice does not support AcquireDrmDisplayEXT");
10678
0
        return VK_ERROR_EXTENSION_NOT_PRESENT;
10679
0
    }
10680
0
    return icd_term->dispatch.AcquireDrmDisplayEXT(phys_dev_term->phys_dev, drmFd, display);
10681
0
}
10682
10683
VKAPI_ATTR VkResult VKAPI_CALL GetDrmDisplayEXT(
10684
    VkPhysicalDevice                            physicalDevice,
10685
    int32_t                                     drmFd,
10686
    uint32_t                                    connectorId,
10687
0
    VkDisplayKHR*                               display) {
10688
0
    const VkLayerInstanceDispatchTable *disp;
10689
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
10690
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
10691
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10692
0
                   "vkGetDrmDisplayEXT: Invalid physicalDevice "
10693
0
                   "[VUID-vkGetDrmDisplayEXT-physicalDevice-parameter]");
10694
0
        abort(); /* Intentionally fail so user can correct issue. */
10695
0
    }
10696
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
10697
0
    return disp->GetDrmDisplayEXT(unwrapped_phys_dev, drmFd, connectorId, display);
10698
0
}
10699
10700
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetDrmDisplayEXT(
10701
    VkPhysicalDevice                            physicalDevice,
10702
    int32_t                                     drmFd,
10703
    uint32_t                                    connectorId,
10704
0
    VkDisplayKHR*                               display) {
10705
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
10706
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
10707
0
    if (NULL == icd_term->dispatch.GetDrmDisplayEXT) {
10708
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_ERROR_BIT, 0,
10709
0
                   "ICD associated with VkPhysicalDevice does not support GetDrmDisplayEXT");
10710
0
        return VK_ERROR_EXTENSION_NOT_PRESENT;
10711
0
    }
10712
0
    return icd_term->dispatch.GetDrmDisplayEXT(phys_dev_term->phys_dev, drmFd, connectorId, display);
10713
0
}
10714
10715
10716
// ---- VK_EXT_private_data extension trampoline/terminators
10717
10718
VKAPI_ATTR VkResult VKAPI_CALL CreatePrivateDataSlotEXT(
10719
    VkDevice                                    device,
10720
    const VkPrivateDataSlotCreateInfo*          pCreateInfo,
10721
    const VkAllocationCallbacks*                pAllocator,
10722
0
    VkPrivateDataSlot*                          pPrivateDataSlot) {
10723
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10724
0
    if (NULL == disp) {
10725
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10726
0
                   "vkCreatePrivateDataSlotEXT: Invalid device "
10727
0
                   "[VUID-vkCreatePrivateDataSlotEXT-device-parameter]");
10728
0
        abort(); /* Intentionally fail so user can correct issue. */
10729
0
    }
10730
0
    return disp->CreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot);
10731
0
}
10732
10733
VKAPI_ATTR void VKAPI_CALL DestroyPrivateDataSlotEXT(
10734
    VkDevice                                    device,
10735
    VkPrivateDataSlot                           privateDataSlot,
10736
0
    const VkAllocationCallbacks*                pAllocator) {
10737
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10738
0
    if (NULL == disp) {
10739
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10740
0
                   "vkDestroyPrivateDataSlotEXT: Invalid device "
10741
0
                   "[VUID-vkDestroyPrivateDataSlotEXT-device-parameter]");
10742
0
        abort(); /* Intentionally fail so user can correct issue. */
10743
0
    }
10744
0
    disp->DestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator);
10745
0
}
10746
10747
VKAPI_ATTR VkResult VKAPI_CALL SetPrivateDataEXT(
10748
    VkDevice                                    device,
10749
    VkObjectType                                objectType,
10750
    uint64_t                                    objectHandle,
10751
    VkPrivateDataSlot                           privateDataSlot,
10752
0
    uint64_t                                    data) {
10753
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10754
0
    if (NULL == disp) {
10755
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10756
0
                   "vkSetPrivateDataEXT: Invalid device "
10757
0
                   "[VUID-vkSetPrivateDataEXT-device-parameter]");
10758
0
        abort(); /* Intentionally fail so user can correct issue. */
10759
0
    }
10760
0
    return disp->SetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data);
10761
0
}
10762
10763
VKAPI_ATTR void VKAPI_CALL GetPrivateDataEXT(
10764
    VkDevice                                    device,
10765
    VkObjectType                                objectType,
10766
    uint64_t                                    objectHandle,
10767
    VkPrivateDataSlot                           privateDataSlot,
10768
0
    uint64_t*                                   pData) {
10769
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10770
0
    if (NULL == disp) {
10771
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10772
0
                   "vkGetPrivateDataEXT: Invalid device "
10773
0
                   "[VUID-vkGetPrivateDataEXT-device-parameter]");
10774
0
        abort(); /* Intentionally fail so user can correct issue. */
10775
0
    }
10776
0
    disp->GetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData);
10777
0
}
10778
10779
10780
// ---- VK_QCOM_queue_perf_hint extension trampoline/terminators
10781
10782
VKAPI_ATTR VkResult                   VKAPI_CALL QueueSetPerfHintQCOM(
10783
    VkQueue                                     queue,
10784
0
    const VkPerfHintInfoQCOM*                   pPerfHintInfo) {
10785
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
10786
0
    if (NULL == disp) {
10787
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10788
0
                   "vkQueueSetPerfHintQCOM: Invalid queue "
10789
0
                   "[VUID-vkQueueSetPerfHintQCOM-queue-parameter]");
10790
0
        abort(); /* Intentionally fail so user can correct issue. */
10791
0
    }
10792
0
    return disp->QueueSetPerfHintQCOM(queue, pPerfHintInfo);
10793
0
}
10794
10795
10796
// ---- VK_NV_cuda_kernel_launch extension trampoline/terminators
10797
10798
#if defined(VK_ENABLE_BETA_EXTENSIONS)
10799
VKAPI_ATTR VkResult VKAPI_CALL CreateCudaModuleNV(
10800
    VkDevice                                    device,
10801
    const VkCudaModuleCreateInfoNV*             pCreateInfo,
10802
    const VkAllocationCallbacks*                pAllocator,
10803
0
    VkCudaModuleNV*                             pModule) {
10804
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10805
0
    if (NULL == disp) {
10806
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10807
0
                   "vkCreateCudaModuleNV: Invalid device "
10808
0
                   "[VUID-vkCreateCudaModuleNV-device-parameter]");
10809
0
        abort(); /* Intentionally fail so user can correct issue. */
10810
0
    }
10811
0
    return disp->CreateCudaModuleNV(device, pCreateInfo, pAllocator, pModule);
10812
0
}
10813
10814
#endif // VK_ENABLE_BETA_EXTENSIONS
10815
#if defined(VK_ENABLE_BETA_EXTENSIONS)
10816
VKAPI_ATTR VkResult VKAPI_CALL GetCudaModuleCacheNV(
10817
    VkDevice                                    device,
10818
    VkCudaModuleNV                              module,
10819
    size_t*                                     pCacheSize,
10820
0
    void*                                       pCacheData) {
10821
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10822
0
    if (NULL == disp) {
10823
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10824
0
                   "vkGetCudaModuleCacheNV: Invalid device "
10825
0
                   "[VUID-vkGetCudaModuleCacheNV-device-parameter]");
10826
0
        abort(); /* Intentionally fail so user can correct issue. */
10827
0
    }
10828
0
    return disp->GetCudaModuleCacheNV(device, module, pCacheSize, pCacheData);
10829
0
}
10830
10831
#endif // VK_ENABLE_BETA_EXTENSIONS
10832
#if defined(VK_ENABLE_BETA_EXTENSIONS)
10833
VKAPI_ATTR VkResult VKAPI_CALL CreateCudaFunctionNV(
10834
    VkDevice                                    device,
10835
    const VkCudaFunctionCreateInfoNV*           pCreateInfo,
10836
    const VkAllocationCallbacks*                pAllocator,
10837
0
    VkCudaFunctionNV*                           pFunction) {
10838
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10839
0
    if (NULL == disp) {
10840
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10841
0
                   "vkCreateCudaFunctionNV: Invalid device "
10842
0
                   "[VUID-vkCreateCudaFunctionNV-device-parameter]");
10843
0
        abort(); /* Intentionally fail so user can correct issue. */
10844
0
    }
10845
0
    return disp->CreateCudaFunctionNV(device, pCreateInfo, pAllocator, pFunction);
10846
0
}
10847
10848
#endif // VK_ENABLE_BETA_EXTENSIONS
10849
#if defined(VK_ENABLE_BETA_EXTENSIONS)
10850
VKAPI_ATTR void VKAPI_CALL DestroyCudaModuleNV(
10851
    VkDevice                                    device,
10852
    VkCudaModuleNV                              module,
10853
0
    const VkAllocationCallbacks*                pAllocator) {
10854
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10855
0
    if (NULL == disp) {
10856
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10857
0
                   "vkDestroyCudaModuleNV: Invalid device "
10858
0
                   "[VUID-vkDestroyCudaModuleNV-device-parameter]");
10859
0
        abort(); /* Intentionally fail so user can correct issue. */
10860
0
    }
10861
0
    disp->DestroyCudaModuleNV(device, module, pAllocator);
10862
0
}
10863
10864
#endif // VK_ENABLE_BETA_EXTENSIONS
10865
#if defined(VK_ENABLE_BETA_EXTENSIONS)
10866
VKAPI_ATTR void VKAPI_CALL DestroyCudaFunctionNV(
10867
    VkDevice                                    device,
10868
    VkCudaFunctionNV                            function,
10869
0
    const VkAllocationCallbacks*                pAllocator) {
10870
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10871
0
    if (NULL == disp) {
10872
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10873
0
                   "vkDestroyCudaFunctionNV: Invalid device "
10874
0
                   "[VUID-vkDestroyCudaFunctionNV-device-parameter]");
10875
0
        abort(); /* Intentionally fail so user can correct issue. */
10876
0
    }
10877
0
    disp->DestroyCudaFunctionNV(device, function, pAllocator);
10878
0
}
10879
10880
#endif // VK_ENABLE_BETA_EXTENSIONS
10881
#if defined(VK_ENABLE_BETA_EXTENSIONS)
10882
VKAPI_ATTR void VKAPI_CALL CmdCudaLaunchKernelNV(
10883
    VkCommandBuffer                             commandBuffer,
10884
0
    const VkCudaLaunchInfoNV*                   pLaunchInfo) {
10885
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10886
0
    if (NULL == disp) {
10887
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10888
0
                   "vkCmdCudaLaunchKernelNV: Invalid commandBuffer "
10889
0
                   "[VUID-vkCmdCudaLaunchKernelNV-commandBuffer-parameter]");
10890
0
        abort(); /* Intentionally fail so user can correct issue. */
10891
0
    }
10892
0
    disp->CmdCudaLaunchKernelNV(commandBuffer, pLaunchInfo);
10893
0
}
10894
10895
#endif // VK_ENABLE_BETA_EXTENSIONS
10896
10897
// ---- VK_QCOM_tile_shading extension trampoline/terminators
10898
10899
VKAPI_ATTR void VKAPI_CALL CmdDispatchTileQCOM(
10900
    VkCommandBuffer                             commandBuffer,
10901
0
    const VkDispatchTileInfoQCOM*               pDispatchTileInfo) {
10902
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10903
0
    if (NULL == disp) {
10904
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10905
0
                   "vkCmdDispatchTileQCOM: Invalid commandBuffer "
10906
0
                   "[VUID-vkCmdDispatchTileQCOM-commandBuffer-parameter]");
10907
0
        abort(); /* Intentionally fail so user can correct issue. */
10908
0
    }
10909
0
    disp->CmdDispatchTileQCOM(commandBuffer, pDispatchTileInfo);
10910
0
}
10911
10912
VKAPI_ATTR void VKAPI_CALL CmdBeginPerTileExecutionQCOM(
10913
    VkCommandBuffer                             commandBuffer,
10914
0
    const VkPerTileBeginInfoQCOM*               pPerTileBeginInfo) {
10915
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10916
0
    if (NULL == disp) {
10917
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10918
0
                   "vkCmdBeginPerTileExecutionQCOM: Invalid commandBuffer "
10919
0
                   "[VUID-vkCmdBeginPerTileExecutionQCOM-commandBuffer-parameter]");
10920
0
        abort(); /* Intentionally fail so user can correct issue. */
10921
0
    }
10922
0
    disp->CmdBeginPerTileExecutionQCOM(commandBuffer, pPerTileBeginInfo);
10923
0
}
10924
10925
VKAPI_ATTR void VKAPI_CALL CmdEndPerTileExecutionQCOM(
10926
    VkCommandBuffer                             commandBuffer,
10927
0
    const VkPerTileEndInfoQCOM*                 pPerTileEndInfo) {
10928
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
10929
0
    if (NULL == disp) {
10930
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10931
0
                   "vkCmdEndPerTileExecutionQCOM: Invalid commandBuffer "
10932
0
                   "[VUID-vkCmdEndPerTileExecutionQCOM-commandBuffer-parameter]");
10933
0
        abort(); /* Intentionally fail so user can correct issue. */
10934
0
    }
10935
0
    disp->CmdEndPerTileExecutionQCOM(commandBuffer, pPerTileEndInfo);
10936
0
}
10937
10938
10939
// ---- VK_NV_low_latency extension trampoline/terminators
10940
10941
VKAPI_ATTR void VKAPI_CALL SetLatencySleepModeLegacyNV(
10942
    VkDevice                                    device,
10943
    VkBool32                                    lowLatencyMode,
10944
    VkBool32                                    lowLatencyBoost,
10945
0
    uint32_t                                    minimumIntervalUs) {
10946
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10947
0
    if (NULL == disp) {
10948
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10949
0
                   "vkSetLatencySleepModeLegacyNV: Invalid device "
10950
0
                   "[VUID-vkSetLatencySleepModeLegacyNV-device-parameter]");
10951
0
        abort(); /* Intentionally fail so user can correct issue. */
10952
0
    }
10953
0
    disp->SetLatencySleepModeLegacyNV(device, lowLatencyMode, lowLatencyBoost, minimumIntervalUs);
10954
0
}
10955
10956
VKAPI_ATTR void VKAPI_CALL LatencySleepLegacyNV(
10957
    VkDevice                                    device,
10958
    VkSemaphore                                 signalSemaphore,
10959
0
    uint64_t                                    value) {
10960
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10961
0
    if (NULL == disp) {
10962
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10963
0
                   "vkLatencySleepLegacyNV: Invalid device "
10964
0
                   "[VUID-vkLatencySleepLegacyNV-device-parameter]");
10965
0
        abort(); /* Intentionally fail so user can correct issue. */
10966
0
    }
10967
0
    disp->LatencySleepLegacyNV(device, signalSemaphore, value);
10968
0
}
10969
10970
VKAPI_ATTR void VKAPI_CALL SetLatencyMarkerLegacyNV(
10971
    VkDevice                                    device,
10972
    uint64_t                                    frameID,
10973
0
    uint32_t                                    marker) {
10974
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10975
0
    if (NULL == disp) {
10976
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10977
0
                   "vkSetLatencyMarkerLegacyNV: Invalid device "
10978
0
                   "[VUID-vkSetLatencyMarkerLegacyNV-device-parameter]");
10979
0
        abort(); /* Intentionally fail so user can correct issue. */
10980
0
    }
10981
0
    disp->SetLatencyMarkerLegacyNV(device, frameID, marker);
10982
0
}
10983
10984
VKAPI_ATTR void VKAPI_CALL GetLatencyTimingsLegacyNV(
10985
    VkDevice                                    device,
10986
0
    void*                                       pTimings) {
10987
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
10988
0
    if (NULL == disp) {
10989
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
10990
0
                   "vkGetLatencyTimingsLegacyNV: Invalid device "
10991
0
                   "[VUID-vkGetLatencyTimingsLegacyNV-device-parameter]");
10992
0
        abort(); /* Intentionally fail so user can correct issue. */
10993
0
    }
10994
0
    disp->GetLatencyTimingsLegacyNV(device, pTimings);
10995
0
}
10996
10997
VKAPI_ATTR void VKAPI_CALL QueueNotifyOutOfBandLegacyNV(
10998
    VkQueue                                     queue,
10999
0
    uint32_t                                    queueType) {
11000
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
11001
0
    if (NULL == disp) {
11002
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11003
0
                   "vkQueueNotifyOutOfBandLegacyNV: Invalid queue "
11004
0
                   "[VUID-vkQueueNotifyOutOfBandLegacyNV-queue-parameter]");
11005
0
        abort(); /* Intentionally fail so user can correct issue. */
11006
0
    }
11007
0
    disp->QueueNotifyOutOfBandLegacyNV(queue, queueType);
11008
0
}
11009
11010
VKAPI_ATTR void VKAPI_CALL GetSleepStatusLegacyNV(
11011
    VkDevice                                    device,
11012
0
    VkBool32*                                   pLowLatencyMode) {
11013
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11014
0
    if (NULL == disp) {
11015
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11016
0
                   "vkGetSleepStatusLegacyNV: Invalid device "
11017
0
                   "[VUID-vkGetSleepStatusLegacyNV-device-parameter]");
11018
0
        abort(); /* Intentionally fail so user can correct issue. */
11019
0
    }
11020
0
    disp->GetSleepStatusLegacyNV(device, pLowLatencyMode);
11021
0
}
11022
11023
VKAPI_ATTR void VKAPI_CALL ShutdownLatencyDeviceLegacyNV(
11024
0
    VkDevice                                    device) {
11025
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11026
0
    if (NULL == disp) {
11027
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11028
0
                   "vkShutdownLatencyDeviceLegacyNV: Invalid device "
11029
0
                   "[VUID-vkShutdownLatencyDeviceLegacyNV-device-parameter]");
11030
0
        abort(); /* Intentionally fail so user can correct issue. */
11031
0
    }
11032
0
    disp->ShutdownLatencyDeviceLegacyNV(device);
11033
0
}
11034
11035
11036
// ---- VK_EXT_metal_objects extension trampoline/terminators
11037
11038
#if defined(VK_USE_PLATFORM_METAL_EXT)
11039
VKAPI_ATTR void VKAPI_CALL ExportMetalObjectsEXT(
11040
    VkDevice                                    device,
11041
    VkExportMetalObjectsInfoEXT*                pMetalObjectsInfo) {
11042
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11043
    if (NULL == disp) {
11044
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11045
                   "vkExportMetalObjectsEXT: Invalid device "
11046
                   "[VUID-vkExportMetalObjectsEXT-device-parameter]");
11047
        abort(); /* Intentionally fail so user can correct issue. */
11048
    }
11049
    disp->ExportMetalObjectsEXT(device, pMetalObjectsInfo);
11050
}
11051
11052
#endif // VK_USE_PLATFORM_METAL_EXT
11053
11054
// ---- VK_EXT_descriptor_buffer extension trampoline/terminators
11055
11056
VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutSizeEXT(
11057
    VkDevice                                    device,
11058
    VkDescriptorSetLayout                       layout,
11059
0
    VkDeviceSize*                               pLayoutSizeInBytes) {
11060
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11061
0
    if (NULL == disp) {
11062
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11063
0
                   "vkGetDescriptorSetLayoutSizeEXT: Invalid device "
11064
0
                   "[VUID-vkGetDescriptorSetLayoutSizeEXT-device-parameter]");
11065
0
        abort(); /* Intentionally fail so user can correct issue. */
11066
0
    }
11067
0
    disp->GetDescriptorSetLayoutSizeEXT(device, layout, pLayoutSizeInBytes);
11068
0
}
11069
11070
VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutBindingOffsetEXT(
11071
    VkDevice                                    device,
11072
    VkDescriptorSetLayout                       layout,
11073
    uint32_t                                    binding,
11074
0
    VkDeviceSize*                               pOffset) {
11075
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11076
0
    if (NULL == disp) {
11077
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11078
0
                   "vkGetDescriptorSetLayoutBindingOffsetEXT: Invalid device "
11079
0
                   "[VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-device-parameter]");
11080
0
        abort(); /* Intentionally fail so user can correct issue. */
11081
0
    }
11082
0
    disp->GetDescriptorSetLayoutBindingOffsetEXT(device, layout, binding, pOffset);
11083
0
}
11084
11085
VKAPI_ATTR void VKAPI_CALL GetDescriptorEXT(
11086
    VkDevice                                    device,
11087
    const VkDescriptorGetInfoEXT*               pDescriptorInfo,
11088
    size_t                                      dataSize,
11089
0
    void*                                       pDescriptor) {
11090
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11091
0
    if (NULL == disp) {
11092
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11093
0
                   "vkGetDescriptorEXT: Invalid device "
11094
0
                   "[VUID-vkGetDescriptorEXT-device-parameter]");
11095
0
        abort(); /* Intentionally fail so user can correct issue. */
11096
0
    }
11097
0
    disp->GetDescriptorEXT(device, pDescriptorInfo, dataSize, pDescriptor);
11098
0
}
11099
11100
VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBuffersEXT(
11101
    VkCommandBuffer                             commandBuffer,
11102
    uint32_t                                    bufferCount,
11103
0
    const VkDescriptorBufferBindingInfoEXT*     pBindingInfos) {
11104
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11105
0
    if (NULL == disp) {
11106
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11107
0
                   "vkCmdBindDescriptorBuffersEXT: Invalid commandBuffer "
11108
0
                   "[VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-parameter]");
11109
0
        abort(); /* Intentionally fail so user can correct issue. */
11110
0
    }
11111
0
    disp->CmdBindDescriptorBuffersEXT(commandBuffer, bufferCount, pBindingInfos);
11112
0
}
11113
11114
VKAPI_ATTR void VKAPI_CALL CmdSetDescriptorBufferOffsetsEXT(
11115
    VkCommandBuffer                             commandBuffer,
11116
    VkPipelineBindPoint                         pipelineBindPoint,
11117
    VkPipelineLayout                            layout,
11118
    uint32_t                                    firstSet,
11119
    uint32_t                                    setCount,
11120
    const uint32_t*                             pBufferIndices,
11121
0
    const VkDeviceSize*                         pOffsets) {
11122
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11123
0
    if (NULL == disp) {
11124
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11125
0
                   "vkCmdSetDescriptorBufferOffsetsEXT: Invalid commandBuffer "
11126
0
                   "[VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-parameter]");
11127
0
        abort(); /* Intentionally fail so user can correct issue. */
11128
0
    }
11129
0
    disp->CmdSetDescriptorBufferOffsetsEXT(commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets);
11130
0
}
11131
11132
VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorBufferEmbeddedSamplersEXT(
11133
    VkCommandBuffer                             commandBuffer,
11134
    VkPipelineBindPoint                         pipelineBindPoint,
11135
    VkPipelineLayout                            layout,
11136
0
    uint32_t                                    set) {
11137
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11138
0
    if (NULL == disp) {
11139
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11140
0
                   "vkCmdBindDescriptorBufferEmbeddedSamplersEXT: Invalid commandBuffer "
11141
0
                   "[VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-parameter]");
11142
0
        abort(); /* Intentionally fail so user can correct issue. */
11143
0
    }
11144
0
    disp->CmdBindDescriptorBufferEmbeddedSamplersEXT(commandBuffer, pipelineBindPoint, layout, set);
11145
0
}
11146
11147
VKAPI_ATTR VkResult VKAPI_CALL GetBufferOpaqueCaptureDescriptorDataEXT(
11148
    VkDevice                                    device,
11149
    const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
11150
0
    void*                                       pData) {
11151
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11152
0
    if (NULL == disp) {
11153
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11154
0
                   "vkGetBufferOpaqueCaptureDescriptorDataEXT: Invalid device "
11155
0
                   "[VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-device-parameter]");
11156
0
        abort(); /* Intentionally fail so user can correct issue. */
11157
0
    }
11158
0
    return disp->GetBufferOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
11159
0
}
11160
11161
VKAPI_ATTR VkResult VKAPI_CALL GetImageOpaqueCaptureDescriptorDataEXT(
11162
    VkDevice                                    device,
11163
    const VkImageCaptureDescriptorDataInfoEXT*  pInfo,
11164
0
    void*                                       pData) {
11165
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11166
0
    if (NULL == disp) {
11167
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11168
0
                   "vkGetImageOpaqueCaptureDescriptorDataEXT: Invalid device "
11169
0
                   "[VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-device-parameter]");
11170
0
        abort(); /* Intentionally fail so user can correct issue. */
11171
0
    }
11172
0
    return disp->GetImageOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
11173
0
}
11174
11175
VKAPI_ATTR VkResult VKAPI_CALL GetImageViewOpaqueCaptureDescriptorDataEXT(
11176
    VkDevice                                    device,
11177
    const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
11178
0
    void*                                       pData) {
11179
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11180
0
    if (NULL == disp) {
11181
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11182
0
                   "vkGetImageViewOpaqueCaptureDescriptorDataEXT: Invalid device "
11183
0
                   "[VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-device-parameter]");
11184
0
        abort(); /* Intentionally fail so user can correct issue. */
11185
0
    }
11186
0
    return disp->GetImageViewOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
11187
0
}
11188
11189
VKAPI_ATTR VkResult VKAPI_CALL GetSamplerOpaqueCaptureDescriptorDataEXT(
11190
    VkDevice                                    device,
11191
    const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
11192
0
    void*                                       pData) {
11193
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11194
0
    if (NULL == disp) {
11195
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11196
0
                   "vkGetSamplerOpaqueCaptureDescriptorDataEXT: Invalid device "
11197
0
                   "[VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-device-parameter]");
11198
0
        abort(); /* Intentionally fail so user can correct issue. */
11199
0
    }
11200
0
    return disp->GetSamplerOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
11201
0
}
11202
11203
VKAPI_ATTR VkResult VKAPI_CALL GetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
11204
    VkDevice                                    device,
11205
    const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
11206
0
    void*                                       pData) {
11207
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11208
0
    if (NULL == disp) {
11209
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11210
0
                   "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT: Invalid device "
11211
0
                   "[VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-device-parameter]");
11212
0
        abort(); /* Intentionally fail so user can correct issue. */
11213
0
    }
11214
0
    return disp->GetAccelerationStructureOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
11215
0
}
11216
11217
11218
// ---- VK_NV_fragment_shading_rate_enums extension trampoline/terminators
11219
11220
VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV(
11221
    VkCommandBuffer                             commandBuffer,
11222
    VkFragmentShadingRateNV                     shadingRate,
11223
0
    const VkFragmentShadingRateCombinerOpKHR    combinerOps[2]) {
11224
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11225
0
    if (NULL == disp) {
11226
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11227
0
                   "vkCmdSetFragmentShadingRateEnumNV: Invalid commandBuffer "
11228
0
                   "[VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-parameter]");
11229
0
        abort(); /* Intentionally fail so user can correct issue. */
11230
0
    }
11231
0
    disp->CmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerOps);
11232
0
}
11233
11234
11235
// ---- VK_EXT_device_fault extension trampoline/terminators
11236
11237
VKAPI_ATTR VkResult VKAPI_CALL GetDeviceFaultInfoEXT(
11238
    VkDevice                                    device,
11239
    VkDeviceFaultCountsEXT*                     pFaultCounts,
11240
0
    VkDeviceFaultInfoEXT*                       pFaultInfo) {
11241
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11242
0
    if (NULL == disp) {
11243
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11244
0
                   "vkGetDeviceFaultInfoEXT: Invalid device "
11245
0
                   "[VUID-vkGetDeviceFaultInfoEXT-device-parameter]");
11246
0
        abort(); /* Intentionally fail so user can correct issue. */
11247
0
    }
11248
0
    return disp->GetDeviceFaultInfoEXT(device, pFaultCounts, pFaultInfo);
11249
0
}
11250
11251
11252
// ---- VK_NV_acquire_winrt_display extension trampoline/terminators
11253
11254
#if defined(VK_USE_PLATFORM_WIN32_KHR)
11255
VKAPI_ATTR VkResult VKAPI_CALL AcquireWinrtDisplayNV(
11256
    VkPhysicalDevice                            physicalDevice,
11257
    VkDisplayKHR                                display) {
11258
    const VkLayerInstanceDispatchTable *disp;
11259
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
11260
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
11261
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11262
                   "vkAcquireWinrtDisplayNV: Invalid physicalDevice "
11263
                   "[VUID-vkAcquireWinrtDisplayNV-physicalDevice-parameter]");
11264
        abort(); /* Intentionally fail so user can correct issue. */
11265
    }
11266
    disp = loader_get_instance_layer_dispatch(physicalDevice);
11267
    return disp->AcquireWinrtDisplayNV(unwrapped_phys_dev, display);
11268
}
11269
11270
VKAPI_ATTR VkResult VKAPI_CALL terminator_AcquireWinrtDisplayNV(
11271
    VkPhysicalDevice                            physicalDevice,
11272
    VkDisplayKHR                                display) {
11273
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
11274
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
11275
    if (NULL == icd_term->dispatch.AcquireWinrtDisplayNV) {
11276
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
11277
                   "ICD associated with VkPhysicalDevice does not support AcquireWinrtDisplayNV");
11278
        abort(); /* Intentionally fail so user can correct issue. */
11279
    }
11280
    return icd_term->dispatch.AcquireWinrtDisplayNV(phys_dev_term->phys_dev, display);
11281
}
11282
11283
#endif // VK_USE_PLATFORM_WIN32_KHR
11284
#if defined(VK_USE_PLATFORM_WIN32_KHR)
11285
VKAPI_ATTR VkResult VKAPI_CALL GetWinrtDisplayNV(
11286
    VkPhysicalDevice                            physicalDevice,
11287
    uint32_t                                    deviceRelativeId,
11288
    VkDisplayKHR*                               pDisplay) {
11289
    const VkLayerInstanceDispatchTable *disp;
11290
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
11291
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
11292
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11293
                   "vkGetWinrtDisplayNV: Invalid physicalDevice "
11294
                   "[VUID-vkGetWinrtDisplayNV-physicalDevice-parameter]");
11295
        abort(); /* Intentionally fail so user can correct issue. */
11296
    }
11297
    disp = loader_get_instance_layer_dispatch(physicalDevice);
11298
    return disp->GetWinrtDisplayNV(unwrapped_phys_dev, deviceRelativeId, pDisplay);
11299
}
11300
11301
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetWinrtDisplayNV(
11302
    VkPhysicalDevice                            physicalDevice,
11303
    uint32_t                                    deviceRelativeId,
11304
    VkDisplayKHR*                               pDisplay) {
11305
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
11306
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
11307
    if (NULL == icd_term->dispatch.GetWinrtDisplayNV) {
11308
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
11309
                   "ICD associated with VkPhysicalDevice does not support GetWinrtDisplayNV");
11310
        abort(); /* Intentionally fail so user can correct issue. */
11311
    }
11312
    return icd_term->dispatch.GetWinrtDisplayNV(phys_dev_term->phys_dev, deviceRelativeId, pDisplay);
11313
}
11314
11315
#endif // VK_USE_PLATFORM_WIN32_KHR
11316
11317
// ---- VK_EXT_vertex_input_dynamic_state extension trampoline/terminators
11318
11319
VKAPI_ATTR void VKAPI_CALL CmdSetVertexInputEXT(
11320
    VkCommandBuffer                             commandBuffer,
11321
    uint32_t                                    vertexBindingDescriptionCount,
11322
    const VkVertexInputBindingDescription2EXT*  pVertexBindingDescriptions,
11323
    uint32_t                                    vertexAttributeDescriptionCount,
11324
0
    const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) {
11325
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11326
0
    if (NULL == disp) {
11327
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11328
0
                   "vkCmdSetVertexInputEXT: Invalid commandBuffer "
11329
0
                   "[VUID-vkCmdSetVertexInputEXT-commandBuffer-parameter]");
11330
0
        abort(); /* Intentionally fail so user can correct issue. */
11331
0
    }
11332
0
    disp->CmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions);
11333
0
}
11334
11335
11336
// ---- VK_FUCHSIA_external_memory extension trampoline/terminators
11337
11338
#if defined(VK_USE_PLATFORM_FUCHSIA)
11339
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandleFUCHSIA(
11340
    VkDevice                                    device,
11341
    const VkMemoryGetZirconHandleInfoFUCHSIA*   pGetZirconHandleInfo,
11342
    zx_handle_t*                                pZirconHandle) {
11343
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11344
    if (NULL == disp) {
11345
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11346
                   "vkGetMemoryZirconHandleFUCHSIA: Invalid device "
11347
                   "[VUID-vkGetMemoryZirconHandleFUCHSIA-device-parameter]");
11348
        abort(); /* Intentionally fail so user can correct issue. */
11349
    }
11350
    return disp->GetMemoryZirconHandleFUCHSIA(device, pGetZirconHandleInfo, pZirconHandle);
11351
}
11352
11353
#endif // VK_USE_PLATFORM_FUCHSIA
11354
#if defined(VK_USE_PLATFORM_FUCHSIA)
11355
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandlePropertiesFUCHSIA(
11356
    VkDevice                                    device,
11357
    VkExternalMemoryHandleTypeFlagBits          handleType,
11358
    zx_handle_t                                 zirconHandle,
11359
    VkMemoryZirconHandlePropertiesFUCHSIA*      pMemoryZirconHandleProperties) {
11360
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11361
    if (NULL == disp) {
11362
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11363
                   "vkGetMemoryZirconHandlePropertiesFUCHSIA: Invalid device "
11364
                   "[VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-device-parameter]");
11365
        abort(); /* Intentionally fail so user can correct issue. */
11366
    }
11367
    return disp->GetMemoryZirconHandlePropertiesFUCHSIA(device, handleType, zirconHandle, pMemoryZirconHandleProperties);
11368
}
11369
11370
#endif // VK_USE_PLATFORM_FUCHSIA
11371
11372
// ---- VK_FUCHSIA_external_semaphore extension trampoline/terminators
11373
11374
#if defined(VK_USE_PLATFORM_FUCHSIA)
11375
VKAPI_ATTR VkResult VKAPI_CALL ImportSemaphoreZirconHandleFUCHSIA(
11376
    VkDevice                                    device,
11377
    const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) {
11378
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11379
    if (NULL == disp) {
11380
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11381
                   "vkImportSemaphoreZirconHandleFUCHSIA: Invalid device "
11382
                   "[VUID-vkImportSemaphoreZirconHandleFUCHSIA-device-parameter]");
11383
        abort(); /* Intentionally fail so user can correct issue. */
11384
    }
11385
    return disp->ImportSemaphoreZirconHandleFUCHSIA(device, pImportSemaphoreZirconHandleInfo);
11386
}
11387
11388
#endif // VK_USE_PLATFORM_FUCHSIA
11389
#if defined(VK_USE_PLATFORM_FUCHSIA)
11390
VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreZirconHandleFUCHSIA(
11391
    VkDevice                                    device,
11392
    const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
11393
    zx_handle_t*                                pZirconHandle) {
11394
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11395
    if (NULL == disp) {
11396
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11397
                   "vkGetSemaphoreZirconHandleFUCHSIA: Invalid device "
11398
                   "[VUID-vkGetSemaphoreZirconHandleFUCHSIA-device-parameter]");
11399
        abort(); /* Intentionally fail so user can correct issue. */
11400
    }
11401
    return disp->GetSemaphoreZirconHandleFUCHSIA(device, pGetZirconHandleInfo, pZirconHandle);
11402
}
11403
11404
#endif // VK_USE_PLATFORM_FUCHSIA
11405
11406
// ---- VK_FUCHSIA_buffer_collection extension trampoline/terminators
11407
11408
#if defined(VK_USE_PLATFORM_FUCHSIA)
11409
VKAPI_ATTR VkResult VKAPI_CALL CreateBufferCollectionFUCHSIA(
11410
    VkDevice                                    device,
11411
    const VkBufferCollectionCreateInfoFUCHSIA*  pCreateInfo,
11412
    const VkAllocationCallbacks*                pAllocator,
11413
    VkBufferCollectionFUCHSIA*                  pCollection) {
11414
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11415
    if (NULL == disp) {
11416
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11417
                   "vkCreateBufferCollectionFUCHSIA: Invalid device "
11418
                   "[VUID-vkCreateBufferCollectionFUCHSIA-device-parameter]");
11419
        abort(); /* Intentionally fail so user can correct issue. */
11420
    }
11421
    return disp->CreateBufferCollectionFUCHSIA(device, pCreateInfo, pAllocator, pCollection);
11422
}
11423
11424
#endif // VK_USE_PLATFORM_FUCHSIA
11425
#if defined(VK_USE_PLATFORM_FUCHSIA)
11426
VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionImageConstraintsFUCHSIA(
11427
    VkDevice                                    device,
11428
    VkBufferCollectionFUCHSIA                   collection,
11429
    const VkImageConstraintsInfoFUCHSIA*        pImageConstraintsInfo) {
11430
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11431
    if (NULL == disp) {
11432
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11433
                   "vkSetBufferCollectionImageConstraintsFUCHSIA: Invalid device "
11434
                   "[VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-device-parameter]");
11435
        abort(); /* Intentionally fail so user can correct issue. */
11436
    }
11437
    return disp->SetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
11438
}
11439
11440
#endif // VK_USE_PLATFORM_FUCHSIA
11441
#if defined(VK_USE_PLATFORM_FUCHSIA)
11442
VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionBufferConstraintsFUCHSIA(
11443
    VkDevice                                    device,
11444
    VkBufferCollectionFUCHSIA                   collection,
11445
    const VkBufferConstraintsInfoFUCHSIA*       pBufferConstraintsInfo) {
11446
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11447
    if (NULL == disp) {
11448
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11449
                   "vkSetBufferCollectionBufferConstraintsFUCHSIA: Invalid device "
11450
                   "[VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-device-parameter]");
11451
        abort(); /* Intentionally fail so user can correct issue. */
11452
    }
11453
    return disp->SetBufferCollectionBufferConstraintsFUCHSIA(device, collection, pBufferConstraintsInfo);
11454
}
11455
11456
#endif // VK_USE_PLATFORM_FUCHSIA
11457
#if defined(VK_USE_PLATFORM_FUCHSIA)
11458
VKAPI_ATTR void VKAPI_CALL DestroyBufferCollectionFUCHSIA(
11459
    VkDevice                                    device,
11460
    VkBufferCollectionFUCHSIA                   collection,
11461
    const VkAllocationCallbacks*                pAllocator) {
11462
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11463
    if (NULL == disp) {
11464
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11465
                   "vkDestroyBufferCollectionFUCHSIA: Invalid device "
11466
                   "[VUID-vkDestroyBufferCollectionFUCHSIA-device-parameter]");
11467
        abort(); /* Intentionally fail so user can correct issue. */
11468
    }
11469
    disp->DestroyBufferCollectionFUCHSIA(device, collection, pAllocator);
11470
}
11471
11472
#endif // VK_USE_PLATFORM_FUCHSIA
11473
#if defined(VK_USE_PLATFORM_FUCHSIA)
11474
VKAPI_ATTR VkResult VKAPI_CALL GetBufferCollectionPropertiesFUCHSIA(
11475
    VkDevice                                    device,
11476
    VkBufferCollectionFUCHSIA                   collection,
11477
    VkBufferCollectionPropertiesFUCHSIA*        pProperties) {
11478
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11479
    if (NULL == disp) {
11480
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11481
                   "vkGetBufferCollectionPropertiesFUCHSIA: Invalid device "
11482
                   "[VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameter]");
11483
        abort(); /* Intentionally fail so user can correct issue. */
11484
    }
11485
    return disp->GetBufferCollectionPropertiesFUCHSIA(device, collection, pProperties);
11486
}
11487
11488
#endif // VK_USE_PLATFORM_FUCHSIA
11489
11490
// ---- VK_HUAWEI_subpass_shading extension trampoline/terminators
11491
11492
VKAPI_ATTR VkResult VKAPI_CALL GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
11493
    VkDevice                                    device,
11494
    VkRenderPass                                renderpass,
11495
0
    VkExtent2D*                                 pMaxWorkgroupSize) {
11496
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11497
0
    if (NULL == disp) {
11498
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11499
0
                   "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: Invalid device "
11500
0
                   "[VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-device-parameter]");
11501
0
        abort(); /* Intentionally fail so user can correct issue. */
11502
0
    }
11503
0
    return disp->GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize);
11504
0
}
11505
11506
VKAPI_ATTR void VKAPI_CALL CmdSubpassShadingHUAWEI(
11507
0
    VkCommandBuffer                             commandBuffer) {
11508
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11509
0
    if (NULL == disp) {
11510
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11511
0
                   "vkCmdSubpassShadingHUAWEI: Invalid commandBuffer "
11512
0
                   "[VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-parameter]");
11513
0
        abort(); /* Intentionally fail so user can correct issue. */
11514
0
    }
11515
0
    disp->CmdSubpassShadingHUAWEI(commandBuffer);
11516
0
}
11517
11518
11519
// ---- VK_HUAWEI_invocation_mask extension trampoline/terminators
11520
11521
VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI(
11522
    VkCommandBuffer                             commandBuffer,
11523
    VkImageView                                 imageView,
11524
0
    VkImageLayout                               imageLayout) {
11525
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11526
0
    if (NULL == disp) {
11527
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11528
0
                   "vkCmdBindInvocationMaskHUAWEI: Invalid commandBuffer "
11529
0
                   "[VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-parameter]");
11530
0
        abort(); /* Intentionally fail so user can correct issue. */
11531
0
    }
11532
0
    disp->CmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout);
11533
0
}
11534
11535
11536
// ---- VK_NV_external_memory_rdma extension trampoline/terminators
11537
11538
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV(
11539
    VkDevice                                    device,
11540
    const VkMemoryGetRemoteAddressInfoNV*       pMemoryGetRemoteAddressInfo,
11541
0
    VkRemoteAddressNV*                          pAddress) {
11542
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11543
0
    if (NULL == disp) {
11544
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11545
0
                   "vkGetMemoryRemoteAddressNV: Invalid device "
11546
0
                   "[VUID-vkGetMemoryRemoteAddressNV-device-parameter]");
11547
0
        abort(); /* Intentionally fail so user can correct issue. */
11548
0
    }
11549
0
    return disp->GetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress);
11550
0
}
11551
11552
11553
// ---- VK_EXT_pipeline_properties extension trampoline/terminators
11554
11555
VKAPI_ATTR VkResult VKAPI_CALL GetPipelinePropertiesEXT(
11556
    VkDevice                                    device,
11557
    const VkPipelineInfoKHR*                    pPipelineInfo,
11558
0
    VkBaseOutStructure*                         pPipelineProperties) {
11559
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11560
0
    if (NULL == disp) {
11561
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11562
0
                   "vkGetPipelinePropertiesEXT: Invalid device "
11563
0
                   "[VUID-vkGetPipelinePropertiesEXT-device-parameter]");
11564
0
        abort(); /* Intentionally fail so user can correct issue. */
11565
0
    }
11566
0
    return disp->GetPipelinePropertiesEXT(device, pPipelineInfo, pPipelineProperties);
11567
0
}
11568
11569
11570
// ---- VK_EXT_extended_dynamic_state2 extension trampoline/terminators
11571
11572
VKAPI_ATTR void VKAPI_CALL CmdSetPatchControlPointsEXT(
11573
    VkCommandBuffer                             commandBuffer,
11574
0
    uint32_t                                    patchControlPoints) {
11575
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11576
0
    if (NULL == disp) {
11577
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11578
0
                   "vkCmdSetPatchControlPointsEXT: Invalid commandBuffer "
11579
0
                   "[VUID-vkCmdSetPatchControlPointsEXT-commandBuffer-parameter]");
11580
0
        abort(); /* Intentionally fail so user can correct issue. */
11581
0
    }
11582
0
    disp->CmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints);
11583
0
}
11584
11585
VKAPI_ATTR void VKAPI_CALL CmdSetRasterizerDiscardEnableEXT(
11586
    VkCommandBuffer                             commandBuffer,
11587
0
    VkBool32                                    rasterizerDiscardEnable) {
11588
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11589
0
    if (NULL == disp) {
11590
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11591
0
                   "vkCmdSetRasterizerDiscardEnableEXT: Invalid commandBuffer "
11592
0
                   "[VUID-vkCmdSetRasterizerDiscardEnableEXT-commandBuffer-parameter]");
11593
0
        abort(); /* Intentionally fail so user can correct issue. */
11594
0
    }
11595
0
    disp->CmdSetRasterizerDiscardEnableEXT(commandBuffer, rasterizerDiscardEnable);
11596
0
}
11597
11598
VKAPI_ATTR void VKAPI_CALL CmdSetDepthBiasEnableEXT(
11599
    VkCommandBuffer                             commandBuffer,
11600
0
    VkBool32                                    depthBiasEnable) {
11601
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11602
0
    if (NULL == disp) {
11603
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11604
0
                   "vkCmdSetDepthBiasEnableEXT: Invalid commandBuffer "
11605
0
                   "[VUID-vkCmdSetDepthBiasEnableEXT-commandBuffer-parameter]");
11606
0
        abort(); /* Intentionally fail so user can correct issue. */
11607
0
    }
11608
0
    disp->CmdSetDepthBiasEnableEXT(commandBuffer, depthBiasEnable);
11609
0
}
11610
11611
VKAPI_ATTR void VKAPI_CALL CmdSetLogicOpEXT(
11612
    VkCommandBuffer                             commandBuffer,
11613
0
    VkLogicOp                                   logicOp) {
11614
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11615
0
    if (NULL == disp) {
11616
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11617
0
                   "vkCmdSetLogicOpEXT: Invalid commandBuffer "
11618
0
                   "[VUID-vkCmdSetLogicOpEXT-commandBuffer-parameter]");
11619
0
        abort(); /* Intentionally fail so user can correct issue. */
11620
0
    }
11621
0
    disp->CmdSetLogicOpEXT(commandBuffer, logicOp);
11622
0
}
11623
11624
VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveRestartEnableEXT(
11625
    VkCommandBuffer                             commandBuffer,
11626
0
    VkBool32                                    primitiveRestartEnable) {
11627
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11628
0
    if (NULL == disp) {
11629
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11630
0
                   "vkCmdSetPrimitiveRestartEnableEXT: Invalid commandBuffer "
11631
0
                   "[VUID-vkCmdSetPrimitiveRestartEnableEXT-commandBuffer-parameter]");
11632
0
        abort(); /* Intentionally fail so user can correct issue. */
11633
0
    }
11634
0
    disp->CmdSetPrimitiveRestartEnableEXT(commandBuffer, primitiveRestartEnable);
11635
0
}
11636
11637
11638
// ---- VK_EXT_color_write_enable extension trampoline/terminators
11639
11640
VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteEnableEXT(
11641
    VkCommandBuffer                             commandBuffer,
11642
    uint32_t                                    attachmentCount,
11643
0
    const VkBool32*                             pColorWriteEnables) {
11644
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11645
0
    if (NULL == disp) {
11646
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11647
0
                   "vkCmdSetColorWriteEnableEXT: Invalid commandBuffer "
11648
0
                   "[VUID-vkCmdSetColorWriteEnableEXT-commandBuffer-parameter]");
11649
0
        abort(); /* Intentionally fail so user can correct issue. */
11650
0
    }
11651
0
    disp->CmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWriteEnables);
11652
0
}
11653
11654
11655
// ---- VK_EXT_multi_draw extension trampoline/terminators
11656
11657
VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT(
11658
    VkCommandBuffer                             commandBuffer,
11659
    uint32_t                                    drawCount,
11660
    const VkMultiDrawInfoEXT*                   pVertexInfo,
11661
    uint32_t                                    instanceCount,
11662
    uint32_t                                    firstInstance,
11663
0
    uint32_t                                    stride) {
11664
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11665
0
    if (NULL == disp) {
11666
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11667
0
                   "vkCmdDrawMultiEXT: Invalid commandBuffer "
11668
0
                   "[VUID-vkCmdDrawMultiEXT-commandBuffer-parameter]");
11669
0
        abort(); /* Intentionally fail so user can correct issue. */
11670
0
    }
11671
0
    disp->CmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride);
11672
0
}
11673
11674
VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT(
11675
    VkCommandBuffer                             commandBuffer,
11676
    uint32_t                                    drawCount,
11677
    const VkMultiDrawIndexedInfoEXT*            pIndexInfo,
11678
    uint32_t                                    instanceCount,
11679
    uint32_t                                    firstInstance,
11680
    uint32_t                                    stride,
11681
0
    const int32_t*                              pVertexOffset) {
11682
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11683
0
    if (NULL == disp) {
11684
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11685
0
                   "vkCmdDrawMultiIndexedEXT: Invalid commandBuffer "
11686
0
                   "[VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-parameter]");
11687
0
        abort(); /* Intentionally fail so user can correct issue. */
11688
0
    }
11689
0
    disp->CmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset);
11690
0
}
11691
11692
11693
// ---- VK_EXT_opacity_micromap extension trampoline/terminators
11694
11695
VKAPI_ATTR VkResult VKAPI_CALL CreateMicromapEXT(
11696
    VkDevice                                    device,
11697
    const VkMicromapCreateInfoEXT*              pCreateInfo,
11698
    const VkAllocationCallbacks*                pAllocator,
11699
0
    VkMicromapEXT*                              pMicromap) {
11700
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11701
0
    if (NULL == disp) {
11702
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11703
0
                   "vkCreateMicromapEXT: Invalid device "
11704
0
                   "[VUID-vkCreateMicromapEXT-device-parameter]");
11705
0
        abort(); /* Intentionally fail so user can correct issue. */
11706
0
    }
11707
0
    return disp->CreateMicromapEXT(device, pCreateInfo, pAllocator, pMicromap);
11708
0
}
11709
11710
VKAPI_ATTR void VKAPI_CALL DestroyMicromapEXT(
11711
    VkDevice                                    device,
11712
    VkMicromapEXT                               micromap,
11713
0
    const VkAllocationCallbacks*                pAllocator) {
11714
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11715
0
    if (NULL == disp) {
11716
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11717
0
                   "vkDestroyMicromapEXT: Invalid device "
11718
0
                   "[VUID-vkDestroyMicromapEXT-device-parameter]");
11719
0
        abort(); /* Intentionally fail so user can correct issue. */
11720
0
    }
11721
0
    disp->DestroyMicromapEXT(device, micromap, pAllocator);
11722
0
}
11723
11724
VKAPI_ATTR void VKAPI_CALL CmdBuildMicromapsEXT(
11725
    VkCommandBuffer                             commandBuffer,
11726
    uint32_t                                    infoCount,
11727
0
    const VkMicromapBuildInfoEXT*               pInfos) {
11728
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11729
0
    if (NULL == disp) {
11730
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11731
0
                   "vkCmdBuildMicromapsEXT: Invalid commandBuffer "
11732
0
                   "[VUID-vkCmdBuildMicromapsEXT-commandBuffer-parameter]");
11733
0
        abort(); /* Intentionally fail so user can correct issue. */
11734
0
    }
11735
0
    disp->CmdBuildMicromapsEXT(commandBuffer, infoCount, pInfos);
11736
0
}
11737
11738
VKAPI_ATTR VkResult VKAPI_CALL BuildMicromapsEXT(
11739
    VkDevice                                    device,
11740
    VkDeferredOperationKHR                      deferredOperation,
11741
    uint32_t                                    infoCount,
11742
0
    const VkMicromapBuildInfoEXT*               pInfos) {
11743
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11744
0
    if (NULL == disp) {
11745
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11746
0
                   "vkBuildMicromapsEXT: Invalid device "
11747
0
                   "[VUID-vkBuildMicromapsEXT-device-parameter]");
11748
0
        abort(); /* Intentionally fail so user can correct issue. */
11749
0
    }
11750
0
    return disp->BuildMicromapsEXT(device, deferredOperation, infoCount, pInfos);
11751
0
}
11752
11753
VKAPI_ATTR VkResult VKAPI_CALL CopyMicromapEXT(
11754
    VkDevice                                    device,
11755
    VkDeferredOperationKHR                      deferredOperation,
11756
0
    const VkCopyMicromapInfoEXT*                pInfo) {
11757
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11758
0
    if (NULL == disp) {
11759
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11760
0
                   "vkCopyMicromapEXT: Invalid device "
11761
0
                   "[VUID-vkCopyMicromapEXT-device-parameter]");
11762
0
        abort(); /* Intentionally fail so user can correct issue. */
11763
0
    }
11764
0
    return disp->CopyMicromapEXT(device, deferredOperation, pInfo);
11765
0
}
11766
11767
VKAPI_ATTR VkResult VKAPI_CALL CopyMicromapToMemoryEXT(
11768
    VkDevice                                    device,
11769
    VkDeferredOperationKHR                      deferredOperation,
11770
0
    const VkCopyMicromapToMemoryInfoEXT*        pInfo) {
11771
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11772
0
    if (NULL == disp) {
11773
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11774
0
                   "vkCopyMicromapToMemoryEXT: Invalid device "
11775
0
                   "[VUID-vkCopyMicromapToMemoryEXT-device-parameter]");
11776
0
        abort(); /* Intentionally fail so user can correct issue. */
11777
0
    }
11778
0
    return disp->CopyMicromapToMemoryEXT(device, deferredOperation, pInfo);
11779
0
}
11780
11781
VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToMicromapEXT(
11782
    VkDevice                                    device,
11783
    VkDeferredOperationKHR                      deferredOperation,
11784
0
    const VkCopyMemoryToMicromapInfoEXT*        pInfo) {
11785
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11786
0
    if (NULL == disp) {
11787
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11788
0
                   "vkCopyMemoryToMicromapEXT: Invalid device "
11789
0
                   "[VUID-vkCopyMemoryToMicromapEXT-device-parameter]");
11790
0
        abort(); /* Intentionally fail so user can correct issue. */
11791
0
    }
11792
0
    return disp->CopyMemoryToMicromapEXT(device, deferredOperation, pInfo);
11793
0
}
11794
11795
VKAPI_ATTR VkResult VKAPI_CALL WriteMicromapsPropertiesEXT(
11796
    VkDevice                                    device,
11797
    uint32_t                                    micromapCount,
11798
    const VkMicromapEXT*                        pMicromaps,
11799
    VkQueryType                                 queryType,
11800
    size_t                                      dataSize,
11801
    void*                                       pData,
11802
0
    size_t                                      stride) {
11803
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11804
0
    if (NULL == disp) {
11805
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11806
0
                   "vkWriteMicromapsPropertiesEXT: Invalid device "
11807
0
                   "[VUID-vkWriteMicromapsPropertiesEXT-device-parameter]");
11808
0
        abort(); /* Intentionally fail so user can correct issue. */
11809
0
    }
11810
0
    return disp->WriteMicromapsPropertiesEXT(device, micromapCount, pMicromaps, queryType, dataSize, pData, stride);
11811
0
}
11812
11813
VKAPI_ATTR void VKAPI_CALL CmdCopyMicromapEXT(
11814
    VkCommandBuffer                             commandBuffer,
11815
0
    const VkCopyMicromapInfoEXT*                pInfo) {
11816
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11817
0
    if (NULL == disp) {
11818
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11819
0
                   "vkCmdCopyMicromapEXT: Invalid commandBuffer "
11820
0
                   "[VUID-vkCmdCopyMicromapEXT-commandBuffer-parameter]");
11821
0
        abort(); /* Intentionally fail so user can correct issue. */
11822
0
    }
11823
0
    disp->CmdCopyMicromapEXT(commandBuffer, pInfo);
11824
0
}
11825
11826
VKAPI_ATTR void VKAPI_CALL CmdCopyMicromapToMemoryEXT(
11827
    VkCommandBuffer                             commandBuffer,
11828
0
    const VkCopyMicromapToMemoryInfoEXT*        pInfo) {
11829
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11830
0
    if (NULL == disp) {
11831
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11832
0
                   "vkCmdCopyMicromapToMemoryEXT: Invalid commandBuffer "
11833
0
                   "[VUID-vkCmdCopyMicromapToMemoryEXT-commandBuffer-parameter]");
11834
0
        abort(); /* Intentionally fail so user can correct issue. */
11835
0
    }
11836
0
    disp->CmdCopyMicromapToMemoryEXT(commandBuffer, pInfo);
11837
0
}
11838
11839
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToMicromapEXT(
11840
    VkCommandBuffer                             commandBuffer,
11841
0
    const VkCopyMemoryToMicromapInfoEXT*        pInfo) {
11842
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11843
0
    if (NULL == disp) {
11844
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11845
0
                   "vkCmdCopyMemoryToMicromapEXT: Invalid commandBuffer "
11846
0
                   "[VUID-vkCmdCopyMemoryToMicromapEXT-commandBuffer-parameter]");
11847
0
        abort(); /* Intentionally fail so user can correct issue. */
11848
0
    }
11849
0
    disp->CmdCopyMemoryToMicromapEXT(commandBuffer, pInfo);
11850
0
}
11851
11852
VKAPI_ATTR void VKAPI_CALL CmdWriteMicromapsPropertiesEXT(
11853
    VkCommandBuffer                             commandBuffer,
11854
    uint32_t                                    micromapCount,
11855
    const VkMicromapEXT*                        pMicromaps,
11856
    VkQueryType                                 queryType,
11857
    VkQueryPool                                 queryPool,
11858
0
    uint32_t                                    firstQuery) {
11859
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11860
0
    if (NULL == disp) {
11861
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11862
0
                   "vkCmdWriteMicromapsPropertiesEXT: Invalid commandBuffer "
11863
0
                   "[VUID-vkCmdWriteMicromapsPropertiesEXT-commandBuffer-parameter]");
11864
0
        abort(); /* Intentionally fail so user can correct issue. */
11865
0
    }
11866
0
    disp->CmdWriteMicromapsPropertiesEXT(commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery);
11867
0
}
11868
11869
VKAPI_ATTR void VKAPI_CALL GetDeviceMicromapCompatibilityEXT(
11870
    VkDevice                                    device,
11871
    const VkMicromapVersionInfoEXT*             pVersionInfo,
11872
0
    VkAccelerationStructureCompatibilityKHR*    pCompatibility) {
11873
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11874
0
    if (NULL == disp) {
11875
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11876
0
                   "vkGetDeviceMicromapCompatibilityEXT: Invalid device "
11877
0
                   "[VUID-vkGetDeviceMicromapCompatibilityEXT-device-parameter]");
11878
0
        abort(); /* Intentionally fail so user can correct issue. */
11879
0
    }
11880
0
    disp->GetDeviceMicromapCompatibilityEXT(device, pVersionInfo, pCompatibility);
11881
0
}
11882
11883
VKAPI_ATTR void VKAPI_CALL GetMicromapBuildSizesEXT(
11884
    VkDevice                                    device,
11885
    VkAccelerationStructureBuildTypeKHR         buildType,
11886
    const VkMicromapBuildInfoEXT*               pBuildInfo,
11887
0
    VkMicromapBuildSizesInfoEXT*                pSizeInfo) {
11888
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11889
0
    if (NULL == disp) {
11890
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11891
0
                   "vkGetMicromapBuildSizesEXT: Invalid device "
11892
0
                   "[VUID-vkGetMicromapBuildSizesEXT-device-parameter]");
11893
0
        abort(); /* Intentionally fail so user can correct issue. */
11894
0
    }
11895
0
    disp->GetMicromapBuildSizesEXT(device, buildType, pBuildInfo, pSizeInfo);
11896
0
}
11897
11898
11899
// ---- VK_HUAWEI_cluster_culling_shader extension trampoline/terminators
11900
11901
VKAPI_ATTR void VKAPI_CALL CmdDrawClusterHUAWEI(
11902
    VkCommandBuffer                             commandBuffer,
11903
    uint32_t                                    groupCountX,
11904
    uint32_t                                    groupCountY,
11905
0
    uint32_t                                    groupCountZ) {
11906
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11907
0
    if (NULL == disp) {
11908
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11909
0
                   "vkCmdDrawClusterHUAWEI: Invalid commandBuffer "
11910
0
                   "[VUID-vkCmdDrawClusterHUAWEI-commandBuffer-parameter]");
11911
0
        abort(); /* Intentionally fail so user can correct issue. */
11912
0
    }
11913
0
    disp->CmdDrawClusterHUAWEI(commandBuffer, groupCountX, groupCountY, groupCountZ);
11914
0
}
11915
11916
VKAPI_ATTR void VKAPI_CALL CmdDrawClusterIndirectHUAWEI(
11917
    VkCommandBuffer                             commandBuffer,
11918
    VkBuffer                                    buffer,
11919
0
    VkDeviceSize                                offset) {
11920
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11921
0
    if (NULL == disp) {
11922
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11923
0
                   "vkCmdDrawClusterIndirectHUAWEI: Invalid commandBuffer "
11924
0
                   "[VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-parameter]");
11925
0
        abort(); /* Intentionally fail so user can correct issue. */
11926
0
    }
11927
0
    disp->CmdDrawClusterIndirectHUAWEI(commandBuffer, buffer, offset);
11928
0
}
11929
11930
11931
// ---- VK_EXT_pageable_device_local_memory extension trampoline/terminators
11932
11933
VKAPI_ATTR void VKAPI_CALL SetDeviceMemoryPriorityEXT(
11934
    VkDevice                                    device,
11935
    VkDeviceMemory                              memory,
11936
0
    float                                       priority) {
11937
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11938
0
    if (NULL == disp) {
11939
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11940
0
                   "vkSetDeviceMemoryPriorityEXT: Invalid device "
11941
0
                   "[VUID-vkSetDeviceMemoryPriorityEXT-device-parameter]");
11942
0
        abort(); /* Intentionally fail so user can correct issue. */
11943
0
    }
11944
0
    disp->SetDeviceMemoryPriorityEXT(device, memory, priority);
11945
0
}
11946
11947
11948
// ---- VK_ARM_scheduling_controls extension trampoline/terminators
11949
11950
VKAPI_ATTR void VKAPI_CALL CmdSetDispatchParametersARM(
11951
    VkCommandBuffer                             commandBuffer,
11952
0
    const VkDispatchParametersARM*              pDispatchParameters) {
11953
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
11954
0
    if (NULL == disp) {
11955
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11956
0
                   "vkCmdSetDispatchParametersARM: Invalid commandBuffer "
11957
0
                   "[VUID-vkCmdSetDispatchParametersARM-commandBuffer-parameter]");
11958
0
        abort(); /* Intentionally fail so user can correct issue. */
11959
0
    }
11960
0
    disp->CmdSetDispatchParametersARM(commandBuffer, pDispatchParameters);
11961
0
}
11962
11963
11964
// ---- VK_VALVE_descriptor_set_host_mapping extension trampoline/terminators
11965
11966
VKAPI_ATTR void VKAPI_CALL GetDescriptorSetLayoutHostMappingInfoVALVE(
11967
    VkDevice                                    device,
11968
    const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
11969
0
    VkDescriptorSetLayoutHostMappingInfoVALVE*  pHostMapping) {
11970
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11971
0
    if (NULL == disp) {
11972
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11973
0
                   "vkGetDescriptorSetLayoutHostMappingInfoVALVE: Invalid device "
11974
0
                   "[VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-device-parameter]");
11975
0
        abort(); /* Intentionally fail so user can correct issue. */
11976
0
    }
11977
0
    disp->GetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping);
11978
0
}
11979
11980
VKAPI_ATTR void VKAPI_CALL GetDescriptorSetHostMappingVALVE(
11981
    VkDevice                                    device,
11982
    VkDescriptorSet                             descriptorSet,
11983
0
    void**                                      ppData) {
11984
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
11985
0
    if (NULL == disp) {
11986
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
11987
0
                   "vkGetDescriptorSetHostMappingVALVE: Invalid device "
11988
0
                   "[VUID-vkGetDescriptorSetHostMappingVALVE-device-parameter]");
11989
0
        abort(); /* Intentionally fail so user can correct issue. */
11990
0
    }
11991
0
    disp->GetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData);
11992
0
}
11993
11994
11995
// ---- VK_NV_copy_memory_indirect extension trampoline/terminators
11996
11997
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryIndirectNV(
11998
    VkCommandBuffer                             commandBuffer,
11999
    VkDeviceAddress                             copyBufferAddress,
12000
    uint32_t                                    copyCount,
12001
0
    uint32_t                                    stride) {
12002
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12003
0
    if (NULL == disp) {
12004
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12005
0
                   "vkCmdCopyMemoryIndirectNV: Invalid commandBuffer "
12006
0
                   "[VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-parameter]");
12007
0
        abort(); /* Intentionally fail so user can correct issue. */
12008
0
    }
12009
0
    disp->CmdCopyMemoryIndirectNV(commandBuffer, copyBufferAddress, copyCount, stride);
12010
0
}
12011
12012
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToImageIndirectNV(
12013
    VkCommandBuffer                             commandBuffer,
12014
    VkDeviceAddress                             copyBufferAddress,
12015
    uint32_t                                    copyCount,
12016
    uint32_t                                    stride,
12017
    VkImage                                     dstImage,
12018
    VkImageLayout                               dstImageLayout,
12019
0
    const VkImageSubresourceLayers*             pImageSubresources) {
12020
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12021
0
    if (NULL == disp) {
12022
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12023
0
                   "vkCmdCopyMemoryToImageIndirectNV: Invalid commandBuffer "
12024
0
                   "[VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-parameter]");
12025
0
        abort(); /* Intentionally fail so user can correct issue. */
12026
0
    }
12027
0
    disp->CmdCopyMemoryToImageIndirectNV(commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources);
12028
0
}
12029
12030
12031
// ---- VK_NV_memory_decompression extension trampoline/terminators
12032
12033
VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryNV(
12034
    VkCommandBuffer                             commandBuffer,
12035
    uint32_t                                    decompressRegionCount,
12036
0
    const VkDecompressMemoryRegionNV*           pDecompressMemoryRegions) {
12037
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12038
0
    if (NULL == disp) {
12039
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12040
0
                   "vkCmdDecompressMemoryNV: Invalid commandBuffer "
12041
0
                   "[VUID-vkCmdDecompressMemoryNV-commandBuffer-parameter]");
12042
0
        abort(); /* Intentionally fail so user can correct issue. */
12043
0
    }
12044
0
    disp->CmdDecompressMemoryNV(commandBuffer, decompressRegionCount, pDecompressMemoryRegions);
12045
0
}
12046
12047
VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountNV(
12048
    VkCommandBuffer                             commandBuffer,
12049
    VkDeviceAddress                             indirectCommandsAddress,
12050
    VkDeviceAddress                             indirectCommandsCountAddress,
12051
0
    uint32_t                                    stride) {
12052
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12053
0
    if (NULL == disp) {
12054
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12055
0
                   "vkCmdDecompressMemoryIndirectCountNV: Invalid commandBuffer "
12056
0
                   "[VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-parameter]");
12057
0
        abort(); /* Intentionally fail so user can correct issue. */
12058
0
    }
12059
0
    disp->CmdDecompressMemoryIndirectCountNV(commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride);
12060
0
}
12061
12062
12063
// ---- VK_NV_device_generated_commands_compute extension trampoline/terminators
12064
12065
VKAPI_ATTR void VKAPI_CALL GetPipelineIndirectMemoryRequirementsNV(
12066
    VkDevice                                    device,
12067
    const VkComputePipelineCreateInfo*          pCreateInfo,
12068
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
12069
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12070
0
    if (NULL == disp) {
12071
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12072
0
                   "vkGetPipelineIndirectMemoryRequirementsNV: Invalid device "
12073
0
                   "[VUID-vkGetPipelineIndirectMemoryRequirementsNV-device-parameter]");
12074
0
        abort(); /* Intentionally fail so user can correct issue. */
12075
0
    }
12076
0
    disp->GetPipelineIndirectMemoryRequirementsNV(device, pCreateInfo, pMemoryRequirements);
12077
0
}
12078
12079
VKAPI_ATTR void VKAPI_CALL CmdUpdatePipelineIndirectBufferNV(
12080
    VkCommandBuffer                             commandBuffer,
12081
    VkPipelineBindPoint                         pipelineBindPoint,
12082
0
    VkPipeline                                  pipeline) {
12083
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12084
0
    if (NULL == disp) {
12085
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12086
0
                   "vkCmdUpdatePipelineIndirectBufferNV: Invalid commandBuffer "
12087
0
                   "[VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-parameter]");
12088
0
        abort(); /* Intentionally fail so user can correct issue. */
12089
0
    }
12090
0
    disp->CmdUpdatePipelineIndirectBufferNV(commandBuffer, pipelineBindPoint, pipeline);
12091
0
}
12092
12093
VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetPipelineIndirectDeviceAddressNV(
12094
    VkDevice                                    device,
12095
0
    const VkPipelineIndirectDeviceAddressInfoNV* pInfo) {
12096
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12097
0
    if (NULL == disp) {
12098
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12099
0
                   "vkGetPipelineIndirectDeviceAddressNV: Invalid device "
12100
0
                   "[VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameter]");
12101
0
        abort(); /* Intentionally fail so user can correct issue. */
12102
0
    }
12103
0
    return disp->GetPipelineIndirectDeviceAddressNV(device, pInfo);
12104
0
}
12105
12106
12107
// ---- VK_OHOS_external_memory extension trampoline/terminators
12108
12109
#if defined(VK_USE_PLATFORM_OHOS)
12110
VKAPI_ATTR VkResult VKAPI_CALL GetNativeBufferPropertiesOHOS(
12111
    VkDevice                                    device,
12112
    const struct OH_NativeBuffer*               buffer,
12113
    VkNativeBufferPropertiesOHOS*               pProperties) {
12114
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12115
    if (NULL == disp) {
12116
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12117
                   "vkGetNativeBufferPropertiesOHOS: Invalid device "
12118
                   "[VUID-vkGetNativeBufferPropertiesOHOS-device-parameter]");
12119
        abort(); /* Intentionally fail so user can correct issue. */
12120
    }
12121
    return disp->GetNativeBufferPropertiesOHOS(device, buffer, pProperties);
12122
}
12123
12124
#endif // VK_USE_PLATFORM_OHOS
12125
#if defined(VK_USE_PLATFORM_OHOS)
12126
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryNativeBufferOHOS(
12127
    VkDevice                                    device,
12128
    const VkMemoryGetNativeBufferInfoOHOS*      pInfo,
12129
    struct OH_NativeBuffer**                    pBuffer) {
12130
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12131
    if (NULL == disp) {
12132
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12133
                   "vkGetMemoryNativeBufferOHOS: Invalid device "
12134
                   "[VUID-vkGetMemoryNativeBufferOHOS-device-parameter]");
12135
        abort(); /* Intentionally fail so user can correct issue. */
12136
    }
12137
    return disp->GetMemoryNativeBufferOHOS(device, pInfo, pBuffer);
12138
}
12139
12140
#endif // VK_USE_PLATFORM_OHOS
12141
12142
// ---- VK_EXT_extended_dynamic_state3 extension trampoline/terminators
12143
12144
VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampEnableEXT(
12145
    VkCommandBuffer                             commandBuffer,
12146
0
    VkBool32                                    depthClampEnable) {
12147
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12148
0
    if (NULL == disp) {
12149
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12150
0
                   "vkCmdSetDepthClampEnableEXT: Invalid commandBuffer "
12151
0
                   "[VUID-vkCmdSetDepthClampEnableEXT-commandBuffer-parameter]");
12152
0
        abort(); /* Intentionally fail so user can correct issue. */
12153
0
    }
12154
0
    disp->CmdSetDepthClampEnableEXT(commandBuffer, depthClampEnable);
12155
0
}
12156
12157
VKAPI_ATTR void VKAPI_CALL CmdSetPolygonModeEXT(
12158
    VkCommandBuffer                             commandBuffer,
12159
0
    VkPolygonMode                               polygonMode) {
12160
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12161
0
    if (NULL == disp) {
12162
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12163
0
                   "vkCmdSetPolygonModeEXT: Invalid commandBuffer "
12164
0
                   "[VUID-vkCmdSetPolygonModeEXT-commandBuffer-parameter]");
12165
0
        abort(); /* Intentionally fail so user can correct issue. */
12166
0
    }
12167
0
    disp->CmdSetPolygonModeEXT(commandBuffer, polygonMode);
12168
0
}
12169
12170
VKAPI_ATTR void VKAPI_CALL CmdSetRasterizationSamplesEXT(
12171
    VkCommandBuffer                             commandBuffer,
12172
0
    VkSampleCountFlagBits                       rasterizationSamples) {
12173
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12174
0
    if (NULL == disp) {
12175
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12176
0
                   "vkCmdSetRasterizationSamplesEXT: Invalid commandBuffer "
12177
0
                   "[VUID-vkCmdSetRasterizationSamplesEXT-commandBuffer-parameter]");
12178
0
        abort(); /* Intentionally fail so user can correct issue. */
12179
0
    }
12180
0
    disp->CmdSetRasterizationSamplesEXT(commandBuffer, rasterizationSamples);
12181
0
}
12182
12183
VKAPI_ATTR void VKAPI_CALL CmdSetSampleMaskEXT(
12184
    VkCommandBuffer                             commandBuffer,
12185
    VkSampleCountFlagBits                       samples,
12186
0
    const VkSampleMask*                         pSampleMask) {
12187
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12188
0
    if (NULL == disp) {
12189
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12190
0
                   "vkCmdSetSampleMaskEXT: Invalid commandBuffer "
12191
0
                   "[VUID-vkCmdSetSampleMaskEXT-commandBuffer-parameter]");
12192
0
        abort(); /* Intentionally fail so user can correct issue. */
12193
0
    }
12194
0
    disp->CmdSetSampleMaskEXT(commandBuffer, samples, pSampleMask);
12195
0
}
12196
12197
VKAPI_ATTR void VKAPI_CALL CmdSetAlphaToCoverageEnableEXT(
12198
    VkCommandBuffer                             commandBuffer,
12199
0
    VkBool32                                    alphaToCoverageEnable) {
12200
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12201
0
    if (NULL == disp) {
12202
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12203
0
                   "vkCmdSetAlphaToCoverageEnableEXT: Invalid commandBuffer "
12204
0
                   "[VUID-vkCmdSetAlphaToCoverageEnableEXT-commandBuffer-parameter]");
12205
0
        abort(); /* Intentionally fail so user can correct issue. */
12206
0
    }
12207
0
    disp->CmdSetAlphaToCoverageEnableEXT(commandBuffer, alphaToCoverageEnable);
12208
0
}
12209
12210
VKAPI_ATTR void VKAPI_CALL CmdSetAlphaToOneEnableEXT(
12211
    VkCommandBuffer                             commandBuffer,
12212
0
    VkBool32                                    alphaToOneEnable) {
12213
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12214
0
    if (NULL == disp) {
12215
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12216
0
                   "vkCmdSetAlphaToOneEnableEXT: Invalid commandBuffer "
12217
0
                   "[VUID-vkCmdSetAlphaToOneEnableEXT-commandBuffer-parameter]");
12218
0
        abort(); /* Intentionally fail so user can correct issue. */
12219
0
    }
12220
0
    disp->CmdSetAlphaToOneEnableEXT(commandBuffer, alphaToOneEnable);
12221
0
}
12222
12223
VKAPI_ATTR void VKAPI_CALL CmdSetLogicOpEnableEXT(
12224
    VkCommandBuffer                             commandBuffer,
12225
0
    VkBool32                                    logicOpEnable) {
12226
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12227
0
    if (NULL == disp) {
12228
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12229
0
                   "vkCmdSetLogicOpEnableEXT: Invalid commandBuffer "
12230
0
                   "[VUID-vkCmdSetLogicOpEnableEXT-commandBuffer-parameter]");
12231
0
        abort(); /* Intentionally fail so user can correct issue. */
12232
0
    }
12233
0
    disp->CmdSetLogicOpEnableEXT(commandBuffer, logicOpEnable);
12234
0
}
12235
12236
VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEnableEXT(
12237
    VkCommandBuffer                             commandBuffer,
12238
    uint32_t                                    firstAttachment,
12239
    uint32_t                                    attachmentCount,
12240
0
    const VkBool32*                             pColorBlendEnables) {
12241
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12242
0
    if (NULL == disp) {
12243
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12244
0
                   "vkCmdSetColorBlendEnableEXT: Invalid commandBuffer "
12245
0
                   "[VUID-vkCmdSetColorBlendEnableEXT-commandBuffer-parameter]");
12246
0
        abort(); /* Intentionally fail so user can correct issue. */
12247
0
    }
12248
0
    disp->CmdSetColorBlendEnableEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables);
12249
0
}
12250
12251
VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendEquationEXT(
12252
    VkCommandBuffer                             commandBuffer,
12253
    uint32_t                                    firstAttachment,
12254
    uint32_t                                    attachmentCount,
12255
0
    const VkColorBlendEquationEXT*              pColorBlendEquations) {
12256
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12257
0
    if (NULL == disp) {
12258
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12259
0
                   "vkCmdSetColorBlendEquationEXT: Invalid commandBuffer "
12260
0
                   "[VUID-vkCmdSetColorBlendEquationEXT-commandBuffer-parameter]");
12261
0
        abort(); /* Intentionally fail so user can correct issue. */
12262
0
    }
12263
0
    disp->CmdSetColorBlendEquationEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations);
12264
0
}
12265
12266
VKAPI_ATTR void VKAPI_CALL CmdSetColorWriteMaskEXT(
12267
    VkCommandBuffer                             commandBuffer,
12268
    uint32_t                                    firstAttachment,
12269
    uint32_t                                    attachmentCount,
12270
0
    const VkColorComponentFlags*                pColorWriteMasks) {
12271
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12272
0
    if (NULL == disp) {
12273
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12274
0
                   "vkCmdSetColorWriteMaskEXT: Invalid commandBuffer "
12275
0
                   "[VUID-vkCmdSetColorWriteMaskEXT-commandBuffer-parameter]");
12276
0
        abort(); /* Intentionally fail so user can correct issue. */
12277
0
    }
12278
0
    disp->CmdSetColorWriteMaskEXT(commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks);
12279
0
}
12280
12281
VKAPI_ATTR void VKAPI_CALL CmdSetTessellationDomainOriginEXT(
12282
    VkCommandBuffer                             commandBuffer,
12283
0
    VkTessellationDomainOrigin                  domainOrigin) {
12284
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12285
0
    if (NULL == disp) {
12286
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12287
0
                   "vkCmdSetTessellationDomainOriginEXT: Invalid commandBuffer "
12288
0
                   "[VUID-vkCmdSetTessellationDomainOriginEXT-commandBuffer-parameter]");
12289
0
        abort(); /* Intentionally fail so user can correct issue. */
12290
0
    }
12291
0
    disp->CmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin);
12292
0
}
12293
12294
VKAPI_ATTR void VKAPI_CALL CmdSetRasterizationStreamEXT(
12295
    VkCommandBuffer                             commandBuffer,
12296
0
    uint32_t                                    rasterizationStream) {
12297
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12298
0
    if (NULL == disp) {
12299
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12300
0
                   "vkCmdSetRasterizationStreamEXT: Invalid commandBuffer "
12301
0
                   "[VUID-vkCmdSetRasterizationStreamEXT-commandBuffer-parameter]");
12302
0
        abort(); /* Intentionally fail so user can correct issue. */
12303
0
    }
12304
0
    disp->CmdSetRasterizationStreamEXT(commandBuffer, rasterizationStream);
12305
0
}
12306
12307
VKAPI_ATTR void VKAPI_CALL CmdSetConservativeRasterizationModeEXT(
12308
    VkCommandBuffer                             commandBuffer,
12309
0
    VkConservativeRasterizationModeEXT          conservativeRasterizationMode) {
12310
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12311
0
    if (NULL == disp) {
12312
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12313
0
                   "vkCmdSetConservativeRasterizationModeEXT: Invalid commandBuffer "
12314
0
                   "[VUID-vkCmdSetConservativeRasterizationModeEXT-commandBuffer-parameter]");
12315
0
        abort(); /* Intentionally fail so user can correct issue. */
12316
0
    }
12317
0
    disp->CmdSetConservativeRasterizationModeEXT(commandBuffer, conservativeRasterizationMode);
12318
0
}
12319
12320
VKAPI_ATTR void VKAPI_CALL CmdSetExtraPrimitiveOverestimationSizeEXT(
12321
    VkCommandBuffer                             commandBuffer,
12322
0
    float                                       extraPrimitiveOverestimationSize) {
12323
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12324
0
    if (NULL == disp) {
12325
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12326
0
                   "vkCmdSetExtraPrimitiveOverestimationSizeEXT: Invalid commandBuffer "
12327
0
                   "[VUID-vkCmdSetExtraPrimitiveOverestimationSizeEXT-commandBuffer-parameter]");
12328
0
        abort(); /* Intentionally fail so user can correct issue. */
12329
0
    }
12330
0
    disp->CmdSetExtraPrimitiveOverestimationSizeEXT(commandBuffer, extraPrimitiveOverestimationSize);
12331
0
}
12332
12333
VKAPI_ATTR void VKAPI_CALL CmdSetDepthClipEnableEXT(
12334
    VkCommandBuffer                             commandBuffer,
12335
0
    VkBool32                                    depthClipEnable) {
12336
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12337
0
    if (NULL == disp) {
12338
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12339
0
                   "vkCmdSetDepthClipEnableEXT: Invalid commandBuffer "
12340
0
                   "[VUID-vkCmdSetDepthClipEnableEXT-commandBuffer-parameter]");
12341
0
        abort(); /* Intentionally fail so user can correct issue. */
12342
0
    }
12343
0
    disp->CmdSetDepthClipEnableEXT(commandBuffer, depthClipEnable);
12344
0
}
12345
12346
VKAPI_ATTR void VKAPI_CALL CmdSetSampleLocationsEnableEXT(
12347
    VkCommandBuffer                             commandBuffer,
12348
0
    VkBool32                                    sampleLocationsEnable) {
12349
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12350
0
    if (NULL == disp) {
12351
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12352
0
                   "vkCmdSetSampleLocationsEnableEXT: Invalid commandBuffer "
12353
0
                   "[VUID-vkCmdSetSampleLocationsEnableEXT-commandBuffer-parameter]");
12354
0
        abort(); /* Intentionally fail so user can correct issue. */
12355
0
    }
12356
0
    disp->CmdSetSampleLocationsEnableEXT(commandBuffer, sampleLocationsEnable);
12357
0
}
12358
12359
VKAPI_ATTR void VKAPI_CALL CmdSetColorBlendAdvancedEXT(
12360
    VkCommandBuffer                             commandBuffer,
12361
    uint32_t                                    firstAttachment,
12362
    uint32_t                                    attachmentCount,
12363
0
    const VkColorBlendAdvancedEXT*              pColorBlendAdvanced) {
12364
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12365
0
    if (NULL == disp) {
12366
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12367
0
                   "vkCmdSetColorBlendAdvancedEXT: Invalid commandBuffer "
12368
0
                   "[VUID-vkCmdSetColorBlendAdvancedEXT-commandBuffer-parameter]");
12369
0
        abort(); /* Intentionally fail so user can correct issue. */
12370
0
    }
12371
0
    disp->CmdSetColorBlendAdvancedEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced);
12372
0
}
12373
12374
VKAPI_ATTR void VKAPI_CALL CmdSetProvokingVertexModeEXT(
12375
    VkCommandBuffer                             commandBuffer,
12376
0
    VkProvokingVertexModeEXT                    provokingVertexMode) {
12377
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12378
0
    if (NULL == disp) {
12379
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12380
0
                   "vkCmdSetProvokingVertexModeEXT: Invalid commandBuffer "
12381
0
                   "[VUID-vkCmdSetProvokingVertexModeEXT-commandBuffer-parameter]");
12382
0
        abort(); /* Intentionally fail so user can correct issue. */
12383
0
    }
12384
0
    disp->CmdSetProvokingVertexModeEXT(commandBuffer, provokingVertexMode);
12385
0
}
12386
12387
VKAPI_ATTR void VKAPI_CALL CmdSetLineRasterizationModeEXT(
12388
    VkCommandBuffer                             commandBuffer,
12389
0
    VkLineRasterizationModeEXT                  lineRasterizationMode) {
12390
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12391
0
    if (NULL == disp) {
12392
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12393
0
                   "vkCmdSetLineRasterizationModeEXT: Invalid commandBuffer "
12394
0
                   "[VUID-vkCmdSetLineRasterizationModeEXT-commandBuffer-parameter]");
12395
0
        abort(); /* Intentionally fail so user can correct issue. */
12396
0
    }
12397
0
    disp->CmdSetLineRasterizationModeEXT(commandBuffer, lineRasterizationMode);
12398
0
}
12399
12400
VKAPI_ATTR void VKAPI_CALL CmdSetLineStippleEnableEXT(
12401
    VkCommandBuffer                             commandBuffer,
12402
0
    VkBool32                                    stippledLineEnable) {
12403
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12404
0
    if (NULL == disp) {
12405
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12406
0
                   "vkCmdSetLineStippleEnableEXT: Invalid commandBuffer "
12407
0
                   "[VUID-vkCmdSetLineStippleEnableEXT-commandBuffer-parameter]");
12408
0
        abort(); /* Intentionally fail so user can correct issue. */
12409
0
    }
12410
0
    disp->CmdSetLineStippleEnableEXT(commandBuffer, stippledLineEnable);
12411
0
}
12412
12413
VKAPI_ATTR void VKAPI_CALL CmdSetDepthClipNegativeOneToOneEXT(
12414
    VkCommandBuffer                             commandBuffer,
12415
0
    VkBool32                                    negativeOneToOne) {
12416
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12417
0
    if (NULL == disp) {
12418
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12419
0
                   "vkCmdSetDepthClipNegativeOneToOneEXT: Invalid commandBuffer "
12420
0
                   "[VUID-vkCmdSetDepthClipNegativeOneToOneEXT-commandBuffer-parameter]");
12421
0
        abort(); /* Intentionally fail so user can correct issue. */
12422
0
    }
12423
0
    disp->CmdSetDepthClipNegativeOneToOneEXT(commandBuffer, negativeOneToOne);
12424
0
}
12425
12426
VKAPI_ATTR void VKAPI_CALL CmdSetViewportWScalingEnableNV(
12427
    VkCommandBuffer                             commandBuffer,
12428
0
    VkBool32                                    viewportWScalingEnable) {
12429
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12430
0
    if (NULL == disp) {
12431
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12432
0
                   "vkCmdSetViewportWScalingEnableNV: Invalid commandBuffer "
12433
0
                   "[VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-parameter]");
12434
0
        abort(); /* Intentionally fail so user can correct issue. */
12435
0
    }
12436
0
    disp->CmdSetViewportWScalingEnableNV(commandBuffer, viewportWScalingEnable);
12437
0
}
12438
12439
VKAPI_ATTR void VKAPI_CALL CmdSetViewportSwizzleNV(
12440
    VkCommandBuffer                             commandBuffer,
12441
    uint32_t                                    firstViewport,
12442
    uint32_t                                    viewportCount,
12443
0
    const VkViewportSwizzleNV*                  pViewportSwizzles) {
12444
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12445
0
    if (NULL == disp) {
12446
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12447
0
                   "vkCmdSetViewportSwizzleNV: Invalid commandBuffer "
12448
0
                   "[VUID-vkCmdSetViewportSwizzleNV-commandBuffer-parameter]");
12449
0
        abort(); /* Intentionally fail so user can correct issue. */
12450
0
    }
12451
0
    disp->CmdSetViewportSwizzleNV(commandBuffer, firstViewport, viewportCount, pViewportSwizzles);
12452
0
}
12453
12454
VKAPI_ATTR void VKAPI_CALL CmdSetCoverageToColorEnableNV(
12455
    VkCommandBuffer                             commandBuffer,
12456
0
    VkBool32                                    coverageToColorEnable) {
12457
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12458
0
    if (NULL == disp) {
12459
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12460
0
                   "vkCmdSetCoverageToColorEnableNV: Invalid commandBuffer "
12461
0
                   "[VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-parameter]");
12462
0
        abort(); /* Intentionally fail so user can correct issue. */
12463
0
    }
12464
0
    disp->CmdSetCoverageToColorEnableNV(commandBuffer, coverageToColorEnable);
12465
0
}
12466
12467
VKAPI_ATTR void VKAPI_CALL CmdSetCoverageToColorLocationNV(
12468
    VkCommandBuffer                             commandBuffer,
12469
0
    uint32_t                                    coverageToColorLocation) {
12470
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12471
0
    if (NULL == disp) {
12472
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12473
0
                   "vkCmdSetCoverageToColorLocationNV: Invalid commandBuffer "
12474
0
                   "[VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-parameter]");
12475
0
        abort(); /* Intentionally fail so user can correct issue. */
12476
0
    }
12477
0
    disp->CmdSetCoverageToColorLocationNV(commandBuffer, coverageToColorLocation);
12478
0
}
12479
12480
VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationModeNV(
12481
    VkCommandBuffer                             commandBuffer,
12482
0
    VkCoverageModulationModeNV                  coverageModulationMode) {
12483
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12484
0
    if (NULL == disp) {
12485
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12486
0
                   "vkCmdSetCoverageModulationModeNV: Invalid commandBuffer "
12487
0
                   "[VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-parameter]");
12488
0
        abort(); /* Intentionally fail so user can correct issue. */
12489
0
    }
12490
0
    disp->CmdSetCoverageModulationModeNV(commandBuffer, coverageModulationMode);
12491
0
}
12492
12493
VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationTableEnableNV(
12494
    VkCommandBuffer                             commandBuffer,
12495
0
    VkBool32                                    coverageModulationTableEnable) {
12496
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12497
0
    if (NULL == disp) {
12498
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12499
0
                   "vkCmdSetCoverageModulationTableEnableNV: Invalid commandBuffer "
12500
0
                   "[VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-parameter]");
12501
0
        abort(); /* Intentionally fail so user can correct issue. */
12502
0
    }
12503
0
    disp->CmdSetCoverageModulationTableEnableNV(commandBuffer, coverageModulationTableEnable);
12504
0
}
12505
12506
VKAPI_ATTR void VKAPI_CALL CmdSetCoverageModulationTableNV(
12507
    VkCommandBuffer                             commandBuffer,
12508
    uint32_t                                    coverageModulationTableCount,
12509
0
    const float*                                pCoverageModulationTable) {
12510
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12511
0
    if (NULL == disp) {
12512
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12513
0
                   "vkCmdSetCoverageModulationTableNV: Invalid commandBuffer "
12514
0
                   "[VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-parameter]");
12515
0
        abort(); /* Intentionally fail so user can correct issue. */
12516
0
    }
12517
0
    disp->CmdSetCoverageModulationTableNV(commandBuffer, coverageModulationTableCount, pCoverageModulationTable);
12518
0
}
12519
12520
VKAPI_ATTR void VKAPI_CALL CmdSetShadingRateImageEnableNV(
12521
    VkCommandBuffer                             commandBuffer,
12522
0
    VkBool32                                    shadingRateImageEnable) {
12523
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12524
0
    if (NULL == disp) {
12525
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12526
0
                   "vkCmdSetShadingRateImageEnableNV: Invalid commandBuffer "
12527
0
                   "[VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-parameter]");
12528
0
        abort(); /* Intentionally fail so user can correct issue. */
12529
0
    }
12530
0
    disp->CmdSetShadingRateImageEnableNV(commandBuffer, shadingRateImageEnable);
12531
0
}
12532
12533
VKAPI_ATTR void VKAPI_CALL CmdSetRepresentativeFragmentTestEnableNV(
12534
    VkCommandBuffer                             commandBuffer,
12535
0
    VkBool32                                    representativeFragmentTestEnable) {
12536
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12537
0
    if (NULL == disp) {
12538
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12539
0
                   "vkCmdSetRepresentativeFragmentTestEnableNV: Invalid commandBuffer "
12540
0
                   "[VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-parameter]");
12541
0
        abort(); /* Intentionally fail so user can correct issue. */
12542
0
    }
12543
0
    disp->CmdSetRepresentativeFragmentTestEnableNV(commandBuffer, representativeFragmentTestEnable);
12544
0
}
12545
12546
VKAPI_ATTR void VKAPI_CALL CmdSetCoverageReductionModeNV(
12547
    VkCommandBuffer                             commandBuffer,
12548
0
    VkCoverageReductionModeNV                   coverageReductionMode) {
12549
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12550
0
    if (NULL == disp) {
12551
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12552
0
                   "vkCmdSetCoverageReductionModeNV: Invalid commandBuffer "
12553
0
                   "[VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-parameter]");
12554
0
        abort(); /* Intentionally fail so user can correct issue. */
12555
0
    }
12556
0
    disp->CmdSetCoverageReductionModeNV(commandBuffer, coverageReductionMode);
12557
0
}
12558
12559
12560
// ---- VK_ARM_tensors extension trampoline/terminators
12561
12562
VKAPI_ATTR VkResult VKAPI_CALL CreateTensorARM(
12563
    VkDevice                                    device,
12564
    const VkTensorCreateInfoARM*                pCreateInfo,
12565
    const VkAllocationCallbacks*                pAllocator,
12566
0
    VkTensorARM*                                pTensor) {
12567
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12568
0
    if (NULL == disp) {
12569
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12570
0
                   "vkCreateTensorARM: Invalid device "
12571
0
                   "[VUID-vkCreateTensorARM-device-parameter]");
12572
0
        abort(); /* Intentionally fail so user can correct issue. */
12573
0
    }
12574
0
    return disp->CreateTensorARM(device, pCreateInfo, pAllocator, pTensor);
12575
0
}
12576
12577
VKAPI_ATTR void VKAPI_CALL DestroyTensorARM(
12578
    VkDevice                                    device,
12579
    VkTensorARM                                 tensor,
12580
0
    const VkAllocationCallbacks*                pAllocator) {
12581
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12582
0
    if (NULL == disp) {
12583
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12584
0
                   "vkDestroyTensorARM: Invalid device "
12585
0
                   "[VUID-vkDestroyTensorARM-device-parameter]");
12586
0
        abort(); /* Intentionally fail so user can correct issue. */
12587
0
    }
12588
0
    disp->DestroyTensorARM(device, tensor, pAllocator);
12589
0
}
12590
12591
VKAPI_ATTR VkResult VKAPI_CALL CreateTensorViewARM(
12592
    VkDevice                                    device,
12593
    const VkTensorViewCreateInfoARM*            pCreateInfo,
12594
    const VkAllocationCallbacks*                pAllocator,
12595
0
    VkTensorViewARM*                            pView) {
12596
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12597
0
    if (NULL == disp) {
12598
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12599
0
                   "vkCreateTensorViewARM: Invalid device "
12600
0
                   "[VUID-vkCreateTensorViewARM-device-parameter]");
12601
0
        abort(); /* Intentionally fail so user can correct issue. */
12602
0
    }
12603
0
    return disp->CreateTensorViewARM(device, pCreateInfo, pAllocator, pView);
12604
0
}
12605
12606
VKAPI_ATTR void VKAPI_CALL DestroyTensorViewARM(
12607
    VkDevice                                    device,
12608
    VkTensorViewARM                             tensorView,
12609
0
    const VkAllocationCallbacks*                pAllocator) {
12610
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12611
0
    if (NULL == disp) {
12612
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12613
0
                   "vkDestroyTensorViewARM: Invalid device "
12614
0
                   "[VUID-vkDestroyTensorViewARM-device-parameter]");
12615
0
        abort(); /* Intentionally fail so user can correct issue. */
12616
0
    }
12617
0
    disp->DestroyTensorViewARM(device, tensorView, pAllocator);
12618
0
}
12619
12620
VKAPI_ATTR void VKAPI_CALL GetTensorMemoryRequirementsARM(
12621
    VkDevice                                    device,
12622
    const VkTensorMemoryRequirementsInfoARM*    pInfo,
12623
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
12624
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12625
0
    if (NULL == disp) {
12626
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12627
0
                   "vkGetTensorMemoryRequirementsARM: Invalid device "
12628
0
                   "[VUID-vkGetTensorMemoryRequirementsARM-device-parameter]");
12629
0
        abort(); /* Intentionally fail so user can correct issue. */
12630
0
    }
12631
0
    disp->GetTensorMemoryRequirementsARM(device, pInfo, pMemoryRequirements);
12632
0
}
12633
12634
VKAPI_ATTR VkResult VKAPI_CALL BindTensorMemoryARM(
12635
    VkDevice                                    device,
12636
    uint32_t                                    bindInfoCount,
12637
0
    const VkBindTensorMemoryInfoARM*            pBindInfos) {
12638
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12639
0
    if (NULL == disp) {
12640
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12641
0
                   "vkBindTensorMemoryARM: Invalid device "
12642
0
                   "[VUID-vkBindTensorMemoryARM-device-parameter]");
12643
0
        abort(); /* Intentionally fail so user can correct issue. */
12644
0
    }
12645
0
    return disp->BindTensorMemoryARM(device, bindInfoCount, pBindInfos);
12646
0
}
12647
12648
VKAPI_ATTR void VKAPI_CALL GetDeviceTensorMemoryRequirementsARM(
12649
    VkDevice                                    device,
12650
    const VkDeviceTensorMemoryRequirementsARM*  pInfo,
12651
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
12652
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12653
0
    if (NULL == disp) {
12654
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12655
0
                   "vkGetDeviceTensorMemoryRequirementsARM: Invalid device "
12656
0
                   "[VUID-vkGetDeviceTensorMemoryRequirementsARM-device-parameter]");
12657
0
        abort(); /* Intentionally fail so user can correct issue. */
12658
0
    }
12659
0
    disp->GetDeviceTensorMemoryRequirementsARM(device, pInfo, pMemoryRequirements);
12660
0
}
12661
12662
VKAPI_ATTR void VKAPI_CALL CmdCopyTensorARM(
12663
    VkCommandBuffer                             commandBuffer,
12664
0
    const VkCopyTensorInfoARM*                  pCopyTensorInfo) {
12665
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12666
0
    if (NULL == disp) {
12667
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12668
0
                   "vkCmdCopyTensorARM: Invalid commandBuffer "
12669
0
                   "[VUID-vkCmdCopyTensorARM-commandBuffer-parameter]");
12670
0
        abort(); /* Intentionally fail so user can correct issue. */
12671
0
    }
12672
0
    disp->CmdCopyTensorARM(commandBuffer, pCopyTensorInfo);
12673
0
}
12674
12675
VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceExternalTensorPropertiesARM(
12676
    VkPhysicalDevice                            physicalDevice,
12677
    const VkPhysicalDeviceExternalTensorInfoARM* pExternalTensorInfo,
12678
0
    VkExternalTensorPropertiesARM*              pExternalTensorProperties) {
12679
0
    const VkLayerInstanceDispatchTable *disp;
12680
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
12681
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
12682
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12683
0
                   "vkGetPhysicalDeviceExternalTensorPropertiesARM: Invalid physicalDevice "
12684
0
                   "[VUID-vkGetPhysicalDeviceExternalTensorPropertiesARM-physicalDevice-parameter]");
12685
0
        abort(); /* Intentionally fail so user can correct issue. */
12686
0
    }
12687
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
12688
0
    disp->GetPhysicalDeviceExternalTensorPropertiesARM(unwrapped_phys_dev, pExternalTensorInfo, pExternalTensorProperties);
12689
0
}
12690
12691
VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceExternalTensorPropertiesARM(
12692
    VkPhysicalDevice                            physicalDevice,
12693
    const VkPhysicalDeviceExternalTensorInfoARM* pExternalTensorInfo,
12694
0
    VkExternalTensorPropertiesARM*              pExternalTensorProperties) {
12695
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
12696
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
12697
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceExternalTensorPropertiesARM) {
12698
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
12699
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceExternalTensorPropertiesARM");
12700
0
        abort(); /* Intentionally fail so user can correct issue. */
12701
0
    }
12702
0
    icd_term->dispatch.GetPhysicalDeviceExternalTensorPropertiesARM(phys_dev_term->phys_dev, pExternalTensorInfo, pExternalTensorProperties);
12703
0
}
12704
12705
VKAPI_ATTR VkResult VKAPI_CALL GetTensorOpaqueCaptureDescriptorDataARM(
12706
    VkDevice                                    device,
12707
    const VkTensorCaptureDescriptorDataInfoARM* pInfo,
12708
0
    void*                                       pData) {
12709
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12710
0
    if (NULL == disp) {
12711
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12712
0
                   "vkGetTensorOpaqueCaptureDescriptorDataARM: Invalid device "
12713
0
                   "[VUID-vkGetTensorOpaqueCaptureDescriptorDataARM-device-parameter]");
12714
0
        abort(); /* Intentionally fail so user can correct issue. */
12715
0
    }
12716
0
    return disp->GetTensorOpaqueCaptureDescriptorDataARM(device, pInfo, pData);
12717
0
}
12718
12719
VKAPI_ATTR VkResult VKAPI_CALL GetTensorViewOpaqueCaptureDescriptorDataARM(
12720
    VkDevice                                    device,
12721
    const VkTensorViewCaptureDescriptorDataInfoARM* pInfo,
12722
0
    void*                                       pData) {
12723
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12724
0
    if (NULL == disp) {
12725
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12726
0
                   "vkGetTensorViewOpaqueCaptureDescriptorDataARM: Invalid device "
12727
0
                   "[VUID-vkGetTensorViewOpaqueCaptureDescriptorDataARM-device-parameter]");
12728
0
        abort(); /* Intentionally fail so user can correct issue. */
12729
0
    }
12730
0
    return disp->GetTensorViewOpaqueCaptureDescriptorDataARM(device, pInfo, pData);
12731
0
}
12732
12733
12734
// ---- VK_EXT_shader_module_identifier extension trampoline/terminators
12735
12736
VKAPI_ATTR void VKAPI_CALL GetShaderModuleIdentifierEXT(
12737
    VkDevice                                    device,
12738
    VkShaderModule                              shaderModule,
12739
0
    VkShaderModuleIdentifierEXT*                pIdentifier) {
12740
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12741
0
    if (NULL == disp) {
12742
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12743
0
                   "vkGetShaderModuleIdentifierEXT: Invalid device "
12744
0
                   "[VUID-vkGetShaderModuleIdentifierEXT-device-parameter]");
12745
0
        abort(); /* Intentionally fail so user can correct issue. */
12746
0
    }
12747
0
    disp->GetShaderModuleIdentifierEXT(device, shaderModule, pIdentifier);
12748
0
}
12749
12750
VKAPI_ATTR void VKAPI_CALL GetShaderModuleCreateInfoIdentifierEXT(
12751
    VkDevice                                    device,
12752
    const VkShaderModuleCreateInfo*             pCreateInfo,
12753
0
    VkShaderModuleIdentifierEXT*                pIdentifier) {
12754
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12755
0
    if (NULL == disp) {
12756
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12757
0
                   "vkGetShaderModuleCreateInfoIdentifierEXT: Invalid device "
12758
0
                   "[VUID-vkGetShaderModuleCreateInfoIdentifierEXT-device-parameter]");
12759
0
        abort(); /* Intentionally fail so user can correct issue. */
12760
0
    }
12761
0
    disp->GetShaderModuleCreateInfoIdentifierEXT(device, pCreateInfo, pIdentifier);
12762
0
}
12763
12764
12765
// ---- VK_NV_optical_flow extension trampoline/terminators
12766
12767
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceOpticalFlowImageFormatsNV(
12768
    VkPhysicalDevice                            physicalDevice,
12769
    const VkOpticalFlowImageFormatInfoNV*       pOpticalFlowImageFormatInfo,
12770
    uint32_t*                                   pFormatCount,
12771
0
    VkOpticalFlowImageFormatPropertiesNV*       pImageFormatProperties) {
12772
0
    const VkLayerInstanceDispatchTable *disp;
12773
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
12774
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
12775
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12776
0
                   "vkGetPhysicalDeviceOpticalFlowImageFormatsNV: Invalid physicalDevice "
12777
0
                   "[VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-physicalDevice-parameter]");
12778
0
        abort(); /* Intentionally fail so user can correct issue. */
12779
0
    }
12780
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
12781
0
    return disp->GetPhysicalDeviceOpticalFlowImageFormatsNV(unwrapped_phys_dev, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties);
12782
0
}
12783
12784
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceOpticalFlowImageFormatsNV(
12785
    VkPhysicalDevice                            physicalDevice,
12786
    const VkOpticalFlowImageFormatInfoNV*       pOpticalFlowImageFormatInfo,
12787
    uint32_t*                                   pFormatCount,
12788
0
    VkOpticalFlowImageFormatPropertiesNV*       pImageFormatProperties) {
12789
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
12790
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
12791
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceOpticalFlowImageFormatsNV) {
12792
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
12793
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceOpticalFlowImageFormatsNV");
12794
0
        abort(); /* Intentionally fail so user can correct issue. */
12795
0
    }
12796
0
    return icd_term->dispatch.GetPhysicalDeviceOpticalFlowImageFormatsNV(phys_dev_term->phys_dev, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties);
12797
0
}
12798
12799
VKAPI_ATTR VkResult VKAPI_CALL CreateOpticalFlowSessionNV(
12800
    VkDevice                                    device,
12801
    const VkOpticalFlowSessionCreateInfoNV*     pCreateInfo,
12802
    const VkAllocationCallbacks*                pAllocator,
12803
0
    VkOpticalFlowSessionNV*                     pSession) {
12804
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12805
0
    if (NULL == disp) {
12806
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12807
0
                   "vkCreateOpticalFlowSessionNV: Invalid device "
12808
0
                   "[VUID-vkCreateOpticalFlowSessionNV-device-parameter]");
12809
0
        abort(); /* Intentionally fail so user can correct issue. */
12810
0
    }
12811
0
    return disp->CreateOpticalFlowSessionNV(device, pCreateInfo, pAllocator, pSession);
12812
0
}
12813
12814
VKAPI_ATTR void VKAPI_CALL DestroyOpticalFlowSessionNV(
12815
    VkDevice                                    device,
12816
    VkOpticalFlowSessionNV                      session,
12817
0
    const VkAllocationCallbacks*                pAllocator) {
12818
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12819
0
    if (NULL == disp) {
12820
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12821
0
                   "vkDestroyOpticalFlowSessionNV: Invalid device "
12822
0
                   "[VUID-vkDestroyOpticalFlowSessionNV-device-parameter]");
12823
0
        abort(); /* Intentionally fail so user can correct issue. */
12824
0
    }
12825
0
    disp->DestroyOpticalFlowSessionNV(device, session, pAllocator);
12826
0
}
12827
12828
VKAPI_ATTR VkResult VKAPI_CALL BindOpticalFlowSessionImageNV(
12829
    VkDevice                                    device,
12830
    VkOpticalFlowSessionNV                      session,
12831
    VkOpticalFlowSessionBindingPointNV          bindingPoint,
12832
    VkImageView                                 view,
12833
0
    VkImageLayout                               layout) {
12834
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12835
0
    if (NULL == disp) {
12836
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12837
0
                   "vkBindOpticalFlowSessionImageNV: Invalid device "
12838
0
                   "[VUID-vkBindOpticalFlowSessionImageNV-device-parameter]");
12839
0
        abort(); /* Intentionally fail so user can correct issue. */
12840
0
    }
12841
0
    return disp->BindOpticalFlowSessionImageNV(device, session, bindingPoint, view, layout);
12842
0
}
12843
12844
VKAPI_ATTR void VKAPI_CALL CmdOpticalFlowExecuteNV(
12845
    VkCommandBuffer                             commandBuffer,
12846
    VkOpticalFlowSessionNV                      session,
12847
0
    const VkOpticalFlowExecuteInfoNV*           pExecuteInfo) {
12848
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12849
0
    if (NULL == disp) {
12850
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12851
0
                   "vkCmdOpticalFlowExecuteNV: Invalid commandBuffer "
12852
0
                   "[VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-parameter]");
12853
0
        abort(); /* Intentionally fail so user can correct issue. */
12854
0
    }
12855
0
    disp->CmdOpticalFlowExecuteNV(commandBuffer, session, pExecuteInfo);
12856
0
}
12857
12858
12859
// ---- VK_AMD_anti_lag extension trampoline/terminators
12860
12861
VKAPI_ATTR void VKAPI_CALL AntiLagUpdateAMD(
12862
    VkDevice                                    device,
12863
0
    const VkAntiLagDataAMD*                     pData) {
12864
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12865
0
    if (NULL == disp) {
12866
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12867
0
                   "vkAntiLagUpdateAMD: Invalid device "
12868
0
                   "[VUID-vkAntiLagUpdateAMD-device-parameter]");
12869
0
        abort(); /* Intentionally fail so user can correct issue. */
12870
0
    }
12871
0
    disp->AntiLagUpdateAMD(device, pData);
12872
0
}
12873
12874
12875
// ---- VK_EXT_shader_object extension trampoline/terminators
12876
12877
VKAPI_ATTR VkResult VKAPI_CALL CreateShadersEXT(
12878
    VkDevice                                    device,
12879
    uint32_t                                    createInfoCount,
12880
    const VkShaderCreateInfoEXT*                pCreateInfos,
12881
    const VkAllocationCallbacks*                pAllocator,
12882
0
    VkShaderEXT*                                pShaders) {
12883
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12884
0
    if (NULL == disp) {
12885
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12886
0
                   "vkCreateShadersEXT: Invalid device "
12887
0
                   "[VUID-vkCreateShadersEXT-device-parameter]");
12888
0
        abort(); /* Intentionally fail so user can correct issue. */
12889
0
    }
12890
0
    return disp->CreateShadersEXT(device, createInfoCount, pCreateInfos, pAllocator, pShaders);
12891
0
}
12892
12893
VKAPI_ATTR void VKAPI_CALL DestroyShaderEXT(
12894
    VkDevice                                    device,
12895
    VkShaderEXT                                 shader,
12896
0
    const VkAllocationCallbacks*                pAllocator) {
12897
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12898
0
    if (NULL == disp) {
12899
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12900
0
                   "vkDestroyShaderEXT: Invalid device "
12901
0
                   "[VUID-vkDestroyShaderEXT-device-parameter]");
12902
0
        abort(); /* Intentionally fail so user can correct issue. */
12903
0
    }
12904
0
    disp->DestroyShaderEXT(device, shader, pAllocator);
12905
0
}
12906
12907
VKAPI_ATTR VkResult VKAPI_CALL GetShaderBinaryDataEXT(
12908
    VkDevice                                    device,
12909
    VkShaderEXT                                 shader,
12910
    size_t*                                     pDataSize,
12911
0
    void*                                       pData) {
12912
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12913
0
    if (NULL == disp) {
12914
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12915
0
                   "vkGetShaderBinaryDataEXT: Invalid device "
12916
0
                   "[VUID-vkGetShaderBinaryDataEXT-device-parameter]");
12917
0
        abort(); /* Intentionally fail so user can correct issue. */
12918
0
    }
12919
0
    return disp->GetShaderBinaryDataEXT(device, shader, pDataSize, pData);
12920
0
}
12921
12922
VKAPI_ATTR void VKAPI_CALL CmdBindShadersEXT(
12923
    VkCommandBuffer                             commandBuffer,
12924
    uint32_t                                    stageCount,
12925
    const VkShaderStageFlagBits*                pStages,
12926
0
    const VkShaderEXT*                          pShaders) {
12927
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12928
0
    if (NULL == disp) {
12929
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12930
0
                   "vkCmdBindShadersEXT: Invalid commandBuffer "
12931
0
                   "[VUID-vkCmdBindShadersEXT-commandBuffer-parameter]");
12932
0
        abort(); /* Intentionally fail so user can correct issue. */
12933
0
    }
12934
0
    disp->CmdBindShadersEXT(commandBuffer, stageCount, pStages, pShaders);
12935
0
}
12936
12937
VKAPI_ATTR void VKAPI_CALL CmdSetDepthClampRangeEXT(
12938
    VkCommandBuffer                             commandBuffer,
12939
    VkDepthClampModeEXT                         depthClampMode,
12940
0
    const VkDepthClampRangeEXT*                 pDepthClampRange) {
12941
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
12942
0
    if (NULL == disp) {
12943
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12944
0
                   "vkCmdSetDepthClampRangeEXT: Invalid commandBuffer "
12945
0
                   "[VUID-vkCmdSetDepthClampRangeEXT-commandBuffer-parameter]");
12946
0
        abort(); /* Intentionally fail so user can correct issue. */
12947
0
    }
12948
0
    disp->CmdSetDepthClampRangeEXT(commandBuffer, depthClampMode, pDepthClampRange);
12949
0
}
12950
12951
12952
// ---- VK_QCOM_tile_properties extension trampoline/terminators
12953
12954
VKAPI_ATTR VkResult VKAPI_CALL GetFramebufferTilePropertiesQCOM(
12955
    VkDevice                                    device,
12956
    VkFramebuffer                               framebuffer,
12957
    uint32_t*                                   pPropertiesCount,
12958
0
    VkTilePropertiesQCOM*                       pProperties) {
12959
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12960
0
    if (NULL == disp) {
12961
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12962
0
                   "vkGetFramebufferTilePropertiesQCOM: Invalid device "
12963
0
                   "[VUID-vkGetFramebufferTilePropertiesQCOM-device-parameter]");
12964
0
        abort(); /* Intentionally fail so user can correct issue. */
12965
0
    }
12966
0
    return disp->GetFramebufferTilePropertiesQCOM(device, framebuffer, pPropertiesCount, pProperties);
12967
0
}
12968
12969
VKAPI_ATTR VkResult VKAPI_CALL GetDynamicRenderingTilePropertiesQCOM(
12970
    VkDevice                                    device,
12971
    const VkRenderingInfo*                      pRenderingInfo,
12972
0
    VkTilePropertiesQCOM*                       pProperties) {
12973
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
12974
0
    if (NULL == disp) {
12975
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12976
0
                   "vkGetDynamicRenderingTilePropertiesQCOM: Invalid device "
12977
0
                   "[VUID-vkGetDynamicRenderingTilePropertiesQCOM-device-parameter]");
12978
0
        abort(); /* Intentionally fail so user can correct issue. */
12979
0
    }
12980
0
    return disp->GetDynamicRenderingTilePropertiesQCOM(device, pRenderingInfo, pProperties);
12981
0
}
12982
12983
12984
// ---- VK_NV_cooperative_vector extension trampoline/terminators
12985
12986
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeVectorPropertiesNV(
12987
    VkPhysicalDevice                            physicalDevice,
12988
    uint32_t*                                   pPropertyCount,
12989
0
    VkCooperativeVectorPropertiesNV*            pProperties) {
12990
0
    const VkLayerInstanceDispatchTable *disp;
12991
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
12992
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
12993
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
12994
0
                   "vkGetPhysicalDeviceCooperativeVectorPropertiesNV: Invalid physicalDevice "
12995
0
                   "[VUID-vkGetPhysicalDeviceCooperativeVectorPropertiesNV-physicalDevice-parameter]");
12996
0
        abort(); /* Intentionally fail so user can correct issue. */
12997
0
    }
12998
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
12999
0
    return disp->GetPhysicalDeviceCooperativeVectorPropertiesNV(unwrapped_phys_dev, pPropertyCount, pProperties);
13000
0
}
13001
13002
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCooperativeVectorPropertiesNV(
13003
    VkPhysicalDevice                            physicalDevice,
13004
    uint32_t*                                   pPropertyCount,
13005
0
    VkCooperativeVectorPropertiesNV*            pProperties) {
13006
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13007
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13008
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCooperativeVectorPropertiesNV) {
13009
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13010
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCooperativeVectorPropertiesNV");
13011
0
        abort(); /* Intentionally fail so user can correct issue. */
13012
0
    }
13013
0
    return icd_term->dispatch.GetPhysicalDeviceCooperativeVectorPropertiesNV(phys_dev_term->phys_dev, pPropertyCount, pProperties);
13014
0
}
13015
13016
VKAPI_ATTR VkResult VKAPI_CALL ConvertCooperativeVectorMatrixNV(
13017
    VkDevice                                    device,
13018
0
    const VkConvertCooperativeVectorMatrixInfoNV* pInfo) {
13019
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13020
0
    if (NULL == disp) {
13021
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13022
0
                   "vkConvertCooperativeVectorMatrixNV: Invalid device "
13023
0
                   "[VUID-vkConvertCooperativeVectorMatrixNV-device-parameter]");
13024
0
        abort(); /* Intentionally fail so user can correct issue. */
13025
0
    }
13026
0
    return disp->ConvertCooperativeVectorMatrixNV(device, pInfo);
13027
0
}
13028
13029
VKAPI_ATTR void VKAPI_CALL CmdConvertCooperativeVectorMatrixNV(
13030
    VkCommandBuffer                             commandBuffer,
13031
    uint32_t                                    infoCount,
13032
0
    const VkConvertCooperativeVectorMatrixInfoNV* pInfos) {
13033
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13034
0
    if (NULL == disp) {
13035
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13036
0
                   "vkCmdConvertCooperativeVectorMatrixNV: Invalid commandBuffer "
13037
0
                   "[VUID-vkCmdConvertCooperativeVectorMatrixNV-commandBuffer-parameter]");
13038
0
        abort(); /* Intentionally fail so user can correct issue. */
13039
0
    }
13040
0
    disp->CmdConvertCooperativeVectorMatrixNV(commandBuffer, infoCount, pInfos);
13041
0
}
13042
13043
13044
// ---- VK_NV_low_latency2 extension trampoline/terminators
13045
13046
VKAPI_ATTR VkResult VKAPI_CALL SetLatencySleepModeNV(
13047
    VkDevice                                    device,
13048
    VkSwapchainKHR                              swapchain,
13049
0
    const VkLatencySleepModeInfoNV*             pSleepModeInfo) {
13050
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13051
0
    if (NULL == disp) {
13052
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13053
0
                   "vkSetLatencySleepModeNV: Invalid device "
13054
0
                   "[VUID-vkSetLatencySleepModeNV-device-parameter]");
13055
0
        abort(); /* Intentionally fail so user can correct issue. */
13056
0
    }
13057
0
    return disp->SetLatencySleepModeNV(device, swapchain, pSleepModeInfo);
13058
0
}
13059
13060
VKAPI_ATTR VkResult VKAPI_CALL LatencySleepNV(
13061
    VkDevice                                    device,
13062
    VkSwapchainKHR                              swapchain,
13063
0
    const VkLatencySleepInfoNV*                 pSleepInfo) {
13064
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13065
0
    if (NULL == disp) {
13066
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13067
0
                   "vkLatencySleepNV: Invalid device "
13068
0
                   "[VUID-vkLatencySleepNV-device-parameter]");
13069
0
        abort(); /* Intentionally fail so user can correct issue. */
13070
0
    }
13071
0
    return disp->LatencySleepNV(device, swapchain, pSleepInfo);
13072
0
}
13073
13074
VKAPI_ATTR void VKAPI_CALL SetLatencyMarkerNV(
13075
    VkDevice                                    device,
13076
    VkSwapchainKHR                              swapchain,
13077
0
    const VkSetLatencyMarkerInfoNV*             pLatencyMarkerInfo) {
13078
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13079
0
    if (NULL == disp) {
13080
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13081
0
                   "vkSetLatencyMarkerNV: Invalid device "
13082
0
                   "[VUID-vkSetLatencyMarkerNV-device-parameter]");
13083
0
        abort(); /* Intentionally fail so user can correct issue. */
13084
0
    }
13085
0
    disp->SetLatencyMarkerNV(device, swapchain, pLatencyMarkerInfo);
13086
0
}
13087
13088
VKAPI_ATTR void VKAPI_CALL GetLatencyTimingsNV(
13089
    VkDevice                                    device,
13090
    VkSwapchainKHR                              swapchain,
13091
0
    VkGetLatencyMarkerInfoNV*                   pLatencyMarkerInfo) {
13092
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13093
0
    if (NULL == disp) {
13094
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13095
0
                   "vkGetLatencyTimingsNV: Invalid device "
13096
0
                   "[VUID-vkGetLatencyTimingsNV-device-parameter]");
13097
0
        abort(); /* Intentionally fail so user can correct issue. */
13098
0
    }
13099
0
    disp->GetLatencyTimingsNV(device, swapchain, pLatencyMarkerInfo);
13100
0
}
13101
13102
VKAPI_ATTR void VKAPI_CALL QueueNotifyOutOfBandNV(
13103
    VkQueue                                     queue,
13104
0
    const VkOutOfBandQueueTypeInfoNV*           pQueueTypeInfo) {
13105
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(queue);
13106
0
    if (NULL == disp) {
13107
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13108
0
                   "vkQueueNotifyOutOfBandNV: Invalid queue "
13109
0
                   "[VUID-vkQueueNotifyOutOfBandNV-queue-parameter]");
13110
0
        abort(); /* Intentionally fail so user can correct issue. */
13111
0
    }
13112
0
    disp->QueueNotifyOutOfBandNV(queue, pQueueTypeInfo);
13113
0
}
13114
13115
13116
// ---- VK_ARM_data_graph extension trampoline/terminators
13117
13118
VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelinesARM(
13119
    VkDevice                                    device,
13120
    VkDeferredOperationKHR                      deferredOperation,
13121
    VkPipelineCache                             pipelineCache,
13122
    uint32_t                                    createInfoCount,
13123
    const VkDataGraphPipelineCreateInfoARM*     pCreateInfos,
13124
    const VkAllocationCallbacks*                pAllocator,
13125
0
    VkPipeline*                                 pPipelines) {
13126
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13127
0
    if (NULL == disp) {
13128
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13129
0
                   "vkCreateDataGraphPipelinesARM: Invalid device "
13130
0
                   "[VUID-vkCreateDataGraphPipelinesARM-device-parameter]");
13131
0
        abort(); /* Intentionally fail so user can correct issue. */
13132
0
    }
13133
0
    return disp->CreateDataGraphPipelinesARM(device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
13134
0
}
13135
13136
VKAPI_ATTR VkResult VKAPI_CALL CreateDataGraphPipelineSessionARM(
13137
    VkDevice                                    device,
13138
    const VkDataGraphPipelineSessionCreateInfoARM* pCreateInfo,
13139
    const VkAllocationCallbacks*                pAllocator,
13140
0
    VkDataGraphPipelineSessionARM*              pSession) {
13141
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13142
0
    if (NULL == disp) {
13143
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13144
0
                   "vkCreateDataGraphPipelineSessionARM: Invalid device "
13145
0
                   "[VUID-vkCreateDataGraphPipelineSessionARM-device-parameter]");
13146
0
        abort(); /* Intentionally fail so user can correct issue. */
13147
0
    }
13148
0
    return disp->CreateDataGraphPipelineSessionARM(device, pCreateInfo, pAllocator, pSession);
13149
0
}
13150
13151
VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineSessionBindPointRequirementsARM(
13152
    VkDevice                                    device,
13153
    const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* pInfo,
13154
    uint32_t*                                   pBindPointRequirementCount,
13155
0
    VkDataGraphPipelineSessionBindPointRequirementARM* pBindPointRequirements) {
13156
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13157
0
    if (NULL == disp) {
13158
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13159
0
                   "vkGetDataGraphPipelineSessionBindPointRequirementsARM: Invalid device "
13160
0
                   "[VUID-vkGetDataGraphPipelineSessionBindPointRequirementsARM-device-parameter]");
13161
0
        abort(); /* Intentionally fail so user can correct issue. */
13162
0
    }
13163
0
    return disp->GetDataGraphPipelineSessionBindPointRequirementsARM(device, pInfo, pBindPointRequirementCount, pBindPointRequirements);
13164
0
}
13165
13166
VKAPI_ATTR void VKAPI_CALL GetDataGraphPipelineSessionMemoryRequirementsARM(
13167
    VkDevice                                    device,
13168
    const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* pInfo,
13169
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
13170
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13171
0
    if (NULL == disp) {
13172
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13173
0
                   "vkGetDataGraphPipelineSessionMemoryRequirementsARM: Invalid device "
13174
0
                   "[VUID-vkGetDataGraphPipelineSessionMemoryRequirementsARM-device-parameter]");
13175
0
        abort(); /* Intentionally fail so user can correct issue. */
13176
0
    }
13177
0
    disp->GetDataGraphPipelineSessionMemoryRequirementsARM(device, pInfo, pMemoryRequirements);
13178
0
}
13179
13180
VKAPI_ATTR VkResult VKAPI_CALL BindDataGraphPipelineSessionMemoryARM(
13181
    VkDevice                                    device,
13182
    uint32_t                                    bindInfoCount,
13183
0
    const VkBindDataGraphPipelineSessionMemoryInfoARM* pBindInfos) {
13184
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13185
0
    if (NULL == disp) {
13186
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13187
0
                   "vkBindDataGraphPipelineSessionMemoryARM: Invalid device "
13188
0
                   "[VUID-vkBindDataGraphPipelineSessionMemoryARM-device-parameter]");
13189
0
        abort(); /* Intentionally fail so user can correct issue. */
13190
0
    }
13191
0
    return disp->BindDataGraphPipelineSessionMemoryARM(device, bindInfoCount, pBindInfos);
13192
0
}
13193
13194
VKAPI_ATTR void VKAPI_CALL DestroyDataGraphPipelineSessionARM(
13195
    VkDevice                                    device,
13196
    VkDataGraphPipelineSessionARM               session,
13197
0
    const VkAllocationCallbacks*                pAllocator) {
13198
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13199
0
    if (NULL == disp) {
13200
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13201
0
                   "vkDestroyDataGraphPipelineSessionARM: Invalid device "
13202
0
                   "[VUID-vkDestroyDataGraphPipelineSessionARM-device-parameter]");
13203
0
        abort(); /* Intentionally fail so user can correct issue. */
13204
0
    }
13205
0
    disp->DestroyDataGraphPipelineSessionARM(device, session, pAllocator);
13206
0
}
13207
13208
VKAPI_ATTR void VKAPI_CALL CmdDispatchDataGraphARM(
13209
    VkCommandBuffer                             commandBuffer,
13210
    VkDataGraphPipelineSessionARM               session,
13211
0
    const VkDataGraphPipelineDispatchInfoARM*   pInfo) {
13212
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13213
0
    if (NULL == disp) {
13214
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13215
0
                   "vkCmdDispatchDataGraphARM: Invalid commandBuffer "
13216
0
                   "[VUID-vkCmdDispatchDataGraphARM-commandBuffer-parameter]");
13217
0
        abort(); /* Intentionally fail so user can correct issue. */
13218
0
    }
13219
0
    disp->CmdDispatchDataGraphARM(commandBuffer, session, pInfo);
13220
0
}
13221
13222
VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelineAvailablePropertiesARM(
13223
    VkDevice                                    device,
13224
    const VkDataGraphPipelineInfoARM*           pPipelineInfo,
13225
    uint32_t*                                   pPropertiesCount,
13226
0
    VkDataGraphPipelinePropertyARM*             pProperties) {
13227
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13228
0
    if (NULL == disp) {
13229
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13230
0
                   "vkGetDataGraphPipelineAvailablePropertiesARM: Invalid device "
13231
0
                   "[VUID-vkGetDataGraphPipelineAvailablePropertiesARM-device-parameter]");
13232
0
        abort(); /* Intentionally fail so user can correct issue. */
13233
0
    }
13234
0
    return disp->GetDataGraphPipelineAvailablePropertiesARM(device, pPipelineInfo, pPropertiesCount, pProperties);
13235
0
}
13236
13237
VKAPI_ATTR VkResult VKAPI_CALL GetDataGraphPipelinePropertiesARM(
13238
    VkDevice                                    device,
13239
    const VkDataGraphPipelineInfoARM*           pPipelineInfo,
13240
    uint32_t                                    propertiesCount,
13241
0
    VkDataGraphPipelinePropertyQueryResultARM*  pProperties) {
13242
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13243
0
    if (NULL == disp) {
13244
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13245
0
                   "vkGetDataGraphPipelinePropertiesARM: Invalid device "
13246
0
                   "[VUID-vkGetDataGraphPipelinePropertiesARM-device-parameter]");
13247
0
        abort(); /* Intentionally fail so user can correct issue. */
13248
0
    }
13249
0
    return disp->GetDataGraphPipelinePropertiesARM(device, pPipelineInfo, propertiesCount, pProperties);
13250
0
}
13251
13252
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(
13253
    VkPhysicalDevice                            physicalDevice,
13254
    uint32_t                                    queueFamilyIndex,
13255
    uint32_t*                                   pQueueFamilyDataGraphPropertyCount,
13256
0
    VkQueueFamilyDataGraphPropertiesARM*        pQueueFamilyDataGraphProperties) {
13257
0
    const VkLayerInstanceDispatchTable *disp;
13258
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13259
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13260
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13261
0
                   "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM: Invalid physicalDevice "
13262
0
                   "[VUID-vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM-physicalDevice-parameter]");
13263
0
        abort(); /* Intentionally fail so user can correct issue. */
13264
0
    }
13265
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13266
0
    return disp->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(unwrapped_phys_dev, queueFamilyIndex, pQueueFamilyDataGraphPropertyCount, pQueueFamilyDataGraphProperties);
13267
0
}
13268
13269
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(
13270
    VkPhysicalDevice                            physicalDevice,
13271
    uint32_t                                    queueFamilyIndex,
13272
    uint32_t*                                   pQueueFamilyDataGraphPropertyCount,
13273
0
    VkQueueFamilyDataGraphPropertiesARM*        pQueueFamilyDataGraphProperties) {
13274
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13275
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13276
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM) {
13277
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13278
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM");
13279
0
        abort(); /* Intentionally fail so user can correct issue. */
13280
0
    }
13281
0
    return icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM(phys_dev_term->phys_dev, queueFamilyIndex, pQueueFamilyDataGraphPropertyCount, pQueueFamilyDataGraphProperties);
13282
0
}
13283
13284
VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(
13285
    VkPhysicalDevice                            physicalDevice,
13286
    const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo,
13287
0
    VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties) {
13288
0
    const VkLayerInstanceDispatchTable *disp;
13289
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13290
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13291
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13292
0
                   "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM: Invalid physicalDevice "
13293
0
                   "[VUID-vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM-physicalDevice-parameter]");
13294
0
        abort(); /* Intentionally fail so user can correct issue. */
13295
0
    }
13296
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13297
0
    disp->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(unwrapped_phys_dev, pQueueFamilyDataGraphProcessingEngineInfo, pQueueFamilyDataGraphProcessingEngineProperties);
13298
0
}
13299
13300
VKAPI_ATTR void VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(
13301
    VkPhysicalDevice                            physicalDevice,
13302
    const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* pQueueFamilyDataGraphProcessingEngineInfo,
13303
0
    VkQueueFamilyDataGraphProcessingEnginePropertiesARM* pQueueFamilyDataGraphProcessingEngineProperties) {
13304
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13305
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13306
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM) {
13307
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13308
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM");
13309
0
        abort(); /* Intentionally fail so user can correct issue. */
13310
0
    }
13311
0
    icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM(phys_dev_term->phys_dev, pQueueFamilyDataGraphProcessingEngineInfo, pQueueFamilyDataGraphProcessingEngineProperties);
13312
0
}
13313
13314
13315
// ---- VK_ARM_data_graph_instruction_set_tosa extension trampoline/terminators
13316
13317
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM(
13318
    VkPhysicalDevice                            physicalDevice,
13319
    uint32_t                                    queueFamilyIndex,
13320
    const VkQueueFamilyDataGraphPropertiesARM*  pQueueFamilyDataGraphProperties,
13321
0
    VkBaseOutStructure*                         pProperties) {
13322
0
    const VkLayerInstanceDispatchTable *disp;
13323
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13324
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13325
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13326
0
                   "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM: Invalid physicalDevice "
13327
0
                   "[VUID-vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM-physicalDevice-parameter]");
13328
0
        abort(); /* Intentionally fail so user can correct issue. */
13329
0
    }
13330
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13331
0
    return disp->GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM(unwrapped_phys_dev, queueFamilyIndex, pQueueFamilyDataGraphProperties, pProperties);
13332
0
}
13333
13334
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM(
13335
    VkPhysicalDevice                            physicalDevice,
13336
    uint32_t                                    queueFamilyIndex,
13337
    const VkQueueFamilyDataGraphPropertiesARM*  pQueueFamilyDataGraphProperties,
13338
0
    VkBaseOutStructure*                         pProperties) {
13339
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13340
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13341
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM) {
13342
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13343
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM");
13344
0
        abort(); /* Intentionally fail so user can correct issue. */
13345
0
    }
13346
0
    return icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM(phys_dev_term->phys_dev, queueFamilyIndex, pQueueFamilyDataGraphProperties, pProperties);
13347
0
}
13348
13349
13350
// ---- VK_EXT_attachment_feedback_loop_dynamic_state extension trampoline/terminators
13351
13352
VKAPI_ATTR void VKAPI_CALL CmdSetAttachmentFeedbackLoopEnableEXT(
13353
    VkCommandBuffer                             commandBuffer,
13354
0
    VkImageAspectFlags                          aspectMask) {
13355
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13356
0
    if (NULL == disp) {
13357
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13358
0
                   "vkCmdSetAttachmentFeedbackLoopEnableEXT: Invalid commandBuffer "
13359
0
                   "[VUID-vkCmdSetAttachmentFeedbackLoopEnableEXT-commandBuffer-parameter]");
13360
0
        abort(); /* Intentionally fail so user can correct issue. */
13361
0
    }
13362
0
    disp->CmdSetAttachmentFeedbackLoopEnableEXT(commandBuffer, aspectMask);
13363
0
}
13364
13365
13366
// ---- VK_QNX_external_memory_screen_buffer extension trampoline/terminators
13367
13368
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
13369
VKAPI_ATTR VkResult VKAPI_CALL GetScreenBufferPropertiesQNX(
13370
    VkDevice                                    device,
13371
    const struct _screen_buffer*                buffer,
13372
    VkScreenBufferPropertiesQNX*                pProperties) {
13373
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13374
    if (NULL == disp) {
13375
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13376
                   "vkGetScreenBufferPropertiesQNX: Invalid device "
13377
                   "[VUID-vkGetScreenBufferPropertiesQNX-device-parameter]");
13378
        abort(); /* Intentionally fail so user can correct issue. */
13379
    }
13380
    return disp->GetScreenBufferPropertiesQNX(device, buffer, pProperties);
13381
}
13382
13383
#endif // VK_USE_PLATFORM_SCREEN_QNX
13384
13385
// ---- VK_QCOM_tile_memory_heap extension trampoline/terminators
13386
13387
VKAPI_ATTR void VKAPI_CALL CmdBindTileMemoryQCOM(
13388
    VkCommandBuffer                             commandBuffer,
13389
0
    const VkTileMemoryBindInfoQCOM*             pTileMemoryBindInfo) {
13390
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13391
0
    if (NULL == disp) {
13392
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13393
0
                   "vkCmdBindTileMemoryQCOM: Invalid commandBuffer "
13394
0
                   "[VUID-vkCmdBindTileMemoryQCOM-commandBuffer-parameter]");
13395
0
        abort(); /* Intentionally fail so user can correct issue. */
13396
0
    }
13397
0
    disp->CmdBindTileMemoryQCOM(commandBuffer, pTileMemoryBindInfo);
13398
0
}
13399
13400
13401
// ---- VK_EXT_memory_decompression extension trampoline/terminators
13402
13403
VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryEXT(
13404
    VkCommandBuffer                             commandBuffer,
13405
0
    const VkDecompressMemoryInfoEXT*            pDecompressMemoryInfoEXT) {
13406
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13407
0
    if (NULL == disp) {
13408
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13409
0
                   "vkCmdDecompressMemoryEXT: Invalid commandBuffer "
13410
0
                   "[VUID-vkCmdDecompressMemoryEXT-commandBuffer-parameter]");
13411
0
        abort(); /* Intentionally fail so user can correct issue. */
13412
0
    }
13413
0
    disp->CmdDecompressMemoryEXT(commandBuffer, pDecompressMemoryInfoEXT);
13414
0
}
13415
13416
VKAPI_ATTR void VKAPI_CALL CmdDecompressMemoryIndirectCountEXT(
13417
    VkCommandBuffer                             commandBuffer,
13418
    VkMemoryDecompressionMethodFlagsEXT         decompressionMethod,
13419
    VkDeviceAddress                             indirectCommandsAddress,
13420
    VkDeviceAddress                             indirectCommandsCountAddress,
13421
    uint32_t                                    maxDecompressionCount,
13422
0
    uint32_t                                    stride) {
13423
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13424
0
    if (NULL == disp) {
13425
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13426
0
                   "vkCmdDecompressMemoryIndirectCountEXT: Invalid commandBuffer "
13427
0
                   "[VUID-vkCmdDecompressMemoryIndirectCountEXT-commandBuffer-parameter]");
13428
0
        abort(); /* Intentionally fail so user can correct issue. */
13429
0
    }
13430
0
    disp->CmdDecompressMemoryIndirectCountEXT(commandBuffer, decompressionMethod, indirectCommandsAddress, indirectCommandsCountAddress, maxDecompressionCount, stride);
13431
0
}
13432
13433
13434
// ---- VK_NV_external_compute_queue extension trampoline/terminators
13435
13436
VKAPI_ATTR VkResult VKAPI_CALL CreateExternalComputeQueueNV(
13437
    VkDevice                                    device,
13438
    const VkExternalComputeQueueCreateInfoNV*   pCreateInfo,
13439
    const VkAllocationCallbacks*                pAllocator,
13440
0
    VkExternalComputeQueueNV*                   pExternalQueue) {
13441
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13442
0
    if (NULL == disp) {
13443
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13444
0
                   "vkCreateExternalComputeQueueNV: Invalid device "
13445
0
                   "[VUID-vkCreateExternalComputeQueueNV-device-parameter]");
13446
0
        abort(); /* Intentionally fail so user can correct issue. */
13447
0
    }
13448
0
    return disp->CreateExternalComputeQueueNV(device, pCreateInfo, pAllocator, pExternalQueue);
13449
0
}
13450
13451
VKAPI_ATTR void VKAPI_CALL DestroyExternalComputeQueueNV(
13452
    VkDevice                                    device,
13453
    VkExternalComputeQueueNV                    externalQueue,
13454
0
    const VkAllocationCallbacks*                pAllocator) {
13455
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13456
0
    if (NULL == disp) {
13457
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13458
0
                   "vkDestroyExternalComputeQueueNV: Invalid device "
13459
0
                   "[VUID-vkDestroyExternalComputeQueueNV-device-parameter]");
13460
0
        abort(); /* Intentionally fail so user can correct issue. */
13461
0
    }
13462
0
    disp->DestroyExternalComputeQueueNV(device, externalQueue, pAllocator);
13463
0
}
13464
13465
VKAPI_ATTR void VKAPI_CALL GetExternalComputeQueueDataNV(
13466
    VkExternalComputeQueueNV                    externalQueue,
13467
    VkExternalComputeQueueDataParamsNV*         params,
13468
0
    void*                                       pData) {
13469
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(externalQueue);
13470
0
    if (NULL == disp) {
13471
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13472
0
                   "vkGetExternalComputeQueueDataNV: Invalid externalQueue "
13473
0
                   "[VUID-vkGetExternalComputeQueueDataNV-externalQueue-parameter]");
13474
0
        abort(); /* Intentionally fail so user can correct issue. */
13475
0
    }
13476
0
    disp->GetExternalComputeQueueDataNV(externalQueue, params, pData);
13477
0
}
13478
13479
13480
// ---- VK_NV_cluster_acceleration_structure extension trampoline/terminators
13481
13482
VKAPI_ATTR void VKAPI_CALL GetClusterAccelerationStructureBuildSizesNV(
13483
    VkDevice                                    device,
13484
    const VkClusterAccelerationStructureInputInfoNV* pInfo,
13485
0
    VkAccelerationStructureBuildSizesInfoKHR*   pSizeInfo) {
13486
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13487
0
    if (NULL == disp) {
13488
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13489
0
                   "vkGetClusterAccelerationStructureBuildSizesNV: Invalid device "
13490
0
                   "[VUID-vkGetClusterAccelerationStructureBuildSizesNV-device-parameter]");
13491
0
        abort(); /* Intentionally fail so user can correct issue. */
13492
0
    }
13493
0
    disp->GetClusterAccelerationStructureBuildSizesNV(device, pInfo, pSizeInfo);
13494
0
}
13495
13496
VKAPI_ATTR void VKAPI_CALL CmdBuildClusterAccelerationStructureIndirectNV(
13497
    VkCommandBuffer                             commandBuffer,
13498
0
    const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos) {
13499
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13500
0
    if (NULL == disp) {
13501
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13502
0
                   "vkCmdBuildClusterAccelerationStructureIndirectNV: Invalid commandBuffer "
13503
0
                   "[VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-commandBuffer-parameter]");
13504
0
        abort(); /* Intentionally fail so user can correct issue. */
13505
0
    }
13506
0
    disp->CmdBuildClusterAccelerationStructureIndirectNV(commandBuffer, pCommandInfos);
13507
0
}
13508
13509
13510
// ---- VK_NV_partitioned_acceleration_structure extension trampoline/terminators
13511
13512
VKAPI_ATTR void VKAPI_CALL GetPartitionedAccelerationStructuresBuildSizesNV(
13513
    VkDevice                                    device,
13514
    const VkPartitionedAccelerationStructureInstancesInputNV* pInfo,
13515
0
    VkAccelerationStructureBuildSizesInfoKHR*   pSizeInfo) {
13516
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13517
0
    if (NULL == disp) {
13518
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13519
0
                   "vkGetPartitionedAccelerationStructuresBuildSizesNV: Invalid device "
13520
0
                   "[VUID-vkGetPartitionedAccelerationStructuresBuildSizesNV-device-parameter]");
13521
0
        abort(); /* Intentionally fail so user can correct issue. */
13522
0
    }
13523
0
    disp->GetPartitionedAccelerationStructuresBuildSizesNV(device, pInfo, pSizeInfo);
13524
0
}
13525
13526
VKAPI_ATTR void VKAPI_CALL CmdBuildPartitionedAccelerationStructuresNV(
13527
    VkCommandBuffer                             commandBuffer,
13528
0
    const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo) {
13529
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13530
0
    if (NULL == disp) {
13531
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13532
0
                   "vkCmdBuildPartitionedAccelerationStructuresNV: Invalid commandBuffer "
13533
0
                   "[VUID-vkCmdBuildPartitionedAccelerationStructuresNV-commandBuffer-parameter]");
13534
0
        abort(); /* Intentionally fail so user can correct issue. */
13535
0
    }
13536
0
    disp->CmdBuildPartitionedAccelerationStructuresNV(commandBuffer, pBuildInfo);
13537
0
}
13538
13539
13540
// ---- VK_EXT_device_generated_commands extension trampoline/terminators
13541
13542
VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsEXT(
13543
    VkDevice                                    device,
13544
    const VkGeneratedCommandsMemoryRequirementsInfoEXT* pInfo,
13545
0
    VkMemoryRequirements2*                      pMemoryRequirements) {
13546
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13547
0
    if (NULL == disp) {
13548
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13549
0
                   "vkGetGeneratedCommandsMemoryRequirementsEXT: Invalid device "
13550
0
                   "[VUID-vkGetGeneratedCommandsMemoryRequirementsEXT-device-parameter]");
13551
0
        abort(); /* Intentionally fail so user can correct issue. */
13552
0
    }
13553
0
    disp->GetGeneratedCommandsMemoryRequirementsEXT(device, pInfo, pMemoryRequirements);
13554
0
}
13555
13556
VKAPI_ATTR void VKAPI_CALL CmdPreprocessGeneratedCommandsEXT(
13557
    VkCommandBuffer                             commandBuffer,
13558
    const VkGeneratedCommandsInfoEXT*           pGeneratedCommandsInfo,
13559
0
    VkCommandBuffer                             stateCommandBuffer) {
13560
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13561
0
    if (NULL == disp) {
13562
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13563
0
                   "vkCmdPreprocessGeneratedCommandsEXT: Invalid commandBuffer "
13564
0
                   "[VUID-vkCmdPreprocessGeneratedCommandsEXT-commandBuffer-parameter]");
13565
0
        abort(); /* Intentionally fail so user can correct issue. */
13566
0
    }
13567
0
    disp->CmdPreprocessGeneratedCommandsEXT(commandBuffer, pGeneratedCommandsInfo, stateCommandBuffer);
13568
0
}
13569
13570
VKAPI_ATTR void VKAPI_CALL CmdExecuteGeneratedCommandsEXT(
13571
    VkCommandBuffer                             commandBuffer,
13572
    VkBool32                                    isPreprocessed,
13573
0
    const VkGeneratedCommandsInfoEXT*           pGeneratedCommandsInfo) {
13574
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13575
0
    if (NULL == disp) {
13576
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13577
0
                   "vkCmdExecuteGeneratedCommandsEXT: Invalid commandBuffer "
13578
0
                   "[VUID-vkCmdExecuteGeneratedCommandsEXT-commandBuffer-parameter]");
13579
0
        abort(); /* Intentionally fail so user can correct issue. */
13580
0
    }
13581
0
    disp->CmdExecuteGeneratedCommandsEXT(commandBuffer, isPreprocessed, pGeneratedCommandsInfo);
13582
0
}
13583
13584
VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutEXT(
13585
    VkDevice                                    device,
13586
    const VkIndirectCommandsLayoutCreateInfoEXT* pCreateInfo,
13587
    const VkAllocationCallbacks*                pAllocator,
13588
0
    VkIndirectCommandsLayoutEXT*                pIndirectCommandsLayout) {
13589
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13590
0
    if (NULL == disp) {
13591
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13592
0
                   "vkCreateIndirectCommandsLayoutEXT: Invalid device "
13593
0
                   "[VUID-vkCreateIndirectCommandsLayoutEXT-device-parameter]");
13594
0
        abort(); /* Intentionally fail so user can correct issue. */
13595
0
    }
13596
0
    return disp->CreateIndirectCommandsLayoutEXT(device, pCreateInfo, pAllocator, pIndirectCommandsLayout);
13597
0
}
13598
13599
VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutEXT(
13600
    VkDevice                                    device,
13601
    VkIndirectCommandsLayoutEXT                 indirectCommandsLayout,
13602
0
    const VkAllocationCallbacks*                pAllocator) {
13603
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13604
0
    if (NULL == disp) {
13605
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13606
0
                   "vkDestroyIndirectCommandsLayoutEXT: Invalid device "
13607
0
                   "[VUID-vkDestroyIndirectCommandsLayoutEXT-device-parameter]");
13608
0
        abort(); /* Intentionally fail so user can correct issue. */
13609
0
    }
13610
0
    disp->DestroyIndirectCommandsLayoutEXT(device, indirectCommandsLayout, pAllocator);
13611
0
}
13612
13613
VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectExecutionSetEXT(
13614
    VkDevice                                    device,
13615
    const VkIndirectExecutionSetCreateInfoEXT*  pCreateInfo,
13616
    const VkAllocationCallbacks*                pAllocator,
13617
0
    VkIndirectExecutionSetEXT*                  pIndirectExecutionSet) {
13618
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13619
0
    if (NULL == disp) {
13620
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13621
0
                   "vkCreateIndirectExecutionSetEXT: Invalid device "
13622
0
                   "[VUID-vkCreateIndirectExecutionSetEXT-device-parameter]");
13623
0
        abort(); /* Intentionally fail so user can correct issue. */
13624
0
    }
13625
0
    return disp->CreateIndirectExecutionSetEXT(device, pCreateInfo, pAllocator, pIndirectExecutionSet);
13626
0
}
13627
13628
VKAPI_ATTR void VKAPI_CALL DestroyIndirectExecutionSetEXT(
13629
    VkDevice                                    device,
13630
    VkIndirectExecutionSetEXT                   indirectExecutionSet,
13631
0
    const VkAllocationCallbacks*                pAllocator) {
13632
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13633
0
    if (NULL == disp) {
13634
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13635
0
                   "vkDestroyIndirectExecutionSetEXT: Invalid device "
13636
0
                   "[VUID-vkDestroyIndirectExecutionSetEXT-device-parameter]");
13637
0
        abort(); /* Intentionally fail so user can correct issue. */
13638
0
    }
13639
0
    disp->DestroyIndirectExecutionSetEXT(device, indirectExecutionSet, pAllocator);
13640
0
}
13641
13642
VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetPipelineEXT(
13643
    VkDevice                                    device,
13644
    VkIndirectExecutionSetEXT                   indirectExecutionSet,
13645
    uint32_t                                    executionSetWriteCount,
13646
0
    const VkWriteIndirectExecutionSetPipelineEXT* pExecutionSetWrites) {
13647
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13648
0
    if (NULL == disp) {
13649
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13650
0
                   "vkUpdateIndirectExecutionSetPipelineEXT: Invalid device "
13651
0
                   "[VUID-vkUpdateIndirectExecutionSetPipelineEXT-device-parameter]");
13652
0
        abort(); /* Intentionally fail so user can correct issue. */
13653
0
    }
13654
0
    disp->UpdateIndirectExecutionSetPipelineEXT(device, indirectExecutionSet, executionSetWriteCount, pExecutionSetWrites);
13655
0
}
13656
13657
VKAPI_ATTR void VKAPI_CALL UpdateIndirectExecutionSetShaderEXT(
13658
    VkDevice                                    device,
13659
    VkIndirectExecutionSetEXT                   indirectExecutionSet,
13660
    uint32_t                                    executionSetWriteCount,
13661
0
    const VkWriteIndirectExecutionSetShaderEXT* pExecutionSetWrites) {
13662
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13663
0
    if (NULL == disp) {
13664
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13665
0
                   "vkUpdateIndirectExecutionSetShaderEXT: Invalid device "
13666
0
                   "[VUID-vkUpdateIndirectExecutionSetShaderEXT-device-parameter]");
13667
0
        abort(); /* Intentionally fail so user can correct issue. */
13668
0
    }
13669
0
    disp->UpdateIndirectExecutionSetShaderEXT(device, indirectExecutionSet, executionSetWriteCount, pExecutionSetWrites);
13670
0
}
13671
13672
13673
// ---- VK_OHOS_surface extension trampoline/terminators
13674
13675
#if defined(VK_USE_PLATFORM_OHOS)
13676
VKAPI_ATTR VkResult VKAPI_CALL CreateSurfaceOHOS(
13677
    VkInstance                                  instance,
13678
    const VkSurfaceCreateInfoOHOS*              pCreateInfo,
13679
    const VkAllocationCallbacks*                pAllocator,
13680
    VkSurfaceKHR*                               pSurface) {
13681
    struct loader_instance *inst = loader_get_instance(instance);
13682
    if (NULL == inst) {
13683
        loader_log(
13684
            NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13685
            "vkCreateSurfaceOHOS: Invalid instance [VUID-vkCreateSurfaceOHOS-instance-parameter]");
13686
        abort(); /* Intentionally fail so user can correct issue. */
13687
    }
13688
#error("Not implemented. Likely needs to be manually generated!");
13689
    return inst->disp->CreateSurfaceOHOS(instance, pCreateInfo, pAllocator, pSurface);
13690
}
13691
13692
VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateSurfaceOHOS(
13693
    VkInstance                                  instance,
13694
    const VkSurfaceCreateInfoOHOS*              pCreateInfo,
13695
    const VkAllocationCallbacks*                pAllocator,
13696
    VkSurfaceKHR*                               pSurface) {
13697
    struct loader_instance *inst = loader_get_instance(instance);
13698
    if (NULL == inst) {
13699
        loader_log(
13700
            NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13701
            "vkCreateSurfaceOHOS: Invalid instance [VUID-vkCreateSurfaceOHOS-instance-parameter]");
13702
        abort(); /* Intentionally fail so user can correct issue. */
13703
    }
13704
#error("Not implemented. Likely needs to be manually generated!");
13705
}
13706
13707
#endif // VK_USE_PLATFORM_OHOS
13708
13709
// ---- VK_NV_cooperative_matrix2 extension trampoline/terminators
13710
13711
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
13712
    VkPhysicalDevice                            physicalDevice,
13713
    uint32_t*                                   pPropertyCount,
13714
0
    VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties) {
13715
0
    const VkLayerInstanceDispatchTable *disp;
13716
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13717
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13718
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13719
0
                   "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV: Invalid physicalDevice "
13720
0
                   "[VUID-vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV-physicalDevice-parameter]");
13721
0
        abort(); /* Intentionally fail so user can correct issue. */
13722
0
    }
13723
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13724
0
    return disp->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(unwrapped_phys_dev, pPropertyCount, pProperties);
13725
0
}
13726
13727
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
13728
    VkPhysicalDevice                            physicalDevice,
13729
    uint32_t*                                   pPropertyCount,
13730
0
    VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties) {
13731
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13732
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13733
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV) {
13734
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13735
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV");
13736
0
        abort(); /* Intentionally fail so user can correct issue. */
13737
0
    }
13738
0
    return icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(phys_dev_term->phys_dev, pPropertyCount, pProperties);
13739
0
}
13740
13741
13742
// ---- VK_EXT_external_memory_metal extension trampoline/terminators
13743
13744
#if defined(VK_USE_PLATFORM_METAL_EXT)
13745
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandleEXT(
13746
    VkDevice                                    device,
13747
    const VkMemoryGetMetalHandleInfoEXT*        pGetMetalHandleInfo,
13748
    void**                                      pHandle) {
13749
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13750
    if (NULL == disp) {
13751
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13752
                   "vkGetMemoryMetalHandleEXT: Invalid device "
13753
                   "[VUID-vkGetMemoryMetalHandleEXT-device-parameter]");
13754
        abort(); /* Intentionally fail so user can correct issue. */
13755
    }
13756
    return disp->GetMemoryMetalHandleEXT(device, pGetMetalHandleInfo, pHandle);
13757
}
13758
13759
#endif // VK_USE_PLATFORM_METAL_EXT
13760
#if defined(VK_USE_PLATFORM_METAL_EXT)
13761
VKAPI_ATTR VkResult VKAPI_CALL GetMemoryMetalHandlePropertiesEXT(
13762
    VkDevice                                    device,
13763
    VkExternalMemoryHandleTypeFlagBits          handleType,
13764
    const void*                                 pHandle,
13765
    VkMemoryMetalHandlePropertiesEXT*           pMemoryMetalHandleProperties) {
13766
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13767
    if (NULL == disp) {
13768
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13769
                   "vkGetMemoryMetalHandlePropertiesEXT: Invalid device "
13770
                   "[VUID-vkGetMemoryMetalHandlePropertiesEXT-device-parameter]");
13771
        abort(); /* Intentionally fail so user can correct issue. */
13772
    }
13773
    return disp->GetMemoryMetalHandlePropertiesEXT(device, handleType, pHandle, pMemoryMetalHandleProperties);
13774
}
13775
13776
#endif // VK_USE_PLATFORM_METAL_EXT
13777
13778
// ---- VK_ARM_performance_counters_by_region extension trampoline/terminators
13779
13780
VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM(
13781
    VkPhysicalDevice                            physicalDevice,
13782
    uint32_t                                    queueFamilyIndex,
13783
    uint32_t*                                   pCounterCount,
13784
    VkPerformanceCounterARM*                    pCounters,
13785
0
    VkPerformanceCounterDescriptionARM*         pCounterDescriptions) {
13786
0
    const VkLayerInstanceDispatchTable *disp;
13787
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13788
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13789
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13790
0
                   "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM: Invalid physicalDevice "
13791
0
                   "[VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM-physicalDevice-parameter]");
13792
0
        abort(); /* Intentionally fail so user can correct issue. */
13793
0
    }
13794
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13795
0
    return disp->EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM(unwrapped_phys_dev, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
13796
0
}
13797
13798
VKAPI_ATTR VkResult VKAPI_CALL terminator_EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM(
13799
    VkPhysicalDevice                            physicalDevice,
13800
    uint32_t                                    queueFamilyIndex,
13801
    uint32_t*                                   pCounterCount,
13802
    VkPerformanceCounterARM*                    pCounters,
13803
0
    VkPerformanceCounterDescriptionARM*         pCounterDescriptions) {
13804
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13805
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13806
0
    if (NULL == icd_term->dispatch.EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM) {
13807
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13808
0
                   "ICD associated with VkPhysicalDevice does not support EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM");
13809
0
        abort(); /* Intentionally fail so user can correct issue. */
13810
0
    }
13811
0
    return icd_term->dispatch.EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM(phys_dev_term->phys_dev, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
13812
0
}
13813
13814
13815
// ---- VK_ARM_shader_instrumentation extension trampoline/terminators
13816
13817
VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDeviceShaderInstrumentationMetricsARM(
13818
    VkPhysicalDevice                            physicalDevice,
13819
    uint32_t*                                   pDescriptionCount,
13820
0
    VkShaderInstrumentationMetricDescriptionARM* pDescriptions) {
13821
0
    const VkLayerInstanceDispatchTable *disp;
13822
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13823
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13824
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13825
0
                   "vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM: Invalid physicalDevice "
13826
0
                   "[VUID-vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM-physicalDevice-parameter]");
13827
0
        abort(); /* Intentionally fail so user can correct issue. */
13828
0
    }
13829
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13830
0
    return disp->EnumeratePhysicalDeviceShaderInstrumentationMetricsARM(unwrapped_phys_dev, pDescriptionCount, pDescriptions);
13831
0
}
13832
13833
VKAPI_ATTR VkResult VKAPI_CALL terminator_EnumeratePhysicalDeviceShaderInstrumentationMetricsARM(
13834
    VkPhysicalDevice                            physicalDevice,
13835
    uint32_t*                                   pDescriptionCount,
13836
0
    VkShaderInstrumentationMetricDescriptionARM* pDescriptions) {
13837
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13838
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13839
0
    if (NULL == icd_term->dispatch.EnumeratePhysicalDeviceShaderInstrumentationMetricsARM) {
13840
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13841
0
                   "ICD associated with VkPhysicalDevice does not support EnumeratePhysicalDeviceShaderInstrumentationMetricsARM");
13842
0
        abort(); /* Intentionally fail so user can correct issue. */
13843
0
    }
13844
0
    return icd_term->dispatch.EnumeratePhysicalDeviceShaderInstrumentationMetricsARM(phys_dev_term->phys_dev, pDescriptionCount, pDescriptions);
13845
0
}
13846
13847
VKAPI_ATTR VkResult VKAPI_CALL CreateShaderInstrumentationARM(
13848
    VkDevice                                    device,
13849
    const VkShaderInstrumentationCreateInfoARM* pCreateInfo,
13850
    const VkAllocationCallbacks*                pAllocator,
13851
0
    VkShaderInstrumentationARM*                 pInstrumentation) {
13852
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13853
0
    if (NULL == disp) {
13854
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13855
0
                   "vkCreateShaderInstrumentationARM: Invalid device "
13856
0
                   "[VUID-vkCreateShaderInstrumentationARM-device-parameter]");
13857
0
        abort(); /* Intentionally fail so user can correct issue. */
13858
0
    }
13859
0
    return disp->CreateShaderInstrumentationARM(device, pCreateInfo, pAllocator, pInstrumentation);
13860
0
}
13861
13862
VKAPI_ATTR void VKAPI_CALL DestroyShaderInstrumentationARM(
13863
    VkDevice                                    device,
13864
    VkShaderInstrumentationARM                  instrumentation,
13865
0
    const VkAllocationCallbacks*                pAllocator) {
13866
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13867
0
    if (NULL == disp) {
13868
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13869
0
                   "vkDestroyShaderInstrumentationARM: Invalid device "
13870
0
                   "[VUID-vkDestroyShaderInstrumentationARM-device-parameter]");
13871
0
        abort(); /* Intentionally fail so user can correct issue. */
13872
0
    }
13873
0
    disp->DestroyShaderInstrumentationARM(device, instrumentation, pAllocator);
13874
0
}
13875
13876
VKAPI_ATTR void VKAPI_CALL CmdBeginShaderInstrumentationARM(
13877
    VkCommandBuffer                             commandBuffer,
13878
0
    VkShaderInstrumentationARM                  instrumentation) {
13879
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13880
0
    if (NULL == disp) {
13881
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13882
0
                   "vkCmdBeginShaderInstrumentationARM: Invalid commandBuffer "
13883
0
                   "[VUID-vkCmdBeginShaderInstrumentationARM-commandBuffer-parameter]");
13884
0
        abort(); /* Intentionally fail so user can correct issue. */
13885
0
    }
13886
0
    disp->CmdBeginShaderInstrumentationARM(commandBuffer, instrumentation);
13887
0
}
13888
13889
VKAPI_ATTR void VKAPI_CALL CmdEndShaderInstrumentationARM(
13890
0
    VkCommandBuffer                             commandBuffer) {
13891
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13892
0
    if (NULL == disp) {
13893
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13894
0
                   "vkCmdEndShaderInstrumentationARM: Invalid commandBuffer "
13895
0
                   "[VUID-vkCmdEndShaderInstrumentationARM-commandBuffer-parameter]");
13896
0
        abort(); /* Intentionally fail so user can correct issue. */
13897
0
    }
13898
0
    disp->CmdEndShaderInstrumentationARM(commandBuffer);
13899
0
}
13900
13901
VKAPI_ATTR VkResult VKAPI_CALL GetShaderInstrumentationValuesARM(
13902
    VkDevice                                    device,
13903
    VkShaderInstrumentationARM                  instrumentation,
13904
    uint32_t*                                   pMetricBlockCount,
13905
    void*                                       pMetricValues,
13906
0
    VkShaderInstrumentationValuesFlagsARM       flags) {
13907
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13908
0
    if (NULL == disp) {
13909
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13910
0
                   "vkGetShaderInstrumentationValuesARM: Invalid device "
13911
0
                   "[VUID-vkGetShaderInstrumentationValuesARM-device-parameter]");
13912
0
        abort(); /* Intentionally fail so user can correct issue. */
13913
0
    }
13914
0
    return disp->GetShaderInstrumentationValuesARM(device, instrumentation, pMetricBlockCount, pMetricValues, flags);
13915
0
}
13916
13917
VKAPI_ATTR void VKAPI_CALL ClearShaderInstrumentationMetricsARM(
13918
    VkDevice                                    device,
13919
0
    VkShaderInstrumentationARM                  instrumentation) {
13920
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
13921
0
    if (NULL == disp) {
13922
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13923
0
                   "vkClearShaderInstrumentationMetricsARM: Invalid device "
13924
0
                   "[VUID-vkClearShaderInstrumentationMetricsARM-device-parameter]");
13925
0
        abort(); /* Intentionally fail so user can correct issue. */
13926
0
    }
13927
0
    disp->ClearShaderInstrumentationMetricsARM(device, instrumentation);
13928
0
}
13929
13930
13931
// ---- VK_EXT_fragment_density_map_offset extension trampoline/terminators
13932
13933
VKAPI_ATTR void VKAPI_CALL CmdEndRendering2EXT(
13934
    VkCommandBuffer                             commandBuffer,
13935
0
    const VkRenderingEndInfoKHR*                pRenderingEndInfo) {
13936
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13937
0
    if (NULL == disp) {
13938
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13939
0
                   "vkCmdEndRendering2EXT: Invalid commandBuffer "
13940
0
                   "[VUID-vkCmdEndRendering2EXT-commandBuffer-parameter]");
13941
0
        abort(); /* Intentionally fail so user can correct issue. */
13942
0
    }
13943
0
    disp->CmdEndRendering2EXT(commandBuffer, pRenderingEndInfo);
13944
0
}
13945
13946
13947
// ---- VK_EXT_custom_resolve extension trampoline/terminators
13948
13949
VKAPI_ATTR void VKAPI_CALL CmdBeginCustomResolveEXT(
13950
    VkCommandBuffer                             commandBuffer,
13951
0
    const VkBeginCustomResolveInfoEXT*          pBeginCustomResolveInfo) {
13952
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
13953
0
    if (NULL == disp) {
13954
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13955
0
                   "vkCmdBeginCustomResolveEXT: Invalid commandBuffer "
13956
0
                   "[VUID-vkCmdBeginCustomResolveEXT-commandBuffer-parameter]");
13957
0
        abort(); /* Intentionally fail so user can correct issue. */
13958
0
    }
13959
0
    disp->CmdBeginCustomResolveEXT(commandBuffer, pBeginCustomResolveInfo);
13960
0
}
13961
13962
13963
// ---- VK_ARM_data_graph_optical_flow extension trampoline/terminators
13964
13965
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM(
13966
    VkPhysicalDevice                            physicalDevice,
13967
    uint32_t                                    queueFamilyIndex,
13968
    const VkQueueFamilyDataGraphPropertiesARM*  pQueueFamilyDataGraphProperties,
13969
    const VkDataGraphOpticalFlowImageFormatInfoARM* pOpticalFlowImageFormatInfo,
13970
    uint32_t*                                   pFormatCount,
13971
0
    VkDataGraphOpticalFlowImageFormatPropertiesARM* pImageFormatProperties) {
13972
0
    const VkLayerInstanceDispatchTable *disp;
13973
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
13974
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
13975
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
13976
0
                   "vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM: Invalid physicalDevice "
13977
0
                   "[VUID-vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM-physicalDevice-parameter]");
13978
0
        abort(); /* Intentionally fail so user can correct issue. */
13979
0
    }
13980
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
13981
0
    return disp->GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM(unwrapped_phys_dev, queueFamilyIndex, pQueueFamilyDataGraphProperties, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties);
13982
0
}
13983
13984
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM(
13985
    VkPhysicalDevice                            physicalDevice,
13986
    uint32_t                                    queueFamilyIndex,
13987
    const VkQueueFamilyDataGraphPropertiesARM*  pQueueFamilyDataGraphProperties,
13988
    const VkDataGraphOpticalFlowImageFormatInfoARM* pOpticalFlowImageFormatInfo,
13989
    uint32_t*                                   pFormatCount,
13990
0
    VkDataGraphOpticalFlowImageFormatPropertiesARM* pImageFormatProperties) {
13991
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
13992
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
13993
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM) {
13994
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
13995
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM");
13996
0
        abort(); /* Intentionally fail so user can correct issue. */
13997
0
    }
13998
0
    return icd_term->dispatch.GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM(phys_dev_term->phys_dev, queueFamilyIndex, pQueueFamilyDataGraphProperties, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties);
13999
0
}
14000
14001
14002
// ---- VK_NV_compute_occupancy_priority extension trampoline/terminators
14003
14004
VKAPI_ATTR void VKAPI_CALL CmdSetComputeOccupancyPriorityNV(
14005
    VkCommandBuffer                             commandBuffer,
14006
0
    const VkComputeOccupancyPriorityParametersNV* pParameters) {
14007
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14008
0
    if (NULL == disp) {
14009
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14010
0
                   "vkCmdSetComputeOccupancyPriorityNV: Invalid commandBuffer "
14011
0
                   "[VUID-vkCmdSetComputeOccupancyPriorityNV-commandBuffer-parameter]");
14012
0
        abort(); /* Intentionally fail so user can correct issue. */
14013
0
    }
14014
0
    disp->CmdSetComputeOccupancyPriorityNV(commandBuffer, pParameters);
14015
0
}
14016
14017
14018
// ---- VK_EXT_cooperative_matrix_maintenance1 extension trampoline/terminators
14019
14020
VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixProperties2EXT(
14021
    VkPhysicalDevice                            physicalDevice,
14022
    const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo,
14023
    uint32_t*                                   pPropertyCount,
14024
0
    VkCooperativeMatrixProperties2EXT*          pProperties) {
14025
0
    const VkLayerInstanceDispatchTable *disp;
14026
0
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
14027
0
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
14028
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14029
0
                   "vkGetPhysicalDeviceCooperativeMatrixProperties2EXT: Invalid physicalDevice "
14030
0
                   "[VUID-vkGetPhysicalDeviceCooperativeMatrixProperties2EXT-physicalDevice-parameter]");
14031
0
        abort(); /* Intentionally fail so user can correct issue. */
14032
0
    }
14033
0
    disp = loader_get_instance_layer_dispatch(physicalDevice);
14034
0
    return disp->GetPhysicalDeviceCooperativeMatrixProperties2EXT(unwrapped_phys_dev, pCooperativeMatrixInfo, pPropertyCount, pProperties);
14035
0
}
14036
14037
VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCooperativeMatrixProperties2EXT(
14038
    VkPhysicalDevice                            physicalDevice,
14039
    const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo,
14040
    uint32_t*                                   pPropertyCount,
14041
0
    VkCooperativeMatrixProperties2EXT*          pProperties) {
14042
0
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
14043
0
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
14044
0
    if (NULL == icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixProperties2EXT) {
14045
0
        loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0,
14046
0
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCooperativeMatrixProperties2EXT");
14047
0
        abort(); /* Intentionally fail so user can correct issue. */
14048
0
    }
14049
0
    return icd_term->dispatch.GetPhysicalDeviceCooperativeMatrixProperties2EXT(phys_dev_term->phys_dev, pCooperativeMatrixInfo, pPropertyCount, pProperties);
14050
0
}
14051
14052
14053
// ---- VK_SEC_ubm_surface extension trampoline/terminators
14054
14055
#if defined(VK_USE_PLATFORM_UBM_SEC)
14056
VKAPI_ATTR VkResult VKAPI_CALL CreateUbmSurfaceSEC(
14057
    VkInstance                                  instance,
14058
    const VkUbmSurfaceCreateInfoSEC*            pCreateInfo,
14059
    const VkAllocationCallbacks*                pAllocator,
14060
    VkSurfaceKHR*                               pSurface) {
14061
    struct loader_instance *inst = loader_get_instance(instance);
14062
    if (NULL == inst) {
14063
        loader_log(
14064
            NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14065
            "vkCreateUbmSurfaceSEC: Invalid instance [VUID-vkCreateUbmSurfaceSEC-instance-parameter]");
14066
        abort(); /* Intentionally fail so user can correct issue. */
14067
    }
14068
#error("Not implemented. Likely needs to be manually generated!");
14069
    return inst->disp->CreateUbmSurfaceSEC(instance, pCreateInfo, pAllocator, pSurface);
14070
}
14071
14072
VKAPI_ATTR VkResult VKAPI_CALL terminator_CreateUbmSurfaceSEC(
14073
    VkInstance                                  instance,
14074
    const VkUbmSurfaceCreateInfoSEC*            pCreateInfo,
14075
    const VkAllocationCallbacks*                pAllocator,
14076
    VkSurfaceKHR*                               pSurface) {
14077
    struct loader_instance *inst = loader_get_instance(instance);
14078
    if (NULL == inst) {
14079
        loader_log(
14080
            NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14081
            "vkCreateUbmSurfaceSEC: Invalid instance [VUID-vkCreateUbmSurfaceSEC-instance-parameter]");
14082
        abort(); /* Intentionally fail so user can correct issue. */
14083
    }
14084
#error("Not implemented. Likely needs to be manually generated!");
14085
}
14086
14087
#endif // VK_USE_PLATFORM_UBM_SEC
14088
#if defined(VK_USE_PLATFORM_UBM_SEC)
14089
VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceUbmPresentationSupportSEC(
14090
    VkPhysicalDevice                            physicalDevice,
14091
    uint32_t                                    queueFamilyIndex,
14092
    struct ubm_device*                          device) {
14093
    const VkLayerInstanceDispatchTable *disp;
14094
    VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice);
14095
    if (VK_NULL_HANDLE == unwrapped_phys_dev) {
14096
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14097
                   "vkGetPhysicalDeviceUbmPresentationSupportSEC: Invalid physicalDevice "
14098
                   "[VUID-vkGetPhysicalDeviceUbmPresentationSupportSEC-physicalDevice-parameter]");
14099
        abort(); /* Intentionally fail so user can correct issue. */
14100
    }
14101
    disp = loader_get_instance_layer_dispatch(physicalDevice);
14102
    return disp->GetPhysicalDeviceUbmPresentationSupportSEC(unwrapped_phys_dev, queueFamilyIndex, device);
14103
}
14104
14105
VKAPI_ATTR VkBool32 VKAPI_CALL terminator_GetPhysicalDeviceUbmPresentationSupportSEC(
14106
    VkPhysicalDevice                            physicalDevice,
14107
    uint32_t                                    queueFamilyIndex,
14108
    struct ubm_device*                          device) {
14109
    struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice;
14110
    struct loader_icd_term *icd_term = phys_dev_term->this_icd_term;
14111
    if (NULL == icd_term->dispatch.GetPhysicalDeviceUbmPresentationSupportSEC) {
14112
        loader_log(icd_term->this_instance, VULKAN_LOADER_ERROR_BIT, 0,
14113
                   "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceUbmPresentationSupportSEC");
14114
        return VK_ERROR_EXTENSION_NOT_PRESENT;
14115
    }
14116
    return icd_term->dispatch.GetPhysicalDeviceUbmPresentationSupportSEC(phys_dev_term->phys_dev, queueFamilyIndex, device);
14117
}
14118
14119
#endif // VK_USE_PLATFORM_UBM_SEC
14120
14121
// ---- VK_EXT_primitive_restart_index extension trampoline/terminators
14122
14123
VKAPI_ATTR void VKAPI_CALL CmdSetPrimitiveRestartIndexEXT(
14124
    VkCommandBuffer                             commandBuffer,
14125
0
    uint32_t                                    primitiveRestartIndex) {
14126
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14127
0
    if (NULL == disp) {
14128
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14129
0
                   "vkCmdSetPrimitiveRestartIndexEXT: Invalid commandBuffer "
14130
0
                   "[VUID-vkCmdSetPrimitiveRestartIndexEXT-commandBuffer-parameter]");
14131
0
        abort(); /* Intentionally fail so user can correct issue. */
14132
0
    }
14133
0
    disp->CmdSetPrimitiveRestartIndexEXT(commandBuffer, primitiveRestartIndex);
14134
0
}
14135
14136
14137
// ---- VK_KHR_acceleration_structure extension trampoline/terminators
14138
14139
VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR(
14140
    VkDevice                                    device,
14141
    const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
14142
    const VkAllocationCallbacks*                pAllocator,
14143
0
    VkAccelerationStructureKHR*                 pAccelerationStructure) {
14144
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14145
0
    if (NULL == disp) {
14146
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14147
0
                   "vkCreateAccelerationStructureKHR: Invalid device "
14148
0
                   "[VUID-vkCreateAccelerationStructureKHR-device-parameter]");
14149
0
        abort(); /* Intentionally fail so user can correct issue. */
14150
0
    }
14151
0
    return disp->CreateAccelerationStructureKHR(device, pCreateInfo, pAllocator, pAccelerationStructure);
14152
0
}
14153
14154
VKAPI_ATTR void VKAPI_CALL DestroyAccelerationStructureKHR(
14155
    VkDevice                                    device,
14156
    VkAccelerationStructureKHR                  accelerationStructure,
14157
0
    const VkAllocationCallbacks*                pAllocator) {
14158
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14159
0
    if (NULL == disp) {
14160
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14161
0
                   "vkDestroyAccelerationStructureKHR: Invalid device "
14162
0
                   "[VUID-vkDestroyAccelerationStructureKHR-device-parameter]");
14163
0
        abort(); /* Intentionally fail so user can correct issue. */
14164
0
    }
14165
0
    disp->DestroyAccelerationStructureKHR(device, accelerationStructure, pAllocator);
14166
0
}
14167
14168
VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresKHR(
14169
    VkCommandBuffer                             commandBuffer,
14170
    uint32_t                                    infoCount,
14171
    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14172
0
    const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) {
14173
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14174
0
    if (NULL == disp) {
14175
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14176
0
                   "vkCmdBuildAccelerationStructuresKHR: Invalid commandBuffer "
14177
0
                   "[VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-parameter]");
14178
0
        abort(); /* Intentionally fail so user can correct issue. */
14179
0
    }
14180
0
    disp->CmdBuildAccelerationStructuresKHR(commandBuffer, infoCount, pInfos, ppBuildRangeInfos);
14181
0
}
14182
14183
VKAPI_ATTR void VKAPI_CALL CmdBuildAccelerationStructuresIndirectKHR(
14184
    VkCommandBuffer                             commandBuffer,
14185
    uint32_t                                    infoCount,
14186
    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14187
    const VkDeviceAddress*                      pIndirectDeviceAddresses,
14188
    const uint32_t*                             pIndirectStrides,
14189
0
    const uint32_t* const*                      ppMaxPrimitiveCounts) {
14190
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14191
0
    if (NULL == disp) {
14192
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14193
0
                   "vkCmdBuildAccelerationStructuresIndirectKHR: Invalid commandBuffer "
14194
0
                   "[VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-parameter]");
14195
0
        abort(); /* Intentionally fail so user can correct issue. */
14196
0
    }
14197
0
    disp->CmdBuildAccelerationStructuresIndirectKHR(commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts);
14198
0
}
14199
14200
VKAPI_ATTR VkResult VKAPI_CALL BuildAccelerationStructuresKHR(
14201
    VkDevice                                    device,
14202
    VkDeferredOperationKHR                      deferredOperation,
14203
    uint32_t                                    infoCount,
14204
    const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14205
0
    const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) {
14206
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14207
0
    if (NULL == disp) {
14208
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14209
0
                   "vkBuildAccelerationStructuresKHR: Invalid device "
14210
0
                   "[VUID-vkBuildAccelerationStructuresKHR-device-parameter]");
14211
0
        abort(); /* Intentionally fail so user can correct issue. */
14212
0
    }
14213
0
    return disp->BuildAccelerationStructuresKHR(device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos);
14214
0
}
14215
14216
VKAPI_ATTR VkResult VKAPI_CALL CopyAccelerationStructureKHR(
14217
    VkDevice                                    device,
14218
    VkDeferredOperationKHR                      deferredOperation,
14219
0
    const VkCopyAccelerationStructureInfoKHR*   pInfo) {
14220
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14221
0
    if (NULL == disp) {
14222
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14223
0
                   "vkCopyAccelerationStructureKHR: Invalid device "
14224
0
                   "[VUID-vkCopyAccelerationStructureKHR-device-parameter]");
14225
0
        abort(); /* Intentionally fail so user can correct issue. */
14226
0
    }
14227
0
    return disp->CopyAccelerationStructureKHR(device, deferredOperation, pInfo);
14228
0
}
14229
14230
VKAPI_ATTR VkResult VKAPI_CALL CopyAccelerationStructureToMemoryKHR(
14231
    VkDevice                                    device,
14232
    VkDeferredOperationKHR                      deferredOperation,
14233
0
    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) {
14234
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14235
0
    if (NULL == disp) {
14236
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14237
0
                   "vkCopyAccelerationStructureToMemoryKHR: Invalid device "
14238
0
                   "[VUID-vkCopyAccelerationStructureToMemoryKHR-device-parameter]");
14239
0
        abort(); /* Intentionally fail so user can correct issue. */
14240
0
    }
14241
0
    return disp->CopyAccelerationStructureToMemoryKHR(device, deferredOperation, pInfo);
14242
0
}
14243
14244
VKAPI_ATTR VkResult VKAPI_CALL CopyMemoryToAccelerationStructureKHR(
14245
    VkDevice                                    device,
14246
    VkDeferredOperationKHR                      deferredOperation,
14247
0
    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) {
14248
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14249
0
    if (NULL == disp) {
14250
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14251
0
                   "vkCopyMemoryToAccelerationStructureKHR: Invalid device "
14252
0
                   "[VUID-vkCopyMemoryToAccelerationStructureKHR-device-parameter]");
14253
0
        abort(); /* Intentionally fail so user can correct issue. */
14254
0
    }
14255
0
    return disp->CopyMemoryToAccelerationStructureKHR(device, deferredOperation, pInfo);
14256
0
}
14257
14258
VKAPI_ATTR VkResult VKAPI_CALL WriteAccelerationStructuresPropertiesKHR(
14259
    VkDevice                                    device,
14260
    uint32_t                                    accelerationStructureCount,
14261
    const VkAccelerationStructureKHR*           pAccelerationStructures,
14262
    VkQueryType                                 queryType,
14263
    size_t                                      dataSize,
14264
    void*                                       pData,
14265
0
    size_t                                      stride) {
14266
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14267
0
    if (NULL == disp) {
14268
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14269
0
                   "vkWriteAccelerationStructuresPropertiesKHR: Invalid device "
14270
0
                   "[VUID-vkWriteAccelerationStructuresPropertiesKHR-device-parameter]");
14271
0
        abort(); /* Intentionally fail so user can correct issue. */
14272
0
    }
14273
0
    return disp->WriteAccelerationStructuresPropertiesKHR(device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride);
14274
0
}
14275
14276
VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureKHR(
14277
    VkCommandBuffer                             commandBuffer,
14278
0
    const VkCopyAccelerationStructureInfoKHR*   pInfo) {
14279
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14280
0
    if (NULL == disp) {
14281
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14282
0
                   "vkCmdCopyAccelerationStructureKHR: Invalid commandBuffer "
14283
0
                   "[VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-parameter]");
14284
0
        abort(); /* Intentionally fail so user can correct issue. */
14285
0
    }
14286
0
    disp->CmdCopyAccelerationStructureKHR(commandBuffer, pInfo);
14287
0
}
14288
14289
VKAPI_ATTR void VKAPI_CALL CmdCopyAccelerationStructureToMemoryKHR(
14290
    VkCommandBuffer                             commandBuffer,
14291
0
    const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) {
14292
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14293
0
    if (NULL == disp) {
14294
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14295
0
                   "vkCmdCopyAccelerationStructureToMemoryKHR: Invalid commandBuffer "
14296
0
                   "[VUID-vkCmdCopyAccelerationStructureToMemoryKHR-commandBuffer-parameter]");
14297
0
        abort(); /* Intentionally fail so user can correct issue. */
14298
0
    }
14299
0
    disp->CmdCopyAccelerationStructureToMemoryKHR(commandBuffer, pInfo);
14300
0
}
14301
14302
VKAPI_ATTR void VKAPI_CALL CmdCopyMemoryToAccelerationStructureKHR(
14303
    VkCommandBuffer                             commandBuffer,
14304
0
    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) {
14305
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14306
0
    if (NULL == disp) {
14307
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14308
0
                   "vkCmdCopyMemoryToAccelerationStructureKHR: Invalid commandBuffer "
14309
0
                   "[VUID-vkCmdCopyMemoryToAccelerationStructureKHR-commandBuffer-parameter]");
14310
0
        abort(); /* Intentionally fail so user can correct issue. */
14311
0
    }
14312
0
    disp->CmdCopyMemoryToAccelerationStructureKHR(commandBuffer, pInfo);
14313
0
}
14314
14315
VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetAccelerationStructureDeviceAddressKHR(
14316
    VkDevice                                    device,
14317
0
    const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) {
14318
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14319
0
    if (NULL == disp) {
14320
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14321
0
                   "vkGetAccelerationStructureDeviceAddressKHR: Invalid device "
14322
0
                   "[VUID-vkGetAccelerationStructureDeviceAddressKHR-device-parameter]");
14323
0
        abort(); /* Intentionally fail so user can correct issue. */
14324
0
    }
14325
0
    return disp->GetAccelerationStructureDeviceAddressKHR(device, pInfo);
14326
0
}
14327
14328
VKAPI_ATTR void VKAPI_CALL CmdWriteAccelerationStructuresPropertiesKHR(
14329
    VkCommandBuffer                             commandBuffer,
14330
    uint32_t                                    accelerationStructureCount,
14331
    const VkAccelerationStructureKHR*           pAccelerationStructures,
14332
    VkQueryType                                 queryType,
14333
    VkQueryPool                                 queryPool,
14334
0
    uint32_t                                    firstQuery) {
14335
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14336
0
    if (NULL == disp) {
14337
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14338
0
                   "vkCmdWriteAccelerationStructuresPropertiesKHR: Invalid commandBuffer "
14339
0
                   "[VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-commandBuffer-parameter]");
14340
0
        abort(); /* Intentionally fail so user can correct issue. */
14341
0
    }
14342
0
    disp->CmdWriteAccelerationStructuresPropertiesKHR(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery);
14343
0
}
14344
14345
VKAPI_ATTR void VKAPI_CALL GetDeviceAccelerationStructureCompatibilityKHR(
14346
    VkDevice                                    device,
14347
    const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
14348
0
    VkAccelerationStructureCompatibilityKHR*    pCompatibility) {
14349
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14350
0
    if (NULL == disp) {
14351
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14352
0
                   "vkGetDeviceAccelerationStructureCompatibilityKHR: Invalid device "
14353
0
                   "[VUID-vkGetDeviceAccelerationStructureCompatibilityKHR-device-parameter]");
14354
0
        abort(); /* Intentionally fail so user can correct issue. */
14355
0
    }
14356
0
    disp->GetDeviceAccelerationStructureCompatibilityKHR(device, pVersionInfo, pCompatibility);
14357
0
}
14358
14359
VKAPI_ATTR void VKAPI_CALL GetAccelerationStructureBuildSizesKHR(
14360
    VkDevice                                    device,
14361
    VkAccelerationStructureBuildTypeKHR         buildType,
14362
    const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
14363
    const uint32_t*                             pMaxPrimitiveCounts,
14364
0
    VkAccelerationStructureBuildSizesInfoKHR*   pSizeInfo) {
14365
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14366
0
    if (NULL == disp) {
14367
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14368
0
                   "vkGetAccelerationStructureBuildSizesKHR: Invalid device "
14369
0
                   "[VUID-vkGetAccelerationStructureBuildSizesKHR-device-parameter]");
14370
0
        abort(); /* Intentionally fail so user can correct issue. */
14371
0
    }
14372
0
    disp->GetAccelerationStructureBuildSizesKHR(device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo);
14373
0
}
14374
14375
14376
// ---- VK_KHR_ray_tracing_pipeline extension trampoline/terminators
14377
14378
VKAPI_ATTR void VKAPI_CALL CmdTraceRaysKHR(
14379
    VkCommandBuffer                             commandBuffer,
14380
    const VkStridedDeviceAddressRegionKHR*      pRaygenShaderBindingTable,
14381
    const VkStridedDeviceAddressRegionKHR*      pMissShaderBindingTable,
14382
    const VkStridedDeviceAddressRegionKHR*      pHitShaderBindingTable,
14383
    const VkStridedDeviceAddressRegionKHR*      pCallableShaderBindingTable,
14384
    uint32_t                                    width,
14385
    uint32_t                                    height,
14386
0
    uint32_t                                    depth) {
14387
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14388
0
    if (NULL == disp) {
14389
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14390
0
                   "vkCmdTraceRaysKHR: Invalid commandBuffer "
14391
0
                   "[VUID-vkCmdTraceRaysKHR-commandBuffer-parameter]");
14392
0
        abort(); /* Intentionally fail so user can correct issue. */
14393
0
    }
14394
0
    disp->CmdTraceRaysKHR(commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth);
14395
0
}
14396
14397
VKAPI_ATTR VkResult VKAPI_CALL CreateRayTracingPipelinesKHR(
14398
    VkDevice                                    device,
14399
    VkDeferredOperationKHR                      deferredOperation,
14400
    VkPipelineCache                             pipelineCache,
14401
    uint32_t                                    createInfoCount,
14402
    const VkRayTracingPipelineCreateInfoKHR*    pCreateInfos,
14403
    const VkAllocationCallbacks*                pAllocator,
14404
0
    VkPipeline*                                 pPipelines) {
14405
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14406
0
    if (NULL == disp) {
14407
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14408
0
                   "vkCreateRayTracingPipelinesKHR: Invalid device "
14409
0
                   "[VUID-vkCreateRayTracingPipelinesKHR-device-parameter]");
14410
0
        abort(); /* Intentionally fail so user can correct issue. */
14411
0
    }
14412
0
    return disp->CreateRayTracingPipelinesKHR(device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
14413
0
}
14414
14415
VKAPI_ATTR VkResult VKAPI_CALL GetRayTracingCaptureReplayShaderGroupHandlesKHR(
14416
    VkDevice                                    device,
14417
    VkPipeline                                  pipeline,
14418
    uint32_t                                    firstGroup,
14419
    uint32_t                                    groupCount,
14420
    size_t                                      dataSize,
14421
0
    void*                                       pData) {
14422
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14423
0
    if (NULL == disp) {
14424
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14425
0
                   "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR: Invalid device "
14426
0
                   "[VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-device-parameter]");
14427
0
        abort(); /* Intentionally fail so user can correct issue. */
14428
0
    }
14429
0
    return disp->GetRayTracingCaptureReplayShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData);
14430
0
}
14431
14432
VKAPI_ATTR void VKAPI_CALL CmdTraceRaysIndirectKHR(
14433
    VkCommandBuffer                             commandBuffer,
14434
    const VkStridedDeviceAddressRegionKHR*      pRaygenShaderBindingTable,
14435
    const VkStridedDeviceAddressRegionKHR*      pMissShaderBindingTable,
14436
    const VkStridedDeviceAddressRegionKHR*      pHitShaderBindingTable,
14437
    const VkStridedDeviceAddressRegionKHR*      pCallableShaderBindingTable,
14438
0
    VkDeviceAddress                             indirectDeviceAddress) {
14439
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14440
0
    if (NULL == disp) {
14441
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14442
0
                   "vkCmdTraceRaysIndirectKHR: Invalid commandBuffer "
14443
0
                   "[VUID-vkCmdTraceRaysIndirectKHR-commandBuffer-parameter]");
14444
0
        abort(); /* Intentionally fail so user can correct issue. */
14445
0
    }
14446
0
    disp->CmdTraceRaysIndirectKHR(commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress);
14447
0
}
14448
14449
VKAPI_ATTR VkDeviceSize VKAPI_CALL GetRayTracingShaderGroupStackSizeKHR(
14450
    VkDevice                                    device,
14451
    VkPipeline                                  pipeline,
14452
    uint32_t                                    group,
14453
0
    VkShaderGroupShaderKHR                      groupShader) {
14454
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(device);
14455
0
    if (NULL == disp) {
14456
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14457
0
                   "vkGetRayTracingShaderGroupStackSizeKHR: Invalid device "
14458
0
                   "[VUID-vkGetRayTracingShaderGroupStackSizeKHR-device-parameter]");
14459
0
        abort(); /* Intentionally fail so user can correct issue. */
14460
0
    }
14461
0
    return disp->GetRayTracingShaderGroupStackSizeKHR(device, pipeline, group, groupShader);
14462
0
}
14463
14464
VKAPI_ATTR void VKAPI_CALL CmdSetRayTracingPipelineStackSizeKHR(
14465
    VkCommandBuffer                             commandBuffer,
14466
0
    uint32_t                                    pipelineStackSize) {
14467
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14468
0
    if (NULL == disp) {
14469
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14470
0
                   "vkCmdSetRayTracingPipelineStackSizeKHR: Invalid commandBuffer "
14471
0
                   "[VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-parameter]");
14472
0
        abort(); /* Intentionally fail so user can correct issue. */
14473
0
    }
14474
0
    disp->CmdSetRayTracingPipelineStackSizeKHR(commandBuffer, pipelineStackSize);
14475
0
}
14476
14477
14478
// ---- VK_EXT_mesh_shader extension trampoline/terminators
14479
14480
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksEXT(
14481
    VkCommandBuffer                             commandBuffer,
14482
    uint32_t                                    groupCountX,
14483
    uint32_t                                    groupCountY,
14484
0
    uint32_t                                    groupCountZ) {
14485
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14486
0
    if (NULL == disp) {
14487
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14488
0
                   "vkCmdDrawMeshTasksEXT: Invalid commandBuffer "
14489
0
                   "[VUID-vkCmdDrawMeshTasksEXT-commandBuffer-parameter]");
14490
0
        abort(); /* Intentionally fail so user can correct issue. */
14491
0
    }
14492
0
    disp->CmdDrawMeshTasksEXT(commandBuffer, groupCountX, groupCountY, groupCountZ);
14493
0
}
14494
14495
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectEXT(
14496
    VkCommandBuffer                             commandBuffer,
14497
    VkBuffer                                    buffer,
14498
    VkDeviceSize                                offset,
14499
    uint32_t                                    drawCount,
14500
0
    uint32_t                                    stride) {
14501
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14502
0
    if (NULL == disp) {
14503
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14504
0
                   "vkCmdDrawMeshTasksIndirectEXT: Invalid commandBuffer "
14505
0
                   "[VUID-vkCmdDrawMeshTasksIndirectEXT-commandBuffer-parameter]");
14506
0
        abort(); /* Intentionally fail so user can correct issue. */
14507
0
    }
14508
0
    disp->CmdDrawMeshTasksIndirectEXT(commandBuffer, buffer, offset, drawCount, stride);
14509
0
}
14510
14511
VKAPI_ATTR void VKAPI_CALL CmdDrawMeshTasksIndirectCountEXT(
14512
    VkCommandBuffer                             commandBuffer,
14513
    VkBuffer                                    buffer,
14514
    VkDeviceSize                                offset,
14515
    VkBuffer                                    countBuffer,
14516
    VkDeviceSize                                countBufferOffset,
14517
    uint32_t                                    maxDrawCount,
14518
0
    uint32_t                                    stride) {
14519
0
    const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer);
14520
0
    if (NULL == disp) {
14521
0
        loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0,
14522
0
                   "vkCmdDrawMeshTasksIndirectCountEXT: Invalid commandBuffer "
14523
0
                   "[VUID-vkCmdDrawMeshTasksIndirectCountEXT-commandBuffer-parameter]");
14524
0
        abort(); /* Intentionally fail so user can correct issue. */
14525
0
    }
14526
0
    disp->CmdDrawMeshTasksIndirectCountEXT(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
14527
0
}
14528
14529
// GPA helpers for extensions
14530
// name_hash must be loader_hash_string(name) - passed in by the caller so it is only computed once per lookup.
14531
0
bool extension_instance_gpa(struct loader_instance *ptr_instance, const char *name, uint32_t name_hash, void **addr) {
14532
0
    *addr = NULL;
14533
0
    switch (name_hash) {
14534
14535
        // ---- VK_KHR_video_queue extension commands
14536
0
        case 0x5a670229u:
14537
0
            if (!strcmp("vkGetPhysicalDeviceVideoCapabilitiesKHR", name)) {
14538
0
                *addr = (void *)GetPhysicalDeviceVideoCapabilitiesKHR;
14539
0
                return true;
14540
0
            }
14541
0
            break;
14542
0
        case 0x9bb9b67du:
14543
0
            if (!strcmp("vkGetPhysicalDeviceVideoFormatPropertiesKHR", name)) {
14544
0
                *addr = (void *)GetPhysicalDeviceVideoFormatPropertiesKHR;
14545
0
                return true;
14546
0
            }
14547
0
            break;
14548
0
        case 0x05ff253eu:
14549
0
            if (!strcmp("vkCreateVideoSessionKHR", name)) {
14550
0
                *addr = (void *)CreateVideoSessionKHR;
14551
0
                return true;
14552
0
            }
14553
0
            break;
14554
0
        case 0xc7cb956cu:
14555
0
            if (!strcmp("vkDestroyVideoSessionKHR", name)) {
14556
0
                *addr = (void *)DestroyVideoSessionKHR;
14557
0
                return true;
14558
0
            }
14559
0
            break;
14560
0
        case 0xf1b97187u:
14561
0
            if (!strcmp("vkGetVideoSessionMemoryRequirementsKHR", name)) {
14562
0
                *addr = (void *)GetVideoSessionMemoryRequirementsKHR;
14563
0
                return true;
14564
0
            }
14565
0
            break;
14566
0
        case 0x5308d2beu:
14567
0
            if (!strcmp("vkBindVideoSessionMemoryKHR", name)) {
14568
0
                *addr = (void *)BindVideoSessionMemoryKHR;
14569
0
                return true;
14570
0
            }
14571
0
            break;
14572
0
        case 0x32e5db36u:
14573
0
            if (!strcmp("vkCreateVideoSessionParametersKHR", name)) {
14574
0
                *addr = (void *)CreateVideoSessionParametersKHR;
14575
0
                return true;
14576
0
            }
14577
0
            break;
14578
0
        case 0xba0655adu:
14579
0
            if (!strcmp("vkUpdateVideoSessionParametersKHR", name)) {
14580
0
                *addr = (void *)UpdateVideoSessionParametersKHR;
14581
0
                return true;
14582
0
            }
14583
0
            break;
14584
0
        case 0x4e1a3408u:
14585
0
            if (!strcmp("vkDestroyVideoSessionParametersKHR", name)) {
14586
0
                *addr = (void *)DestroyVideoSessionParametersKHR;
14587
0
                return true;
14588
0
            }
14589
0
            break;
14590
0
        case 0x40cff81fu:
14591
0
            if (!strcmp("vkCmdBeginVideoCodingKHR", name)) {
14592
0
                *addr = (void *)CmdBeginVideoCodingKHR;
14593
0
                return true;
14594
0
            }
14595
0
            break;
14596
0
        case 0x0ab75f97u:
14597
0
            if (!strcmp("vkCmdEndVideoCodingKHR", name)) {
14598
0
                *addr = (void *)CmdEndVideoCodingKHR;
14599
0
                return true;
14600
0
            }
14601
0
            break;
14602
0
        case 0xe206cd4fu:
14603
0
            if (!strcmp("vkCmdControlVideoCodingKHR", name)) {
14604
0
                *addr = (void *)CmdControlVideoCodingKHR;
14605
0
                return true;
14606
0
            }
14607
0
            break;
14608
14609
        // ---- VK_KHR_video_decode_queue extension commands
14610
0
        case 0xfe59f5e6u:
14611
0
            if (!strcmp("vkCmdDecodeVideoKHR", name)) {
14612
0
                *addr = (void *)CmdDecodeVideoKHR;
14613
0
                return true;
14614
0
            }
14615
0
            break;
14616
14617
        // ---- VK_KHR_dynamic_rendering extension commands
14618
0
        case 0x75d22258u:
14619
0
            if (!strcmp("vkCmdBeginRenderingKHR", name)) {
14620
0
                *addr = (void *)CmdBeginRenderingKHR;
14621
0
                return true;
14622
0
            }
14623
0
            break;
14624
0
        case 0x73e23530u:
14625
0
            if (!strcmp("vkCmdEndRenderingKHR", name)) {
14626
0
                *addr = (void *)CmdEndRenderingKHR;
14627
0
                return true;
14628
0
            }
14629
0
            break;
14630
14631
        // ---- VK_KHR_get_physical_device_properties2 extension commands
14632
0
        case 0x8682cc23u:
14633
0
            if (!strcmp("vkGetPhysicalDeviceFeatures2KHR", name)) {
14634
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14635
0
                             ? (void *)vkGetPhysicalDeviceFeatures2
14636
0
                             : NULL;
14637
0
                return true;
14638
0
            }
14639
0
            break;
14640
0
        case 0xcd58d5a9u:
14641
0
            if (!strcmp("vkGetPhysicalDeviceProperties2KHR", name)) {
14642
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14643
0
                             ? (void *)vkGetPhysicalDeviceProperties2
14644
0
                             : NULL;
14645
0
                return true;
14646
0
            }
14647
0
            break;
14648
0
        case 0xd4b09a32u:
14649
0
            if (!strcmp("vkGetPhysicalDeviceFormatProperties2KHR", name)) {
14650
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14651
0
                             ? (void *)vkGetPhysicalDeviceFormatProperties2
14652
0
                             : NULL;
14653
0
                return true;
14654
0
            }
14655
0
            break;
14656
0
        case 0xca8ffcbdu:
14657
0
            if (!strcmp("vkGetPhysicalDeviceImageFormatProperties2KHR", name)) {
14658
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14659
0
                             ? (void *)vkGetPhysicalDeviceImageFormatProperties2
14660
0
                             : NULL;
14661
0
                return true;
14662
0
            }
14663
0
            break;
14664
0
        case 0xde6711d4u:
14665
0
            if (!strcmp("vkGetPhysicalDeviceQueueFamilyProperties2KHR", name)) {
14666
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14667
0
                             ? (void *)vkGetPhysicalDeviceQueueFamilyProperties2
14668
0
                             : NULL;
14669
0
                return true;
14670
0
            }
14671
0
            break;
14672
0
        case 0xd744d3deu:
14673
0
            if (!strcmp("vkGetPhysicalDeviceMemoryProperties2KHR", name)) {
14674
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14675
0
                             ? (void *)vkGetPhysicalDeviceMemoryProperties2
14676
0
                             : NULL;
14677
0
                return true;
14678
0
            }
14679
0
            break;
14680
0
        case 0xe658803du:
14681
0
            if (!strcmp("vkGetPhysicalDeviceSparseImageFormatProperties2KHR", name)) {
14682
0
                *addr = (ptr_instance->enabled_extensions.khr_get_physical_device_properties2 == 1)
14683
0
                             ? (void *)vkGetPhysicalDeviceSparseImageFormatProperties2
14684
0
                             : NULL;
14685
0
                return true;
14686
0
            }
14687
0
            break;
14688
14689
        // ---- VK_KHR_device_group extension commands
14690
0
        case 0x3cdaa412u:
14691
0
            if (!strcmp("vkGetDeviceGroupPeerMemoryFeaturesKHR", name)) {
14692
0
                *addr = (void *)GetDeviceGroupPeerMemoryFeaturesKHR;
14693
0
                return true;
14694
0
            }
14695
0
            break;
14696
0
        case 0xcf5f61a3u:
14697
0
            if (!strcmp("vkCmdSetDeviceMaskKHR", name)) {
14698
0
                *addr = (void *)CmdSetDeviceMaskKHR;
14699
0
                return true;
14700
0
            }
14701
0
            break;
14702
0
        case 0x3fed8b1cu:
14703
0
            if (!strcmp("vkCmdDispatchBaseKHR", name)) {
14704
0
                *addr = (void *)CmdDispatchBaseKHR;
14705
0
                return true;
14706
0
            }
14707
0
            break;
14708
14709
        // ---- VK_KHR_maintenance1 extension commands
14710
0
        case 0x87745984u:
14711
0
            if (!strcmp("vkTrimCommandPoolKHR", name)) {
14712
0
                *addr = (void *)TrimCommandPoolKHR;
14713
0
                return true;
14714
0
            }
14715
0
            break;
14716
14717
        // ---- VK_KHR_device_group_creation extension commands
14718
0
        case 0xd9a7ffcau:
14719
0
            if (!strcmp("vkEnumeratePhysicalDeviceGroupsKHR", name)) {
14720
0
                *addr = (ptr_instance->enabled_extensions.khr_device_group_creation == 1)
14721
0
                             ? (void *)vkEnumeratePhysicalDeviceGroups
14722
0
                             : NULL;
14723
0
                return true;
14724
0
            }
14725
0
            break;
14726
14727
        // ---- VK_KHR_external_memory_capabilities extension commands
14728
0
        case 0x373d8898u:
14729
0
            if (!strcmp("vkGetPhysicalDeviceExternalBufferPropertiesKHR", name)) {
14730
0
                *addr = (ptr_instance->enabled_extensions.khr_external_memory_capabilities == 1)
14731
0
                             ? (void *)vkGetPhysicalDeviceExternalBufferProperties
14732
0
                             : NULL;
14733
0
                return true;
14734
0
            }
14735
0
            break;
14736
14737
        // ---- VK_KHR_external_memory_win32 extension commands
14738
#if defined(VK_USE_PLATFORM_WIN32_KHR)
14739
        case 0xa63e7441u:
14740
            if (!strcmp("vkGetMemoryWin32HandleKHR", name)) {
14741
                *addr = (void *)GetMemoryWin32HandleKHR;
14742
                return true;
14743
            }
14744
            break;
14745
#endif // VK_USE_PLATFORM_WIN32_KHR
14746
#if defined(VK_USE_PLATFORM_WIN32_KHR)
14747
        case 0x3fd1754au:
14748
            if (!strcmp("vkGetMemoryWin32HandlePropertiesKHR", name)) {
14749
                *addr = (void *)GetMemoryWin32HandlePropertiesKHR;
14750
                return true;
14751
            }
14752
            break;
14753
#endif // VK_USE_PLATFORM_WIN32_KHR
14754
14755
        // ---- VK_KHR_external_memory_fd extension commands
14756
0
        case 0xdad4337au:
14757
0
            if (!strcmp("vkGetMemoryFdKHR", name)) {
14758
0
                *addr = (void *)GetMemoryFdKHR;
14759
0
                return true;
14760
0
            }
14761
0
            break;
14762
0
        case 0x040c9cadu:
14763
0
            if (!strcmp("vkGetMemoryFdPropertiesKHR", name)) {
14764
0
                *addr = (void *)GetMemoryFdPropertiesKHR;
14765
0
                return true;
14766
0
            }
14767
0
            break;
14768
14769
        // ---- VK_KHR_external_semaphore_capabilities extension commands
14770
0
        case 0x87e82fb8u:
14771
0
            if (!strcmp("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", name)) {
14772
0
                *addr = (ptr_instance->enabled_extensions.khr_external_semaphore_capabilities == 1)
14773
0
                             ? (void *)vkGetPhysicalDeviceExternalSemaphoreProperties
14774
0
                             : NULL;
14775
0
                return true;
14776
0
            }
14777
0
            break;
14778
14779
        // ---- VK_KHR_external_semaphore_win32 extension commands
14780
#if defined(VK_USE_PLATFORM_WIN32_KHR)
14781
        case 0x03b7a903u:
14782
            if (!strcmp("vkImportSemaphoreWin32HandleKHR", name)) {
14783
                *addr = (void *)ImportSemaphoreWin32HandleKHR;
14784
                return true;
14785
            }
14786
            break;
14787
#endif // VK_USE_PLATFORM_WIN32_KHR
14788
#if defined(VK_USE_PLATFORM_WIN32_KHR)
14789
        case 0x650df93cu:
14790
            if (!strcmp("vkGetSemaphoreWin32HandleKHR", name)) {
14791
                *addr = (void *)GetSemaphoreWin32HandleKHR;
14792
                return true;
14793
            }
14794
            break;
14795
#endif // VK_USE_PLATFORM_WIN32_KHR
14796
14797
        // ---- VK_KHR_external_semaphore_fd extension commands
14798
0
        case 0xc07a1bd8u:
14799
0
            if (!strcmp("vkImportSemaphoreFdKHR", name)) {
14800
0
                *addr = (void *)ImportSemaphoreFdKHR;
14801
0
                return true;
14802
0
            }
14803
0
            break;
14804
0
        case 0x119d3c25u:
14805
0
            if (!strcmp("vkGetSemaphoreFdKHR", name)) {
14806
0
                *addr = (void *)GetSemaphoreFdKHR;
14807
0
                return true;
14808
0
            }
14809
0
            break;
14810
14811
        // ---- VK_KHR_push_descriptor extension commands
14812
0
        case 0x3339de70u:
14813
0
            if (!strcmp("vkCmdPushDescriptorSetKHR", name)) {
14814
0
                *addr = (void *)CmdPushDescriptorSetKHR;
14815
0
                return true;
14816
0
            }
14817
0
            break;
14818
0
        case 0xe9d2872eu:
14819
0
            if (!strcmp("vkCmdPushDescriptorSetWithTemplateKHR", name)) {
14820
0
                *addr = (void *)CmdPushDescriptorSetWithTemplateKHR;
14821
0
                return true;
14822
0
            }
14823
0
            break;
14824
14825
        // ---- VK_KHR_descriptor_update_template extension commands
14826
0
        case 0xa4f4fd03u:
14827
0
            if (!strcmp("vkCreateDescriptorUpdateTemplateKHR", name)) {
14828
0
                *addr = (void *)CreateDescriptorUpdateTemplateKHR;
14829
0
                return true;
14830
0
            }
14831
0
            break;
14832
0
        case 0x18228c51u:
14833
0
            if (!strcmp("vkDestroyDescriptorUpdateTemplateKHR", name)) {
14834
0
                *addr = (void *)DestroyDescriptorUpdateTemplateKHR;
14835
0
                return true;
14836
0
            }
14837
0
            break;
14838
0
        case 0xdecdb927u:
14839
0
            if (!strcmp("vkUpdateDescriptorSetWithTemplateKHR", name)) {
14840
0
                *addr = (void *)UpdateDescriptorSetWithTemplateKHR;
14841
0
                return true;
14842
0
            }
14843
0
            break;
14844
14845
        // ---- VK_KHR_create_renderpass2 extension commands
14846
0
        case 0xc11e93aau:
14847
0
            if (!strcmp("vkCreateRenderPass2KHR", name)) {
14848
0
                *addr = (void *)CreateRenderPass2KHR;
14849
0
                return true;
14850
0
            }
14851
0
            break;
14852
0
        case 0x13c1d8dbu:
14853
0
            if (!strcmp("vkCmdBeginRenderPass2KHR", name)) {
14854
0
                *addr = (void *)CmdBeginRenderPass2KHR;
14855
0
                return true;
14856
0
            }
14857
0
            break;
14858
0
        case 0x4d9f6ddbu:
14859
0
            if (!strcmp("vkCmdNextSubpass2KHR", name)) {
14860
0
                *addr = (void *)CmdNextSubpass2KHR;
14861
0
                return true;
14862
0
            }
14863
0
            break;
14864
0
        case 0x77f38a73u:
14865
0
            if (!strcmp("vkCmdEndRenderPass2KHR", name)) {
14866
0
                *addr = (void *)CmdEndRenderPass2KHR;
14867
0
                return true;
14868
0
            }
14869
0
            break;
14870
14871
        // ---- VK_KHR_shared_presentable_image extension commands
14872
0
        case 0x5596f083u:
14873
0
            if (!strcmp("vkGetSwapchainStatusKHR", name)) {
14874
0
                *addr = (void *)GetSwapchainStatusKHR;
14875
0
                return true;
14876
0
            }
14877
0
            break;
14878
14879
        // ---- VK_KHR_external_fence_capabilities extension commands
14880
0
        case 0x0eb732b1u:
14881
0
            if (!strcmp("vkGetPhysicalDeviceExternalFencePropertiesKHR", name)) {
14882
0
                *addr = (ptr_instance->enabled_extensions.khr_external_fence_capabilities == 1)
14883
0
                             ? (void *)vkGetPhysicalDeviceExternalFenceProperties
14884
0
                             : NULL;
14885
0
                return true;
14886
0
            }
14887
0
            break;
14888
14889
        // ---- VK_KHR_external_fence_win32 extension commands
14890
#if defined(VK_USE_PLATFORM_WIN32_KHR)
14891
        case 0xf6d01c8cu:
14892
            if (!strcmp("vkImportFenceWin32HandleKHR", name)) {
14893
                *addr = (void *)ImportFenceWin32HandleKHR;
14894
                return true;
14895
            }
14896
            break;
14897
#endif // VK_USE_PLATFORM_WIN32_KHR
14898
#if defined(VK_USE_PLATFORM_WIN32_KHR)
14899
        case 0x3fb4717bu:
14900
            if (!strcmp("vkGetFenceWin32HandleKHR", name)) {
14901
                *addr = (void *)GetFenceWin32HandleKHR;
14902
                return true;
14903
            }
14904
            break;
14905
#endif // VK_USE_PLATFORM_WIN32_KHR
14906
14907
        // ---- VK_KHR_external_fence_fd extension commands
14908
0
        case 0xdc1dfab5u:
14909
0
            if (!strcmp("vkImportFenceFdKHR", name)) {
14910
0
                *addr = (void *)ImportFenceFdKHR;
14911
0
                return true;
14912
0
            }
14913
0
            break;
14914
0
        case 0xbfa75230u:
14915
0
            if (!strcmp("vkGetFenceFdKHR", name)) {
14916
0
                *addr = (void *)GetFenceFdKHR;
14917
0
                return true;
14918
0
            }
14919
0
            break;
14920
14921
        // ---- VK_KHR_performance_query extension commands
14922
0
        case 0x426d36bcu:
14923
0
            if (!strcmp("vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR", name)) {
14924
0
                *addr = (void *)EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
14925
0
                return true;
14926
0
            }
14927
0
            break;
14928
0
        case 0x479085d6u:
14929
0
            if (!strcmp("vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR", name)) {
14930
0
                *addr = (void *)GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
14931
0
                return true;
14932
0
            }
14933
0
            break;
14934
0
        case 0xbf49690eu:
14935
0
            if (!strcmp("vkAcquireProfilingLockKHR", name)) {
14936
0
                *addr = (void *)AcquireProfilingLockKHR;
14937
0
                return true;
14938
0
            }
14939
0
            break;
14940
0
        case 0xf4fdd0b7u:
14941
0
            if (!strcmp("vkReleaseProfilingLockKHR", name)) {
14942
0
                *addr = (void *)ReleaseProfilingLockKHR;
14943
0
                return true;
14944
0
            }
14945
0
            break;
14946
14947
        // ---- VK_KHR_get_memory_requirements2 extension commands
14948
0
        case 0xfc9ea975u:
14949
0
            if (!strcmp("vkGetImageMemoryRequirements2KHR", name)) {
14950
0
                *addr = (void *)GetImageMemoryRequirements2KHR;
14951
0
                return true;
14952
0
            }
14953
0
            break;
14954
0
        case 0x820dae3eu:
14955
0
            if (!strcmp("vkGetBufferMemoryRequirements2KHR", name)) {
14956
0
                *addr = (void *)GetBufferMemoryRequirements2KHR;
14957
0
                return true;
14958
0
            }
14959
0
            break;
14960
0
        case 0xab26e3f1u:
14961
0
            if (!strcmp("vkGetImageSparseMemoryRequirements2KHR", name)) {
14962
0
                *addr = (void *)GetImageSparseMemoryRequirements2KHR;
14963
0
                return true;
14964
0
            }
14965
0
            break;
14966
14967
        // ---- VK_KHR_sampler_ycbcr_conversion extension commands
14968
0
        case 0x6bc53830u:
14969
0
            if (!strcmp("vkCreateSamplerYcbcrConversionKHR", name)) {
14970
0
                *addr = (void *)CreateSamplerYcbcrConversionKHR;
14971
0
                return true;
14972
0
            }
14973
0
            break;
14974
0
        case 0xd8c4ae62u:
14975
0
            if (!strcmp("vkDestroySamplerYcbcrConversionKHR", name)) {
14976
0
                *addr = (void *)DestroySamplerYcbcrConversionKHR;
14977
0
                return true;
14978
0
            }
14979
0
            break;
14980
14981
        // ---- VK_KHR_bind_memory2 extension commands
14982
0
        case 0xd9ba5d21u:
14983
0
            if (!strcmp("vkBindBufferMemory2KHR", name)) {
14984
0
                *addr = (void *)BindBufferMemory2KHR;
14985
0
                return true;
14986
0
            }
14987
0
            break;
14988
0
        case 0x8ee1dbecu:
14989
0
            if (!strcmp("vkBindImageMemory2KHR", name)) {
14990
0
                *addr = (void *)BindImageMemory2KHR;
14991
0
                return true;
14992
0
            }
14993
0
            break;
14994
14995
        // ---- VK_KHR_maintenance3 extension commands
14996
0
        case 0x42ad0c11u:
14997
0
            if (!strcmp("vkGetDescriptorSetLayoutSupportKHR", name)) {
14998
0
                *addr = (void *)GetDescriptorSetLayoutSupportKHR;
14999
0
                return true;
15000
0
            }
15001
0
            break;
15002
15003
        // ---- VK_KHR_draw_indirect_count extension commands
15004
0
        case 0x6299459cu:
15005
0
            if (!strcmp("vkCmdDrawIndirectCountKHR", name)) {
15006
0
                *addr = (void *)CmdDrawIndirectCountKHR;
15007
0
                return true;
15008
0
            }
15009
0
            break;
15010
0
        case 0xb0b6f3cdu:
15011
0
            if (!strcmp("vkCmdDrawIndexedIndirectCountKHR", name)) {
15012
0
                *addr = (void *)CmdDrawIndexedIndirectCountKHR;
15013
0
                return true;
15014
0
            }
15015
0
            break;
15016
15017
        // ---- VK_KHR_timeline_semaphore extension commands
15018
0
        case 0x198479b0u:
15019
0
            if (!strcmp("vkGetSemaphoreCounterValueKHR", name)) {
15020
0
                *addr = (void *)GetSemaphoreCounterValueKHR;
15021
0
                return true;
15022
0
            }
15023
0
            break;
15024
0
        case 0x0b86bd93u:
15025
0
            if (!strcmp("vkWaitSemaphoresKHR", name)) {
15026
0
                *addr = (void *)WaitSemaphoresKHR;
15027
0
                return true;
15028
0
            }
15029
0
            break;
15030
0
        case 0x31b70fcbu:
15031
0
            if (!strcmp("vkSignalSemaphoreKHR", name)) {
15032
0
                *addr = (void *)SignalSemaphoreKHR;
15033
0
                return true;
15034
0
            }
15035
0
            break;
15036
15037
        // ---- VK_KHR_fragment_shading_rate extension commands
15038
0
        case 0x9e1664efu:
15039
0
            if (!strcmp("vkGetPhysicalDeviceFragmentShadingRatesKHR", name)) {
15040
0
                *addr = (void *)GetPhysicalDeviceFragmentShadingRatesKHR;
15041
0
                return true;
15042
0
            }
15043
0
            break;
15044
0
        case 0xe95260c9u:
15045
0
            if (!strcmp("vkCmdSetFragmentShadingRateKHR", name)) {
15046
0
                *addr = (void *)CmdSetFragmentShadingRateKHR;
15047
0
                return true;
15048
0
            }
15049
0
            break;
15050
15051
        // ---- VK_KHR_dynamic_rendering_local_read extension commands
15052
0
        case 0xd09e8cd4u:
15053
0
            if (!strcmp("vkCmdSetRenderingAttachmentLocationsKHR", name)) {
15054
0
                *addr = (void *)CmdSetRenderingAttachmentLocationsKHR;
15055
0
                return true;
15056
0
            }
15057
0
            break;
15058
0
        case 0x320a55cfu:
15059
0
            if (!strcmp("vkCmdSetRenderingInputAttachmentIndicesKHR", name)) {
15060
0
                *addr = (void *)CmdSetRenderingInputAttachmentIndicesKHR;
15061
0
                return true;
15062
0
            }
15063
0
            break;
15064
15065
        // ---- VK_KHR_present_wait extension commands
15066
0
        case 0x3c1884f0u:
15067
0
            if (!strcmp("vkWaitForPresentKHR", name)) {
15068
0
                *addr = (void *)WaitForPresentKHR;
15069
0
                return true;
15070
0
            }
15071
0
            break;
15072
15073
        // ---- VK_KHR_buffer_device_address extension commands
15074
0
        case 0x68d0b905u:
15075
0
            if (!strcmp("vkGetBufferDeviceAddressKHR", name)) {
15076
0
                *addr = (void *)GetBufferDeviceAddressKHR;
15077
0
                return true;
15078
0
            }
15079
0
            break;
15080
0
        case 0x00727514u:
15081
0
            if (!strcmp("vkGetBufferOpaqueCaptureAddressKHR", name)) {
15082
0
                *addr = (void *)GetBufferOpaqueCaptureAddressKHR;
15083
0
                return true;
15084
0
            }
15085
0
            break;
15086
0
        case 0x876c582du:
15087
0
            if (!strcmp("vkGetDeviceMemoryOpaqueCaptureAddressKHR", name)) {
15088
0
                *addr = (void *)GetDeviceMemoryOpaqueCaptureAddressKHR;
15089
0
                return true;
15090
0
            }
15091
0
            break;
15092
15093
        // ---- VK_KHR_deferred_host_operations extension commands
15094
0
        case 0xd11de4c1u:
15095
0
            if (!strcmp("vkCreateDeferredOperationKHR", name)) {
15096
0
                *addr = (void *)CreateDeferredOperationKHR;
15097
0
                return true;
15098
0
            }
15099
0
            break;
15100
0
        case 0x44492b6bu:
15101
0
            if (!strcmp("vkDestroyDeferredOperationKHR", name)) {
15102
0
                *addr = (void *)DestroyDeferredOperationKHR;
15103
0
                return true;
15104
0
            }
15105
0
            break;
15106
0
        case 0x95756ffeu:
15107
0
            if (!strcmp("vkGetDeferredOperationMaxConcurrencyKHR", name)) {
15108
0
                *addr = (void *)GetDeferredOperationMaxConcurrencyKHR;
15109
0
                return true;
15110
0
            }
15111
0
            break;
15112
0
        case 0xeaac343eu:
15113
0
            if (!strcmp("vkGetDeferredOperationResultKHR", name)) {
15114
0
                *addr = (void *)GetDeferredOperationResultKHR;
15115
0
                return true;
15116
0
            }
15117
0
            break;
15118
0
        case 0xa7aaddb1u:
15119
0
            if (!strcmp("vkDeferredOperationJoinKHR", name)) {
15120
0
                *addr = (void *)DeferredOperationJoinKHR;
15121
0
                return true;
15122
0
            }
15123
0
            break;
15124
15125
        // ---- VK_KHR_pipeline_executable_properties extension commands
15126
0
        case 0xffdef8d8u:
15127
0
            if (!strcmp("vkGetPipelineExecutablePropertiesKHR", name)) {
15128
0
                *addr = (void *)GetPipelineExecutablePropertiesKHR;
15129
0
                return true;
15130
0
            }
15131
0
            break;
15132
0
        case 0x3e749262u:
15133
0
            if (!strcmp("vkGetPipelineExecutableStatisticsKHR", name)) {
15134
0
                *addr = (void *)GetPipelineExecutableStatisticsKHR;
15135
0
                return true;
15136
0
            }
15137
0
            break;
15138
0
        case 0xb1c36b30u:
15139
0
            if (!strcmp("vkGetPipelineExecutableInternalRepresentationsKHR", name)) {
15140
0
                *addr = (void *)GetPipelineExecutableInternalRepresentationsKHR;
15141
0
                return true;
15142
0
            }
15143
0
            break;
15144
15145
        // ---- VK_KHR_map_memory2 extension commands
15146
0
        case 0xeb122386u:
15147
0
            if (!strcmp("vkMapMemory2KHR", name)) {
15148
0
                *addr = (void *)MapMemory2KHR;
15149
0
                return true;
15150
0
            }
15151
0
            break;
15152
0
        case 0x69ace323u:
15153
0
            if (!strcmp("vkUnmapMemory2KHR", name)) {
15154
0
                *addr = (void *)UnmapMemory2KHR;
15155
0
                return true;
15156
0
            }
15157
0
            break;
15158
15159
        // ---- VK_KHR_video_encode_queue extension commands
15160
0
        case 0x3eb5f251u:
15161
0
            if (!strcmp("vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR", name)) {
15162
0
                *addr = (void *)GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR;
15163
0
                return true;
15164
0
            }
15165
0
            break;
15166
0
        case 0xc71a28a4u:
15167
0
            if (!strcmp("vkGetEncodedVideoSessionParametersKHR", name)) {
15168
0
                *addr = (void *)GetEncodedVideoSessionParametersKHR;
15169
0
                return true;
15170
0
            }
15171
0
            break;
15172
0
        case 0xce295edau:
15173
0
            if (!strcmp("vkCmdEncodeVideoKHR", name)) {
15174
0
                *addr = (void *)CmdEncodeVideoKHR;
15175
0
                return true;
15176
0
            }
15177
0
            break;
15178
15179
        // ---- VK_KHR_synchronization2 extension commands
15180
0
        case 0x92a07673u:
15181
0
            if (!strcmp("vkCmdSetEvent2KHR", name)) {
15182
0
                *addr = (void *)CmdSetEvent2KHR;
15183
0
                return true;
15184
0
            }
15185
0
            break;
15186
0
        case 0xa1fb0bf6u:
15187
0
            if (!strcmp("vkCmdResetEvent2KHR", name)) {
15188
0
                *addr = (void *)CmdResetEvent2KHR;
15189
0
                return true;
15190
0
            }
15191
0
            break;
15192
0
        case 0x8f02f937u:
15193
0
            if (!strcmp("vkCmdWaitEvents2KHR", name)) {
15194
0
                *addr = (void *)CmdWaitEvents2KHR;
15195
0
                return true;
15196
0
            }
15197
0
            break;
15198
0
        case 0x76af21b6u:
15199
0
            if (!strcmp("vkCmdPipelineBarrier2KHR", name)) {
15200
0
                *addr = (void *)CmdPipelineBarrier2KHR;
15201
0
                return true;
15202
0
            }
15203
0
            break;
15204
0
        case 0xb4125402u:
15205
0
            if (!strcmp("vkCmdWriteTimestamp2KHR", name)) {
15206
0
                *addr = (void *)CmdWriteTimestamp2KHR;
15207
0
                return true;
15208
0
            }
15209
0
            break;
15210
0
        case 0x60afde40u:
15211
0
            if (!strcmp("vkQueueSubmit2KHR", name)) {
15212
0
                *addr = (void *)QueueSubmit2KHR;
15213
0
                return true;
15214
0
            }
15215
0
            break;
15216
15217
        // ---- VK_KHR_device_address_commands extension commands
15218
0
        case 0xa1f9614du:
15219
0
            if (!strcmp("vkCmdBindIndexBuffer3KHR", name)) {
15220
0
                *addr = (void *)CmdBindIndexBuffer3KHR;
15221
0
                return true;
15222
0
            }
15223
0
            break;
15224
0
        case 0xbd9c3a3eu:
15225
0
            if (!strcmp("vkCmdBindVertexBuffers3KHR", name)) {
15226
0
                *addr = (void *)CmdBindVertexBuffers3KHR;
15227
0
                return true;
15228
0
            }
15229
0
            break;
15230
0
        case 0x8cd787dfu:
15231
0
            if (!strcmp("vkCmdDrawIndirect2KHR", name)) {
15232
0
                *addr = (void *)CmdDrawIndirect2KHR;
15233
0
                return true;
15234
0
            }
15235
0
            break;
15236
0
        case 0x64332152u:
15237
0
            if (!strcmp("vkCmdDrawIndexedIndirect2KHR", name)) {
15238
0
                *addr = (void *)CmdDrawIndexedIndirect2KHR;
15239
0
                return true;
15240
0
            }
15241
0
            break;
15242
0
        case 0x092e217fu:
15243
0
            if (!strcmp("vkCmdDispatchIndirect2KHR", name)) {
15244
0
                *addr = (void *)CmdDispatchIndirect2KHR;
15245
0
                return true;
15246
0
            }
15247
0
            break;
15248
0
        case 0x73ba7ee7u:
15249
0
            if (!strcmp("vkCmdCopyMemoryKHR", name)) {
15250
0
                *addr = (void *)CmdCopyMemoryKHR;
15251
0
                return true;
15252
0
            }
15253
0
            break;
15254
0
        case 0x90f0fa81u:
15255
0
            if (!strcmp("vkCmdCopyMemoryToImageKHR", name)) {
15256
0
                *addr = (void *)CmdCopyMemoryToImageKHR;
15257
0
                return true;
15258
0
            }
15259
0
            break;
15260
0
        case 0x10b7a061u:
15261
0
            if (!strcmp("vkCmdCopyImageToMemoryKHR", name)) {
15262
0
                *addr = (void *)CmdCopyImageToMemoryKHR;
15263
0
                return true;
15264
0
            }
15265
0
            break;
15266
0
        case 0xe8021733u:
15267
0
            if (!strcmp("vkCmdUpdateMemoryKHR", name)) {
15268
0
                *addr = (void *)CmdUpdateMemoryKHR;
15269
0
                return true;
15270
0
            }
15271
0
            break;
15272
0
        case 0x28b40f37u:
15273
0
            if (!strcmp("vkCmdFillMemoryKHR", name)) {
15274
0
                *addr = (void *)CmdFillMemoryKHR;
15275
0
                return true;
15276
0
            }
15277
0
            break;
15278
0
        case 0x165313dcu:
15279
0
            if (!strcmp("vkCmdCopyQueryPoolResultsToMemoryKHR", name)) {
15280
0
                *addr = (void *)CmdCopyQueryPoolResultsToMemoryKHR;
15281
0
                return true;
15282
0
            }
15283
0
            break;
15284
0
        case 0x2887066cu:
15285
0
            if (!strcmp("vkCmdDrawIndirectCount2KHR", name)) {
15286
0
                *addr = (void *)CmdDrawIndirectCount2KHR;
15287
0
                return true;
15288
0
            }
15289
0
            break;
15290
0
        case 0x4749a4afu:
15291
0
            if (!strcmp("vkCmdDrawIndexedIndirectCount2KHR", name)) {
15292
0
                *addr = (void *)CmdDrawIndexedIndirectCount2KHR;
15293
0
                return true;
15294
0
            }
15295
0
            break;
15296
0
        case 0x46c592c2u:
15297
0
            if (!strcmp("vkCmdBeginConditionalRendering2EXT", name)) {
15298
0
                *addr = (void *)CmdBeginConditionalRendering2EXT;
15299
0
                return true;
15300
0
            }
15301
0
            break;
15302
0
        case 0xe8529c96u:
15303
0
            if (!strcmp("vkCmdBindTransformFeedbackBuffers2EXT", name)) {
15304
0
                *addr = (void *)CmdBindTransformFeedbackBuffers2EXT;
15305
0
                return true;
15306
0
            }
15307
0
            break;
15308
0
        case 0xcc1b550bu:
15309
0
            if (!strcmp("vkCmdBeginTransformFeedback2EXT", name)) {
15310
0
                *addr = (void *)CmdBeginTransformFeedback2EXT;
15311
0
                return true;
15312
0
            }
15313
0
            break;
15314
0
        case 0xe5fc3313u:
15315
0
            if (!strcmp("vkCmdEndTransformFeedback2EXT", name)) {
15316
0
                *addr = (void *)CmdEndTransformFeedback2EXT;
15317
0
                return true;
15318
0
            }
15319
0
            break;
15320
0
        case 0x9eb747feu:
15321
0
            if (!strcmp("vkCmdDrawIndirectByteCount2EXT", name)) {
15322
0
                *addr = (void *)CmdDrawIndirectByteCount2EXT;
15323
0
                return true;
15324
0
            }
15325
0
            break;
15326
0
        case 0x501aa80au:
15327
0
            if (!strcmp("vkCmdDrawMeshTasksIndirect2EXT", name)) {
15328
0
                *addr = (void *)CmdDrawMeshTasksIndirect2EXT;
15329
0
                return true;
15330
0
            }
15331
0
            break;
15332
0
        case 0xf11fb6c7u:
15333
0
            if (!strcmp("vkCmdDrawMeshTasksIndirectCount2EXT", name)) {
15334
0
                *addr = (void *)CmdDrawMeshTasksIndirectCount2EXT;
15335
0
                return true;
15336
0
            }
15337
0
            break;
15338
0
        case 0xd91f33a1u:
15339
0
            if (!strcmp("vkCmdWriteMarkerToMemoryAMD", name)) {
15340
0
                *addr = (void *)CmdWriteMarkerToMemoryAMD;
15341
0
                return true;
15342
0
            }
15343
0
            break;
15344
0
        case 0xac2bd68eu:
15345
0
            if (!strcmp("vkCreateAccelerationStructure2KHR", name)) {
15346
0
                *addr = (void *)CreateAccelerationStructure2KHR;
15347
0
                return true;
15348
0
            }
15349
0
            break;
15350
15351
        // ---- VK_KHR_copy_commands2 extension commands
15352
0
        case 0xa0c8b948u:
15353
0
            if (!strcmp("vkCmdCopyBuffer2KHR", name)) {
15354
0
                *addr = (void *)CmdCopyBuffer2KHR;
15355
0
                return true;
15356
0
            }
15357
0
            break;
15358
0
        case 0x589da3cdu:
15359
0
            if (!strcmp("vkCmdCopyImage2KHR", name)) {
15360
0
                *addr = (void *)CmdCopyImage2KHR;
15361
0
                return true;
15362
0
            }
15363
0
            break;
15364
0
        case 0x866f8fe4u:
15365
0
            if (!strcmp("vkCmdCopyBufferToImage2KHR", name)) {
15366
0
                *addr = (void *)CmdCopyBufferToImage2KHR;
15367
0
                return true;
15368
0
            }
15369
0
            break;
15370
0
        case 0x03ac3d82u:
15371
0
            if (!strcmp("vkCmdCopyImageToBuffer2KHR", name)) {
15372
0
                *addr = (void *)CmdCopyImageToBuffer2KHR;
15373
0
                return true;
15374
0
            }
15375
0
            break;
15376
0
        case 0x9c4f6ffbu:
15377
0
            if (!strcmp("vkCmdBlitImage2KHR", name)) {
15378
0
                *addr = (void *)CmdBlitImage2KHR;
15379
0
                return true;
15380
0
            }
15381
0
            break;
15382
0
        case 0xefa437aeu:
15383
0
            if (!strcmp("vkCmdResolveImage2KHR", name)) {
15384
0
                *addr = (void *)CmdResolveImage2KHR;
15385
0
                return true;
15386
0
            }
15387
0
            break;
15388
15389
        // ---- VK_KHR_ray_tracing_maintenance1 extension commands
15390
0
        case 0x6f48f771u:
15391
0
            if (!strcmp("vkCmdTraceRaysIndirect2KHR", name)) {
15392
0
                *addr = (void *)CmdTraceRaysIndirect2KHR;
15393
0
                return true;
15394
0
            }
15395
0
            break;
15396
15397
        // ---- VK_KHR_maintenance4 extension commands
15398
0
        case 0xd3fc2644u:
15399
0
            if (!strcmp("vkGetDeviceBufferMemoryRequirementsKHR", name)) {
15400
0
                *addr = (void *)GetDeviceBufferMemoryRequirementsKHR;
15401
0
                return true;
15402
0
            }
15403
0
            break;
15404
0
        case 0x4fe780f9u:
15405
0
            if (!strcmp("vkGetDeviceImageMemoryRequirementsKHR", name)) {
15406
0
                *addr = (void *)GetDeviceImageMemoryRequirementsKHR;
15407
0
                return true;
15408
0
            }
15409
0
            break;
15410
0
        case 0x2f12a841u:
15411
0
            if (!strcmp("vkGetDeviceImageSparseMemoryRequirementsKHR", name)) {
15412
0
                *addr = (void *)GetDeviceImageSparseMemoryRequirementsKHR;
15413
0
                return true;
15414
0
            }
15415
0
            break;
15416
15417
        // ---- VK_KHR_maintenance5 extension commands
15418
0
        case 0x5ec4ce18u:
15419
0
            if (!strcmp("vkCmdBindIndexBuffer2KHR", name)) {
15420
0
                *addr = (void *)CmdBindIndexBuffer2KHR;
15421
0
                return true;
15422
0
            }
15423
0
            break;
15424
0
        case 0x3923dda4u:
15425
0
            if (!strcmp("vkGetRenderingAreaGranularityKHR", name)) {
15426
0
                *addr = (void *)GetRenderingAreaGranularityKHR;
15427
0
                return true;
15428
0
            }
15429
0
            break;
15430
0
        case 0x326cc29eu:
15431
0
            if (!strcmp("vkGetDeviceImageSubresourceLayoutKHR", name)) {
15432
0
                *addr = (void *)GetDeviceImageSubresourceLayoutKHR;
15433
0
                return true;
15434
0
            }
15435
0
            break;
15436
0
        case 0x885710e4u:
15437
0
            if (!strcmp("vkGetImageSubresourceLayout2KHR", name)) {
15438
0
                *addr = (void *)GetImageSubresourceLayout2KHR;
15439
0
                return true;
15440
0
            }
15441
0
            break;
15442
15443
        // ---- VK_KHR_present_wait2 extension commands
15444
0
        case 0xff77eae8u:
15445
0
            if (!strcmp("vkWaitForPresent2KHR", name)) {
15446
0
                *addr = (void *)WaitForPresent2KHR;
15447
0
                return true;
15448
0
            }
15449
0
            break;
15450
15451
        // ---- VK_KHR_pipeline_binary extension commands
15452
0
        case 0x382c4a9cu:
15453
0
            if (!strcmp("vkCreatePipelineBinariesKHR", name)) {
15454
0
                *addr = (void *)CreatePipelineBinariesKHR;
15455
0
                return true;
15456
0
            }
15457
0
            break;
15458
0
        case 0xd70e4d1au:
15459
0
            if (!strcmp("vkDestroyPipelineBinaryKHR", name)) {
15460
0
                *addr = (void *)DestroyPipelineBinaryKHR;
15461
0
                return true;
15462
0
            }
15463
0
            break;
15464
0
        case 0x675e256eu:
15465
0
            if (!strcmp("vkGetPipelineKeyKHR", name)) {
15466
0
                *addr = (void *)GetPipelineKeyKHR;
15467
0
                return true;
15468
0
            }
15469
0
            break;
15470
0
        case 0xccc48a58u:
15471
0
            if (!strcmp("vkGetPipelineBinaryDataKHR", name)) {
15472
0
                *addr = (void *)GetPipelineBinaryDataKHR;
15473
0
                return true;
15474
0
            }
15475
0
            break;
15476
0
        case 0x89d1145au:
15477
0
            if (!strcmp("vkReleaseCapturedPipelineDataKHR", name)) {
15478
0
                *addr = (void *)ReleaseCapturedPipelineDataKHR;
15479
0
                return true;
15480
0
            }
15481
0
            break;
15482
15483
        // ---- VK_KHR_swapchain_maintenance1 extension commands
15484
0
        case 0xaf6ecc7au:
15485
0
            if (!strcmp("vkReleaseSwapchainImagesKHR", name)) {
15486
0
                *addr = (void *)ReleaseSwapchainImagesKHR;
15487
0
                return true;
15488
0
            }
15489
0
            break;
15490
15491
        // ---- VK_KHR_cooperative_matrix extension commands
15492
0
        case 0xd4e169e3u:
15493
0
            if (!strcmp("vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR", name)) {
15494
0
                *addr = (void *)GetPhysicalDeviceCooperativeMatrixPropertiesKHR;
15495
0
                return true;
15496
0
            }
15497
0
            break;
15498
15499
        // ---- VK_KHR_line_rasterization extension commands
15500
0
        case 0x4819f988u:
15501
0
            if (!strcmp("vkCmdSetLineStippleKHR", name)) {
15502
0
                *addr = (void *)CmdSetLineStippleKHR;
15503
0
                return true;
15504
0
            }
15505
0
            break;
15506
15507
        // ---- VK_KHR_calibrated_timestamps extension commands
15508
0
        case 0xda63f0cbu:
15509
0
            if (!strcmp("vkGetPhysicalDeviceCalibrateableTimeDomainsKHR", name)) {
15510
0
                *addr = (void *)GetPhysicalDeviceCalibrateableTimeDomainsKHR;
15511
0
                return true;
15512
0
            }
15513
0
            break;
15514
0
        case 0x4a8edbdfu:
15515
0
            if (!strcmp("vkGetCalibratedTimestampsKHR", name)) {
15516
0
                *addr = (void *)GetCalibratedTimestampsKHR;
15517
0
                return true;
15518
0
            }
15519
0
            break;
15520
15521
        // ---- VK_KHR_maintenance6 extension commands
15522
0
        case 0xfabb4c90u:
15523
0
            if (!strcmp("vkCmdBindDescriptorSets2KHR", name)) {
15524
0
                *addr = (void *)CmdBindDescriptorSets2KHR;
15525
0
                return true;
15526
0
            }
15527
0
            break;
15528
0
        case 0x059e6dc2u:
15529
0
            if (!strcmp("vkCmdPushConstants2KHR", name)) {
15530
0
                *addr = (void *)CmdPushConstants2KHR;
15531
0
                return true;
15532
0
            }
15533
0
            break;
15534
0
        case 0x88f7cf68u:
15535
0
            if (!strcmp("vkCmdPushDescriptorSet2KHR", name)) {
15536
0
                *addr = (void *)CmdPushDescriptorSet2KHR;
15537
0
                return true;
15538
0
            }
15539
0
            break;
15540
0
        case 0x2eed8a9eu:
15541
0
            if (!strcmp("vkCmdPushDescriptorSetWithTemplate2KHR", name)) {
15542
0
                *addr = (void *)CmdPushDescriptorSetWithTemplate2KHR;
15543
0
                return true;
15544
0
            }
15545
0
            break;
15546
0
        case 0x04fc7abau:
15547
0
            if (!strcmp("vkCmdSetDescriptorBufferOffsets2EXT", name)) {
15548
0
                *addr = (void *)CmdSetDescriptorBufferOffsets2EXT;
15549
0
                return true;
15550
0
            }
15551
0
            break;
15552
0
        case 0x626a0368u:
15553
0
            if (!strcmp("vkCmdBindDescriptorBufferEmbeddedSamplers2EXT", name)) {
15554
0
                *addr = (void *)CmdBindDescriptorBufferEmbeddedSamplers2EXT;
15555
0
                return true;
15556
0
            }
15557
0
            break;
15558
15559
        // ---- VK_KHR_copy_memory_indirect extension commands
15560
0
        case 0xc9b0f639u:
15561
0
            if (!strcmp("vkCmdCopyMemoryIndirectKHR", name)) {
15562
0
                *addr = (void *)CmdCopyMemoryIndirectKHR;
15563
0
                return true;
15564
0
            }
15565
0
            break;
15566
0
        case 0xdf5508a7u:
15567
0
            if (!strcmp("vkCmdCopyMemoryToImageIndirectKHR", name)) {
15568
0
                *addr = (void *)CmdCopyMemoryToImageIndirectKHR;
15569
0
                return true;
15570
0
            }
15571
0
            break;
15572
15573
        // ---- VK_KHR_device_fault extension commands
15574
0
        case 0xed0bdb5eu:
15575
0
            if (!strcmp("vkGetDeviceFaultReportsKHR", name)) {
15576
0
                *addr = (void *)GetDeviceFaultReportsKHR;
15577
0
                return true;
15578
0
            }
15579
0
            break;
15580
0
        case 0xf4ed1e26u:
15581
0
            if (!strcmp("vkGetDeviceFaultDebugInfoKHR", name)) {
15582
0
                *addr = (void *)GetDeviceFaultDebugInfoKHR;
15583
0
                return true;
15584
0
            }
15585
0
            break;
15586
15587
        // ---- VK_KHR_maintenance10 extension commands
15588
0
        case 0xa8171ea8u:
15589
0
            if (!strcmp("vkCmdEndRendering2KHR", name)) {
15590
0
                *addr = (void *)CmdEndRendering2KHR;
15591
0
                return true;
15592
0
            }
15593
0
            break;
15594
15595
        // ---- VK_EXT_debug_marker extension commands
15596
0
        case 0x5a37c8bdu:
15597
0
            if (!strcmp("vkDebugMarkerSetObjectTagEXT", name)) {
15598
0
                *addr = (void *)DebugMarkerSetObjectTagEXT;
15599
0
                return true;
15600
0
            }
15601
0
            break;
15602
0
        case 0xecefbfccu:
15603
0
            if (!strcmp("vkDebugMarkerSetObjectNameEXT", name)) {
15604
0
                *addr = (void *)DebugMarkerSetObjectNameEXT;
15605
0
                return true;
15606
0
            }
15607
0
            break;
15608
0
        case 0xafc387cfu:
15609
0
            if (!strcmp("vkCmdDebugMarkerBeginEXT", name)) {
15610
0
                *addr = (void *)CmdDebugMarkerBeginEXT;
15611
0
                return true;
15612
0
            }
15613
0
            break;
15614
0
        case 0x362846c3u:
15615
0
            if (!strcmp("vkCmdDebugMarkerEndEXT", name)) {
15616
0
                *addr = (void *)CmdDebugMarkerEndEXT;
15617
0
                return true;
15618
0
            }
15619
0
            break;
15620
0
        case 0x8cb31949u:
15621
0
            if (!strcmp("vkCmdDebugMarkerInsertEXT", name)) {
15622
0
                *addr = (void *)CmdDebugMarkerInsertEXT;
15623
0
                return true;
15624
0
            }
15625
0
            break;
15626
15627
        // ---- VK_EXT_transform_feedback extension commands
15628
0
        case 0xc5148846u:
15629
0
            if (!strcmp("vkCmdBindTransformFeedbackBuffersEXT", name)) {
15630
0
                *addr = (void *)CmdBindTransformFeedbackBuffersEXT;
15631
0
                return true;
15632
0
            }
15633
0
            break;
15634
0
        case 0xf8339c31u:
15635
0
            if (!strcmp("vkCmdBeginTransformFeedbackEXT", name)) {
15636
0
                *addr = (void *)CmdBeginTransformFeedbackEXT;
15637
0
                return true;
15638
0
            }
15639
0
            break;
15640
0
        case 0x026d39e9u:
15641
0
            if (!strcmp("vkCmdEndTransformFeedbackEXT", name)) {
15642
0
                *addr = (void *)CmdEndTransformFeedbackEXT;
15643
0
                return true;
15644
0
            }
15645
0
            break;
15646
0
        case 0x58a08dcdu:
15647
0
            if (!strcmp("vkCmdBeginQueryIndexedEXT", name)) {
15648
0
                *addr = (void *)CmdBeginQueryIndexedEXT;
15649
0
                return true;
15650
0
            }
15651
0
            break;
15652
0
        case 0xeb029c35u:
15653
0
            if (!strcmp("vkCmdEndQueryIndexedEXT", name)) {
15654
0
                *addr = (void *)CmdEndQueryIndexedEXT;
15655
0
                return true;
15656
0
            }
15657
0
            break;
15658
0
        case 0x729b759eu:
15659
0
            if (!strcmp("vkCmdDrawIndirectByteCountEXT", name)) {
15660
0
                *addr = (void *)CmdDrawIndirectByteCountEXT;
15661
0
                return true;
15662
0
            }
15663
0
            break;
15664
15665
        // ---- VK_NVX_binary_import extension commands
15666
0
        case 0xaacb8e6eu:
15667
0
            if (!strcmp("vkCreateCuModuleNVX", name)) {
15668
0
                *addr = (void *)CreateCuModuleNVX;
15669
0
                return true;
15670
0
            }
15671
0
            break;
15672
0
        case 0x77d9e0f6u:
15673
0
            if (!strcmp("vkCreateCuFunctionNVX", name)) {
15674
0
                *addr = (void *)CreateCuFunctionNVX;
15675
0
                return true;
15676
0
            }
15677
0
            break;
15678
0
        case 0x830c2290u:
15679
0
            if (!strcmp("vkDestroyCuModuleNVX", name)) {
15680
0
                *addr = (void *)DestroyCuModuleNVX;
15681
0
                return true;
15682
0
            }
15683
0
            break;
15684
0
        case 0x24a4e0c0u:
15685
0
            if (!strcmp("vkDestroyCuFunctionNVX", name)) {
15686
0
                *addr = (void *)DestroyCuFunctionNVX;
15687
0
                return true;
15688
0
            }
15689
0
            break;
15690
0
        case 0x1ce778a8u:
15691
0
            if (!strcmp("vkCmdCuLaunchKernelNVX", name)) {
15692
0
                *addr = (void *)CmdCuLaunchKernelNVX;
15693
0
                return true;
15694
0
            }
15695
0
            break;
15696
15697
        // ---- VK_NVX_image_view_handle extension commands
15698
0
        case 0xe19409e8u:
15699
0
            if (!strcmp("vkGetImageViewHandleNVX", name)) {
15700
0
                *addr = (void *)GetImageViewHandleNVX;
15701
0
                return true;
15702
0
            }
15703
0
            break;
15704
0
        case 0x389e19deu:
15705
0
            if (!strcmp("vkGetImageViewHandle64NVX", name)) {
15706
0
                *addr = (void *)GetImageViewHandle64NVX;
15707
0
                return true;
15708
0
            }
15709
0
            break;
15710
0
        case 0x66e84002u:
15711
0
            if (!strcmp("vkGetImageViewAddressNVX", name)) {
15712
0
                *addr = (void *)GetImageViewAddressNVX;
15713
0
                return true;
15714
0
            }
15715
0
            break;
15716
0
        case 0xb9ebf630u:
15717
0
            if (!strcmp("vkGetDeviceCombinedImageSamplerIndexNVX", name)) {
15718
0
                *addr = (void *)GetDeviceCombinedImageSamplerIndexNVX;
15719
0
                return true;
15720
0
            }
15721
0
            break;
15722
15723
        // ---- VK_AMD_draw_indirect_count extension commands
15724
0
        case 0xf2cb30b5u:
15725
0
            if (!strcmp("vkCmdDrawIndirectCountAMD", name)) {
15726
0
                *addr = (void *)CmdDrawIndirectCountAMD;
15727
0
                return true;
15728
0
            }
15729
0
            break;
15730
0
        case 0x6b4245f4u:
15731
0
            if (!strcmp("vkCmdDrawIndexedIndirectCountAMD", name)) {
15732
0
                *addr = (void *)CmdDrawIndexedIndirectCountAMD;
15733
0
                return true;
15734
0
            }
15735
0
            break;
15736
15737
        // ---- VK_AMD_shader_info extension commands
15738
0
        case 0xd29bd973u:
15739
0
            if (!strcmp("vkGetShaderInfoAMD", name)) {
15740
0
                *addr = (void *)GetShaderInfoAMD;
15741
0
                return true;
15742
0
            }
15743
0
            break;
15744
15745
        // ---- VK_NV_external_memory_capabilities extension commands
15746
0
        case 0x7e02661du:
15747
0
            if (!strcmp("vkGetPhysicalDeviceExternalImageFormatPropertiesNV", name)) {
15748
0
                *addr = (ptr_instance->enabled_extensions.nv_external_memory_capabilities == 1)
15749
0
                             ? (void *)GetPhysicalDeviceExternalImageFormatPropertiesNV
15750
0
                             : NULL;
15751
0
                return true;
15752
0
            }
15753
0
            break;
15754
15755
        // ---- VK_NV_external_memory_win32 extension commands
15756
#if defined(VK_USE_PLATFORM_WIN32_KHR)
15757
        case 0x73543d06u:
15758
            if (!strcmp("vkGetMemoryWin32HandleNV", name)) {
15759
                *addr = (void *)GetMemoryWin32HandleNV;
15760
                return true;
15761
            }
15762
            break;
15763
#endif // VK_USE_PLATFORM_WIN32_KHR
15764
15765
        // ---- VK_EXT_conditional_rendering extension commands
15766
0
        case 0xa200aefau:
15767
0
            if (!strcmp("vkCmdBeginConditionalRenderingEXT", name)) {
15768
0
                *addr = (void *)CmdBeginConditionalRenderingEXT;
15769
0
                return true;
15770
0
            }
15771
0
            break;
15772
0
        case 0x9ff6ef02u:
15773
0
            if (!strcmp("vkCmdEndConditionalRenderingEXT", name)) {
15774
0
                *addr = (void *)CmdEndConditionalRenderingEXT;
15775
0
                return true;
15776
0
            }
15777
0
            break;
15778
15779
        // ---- VK_NV_clip_space_w_scaling extension commands
15780
0
        case 0xc316e89eu:
15781
0
            if (!strcmp("vkCmdSetViewportWScalingNV", name)) {
15782
0
                *addr = (void *)CmdSetViewportWScalingNV;
15783
0
                return true;
15784
0
            }
15785
0
            break;
15786
15787
        // ---- VK_EXT_direct_mode_display extension commands
15788
0
        case 0x8a28db5au:
15789
0
            if (!strcmp("vkReleaseDisplayEXT", name)) {
15790
0
                *addr = (ptr_instance->enabled_extensions.ext_direct_mode_display == 1)
15791
0
                             ? (void *)ReleaseDisplayEXT
15792
0
                             : NULL;
15793
0
                return true;
15794
0
            }
15795
0
            break;
15796
15797
        // ---- VK_EXT_acquire_xlib_display extension commands
15798
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
15799
0
        case 0x380de190u:
15800
0
            if (!strcmp("vkAcquireXlibDisplayEXT", name)) {
15801
0
                *addr = (ptr_instance->enabled_extensions.ext_acquire_xlib_display == 1)
15802
0
                             ? (void *)AcquireXlibDisplayEXT
15803
0
                             : NULL;
15804
0
                return true;
15805
0
            }
15806
0
            break;
15807
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
15808
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
15809
0
        case 0xe72424d5u:
15810
0
            if (!strcmp("vkGetRandROutputDisplayEXT", name)) {
15811
0
                *addr = (ptr_instance->enabled_extensions.ext_acquire_xlib_display == 1)
15812
0
                             ? (void *)GetRandROutputDisplayEXT
15813
0
                             : NULL;
15814
0
                return true;
15815
0
            }
15816
0
            break;
15817
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
15818
15819
        // ---- VK_EXT_display_surface_counter extension commands
15820
0
        case 0xb811cc3bu:
15821
0
            if (!strcmp("vkGetPhysicalDeviceSurfaceCapabilities2EXT", name)) {
15822
0
                *addr = (ptr_instance->enabled_extensions.ext_display_surface_counter == 1)
15823
0
                             ? (void *)GetPhysicalDeviceSurfaceCapabilities2EXT
15824
0
                             : NULL;
15825
0
                return true;
15826
0
            }
15827
0
            break;
15828
15829
        // ---- VK_EXT_display_control extension commands
15830
0
        case 0xf97f8b25u:
15831
0
            if (!strcmp("vkDisplayPowerControlEXT", name)) {
15832
0
                *addr = (void *)DisplayPowerControlEXT;
15833
0
                return true;
15834
0
            }
15835
0
            break;
15836
0
        case 0x2effdcc2u:
15837
0
            if (!strcmp("vkRegisterDeviceEventEXT", name)) {
15838
0
                *addr = (void *)RegisterDeviceEventEXT;
15839
0
                return true;
15840
0
            }
15841
0
            break;
15842
0
        case 0xadc421e4u:
15843
0
            if (!strcmp("vkRegisterDisplayEventEXT", name)) {
15844
0
                *addr = (void *)RegisterDisplayEventEXT;
15845
0
                return true;
15846
0
            }
15847
0
            break;
15848
0
        case 0x302569e5u:
15849
0
            if (!strcmp("vkGetSwapchainCounterEXT", name)) {
15850
0
                *addr = (void *)GetSwapchainCounterEXT;
15851
0
                return true;
15852
0
            }
15853
0
            break;
15854
15855
        // ---- VK_GOOGLE_display_timing extension commands
15856
0
        case 0x277dc056u:
15857
0
            if (!strcmp("vkGetRefreshCycleDurationGOOGLE", name)) {
15858
0
                *addr = (void *)GetRefreshCycleDurationGOOGLE;
15859
0
                return true;
15860
0
            }
15861
0
            break;
15862
0
        case 0xaa7a8c67u:
15863
0
            if (!strcmp("vkGetPastPresentationTimingGOOGLE", name)) {
15864
0
                *addr = (void *)GetPastPresentationTimingGOOGLE;
15865
0
                return true;
15866
0
            }
15867
0
            break;
15868
15869
        // ---- VK_EXT_discard_rectangles extension commands
15870
0
        case 0x746a9b6cu:
15871
0
            if (!strcmp("vkCmdSetDiscardRectangleEXT", name)) {
15872
0
                *addr = (void *)CmdSetDiscardRectangleEXT;
15873
0
                return true;
15874
0
            }
15875
0
            break;
15876
0
        case 0x228ac2c5u:
15877
0
            if (!strcmp("vkCmdSetDiscardRectangleEnableEXT", name)) {
15878
0
                *addr = (void *)CmdSetDiscardRectangleEnableEXT;
15879
0
                return true;
15880
0
            }
15881
0
            break;
15882
0
        case 0xe2eab3f1u:
15883
0
            if (!strcmp("vkCmdSetDiscardRectangleModeEXT", name)) {
15884
0
                *addr = (void *)CmdSetDiscardRectangleModeEXT;
15885
0
                return true;
15886
0
            }
15887
0
            break;
15888
15889
        // ---- VK_EXT_hdr_metadata extension commands
15890
0
        case 0x04d97c94u:
15891
0
            if (!strcmp("vkSetHdrMetadataEXT", name)) {
15892
0
                *addr = (void *)SetHdrMetadataEXT;
15893
0
                return true;
15894
0
            }
15895
0
            break;
15896
15897
        // ---- VK_EXT_debug_utils extension commands
15898
0
        case 0xd89ff139u:
15899
0
            if (!strcmp("vkSetDebugUtilsObjectNameEXT", name)) {
15900
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15901
0
                             ? (void *)SetDebugUtilsObjectNameEXT
15902
0
                             : NULL;
15903
0
                return true;
15904
0
            }
15905
0
            break;
15906
0
        case 0x5e0dab22u:
15907
0
            if (!strcmp("vkSetDebugUtilsObjectTagEXT", name)) {
15908
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15909
0
                             ? (void *)SetDebugUtilsObjectTagEXT
15910
0
                             : NULL;
15911
0
                return true;
15912
0
            }
15913
0
            break;
15914
0
        case 0x46b78797u:
15915
0
            if (!strcmp("vkQueueBeginDebugUtilsLabelEXT", name)) {
15916
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15917
0
                             ? (void *)QueueBeginDebugUtilsLabelEXT
15918
0
                             : NULL;
15919
0
                return true;
15920
0
            }
15921
0
            break;
15922
0
        case 0x6aea05b3u:
15923
0
            if (!strcmp("vkQueueEndDebugUtilsLabelEXT", name)) {
15924
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15925
0
                             ? (void *)QueueEndDebugUtilsLabelEXT
15926
0
                             : NULL;
15927
0
                return true;
15928
0
            }
15929
0
            break;
15930
0
        case 0x963e0d79u:
15931
0
            if (!strcmp("vkQueueInsertDebugUtilsLabelEXT", name)) {
15932
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15933
0
                             ? (void *)QueueInsertDebugUtilsLabelEXT
15934
0
                             : NULL;
15935
0
                return true;
15936
0
            }
15937
0
            break;
15938
0
        case 0x26ebe05au:
15939
0
            if (!strcmp("vkCmdBeginDebugUtilsLabelEXT", name)) {
15940
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15941
0
                             ? (void *)CmdBeginDebugUtilsLabelEXT
15942
0
                             : NULL;
15943
0
                return true;
15944
0
            }
15945
0
            break;
15946
0
        case 0x8cc22c12u:
15947
0
            if (!strcmp("vkCmdEndDebugUtilsLabelEXT", name)) {
15948
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15949
0
                             ? (void *)CmdEndDebugUtilsLabelEXT
15950
0
                             : NULL;
15951
0
                return true;
15952
0
            }
15953
0
            break;
15954
0
        case 0x95502ba6u:
15955
0
            if (!strcmp("vkCmdInsertDebugUtilsLabelEXT", name)) {
15956
0
                *addr = (ptr_instance->enabled_extensions.ext_debug_utils == 1)
15957
0
                             ? (void *)CmdInsertDebugUtilsLabelEXT
15958
0
                             : NULL;
15959
0
                return true;
15960
0
            }
15961
0
            break;
15962
15963
        // ---- VK_ANDROID_external_memory_android_hardware_buffer extension commands
15964
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
15965
        case 0x80069229u:
15966
            if (!strcmp("vkGetAndroidHardwareBufferPropertiesANDROID", name)) {
15967
                *addr = (void *)GetAndroidHardwareBufferPropertiesANDROID;
15968
                return true;
15969
            }
15970
            break;
15971
#endif // VK_USE_PLATFORM_ANDROID_KHR
15972
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
15973
        case 0x3e53800du:
15974
            if (!strcmp("vkGetMemoryAndroidHardwareBufferANDROID", name)) {
15975
                *addr = (void *)GetMemoryAndroidHardwareBufferANDROID;
15976
                return true;
15977
            }
15978
            break;
15979
#endif // VK_USE_PLATFORM_ANDROID_KHR
15980
15981
        // ---- VK_AMD_gpa_interface extension commands
15982
0
        case 0xd789c54au:
15983
0
            if (!strcmp("vkCreateGpaSessionAMD", name)) {
15984
0
                *addr = (void *)CreateGpaSessionAMD;
15985
0
                return true;
15986
0
            }
15987
0
            break;
15988
0
        case 0xb29a89c4u:
15989
0
            if (!strcmp("vkDestroyGpaSessionAMD", name)) {
15990
0
                *addr = (void *)DestroyGpaSessionAMD;
15991
0
                return true;
15992
0
            }
15993
0
            break;
15994
0
        case 0xbb069f3bu:
15995
0
            if (!strcmp("vkSetGpaDeviceClockModeAMD", name)) {
15996
0
                *addr = (void *)SetGpaDeviceClockModeAMD;
15997
0
                return true;
15998
0
            }
15999
0
            break;
16000
0
        case 0xe4341cbeu:
16001
0
            if (!strcmp("vkGetGpaDeviceClockInfoAMD", name)) {
16002
0
                *addr = (void *)GetGpaDeviceClockInfoAMD;
16003
0
                return true;
16004
0
            }
16005
0
            break;
16006
0
        case 0x5f05b499u:
16007
0
            if (!strcmp("vkCmdBeginGpaSessionAMD", name)) {
16008
0
                *addr = (void *)CmdBeginGpaSessionAMD;
16009
0
                return true;
16010
0
            }
16011
0
            break;
16012
0
        case 0x6e076d51u:
16013
0
            if (!strcmp("vkCmdEndGpaSessionAMD", name)) {
16014
0
                *addr = (void *)CmdEndGpaSessionAMD;
16015
0
                return true;
16016
0
            }
16017
0
            break;
16018
0
        case 0x7cc05ee5u:
16019
0
            if (!strcmp("vkCmdBeginGpaSampleAMD", name)) {
16020
0
                *addr = (void *)CmdBeginGpaSampleAMD;
16021
0
                return true;
16022
0
            }
16023
0
            break;
16024
0
        case 0x2c317b7du:
16025
0
            if (!strcmp("vkCmdEndGpaSampleAMD", name)) {
16026
0
                *addr = (void *)CmdEndGpaSampleAMD;
16027
0
                return true;
16028
0
            }
16029
0
            break;
16030
0
        case 0x2672bbd8u:
16031
0
            if (!strcmp("vkGetGpaSessionStatusAMD", name)) {
16032
0
                *addr = (void *)GetGpaSessionStatusAMD;
16033
0
                return true;
16034
0
            }
16035
0
            break;
16036
0
        case 0x65a12c9cu:
16037
0
            if (!strcmp("vkGetGpaSessionResultsAMD", name)) {
16038
0
                *addr = (void *)GetGpaSessionResultsAMD;
16039
0
                return true;
16040
0
            }
16041
0
            break;
16042
0
        case 0x36805213u:
16043
0
            if (!strcmp("vkResetGpaSessionAMD", name)) {
16044
0
                *addr = (void *)ResetGpaSessionAMD;
16045
0
                return true;
16046
0
            }
16047
0
            break;
16048
0
        case 0xd7c3d911u:
16049
0
            if (!strcmp("vkCmdCopyGpaSessionResultsAMD", name)) {
16050
0
                *addr = (void *)CmdCopyGpaSessionResultsAMD;
16051
0
                return true;
16052
0
            }
16053
0
            break;
16054
16055
        // ---- VK_AMDX_shader_enqueue extension commands
16056
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16057
0
        case 0x7b968f75u:
16058
0
            if (!strcmp("vkCreateExecutionGraphPipelinesAMDX", name)) {
16059
0
                *addr = (void *)CreateExecutionGraphPipelinesAMDX;
16060
0
                return true;
16061
0
            }
16062
0
            break;
16063
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16064
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16065
0
        case 0x7364c23bu:
16066
0
            if (!strcmp("vkGetExecutionGraphPipelineScratchSizeAMDX", name)) {
16067
0
                *addr = (void *)GetExecutionGraphPipelineScratchSizeAMDX;
16068
0
                return true;
16069
0
            }
16070
0
            break;
16071
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16072
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16073
0
        case 0x6012ab70u:
16074
0
            if (!strcmp("vkGetExecutionGraphPipelineNodeIndexAMDX", name)) {
16075
0
                *addr = (void *)GetExecutionGraphPipelineNodeIndexAMDX;
16076
0
                return true;
16077
0
            }
16078
0
            break;
16079
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16080
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16081
0
        case 0x5c7a8d67u:
16082
0
            if (!strcmp("vkCmdInitializeGraphScratchMemoryAMDX", name)) {
16083
0
                *addr = (void *)CmdInitializeGraphScratchMemoryAMDX;
16084
0
                return true;
16085
0
            }
16086
0
            break;
16087
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16088
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16089
0
        case 0x9cbe6feau:
16090
0
            if (!strcmp("vkCmdDispatchGraphAMDX", name)) {
16091
0
                *addr = (void *)CmdDispatchGraphAMDX;
16092
0
                return true;
16093
0
            }
16094
0
            break;
16095
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16096
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16097
0
        case 0xb44e62c8u:
16098
0
            if (!strcmp("vkCmdDispatchGraphIndirectAMDX", name)) {
16099
0
                *addr = (void *)CmdDispatchGraphIndirectAMDX;
16100
0
                return true;
16101
0
            }
16102
0
            break;
16103
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16104
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16105
0
        case 0xe6456153u:
16106
0
            if (!strcmp("vkCmdDispatchGraphIndirectCountAMDX", name)) {
16107
0
                *addr = (void *)CmdDispatchGraphIndirectCountAMDX;
16108
0
                return true;
16109
0
            }
16110
0
            break;
16111
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16112
16113
        // ---- VK_EXT_descriptor_heap extension commands
16114
0
        case 0x12566e46u:
16115
0
            if (!strcmp("vkWriteSamplerDescriptorsEXT", name)) {
16116
0
                *addr = (void *)WriteSamplerDescriptorsEXT;
16117
0
                return true;
16118
0
            }
16119
0
            break;
16120
0
        case 0x21fac61cu:
16121
0
            if (!strcmp("vkWriteResourceDescriptorsEXT", name)) {
16122
0
                *addr = (void *)WriteResourceDescriptorsEXT;
16123
0
                return true;
16124
0
            }
16125
0
            break;
16126
0
        case 0xd1a21f20u:
16127
0
            if (!strcmp("vkCmdBindSamplerHeapEXT", name)) {
16128
0
                *addr = (void *)CmdBindSamplerHeapEXT;
16129
0
                return true;
16130
0
            }
16131
0
            break;
16132
0
        case 0x865cf5c2u:
16133
0
            if (!strcmp("vkCmdBindResourceHeapEXT", name)) {
16134
0
                *addr = (void *)CmdBindResourceHeapEXT;
16135
0
                return true;
16136
0
            }
16137
0
            break;
16138
0
        case 0x5e36495du:
16139
0
            if (!strcmp("vkCmdPushDataEXT", name)) {
16140
0
                *addr = (void *)CmdPushDataEXT;
16141
0
                return true;
16142
0
            }
16143
0
            break;
16144
0
        case 0x31351c8du:
16145
0
            if (!strcmp("vkGetImageOpaqueCaptureDataEXT", name)) {
16146
0
                *addr = (void *)GetImageOpaqueCaptureDataEXT;
16147
0
                return true;
16148
0
            }
16149
0
            break;
16150
0
        case 0x4e07bea8u:
16151
0
            if (!strcmp("vkGetPhysicalDeviceDescriptorSizeEXT", name)) {
16152
0
                *addr = (void *)GetPhysicalDeviceDescriptorSizeEXT;
16153
0
                return true;
16154
0
            }
16155
0
            break;
16156
0
        case 0x9102c8b4u:
16157
0
            if (!strcmp("vkRegisterCustomBorderColorEXT", name)) {
16158
0
                *addr = (void *)RegisterCustomBorderColorEXT;
16159
0
                return true;
16160
0
            }
16161
0
            break;
16162
0
        case 0x80e56873u:
16163
0
            if (!strcmp("vkUnregisterCustomBorderColorEXT", name)) {
16164
0
                *addr = (void *)UnregisterCustomBorderColorEXT;
16165
0
                return true;
16166
0
            }
16167
0
            break;
16168
0
        case 0x3f96c78cu:
16169
0
            if (!strcmp("vkGetTensorOpaqueCaptureDataARM", name)) {
16170
0
                *addr = (void *)GetTensorOpaqueCaptureDataARM;
16171
0
                return true;
16172
0
            }
16173
0
            break;
16174
16175
        // ---- VK_EXT_sample_locations extension commands
16176
0
        case 0x893ad3bbu:
16177
0
            if (!strcmp("vkCmdSetSampleLocationsEXT", name)) {
16178
0
                *addr = (void *)CmdSetSampleLocationsEXT;
16179
0
                return true;
16180
0
            }
16181
0
            break;
16182
0
        case 0x84f1eedcu:
16183
0
            if (!strcmp("vkGetPhysicalDeviceMultisamplePropertiesEXT", name)) {
16184
0
                *addr = (void *)GetPhysicalDeviceMultisamplePropertiesEXT;
16185
0
                return true;
16186
0
            }
16187
0
            break;
16188
16189
        // ---- VK_EXT_image_drm_format_modifier extension commands
16190
0
        case 0xe442e9b6u:
16191
0
            if (!strcmp("vkGetImageDrmFormatModifierPropertiesEXT", name)) {
16192
0
                *addr = (void *)GetImageDrmFormatModifierPropertiesEXT;
16193
0
                return true;
16194
0
            }
16195
0
            break;
16196
16197
        // ---- VK_EXT_validation_cache extension commands
16198
0
        case 0x6b0b7d18u:
16199
0
            if (!strcmp("vkCreateValidationCacheEXT", name)) {
16200
0
                *addr = (void *)CreateValidationCacheEXT;
16201
0
                return true;
16202
0
            }
16203
0
            break;
16204
0
        case 0x82240b92u:
16205
0
            if (!strcmp("vkDestroyValidationCacheEXT", name)) {
16206
0
                *addr = (void *)DestroyValidationCacheEXT;
16207
0
                return true;
16208
0
            }
16209
0
            break;
16210
0
        case 0x6d50d069u:
16211
0
            if (!strcmp("vkMergeValidationCachesEXT", name)) {
16212
0
                *addr = (void *)MergeValidationCachesEXT;
16213
0
                return true;
16214
0
            }
16215
0
            break;
16216
0
        case 0x0b761148u:
16217
0
            if (!strcmp("vkGetValidationCacheDataEXT", name)) {
16218
0
                *addr = (void *)GetValidationCacheDataEXT;
16219
0
                return true;
16220
0
            }
16221
0
            break;
16222
16223
        // ---- VK_NV_shading_rate_image extension commands
16224
0
        case 0x2c3dec58u:
16225
0
            if (!strcmp("vkCmdBindShadingRateImageNV", name)) {
16226
0
                *addr = (void *)CmdBindShadingRateImageNV;
16227
0
                return true;
16228
0
            }
16229
0
            break;
16230
0
        case 0x315e890fu:
16231
0
            if (!strcmp("vkCmdSetViewportShadingRatePaletteNV", name)) {
16232
0
                *addr = (void *)CmdSetViewportShadingRatePaletteNV;
16233
0
                return true;
16234
0
            }
16235
0
            break;
16236
0
        case 0xd826e0a7u:
16237
0
            if (!strcmp("vkCmdSetCoarseSampleOrderNV", name)) {
16238
0
                *addr = (void *)CmdSetCoarseSampleOrderNV;
16239
0
                return true;
16240
0
            }
16241
0
            break;
16242
16243
        // ---- VK_NV_ray_tracing extension commands
16244
0
        case 0x9b585c4bu:
16245
0
            if (!strcmp("vkCreateAccelerationStructureNV", name)) {
16246
0
                *addr = (void *)CreateAccelerationStructureNV;
16247
0
                return true;
16248
0
            }
16249
0
            break;
16250
0
        case 0xe40f2851u:
16251
0
            if (!strcmp("vkDestroyAccelerationStructureNV", name)) {
16252
0
                *addr = (void *)DestroyAccelerationStructureNV;
16253
0
                return true;
16254
0
            }
16255
0
            break;
16256
0
        case 0xb92c8ff8u:
16257
0
            if (!strcmp("vkGetAccelerationStructureMemoryRequirementsNV", name)) {
16258
0
                *addr = (void *)GetAccelerationStructureMemoryRequirementsNV;
16259
0
                return true;
16260
0
            }
16261
0
            break;
16262
0
        case 0xa8bf8249u:
16263
0
            if (!strcmp("vkBindAccelerationStructureMemoryNV", name)) {
16264
0
                *addr = (void *)BindAccelerationStructureMemoryNV;
16265
0
                return true;
16266
0
            }
16267
0
            break;
16268
0
        case 0xb2f111c7u:
16269
0
            if (!strcmp("vkCmdBuildAccelerationStructureNV", name)) {
16270
0
                *addr = (void *)CmdBuildAccelerationStructureNV;
16271
0
                return true;
16272
0
            }
16273
0
            break;
16274
0
        case 0x2df19290u:
16275
0
            if (!strcmp("vkCmdCopyAccelerationStructureNV", name)) {
16276
0
                *addr = (void *)CmdCopyAccelerationStructureNV;
16277
0
                return true;
16278
0
            }
16279
0
            break;
16280
0
        case 0x5c2e0b66u:
16281
0
            if (!strcmp("vkCmdTraceRaysNV", name)) {
16282
0
                *addr = (void *)CmdTraceRaysNV;
16283
0
                return true;
16284
0
            }
16285
0
            break;
16286
0
        case 0x30a351a3u:
16287
0
            if (!strcmp("vkCreateRayTracingPipelinesNV", name)) {
16288
0
                *addr = (void *)CreateRayTracingPipelinesNV;
16289
0
                return true;
16290
0
            }
16291
0
            break;
16292
16293
        // ---- VK_KHR_ray_tracing_pipeline extension commands
16294
0
        case 0x1ce51b26u:
16295
0
            if (!strcmp("vkGetRayTracingShaderGroupHandlesKHR", name)) {
16296
0
                *addr = (void *)GetRayTracingShaderGroupHandlesKHR;
16297
0
                return true;
16298
0
            }
16299
0
            break;
16300
16301
        // ---- VK_NV_ray_tracing extension commands
16302
0
        case 0x7321d653u:
16303
0
            if (!strcmp("vkGetRayTracingShaderGroupHandlesNV", name)) {
16304
0
                *addr = (void *)GetRayTracingShaderGroupHandlesNV;
16305
0
                return true;
16306
0
            }
16307
0
            break;
16308
0
        case 0x0da9ca8du:
16309
0
            if (!strcmp("vkGetAccelerationStructureHandleNV", name)) {
16310
0
                *addr = (void *)GetAccelerationStructureHandleNV;
16311
0
                return true;
16312
0
            }
16313
0
            break;
16314
0
        case 0xe06f0976u:
16315
0
            if (!strcmp("vkCmdWriteAccelerationStructuresPropertiesNV", name)) {
16316
0
                *addr = (void *)CmdWriteAccelerationStructuresPropertiesNV;
16317
0
                return true;
16318
0
            }
16319
0
            break;
16320
0
        case 0x730a5d24u:
16321
0
            if (!strcmp("vkCompileDeferredNV", name)) {
16322
0
                *addr = (void *)CompileDeferredNV;
16323
0
                return true;
16324
0
            }
16325
0
            break;
16326
16327
        // ---- VK_EXT_external_memory_host extension commands
16328
0
        case 0x21c55ba0u:
16329
0
            if (!strcmp("vkGetMemoryHostPointerPropertiesEXT", name)) {
16330
0
                *addr = (void *)GetMemoryHostPointerPropertiesEXT;
16331
0
                return true;
16332
0
            }
16333
0
            break;
16334
16335
        // ---- VK_AMD_buffer_marker extension commands
16336
0
        case 0x5f238d75u:
16337
0
            if (!strcmp("vkCmdWriteBufferMarkerAMD", name)) {
16338
0
                *addr = (void *)CmdWriteBufferMarkerAMD;
16339
0
                return true;
16340
0
            }
16341
0
            break;
16342
0
        case 0xbb790f25u:
16343
0
            if (!strcmp("vkCmdWriteBufferMarker2AMD", name)) {
16344
0
                *addr = (void *)CmdWriteBufferMarker2AMD;
16345
0
                return true;
16346
0
            }
16347
0
            break;
16348
16349
        // ---- VK_EXT_calibrated_timestamps extension commands
16350
0
        case 0x3eabd5a3u:
16351
0
            if (!strcmp("vkGetPhysicalDeviceCalibrateableTimeDomainsEXT", name)) {
16352
0
                *addr = (void *)GetPhysicalDeviceCalibrateableTimeDomainsEXT;
16353
0
                return true;
16354
0
            }
16355
0
            break;
16356
0
        case 0x6f9a7c47u:
16357
0
            if (!strcmp("vkGetCalibratedTimestampsEXT", name)) {
16358
0
                *addr = (void *)GetCalibratedTimestampsEXT;
16359
0
                return true;
16360
0
            }
16361
0
            break;
16362
16363
        // ---- VK_NV_mesh_shader extension commands
16364
0
        case 0x1dac242du:
16365
0
            if (!strcmp("vkCmdDrawMeshTasksNV", name)) {
16366
0
                *addr = (void *)CmdDrawMeshTasksNV;
16367
0
                return true;
16368
0
            }
16369
0
            break;
16370
0
        case 0xec7d509fu:
16371
0
            if (!strcmp("vkCmdDrawMeshTasksIndirectNV", name)) {
16372
0
                *addr = (void *)CmdDrawMeshTasksIndirectNV;
16373
0
                return true;
16374
0
            }
16375
0
            break;
16376
0
        case 0xa99feebau:
16377
0
            if (!strcmp("vkCmdDrawMeshTasksIndirectCountNV", name)) {
16378
0
                *addr = (void *)CmdDrawMeshTasksIndirectCountNV;
16379
0
                return true;
16380
0
            }
16381
0
            break;
16382
16383
        // ---- VK_NV_scissor_exclusive extension commands
16384
0
        case 0x58b52163u:
16385
0
            if (!strcmp("vkCmdSetExclusiveScissorEnableNV", name)) {
16386
0
                *addr = (void *)CmdSetExclusiveScissorEnableNV;
16387
0
                return true;
16388
0
            }
16389
0
            break;
16390
0
        case 0xd9937028u:
16391
0
            if (!strcmp("vkCmdSetExclusiveScissorNV", name)) {
16392
0
                *addr = (void *)CmdSetExclusiveScissorNV;
16393
0
                return true;
16394
0
            }
16395
0
            break;
16396
16397
        // ---- VK_NV_device_diagnostic_checkpoints extension commands
16398
0
        case 0x4e5fa984u:
16399
0
            if (!strcmp("vkCmdSetCheckpointNV", name)) {
16400
0
                *addr = (void *)CmdSetCheckpointNV;
16401
0
                return true;
16402
0
            }
16403
0
            break;
16404
0
        case 0x274abca7u:
16405
0
            if (!strcmp("vkGetQueueCheckpointDataNV", name)) {
16406
0
                *addr = (void *)GetQueueCheckpointDataNV;
16407
0
                return true;
16408
0
            }
16409
0
            break;
16410
0
        case 0xd0e192dfu:
16411
0
            if (!strcmp("vkGetQueueCheckpointData2NV", name)) {
16412
0
                *addr = (void *)GetQueueCheckpointData2NV;
16413
0
                return true;
16414
0
            }
16415
0
            break;
16416
16417
        // ---- VK_EXT_present_timing extension commands
16418
0
        case 0x21473122u:
16419
0
            if (!strcmp("vkSetSwapchainPresentTimingQueueSizeEXT", name)) {
16420
0
                *addr = (void *)SetSwapchainPresentTimingQueueSizeEXT;
16421
0
                return true;
16422
0
            }
16423
0
            break;
16424
0
        case 0xf05d4e9cu:
16425
0
            if (!strcmp("vkGetSwapchainTimingPropertiesEXT", name)) {
16426
0
                *addr = (void *)GetSwapchainTimingPropertiesEXT;
16427
0
                return true;
16428
0
            }
16429
0
            break;
16430
0
        case 0xeafcc5a1u:
16431
0
            if (!strcmp("vkGetSwapchainTimeDomainPropertiesEXT", name)) {
16432
0
                *addr = (void *)GetSwapchainTimeDomainPropertiesEXT;
16433
0
                return true;
16434
0
            }
16435
0
            break;
16436
0
        case 0x6ce1695bu:
16437
0
            if (!strcmp("vkGetPastPresentationTimingEXT", name)) {
16438
0
                *addr = (void *)GetPastPresentationTimingEXT;
16439
0
                return true;
16440
0
            }
16441
0
            break;
16442
16443
        // ---- VK_INTEL_performance_query extension commands
16444
0
        case 0x5ec63556u:
16445
0
            if (!strcmp("vkInitializePerformanceApiINTEL", name)) {
16446
0
                *addr = (void *)InitializePerformanceApiINTEL;
16447
0
                return true;
16448
0
            }
16449
0
            break;
16450
0
        case 0x51a2c77fu:
16451
0
            if (!strcmp("vkUninitializePerformanceApiINTEL", name)) {
16452
0
                *addr = (void *)UninitializePerformanceApiINTEL;
16453
0
                return true;
16454
0
            }
16455
0
            break;
16456
0
        case 0x58912d22u:
16457
0
            if (!strcmp("vkCmdSetPerformanceMarkerINTEL", name)) {
16458
0
                *addr = (void *)CmdSetPerformanceMarkerINTEL;
16459
0
                return true;
16460
0
            }
16461
0
            break;
16462
0
        case 0x3520d412u:
16463
0
            if (!strcmp("vkCmdSetPerformanceStreamMarkerINTEL", name)) {
16464
0
                *addr = (void *)CmdSetPerformanceStreamMarkerINTEL;
16465
0
                return true;
16466
0
            }
16467
0
            break;
16468
0
        case 0xf39c2628u:
16469
0
            if (!strcmp("vkCmdSetPerformanceOverrideINTEL", name)) {
16470
0
                *addr = (void *)CmdSetPerformanceOverrideINTEL;
16471
0
                return true;
16472
0
            }
16473
0
            break;
16474
0
        case 0x7cbef10au:
16475
0
            if (!strcmp("vkAcquirePerformanceConfigurationINTEL", name)) {
16476
0
                *addr = (void *)AcquirePerformanceConfigurationINTEL;
16477
0
                return true;
16478
0
            }
16479
0
            break;
16480
0
        case 0x9c935fddu:
16481
0
            if (!strcmp("vkReleasePerformanceConfigurationINTEL", name)) {
16482
0
                *addr = (void *)ReleasePerformanceConfigurationINTEL;
16483
0
                return true;
16484
0
            }
16485
0
            break;
16486
0
        case 0x227fcb85u:
16487
0
            if (!strcmp("vkQueueSetPerformanceConfigurationINTEL", name)) {
16488
0
                *addr = (void *)QueueSetPerformanceConfigurationINTEL;
16489
0
                return true;
16490
0
            }
16491
0
            break;
16492
0
        case 0xa2ea440du:
16493
0
            if (!strcmp("vkGetPerformanceParameterINTEL", name)) {
16494
0
                *addr = (void *)GetPerformanceParameterINTEL;
16495
0
                return true;
16496
0
            }
16497
0
            break;
16498
16499
        // ---- VK_AMD_display_native_hdr extension commands
16500
0
        case 0xfb6098ceu:
16501
0
            if (!strcmp("vkSetLocalDimmingAMD", name)) {
16502
0
                *addr = (void *)SetLocalDimmingAMD;
16503
0
                return true;
16504
0
            }
16505
0
            break;
16506
16507
        // ---- VK_EXT_buffer_device_address extension commands
16508
0
        case 0x0439224du:
16509
0
            if (!strcmp("vkGetBufferDeviceAddressEXT", name)) {
16510
0
                *addr = (void *)GetBufferDeviceAddressEXT;
16511
0
                return true;
16512
0
            }
16513
0
            break;
16514
16515
        // ---- VK_EXT_tooling_info extension commands
16516
0
        case 0x4d69a41du:
16517
0
            if (!strcmp("vkGetPhysicalDeviceToolPropertiesEXT", name)) {
16518
0
                *addr = (void *)GetPhysicalDeviceToolPropertiesEXT;
16519
0
                return true;
16520
0
            }
16521
0
            break;
16522
16523
        // ---- VK_NV_cooperative_matrix extension commands
16524
0
        case 0x35f7976cu:
16525
0
            if (!strcmp("vkGetPhysicalDeviceCooperativeMatrixPropertiesNV", name)) {
16526
0
                *addr = (void *)GetPhysicalDeviceCooperativeMatrixPropertiesNV;
16527
0
                return true;
16528
0
            }
16529
0
            break;
16530
16531
        // ---- VK_NV_coverage_reduction_mode extension commands
16532
0
        case 0xf9a13cfau:
16533
0
            if (!strcmp("vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV", name)) {
16534
0
                *addr = (void *)GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
16535
0
                return true;
16536
0
            }
16537
0
            break;
16538
16539
        // ---- VK_EXT_full_screen_exclusive extension commands
16540
#if defined(VK_USE_PLATFORM_WIN32_KHR)
16541
        case 0xdcfd64b0u:
16542
            if (!strcmp("vkGetPhysicalDeviceSurfacePresentModes2EXT", name)) {
16543
                *addr = (void *)GetPhysicalDeviceSurfacePresentModes2EXT;
16544
                return true;
16545
            }
16546
            break;
16547
#endif // VK_USE_PLATFORM_WIN32_KHR
16548
#if defined(VK_USE_PLATFORM_WIN32_KHR)
16549
        case 0x826c6745u:
16550
            if (!strcmp("vkAcquireFullScreenExclusiveModeEXT", name)) {
16551
                *addr = (void *)AcquireFullScreenExclusiveModeEXT;
16552
                return true;
16553
            }
16554
            break;
16555
#endif // VK_USE_PLATFORM_WIN32_KHR
16556
#if defined(VK_USE_PLATFORM_WIN32_KHR)
16557
        case 0xad8bf02cu:
16558
            if (!strcmp("vkReleaseFullScreenExclusiveModeEXT", name)) {
16559
                *addr = (void *)ReleaseFullScreenExclusiveModeEXT;
16560
                return true;
16561
            }
16562
            break;
16563
#endif // VK_USE_PLATFORM_WIN32_KHR
16564
#if defined(VK_USE_PLATFORM_WIN32_KHR)
16565
        case 0x46d74ae6u:
16566
            if (!strcmp("vkGetDeviceGroupSurfacePresentModes2EXT", name)) {
16567
                *addr = (void *)GetDeviceGroupSurfacePresentModes2EXT;
16568
                return true;
16569
            }
16570
            break;
16571
#endif // VK_USE_PLATFORM_WIN32_KHR
16572
16573
        // ---- VK_EXT_line_rasterization extension commands
16574
0
        case 0x7c80d680u:
16575
0
            if (!strcmp("vkCmdSetLineStippleEXT", name)) {
16576
0
                *addr = (void *)CmdSetLineStippleEXT;
16577
0
                return true;
16578
0
            }
16579
0
            break;
16580
16581
        // ---- VK_EXT_host_query_reset extension commands
16582
0
        case 0xa4673a84u:
16583
0
            if (!strcmp("vkResetQueryPoolEXT", name)) {
16584
0
                *addr = (void *)ResetQueryPoolEXT;
16585
0
                return true;
16586
0
            }
16587
0
            break;
16588
16589
        // ---- VK_EXT_extended_dynamic_state extension commands
16590
0
        case 0x74f8fcccu:
16591
0
            if (!strcmp("vkCmdSetCullModeEXT", name)) {
16592
0
                *addr = (void *)CmdSetCullModeEXT;
16593
0
                return true;
16594
0
            }
16595
0
            break;
16596
0
        case 0xeb32bae3u:
16597
0
            if (!strcmp("vkCmdSetFrontFaceEXT", name)) {
16598
0
                *addr = (void *)CmdSetFrontFaceEXT;
16599
0
                return true;
16600
0
            }
16601
0
            break;
16602
0
        case 0x5965de89u:
16603
0
            if (!strcmp("vkCmdSetPrimitiveTopologyEXT", name)) {
16604
0
                *addr = (void *)CmdSetPrimitiveTopologyEXT;
16605
0
                return true;
16606
0
            }
16607
0
            break;
16608
0
        case 0x3574db42u:
16609
0
            if (!strcmp("vkCmdSetViewportWithCountEXT", name)) {
16610
0
                *addr = (void *)CmdSetViewportWithCountEXT;
16611
0
                return true;
16612
0
            }
16613
0
            break;
16614
0
        case 0x0e3b094eu:
16615
0
            if (!strcmp("vkCmdSetScissorWithCountEXT", name)) {
16616
0
                *addr = (void *)CmdSetScissorWithCountEXT;
16617
0
                return true;
16618
0
            }
16619
0
            break;
16620
0
        case 0x481f705bu:
16621
0
            if (!strcmp("vkCmdBindVertexBuffers2EXT", name)) {
16622
0
                *addr = (void *)CmdBindVertexBuffers2EXT;
16623
0
                return true;
16624
0
            }
16625
0
            break;
16626
0
        case 0xa9d85657u:
16627
0
            if (!strcmp("vkCmdSetDepthTestEnableEXT", name)) {
16628
0
                *addr = (void *)CmdSetDepthTestEnableEXT;
16629
0
                return true;
16630
0
            }
16631
0
            break;
16632
0
        case 0x612d1f30u:
16633
0
            if (!strcmp("vkCmdSetDepthWriteEnableEXT", name)) {
16634
0
                *addr = (void *)CmdSetDepthWriteEnableEXT;
16635
0
                return true;
16636
0
            }
16637
0
            break;
16638
0
        case 0x5d725d28u:
16639
0
            if (!strcmp("vkCmdSetDepthCompareOpEXT", name)) {
16640
0
                *addr = (void *)CmdSetDepthCompareOpEXT;
16641
0
                return true;
16642
0
            }
16643
0
            break;
16644
0
        case 0x02593548u:
16645
0
            if (!strcmp("vkCmdSetDepthBoundsTestEnableEXT", name)) {
16646
0
                *addr = (void *)CmdSetDepthBoundsTestEnableEXT;
16647
0
                return true;
16648
0
            }
16649
0
            break;
16650
0
        case 0xf481ae18u:
16651
0
            if (!strcmp("vkCmdSetStencilTestEnableEXT", name)) {
16652
0
                *addr = (void *)CmdSetStencilTestEnableEXT;
16653
0
                return true;
16654
0
            }
16655
0
            break;
16656
0
        case 0xdc736664u:
16657
0
            if (!strcmp("vkCmdSetStencilOpEXT", name)) {
16658
0
                *addr = (void *)CmdSetStencilOpEXT;
16659
0
                return true;
16660
0
            }
16661
0
            break;
16662
16663
        // ---- VK_EXT_host_image_copy extension commands
16664
0
        case 0x45cbebe9u:
16665
0
            if (!strcmp("vkCopyMemoryToImageEXT", name)) {
16666
0
                *addr = (void *)CopyMemoryToImageEXT;
16667
0
                return true;
16668
0
            }
16669
0
            break;
16670
0
        case 0x624ce809u:
16671
0
            if (!strcmp("vkCopyImageToMemoryEXT", name)) {
16672
0
                *addr = (void *)CopyImageToMemoryEXT;
16673
0
                return true;
16674
0
            }
16675
0
            break;
16676
0
        case 0x30b94dadu:
16677
0
            if (!strcmp("vkCopyImageToImageEXT", name)) {
16678
0
                *addr = (void *)CopyImageToImageEXT;
16679
0
                return true;
16680
0
            }
16681
0
            break;
16682
0
        case 0x0c5d69f7u:
16683
0
            if (!strcmp("vkTransitionImageLayoutEXT", name)) {
16684
0
                *addr = (void *)TransitionImageLayoutEXT;
16685
0
                return true;
16686
0
            }
16687
0
            break;
16688
0
        case 0x8ae815ecu:
16689
0
            if (!strcmp("vkGetImageSubresourceLayout2EXT", name)) {
16690
0
                *addr = (void *)GetImageSubresourceLayout2EXT;
16691
0
                return true;
16692
0
            }
16693
0
            break;
16694
16695
        // ---- VK_EXT_swapchain_maintenance1 extension commands
16696
0
        case 0x29712c72u:
16697
0
            if (!strcmp("vkReleaseSwapchainImagesEXT", name)) {
16698
0
                *addr = (void *)ReleaseSwapchainImagesEXT;
16699
0
                return true;
16700
0
            }
16701
0
            break;
16702
16703
        // ---- VK_NV_device_generated_commands extension commands
16704
0
        case 0x0efe4856u:
16705
0
            if (!strcmp("vkGetGeneratedCommandsMemoryRequirementsNV", name)) {
16706
0
                *addr = (void *)GetGeneratedCommandsMemoryRequirementsNV;
16707
0
                return true;
16708
0
            }
16709
0
            break;
16710
0
        case 0xd51d611bu:
16711
0
            if (!strcmp("vkCmdPreprocessGeneratedCommandsNV", name)) {
16712
0
                *addr = (void *)CmdPreprocessGeneratedCommandsNV;
16713
0
                return true;
16714
0
            }
16715
0
            break;
16716
0
        case 0x46cedc84u:
16717
0
            if (!strcmp("vkCmdExecuteGeneratedCommandsNV", name)) {
16718
0
                *addr = (void *)CmdExecuteGeneratedCommandsNV;
16719
0
                return true;
16720
0
            }
16721
0
            break;
16722
0
        case 0xdbc079a1u:
16723
0
            if (!strcmp("vkCmdBindPipelineShaderGroupNV", name)) {
16724
0
                *addr = (void *)CmdBindPipelineShaderGroupNV;
16725
0
                return true;
16726
0
            }
16727
0
            break;
16728
0
        case 0x75e65408u:
16729
0
            if (!strcmp("vkCreateIndirectCommandsLayoutNV", name)) {
16730
0
                *addr = (void *)CreateIndirectCommandsLayoutNV;
16731
0
                return true;
16732
0
            }
16733
0
            break;
16734
0
        case 0x9978b97eu:
16735
0
            if (!strcmp("vkDestroyIndirectCommandsLayoutNV", name)) {
16736
0
                *addr = (void *)DestroyIndirectCommandsLayoutNV;
16737
0
                return true;
16738
0
            }
16739
0
            break;
16740
16741
        // ---- VK_EXT_depth_bias_control extension commands
16742
0
        case 0xb1d6fe7fu:
16743
0
            if (!strcmp("vkCmdSetDepthBias2EXT", name)) {
16744
0
                *addr = (void *)CmdSetDepthBias2EXT;
16745
0
                return true;
16746
0
            }
16747
0
            break;
16748
16749
        // ---- VK_EXT_acquire_drm_display extension commands
16750
0
        case 0x76d69256u:
16751
0
            if (!strcmp("vkAcquireDrmDisplayEXT", name)) {
16752
0
                *addr = (ptr_instance->enabled_extensions.ext_acquire_drm_display == 1)
16753
0
                             ? (void *)AcquireDrmDisplayEXT
16754
0
                             : NULL;
16755
0
                return true;
16756
0
            }
16757
0
            break;
16758
0
        case 0xad32ea62u:
16759
0
            if (!strcmp("vkGetDrmDisplayEXT", name)) {
16760
0
                *addr = (ptr_instance->enabled_extensions.ext_acquire_drm_display == 1)
16761
0
                             ? (void *)GetDrmDisplayEXT
16762
0
                             : NULL;
16763
0
                return true;
16764
0
            }
16765
0
            break;
16766
16767
        // ---- VK_EXT_private_data extension commands
16768
0
        case 0xadaebc24u:
16769
0
            if (!strcmp("vkCreatePrivateDataSlotEXT", name)) {
16770
0
                *addr = (void *)CreatePrivateDataSlotEXT;
16771
0
                return true;
16772
0
            }
16773
0
            break;
16774
0
        case 0x859c259au:
16775
0
            if (!strcmp("vkDestroyPrivateDataSlotEXT", name)) {
16776
0
                *addr = (void *)DestroyPrivateDataSlotEXT;
16777
0
                return true;
16778
0
            }
16779
0
            break;
16780
0
        case 0xc86055ecu:
16781
0
            if (!strcmp("vkSetPrivateDataEXT", name)) {
16782
0
                *addr = (void *)SetPrivateDataEXT;
16783
0
                return true;
16784
0
            }
16785
0
            break;
16786
0
        case 0xa9075848u:
16787
0
            if (!strcmp("vkGetPrivateDataEXT", name)) {
16788
0
                *addr = (void *)GetPrivateDataEXT;
16789
0
                return true;
16790
0
            }
16791
0
            break;
16792
16793
        // ---- VK_QCOM_queue_perf_hint extension commands
16794
0
        case 0x9217f6e5u:
16795
0
            if (!strcmp("vkQueueSetPerfHintQCOM", name)) {
16796
0
                *addr = (void *)QueueSetPerfHintQCOM;
16797
0
                return true;
16798
0
            }
16799
0
            break;
16800
16801
        // ---- VK_NV_cuda_kernel_launch extension commands
16802
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16803
0
        case 0x909d1551u:
16804
0
            if (!strcmp("vkCreateCudaModuleNV", name)) {
16805
0
                *addr = (void *)CreateCudaModuleNV;
16806
0
                return true;
16807
0
            }
16808
0
            break;
16809
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16810
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16811
0
        case 0xf59cd861u:
16812
0
            if (!strcmp("vkGetCudaModuleCacheNV", name)) {
16813
0
                *addr = (void *)GetCudaModuleCacheNV;
16814
0
                return true;
16815
0
            }
16816
0
            break;
16817
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16818
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16819
0
        case 0x5a95d88du:
16820
0
            if (!strcmp("vkCreateCudaFunctionNV", name)) {
16821
0
                *addr = (void *)CreateCudaFunctionNV;
16822
0
                return true;
16823
0
            }
16824
0
            break;
16825
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16826
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16827
0
        case 0xf3148947u:
16828
0
            if (!strcmp("vkDestroyCudaModuleNV", name)) {
16829
0
                *addr = (void *)DestroyCudaModuleNV;
16830
0
                return true;
16831
0
            }
16832
0
            break;
16833
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16834
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16835
0
        case 0xfe0a46ebu:
16836
0
            if (!strcmp("vkDestroyCudaFunctionNV", name)) {
16837
0
                *addr = (void *)DestroyCudaFunctionNV;
16838
0
                return true;
16839
0
            }
16840
0
            break;
16841
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16842
0
#if defined(VK_ENABLE_BETA_EXTENSIONS)
16843
0
        case 0x27675697u:
16844
0
            if (!strcmp("vkCmdCudaLaunchKernelNV", name)) {
16845
0
                *addr = (void *)CmdCudaLaunchKernelNV;
16846
0
                return true;
16847
0
            }
16848
0
            break;
16849
0
#endif // VK_ENABLE_BETA_EXTENSIONS
16850
16851
        // ---- VK_QCOM_tile_shading extension commands
16852
0
        case 0xe937e864u:
16853
0
            if (!strcmp("vkCmdDispatchTileQCOM", name)) {
16854
0
                *addr = (void *)CmdDispatchTileQCOM;
16855
0
                return true;
16856
0
            }
16857
0
            break;
16858
0
        case 0xd4695d04u:
16859
0
            if (!strcmp("vkCmdBeginPerTileExecutionQCOM", name)) {
16860
0
                *addr = (void *)CmdBeginPerTileExecutionQCOM;
16861
0
                return true;
16862
0
            }
16863
0
            break;
16864
0
        case 0xa349f12cu:
16865
0
            if (!strcmp("vkCmdEndPerTileExecutionQCOM", name)) {
16866
0
                *addr = (void *)CmdEndPerTileExecutionQCOM;
16867
0
                return true;
16868
0
            }
16869
0
            break;
16870
16871
        // ---- VK_NV_low_latency extension commands
16872
0
        case 0xb818690fu:
16873
0
            if (!strcmp("vkSetLatencySleepModeLegacyNV", name)) {
16874
0
                *addr = (void *)SetLatencySleepModeLegacyNV;
16875
0
                return true;
16876
0
            }
16877
0
            break;
16878
0
        case 0xed33a41cu:
16879
0
            if (!strcmp("vkLatencySleepLegacyNV", name)) {
16880
0
                *addr = (void *)LatencySleepLegacyNV;
16881
0
                return true;
16882
0
            }
16883
0
            break;
16884
0
        case 0x6eb616adu:
16885
0
            if (!strcmp("vkSetLatencyMarkerLegacyNV", name)) {
16886
0
                *addr = (void *)SetLatencyMarkerLegacyNV;
16887
0
                return true;
16888
0
            }
16889
0
            break;
16890
0
        case 0x3a5796a0u:
16891
0
            if (!strcmp("vkGetLatencyTimingsLegacyNV", name)) {
16892
0
                *addr = (void *)GetLatencyTimingsLegacyNV;
16893
0
                return true;
16894
0
            }
16895
0
            break;
16896
0
        case 0x88b325edu:
16897
0
            if (!strcmp("vkQueueNotifyOutOfBandLegacyNV", name)) {
16898
0
                *addr = (void *)QueueNotifyOutOfBandLegacyNV;
16899
0
                return true;
16900
0
            }
16901
0
            break;
16902
0
        case 0xc33bd8acu:
16903
0
            if (!strcmp("vkGetSleepStatusLegacyNV", name)) {
16904
0
                *addr = (void *)GetSleepStatusLegacyNV;
16905
0
                return true;
16906
0
            }
16907
0
            break;
16908
0
        case 0x39657283u:
16909
0
            if (!strcmp("vkShutdownLatencyDeviceLegacyNV", name)) {
16910
0
                *addr = (void *)ShutdownLatencyDeviceLegacyNV;
16911
0
                return true;
16912
0
            }
16913
0
            break;
16914
16915
        // ---- VK_EXT_metal_objects extension commands
16916
#if defined(VK_USE_PLATFORM_METAL_EXT)
16917
        case 0x6dfe8a9cu:
16918
            if (!strcmp("vkExportMetalObjectsEXT", name)) {
16919
                *addr = (void *)ExportMetalObjectsEXT;
16920
                return true;
16921
            }
16922
            break;
16923
#endif // VK_USE_PLATFORM_METAL_EXT
16924
16925
        // ---- VK_EXT_descriptor_buffer extension commands
16926
0
        case 0xa98826ddu:
16927
0
            if (!strcmp("vkGetDescriptorSetLayoutSizeEXT", name)) {
16928
0
                *addr = (void *)GetDescriptorSetLayoutSizeEXT;
16929
0
                return true;
16930
0
            }
16931
0
            break;
16932
0
        case 0x75521736u:
16933
0
            if (!strcmp("vkGetDescriptorSetLayoutBindingOffsetEXT", name)) {
16934
0
                *addr = (void *)GetDescriptorSetLayoutBindingOffsetEXT;
16935
0
                return true;
16936
0
            }
16937
0
            break;
16938
0
        case 0xc4a8fd6au:
16939
0
            if (!strcmp("vkGetDescriptorEXT", name)) {
16940
0
                *addr = (void *)GetDescriptorEXT;
16941
0
                return true;
16942
0
            }
16943
0
            break;
16944
0
        case 0x1589b0b6u:
16945
0
            if (!strcmp("vkCmdBindDescriptorBuffersEXT", name)) {
16946
0
                *addr = (void *)CmdBindDescriptorBuffersEXT;
16947
0
                return true;
16948
0
            }
16949
0
            break;
16950
0
        case 0x04e6c462u:
16951
0
            if (!strcmp("vkCmdSetDescriptorBufferOffsetsEXT", name)) {
16952
0
                *addr = (void *)CmdSetDescriptorBufferOffsetsEXT;
16953
0
                return true;
16954
0
            }
16955
0
            break;
16956
0
        case 0x216fc7f0u:
16957
0
            if (!strcmp("vkCmdBindDescriptorBufferEmbeddedSamplersEXT", name)) {
16958
0
                *addr = (void *)CmdBindDescriptorBufferEmbeddedSamplersEXT;
16959
0
                return true;
16960
0
            }
16961
0
            break;
16962
0
        case 0x70ed62fdu:
16963
0
            if (!strcmp("vkGetBufferOpaqueCaptureDescriptorDataEXT", name)) {
16964
0
                *addr = (void *)GetBufferOpaqueCaptureDescriptorDataEXT;
16965
0
                return true;
16966
0
            }
16967
0
            break;
16968
0
        case 0x939f2d56u:
16969
0
            if (!strcmp("vkGetImageOpaqueCaptureDescriptorDataEXT", name)) {
16970
0
                *addr = (void *)GetImageOpaqueCaptureDescriptorDataEXT;
16971
0
                return true;
16972
0
            }
16973
0
            break;
16974
0
        case 0xc48efe1bu:
16975
0
            if (!strcmp("vkGetImageViewOpaqueCaptureDescriptorDataEXT", name)) {
16976
0
                *addr = (void *)GetImageViewOpaqueCaptureDescriptorDataEXT;
16977
0
                return true;
16978
0
            }
16979
0
            break;
16980
0
        case 0x30c51247u:
16981
0
            if (!strcmp("vkGetSamplerOpaqueCaptureDescriptorDataEXT", name)) {
16982
0
                *addr = (void *)GetSamplerOpaqueCaptureDescriptorDataEXT;
16983
0
                return true;
16984
0
            }
16985
0
            break;
16986
0
        case 0x3a4b708au:
16987
0
            if (!strcmp("vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT", name)) {
16988
0
                *addr = (void *)GetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
16989
0
                return true;
16990
0
            }
16991
0
            break;
16992
16993
        // ---- VK_NV_fragment_shading_rate_enums extension commands
16994
0
        case 0x1867bd3bu:
16995
0
            if (!strcmp("vkCmdSetFragmentShadingRateEnumNV", name)) {
16996
0
                *addr = (void *)CmdSetFragmentShadingRateEnumNV;
16997
0
                return true;
16998
0
            }
16999
0
            break;
17000
17001
        // ---- VK_EXT_device_fault extension commands
17002
0
        case 0x45e8bd97u:
17003
0
            if (!strcmp("vkGetDeviceFaultInfoEXT", name)) {
17004
0
                *addr = (void *)GetDeviceFaultInfoEXT;
17005
0
                return true;
17006
0
            }
17007
0
            break;
17008
17009
        // ---- VK_NV_acquire_winrt_display extension commands
17010
#if defined(VK_USE_PLATFORM_WIN32_KHR)
17011
        case 0x6a89f660u:
17012
            if (!strcmp("vkAcquireWinrtDisplayNV", name)) {
17013
                *addr = (void *)AcquireWinrtDisplayNV;
17014
                return true;
17015
            }
17016
            break;
17017
#endif // VK_USE_PLATFORM_WIN32_KHR
17018
#if defined(VK_USE_PLATFORM_WIN32_KHR)
17019
        case 0x6f0cbf1cu:
17020
            if (!strcmp("vkGetWinrtDisplayNV", name)) {
17021
                *addr = (void *)GetWinrtDisplayNV;
17022
                return true;
17023
            }
17024
            break;
17025
#endif // VK_USE_PLATFORM_WIN32_KHR
17026
17027
        // ---- VK_EXT_vertex_input_dynamic_state extension commands
17028
0
        case 0x3298ff83u:
17029
0
            if (!strcmp("vkCmdSetVertexInputEXT", name)) {
17030
0
                *addr = (void *)CmdSetVertexInputEXT;
17031
0
                return true;
17032
0
            }
17033
0
            break;
17034
17035
        // ---- VK_FUCHSIA_external_memory extension commands
17036
#if defined(VK_USE_PLATFORM_FUCHSIA)
17037
        case 0xefb0e1a9u:
17038
            if (!strcmp("vkGetMemoryZirconHandleFUCHSIA", name)) {
17039
                *addr = (void *)GetMemoryZirconHandleFUCHSIA;
17040
                return true;
17041
            }
17042
            break;
17043
#endif // VK_USE_PLATFORM_FUCHSIA
17044
#if defined(VK_USE_PLATFORM_FUCHSIA)
17045
        case 0x7d63fff2u:
17046
            if (!strcmp("vkGetMemoryZirconHandlePropertiesFUCHSIA", name)) {
17047
                *addr = (void *)GetMemoryZirconHandlePropertiesFUCHSIA;
17048
                return true;
17049
            }
17050
            break;
17051
#endif // VK_USE_PLATFORM_FUCHSIA
17052
17053
        // ---- VK_FUCHSIA_external_semaphore extension commands
17054
#if defined(VK_USE_PLATFORM_FUCHSIA)
17055
        case 0xfc5f7b8fu:
17056
            if (!strcmp("vkImportSemaphoreZirconHandleFUCHSIA", name)) {
17057
                *addr = (void *)ImportSemaphoreZirconHandleFUCHSIA;
17058
                return true;
17059
            }
17060
            break;
17061
#endif // VK_USE_PLATFORM_FUCHSIA
17062
#if defined(VK_USE_PLATFORM_FUCHSIA)
17063
        case 0xabe59ff6u:
17064
            if (!strcmp("vkGetSemaphoreZirconHandleFUCHSIA", name)) {
17065
                *addr = (void *)GetSemaphoreZirconHandleFUCHSIA;
17066
                return true;
17067
            }
17068
            break;
17069
#endif // VK_USE_PLATFORM_FUCHSIA
17070
17071
        // ---- VK_FUCHSIA_buffer_collection extension commands
17072
#if defined(VK_USE_PLATFORM_FUCHSIA)
17073
        case 0xcaea62a1u:
17074
            if (!strcmp("vkCreateBufferCollectionFUCHSIA", name)) {
17075
                *addr = (void *)CreateBufferCollectionFUCHSIA;
17076
                return true;
17077
            }
17078
            break;
17079
#endif // VK_USE_PLATFORM_FUCHSIA
17080
#if defined(VK_USE_PLATFORM_FUCHSIA)
17081
        case 0x511c72d4u:
17082
            if (!strcmp("vkSetBufferCollectionImageConstraintsFUCHSIA", name)) {
17083
                *addr = (void *)SetBufferCollectionImageConstraintsFUCHSIA;
17084
                return true;
17085
            }
17086
            break;
17087
#endif // VK_USE_PLATFORM_FUCHSIA
17088
#if defined(VK_USE_PLATFORM_FUCHSIA)
17089
        case 0x65252663u:
17090
            if (!strcmp("vkSetBufferCollectionBufferConstraintsFUCHSIA", name)) {
17091
                *addr = (void *)SetBufferCollectionBufferConstraintsFUCHSIA;
17092
                return true;
17093
            }
17094
            break;
17095
#endif // VK_USE_PLATFORM_FUCHSIA
17096
#if defined(VK_USE_PLATFORM_FUCHSIA)
17097
        case 0xa20fd2f3u:
17098
            if (!strcmp("vkDestroyBufferCollectionFUCHSIA", name)) {
17099
                *addr = (void *)DestroyBufferCollectionFUCHSIA;
17100
                return true;
17101
            }
17102
            break;
17103
#endif // VK_USE_PLATFORM_FUCHSIA
17104
#if defined(VK_USE_PLATFORM_FUCHSIA)
17105
        case 0x5114fbaau:
17106
            if (!strcmp("vkGetBufferCollectionPropertiesFUCHSIA", name)) {
17107
                *addr = (void *)GetBufferCollectionPropertiesFUCHSIA;
17108
                return true;
17109
            }
17110
            break;
17111
#endif // VK_USE_PLATFORM_FUCHSIA
17112
17113
        // ---- VK_HUAWEI_subpass_shading extension commands
17114
0
        case 0xde26acd1u:
17115
0
            if (!strcmp("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI", name)) {
17116
0
                *addr = (void *)GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
17117
0
                return true;
17118
0
            }
17119
0
            break;
17120
0
        case 0x8e391e10u:
17121
0
            if (!strcmp("vkCmdSubpassShadingHUAWEI", name)) {
17122
0
                *addr = (void *)CmdSubpassShadingHUAWEI;
17123
0
                return true;
17124
0
            }
17125
0
            break;
17126
17127
        // ---- VK_HUAWEI_invocation_mask extension commands
17128
0
        case 0xb7e36fbeu:
17129
0
            if (!strcmp("vkCmdBindInvocationMaskHUAWEI", name)) {
17130
0
                *addr = (void *)CmdBindInvocationMaskHUAWEI;
17131
0
                return true;
17132
0
            }
17133
0
            break;
17134
17135
        // ---- VK_NV_external_memory_rdma extension commands
17136
0
        case 0x8ea6a5d9u:
17137
0
            if (!strcmp("vkGetMemoryRemoteAddressNV", name)) {
17138
0
                *addr = (void *)GetMemoryRemoteAddressNV;
17139
0
                return true;
17140
0
            }
17141
0
            break;
17142
17143
        // ---- VK_EXT_pipeline_properties extension commands
17144
0
        case 0xe5c5ddc8u:
17145
0
            if (!strcmp("vkGetPipelinePropertiesEXT", name)) {
17146
0
                *addr = (void *)GetPipelinePropertiesEXT;
17147
0
                return true;
17148
0
            }
17149
0
            break;
17150
17151
        // ---- VK_EXT_extended_dynamic_state2 extension commands
17152
0
        case 0x2c78d559u:
17153
0
            if (!strcmp("vkCmdSetPatchControlPointsEXT", name)) {
17154
0
                *addr = (void *)CmdSetPatchControlPointsEXT;
17155
0
                return true;
17156
0
            }
17157
0
            break;
17158
0
        case 0x711bc26fu:
17159
0
            if (!strcmp("vkCmdSetRasterizerDiscardEnableEXT", name)) {
17160
0
                *addr = (void *)CmdSetRasterizerDiscardEnableEXT;
17161
0
                return true;
17162
0
            }
17163
0
            break;
17164
0
        case 0xad4bca4cu:
17165
0
            if (!strcmp("vkCmdSetDepthBiasEnableEXT", name)) {
17166
0
                *addr = (void *)CmdSetDepthBiasEnableEXT;
17167
0
                return true;
17168
0
            }
17169
0
            break;
17170
0
        case 0x0eefc5f6u:
17171
0
            if (!strcmp("vkCmdSetLogicOpEXT", name)) {
17172
0
                *addr = (void *)CmdSetLogicOpEXT;
17173
0
                return true;
17174
0
            }
17175
0
            break;
17176
0
        case 0x29891200u:
17177
0
            if (!strcmp("vkCmdSetPrimitiveRestartEnableEXT", name)) {
17178
0
                *addr = (void *)CmdSetPrimitiveRestartEnableEXT;
17179
0
                return true;
17180
0
            }
17181
0
            break;
17182
17183
        // ---- VK_EXT_color_write_enable extension commands
17184
0
        case 0x2151479au:
17185
0
            if (!strcmp("vkCmdSetColorWriteEnableEXT", name)) {
17186
0
                *addr = (void *)CmdSetColorWriteEnableEXT;
17187
0
                return true;
17188
0
            }
17189
0
            break;
17190
17191
        // ---- VK_EXT_multi_draw extension commands
17192
0
        case 0x774a67e4u:
17193
0
            if (!strcmp("vkCmdDrawMultiEXT", name)) {
17194
0
                *addr = (void *)CmdDrawMultiEXT;
17195
0
                return true;
17196
0
            }
17197
0
            break;
17198
0
        case 0x3f52ede1u:
17199
0
            if (!strcmp("vkCmdDrawMultiIndexedEXT", name)) {
17200
0
                *addr = (void *)CmdDrawMultiIndexedEXT;
17201
0
                return true;
17202
0
            }
17203
0
            break;
17204
17205
        // ---- VK_EXT_opacity_micromap extension commands
17206
0
        case 0xe2a15fc3u:
17207
0
            if (!strcmp("vkCreateMicromapEXT", name)) {
17208
0
                *addr = (void *)CreateMicromapEXT;
17209
0
                return true;
17210
0
            }
17211
0
            break;
17212
0
        case 0xbba690d1u:
17213
0
            if (!strcmp("vkDestroyMicromapEXT", name)) {
17214
0
                *addr = (void *)DestroyMicromapEXT;
17215
0
                return true;
17216
0
            }
17217
0
            break;
17218
0
        case 0x0697ed14u:
17219
0
            if (!strcmp("vkCmdBuildMicromapsEXT", name)) {
17220
0
                *addr = (void *)CmdBuildMicromapsEXT;
17221
0
                return true;
17222
0
            }
17223
0
            break;
17224
0
        case 0x17ff5424u:
17225
0
            if (!strcmp("vkBuildMicromapsEXT", name)) {
17226
0
                *addr = (void *)BuildMicromapsEXT;
17227
0
                return true;
17228
0
            }
17229
0
            break;
17230
0
        case 0xbb1b22c4u:
17231
0
            if (!strcmp("vkCopyMicromapEXT", name)) {
17232
0
                *addr = (void *)CopyMicromapEXT;
17233
0
                return true;
17234
0
            }
17235
0
            break;
17236
0
        case 0x5e4746fau:
17237
0
            if (!strcmp("vkCopyMicromapToMemoryEXT", name)) {
17238
0
                *addr = (void *)CopyMicromapToMemoryEXT;
17239
0
                return true;
17240
0
            }
17241
0
            break;
17242
0
        case 0xba5a10beu:
17243
0
            if (!strcmp("vkCopyMemoryToMicromapEXT", name)) {
17244
0
                *addr = (void *)CopyMemoryToMicromapEXT;
17245
0
                return true;
17246
0
            }
17247
0
            break;
17248
0
        case 0xc3e1f2e0u:
17249
0
            if (!strcmp("vkWriteMicromapsPropertiesEXT", name)) {
17250
0
                *addr = (void *)WriteMicromapsPropertiesEXT;
17251
0
                return true;
17252
0
            }
17253
0
            break;
17254
0
        case 0x781554b4u:
17255
0
            if (!strcmp("vkCmdCopyMicromapEXT", name)) {
17256
0
                *addr = (void *)CmdCopyMicromapEXT;
17257
0
                return true;
17258
0
            }
17259
0
            break;
17260
0
        case 0xc4999e4au:
17261
0
            if (!strcmp("vkCmdCopyMicromapToMemoryEXT", name)) {
17262
0
                *addr = (void *)CmdCopyMicromapToMemoryEXT;
17263
0
                return true;
17264
0
            }
17265
0
            break;
17266
0
        case 0x3f5a94ceu:
17267
0
            if (!strcmp("vkCmdCopyMemoryToMicromapEXT", name)) {
17268
0
                *addr = (void *)CmdCopyMemoryToMicromapEXT;
17269
0
                return true;
17270
0
            }
17271
0
            break;
17272
0
        case 0x5ca21bd0u:
17273
0
            if (!strcmp("vkCmdWriteMicromapsPropertiesEXT", name)) {
17274
0
                *addr = (void *)CmdWriteMicromapsPropertiesEXT;
17275
0
                return true;
17276
0
            }
17277
0
            break;
17278
0
        case 0x5e20636du:
17279
0
            if (!strcmp("vkGetDeviceMicromapCompatibilityEXT", name)) {
17280
0
                *addr = (void *)GetDeviceMicromapCompatibilityEXT;
17281
0
                return true;
17282
0
            }
17283
0
            break;
17284
0
        case 0x7168fc65u:
17285
0
            if (!strcmp("vkGetMicromapBuildSizesEXT", name)) {
17286
0
                *addr = (void *)GetMicromapBuildSizesEXT;
17287
0
                return true;
17288
0
            }
17289
0
            break;
17290
17291
        // ---- VK_HUAWEI_cluster_culling_shader extension commands
17292
0
        case 0x6baca76bu:
17293
0
            if (!strcmp("vkCmdDrawClusterHUAWEI", name)) {
17294
0
                *addr = (void *)CmdDrawClusterHUAWEI;
17295
0
                return true;
17296
0
            }
17297
0
            break;
17298
0
        case 0x3d3b79f1u:
17299
0
            if (!strcmp("vkCmdDrawClusterIndirectHUAWEI", name)) {
17300
0
                *addr = (void *)CmdDrawClusterIndirectHUAWEI;
17301
0
                return true;
17302
0
            }
17303
0
            break;
17304
17305
        // ---- VK_EXT_pageable_device_local_memory extension commands
17306
0
        case 0xc8a6efc6u:
17307
0
            if (!strcmp("vkSetDeviceMemoryPriorityEXT", name)) {
17308
0
                *addr = (void *)SetDeviceMemoryPriorityEXT;
17309
0
                return true;
17310
0
            }
17311
0
            break;
17312
17313
        // ---- VK_ARM_scheduling_controls extension commands
17314
0
        case 0x89324726u:
17315
0
            if (!strcmp("vkCmdSetDispatchParametersARM", name)) {
17316
0
                *addr = (void *)CmdSetDispatchParametersARM;
17317
0
                return true;
17318
0
            }
17319
0
            break;
17320
17321
        // ---- VK_VALVE_descriptor_set_host_mapping extension commands
17322
0
        case 0x18c2f31du:
17323
0
            if (!strcmp("vkGetDescriptorSetLayoutHostMappingInfoVALVE", name)) {
17324
0
                *addr = (void *)GetDescriptorSetLayoutHostMappingInfoVALVE;
17325
0
                return true;
17326
0
            }
17327
0
            break;
17328
0
        case 0x9ac1c313u:
17329
0
            if (!strcmp("vkGetDescriptorSetHostMappingVALVE", name)) {
17330
0
                *addr = (void *)GetDescriptorSetHostMappingVALVE;
17331
0
                return true;
17332
0
            }
17333
0
            break;
17334
17335
        // ---- VK_NV_copy_memory_indirect extension commands
17336
0
        case 0x4f4f7f1eu:
17337
0
            if (!strcmp("vkCmdCopyMemoryIndirectNV", name)) {
17338
0
                *addr = (void *)CmdCopyMemoryIndirectNV;
17339
0
                return true;
17340
0
            }
17341
0
            break;
17342
0
        case 0xdb801f38u:
17343
0
            if (!strcmp("vkCmdCopyMemoryToImageIndirectNV", name)) {
17344
0
                *addr = (void *)CmdCopyMemoryToImageIndirectNV;
17345
0
                return true;
17346
0
            }
17347
0
            break;
17348
17349
        // ---- VK_NV_memory_decompression extension commands
17350
0
        case 0x095995c6u:
17351
0
            if (!strcmp("vkCmdDecompressMemoryNV", name)) {
17352
0
                *addr = (void *)CmdDecompressMemoryNV;
17353
0
                return true;
17354
0
            }
17355
0
            break;
17356
0
        case 0x0072c3bbu:
17357
0
            if (!strcmp("vkCmdDecompressMemoryIndirectCountNV", name)) {
17358
0
                *addr = (void *)CmdDecompressMemoryIndirectCountNV;
17359
0
                return true;
17360
0
            }
17361
0
            break;
17362
17363
        // ---- VK_NV_device_generated_commands_compute extension commands
17364
0
        case 0x8f995229u:
17365
0
            if (!strcmp("vkGetPipelineIndirectMemoryRequirementsNV", name)) {
17366
0
                *addr = (void *)GetPipelineIndirectMemoryRequirementsNV;
17367
0
                return true;
17368
0
            }
17369
0
            break;
17370
0
        case 0x8ae92cd1u:
17371
0
            if (!strcmp("vkCmdUpdatePipelineIndirectBufferNV", name)) {
17372
0
                *addr = (void *)CmdUpdatePipelineIndirectBufferNV;
17373
0
                return true;
17374
0
            }
17375
0
            break;
17376
0
        case 0xe875d4a8u:
17377
0
            if (!strcmp("vkGetPipelineIndirectDeviceAddressNV", name)) {
17378
0
                *addr = (void *)GetPipelineIndirectDeviceAddressNV;
17379
0
                return true;
17380
0
            }
17381
0
            break;
17382
17383
        // ---- VK_OHOS_external_memory extension commands
17384
#if defined(VK_USE_PLATFORM_OHOS)
17385
        case 0x021dab57u:
17386
            if (!strcmp("vkGetNativeBufferPropertiesOHOS", name)) {
17387
                *addr = (void *)GetNativeBufferPropertiesOHOS;
17388
                return true;
17389
            }
17390
            break;
17391
#endif // VK_USE_PLATFORM_OHOS
17392
#if defined(VK_USE_PLATFORM_OHOS)
17393
        case 0x8ba0c7e5u:
17394
            if (!strcmp("vkGetMemoryNativeBufferOHOS", name)) {
17395
                *addr = (void *)GetMemoryNativeBufferOHOS;
17396
                return true;
17397
            }
17398
            break;
17399
#endif // VK_USE_PLATFORM_OHOS
17400
17401
        // ---- VK_EXT_extended_dynamic_state3 extension commands
17402
0
        case 0x70c3dc4cu:
17403
0
            if (!strcmp("vkCmdSetDepthClampEnableEXT", name)) {
17404
0
                *addr = (void *)CmdSetDepthClampEnableEXT;
17405
0
                return true;
17406
0
            }
17407
0
            break;
17408
0
        case 0xc2274b7eu:
17409
0
            if (!strcmp("vkCmdSetPolygonModeEXT", name)) {
17410
0
                *addr = (void *)CmdSetPolygonModeEXT;
17411
0
                return true;
17412
0
            }
17413
0
            break;
17414
0
        case 0xcb2e03afu:
17415
0
            if (!strcmp("vkCmdSetRasterizationSamplesEXT", name)) {
17416
0
                *addr = (void *)CmdSetRasterizationSamplesEXT;
17417
0
                return true;
17418
0
            }
17419
0
            break;
17420
0
        case 0x84362607u:
17421
0
            if (!strcmp("vkCmdSetSampleMaskEXT", name)) {
17422
0
                *addr = (void *)CmdSetSampleMaskEXT;
17423
0
                return true;
17424
0
            }
17425
0
            break;
17426
0
        case 0xf1aeece5u:
17427
0
            if (!strcmp("vkCmdSetAlphaToCoverageEnableEXT", name)) {
17428
0
                *addr = (void *)CmdSetAlphaToCoverageEnableEXT;
17429
0
                return true;
17430
0
            }
17431
0
            break;
17432
0
        case 0x0267c1a9u:
17433
0
            if (!strcmp("vkCmdSetAlphaToOneEnableEXT", name)) {
17434
0
                *addr = (void *)CmdSetAlphaToOneEnableEXT;
17435
0
                return true;
17436
0
            }
17437
0
            break;
17438
0
        case 0xe515737fu:
17439
0
            if (!strcmp("vkCmdSetLogicOpEnableEXT", name)) {
17440
0
                *addr = (void *)CmdSetLogicOpEnableEXT;
17441
0
                return true;
17442
0
            }
17443
0
            break;
17444
0
        case 0x708b5766u:
17445
0
            if (!strcmp("vkCmdSetColorBlendEnableEXT", name)) {
17446
0
                *addr = (void *)CmdSetColorBlendEnableEXT;
17447
0
                return true;
17448
0
            }
17449
0
            break;
17450
0
        case 0xe944ce11u:
17451
0
            if (!strcmp("vkCmdSetColorBlendEquationEXT", name)) {
17452
0
                *addr = (void *)CmdSetColorBlendEquationEXT;
17453
0
                return true;
17454
0
            }
17455
0
            break;
17456
0
        case 0x0bb69c73u:
17457
0
            if (!strcmp("vkCmdSetColorWriteMaskEXT", name)) {
17458
0
                *addr = (void *)CmdSetColorWriteMaskEXT;
17459
0
                return true;
17460
0
            }
17461
0
            break;
17462
0
        case 0x8b317d1cu:
17463
0
            if (!strcmp("vkCmdSetTessellationDomainOriginEXT", name)) {
17464
0
                *addr = (void *)CmdSetTessellationDomainOriginEXT;
17465
0
                return true;
17466
0
            }
17467
0
            break;
17468
0
        case 0xbc2ebd0cu:
17469
0
            if (!strcmp("vkCmdSetRasterizationStreamEXT", name)) {
17470
0
                *addr = (void *)CmdSetRasterizationStreamEXT;
17471
0
                return true;
17472
0
            }
17473
0
            break;
17474
0
        case 0x124bf5b0u:
17475
0
            if (!strcmp("vkCmdSetConservativeRasterizationModeEXT", name)) {
17476
0
                *addr = (void *)CmdSetConservativeRasterizationModeEXT;
17477
0
                return true;
17478
0
            }
17479
0
            break;
17480
0
        case 0xc7b6d34cu:
17481
0
            if (!strcmp("vkCmdSetExtraPrimitiveOverestimationSizeEXT", name)) {
17482
0
                *addr = (void *)CmdSetExtraPrimitiveOverestimationSizeEXT;
17483
0
                return true;
17484
0
            }
17485
0
            break;
17486
0
        case 0xebe3b851u:
17487
0
            if (!strcmp("vkCmdSetDepthClipEnableEXT", name)) {
17488
0
                *addr = (void *)CmdSetDepthClipEnableEXT;
17489
0
                return true;
17490
0
            }
17491
0
            break;
17492
0
        case 0xc8b1e79au:
17493
0
            if (!strcmp("vkCmdSetSampleLocationsEnableEXT", name)) {
17494
0
                *addr = (void *)CmdSetSampleLocationsEnableEXT;
17495
0
                return true;
17496
0
            }
17497
0
            break;
17498
0
        case 0x80112225u:
17499
0
            if (!strcmp("vkCmdSetColorBlendAdvancedEXT", name)) {
17500
0
                *addr = (void *)CmdSetColorBlendAdvancedEXT;
17501
0
                return true;
17502
0
            }
17503
0
            break;
17504
0
        case 0xda32b61bu:
17505
0
            if (!strcmp("vkCmdSetProvokingVertexModeEXT", name)) {
17506
0
                *addr = (void *)CmdSetProvokingVertexModeEXT;
17507
0
                return true;
17508
0
            }
17509
0
            break;
17510
0
        case 0x7d324e7bu:
17511
0
            if (!strcmp("vkCmdSetLineRasterizationModeEXT", name)) {
17512
0
                *addr = (void *)CmdSetLineRasterizationModeEXT;
17513
0
                return true;
17514
0
            }
17515
0
            break;
17516
0
        case 0xd5f83099u:
17517
0
            if (!strcmp("vkCmdSetLineStippleEnableEXT", name)) {
17518
0
                *addr = (void *)CmdSetLineStippleEnableEXT;
17519
0
                return true;
17520
0
            }
17521
0
            break;
17522
0
        case 0x659e99e8u:
17523
0
            if (!strcmp("vkCmdSetDepthClipNegativeOneToOneEXT", name)) {
17524
0
                *addr = (void *)CmdSetDepthClipNegativeOneToOneEXT;
17525
0
                return true;
17526
0
            }
17527
0
            break;
17528
0
        case 0xa30c6369u:
17529
0
            if (!strcmp("vkCmdSetViewportWScalingEnableNV", name)) {
17530
0
                *addr = (void *)CmdSetViewportWScalingEnableNV;
17531
0
                return true;
17532
0
            }
17533
0
            break;
17534
0
        case 0x3909f03au:
17535
0
            if (!strcmp("vkCmdSetViewportSwizzleNV", name)) {
17536
0
                *addr = (void *)CmdSetViewportSwizzleNV;
17537
0
                return true;
17538
0
            }
17539
0
            break;
17540
0
        case 0x18a99affu:
17541
0
            if (!strcmp("vkCmdSetCoverageToColorEnableNV", name)) {
17542
0
                *addr = (void *)CmdSetCoverageToColorEnableNV;
17543
0
                return true;
17544
0
            }
17545
0
            break;
17546
0
        case 0x21c85b77u:
17547
0
            if (!strcmp("vkCmdSetCoverageToColorLocationNV", name)) {
17548
0
                *addr = (void *)CmdSetCoverageToColorLocationNV;
17549
0
                return true;
17550
0
            }
17551
0
            break;
17552
0
        case 0x6322bf31u:
17553
0
            if (!strcmp("vkCmdSetCoverageModulationModeNV", name)) {
17554
0
                *addr = (void *)CmdSetCoverageModulationModeNV;
17555
0
                return true;
17556
0
            }
17557
0
            break;
17558
0
        case 0x5009815du:
17559
0
            if (!strcmp("vkCmdSetCoverageModulationTableEnableNV", name)) {
17560
0
                *addr = (void *)CmdSetCoverageModulationTableEnableNV;
17561
0
                return true;
17562
0
            }
17563
0
            break;
17564
0
        case 0x16a7fbc2u:
17565
0
            if (!strcmp("vkCmdSetCoverageModulationTableNV", name)) {
17566
0
                *addr = (void *)CmdSetCoverageModulationTableNV;
17567
0
                return true;
17568
0
            }
17569
0
            break;
17570
0
        case 0x1b5e8f3cu:
17571
0
            if (!strcmp("vkCmdSetShadingRateImageEnableNV", name)) {
17572
0
                *addr = (void *)CmdSetShadingRateImageEnableNV;
17573
0
                return true;
17574
0
            }
17575
0
            break;
17576
0
        case 0xd737b6e4u:
17577
0
            if (!strcmp("vkCmdSetRepresentativeFragmentTestEnableNV", name)) {
17578
0
                *addr = (void *)CmdSetRepresentativeFragmentTestEnableNV;
17579
0
                return true;
17580
0
            }
17581
0
            break;
17582
0
        case 0xc02eb37eu:
17583
0
            if (!strcmp("vkCmdSetCoverageReductionModeNV", name)) {
17584
0
                *addr = (void *)CmdSetCoverageReductionModeNV;
17585
0
                return true;
17586
0
            }
17587
0
            break;
17588
17589
        // ---- VK_ARM_tensors extension commands
17590
0
        case 0xf6195cbbu:
17591
0
            if (!strcmp("vkCreateTensorARM", name)) {
17592
0
                *addr = (void *)CreateTensorARM;
17593
0
                return true;
17594
0
            }
17595
0
            break;
17596
0
        case 0x5926a701u:
17597
0
            if (!strcmp("vkDestroyTensorARM", name)) {
17598
0
                *addr = (void *)DestroyTensorARM;
17599
0
                return true;
17600
0
            }
17601
0
            break;
17602
0
        case 0x149afb70u:
17603
0
            if (!strcmp("vkCreateTensorViewARM", name)) {
17604
0
                *addr = (void *)CreateTensorViewARM;
17605
0
                return true;
17606
0
            }
17607
0
            break;
17608
0
        case 0xc6b6e2a6u:
17609
0
            if (!strcmp("vkDestroyTensorViewARM", name)) {
17610
0
                *addr = (void *)DestroyTensorViewARM;
17611
0
                return true;
17612
0
            }
17613
0
            break;
17614
0
        case 0xbedb253eu:
17615
0
            if (!strcmp("vkGetTensorMemoryRequirementsARM", name)) {
17616
0
                *addr = (void *)GetTensorMemoryRequirementsARM;
17617
0
                return true;
17618
0
            }
17619
0
            break;
17620
0
        case 0x3cec6c97u:
17621
0
            if (!strcmp("vkBindTensorMemoryARM", name)) {
17622
0
                *addr = (void *)BindTensorMemoryARM;
17623
0
                return true;
17624
0
            }
17625
0
            break;
17626
0
        case 0xfda86420u:
17627
0
            if (!strcmp("vkGetDeviceTensorMemoryRequirementsARM", name)) {
17628
0
                *addr = (void *)GetDeviceTensorMemoryRequirementsARM;
17629
0
                return true;
17630
0
            }
17631
0
            break;
17632
0
        case 0xa3426cd4u:
17633
0
            if (!strcmp("vkCmdCopyTensorARM", name)) {
17634
0
                *addr = (void *)CmdCopyTensorARM;
17635
0
                return true;
17636
0
            }
17637
0
            break;
17638
0
        case 0x1e4faf6cu:
17639
0
            if (!strcmp("vkGetPhysicalDeviceExternalTensorPropertiesARM", name)) {
17640
0
                *addr = (void *)GetPhysicalDeviceExternalTensorPropertiesARM;
17641
0
                return true;
17642
0
            }
17643
0
            break;
17644
0
        case 0x07a05987u:
17645
0
            if (!strcmp("vkGetTensorOpaqueCaptureDescriptorDataARM", name)) {
17646
0
                *addr = (void *)GetTensorOpaqueCaptureDescriptorDataARM;
17647
0
                return true;
17648
0
            }
17649
0
            break;
17650
0
        case 0x3c934486u:
17651
0
            if (!strcmp("vkGetTensorViewOpaqueCaptureDescriptorDataARM", name)) {
17652
0
                *addr = (void *)GetTensorViewOpaqueCaptureDescriptorDataARM;
17653
0
                return true;
17654
0
            }
17655
0
            break;
17656
17657
        // ---- VK_EXT_shader_module_identifier extension commands
17658
0
        case 0x3be5dd87u:
17659
0
            if (!strcmp("vkGetShaderModuleIdentifierEXT", name)) {
17660
0
                *addr = (void *)GetShaderModuleIdentifierEXT;
17661
0
                return true;
17662
0
            }
17663
0
            break;
17664
0
        case 0xa26b8c93u:
17665
0
            if (!strcmp("vkGetShaderModuleCreateInfoIdentifierEXT", name)) {
17666
0
                *addr = (void *)GetShaderModuleCreateInfoIdentifierEXT;
17667
0
                return true;
17668
0
            }
17669
0
            break;
17670
17671
        // ---- VK_NV_optical_flow extension commands
17672
0
        case 0xfddda5a0u:
17673
0
            if (!strcmp("vkGetPhysicalDeviceOpticalFlowImageFormatsNV", name)) {
17674
0
                *addr = (void *)GetPhysicalDeviceOpticalFlowImageFormatsNV;
17675
0
                return true;
17676
0
            }
17677
0
            break;
17678
0
        case 0x3f15b50eu:
17679
0
            if (!strcmp("vkCreateOpticalFlowSessionNV", name)) {
17680
0
                *addr = (void *)CreateOpticalFlowSessionNV;
17681
0
                return true;
17682
0
            }
17683
0
            break;
17684
0
        case 0xa7e6392cu:
17685
0
            if (!strcmp("vkDestroyOpticalFlowSessionNV", name)) {
17686
0
                *addr = (void *)DestroyOpticalFlowSessionNV;
17687
0
                return true;
17688
0
            }
17689
0
            break;
17690
0
        case 0xfbc22612u:
17691
0
            if (!strcmp("vkBindOpticalFlowSessionImageNV", name)) {
17692
0
                *addr = (void *)BindOpticalFlowSessionImageNV;
17693
0
                return true;
17694
0
            }
17695
0
            break;
17696
0
        case 0x55963f59u:
17697
0
            if (!strcmp("vkCmdOpticalFlowExecuteNV", name)) {
17698
0
                *addr = (void *)CmdOpticalFlowExecuteNV;
17699
0
                return true;
17700
0
            }
17701
0
            break;
17702
17703
        // ---- VK_AMD_anti_lag extension commands
17704
0
        case 0x6680cf67u:
17705
0
            if (!strcmp("vkAntiLagUpdateAMD", name)) {
17706
0
                *addr = (void *)AntiLagUpdateAMD;
17707
0
                return true;
17708
0
            }
17709
0
            break;
17710
17711
        // ---- VK_EXT_shader_object extension commands
17712
0
        case 0xdddadc2bu:
17713
0
            if (!strcmp("vkCreateShadersEXT", name)) {
17714
0
                *addr = (void *)CreateShadersEXT;
17715
0
                return true;
17716
0
            }
17717
0
            break;
17718
0
        case 0xb433af00u:
17719
0
            if (!strcmp("vkDestroyShaderEXT", name)) {
17720
0
                *addr = (void *)DestroyShaderEXT;
17721
0
                return true;
17722
0
            }
17723
0
            break;
17724
0
        case 0xb7a55e95u:
17725
0
            if (!strcmp("vkGetShaderBinaryDataEXT", name)) {
17726
0
                *addr = (void *)GetShaderBinaryDataEXT;
17727
0
                return true;
17728
0
            }
17729
0
            break;
17730
0
        case 0x053358a8u:
17731
0
            if (!strcmp("vkCmdBindShadersEXT", name)) {
17732
0
                *addr = (void *)CmdBindShadersEXT;
17733
0
                return true;
17734
0
            }
17735
0
            break;
17736
0
        case 0x7deb21c6u:
17737
0
            if (!strcmp("vkCmdSetDepthClampRangeEXT", name)) {
17738
0
                *addr = (void *)CmdSetDepthClampRangeEXT;
17739
0
                return true;
17740
0
            }
17741
0
            break;
17742
17743
        // ---- VK_QCOM_tile_properties extension commands
17744
0
        case 0x970c751cu:
17745
0
            if (!strcmp("vkGetFramebufferTilePropertiesQCOM", name)) {
17746
0
                *addr = (void *)GetFramebufferTilePropertiesQCOM;
17747
0
                return true;
17748
0
            }
17749
0
            break;
17750
0
        case 0xc2879ca0u:
17751
0
            if (!strcmp("vkGetDynamicRenderingTilePropertiesQCOM", name)) {
17752
0
                *addr = (void *)GetDynamicRenderingTilePropertiesQCOM;
17753
0
                return true;
17754
0
            }
17755
0
            break;
17756
17757
        // ---- VK_NV_cooperative_vector extension commands
17758
0
        case 0xb25f9422u:
17759
0
            if (!strcmp("vkGetPhysicalDeviceCooperativeVectorPropertiesNV", name)) {
17760
0
                *addr = (void *)GetPhysicalDeviceCooperativeVectorPropertiesNV;
17761
0
                return true;
17762
0
            }
17763
0
            break;
17764
0
        case 0x7e5327eeu:
17765
0
            if (!strcmp("vkConvertCooperativeVectorMatrixNV", name)) {
17766
0
                *addr = (void *)ConvertCooperativeVectorMatrixNV;
17767
0
                return true;
17768
0
            }
17769
0
            break;
17770
0
        case 0xe7c4b1feu:
17771
0
            if (!strcmp("vkCmdConvertCooperativeVectorMatrixNV", name)) {
17772
0
                *addr = (void *)CmdConvertCooperativeVectorMatrixNV;
17773
0
                return true;
17774
0
            }
17775
0
            break;
17776
17777
        // ---- VK_NV_low_latency2 extension commands
17778
0
        case 0xec9bf164u:
17779
0
            if (!strcmp("vkSetLatencySleepModeNV", name)) {
17780
0
                *addr = (void *)SetLatencySleepModeNV;
17781
0
                return true;
17782
0
            }
17783
0
            break;
17784
0
        case 0x2f2b0b4fu:
17785
0
            if (!strcmp("vkLatencySleepNV", name)) {
17786
0
                *addr = (void *)LatencySleepNV;
17787
0
                return true;
17788
0
            }
17789
0
            break;
17790
0
        case 0xd06a9a12u:
17791
0
            if (!strcmp("vkSetLatencyMarkerNV", name)) {
17792
0
                *addr = (void *)SetLatencyMarkerNV;
17793
0
                return true;
17794
0
            }
17795
0
            break;
17796
0
        case 0xd4280bbbu:
17797
0
            if (!strcmp("vkGetLatencyTimingsNV", name)) {
17798
0
                *addr = (void *)GetLatencyTimingsNV;
17799
0
                return true;
17800
0
            }
17801
0
            break;
17802
0
        case 0x78476952u:
17803
0
            if (!strcmp("vkQueueNotifyOutOfBandNV", name)) {
17804
0
                *addr = (void *)QueueNotifyOutOfBandNV;
17805
0
                return true;
17806
0
            }
17807
0
            break;
17808
17809
        // ---- VK_ARM_data_graph extension commands
17810
0
        case 0x3265bb35u:
17811
0
            if (!strcmp("vkCreateDataGraphPipelinesARM", name)) {
17812
0
                *addr = (void *)CreateDataGraphPipelinesARM;
17813
0
                return true;
17814
0
            }
17815
0
            break;
17816
0
        case 0xe318170au:
17817
0
            if (!strcmp("vkCreateDataGraphPipelineSessionARM", name)) {
17818
0
                *addr = (void *)CreateDataGraphPipelineSessionARM;
17819
0
                return true;
17820
0
            }
17821
0
            break;
17822
0
        case 0x7b53b18bu:
17823
0
            if (!strcmp("vkGetDataGraphPipelineSessionBindPointRequirementsARM", name)) {
17824
0
                *addr = (void *)GetDataGraphPipelineSessionBindPointRequirementsARM;
17825
0
                return true;
17826
0
            }
17827
0
            break;
17828
0
        case 0x975501a7u:
17829
0
            if (!strcmp("vkGetDataGraphPipelineSessionMemoryRequirementsARM", name)) {
17830
0
                *addr = (void *)GetDataGraphPipelineSessionMemoryRequirementsARM;
17831
0
                return true;
17832
0
            }
17833
0
            break;
17834
0
        case 0xc6b55726u:
17835
0
            if (!strcmp("vkBindDataGraphPipelineSessionMemoryARM", name)) {
17836
0
                *addr = (void *)BindDataGraphPipelineSessionMemoryARM;
17837
0
                return true;
17838
0
            }
17839
0
            break;
17840
0
        case 0x5374b188u:
17841
0
            if (!strcmp("vkDestroyDataGraphPipelineSessionARM", name)) {
17842
0
                *addr = (void *)DestroyDataGraphPipelineSessionARM;
17843
0
                return true;
17844
0
            }
17845
0
            break;
17846
0
        case 0xe33fbab6u:
17847
0
            if (!strcmp("vkCmdDispatchDataGraphARM", name)) {
17848
0
                *addr = (void *)CmdDispatchDataGraphARM;
17849
0
                return true;
17850
0
            }
17851
0
            break;
17852
0
        case 0xeea25bf0u:
17853
0
            if (!strcmp("vkGetDataGraphPipelineAvailablePropertiesARM", name)) {
17854
0
                *addr = (void *)GetDataGraphPipelineAvailablePropertiesARM;
17855
0
                return true;
17856
0
            }
17857
0
            break;
17858
0
        case 0x0cc73139u:
17859
0
            if (!strcmp("vkGetDataGraphPipelinePropertiesARM", name)) {
17860
0
                *addr = (void *)GetDataGraphPipelinePropertiesARM;
17861
0
                return true;
17862
0
            }
17863
0
            break;
17864
0
        case 0x71d6f639u:
17865
0
            if (!strcmp("vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM", name)) {
17866
0
                *addr = (void *)GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM;
17867
0
                return true;
17868
0
            }
17869
0
            break;
17870
0
        case 0xb42dbc4au:
17871
0
            if (!strcmp("vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM", name)) {
17872
0
                *addr = (void *)GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM;
17873
0
                return true;
17874
0
            }
17875
0
            break;
17876
17877
        // ---- VK_ARM_data_graph_instruction_set_tosa extension commands
17878
0
        case 0x3622b7dcu:
17879
0
            if (!strcmp("vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM", name)) {
17880
0
                *addr = (void *)GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM;
17881
0
                return true;
17882
0
            }
17883
0
            break;
17884
17885
        // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands
17886
0
        case 0xd128dc3cu:
17887
0
            if (!strcmp("vkCmdSetAttachmentFeedbackLoopEnableEXT", name)) {
17888
0
                *addr = (void *)CmdSetAttachmentFeedbackLoopEnableEXT;
17889
0
                return true;
17890
0
            }
17891
0
            break;
17892
17893
        // ---- VK_QNX_external_memory_screen_buffer extension commands
17894
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
17895
        case 0xfed75262u:
17896
            if (!strcmp("vkGetScreenBufferPropertiesQNX", name)) {
17897
                *addr = (void *)GetScreenBufferPropertiesQNX;
17898
                return true;
17899
            }
17900
            break;
17901
#endif // VK_USE_PLATFORM_SCREEN_QNX
17902
17903
        // ---- VK_QCOM_tile_memory_heap extension commands
17904
0
        case 0xdd00e73au:
17905
0
            if (!strcmp("vkCmdBindTileMemoryQCOM", name)) {
17906
0
                *addr = (void *)CmdBindTileMemoryQCOM;
17907
0
                return true;
17908
0
            }
17909
0
            break;
17910
17911
        // ---- VK_EXT_memory_decompression extension commands
17912
0
        case 0x6a605599u:
17913
0
            if (!strcmp("vkCmdDecompressMemoryEXT", name)) {
17914
0
                *addr = (void *)CmdDecompressMemoryEXT;
17915
0
                return true;
17916
0
            }
17917
0
            break;
17918
0
        case 0x66af0db6u:
17919
0
            if (!strcmp("vkCmdDecompressMemoryIndirectCountEXT", name)) {
17920
0
                *addr = (void *)CmdDecompressMemoryIndirectCountEXT;
17921
0
                return true;
17922
0
            }
17923
0
            break;
17924
17925
        // ---- VK_NV_external_compute_queue extension commands
17926
0
        case 0x51f34629u:
17927
0
            if (!strcmp("vkCreateExternalComputeQueueNV", name)) {
17928
0
                *addr = (void *)CreateExternalComputeQueueNV;
17929
0
                return true;
17930
0
            }
17931
0
            break;
17932
0
        case 0x1d6bd8c7u:
17933
0
            if (!strcmp("vkDestroyExternalComputeQueueNV", name)) {
17934
0
                *addr = (void *)DestroyExternalComputeQueueNV;
17935
0
                return true;
17936
0
            }
17937
0
            break;
17938
0
        case 0x3a602df9u:
17939
0
            if (!strcmp("vkGetExternalComputeQueueDataNV", name)) {
17940
0
                *addr = (void *)GetExternalComputeQueueDataNV;
17941
0
                return true;
17942
0
            }
17943
0
            break;
17944
17945
        // ---- VK_NV_cluster_acceleration_structure extension commands
17946
0
        case 0x6261636bu:
17947
0
            if (!strcmp("vkGetClusterAccelerationStructureBuildSizesNV", name)) {
17948
0
                *addr = (void *)GetClusterAccelerationStructureBuildSizesNV;
17949
0
                return true;
17950
0
            }
17951
0
            break;
17952
0
        case 0x9b35acc3u:
17953
0
            if (!strcmp("vkCmdBuildClusterAccelerationStructureIndirectNV", name)) {
17954
0
                *addr = (void *)CmdBuildClusterAccelerationStructureIndirectNV;
17955
0
                return true;
17956
0
            }
17957
0
            break;
17958
17959
        // ---- VK_NV_partitioned_acceleration_structure extension commands
17960
0
        case 0x770d3569u:
17961
0
            if (!strcmp("vkGetPartitionedAccelerationStructuresBuildSizesNV", name)) {
17962
0
                *addr = (void *)GetPartitionedAccelerationStructuresBuildSizesNV;
17963
0
                return true;
17964
0
            }
17965
0
            break;
17966
0
        case 0xb1f44da7u:
17967
0
            if (!strcmp("vkCmdBuildPartitionedAccelerationStructuresNV", name)) {
17968
0
                *addr = (void *)CmdBuildPartitionedAccelerationStructuresNV;
17969
0
                return true;
17970
0
            }
17971
0
            break;
17972
17973
        // ---- VK_EXT_device_generated_commands extension commands
17974
0
        case 0x7de39ea9u:
17975
0
            if (!strcmp("vkGetGeneratedCommandsMemoryRequirementsEXT", name)) {
17976
0
                *addr = (void *)GetGeneratedCommandsMemoryRequirementsEXT;
17977
0
                return true;
17978
0
            }
17979
0
            break;
17980
0
        case 0x8e079756u:
17981
0
            if (!strcmp("vkCmdPreprocessGeneratedCommandsEXT", name)) {
17982
0
                *addr = (void *)CmdPreprocessGeneratedCommandsEXT;
17983
0
                return true;
17984
0
            }
17985
0
            break;
17986
0
        case 0xb5bed6f3u:
17987
0
            if (!strcmp("vkCmdExecuteGeneratedCommandsEXT", name)) {
17988
0
                *addr = (void *)CmdExecuteGeneratedCommandsEXT;
17989
0
                return true;
17990
0
            }
17991
0
            break;
17992
0
        case 0x525f32efu:
17993
0
            if (!strcmp("vkCreateIndirectCommandsLayoutEXT", name)) {
17994
0
                *addr = (void *)CreateIndirectCommandsLayoutEXT;
17995
0
                return true;
17996
0
            }
17997
0
            break;
17998
0
        case 0x71f89de1u:
17999
0
            if (!strcmp("vkDestroyIndirectCommandsLayoutEXT", name)) {
18000
0
                *addr = (void *)DestroyIndirectCommandsLayoutEXT;
18001
0
                return true;
18002
0
            }
18003
0
            break;
18004
0
        case 0xcc596329u:
18005
0
            if (!strcmp("vkCreateIndirectExecutionSetEXT", name)) {
18006
0
                *addr = (void *)CreateIndirectExecutionSetEXT;
18007
0
                return true;
18008
0
            }
18009
0
            break;
18010
0
        case 0x299fac57u:
18011
0
            if (!strcmp("vkDestroyIndirectExecutionSetEXT", name)) {
18012
0
                *addr = (void *)DestroyIndirectExecutionSetEXT;
18013
0
                return true;
18014
0
            }
18015
0
            break;
18016
0
        case 0x911bed94u:
18017
0
            if (!strcmp("vkUpdateIndirectExecutionSetPipelineEXT", name)) {
18018
0
                *addr = (void *)UpdateIndirectExecutionSetPipelineEXT;
18019
0
                return true;
18020
0
            }
18021
0
            break;
18022
0
        case 0x15e51375u:
18023
0
            if (!strcmp("vkUpdateIndirectExecutionSetShaderEXT", name)) {
18024
0
                *addr = (void *)UpdateIndirectExecutionSetShaderEXT;
18025
0
                return true;
18026
0
            }
18027
0
            break;
18028
18029
        // ---- VK_OHOS_surface extension commands
18030
#if defined(VK_USE_PLATFORM_OHOS)
18031
        case 0xf433c5d8u:
18032
            if (!strcmp("vkCreateSurfaceOHOS", name)) {
18033
                *addr = (ptr_instance->enabled_extensions.ohos_surface == 1)
18034
                             ? (void *)CreateSurfaceOHOS
18035
                             : NULL;
18036
                return true;
18037
            }
18038
            break;
18039
#endif // VK_USE_PLATFORM_OHOS
18040
18041
        // ---- VK_NV_cooperative_matrix2 extension commands
18042
0
        case 0x41cdce56u:
18043
0
            if (!strcmp("vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV", name)) {
18044
0
                *addr = (void *)GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
18045
0
                return true;
18046
0
            }
18047
0
            break;
18048
18049
        // ---- VK_EXT_external_memory_metal extension commands
18050
#if defined(VK_USE_PLATFORM_METAL_EXT)
18051
        case 0x9bfa7761u:
18052
            if (!strcmp("vkGetMemoryMetalHandleEXT", name)) {
18053
                *addr = (void *)GetMemoryMetalHandleEXT;
18054
                return true;
18055
            }
18056
            break;
18057
#endif // VK_USE_PLATFORM_METAL_EXT
18058
#if defined(VK_USE_PLATFORM_METAL_EXT)
18059
        case 0xa92d688au:
18060
            if (!strcmp("vkGetMemoryMetalHandlePropertiesEXT", name)) {
18061
                *addr = (void *)GetMemoryMetalHandlePropertiesEXT;
18062
                return true;
18063
            }
18064
            break;
18065
#endif // VK_USE_PLATFORM_METAL_EXT
18066
18067
        // ---- VK_ARM_performance_counters_by_region extension commands
18068
0
        case 0x3dc8df2eu:
18069
0
            if (!strcmp("vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM", name)) {
18070
0
                *addr = (void *)EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM;
18071
0
                return true;
18072
0
            }
18073
0
            break;
18074
18075
        // ---- VK_ARM_shader_instrumentation extension commands
18076
0
        case 0x50326e9du:
18077
0
            if (!strcmp("vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM", name)) {
18078
0
                *addr = (void *)EnumeratePhysicalDeviceShaderInstrumentationMetricsARM;
18079
0
                return true;
18080
0
            }
18081
0
            break;
18082
0
        case 0xa053fa07u:
18083
0
            if (!strcmp("vkCreateShaderInstrumentationARM", name)) {
18084
0
                *addr = (void *)CreateShaderInstrumentationARM;
18085
0
                return true;
18086
0
            }
18087
0
            break;
18088
0
        case 0x175d6539u:
18089
0
            if (!strcmp("vkDestroyShaderInstrumentationARM", name)) {
18090
0
                *addr = (void *)DestroyShaderInstrumentationARM;
18091
0
                return true;
18092
0
            }
18093
0
            break;
18094
0
        case 0x2780a6a6u:
18095
0
            if (!strcmp("vkCmdBeginShaderInstrumentationARM", name)) {
18096
0
                *addr = (void *)CmdBeginShaderInstrumentationARM;
18097
0
                return true;
18098
0
            }
18099
0
            break;
18100
0
        case 0x32679bdeu:
18101
0
            if (!strcmp("vkCmdEndShaderInstrumentationARM", name)) {
18102
0
                *addr = (void *)CmdEndShaderInstrumentationARM;
18103
0
                return true;
18104
0
            }
18105
0
            break;
18106
0
        case 0x19ed613du:
18107
0
            if (!strcmp("vkGetShaderInstrumentationValuesARM", name)) {
18108
0
                *addr = (void *)GetShaderInstrumentationValuesARM;
18109
0
                return true;
18110
0
            }
18111
0
            break;
18112
0
        case 0x0d19a245u:
18113
0
            if (!strcmp("vkClearShaderInstrumentationMetricsARM", name)) {
18114
0
                *addr = (void *)ClearShaderInstrumentationMetricsARM;
18115
0
                return true;
18116
0
            }
18117
0
            break;
18118
18119
        // ---- VK_EXT_fragment_density_map_offset extension commands
18120
0
        case 0xdc7f8ea0u:
18121
0
            if (!strcmp("vkCmdEndRendering2EXT", name)) {
18122
0
                *addr = (void *)CmdEndRendering2EXT;
18123
0
                return true;
18124
0
            }
18125
0
            break;
18126
18127
        // ---- VK_EXT_custom_resolve extension commands
18128
0
        case 0x3c20a20fu:
18129
0
            if (!strcmp("vkCmdBeginCustomResolveEXT", name)) {
18130
0
                *addr = (void *)CmdBeginCustomResolveEXT;
18131
0
                return true;
18132
0
            }
18133
0
            break;
18134
18135
        // ---- VK_ARM_data_graph_optical_flow extension commands
18136
0
        case 0x91722673u:
18137
0
            if (!strcmp("vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM", name)) {
18138
0
                *addr = (void *)GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM;
18139
0
                return true;
18140
0
            }
18141
0
            break;
18142
18143
        // ---- VK_NV_compute_occupancy_priority extension commands
18144
0
        case 0xa3b990b8u:
18145
0
            if (!strcmp("vkCmdSetComputeOccupancyPriorityNV", name)) {
18146
0
                *addr = (void *)CmdSetComputeOccupancyPriorityNV;
18147
0
                return true;
18148
0
            }
18149
0
            break;
18150
18151
        // ---- VK_EXT_cooperative_matrix_maintenance1 extension commands
18152
0
        case 0x7959c3edu:
18153
0
            if (!strcmp("vkGetPhysicalDeviceCooperativeMatrixProperties2EXT", name)) {
18154
0
                *addr = (void *)GetPhysicalDeviceCooperativeMatrixProperties2EXT;
18155
0
                return true;
18156
0
            }
18157
0
            break;
18158
18159
        // ---- VK_SEC_ubm_surface extension commands
18160
#if defined(VK_USE_PLATFORM_UBM_SEC)
18161
        case 0x9630af04u:
18162
            if (!strcmp("vkCreateUbmSurfaceSEC", name)) {
18163
                *addr = (ptr_instance->enabled_extensions.sec_ubm_surface == 1)
18164
                             ? (void *)CreateUbmSurfaceSEC
18165
                             : NULL;
18166
                return true;
18167
            }
18168
            break;
18169
#endif // VK_USE_PLATFORM_UBM_SEC
18170
#if defined(VK_USE_PLATFORM_UBM_SEC)
18171
        case 0x42f91885u:
18172
            if (!strcmp("vkGetPhysicalDeviceUbmPresentationSupportSEC", name)) {
18173
                *addr = (ptr_instance->enabled_extensions.sec_ubm_surface == 1)
18174
                             ? (void *)GetPhysicalDeviceUbmPresentationSupportSEC
18175
                             : NULL;
18176
                return true;
18177
            }
18178
            break;
18179
#endif // VK_USE_PLATFORM_UBM_SEC
18180
18181
        // ---- VK_EXT_primitive_restart_index extension commands
18182
0
        case 0x19fa512du:
18183
0
            if (!strcmp("vkCmdSetPrimitiveRestartIndexEXT", name)) {
18184
0
                *addr = (void *)CmdSetPrimitiveRestartIndexEXT;
18185
0
                return true;
18186
0
            }
18187
0
            break;
18188
18189
        // ---- VK_KHR_acceleration_structure extension commands
18190
0
        case 0xc1a4729eu:
18191
0
            if (!strcmp("vkCreateAccelerationStructureKHR", name)) {
18192
0
                *addr = (void *)CreateAccelerationStructureKHR;
18193
0
                return true;
18194
0
            }
18195
0
            break;
18196
0
        case 0xe47439f0u:
18197
0
            if (!strcmp("vkDestroyAccelerationStructureKHR", name)) {
18198
0
                *addr = (void *)DestroyAccelerationStructureKHR;
18199
0
                return true;
18200
0
            }
18201
0
            break;
18202
0
        case 0xd0f4160fu:
18203
0
            if (!strcmp("vkCmdBuildAccelerationStructuresKHR", name)) {
18204
0
                *addr = (void *)CmdBuildAccelerationStructuresKHR;
18205
0
                return true;
18206
0
            }
18207
0
            break;
18208
0
        case 0xca119751u:
18209
0
            if (!strcmp("vkCmdBuildAccelerationStructuresIndirectKHR", name)) {
18210
0
                *addr = (void *)CmdBuildAccelerationStructuresIndirectKHR;
18211
0
                return true;
18212
0
            }
18213
0
            break;
18214
0
        case 0x33eb707fu:
18215
0
            if (!strcmp("vkBuildAccelerationStructuresKHR", name)) {
18216
0
                *addr = (void *)BuildAccelerationStructuresKHR;
18217
0
                return true;
18218
0
            }
18219
0
            break;
18220
0
        case 0x681947afu:
18221
0
            if (!strcmp("vkCopyAccelerationStructureKHR", name)) {
18222
0
                *addr = (void *)CopyAccelerationStructureKHR;
18223
0
                return true;
18224
0
            }
18225
0
            break;
18226
0
        case 0xe0d7cad5u:
18227
0
            if (!strcmp("vkCopyAccelerationStructureToMemoryKHR", name)) {
18228
0
                *addr = (void *)CopyAccelerationStructureToMemoryKHR;
18229
0
                return true;
18230
0
            }
18231
0
            break;
18232
0
        case 0xec40e9bdu:
18233
0
            if (!strcmp("vkCopyMemoryToAccelerationStructureKHR", name)) {
18234
0
                *addr = (void *)CopyMemoryToAccelerationStructureKHR;
18235
0
                return true;
18236
0
            }
18237
0
            break;
18238
0
        case 0x6485ef01u:
18239
0
            if (!strcmp("vkWriteAccelerationStructuresPropertiesKHR", name)) {
18240
0
                *addr = (void *)WriteAccelerationStructuresPropertiesKHR;
18241
0
                return true;
18242
0
            }
18243
0
            break;
18244
0
        case 0x7fc5c33fu:
18245
0
            if (!strcmp("vkCmdCopyAccelerationStructureKHR", name)) {
18246
0
                *addr = (void *)CmdCopyAccelerationStructureKHR;
18247
0
                return true;
18248
0
            }
18249
0
            break;
18250
0
        case 0x6b70ae85u:
18251
0
            if (!strcmp("vkCmdCopyAccelerationStructureToMemoryKHR", name)) {
18252
0
                *addr = (void *)CmdCopyAccelerationStructureToMemoryKHR;
18253
0
                return true;
18254
0
            }
18255
0
            break;
18256
0
        case 0x29df8fadu:
18257
0
            if (!strcmp("vkCmdCopyMemoryToAccelerationStructureKHR", name)) {
18258
0
                *addr = (void *)CmdCopyMemoryToAccelerationStructureKHR;
18259
0
                return true;
18260
0
            }
18261
0
            break;
18262
0
        case 0xfe17968au:
18263
0
            if (!strcmp("vkGetAccelerationStructureDeviceAddressKHR", name)) {
18264
0
                *addr = (void *)GetAccelerationStructureDeviceAddressKHR;
18265
0
                return true;
18266
0
            }
18267
0
            break;
18268
0
        case 0xf4a46011u:
18269
0
            if (!strcmp("vkCmdWriteAccelerationStructuresPropertiesKHR", name)) {
18270
0
                *addr = (void *)CmdWriteAccelerationStructuresPropertiesKHR;
18271
0
                return true;
18272
0
            }
18273
0
            break;
18274
0
        case 0x57005136u:
18275
0
            if (!strcmp("vkGetDeviceAccelerationStructureCompatibilityKHR", name)) {
18276
0
                *addr = (void *)GetDeviceAccelerationStructureCompatibilityKHR;
18277
0
                return true;
18278
0
            }
18279
0
            break;
18280
0
        case 0x3c23c8d8u:
18281
0
            if (!strcmp("vkGetAccelerationStructureBuildSizesKHR", name)) {
18282
0
                *addr = (void *)GetAccelerationStructureBuildSizesKHR;
18283
0
                return true;
18284
0
            }
18285
0
            break;
18286
18287
        // ---- VK_KHR_ray_tracing_pipeline extension commands
18288
0
        case 0x12a322e1u:
18289
0
            if (!strcmp("vkCmdTraceRaysKHR", name)) {
18290
0
                *addr = (void *)CmdTraceRaysKHR;
18291
0
                return true;
18292
0
            }
18293
0
            break;
18294
0
        case 0x20a853d6u:
18295
0
            if (!strcmp("vkCreateRayTracingPipelinesKHR", name)) {
18296
0
                *addr = (void *)CreateRayTracingPipelinesKHR;
18297
0
                return true;
18298
0
            }
18299
0
            break;
18300
0
        case 0xf1992945u:
18301
0
            if (!strcmp("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR", name)) {
18302
0
                *addr = (void *)GetRayTracingCaptureReplayShaderGroupHandlesKHR;
18303
0
                return true;
18304
0
            }
18305
0
            break;
18306
0
        case 0x2ad3ea47u:
18307
0
            if (!strcmp("vkCmdTraceRaysIndirectKHR", name)) {
18308
0
                *addr = (void *)CmdTraceRaysIndirectKHR;
18309
0
                return true;
18310
0
            }
18311
0
            break;
18312
0
        case 0x51021694u:
18313
0
            if (!strcmp("vkGetRayTracingShaderGroupStackSizeKHR", name)) {
18314
0
                *addr = (void *)GetRayTracingShaderGroupStackSizeKHR;
18315
0
                return true;
18316
0
            }
18317
0
            break;
18318
0
        case 0x8237bff2u:
18319
0
            if (!strcmp("vkCmdSetRayTracingPipelineStackSizeKHR", name)) {
18320
0
                *addr = (void *)CmdSetRayTracingPipelineStackSizeKHR;
18321
0
                return true;
18322
0
            }
18323
0
            break;
18324
18325
        // ---- VK_EXT_mesh_shader extension commands
18326
0
        case 0x3d5c136cu:
18327
0
            if (!strcmp("vkCmdDrawMeshTasksEXT", name)) {
18328
0
                *addr = (void *)CmdDrawMeshTasksEXT;
18329
0
                return true;
18330
0
            }
18331
0
            break;
18332
0
        case 0xd649c1b2u:
18333
0
            if (!strcmp("vkCmdDrawMeshTasksIndirectEXT", name)) {
18334
0
                *addr = (void *)CmdDrawMeshTasksIndirectEXT;
18335
0
                return true;
18336
0
            }
18337
0
            break;
18338
0
        case 0xc62120d5u:
18339
0
            if (!strcmp("vkCmdDrawMeshTasksIndirectCountEXT", name)) {
18340
0
                *addr = (void *)CmdDrawMeshTasksIndirectCountEXT;
18341
0
                return true;
18342
0
            }
18343
0
            break;
18344
0
        default:
18345
0
            break;
18346
0
    }
18347
0
    return false;
18348
0
}
18349
18350
// Used to keep track of all enabled instance extensions
18351
0
void fill_out_enabled_instance_extensions(uint32_t extension_count, const char *const * extension_list, struct loader_instance_extension_enable_list* enables) {
18352
0
    for (uint32_t i = 0; i < extension_count; i++) {
18353
18354
    // ---- VK_KHR_surface extension commands
18355
0
        if (0 == strcmp(extension_list[i], VK_KHR_SURFACE_EXTENSION_NAME)) { enables->khr_surface = 1; }
18356
18357
    // ---- VK_KHR_display extension commands
18358
0
        else if (0 == strcmp(extension_list[i], VK_KHR_DISPLAY_EXTENSION_NAME)) { enables->khr_display = 1; }
18359
18360
    // ---- VK_KHR_xlib_surface extension commands
18361
0
#if defined(VK_USE_PLATFORM_XLIB_KHR)
18362
0
        else if (0 == strcmp(extension_list[i], VK_KHR_XLIB_SURFACE_EXTENSION_NAME)) { enables->khr_xlib_surface = 1; }
18363
0
#endif // VK_USE_PLATFORM_XLIB_KHR
18364
18365
    // ---- VK_KHR_xcb_surface extension commands
18366
0
#if defined(VK_USE_PLATFORM_XCB_KHR)
18367
0
        else if (0 == strcmp(extension_list[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME)) { enables->khr_xcb_surface = 1; }
18368
0
#endif // VK_USE_PLATFORM_XCB_KHR
18369
18370
    // ---- VK_KHR_wayland_surface extension commands
18371
0
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
18372
0
        else if (0 == strcmp(extension_list[i], VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME)) { enables->khr_wayland_surface = 1; }
18373
0
#endif // VK_USE_PLATFORM_WAYLAND_KHR
18374
18375
    // ---- VK_KHR_android_surface extension commands
18376
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
18377
        else if (0 == strcmp(extension_list[i], VK_KHR_ANDROID_SURFACE_EXTENSION_NAME)) { enables->khr_android_surface = 1; }
18378
#endif // VK_USE_PLATFORM_ANDROID_KHR
18379
18380
    // ---- VK_KHR_win32_surface extension commands
18381
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18382
        else if (0 == strcmp(extension_list[i], VK_KHR_WIN32_SURFACE_EXTENSION_NAME)) { enables->khr_win32_surface = 1; }
18383
#endif // VK_USE_PLATFORM_WIN32_KHR
18384
18385
    // ---- VK_KHR_get_physical_device_properties2 extension commands
18386
0
        else if (0 == strcmp(extension_list[i], VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME)) { enables->khr_get_physical_device_properties2 = 1; }
18387
18388
    // ---- VK_KHR_device_group_creation extension commands
18389
0
        else if (0 == strcmp(extension_list[i], VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME)) { enables->khr_device_group_creation = 1; }
18390
18391
    // ---- VK_KHR_external_memory_capabilities extension commands
18392
0
        else if (0 == strcmp(extension_list[i], VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME)) { enables->khr_external_memory_capabilities = 1; }
18393
18394
    // ---- VK_KHR_external_semaphore_capabilities extension commands
18395
0
        else if (0 == strcmp(extension_list[i], VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME)) { enables->khr_external_semaphore_capabilities = 1; }
18396
18397
    // ---- VK_KHR_external_fence_capabilities extension commands
18398
0
        else if (0 == strcmp(extension_list[i], VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME)) { enables->khr_external_fence_capabilities = 1; }
18399
18400
    // ---- VK_KHR_get_surface_capabilities2 extension commands
18401
0
        else if (0 == strcmp(extension_list[i], VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME)) { enables->khr_get_surface_capabilities2 = 1; }
18402
18403
    // ---- VK_KHR_get_display_properties2 extension commands
18404
0
        else if (0 == strcmp(extension_list[i], VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME)) { enables->khr_get_display_properties2 = 1; }
18405
18406
    // ---- VK_KHR_surface_protected_capabilities extension commands
18407
0
        else if (0 == strcmp(extension_list[i], VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME)) { enables->khr_surface_protected_capabilities = 1; }
18408
18409
    // ---- VK_KHR_portability_enumeration extension commands
18410
0
        else if (0 == strcmp(extension_list[i], VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME)) { enables->khr_portability_enumeration = 1; }
18411
18412
    // ---- VK_KHR_surface_maintenance1 extension commands
18413
0
        else if (0 == strcmp(extension_list[i], VK_KHR_SURFACE_MAINTENANCE_1_EXTENSION_NAME)) { enables->khr_surface_maintenance1 = 1; }
18414
18415
    // ---- VK_EXT_debug_report extension commands
18416
0
        else if (0 == strcmp(extension_list[i], VK_EXT_DEBUG_REPORT_EXTENSION_NAME)) { enables->ext_debug_report = 1; }
18417
18418
    // ---- VK_GGP_stream_descriptor_surface extension commands
18419
#if defined(VK_USE_PLATFORM_GGP)
18420
        else if (0 == strcmp(extension_list[i], VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME)) { enables->ggp_stream_descriptor_surface = 1; }
18421
#endif // VK_USE_PLATFORM_GGP
18422
18423
    // ---- VK_NV_external_memory_capabilities extension commands
18424
0
        else if (0 == strcmp(extension_list[i], VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME)) { enables->nv_external_memory_capabilities = 1; }
18425
18426
    // ---- VK_EXT_validation_flags extension commands
18427
0
        else if (0 == strcmp(extension_list[i], VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME)) { enables->ext_validation_flags = 1; }
18428
18429
    // ---- VK_NN_vi_surface extension commands
18430
#if defined(VK_USE_PLATFORM_VI_NN)
18431
        else if (0 == strcmp(extension_list[i], VK_NN_VI_SURFACE_EXTENSION_NAME)) { enables->nn_vi_surface = 1; }
18432
#endif // VK_USE_PLATFORM_VI_NN
18433
18434
    // ---- VK_EXT_direct_mode_display extension commands
18435
0
        else if (0 == strcmp(extension_list[i], VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME)) { enables->ext_direct_mode_display = 1; }
18436
18437
    // ---- VK_EXT_acquire_xlib_display extension commands
18438
0
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
18439
0
        else if (0 == strcmp(extension_list[i], VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME)) { enables->ext_acquire_xlib_display = 1; }
18440
0
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
18441
18442
    // ---- VK_EXT_display_surface_counter extension commands
18443
0
        else if (0 == strcmp(extension_list[i], VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME)) { enables->ext_display_surface_counter = 1; }
18444
18445
    // ---- VK_EXT_swapchain_colorspace extension commands
18446
0
        else if (0 == strcmp(extension_list[i], VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME)) { enables->ext_swapchain_colorspace = 1; }
18447
18448
    // ---- VK_MVK_ios_surface extension commands
18449
#if defined(VK_USE_PLATFORM_IOS_MVK)
18450
        else if (0 == strcmp(extension_list[i], VK_MVK_IOS_SURFACE_EXTENSION_NAME)) { enables->mvk_ios_surface = 1; }
18451
#endif // VK_USE_PLATFORM_IOS_MVK
18452
18453
    // ---- VK_MVK_macos_surface extension commands
18454
#if defined(VK_USE_PLATFORM_MACOS_MVK)
18455
        else if (0 == strcmp(extension_list[i], VK_MVK_MACOS_SURFACE_EXTENSION_NAME)) { enables->mvk_macos_surface = 1; }
18456
#endif // VK_USE_PLATFORM_MACOS_MVK
18457
18458
    // ---- VK_EXT_debug_utils extension commands
18459
0
        else if (0 == strcmp(extension_list[i], VK_EXT_DEBUG_UTILS_EXTENSION_NAME)) { enables->ext_debug_utils = 1; }
18460
18461
    // ---- VK_FUCHSIA_imagepipe_surface extension commands
18462
#if defined(VK_USE_PLATFORM_FUCHSIA)
18463
        else if (0 == strcmp(extension_list[i], VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME)) { enables->fuchsia_imagepipe_surface = 1; }
18464
#endif // VK_USE_PLATFORM_FUCHSIA
18465
18466
    // ---- VK_EXT_metal_surface extension commands
18467
#if defined(VK_USE_PLATFORM_METAL_EXT)
18468
        else if (0 == strcmp(extension_list[i], VK_EXT_METAL_SURFACE_EXTENSION_NAME)) { enables->ext_metal_surface = 1; }
18469
#endif // VK_USE_PLATFORM_METAL_EXT
18470
18471
    // ---- VK_EXT_validation_features extension commands
18472
0
        else if (0 == strcmp(extension_list[i], VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME)) { enables->ext_validation_features = 1; }
18473
18474
    // ---- VK_EXT_headless_surface extension commands
18475
0
        else if (0 == strcmp(extension_list[i], VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME)) { enables->ext_headless_surface = 1; }
18476
18477
    // ---- VK_EXT_surface_maintenance1 extension commands
18478
0
        else if (0 == strcmp(extension_list[i], VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME)) { enables->ext_surface_maintenance1 = 1; }
18479
18480
    // ---- VK_EXT_acquire_drm_display extension commands
18481
0
        else if (0 == strcmp(extension_list[i], VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME)) { enables->ext_acquire_drm_display = 1; }
18482
18483
    // ---- VK_EXT_directfb_surface extension commands
18484
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
18485
        else if (0 == strcmp(extension_list[i], VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME)) { enables->ext_directfb_surface = 1; }
18486
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
18487
18488
    // ---- VK_QNX_screen_surface extension commands
18489
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
18490
        else if (0 == strcmp(extension_list[i], VK_QNX_SCREEN_SURFACE_EXTENSION_NAME)) { enables->qnx_screen_surface = 1; }
18491
#endif // VK_USE_PLATFORM_SCREEN_QNX
18492
18493
    // ---- VK_GOOGLE_surfaceless_query extension commands
18494
0
        else if (0 == strcmp(extension_list[i], VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME)) { enables->google_surfaceless_query = 1; }
18495
18496
    // ---- VK_LUNARG_direct_driver_loading extension commands
18497
0
        else if (0 == strcmp(extension_list[i], VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME)) { enables->lunarg_direct_driver_loading = 1; }
18498
18499
    // ---- VK_EXT_layer_settings extension commands
18500
0
        else if (0 == strcmp(extension_list[i], VK_EXT_LAYER_SETTINGS_EXTENSION_NAME)) { enables->ext_layer_settings = 1; }
18501
18502
    // ---- VK_NV_display_stereo extension commands
18503
0
        else if (0 == strcmp(extension_list[i], VK_NV_DISPLAY_STEREO_EXTENSION_NAME)) { enables->nv_display_stereo = 1; }
18504
18505
    // ---- VK_OHOS_surface extension commands
18506
#if defined(VK_USE_PLATFORM_OHOS)
18507
        else if (0 == strcmp(extension_list[i], VK_OHOS_SURFACE_EXTENSION_NAME)) { enables->ohos_surface = 1; }
18508
#endif // VK_USE_PLATFORM_OHOS
18509
18510
    // ---- VK_SEC_ubm_surface extension commands
18511
#if defined(VK_USE_PLATFORM_UBM_SEC)
18512
        else if (0 == strcmp(extension_list[i], VK_SEC_UBM_SURFACE_EXTENSION_NAME)) { enables->sec_ubm_surface = 1; }
18513
#endif // VK_USE_PLATFORM_UBM_SEC
18514
0
    }
18515
0
}
18516
18517
// Some device commands still need a terminator because the loader needs to unwrap something about them.
18518
// In many cases, the item needing unwrapping is a VkPhysicalDevice or VkSurfaceKHR object.  But there may be other items
18519
// in the future.
18520
0
PFN_vkVoidFunction get_extension_device_proc_terminator(struct loader_device *dev, const char *name, bool* found_name) {
18521
0
    *found_name = false;
18522
0
    if (!name || name[0] != 'v' || name[1] != 'k') {
18523
0
        return NULL;
18524
0
    }
18525
0
    name += 2;
18526
    // ---- VK_KHR_swapchain extension commands
18527
0
    if (!strcmp(name, "CreateSwapchainKHR")) {
18528
0
        *found_name = true;
18529
0
        return dev->driver_extensions.khr_swapchain_enabled ?
18530
0
            (PFN_vkVoidFunction)terminator_CreateSwapchainKHR : NULL;
18531
0
    }
18532
0
    if (!strcmp(name, "GetDeviceGroupSurfacePresentModesKHR")) {
18533
0
        *found_name = true;
18534
0
        return dev->driver_extensions.khr_swapchain_enabled || dev->driver_extensions.khr_device_group_enabled ?
18535
0
            (PFN_vkVoidFunction)terminator_GetDeviceGroupSurfacePresentModesKHR : NULL;
18536
0
    }
18537
    // ---- VK_KHR_display_swapchain extension commands
18538
0
    if (!strcmp(name, "CreateSharedSwapchainsKHR")) {
18539
0
        *found_name = true;
18540
0
        return dev->driver_extensions.khr_display_swapchain_enabled ?
18541
0
            (PFN_vkVoidFunction)terminator_CreateSharedSwapchainsKHR : NULL;
18542
0
    }
18543
    // ---- VK_EXT_debug_marker extension commands
18544
0
    if (!strcmp(name, "DebugMarkerSetObjectTagEXT")) {
18545
0
        *found_name = true;
18546
0
        return dev->driver_extensions.ext_debug_marker_enabled ?
18547
0
            (PFN_vkVoidFunction)terminator_DebugMarkerSetObjectTagEXT : NULL;
18548
0
    }
18549
0
    if (!strcmp(name, "DebugMarkerSetObjectNameEXT")) {
18550
0
        *found_name = true;
18551
0
        return dev->driver_extensions.ext_debug_marker_enabled ?
18552
0
            (PFN_vkVoidFunction)terminator_DebugMarkerSetObjectNameEXT : NULL;
18553
0
    }
18554
    // ---- VK_EXT_debug_utils extension commands
18555
0
    if (!strcmp(name, "SetDebugUtilsObjectNameEXT")) {
18556
0
        *found_name = true;
18557
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18558
0
            (PFN_vkVoidFunction)terminator_SetDebugUtilsObjectNameEXT : NULL;
18559
0
    }
18560
0
    if (!strcmp(name, "SetDebugUtilsObjectTagEXT")) {
18561
0
        *found_name = true;
18562
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18563
0
            (PFN_vkVoidFunction)terminator_SetDebugUtilsObjectTagEXT : NULL;
18564
0
    }
18565
0
    if (!strcmp(name, "QueueBeginDebugUtilsLabelEXT")) {
18566
0
        *found_name = true;
18567
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18568
0
            (PFN_vkVoidFunction)terminator_QueueBeginDebugUtilsLabelEXT : NULL;
18569
0
    }
18570
0
    if (!strcmp(name, "QueueEndDebugUtilsLabelEXT")) {
18571
0
        *found_name = true;
18572
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18573
0
            (PFN_vkVoidFunction)terminator_QueueEndDebugUtilsLabelEXT : NULL;
18574
0
    }
18575
0
    if (!strcmp(name, "QueueInsertDebugUtilsLabelEXT")) {
18576
0
        *found_name = true;
18577
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18578
0
            (PFN_vkVoidFunction)terminator_QueueInsertDebugUtilsLabelEXT : NULL;
18579
0
    }
18580
0
    if (!strcmp(name, "CmdBeginDebugUtilsLabelEXT")) {
18581
0
        *found_name = true;
18582
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18583
0
            (PFN_vkVoidFunction)terminator_CmdBeginDebugUtilsLabelEXT : NULL;
18584
0
    }
18585
0
    if (!strcmp(name, "CmdEndDebugUtilsLabelEXT")) {
18586
0
        *found_name = true;
18587
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18588
0
            (PFN_vkVoidFunction)terminator_CmdEndDebugUtilsLabelEXT : NULL;
18589
0
    }
18590
0
    if (!strcmp(name, "CmdInsertDebugUtilsLabelEXT")) {
18591
0
        *found_name = true;
18592
0
        return dev->driver_extensions.ext_debug_utils_enabled ?
18593
0
            (PFN_vkVoidFunction)terminator_CmdInsertDebugUtilsLabelEXT : NULL;
18594
0
    }
18595
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18596
    // ---- VK_EXT_full_screen_exclusive extension commands
18597
    if (!strcmp(name, "GetDeviceGroupSurfacePresentModes2EXT")) {
18598
        *found_name = true;
18599
        return dev->driver_extensions.ext_full_screen_exclusive_enabled ?
18600
            (PFN_vkVoidFunction)terminator_GetDeviceGroupSurfacePresentModes2EXT : NULL;
18601
    }
18602
#endif // VK_USE_PLATFORM_WIN32_KHR
18603
0
    return NULL;
18604
0
}
18605
18606
// This table contains the loader's instance dispatch table, which contains
18607
// default functions if no instance layers are activated.  This contains
18608
// pointers to "terminator functions".
18609
const VkLayerInstanceDispatchTable instance_disp = {
18610
18611
    // ---- Core Vulkan 1.0 commands
18612
    .DestroyInstance = terminator_DestroyInstance,
18613
    .EnumeratePhysicalDevices = terminator_EnumeratePhysicalDevices,
18614
    .GetPhysicalDeviceFeatures = terminator_GetPhysicalDeviceFeatures,
18615
    .GetPhysicalDeviceFormatProperties = terminator_GetPhysicalDeviceFormatProperties,
18616
    .GetPhysicalDeviceImageFormatProperties = terminator_GetPhysicalDeviceImageFormatProperties,
18617
    .GetPhysicalDeviceProperties = terminator_GetPhysicalDeviceProperties,
18618
    .GetPhysicalDeviceQueueFamilyProperties = terminator_GetPhysicalDeviceQueueFamilyProperties,
18619
    .GetPhysicalDeviceMemoryProperties = terminator_GetPhysicalDeviceMemoryProperties,
18620
    .GetInstanceProcAddr = vkGetInstanceProcAddr,
18621
    .EnumerateDeviceExtensionProperties = terminator_EnumerateDeviceExtensionProperties,
18622
    .EnumerateDeviceLayerProperties = terminator_EnumerateDeviceLayerProperties,
18623
    .GetPhysicalDeviceSparseImageFormatProperties = terminator_GetPhysicalDeviceSparseImageFormatProperties,
18624
18625
    // ---- Core Vulkan 1.1 commands
18626
    .EnumeratePhysicalDeviceGroups = terminator_EnumeratePhysicalDeviceGroups,
18627
    .GetPhysicalDeviceFeatures2 = terminator_GetPhysicalDeviceFeatures2,
18628
    .GetPhysicalDeviceProperties2 = terminator_GetPhysicalDeviceProperties2,
18629
    .GetPhysicalDeviceFormatProperties2 = terminator_GetPhysicalDeviceFormatProperties2,
18630
    .GetPhysicalDeviceImageFormatProperties2 = terminator_GetPhysicalDeviceImageFormatProperties2,
18631
    .GetPhysicalDeviceQueueFamilyProperties2 = terminator_GetPhysicalDeviceQueueFamilyProperties2,
18632
    .GetPhysicalDeviceMemoryProperties2 = terminator_GetPhysicalDeviceMemoryProperties2,
18633
    .GetPhysicalDeviceSparseImageFormatProperties2 = terminator_GetPhysicalDeviceSparseImageFormatProperties2,
18634
    .GetPhysicalDeviceExternalBufferProperties = terminator_GetPhysicalDeviceExternalBufferProperties,
18635
    .GetPhysicalDeviceExternalFenceProperties = terminator_GetPhysicalDeviceExternalFenceProperties,
18636
    .GetPhysicalDeviceExternalSemaphoreProperties = terminator_GetPhysicalDeviceExternalSemaphoreProperties,
18637
18638
    // ---- Core Vulkan 1.3 commands
18639
    .GetPhysicalDeviceToolProperties = terminator_GetPhysicalDeviceToolProperties,
18640
18641
    // ---- VK_KHR_surface extension commands
18642
    .DestroySurfaceKHR = terminator_DestroySurfaceKHR,
18643
    .GetPhysicalDeviceSurfaceSupportKHR = terminator_GetPhysicalDeviceSurfaceSupportKHR,
18644
    .GetPhysicalDeviceSurfaceCapabilitiesKHR = terminator_GetPhysicalDeviceSurfaceCapabilitiesKHR,
18645
    .GetPhysicalDeviceSurfaceFormatsKHR = terminator_GetPhysicalDeviceSurfaceFormatsKHR,
18646
    .GetPhysicalDeviceSurfacePresentModesKHR = terminator_GetPhysicalDeviceSurfacePresentModesKHR,
18647
18648
    // ---- VK_KHR_swapchain extension commands
18649
    .GetPhysicalDevicePresentRectanglesKHR = terminator_GetPhysicalDevicePresentRectanglesKHR,
18650
18651
    // ---- VK_KHR_display extension commands
18652
    .GetPhysicalDeviceDisplayPropertiesKHR = terminator_GetPhysicalDeviceDisplayPropertiesKHR,
18653
    .GetPhysicalDeviceDisplayPlanePropertiesKHR = terminator_GetPhysicalDeviceDisplayPlanePropertiesKHR,
18654
    .GetDisplayPlaneSupportedDisplaysKHR = terminator_GetDisplayPlaneSupportedDisplaysKHR,
18655
    .GetDisplayModePropertiesKHR = terminator_GetDisplayModePropertiesKHR,
18656
    .CreateDisplayModeKHR = terminator_CreateDisplayModeKHR,
18657
    .GetDisplayPlaneCapabilitiesKHR = terminator_GetDisplayPlaneCapabilitiesKHR,
18658
    .CreateDisplayPlaneSurfaceKHR = terminator_CreateDisplayPlaneSurfaceKHR,
18659
18660
    // ---- VK_KHR_xlib_surface extension commands
18661
#if defined(VK_USE_PLATFORM_XLIB_KHR)
18662
    .CreateXlibSurfaceKHR = terminator_CreateXlibSurfaceKHR,
18663
#endif // VK_USE_PLATFORM_XLIB_KHR
18664
#if defined(VK_USE_PLATFORM_XLIB_KHR)
18665
    .GetPhysicalDeviceXlibPresentationSupportKHR = terminator_GetPhysicalDeviceXlibPresentationSupportKHR,
18666
#endif // VK_USE_PLATFORM_XLIB_KHR
18667
18668
    // ---- VK_KHR_xcb_surface extension commands
18669
#if defined(VK_USE_PLATFORM_XCB_KHR)
18670
    .CreateXcbSurfaceKHR = terminator_CreateXcbSurfaceKHR,
18671
#endif // VK_USE_PLATFORM_XCB_KHR
18672
#if defined(VK_USE_PLATFORM_XCB_KHR)
18673
    .GetPhysicalDeviceXcbPresentationSupportKHR = terminator_GetPhysicalDeviceXcbPresentationSupportKHR,
18674
#endif // VK_USE_PLATFORM_XCB_KHR
18675
18676
    // ---- VK_KHR_wayland_surface extension commands
18677
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
18678
    .CreateWaylandSurfaceKHR = terminator_CreateWaylandSurfaceKHR,
18679
#endif // VK_USE_PLATFORM_WAYLAND_KHR
18680
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
18681
    .GetPhysicalDeviceWaylandPresentationSupportKHR = terminator_GetPhysicalDeviceWaylandPresentationSupportKHR,
18682
#endif // VK_USE_PLATFORM_WAYLAND_KHR
18683
18684
    // ---- VK_KHR_android_surface extension commands
18685
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
18686
    .CreateAndroidSurfaceKHR = terminator_CreateAndroidSurfaceKHR,
18687
#endif // VK_USE_PLATFORM_ANDROID_KHR
18688
18689
    // ---- VK_KHR_win32_surface extension commands
18690
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18691
    .CreateWin32SurfaceKHR = terminator_CreateWin32SurfaceKHR,
18692
#endif // VK_USE_PLATFORM_WIN32_KHR
18693
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18694
    .GetPhysicalDeviceWin32PresentationSupportKHR = terminator_GetPhysicalDeviceWin32PresentationSupportKHR,
18695
#endif // VK_USE_PLATFORM_WIN32_KHR
18696
18697
    // ---- VK_KHR_video_queue extension commands
18698
    .GetPhysicalDeviceVideoCapabilitiesKHR = terminator_GetPhysicalDeviceVideoCapabilitiesKHR,
18699
    .GetPhysicalDeviceVideoFormatPropertiesKHR = terminator_GetPhysicalDeviceVideoFormatPropertiesKHR,
18700
18701
    // ---- VK_KHR_get_physical_device_properties2 extension commands
18702
    .GetPhysicalDeviceFeatures2KHR = terminator_GetPhysicalDeviceFeatures2,
18703
    .GetPhysicalDeviceProperties2KHR = terminator_GetPhysicalDeviceProperties2,
18704
    .GetPhysicalDeviceFormatProperties2KHR = terminator_GetPhysicalDeviceFormatProperties2,
18705
    .GetPhysicalDeviceImageFormatProperties2KHR = terminator_GetPhysicalDeviceImageFormatProperties2,
18706
    .GetPhysicalDeviceQueueFamilyProperties2KHR = terminator_GetPhysicalDeviceQueueFamilyProperties2,
18707
    .GetPhysicalDeviceMemoryProperties2KHR = terminator_GetPhysicalDeviceMemoryProperties2,
18708
    .GetPhysicalDeviceSparseImageFormatProperties2KHR = terminator_GetPhysicalDeviceSparseImageFormatProperties2,
18709
18710
    // ---- VK_KHR_device_group_creation extension commands
18711
    .EnumeratePhysicalDeviceGroupsKHR = terminator_EnumeratePhysicalDeviceGroups,
18712
18713
    // ---- VK_KHR_external_memory_capabilities extension commands
18714
    .GetPhysicalDeviceExternalBufferPropertiesKHR = terminator_GetPhysicalDeviceExternalBufferProperties,
18715
18716
    // ---- VK_KHR_external_semaphore_capabilities extension commands
18717
    .GetPhysicalDeviceExternalSemaphorePropertiesKHR = terminator_GetPhysicalDeviceExternalSemaphoreProperties,
18718
18719
    // ---- VK_KHR_external_fence_capabilities extension commands
18720
    .GetPhysicalDeviceExternalFencePropertiesKHR = terminator_GetPhysicalDeviceExternalFenceProperties,
18721
18722
    // ---- VK_KHR_performance_query extension commands
18723
    .EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = terminator_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
18724
    .GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = terminator_GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,
18725
18726
    // ---- VK_KHR_get_surface_capabilities2 extension commands
18727
    .GetPhysicalDeviceSurfaceCapabilities2KHR = terminator_GetPhysicalDeviceSurfaceCapabilities2KHR,
18728
    .GetPhysicalDeviceSurfaceFormats2KHR = terminator_GetPhysicalDeviceSurfaceFormats2KHR,
18729
18730
    // ---- VK_KHR_get_display_properties2 extension commands
18731
    .GetPhysicalDeviceDisplayProperties2KHR = terminator_GetPhysicalDeviceDisplayProperties2KHR,
18732
    .GetPhysicalDeviceDisplayPlaneProperties2KHR = terminator_GetPhysicalDeviceDisplayPlaneProperties2KHR,
18733
    .GetDisplayModeProperties2KHR = terminator_GetDisplayModeProperties2KHR,
18734
    .GetDisplayPlaneCapabilities2KHR = terminator_GetDisplayPlaneCapabilities2KHR,
18735
18736
    // ---- VK_KHR_fragment_shading_rate extension commands
18737
    .GetPhysicalDeviceFragmentShadingRatesKHR = terminator_GetPhysicalDeviceFragmentShadingRatesKHR,
18738
18739
    // ---- VK_KHR_video_encode_queue extension commands
18740
    .GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = terminator_GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR,
18741
18742
    // ---- VK_KHR_cooperative_matrix extension commands
18743
    .GetPhysicalDeviceCooperativeMatrixPropertiesKHR = terminator_GetPhysicalDeviceCooperativeMatrixPropertiesKHR,
18744
18745
    // ---- VK_KHR_calibrated_timestamps extension commands
18746
    .GetPhysicalDeviceCalibrateableTimeDomainsKHR = terminator_GetPhysicalDeviceCalibrateableTimeDomainsKHR,
18747
18748
    // ---- VK_EXT_debug_report extension commands
18749
    .CreateDebugReportCallbackEXT = terminator_CreateDebugReportCallbackEXT,
18750
    .DestroyDebugReportCallbackEXT = terminator_DestroyDebugReportCallbackEXT,
18751
    .DebugReportMessageEXT = terminator_DebugReportMessageEXT,
18752
18753
    // ---- VK_GGP_stream_descriptor_surface extension commands
18754
#if defined(VK_USE_PLATFORM_GGP)
18755
    .CreateStreamDescriptorSurfaceGGP = terminator_CreateStreamDescriptorSurfaceGGP,
18756
#endif // VK_USE_PLATFORM_GGP
18757
18758
    // ---- VK_NV_external_memory_capabilities extension commands
18759
    .GetPhysicalDeviceExternalImageFormatPropertiesNV = terminator_GetPhysicalDeviceExternalImageFormatPropertiesNV,
18760
18761
    // ---- VK_NN_vi_surface extension commands
18762
#if defined(VK_USE_PLATFORM_VI_NN)
18763
    .CreateViSurfaceNN = terminator_CreateViSurfaceNN,
18764
#endif // VK_USE_PLATFORM_VI_NN
18765
18766
    // ---- VK_EXT_direct_mode_display extension commands
18767
    .ReleaseDisplayEXT = terminator_ReleaseDisplayEXT,
18768
18769
    // ---- VK_EXT_acquire_xlib_display extension commands
18770
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
18771
    .AcquireXlibDisplayEXT = terminator_AcquireXlibDisplayEXT,
18772
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
18773
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
18774
    .GetRandROutputDisplayEXT = terminator_GetRandROutputDisplayEXT,
18775
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
18776
18777
    // ---- VK_EXT_display_surface_counter extension commands
18778
    .GetPhysicalDeviceSurfaceCapabilities2EXT = terminator_GetPhysicalDeviceSurfaceCapabilities2EXT,
18779
18780
    // ---- VK_MVK_ios_surface extension commands
18781
#if defined(VK_USE_PLATFORM_IOS_MVK)
18782
    .CreateIOSSurfaceMVK = terminator_CreateIOSSurfaceMVK,
18783
#endif // VK_USE_PLATFORM_IOS_MVK
18784
18785
    // ---- VK_MVK_macos_surface extension commands
18786
#if defined(VK_USE_PLATFORM_MACOS_MVK)
18787
    .CreateMacOSSurfaceMVK = terminator_CreateMacOSSurfaceMVK,
18788
#endif // VK_USE_PLATFORM_MACOS_MVK
18789
18790
    // ---- VK_EXT_debug_utils extension commands
18791
    .CreateDebugUtilsMessengerEXT = terminator_CreateDebugUtilsMessengerEXT,
18792
    .DestroyDebugUtilsMessengerEXT = terminator_DestroyDebugUtilsMessengerEXT,
18793
    .SubmitDebugUtilsMessageEXT = terminator_SubmitDebugUtilsMessageEXT,
18794
18795
    // ---- VK_EXT_descriptor_heap extension commands
18796
    .GetPhysicalDeviceDescriptorSizeEXT = terminator_GetPhysicalDeviceDescriptorSizeEXT,
18797
18798
    // ---- VK_EXT_sample_locations extension commands
18799
    .GetPhysicalDeviceMultisamplePropertiesEXT = terminator_GetPhysicalDeviceMultisamplePropertiesEXT,
18800
18801
    // ---- VK_EXT_calibrated_timestamps extension commands
18802
    .GetPhysicalDeviceCalibrateableTimeDomainsEXT = terminator_GetPhysicalDeviceCalibrateableTimeDomainsEXT,
18803
18804
    // ---- VK_FUCHSIA_imagepipe_surface extension commands
18805
#if defined(VK_USE_PLATFORM_FUCHSIA)
18806
    .CreateImagePipeSurfaceFUCHSIA = terminator_CreateImagePipeSurfaceFUCHSIA,
18807
#endif // VK_USE_PLATFORM_FUCHSIA
18808
18809
    // ---- VK_EXT_metal_surface extension commands
18810
#if defined(VK_USE_PLATFORM_METAL_EXT)
18811
    .CreateMetalSurfaceEXT = terminator_CreateMetalSurfaceEXT,
18812
#endif // VK_USE_PLATFORM_METAL_EXT
18813
18814
    // ---- VK_EXT_tooling_info extension commands
18815
    .GetPhysicalDeviceToolPropertiesEXT = terminator_GetPhysicalDeviceToolPropertiesEXT,
18816
18817
    // ---- VK_NV_cooperative_matrix extension commands
18818
    .GetPhysicalDeviceCooperativeMatrixPropertiesNV = terminator_GetPhysicalDeviceCooperativeMatrixPropertiesNV,
18819
18820
    // ---- VK_NV_coverage_reduction_mode extension commands
18821
    .GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = terminator_GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV,
18822
18823
    // ---- VK_EXT_full_screen_exclusive extension commands
18824
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18825
    .GetPhysicalDeviceSurfacePresentModes2EXT = terminator_GetPhysicalDeviceSurfacePresentModes2EXT,
18826
#endif // VK_USE_PLATFORM_WIN32_KHR
18827
18828
    // ---- VK_EXT_headless_surface extension commands
18829
    .CreateHeadlessSurfaceEXT = terminator_CreateHeadlessSurfaceEXT,
18830
18831
    // ---- VK_EXT_acquire_drm_display extension commands
18832
    .AcquireDrmDisplayEXT = terminator_AcquireDrmDisplayEXT,
18833
    .GetDrmDisplayEXT = terminator_GetDrmDisplayEXT,
18834
18835
    // ---- VK_NV_acquire_winrt_display extension commands
18836
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18837
    .AcquireWinrtDisplayNV = terminator_AcquireWinrtDisplayNV,
18838
#endif // VK_USE_PLATFORM_WIN32_KHR
18839
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18840
    .GetWinrtDisplayNV = terminator_GetWinrtDisplayNV,
18841
#endif // VK_USE_PLATFORM_WIN32_KHR
18842
18843
    // ---- VK_EXT_directfb_surface extension commands
18844
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
18845
    .CreateDirectFBSurfaceEXT = terminator_CreateDirectFBSurfaceEXT,
18846
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
18847
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
18848
    .GetPhysicalDeviceDirectFBPresentationSupportEXT = terminator_GetPhysicalDeviceDirectFBPresentationSupportEXT,
18849
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
18850
18851
    // ---- VK_QNX_screen_surface extension commands
18852
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
18853
    .CreateScreenSurfaceQNX = terminator_CreateScreenSurfaceQNX,
18854
#endif // VK_USE_PLATFORM_SCREEN_QNX
18855
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
18856
    .GetPhysicalDeviceScreenPresentationSupportQNX = terminator_GetPhysicalDeviceScreenPresentationSupportQNX,
18857
#endif // VK_USE_PLATFORM_SCREEN_QNX
18858
18859
    // ---- VK_ARM_tensors extension commands
18860
    .GetPhysicalDeviceExternalTensorPropertiesARM = terminator_GetPhysicalDeviceExternalTensorPropertiesARM,
18861
18862
    // ---- VK_NV_optical_flow extension commands
18863
    .GetPhysicalDeviceOpticalFlowImageFormatsNV = terminator_GetPhysicalDeviceOpticalFlowImageFormatsNV,
18864
18865
    // ---- VK_NV_cooperative_vector extension commands
18866
    .GetPhysicalDeviceCooperativeVectorPropertiesNV = terminator_GetPhysicalDeviceCooperativeVectorPropertiesNV,
18867
18868
    // ---- VK_ARM_data_graph extension commands
18869
    .GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = terminator_GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM,
18870
    .GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = terminator_GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM,
18871
18872
    // ---- VK_ARM_data_graph_instruction_set_tosa extension commands
18873
    .GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = terminator_GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM,
18874
18875
    // ---- VK_OHOS_surface extension commands
18876
#if defined(VK_USE_PLATFORM_OHOS)
18877
    .CreateSurfaceOHOS = terminator_CreateSurfaceOHOS,
18878
#endif // VK_USE_PLATFORM_OHOS
18879
18880
    // ---- VK_NV_cooperative_matrix2 extension commands
18881
    .GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = terminator_GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV,
18882
18883
    // ---- VK_ARM_performance_counters_by_region extension commands
18884
    .EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = terminator_EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM,
18885
18886
    // ---- VK_ARM_shader_instrumentation extension commands
18887
    .EnumeratePhysicalDeviceShaderInstrumentationMetricsARM = terminator_EnumeratePhysicalDeviceShaderInstrumentationMetricsARM,
18888
18889
    // ---- VK_ARM_data_graph_optical_flow extension commands
18890
    .GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = terminator_GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM,
18891
18892
    // ---- VK_EXT_cooperative_matrix_maintenance1 extension commands
18893
    .GetPhysicalDeviceCooperativeMatrixProperties2EXT = terminator_GetPhysicalDeviceCooperativeMatrixProperties2EXT,
18894
18895
    // ---- VK_SEC_ubm_surface extension commands
18896
#if defined(VK_USE_PLATFORM_UBM_SEC)
18897
    .CreateUbmSurfaceSEC = terminator_CreateUbmSurfaceSEC,
18898
#endif // VK_USE_PLATFORM_UBM_SEC
18899
#if defined(VK_USE_PLATFORM_UBM_SEC)
18900
    .GetPhysicalDeviceUbmPresentationSupportSEC = terminator_GetPhysicalDeviceUbmPresentationSupportSEC,
18901
#endif // VK_USE_PLATFORM_UBM_SEC
18902
};
18903
18904
// A null-terminated list of all of the instance extensions supported by the loader.
18905
// If an instance extension name is not in this list, but it is exported by one or more of the
18906
// ICDs detected by the loader, then the extension name not in the list will be filtered out
18907
// before passing the list of extensions to the application.
18908
const char *const LOADER_INSTANCE_EXTENSIONS[] = {
18909
                                                  VK_KHR_SURFACE_EXTENSION_NAME,
18910
                                                  VK_KHR_DISPLAY_EXTENSION_NAME,
18911
#if defined(VK_USE_PLATFORM_XLIB_KHR)
18912
                                                  VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
18913
#endif // VK_USE_PLATFORM_XLIB_KHR
18914
#if defined(VK_USE_PLATFORM_XCB_KHR)
18915
                                                  VK_KHR_XCB_SURFACE_EXTENSION_NAME,
18916
#endif // VK_USE_PLATFORM_XCB_KHR
18917
#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
18918
                                                  VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
18919
#endif // VK_USE_PLATFORM_WAYLAND_KHR
18920
#if defined(VK_USE_PLATFORM_ANDROID_KHR)
18921
                                                  VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
18922
#endif // VK_USE_PLATFORM_ANDROID_KHR
18923
#if defined(VK_USE_PLATFORM_WIN32_KHR)
18924
                                                  VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
18925
#endif // VK_USE_PLATFORM_WIN32_KHR
18926
                                                  VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
18927
                                                  VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,
18928
                                                  VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
18929
                                                  VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,
18930
                                                  VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME,
18931
                                                  VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,
18932
                                                  VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME,
18933
                                                  VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME,
18934
                                                  VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
18935
                                                  VK_KHR_SURFACE_MAINTENANCE_1_EXTENSION_NAME,
18936
                                                  VK_EXT_DEBUG_REPORT_EXTENSION_NAME,
18937
#if defined(VK_USE_PLATFORM_GGP)
18938
                                                  VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME,
18939
#endif // VK_USE_PLATFORM_GGP
18940
                                                  VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
18941
                                                  VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME,
18942
#if defined(VK_USE_PLATFORM_VI_NN)
18943
                                                  VK_NN_VI_SURFACE_EXTENSION_NAME,
18944
#endif // VK_USE_PLATFORM_VI_NN
18945
                                                  VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME,
18946
#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
18947
                                                  VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME,
18948
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
18949
                                                  VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,
18950
                                                  VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME,
18951
#if defined(VK_USE_PLATFORM_IOS_MVK)
18952
                                                  VK_MVK_IOS_SURFACE_EXTENSION_NAME,
18953
#endif // VK_USE_PLATFORM_IOS_MVK
18954
#if defined(VK_USE_PLATFORM_MACOS_MVK)
18955
                                                  VK_MVK_MACOS_SURFACE_EXTENSION_NAME,
18956
#endif // VK_USE_PLATFORM_MACOS_MVK
18957
                                                  VK_EXT_DEBUG_UTILS_EXTENSION_NAME,
18958
#if defined(VK_USE_PLATFORM_FUCHSIA)
18959
                                                  VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME,
18960
#endif // VK_USE_PLATFORM_FUCHSIA
18961
#if defined(VK_USE_PLATFORM_METAL_EXT)
18962
                                                  VK_EXT_METAL_SURFACE_EXTENSION_NAME,
18963
#endif // VK_USE_PLATFORM_METAL_EXT
18964
                                                  VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME,
18965
                                                  VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME,
18966
                                                  VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME,
18967
                                                  VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME,
18968
#if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
18969
                                                  VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME,
18970
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
18971
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
18972
                                                  VK_QNX_SCREEN_SURFACE_EXTENSION_NAME,
18973
#endif // VK_USE_PLATFORM_SCREEN_QNX
18974
                                                  VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME,
18975
                                                  VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME,
18976
                                                  VK_EXT_LAYER_SETTINGS_EXTENSION_NAME,
18977
                                                  VK_NV_DISPLAY_STEREO_EXTENSION_NAME,
18978
#if defined(VK_USE_PLATFORM_OHOS)
18979
                                                  VK_OHOS_SURFACE_EXTENSION_NAME,
18980
#endif // VK_USE_PLATFORM_OHOS
18981
#if defined(VK_USE_PLATFORM_UBM_SEC)
18982
                                                  VK_SEC_UBM_SURFACE_EXTENSION_NAME,
18983
#endif // VK_USE_PLATFORM_UBM_SEC
18984
                                                  NULL };
18985
// clang-format on