• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright © 2015 Intel Corporation
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice (including the next
12  * paragraph) shall be included in all copies or substantial portions of the
13  * Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21  * IN THE SOFTWARE.
22  */
23 
24 /* This file generated from anv_entrypoints_gen.py, don't edit directly. */
25 
26 #include "anv_private.h"
27 
28 #include "util/macros.h"
29 
30 struct string_map_entry {
31    uint32_t name;
32    uint32_t hash;
33    uint32_t num;
34 };
35 
36 /* We use a big string constant to avoid lots of reloctions from the entry
37  * point table to lots of little strings. The entries in the entry point table
38  * store the index into this big string.
39  */
40 
41 
42 
43 
44 static const char instance_strings[] =
45     "vkCreateDebugReportCallbackEXT\0"
46     "vkCreateDisplayPlaneSurfaceKHR\0"
47     "vkCreateInstance\0"
48     "vkCreateWaylandSurfaceKHR\0"
49     "vkCreateXcbSurfaceKHR\0"
50     "vkCreateXlibSurfaceKHR\0"
51     "vkDebugReportMessageEXT\0"
52     "vkDestroyDebugReportCallbackEXT\0"
53     "vkDestroyInstance\0"
54     "vkDestroySurfaceKHR\0"
55     "vkEnumerateInstanceExtensionProperties\0"
56     "vkEnumerateInstanceLayerProperties\0"
57     "vkEnumerateInstanceVersion\0"
58     "vkEnumeratePhysicalDeviceGroups\0"
59     "vkEnumeratePhysicalDeviceGroupsKHR\0"
60     "vkEnumeratePhysicalDevices\0"
61     "vkGetInstanceProcAddr\0"
62 ;
63 
64 static const struct string_map_entry instance_string_map_entries[] = {
65     { 0, 0x987ef56, 12 }, /* vkCreateDebugReportCallbackEXT */
66     { 31, 0x7ac4dacb, 7 }, /* vkCreateDisplayPlaneSurfaceKHR */
67     { 62, 0x38a581a6, 0 }, /* vkCreateInstance */
68     { 79, 0x2b2a4b79, 9 }, /* vkCreateWaylandSurfaceKHR */
69     { 105, 0xc5e5b106, 11 }, /* vkCreateXcbSurfaceKHR */
70     { 127, 0xa693bc66, 10 }, /* vkCreateXlibSurfaceKHR */
71     { 150, 0xa4e75334, 14 }, /* vkDebugReportMessageEXT */
72     { 174, 0x43d4c4e2, 13 }, /* vkDestroyDebugReportCallbackEXT */
73     { 206, 0x9bd21af2, 1 }, /* vkDestroyInstance */
74     { 224, 0xf204ce7d, 8 }, /* vkDestroySurfaceKHR */
75     { 244, 0xeb27627e, 6 }, /* vkEnumerateInstanceExtensionProperties */
76     { 283, 0x81f69d8, 5 }, /* vkEnumerateInstanceLayerProperties */
77     { 318, 0xd0481e5c, 4 }, /* vkEnumerateInstanceVersion */
78     { 345, 0x270514f0, 15 }, /* vkEnumeratePhysicalDeviceGroups */
79     { 377, 0x549ce595, 16 }, /* vkEnumeratePhysicalDeviceGroupsKHR */
80     { 412, 0x5787c327, 2 }, /* vkEnumeratePhysicalDevices */
81     { 439, 0x3d2ae9ad, 3 }, /* vkGetInstanceProcAddr */
82 };
83 
84 /* Hash table stats:
85  * size 17 entries
86  * collisions entries:
87  *     0      15
88  *     1      0
89  *     2      1
90  *     3      1
91  *     4      0
92  *     5      0
93  *     6      0
94  *     7      0
95  *     8      0
96  *     9+     0
97  */
98 
99 #define none 0xffff
100 static const uint16_t instance_string_map[32] = {
101     none,
102     none,
103     0x0007,
104     none,
105     none,
106     none,
107     0x0002,
108     0x000f,
109     none,
110     none,
111     none,
112     0x0001,
113     0x0004,
114     0x0010,
115     none,
116     none,
117     0x000d,
118     none,
119     0x0008,
120     none,
121     0x0006,
122     0x000e,
123     0x0000,
124     none,
125     0x000b,
126     0x0003,
127     none,
128     none,
129     0x000c,
130     0x0009,
131     0x000a,
132     0x0005,
133 };
134 
135 static int
instance_string_map_lookup(const char * str)136 instance_string_map_lookup(const char *str)
137 {
138     static const uint32_t prime_factor = 5024183;
139     static const uint32_t prime_step = 19;
140     const struct string_map_entry *e;
141     uint32_t hash, h;
142     uint16_t i;
143     const char *p;
144 
145     hash = 0;
146     for (p = str; *p; p++)
147         hash = hash * prime_factor + *p;
148 
149     h = hash;
150     while (1) {
151         i = instance_string_map[h & 31];
152         if (i == none)
153            return -1;
154         e = &instance_string_map_entries[i];
155         if (e->hash == hash && strcmp(str, instance_strings + e->name) == 0)
156             return e->num;
157         h += prime_step;
158     }
159 
160     return -1;
161 }
162 
163 static const char *
instance_entry_name(int num)164 instance_entry_name(int num)
165 {
166    for (int i = 0; i < ARRAY_SIZE(instance_string_map_entries); i++) {
167       if (instance_string_map_entries[i].num == num)
168          return &instance_strings[instance_string_map_entries[i].name];
169    }
170    return NULL;
171 }
172 
173 
174 static const char physical_device_strings[] =
175     "vkAcquireXlibDisplayEXT\0"
176     "vkCreateDevice\0"
177     "vkCreateDisplayModeKHR\0"
178     "vkEnumerateDeviceExtensionProperties\0"
179     "vkEnumerateDeviceLayerProperties\0"
180     "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR\0"
181     "vkGetDisplayModeProperties2KHR\0"
182     "vkGetDisplayModePropertiesKHR\0"
183     "vkGetDisplayPlaneCapabilities2KHR\0"
184     "vkGetDisplayPlaneCapabilitiesKHR\0"
185     "vkGetDisplayPlaneSupportedDisplaysKHR\0"
186     "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT\0"
187     "vkGetPhysicalDeviceDisplayPlaneProperties2KHR\0"
188     "vkGetPhysicalDeviceDisplayPlanePropertiesKHR\0"
189     "vkGetPhysicalDeviceDisplayProperties2KHR\0"
190     "vkGetPhysicalDeviceDisplayPropertiesKHR\0"
191     "vkGetPhysicalDeviceExternalBufferProperties\0"
192     "vkGetPhysicalDeviceExternalBufferPropertiesKHR\0"
193     "vkGetPhysicalDeviceExternalFenceProperties\0"
194     "vkGetPhysicalDeviceExternalFencePropertiesKHR\0"
195     "vkGetPhysicalDeviceExternalSemaphoreProperties\0"
196     "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR\0"
197     "vkGetPhysicalDeviceFeatures\0"
198     "vkGetPhysicalDeviceFeatures2\0"
199     "vkGetPhysicalDeviceFeatures2KHR\0"
200     "vkGetPhysicalDeviceFormatProperties\0"
201     "vkGetPhysicalDeviceFormatProperties2\0"
202     "vkGetPhysicalDeviceFormatProperties2KHR\0"
203     "vkGetPhysicalDeviceImageFormatProperties\0"
204     "vkGetPhysicalDeviceImageFormatProperties2\0"
205     "vkGetPhysicalDeviceImageFormatProperties2KHR\0"
206     "vkGetPhysicalDeviceMemoryProperties\0"
207     "vkGetPhysicalDeviceMemoryProperties2\0"
208     "vkGetPhysicalDeviceMemoryProperties2KHR\0"
209     "vkGetPhysicalDevicePresentRectanglesKHR\0"
210     "vkGetPhysicalDeviceProperties\0"
211     "vkGetPhysicalDeviceProperties2\0"
212     "vkGetPhysicalDeviceProperties2KHR\0"
213     "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR\0"
214     "vkGetPhysicalDeviceQueueFamilyProperties\0"
215     "vkGetPhysicalDeviceQueueFamilyProperties2\0"
216     "vkGetPhysicalDeviceQueueFamilyProperties2KHR\0"
217     "vkGetPhysicalDeviceSparseImageFormatProperties\0"
218     "vkGetPhysicalDeviceSparseImageFormatProperties2\0"
219     "vkGetPhysicalDeviceSparseImageFormatProperties2KHR\0"
220     "vkGetPhysicalDeviceSurfaceCapabilities2EXT\0"
221     "vkGetPhysicalDeviceSurfaceCapabilities2KHR\0"
222     "vkGetPhysicalDeviceSurfaceCapabilitiesKHR\0"
223     "vkGetPhysicalDeviceSurfaceFormats2KHR\0"
224     "vkGetPhysicalDeviceSurfaceFormatsKHR\0"
225     "vkGetPhysicalDeviceSurfacePresentModesKHR\0"
226     "vkGetPhysicalDeviceSurfaceSupportKHR\0"
227     "vkGetPhysicalDeviceWaylandPresentationSupportKHR\0"
228     "vkGetPhysicalDeviceXcbPresentationSupportKHR\0"
229     "vkGetPhysicalDeviceXlibPresentationSupportKHR\0"
230     "vkGetRandROutputDisplayEXT\0"
231     "vkReleaseDisplayEXT\0"
232 ;
233 
234 static const struct string_map_entry physical_device_string_map_entries[] = {
235     { 0, 0x60df100d, 44 }, /* vkAcquireXlibDisplayEXT */
236     { 24, 0x85ed23f, 6 }, /* vkCreateDevice */
237     { 39, 0xcc0bde41, 14 }, /* vkCreateDisplayModeKHR */
238     { 62, 0x5fd13eed, 8 }, /* vkEnumerateDeviceExtensionProperties */
239     { 99, 0x2f8566e7, 7 }, /* vkEnumerateDeviceLayerProperties */
240     { 132, 0x8d3d4995, 55 }, /* vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR */
241     { 196, 0x3e613e42, 52 }, /* vkGetDisplayModeProperties2KHR */
242     { 227, 0x36b8a8de, 13 }, /* vkGetDisplayModePropertiesKHR */
243     { 257, 0xff1655a4, 53 }, /* vkGetDisplayPlaneCapabilities2KHR */
244     { 291, 0x4b60d48c, 15 }, /* vkGetDisplayPlaneCapabilitiesKHR */
245     { 324, 0xabef4889, 12 }, /* vkGetDisplayPlaneSupportedDisplaysKHR */
246     { 362, 0xea07da1a, 54 }, /* vkGetPhysicalDeviceCalibrateableTimeDomainsEXT */
247     { 409, 0xb7bc4386, 51 }, /* vkGetPhysicalDeviceDisplayPlaneProperties2KHR */
248     { 455, 0xb9b8ddba, 11 }, /* vkGetPhysicalDeviceDisplayPlanePropertiesKHR */
249     { 500, 0x540c0372, 50 }, /* vkGetPhysicalDeviceDisplayProperties2KHR */
250     { 541, 0xfa0cd2e, 10 }, /* vkGetPhysicalDeviceDisplayPropertiesKHR */
251     { 581, 0x944476dc, 37 }, /* vkGetPhysicalDeviceExternalBufferProperties */
252     { 625, 0xee68b389, 38 }, /* vkGetPhysicalDeviceExternalBufferPropertiesKHR */
253     { 672, 0x3bc965eb, 41 }, /* vkGetPhysicalDeviceExternalFenceProperties */
254     { 715, 0x99b35492, 42 }, /* vkGetPhysicalDeviceExternalFencePropertiesKHR */
255     { 761, 0xcf251b0e, 39 }, /* vkGetPhysicalDeviceExternalSemaphoreProperties */
256     { 808, 0x984c3fa7, 40 }, /* vkGetPhysicalDeviceExternalSemaphorePropertiesKHR */
257     { 858, 0x113e2f33, 3 }, /* vkGetPhysicalDeviceFeatures */
258     { 886, 0x63c068a7, 23 }, /* vkGetPhysicalDeviceFeatures2 */
259     { 915, 0x6a9a3636, 24 }, /* vkGetPhysicalDeviceFeatures2KHR */
260     { 947, 0x3e54b398, 4 }, /* vkGetPhysicalDeviceFormatProperties */
261     { 983, 0xca3bb9da, 27 }, /* vkGetPhysicalDeviceFormatProperties2 */
262     { 1020, 0x9099cbbb, 28 }, /* vkGetPhysicalDeviceFormatProperties2KHR */
263     { 1060, 0xdd36a867, 5 }, /* vkGetPhysicalDeviceImageFormatProperties */
264     { 1101, 0x35d260d3, 29 }, /* vkGetPhysicalDeviceImageFormatProperties2 */
265     { 1143, 0x102ff7ea, 30 }, /* vkGetPhysicalDeviceImageFormatProperties2KHR */
266     { 1188, 0xa90da4da, 2 }, /* vkGetPhysicalDeviceMemoryProperties */
267     { 1224, 0xcb4cc208, 33 }, /* vkGetPhysicalDeviceMemoryProperties2 */
268     { 1261, 0xc8c3da3d, 34 }, /* vkGetPhysicalDeviceMemoryProperties2KHR */
269     { 1301, 0x100341b4, 47 }, /* vkGetPhysicalDevicePresentRectanglesKHR */
270     { 1341, 0x52fe22c9, 0 }, /* vkGetPhysicalDeviceProperties */
271     { 1371, 0x6c4d8ee1, 25 }, /* vkGetPhysicalDeviceProperties2 */
272     { 1402, 0xcd15838c, 26 }, /* vkGetPhysicalDeviceProperties2KHR */
273     { 1436, 0x7c7c9a0f, 56 }, /* vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR */
274     { 1492, 0x4e5fc88a, 1 }, /* vkGetPhysicalDeviceQueueFamilyProperties */
275     { 1533, 0xcad374d8, 31 }, /* vkGetPhysicalDeviceQueueFamilyProperties2 */
276     { 1575, 0x5ceb2bed, 32 }, /* vkGetPhysicalDeviceQueueFamilyProperties2KHR */
277     { 1620, 0x272ef8ef, 9 }, /* vkGetPhysicalDeviceSparseImageFormatProperties */
278     { 1667, 0xebddba0b, 35 }, /* vkGetPhysicalDeviceSparseImageFormatProperties2 */
279     { 1715, 0x8746ed72, 36 }, /* vkGetPhysicalDeviceSparseImageFormatProperties2KHR */
280     { 1766, 0x5a5fba04, 46 }, /* vkGetPhysicalDeviceSurfaceCapabilities2EXT */
281     { 1809, 0x9497e378, 48 }, /* vkGetPhysicalDeviceSurfaceCapabilities2KHR */
282     { 1852, 0x77890558, 17 }, /* vkGetPhysicalDeviceSurfaceCapabilitiesKHR */
283     { 1894, 0xd00b7188, 49 }, /* vkGetPhysicalDeviceSurfaceFormats2KHR */
284     { 1932, 0xe32227c8, 18 }, /* vkGetPhysicalDeviceSurfaceFormatsKHR */
285     { 1969, 0x31c3cbd1, 19 }, /* vkGetPhysicalDeviceSurfacePresentModesKHR */
286     { 2011, 0x1a687885, 16 }, /* vkGetPhysicalDeviceSurfaceSupportKHR */
287     { 2048, 0x84e085ac, 20 }, /* vkGetPhysicalDeviceWaylandPresentationSupportKHR */
288     { 2097, 0x41782cb9, 22 }, /* vkGetPhysicalDeviceXcbPresentationSupportKHR */
289     { 2142, 0x34a063ab, 21 }, /* vkGetPhysicalDeviceXlibPresentationSupportKHR */
290     { 2188, 0xb87cdd6c, 45 }, /* vkGetRandROutputDisplayEXT */
291     { 2215, 0x4207f4f1, 43 }, /* vkReleaseDisplayEXT */
292 };
293 
294 /* Hash table stats:
295  * size 57 entries
296  * collisions entries:
297  *     0      46
298  *     1      6
299  *     2      5
300  *     3      0
301  *     4      0
302  *     5      0
303  *     6      0
304  *     7      0
305  *     8      0
306  *     9+     0
307  */
308 
309 #define none 0xffff
310 static const uint16_t physical_device_string_map[128] = {
311     0x001f,
312     none,
313     none,
314     none,
315     0x002d,
316     0x002c,
317     0x000c,
318     none,
319     0x0020,
320     0x000a,
321     0x0027,
322     0x002b,
323     0x0009,
324     0x0000,
325     0x0014,
326     0x0026,
327     none,
328     none,
329     0x0013,
330     0x0029,
331     none,
332     0x0005,
333     none,
334     none,
335     0x0019,
336     none,
337     0x000b,
338     0x0030,
339     0x0011,
340     none,
341     none,
342     0x0025,
343     none,
344     none,
345     none,
346     none,
347     0x0008,
348     none,
349     none,
350     0x0015,
351     none,
352     none,
353     none,
354     0x0033,
355     0x0034,
356     none,
357     0x000f,
358     none,
359     none,
360     none,
361     none,
362     0x0016,
363     0x0022,
364     none,
365     0x0018,
366     none,
367     none,
368     0x0035,
369     0x000d,
370     0x001b,
371     none,
372     0x0021,
373     0x0036,
374     0x0001,
375     none,
376     0x0002,
377     0x0006,
378     none,
379     none,
380     none,
381     none,
382     none,
383     0x0031,
384     0x0023,
385     none,
386     none,
387     none,
388     0x0017,
389     none,
390     none,
391     none,
392     0x0032,
393     none,
394     0x001d,
395     none,
396     none,
397     none,
398     none,
399     0x0028,
400     none,
401     0x001a,
402     none,
403     0x0010,
404     none,
405     0x0007,
406     none,
407     none,
408     0x0024,
409     none,
410     none,
411     none,
412     none,
413     none,
414     0x0004,
415     none,
416     none,
417     0x001e,
418     0x0012,
419     0x0037,
420     0x0003,
421     none,
422     0x002a,
423     none,
424     0x0038,
425     0x000e,
426     none,
427     none,
428     none,
429     none,
430     none,
431     0x002e,
432     none,
433     0x001c,
434     none,
435     none,
436     none,
437     0x002f,
438     none,
439 };
440 
441 static int
physical_device_string_map_lookup(const char * str)442 physical_device_string_map_lookup(const char *str)
443 {
444     static const uint32_t prime_factor = 5024183;
445     static const uint32_t prime_step = 19;
446     const struct string_map_entry *e;
447     uint32_t hash, h;
448     uint16_t i;
449     const char *p;
450 
451     hash = 0;
452     for (p = str; *p; p++)
453         hash = hash * prime_factor + *p;
454 
455     h = hash;
456     while (1) {
457         i = physical_device_string_map[h & 127];
458         if (i == none)
459            return -1;
460         e = &physical_device_string_map_entries[i];
461         if (e->hash == hash && strcmp(str, physical_device_strings + e->name) == 0)
462             return e->num;
463         h += prime_step;
464     }
465 
466     return -1;
467 }
468 
469 static const char *
physical_device_entry_name(int num)470 physical_device_entry_name(int num)
471 {
472    for (int i = 0; i < ARRAY_SIZE(physical_device_string_map_entries); i++) {
473       if (physical_device_string_map_entries[i].num == num)
474          return &physical_device_strings[physical_device_string_map_entries[i].name];
475    }
476    return NULL;
477 }
478 
479 
480 static const char device_strings[] =
481     "vkAcquireImageANDROID\0"
482     "vkAcquireNextImage2KHR\0"
483     "vkAcquireNextImageKHR\0"
484     "vkAcquirePerformanceConfigurationINTEL\0"
485     "vkAcquireProfilingLockKHR\0"
486     "vkAllocateCommandBuffers\0"
487     "vkAllocateDescriptorSets\0"
488     "vkAllocateMemory\0"
489     "vkBeginCommandBuffer\0"
490     "vkBindBufferMemory\0"
491     "vkBindBufferMemory2\0"
492     "vkBindBufferMemory2KHR\0"
493     "vkBindImageMemory\0"
494     "vkBindImageMemory2\0"
495     "vkBindImageMemory2KHR\0"
496     "vkCmdBeginConditionalRenderingEXT\0"
497     "vkCmdBeginQuery\0"
498     "vkCmdBeginQueryIndexedEXT\0"
499     "vkCmdBeginRenderPass\0"
500     "vkCmdBeginRenderPass2\0"
501     "vkCmdBeginRenderPass2KHR\0"
502     "vkCmdBeginTransformFeedbackEXT\0"
503     "vkCmdBindDescriptorSets\0"
504     "vkCmdBindIndexBuffer\0"
505     "vkCmdBindPipeline\0"
506     "vkCmdBindTransformFeedbackBuffersEXT\0"
507     "vkCmdBindVertexBuffers\0"
508     "vkCmdBindVertexBuffers2EXT\0"
509     "vkCmdBlitImage\0"
510     "vkCmdBlitImage2KHR\0"
511     "vkCmdClearAttachments\0"
512     "vkCmdClearColorImage\0"
513     "vkCmdClearDepthStencilImage\0"
514     "vkCmdCopyBuffer\0"
515     "vkCmdCopyBuffer2KHR\0"
516     "vkCmdCopyBufferToImage\0"
517     "vkCmdCopyBufferToImage2KHR\0"
518     "vkCmdCopyImage\0"
519     "vkCmdCopyImage2KHR\0"
520     "vkCmdCopyImageToBuffer\0"
521     "vkCmdCopyImageToBuffer2KHR\0"
522     "vkCmdCopyQueryPoolResults\0"
523     "vkCmdDispatch\0"
524     "vkCmdDispatchBase\0"
525     "vkCmdDispatchBaseKHR\0"
526     "vkCmdDispatchIndirect\0"
527     "vkCmdDraw\0"
528     "vkCmdDrawIndexed\0"
529     "vkCmdDrawIndexedIndirect\0"
530     "vkCmdDrawIndexedIndirectCount\0"
531     "vkCmdDrawIndexedIndirectCountKHR\0"
532     "vkCmdDrawIndirect\0"
533     "vkCmdDrawIndirectByteCountEXT\0"
534     "vkCmdDrawIndirectCount\0"
535     "vkCmdDrawIndirectCountKHR\0"
536     "vkCmdEndConditionalRenderingEXT\0"
537     "vkCmdEndQuery\0"
538     "vkCmdEndQueryIndexedEXT\0"
539     "vkCmdEndRenderPass\0"
540     "vkCmdEndRenderPass2\0"
541     "vkCmdEndRenderPass2KHR\0"
542     "vkCmdEndTransformFeedbackEXT\0"
543     "vkCmdExecuteCommands\0"
544     "vkCmdFillBuffer\0"
545     "vkCmdNextSubpass\0"
546     "vkCmdNextSubpass2\0"
547     "vkCmdNextSubpass2KHR\0"
548     "vkCmdPipelineBarrier\0"
549     "vkCmdPushConstants\0"
550     "vkCmdPushDescriptorSetKHR\0"
551     "vkCmdPushDescriptorSetWithTemplateKHR\0"
552     "vkCmdResetEvent\0"
553     "vkCmdResetQueryPool\0"
554     "vkCmdResolveImage\0"
555     "vkCmdResolveImage2KHR\0"
556     "vkCmdSetBlendConstants\0"
557     "vkCmdSetCullModeEXT\0"
558     "vkCmdSetDepthBias\0"
559     "vkCmdSetDepthBounds\0"
560     "vkCmdSetDepthBoundsTestEnableEXT\0"
561     "vkCmdSetDepthCompareOpEXT\0"
562     "vkCmdSetDepthTestEnableEXT\0"
563     "vkCmdSetDepthWriteEnableEXT\0"
564     "vkCmdSetDeviceMask\0"
565     "vkCmdSetDeviceMaskKHR\0"
566     "vkCmdSetEvent\0"
567     "vkCmdSetFrontFaceEXT\0"
568     "vkCmdSetLineStippleEXT\0"
569     "vkCmdSetLineWidth\0"
570     "vkCmdSetPerformanceMarkerINTEL\0"
571     "vkCmdSetPerformanceOverrideINTEL\0"
572     "vkCmdSetPerformanceStreamMarkerINTEL\0"
573     "vkCmdSetPrimitiveTopologyEXT\0"
574     "vkCmdSetScissor\0"
575     "vkCmdSetScissorWithCountEXT\0"
576     "vkCmdSetStencilCompareMask\0"
577     "vkCmdSetStencilOpEXT\0"
578     "vkCmdSetStencilReference\0"
579     "vkCmdSetStencilTestEnableEXT\0"
580     "vkCmdSetStencilWriteMask\0"
581     "vkCmdSetViewport\0"
582     "vkCmdSetViewportWithCountEXT\0"
583     "vkCmdUpdateBuffer\0"
584     "vkCmdWaitEvents\0"
585     "vkCmdWriteTimestamp\0"
586     "vkCreateBuffer\0"
587     "vkCreateBufferView\0"
588     "vkCreateCommandPool\0"
589     "vkCreateComputePipelines\0"
590     "vkCreateDescriptorPool\0"
591     "vkCreateDescriptorSetLayout\0"
592     "vkCreateDescriptorUpdateTemplate\0"
593     "vkCreateDescriptorUpdateTemplateKHR\0"
594     "vkCreateDmaBufImageINTEL\0"
595     "vkCreateEvent\0"
596     "vkCreateFence\0"
597     "vkCreateFramebuffer\0"
598     "vkCreateGraphicsPipelines\0"
599     "vkCreateImage\0"
600     "vkCreateImageView\0"
601     "vkCreatePipelineCache\0"
602     "vkCreatePipelineLayout\0"
603     "vkCreatePrivateDataSlotEXT\0"
604     "vkCreateQueryPool\0"
605     "vkCreateRenderPass\0"
606     "vkCreateRenderPass2\0"
607     "vkCreateRenderPass2KHR\0"
608     "vkCreateSampler\0"
609     "vkCreateSamplerYcbcrConversion\0"
610     "vkCreateSamplerYcbcrConversionKHR\0"
611     "vkCreateSemaphore\0"
612     "vkCreateShaderModule\0"
613     "vkCreateSwapchainKHR\0"
614     "vkDestroyBuffer\0"
615     "vkDestroyBufferView\0"
616     "vkDestroyCommandPool\0"
617     "vkDestroyDescriptorPool\0"
618     "vkDestroyDescriptorSetLayout\0"
619     "vkDestroyDescriptorUpdateTemplate\0"
620     "vkDestroyDescriptorUpdateTemplateKHR\0"
621     "vkDestroyDevice\0"
622     "vkDestroyEvent\0"
623     "vkDestroyFence\0"
624     "vkDestroyFramebuffer\0"
625     "vkDestroyImage\0"
626     "vkDestroyImageView\0"
627     "vkDestroyPipeline\0"
628     "vkDestroyPipelineCache\0"
629     "vkDestroyPipelineLayout\0"
630     "vkDestroyPrivateDataSlotEXT\0"
631     "vkDestroyQueryPool\0"
632     "vkDestroyRenderPass\0"
633     "vkDestroySampler\0"
634     "vkDestroySamplerYcbcrConversion\0"
635     "vkDestroySamplerYcbcrConversionKHR\0"
636     "vkDestroySemaphore\0"
637     "vkDestroyShaderModule\0"
638     "vkDestroySwapchainKHR\0"
639     "vkDeviceWaitIdle\0"
640     "vkDisplayPowerControlEXT\0"
641     "vkEndCommandBuffer\0"
642     "vkFlushMappedMemoryRanges\0"
643     "vkFreeCommandBuffers\0"
644     "vkFreeDescriptorSets\0"
645     "vkFreeMemory\0"
646     "vkGetAndroidHardwareBufferPropertiesANDROID\0"
647     "vkGetBufferDeviceAddress\0"
648     "vkGetBufferDeviceAddressEXT\0"
649     "vkGetBufferDeviceAddressKHR\0"
650     "vkGetBufferMemoryRequirements\0"
651     "vkGetBufferMemoryRequirements2\0"
652     "vkGetBufferMemoryRequirements2KHR\0"
653     "vkGetBufferOpaqueCaptureAddress\0"
654     "vkGetBufferOpaqueCaptureAddressKHR\0"
655     "vkGetCalibratedTimestampsEXT\0"
656     "vkGetDescriptorSetLayoutSupport\0"
657     "vkGetDescriptorSetLayoutSupportKHR\0"
658     "vkGetDeviceGroupPeerMemoryFeatures\0"
659     "vkGetDeviceGroupPeerMemoryFeaturesKHR\0"
660     "vkGetDeviceGroupPresentCapabilitiesKHR\0"
661     "vkGetDeviceGroupSurfacePresentModesKHR\0"
662     "vkGetDeviceMemoryCommitment\0"
663     "vkGetDeviceMemoryOpaqueCaptureAddress\0"
664     "vkGetDeviceMemoryOpaqueCaptureAddressKHR\0"
665     "vkGetDeviceProcAddr\0"
666     "vkGetDeviceQueue\0"
667     "vkGetDeviceQueue2\0"
668     "vkGetEventStatus\0"
669     "vkGetFenceFdKHR\0"
670     "vkGetFenceStatus\0"
671     "vkGetImageDrmFormatModifierPropertiesEXT\0"
672     "vkGetImageMemoryRequirements\0"
673     "vkGetImageMemoryRequirements2\0"
674     "vkGetImageMemoryRequirements2KHR\0"
675     "vkGetImageSparseMemoryRequirements\0"
676     "vkGetImageSparseMemoryRequirements2\0"
677     "vkGetImageSparseMemoryRequirements2KHR\0"
678     "vkGetImageSubresourceLayout\0"
679     "vkGetMemoryAndroidHardwareBufferANDROID\0"
680     "vkGetMemoryFdKHR\0"
681     "vkGetMemoryFdPropertiesKHR\0"
682     "vkGetMemoryHostPointerPropertiesEXT\0"
683     "vkGetPerformanceParameterINTEL\0"
684     "vkGetPipelineCacheData\0"
685     "vkGetPipelineExecutableInternalRepresentationsKHR\0"
686     "vkGetPipelineExecutablePropertiesKHR\0"
687     "vkGetPipelineExecutableStatisticsKHR\0"
688     "vkGetPrivateDataEXT\0"
689     "vkGetQueryPoolResults\0"
690     "vkGetRenderAreaGranularity\0"
691     "vkGetSemaphoreCounterValue\0"
692     "vkGetSemaphoreCounterValueKHR\0"
693     "vkGetSemaphoreFdKHR\0"
694     "vkGetSwapchainCounterEXT\0"
695     "vkGetSwapchainGrallocUsage2ANDROID\0"
696     "vkGetSwapchainGrallocUsageANDROID\0"
697     "vkGetSwapchainImagesKHR\0"
698     "vkImportFenceFdKHR\0"
699     "vkImportSemaphoreFdKHR\0"
700     "vkInitializePerformanceApiINTEL\0"
701     "vkInvalidateMappedMemoryRanges\0"
702     "vkMapMemory\0"
703     "vkMergePipelineCaches\0"
704     "vkQueueBindSparse\0"
705     "vkQueuePresentKHR\0"
706     "vkQueueSetPerformanceConfigurationINTEL\0"
707     "vkQueueSignalReleaseImageANDROID\0"
708     "vkQueueSubmit\0"
709     "vkQueueWaitIdle\0"
710     "vkRegisterDeviceEventEXT\0"
711     "vkRegisterDisplayEventEXT\0"
712     "vkReleasePerformanceConfigurationINTEL\0"
713     "vkReleaseProfilingLockKHR\0"
714     "vkResetCommandBuffer\0"
715     "vkResetCommandPool\0"
716     "vkResetDescriptorPool\0"
717     "vkResetEvent\0"
718     "vkResetFences\0"
719     "vkResetQueryPool\0"
720     "vkResetQueryPoolEXT\0"
721     "vkSetEvent\0"
722     "vkSetPrivateDataEXT\0"
723     "vkSignalSemaphore\0"
724     "vkSignalSemaphoreKHR\0"
725     "vkTrimCommandPool\0"
726     "vkTrimCommandPoolKHR\0"
727     "vkUninitializePerformanceApiINTEL\0"
728     "vkUnmapMemory\0"
729     "vkUpdateDescriptorSetWithTemplate\0"
730     "vkUpdateDescriptorSetWithTemplateKHR\0"
731     "vkUpdateDescriptorSets\0"
732     "vkWaitForFences\0"
733     "vkWaitSemaphores\0"
734     "vkWaitSemaphoresKHR\0"
735 ;
736 
737 static const struct string_map_entry device_string_map_entries[] = {
738     { 0, 0x6bf780dd, 178 }, /* vkAcquireImageANDROID */
739     { 22, 0x82860572, 153 }, /* vkAcquireNextImage2KHR */
740     { 45, 0xc3fedb2e, 128 }, /* vkAcquireNextImageKHR */
741     { 67, 0x33d2767, 221 }, /* vkAcquirePerformanceConfigurationINTEL */
742     { 106, 0xaf1d64ad, 208 }, /* vkAcquireProfilingLockKHR */
743     { 132, 0x8c0c811a, 74 }, /* vkAllocateCommandBuffers */
744     { 157, 0x4c449d3a, 63 }, /* vkAllocateDescriptorSets */
745     { 182, 0x522b85d3, 6 }, /* vkAllocateMemory */
746     { 199, 0xc54f7327, 76 }, /* vkBeginCommandBuffer */
747     { 220, 0x6bcbdcb, 14 }, /* vkBindBufferMemory */
748     { 239, 0xc27aaf4f, 145 }, /* vkBindBufferMemory2 */
749     { 259, 0x6878d3ce, 146 }, /* vkBindBufferMemory2KHR */
750     { 282, 0x5caaae4a, 16 }, /* vkBindImageMemory */
751     { 300, 0xa9097118, 147 }, /* vkBindImageMemory2 */
752     { 319, 0xf18729ad, 148 }, /* vkBindImageMemory2KHR */
753     { 341, 0xe561c19f, 115 }, /* vkCmdBeginConditionalRenderingEXT */
754     { 375, 0xf5064ea4, 113 }, /* vkCmdBeginQuery */
755     { 391, 0x73251a2c, 205 }, /* vkCmdBeginQueryIndexedEXT */
756     { 417, 0xcb7a58e3, 121 }, /* vkCmdBeginRenderPass */
757     { 438, 0x9c876577, 184 }, /* vkCmdBeginRenderPass2 */
758     { 460, 0x8b6b4de6, 185 }, /* vkCmdBeginRenderPass2KHR */
759     { 485, 0xb217c94, 203 }, /* vkCmdBeginTransformFeedbackEXT */
760     { 516, 0x28c7a5da, 89 }, /* vkCmdBindDescriptorSets */
761     { 540, 0x4c22d870, 90 }, /* vkCmdBindIndexBuffer */
762     { 561, 0x3af9fd84, 79 }, /* vkCmdBindPipeline */
763     { 579, 0x98fdb5cd, 202 }, /* vkCmdBindTransformFeedbackBuffersEXT */
764     { 616, 0xa9c83f1d, 91 }, /* vkCmdBindVertexBuffers */
765     { 639, 0x30a5f2ec, 236 }, /* vkCmdBindVertexBuffers2EXT */
766     { 666, 0x331ebf89, 100 }, /* vkCmdBlitImage */
767     { 681, 0x785f984c, 249 }, /* vkCmdBlitImage2KHR */
768     { 700, 0x93cb5cb8, 107 }, /* vkCmdClearAttachments */
769     { 722, 0xb4bc8d08, 105 }, /* vkCmdClearColorImage */
770     { 743, 0x4f88e4ba, 106 }, /* vkCmdClearDepthStencilImage */
771     { 771, 0xc939a0da, 98 }, /* vkCmdCopyBuffer */
772     { 787, 0x90c5563d, 247 }, /* vkCmdCopyBuffer2KHR */
773     { 807, 0x929847e, 101 }, /* vkCmdCopyBufferToImage */
774     { 830, 0x1e9f6861, 250 }, /* vkCmdCopyBufferToImage2KHR */
775     { 857, 0x278effa9, 99 }, /* vkCmdCopyImage */
776     { 872, 0xdad52c6c, 248 }, /* vkCmdCopyImage2KHR */
777     { 891, 0x68cddbac, 102 }, /* vkCmdCopyImageToBuffer */
778     { 914, 0x2db6484f, 251 }, /* vkCmdCopyImageToBuffer2KHR */
779     { 941, 0xdee8c6d4, 119 }, /* vkCmdCopyQueryPoolResults */
780     { 967, 0xbd58e867, 96 }, /* vkCmdDispatch */
781     { 981, 0xfb767220, 154 }, /* vkCmdDispatchBase */
782     { 999, 0x402403e5, 155 }, /* vkCmdDispatchBaseKHR */
783     { 1020, 0xd6353005, 97 }, /* vkCmdDispatchIndirect */
784     { 1042, 0x9912c1a1, 92 }, /* vkCmdDraw */
785     { 1052, 0xbe5a8058, 93 }, /* vkCmdDrawIndexed */
786     { 1069, 0x94e7ed36, 95 }, /* vkCmdDrawIndexedIndirect */
787     { 1094, 0xb4acef41, 200 }, /* vkCmdDrawIndexedIndirectCount */
788     { 1124, 0xda9e8a2c, 201 }, /* vkCmdDrawIndexedIndirectCountKHR */
789     { 1157, 0xe9ac41bf, 94 }, /* vkCmdDrawIndirect */
790     { 1175, 0x80c3b089, 207 }, /* vkCmdDrawIndirectByteCountEXT */
791     { 1205, 0x40079990, 198 }, /* vkCmdDrawIndirectCount */
792     { 1228, 0xf7dd01f5, 199 }, /* vkCmdDrawIndirectCountKHR */
793     { 1254, 0x18c8217d, 116 }, /* vkCmdEndConditionalRenderingEXT */
794     { 1286, 0xd556fd22, 114 }, /* vkCmdEndQuery */
795     { 1300, 0xd5c2f48a, 206 }, /* vkCmdEndQueryIndexedEXT */
796     { 1324, 0xdcdb0235, 123 }, /* vkCmdEndRenderPass */
797     { 1343, 0x1cbf9115, 188 }, /* vkCmdEndRenderPass2 */
798     { 1363, 0x57eebe78, 189 }, /* vkCmdEndRenderPass2KHR */
799     { 1386, 0xf008d706, 204 }, /* vkCmdEndTransformFeedbackEXT */
800     { 1415, 0x9eaabe40, 124 }, /* vkCmdExecuteCommands */
801     { 1436, 0x5bdd2ae0, 104 }, /* vkCmdFillBuffer */
802     { 1452, 0x2eeec2f9, 122 }, /* vkCmdNextSubpass */
803     { 1469, 0xd4fc131, 186 }, /* vkCmdNextSubpass2 */
804     { 1487, 0x25b621bc, 187 }, /* vkCmdNextSubpass2KHR */
805     { 1508, 0x97fccfe8, 112 }, /* vkCmdPipelineBarrier */
806     { 1529, 0xb1c6b468, 120 }, /* vkCmdPushConstants */
807     { 1548, 0xf17232a1, 130 }, /* vkCmdPushDescriptorSetKHR */
808     { 1574, 0x3d528981, 162 }, /* vkCmdPushDescriptorSetWithTemplateKHR */
809     { 1612, 0x4fccce28, 110 }, /* vkCmdResetEvent */
810     { 1628, 0x2f614082, 117 }, /* vkCmdResetQueryPool */
811     { 1648, 0x671bb594, 108 }, /* vkCmdResolveImage */
812     { 1666, 0x9fea6337, 252 }, /* vkCmdResolveImage2KHR */
813     { 1688, 0x1c989dfb, 84 }, /* vkCmdSetBlendConstants */
814     { 1711, 0xb7fcea1f, 231 }, /* vkCmdSetCullModeEXT */
815     { 1731, 0x30f14d07, 83 }, /* vkCmdSetDepthBias */
816     { 1749, 0x7b3a8a63, 85 }, /* vkCmdSetDepthBounds */
817     { 1769, 0x3f2ddb1, 240 }, /* vkCmdSetDepthBoundsTestEnableEXT */
818     { 1802, 0x2f377e41, 239 }, /* vkCmdSetDepthCompareOpEXT */
819     { 1828, 0x57c5efe6, 237 }, /* vkCmdSetDepthTestEnableEXT */
820     { 1855, 0xbe217905, 238 }, /* vkCmdSetDepthWriteEnableEXT */
821     { 1883, 0xaecdae87, 149 }, /* vkCmdSetDeviceMask */
822     { 1902, 0xfbb79356, 150 }, /* vkCmdSetDeviceMaskKHR */
823     { 1924, 0xe257f075, 109 }, /* vkCmdSetEvent */
824     { 1938, 0xa7a7a090, 232 }, /* vkCmdSetFrontFaceEXT */
825     { 1959, 0xbdaa62f9, 230 }, /* vkCmdSetLineStippleEXT */
826     { 1982, 0x32282165, 82 }, /* vkCmdSetLineWidth */
827     { 2000, 0x4eb21af9, 218 }, /* vkCmdSetPerformanceMarkerINTEL */
828     { 2031, 0x30d793c7, 220 }, /* vkCmdSetPerformanceOverrideINTEL */
829     { 2064, 0xc50b03a9, 219 }, /* vkCmdSetPerformanceStreamMarkerINTEL */
830     { 2101, 0x1dacaf8, 233 }, /* vkCmdSetPrimitiveTopologyEXT */
831     { 2130, 0x48f28c7f, 81 }, /* vkCmdSetScissor */
832     { 2146, 0xf349b42f, 235 }, /* vkCmdSetScissorWithCountEXT */
833     { 2174, 0xa8f534e2, 86 }, /* vkCmdSetStencilCompareMask */
834     { 2201, 0xbb885f19, 242 }, /* vkCmdSetStencilOpEXT */
835     { 2222, 0x83e2b024, 88 }, /* vkCmdSetStencilReference */
836     { 2247, 0x16cc6095, 241 }, /* vkCmdSetStencilTestEnableEXT */
837     { 2276, 0xe7c4b134, 87 }, /* vkCmdSetStencilWriteMask */
838     { 2301, 0x53d6c2b, 80 }, /* vkCmdSetViewport */
839     { 2318, 0xa3d72e5b, 234 }, /* vkCmdSetViewportWithCountEXT */
840     { 2347, 0xd2986b5e, 103 }, /* vkCmdUpdateBuffer */
841     { 2365, 0x3b9346b3, 111 }, /* vkCmdWaitEvents */
842     { 2381, 0xec4d324c, 118 }, /* vkCmdWriteTimestamp */
843     { 2401, 0x7d4282b9, 36 }, /* vkCreateBuffer */
844     { 2416, 0x925bd256, 38 }, /* vkCreateBufferView */
845     { 2435, 0x820fe476, 71 }, /* vkCreateCommandPool */
846     { 2455, 0xf70c85eb, 52 }, /* vkCreateComputePipelines */
847     { 2480, 0xfb95a8a4, 60 }, /* vkCreateDescriptorPool */
848     { 2503, 0x3c14cc74, 58 }, /* vkCreateDescriptorSetLayout */
849     { 2531, 0xad3ce733, 156 }, /* vkCreateDescriptorUpdateTemplate */
850     { 2564, 0x5189488a, 157 }, /* vkCreateDescriptorUpdateTemplateKHR */
851     { 2600, 0x6392dfa7, 253 }, /* vkCreateDmaBufImageINTEL */
852     { 2625, 0xe7188731, 26 }, /* vkCreateEvent */
853     { 2639, 0x958af968, 19 }, /* vkCreateFence */
854     { 2653, 0x887a38c4, 66 }, /* vkCreateFramebuffer */
855     { 2673, 0x4b59f96d, 51 }, /* vkCreateGraphicsPipelines */
856     { 2699, 0x652128c2, 40 }, /* vkCreateImage */
857     { 2713, 0xdce077ff, 43 }, /* vkCreateImageView */
858     { 2731, 0xcbf6489f, 47 }, /* vkCreatePipelineCache */
859     { 2753, 0x451ef1ed, 54 }, /* vkCreatePipelineLayout */
860     { 2776, 0xc06d475f, 243 }, /* vkCreatePrivateDataSlotEXT */
861     { 2803, 0x5edcd92b, 31 }, /* vkCreateQueryPool */
862     { 2821, 0x109a9c18, 68 }, /* vkCreateRenderPass */
863     { 2840, 0x46b16d5a, 182 }, /* vkCreateRenderPass2 */
864     { 2860, 0xfa16043b, 183 }, /* vkCreateRenderPass2KHR */
865     { 2883, 0x13cf03f, 56 }, /* vkCreateSampler */
866     { 2899, 0xe6a58c26, 169 }, /* vkCreateSamplerYcbcrConversion */
867     { 2930, 0x7482104f, 170 }, /* vkCreateSamplerYcbcrConversionKHR */
868     { 2964, 0xf2065e5b, 24 }, /* vkCreateSemaphore */
869     { 2982, 0xa0d3cea2, 45 }, /* vkCreateShaderModule */
870     { 3003, 0xcdefcaa8, 125 }, /* vkCreateSwapchainKHR */
871     { 3024, 0x94a07a45, 37 }, /* vkDestroyBuffer */
872     { 3040, 0x98b27962, 39 }, /* vkDestroyBufferView */
873     { 3060, 0xd5d83a0a, 72 }, /* vkDestroyCommandPool */
874     { 3081, 0x47bdaf30, 61 }, /* vkDestroyDescriptorPool */
875     { 3105, 0xa4227b08, 59 }, /* vkDestroyDescriptorSetLayout */
876     { 3134, 0xbb2cbe7f, 158 }, /* vkDestroyDescriptorUpdateTemplate */
877     { 3168, 0xaa83901e, 159 }, /* vkDestroyDescriptorUpdateTemplateKHR */
878     { 3205, 0x1fbcc9cb, 1 }, /* vkDestroyDevice */
879     { 3221, 0x4df27c05, 27 }, /* vkDestroyEvent */
880     { 3236, 0xfc64ee3c, 20 }, /* vkDestroyFence */
881     { 3251, 0xdc428e58, 67 }, /* vkDestroyFramebuffer */
882     { 3272, 0xcbfb1d96, 41 }, /* vkDestroyImage */
883     { 3287, 0xb5853953, 44 }, /* vkDestroyImageView */
884     { 3306, 0x6aac68af, 53 }, /* vkDestroyPipeline */
885     { 3324, 0x4112a673, 48 }, /* vkDestroyPipelineCache */
886     { 3347, 0x9146f879, 55 }, /* vkDestroyPipelineLayout */
887     { 3371, 0xe18d5d6b, 244 }, /* vkDestroyPrivateDataSlotEXT */
888     { 3399, 0x37819a7f, 32 }, /* vkDestroyQueryPool */
889     { 3418, 0x16f14324, 69 }, /* vkDestroyRenderPass */
890     { 3438, 0x3b645153, 57 }, /* vkDestroySampler */
891     { 3455, 0x20f261b2, 171 }, /* vkDestroySamplerYcbcrConversion */
892     { 3487, 0xaaa623a3, 172 }, /* vkDestroySamplerYcbcrConversionKHR */
893     { 3522, 0xcaab1faf, 25 }, /* vkDestroySemaphore */
894     { 3541, 0x2d77af6e, 46 }, /* vkDestroyShaderModule */
895     { 3563, 0x5a93ab74, 126 }, /* vkDestroySwapchainKHR */
896     { 3585, 0xd46c5f24, 5 }, /* vkDeviceWaitIdle */
897     { 3602, 0xdbb064, 139 }, /* vkDisplayPowerControlEXT */
898     { 3627, 0xaffb5725, 77 }, /* vkEndCommandBuffer */
899     { 3646, 0xff52f051, 10 }, /* vkFlushMappedMemoryRanges */
900     { 3672, 0xb9db2b91, 75 }, /* vkFreeCommandBuffers */
901     { 3693, 0x7a1347b1, 64 }, /* vkFreeDescriptorSets */
902     { 3714, 0x8f6f838a, 7 }, /* vkFreeMemory */
903     { 3727, 0xb891b5e, 196 }, /* vkGetAndroidHardwareBufferPropertiesANDROID */
904     { 3771, 0x7022f0cd, 213 }, /* vkGetBufferDeviceAddress */
905     { 3796, 0x3703280c, 215 }, /* vkGetBufferDeviceAddressEXT */
906     { 3824, 0x713b5180, 214 }, /* vkGetBufferDeviceAddressKHR */
907     { 3852, 0xab98422a, 13 }, /* vkGetBufferMemoryRequirements */
908     { 3882, 0xd1fd0638, 163 }, /* vkGetBufferMemoryRequirements2 */
909     { 3913, 0x78dbe98d, 164 }, /* vkGetBufferMemoryRequirements2KHR */
910     { 3947, 0x2a5545a0, 211 }, /* vkGetBufferOpaqueCaptureAddress */
911     { 3979, 0xddac1c65, 212 }, /* vkGetBufferOpaqueCaptureAddressKHR */
912     { 4014, 0xcf3070fe, 180 }, /* vkGetCalibratedTimestampsEXT */
913     { 4043, 0xfeac9573, 174 }, /* vkGetDescriptorSetLayoutSupport */
914     { 4075, 0xd7e44a, 175 }, /* vkGetDescriptorSetLayoutSupportKHR */
915     { 4110, 0x2e218c10, 143 }, /* vkGetDeviceGroupPeerMemoryFeatures */
916     { 4145, 0xa3809375, 144 }, /* vkGetDeviceGroupPeerMemoryFeaturesKHR */
917     { 4183, 0xf72c87d4, 151 }, /* vkGetDeviceGroupPresentCapabilitiesKHR */
918     { 4222, 0x6b9448c3, 152 }, /* vkGetDeviceGroupSurfacePresentModesKHR */
919     { 4261, 0x46e38db5, 12 }, /* vkGetDeviceMemoryCommitment */
920     { 4289, 0x9a0fe777, 225 }, /* vkGetDeviceMemoryOpaqueCaptureAddress */
921     { 4327, 0x49339be6, 226 }, /* vkGetDeviceMemoryOpaqueCaptureAddressKHR */
922     { 4368, 0xba013486, 0 }, /* vkGetDeviceProcAddr */
923     { 4388, 0xcc920d9a, 2 }, /* vkGetDeviceQueue */
924     { 4405, 0xb11a6348, 173 }, /* vkGetDeviceQueue2 */
925     { 4423, 0x96d834b, 28 }, /* vkGetEventStatus */
926     { 4440, 0x69a5d6af, 137 }, /* vkGetFenceFdKHR */
927     { 4456, 0x5f391892, 22 }, /* vkGetFenceStatus */
928     { 4473, 0x12fa78a3, 210 }, /* vkGetImageDrmFormatModifierPropertiesEXT */
929     { 4514, 0x916f1e63, 15 }, /* vkGetImageMemoryRequirements */
930     { 4543, 0x56e213f7, 165 }, /* vkGetImageMemoryRequirements2 */
931     { 4573, 0x8de28366, 166 }, /* vkGetImageMemoryRequirements2KHR */
932     { 4606, 0x15855f5b, 17 }, /* vkGetImageSparseMemoryRequirements */
933     { 4641, 0xbd4e3d3f, 167 }, /* vkGetImageSparseMemoryRequirements2 */
934     { 4677, 0x3df40f5e, 168 }, /* vkGetImageSparseMemoryRequirements2KHR */
935     { 4716, 0x9163b686, 42 }, /* vkGetImageSubresourceLayout */
936     { 4744, 0x71220e82, 197 }, /* vkGetMemoryAndroidHardwareBufferANDROID */
937     { 4784, 0x503c14c5, 133 }, /* vkGetMemoryFdKHR */
938     { 4801, 0xb028a792, 134 }, /* vkGetMemoryFdPropertiesKHR */
939     { 4828, 0x7030ee5b, 181 }, /* vkGetMemoryHostPointerPropertiesEXT */
940     { 4864, 0x1ec6c4ec, 224 }, /* vkGetPerformanceParameterINTEL */
941     { 4895, 0x2092a349, 49 }, /* vkGetPipelineCacheData */
942     { 4918, 0x8b20fc09, 229 }, /* vkGetPipelineExecutableInternalRepresentationsKHR */
943     { 4968, 0x748dd8cd, 227 }, /* vkGetPipelineExecutablePropertiesKHR */
944     { 5005, 0x5c4d6435, 228 }, /* vkGetPipelineExecutableStatisticsKHR */
945     { 5042, 0x2dc1491d, 246 }, /* vkGetPrivateDataEXT */
946     { 5062, 0xbf3f2cb3, 33 }, /* vkGetQueryPoolResults */
947     { 5084, 0xa9820d22, 70 }, /* vkGetRenderAreaGranularity */
948     { 5111, 0xd05a61a0, 190 }, /* vkGetSemaphoreCounterValue */
949     { 5138, 0xf3c26065, 191 }, /* vkGetSemaphoreCounterValueKHR */
950     { 5168, 0x3e0e9884, 135 }, /* vkGetSemaphoreFdKHR */
951     { 5188, 0xa4aeb5a, 142 }, /* vkGetSwapchainCounterEXT */
952     { 5213, 0x219d929, 177 }, /* vkGetSwapchainGrallocUsage2ANDROID */
953     { 5248, 0x4979c9a3, 176 }, /* vkGetSwapchainGrallocUsageANDROID */
954     { 5282, 0x57695f28, 127 }, /* vkGetSwapchainImagesKHR */
955     { 5306, 0x51df0390, 138 }, /* vkImportFenceFdKHR */
956     { 5325, 0x36337c05, 136 }, /* vkImportSemaphoreFdKHR */
957     { 5348, 0x65a01d77, 216 }, /* vkInitializePerformanceApiINTEL */
958     { 5380, 0x1e115cca, 11 }, /* vkInvalidateMappedMemoryRanges */
959     { 5411, 0xcb977bd8, 8 }, /* vkMapMemory */
960     { 5423, 0xc3499606, 50 }, /* vkMergePipelineCaches */
961     { 5445, 0xc3628a09, 18 }, /* vkQueueBindSparse */
962     { 5463, 0xfc5fb6ce, 129 }, /* vkQueuePresentKHR */
963     { 5481, 0xf8499f82, 223 }, /* vkQueueSetPerformanceConfigurationINTEL */
964     { 5521, 0xa0313eef, 179 }, /* vkQueueSignalReleaseImageANDROID */
965     { 5554, 0xfa4713ec, 3 }, /* vkQueueSubmit */
966     { 5568, 0x6f8fc2a5, 4 }, /* vkQueueWaitIdle */
967     { 5584, 0x26cc78f5, 140 }, /* vkRegisterDeviceEventEXT */
968     { 5609, 0x4a0bd849, 141 }, /* vkRegisterDisplayEventEXT */
969     { 5635, 0x28575036, 222 }, /* vkReleasePerformanceConfigurationINTEL */
970     { 5674, 0x8bdecb76, 209 }, /* vkReleaseProfilingLockKHR */
971     { 5700, 0x847dc731, 78 }, /* vkResetCommandBuffer */
972     { 5721, 0x6da9f7fd, 73 }, /* vkResetCommandPool */
973     { 5740, 0x9bd85f5, 62 }, /* vkResetDescriptorPool */
974     { 5762, 0x6d373ba8, 30 }, /* vkResetEvent */
975     { 5775, 0x684781dc, 21 }, /* vkResetFences */
976     { 5789, 0x4e671e02, 34 }, /* vkResetQueryPool */
977     { 5806, 0xe6701e5f, 35 }, /* vkResetQueryPoolEXT */
978     { 5826, 0x592ae5f5, 29 }, /* vkSetEvent */
979     { 5837, 0x23456729, 245 }, /* vkSetPrivateDataEXT */
980     { 5857, 0xcd347297, 194 }, /* vkSignalSemaphore */
981     { 5875, 0x8fef55c6, 195 }, /* vkSignalSemaphoreKHR */
982     { 5896, 0xfef2fb38, 131 }, /* vkTrimCommandPool */
983     { 5914, 0x51177c8d, 132 }, /* vkTrimCommandPoolKHR */
984     { 5935, 0x408975ae, 217 }, /* vkUninitializePerformanceApiINTEL */
985     { 5969, 0x1a1a0e2f, 9 }, /* vkUnmapMemory */
986     { 5983, 0x5349c9d, 160 }, /* vkUpdateDescriptorSetWithTemplate */
987     { 6017, 0x214ad230, 161 }, /* vkUpdateDescriptorSetWithTemplateKHR */
988     { 6054, 0xbfd090ae, 65 }, /* vkUpdateDescriptorSets */
989     { 6077, 0x19d64c81, 23 }, /* vkWaitForFences */
990     { 6093, 0x74368ad9, 192 }, /* vkWaitSemaphores */
991     { 6110, 0x2bc77454, 193 }, /* vkWaitSemaphoresKHR */
992 };
993 
994 /* Hash table stats:
995  * size 254 entries
996  * collisions entries:
997  *     0      198
998  *     1      32
999  *     2      13
1000  *     3      9
1001  *     4      1
1002  *     5      0
1003  *     6      1
1004  *     7      0
1005  *     8      0
1006  *     9+     0
1007  */
1008 
1009 #define none 0xffff
1010 static const uint16_t device_string_map[512] = {
1011     none,
1012     none,
1013     0x00ee,
1014     none,
1015     none,
1016     0x002d,
1017     0x00de,
1018     none,
1019     0x00eb,
1020     0x00cc,
1021     0x0087,
1022     none,
1023     0x00a7,
1024     none,
1025     none,
1026     none,
1027     0x00b1,
1028     none,
1029     none,
1030     none,
1031     none,
1032     none,
1033     none,
1034     none,
1035     0x007c,
1036     none,
1037     none,
1038     0x00f0,
1039     0x00df,
1040     none,
1041     0x008b,
1042     0x004c,
1043     0x002b,
1044     none,
1045     none,
1046     none,
1047     0x0061,
1048     none,
1049     0x0080,
1050     none,
1051     0x0047,
1052     none,
1053     0x00a9,
1054     0x0064,
1055     0x0011,
1056     none,
1057     none,
1058     0x005e,
1059     0x00f9,
1060     none,
1061     0x00b7,
1062     none,
1063     none,
1064     0x003a,
1065     0x00e7,
1066     none,
1067     0x00aa,
1068     none,
1069     none,
1070     0x007e,
1071     0x008e,
1072     0x0022,
1073     0x008d,
1074     0x0032,
1075     0x003e,
1076     0x0050,
1077     0x00f7,
1078     none,
1079     none,
1080     0x0085,
1081     none,
1082     none,
1083     0x00ce,
1084     0x00e6,
1085     0x000c,
1086     none,
1087     0x001d,
1088     none,
1089     none,
1090     0x0028,
1091     none,
1092     0x00a1,
1093     0x007f,
1094     none,
1095     0x00fd,
1096     none,
1097     0x006a,
1098     none,
1099     0x002f,
1100     none,
1101     none,
1102     0x0065,
1103     none,
1104     0x00b0,
1105     none,
1106     0x0068,
1107     none,
1108     0x0024,
1109     0x0081,
1110     0x004e,
1111     0x009f,
1112     0x00ad,
1113     none,
1114     0x002a,
1115     0x0044,
1116     none,
1117     none,
1118     0x008f,
1119     0x0026,
1120     none,
1121     0x0082,
1122     none,
1123     0x0017,
1124     none,
1125     0x00ef,
1126     0x0093,
1127     0x006e,
1128     0x0055,
1129     0x006b,
1130     0x00da,
1131     0x003c,
1132     0x0094,
1133     none,
1134     none,
1135     none,
1136     none,
1137     0x0023,
1138     0x005d,
1139     none,
1140     0x00c9,
1141     0x0048,
1142     none,
1143     0x00d4,
1144     none,
1145     0x00b8,
1146     0x0053,
1147     none,
1148     0x0034,
1149     0x0039,
1150     0x00d3,
1151     none,
1152     0x00f5,
1153     none,
1154     none,
1155     0x0056,
1156     none,
1157     0x008a,
1158     none,
1159     0x0015,
1160     0x0062,
1161     none,
1162     0x00f2,
1163     none,
1164     0x00c5,
1165     none,
1166     none,
1167     0x00bf,
1168     0x0070,
1169     none,
1170     0x0078,
1171     none,
1172     0x0045,
1173     0x0083,
1174     0x00be,
1175     0x0010,
1176     0x0096,
1177     none,
1178     0x00fb,
1179     0x0084,
1180     none,
1181     none,
1182     none,
1183     none,
1184     0x0004,
1185     0x00fa,
1186     0x0092,
1187     0x00f8,
1188     none,
1189     none,
1190     0x0067,
1191     none,
1192     none,
1193     none,
1194     0x006d,
1195     0x001e,
1196     0x0069,
1197     0x0020,
1198     0x00c6,
1199     none,
1200     none,
1201     none,
1202     none,
1203     none,
1204     none,
1205     0x0076,
1206     0x00b4,
1207     0x0074,
1208     0x00c7,
1209     0x00d0,
1210     none,
1211     none,
1212     none,
1213     0x00dc,
1214     0x00bd,
1215     none,
1216     0x00a6,
1217     0x00e0,
1218     none,
1219     none,
1220     none,
1221     none,
1222     none,
1223     0x0029,
1224     0x00bc,
1225     none,
1226     none,
1227     none,
1228     0x00fc,
1229     0x0021,
1230     none,
1231     none,
1232     0x0000,
1233     0x00e4,
1234     none,
1235     0x003f,
1236     none,
1237     0x005f,
1238     0x0012,
1239     none,
1240     none,
1241     none,
1242     none,
1243     none,
1244     none,
1245     none,
1246     none,
1247     0x001b,
1248     none,
1249     none,
1250     0x00e2,
1251     none,
1252     none,
1253     none,
1254     0x00cd,
1255     none,
1256     0x00e5,
1257     none,
1258     none,
1259     0x005c,
1260     0x0040,
1261     none,
1262     none,
1263     none,
1264     none,
1265     0x00ae,
1266     0x00ca,
1267     none,
1268     none,
1269     none,
1270     none,
1271     none,
1272     0x0052,
1273     0x003d,
1274     0x004d,
1275     0x001f,
1276     none,
1277     none,
1278     none,
1279     0x0057,
1280     none,
1281     none,
1282     none,
1283     none,
1284     none,
1285     none,
1286     none,
1287     none,
1288     0x003b,
1289     none,
1290     none,
1291     0x000d,
1292     0x0060,
1293     0x0005,
1294     0x0089,
1295     none,
1296     0x001a,
1297     none,
1298     0x0059,
1299     none,
1300     none,
1301     0x0038,
1302     none,
1303     0x0097,
1304     0x00a0,
1305     none,
1306     0x0008,
1307     0x00d8,
1308     0x00d6,
1309     none,
1310     0x007b,
1311     none,
1312     none,
1313     0x0002,
1314     none,
1315     0x0088,
1316     0x0041,
1317     none,
1318     0x006f,
1319     0x0063,
1320     0x00d1,
1321     0x0030,
1322     0x004a,
1323     0x00f4,
1324     none,
1325     0x0006,
1326     none,
1327     0x00f1,
1328     none,
1329     none,
1330     0x00c3,
1331     none,
1332     0x0031,
1333     none,
1334     0x00cf,
1335     0x0072,
1336     none,
1337     none,
1338     none,
1339     0x00ba,
1340     0x00cb,
1341     0x009e,
1342     0x00bb,
1343     none,
1344     none,
1345     none,
1346     0x000a,
1347     none,
1348     none,
1349     none,
1350     0x0091,
1351     none,
1352     none,
1353     0x0054,
1354     0x00e9,
1355     none,
1356     none,
1357     0x007d,
1358     0x00c2,
1359     none,
1360     none,
1361     0x0066,
1362     0x007a,
1363     none,
1364     none,
1365     0x0086,
1366     none,
1367     none,
1368     0x0058,
1369     0x0098,
1370     0x0003,
1371     0x0073,
1372     none,
1373     none,
1374     0x0095,
1375     none,
1376     0x0075,
1377     0x009c,
1378     none,
1379     none,
1380     0x00a5,
1381     0x0001,
1382     0x00af,
1383     0x009d,
1384     0x00b2,
1385     0x00e8,
1386     0x0013,
1387     none,
1388     0x00c1,
1389     none,
1390     none,
1391     none,
1392     0x0037,
1393     none,
1394     none,
1395     0x00a8,
1396     0x0046,
1397     0x00e1,
1398     none,
1399     0x0018,
1400     none,
1401     none,
1402     none,
1403     none,
1404     0x001c,
1405     0x00a4,
1406     none,
1407     none,
1408     0x00ab,
1409     none,
1410     none,
1411     0x0035,
1412     0x00a2,
1413     0x00c8,
1414     0x00d5,
1415     0x0049,
1416     none,
1417     0x0090,
1418     0x00c4,
1419     none,
1420     none,
1421     0x00b9,
1422     none,
1423     none,
1424     0x00b6,
1425     none,
1426     0x000f,
1427     0x00ac,
1428     0x002e,
1429     none,
1430     0x009a,
1431     none,
1432     none,
1433     none,
1434     0x0071,
1435     0x00ec,
1436     0x0025,
1437     none,
1438     none,
1439     0x0027,
1440     0x000e,
1441     0x00f6,
1442     0x009b,
1443     0x00db,
1444     0x004f,
1445     0x0099,
1446     0x00d2,
1447     none,
1448     0x00b5,
1449     0x00d7,
1450     none,
1451     none,
1452     none,
1453     none,
1454     none,
1455     0x0042,
1456     none,
1457     none,
1458     0x0033,
1459     none,
1460     none,
1461     none,
1462     none,
1463     0x00a3,
1464     none,
1465     0x00f3,
1466     0x005a,
1467     none,
1468     0x00d9,
1469     none,
1470     0x0009,
1471     none,
1472     0x0019,
1473     0x000b,
1474     0x005b,
1475     none,
1476     none,
1477     none,
1478     0x0007,
1479     0x00b3,
1480     none,
1481     none,
1482     none,
1483     0x00dd,
1484     none,
1485     0x0016,
1486     none,
1487     0x00ed,
1488     none,
1489     0x008c,
1490     none,
1491     none,
1492     none,
1493     none,
1494     none,
1495     none,
1496     0x002c,
1497     0x0014,
1498     none,
1499     0x0043,
1500     none,
1501     none,
1502     0x006c,
1503     0x00e3,
1504     0x0079,
1505     none,
1506     none,
1507     none,
1508     none,
1509     none,
1510     none,
1511     none,
1512     0x0036,
1513     none,
1514     0x00c0,
1515     none,
1516     0x0051,
1517     none,
1518     0x004b,
1519     none,
1520     0x00ea,
1521     none,
1522     0x0077,
1523 };
1524 
1525 static int
device_string_map_lookup(const char * str)1526 device_string_map_lookup(const char *str)
1527 {
1528     static const uint32_t prime_factor = 5024183;
1529     static const uint32_t prime_step = 19;
1530     const struct string_map_entry *e;
1531     uint32_t hash, h;
1532     uint16_t i;
1533     const char *p;
1534 
1535     hash = 0;
1536     for (p = str; *p; p++)
1537         hash = hash * prime_factor + *p;
1538 
1539     h = hash;
1540     while (1) {
1541         i = device_string_map[h & 511];
1542         if (i == none)
1543            return -1;
1544         e = &device_string_map_entries[i];
1545         if (e->hash == hash && strcmp(str, device_strings + e->name) == 0)
1546             return e->num;
1547         h += prime_step;
1548     }
1549 
1550     return -1;
1551 }
1552 
1553 static const char *
device_entry_name(int num)1554 device_entry_name(int num)
1555 {
1556    for (int i = 0; i < ARRAY_SIZE(device_string_map_entries); i++) {
1557       if (device_string_map_entries[i].num == num)
1558          return &device_strings[device_string_map_entries[i].name];
1559    }
1560    return NULL;
1561 }
1562 
1563 
1564 /* Weak aliases for all potential implementations. These will resolve to
1565  * NULL if they're not defined, which lets the resolve_entrypoint() function
1566  * either pick the correct entry point.
1567  */
1568 
1569   VkResult anv_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
1570   void anv_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1571   VkResult anv_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
1572   PFN_vkVoidFunction anv_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
1573   VkResult anv_EnumerateInstanceVersion(uint32_t* pApiVersion) __attribute__ ((weak));
1574   VkResult anv_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
1575   VkResult anv_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
1576   VkResult anv_CreateDisplayPlaneSurfaceKHR(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1577   void anv_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1578 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1579   VkResult anv_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1580 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1581 #ifdef VK_USE_PLATFORM_XLIB_KHR
1582   VkResult anv_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1583 #endif // VK_USE_PLATFORM_XLIB_KHR
1584 #ifdef VK_USE_PLATFORM_XCB_KHR
1585   VkResult anv_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1586 #endif // VK_USE_PLATFORM_XCB_KHR
1587   VkResult anv_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
1588   void anv_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1589   void anv_DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) __attribute__ ((weak));
1590   VkResult anv_EnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) __attribute__ ((weak));
1591 
1592 const struct anv_instance_dispatch_table anv_instance_dispatch_table = {
1593   .vkCreateInstance = anv_CreateInstance,
1594   .vkDestroyInstance = anv_DestroyInstance,
1595   .vkEnumeratePhysicalDevices = anv_EnumeratePhysicalDevices,
1596   .vkGetInstanceProcAddr = anv_GetInstanceProcAddr,
1597   .vkEnumerateInstanceVersion = anv_EnumerateInstanceVersion,
1598   .vkEnumerateInstanceLayerProperties = anv_EnumerateInstanceLayerProperties,
1599   .vkEnumerateInstanceExtensionProperties = anv_EnumerateInstanceExtensionProperties,
1600   .vkCreateDisplayPlaneSurfaceKHR = anv_CreateDisplayPlaneSurfaceKHR,
1601   .vkDestroySurfaceKHR = anv_DestroySurfaceKHR,
1602 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1603   .vkCreateWaylandSurfaceKHR = anv_CreateWaylandSurfaceKHR,
1604 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1605 #ifdef VK_USE_PLATFORM_XLIB_KHR
1606   .vkCreateXlibSurfaceKHR = anv_CreateXlibSurfaceKHR,
1607 #endif // VK_USE_PLATFORM_XLIB_KHR
1608 #ifdef VK_USE_PLATFORM_XCB_KHR
1609   .vkCreateXcbSurfaceKHR = anv_CreateXcbSurfaceKHR,
1610 #endif // VK_USE_PLATFORM_XCB_KHR
1611   .vkCreateDebugReportCallbackEXT = anv_CreateDebugReportCallbackEXT,
1612   .vkDestroyDebugReportCallbackEXT = anv_DestroyDebugReportCallbackEXT,
1613   .vkDebugReportMessageEXT = anv_DebugReportMessageEXT,
1614   .vkEnumeratePhysicalDeviceGroups = anv_EnumeratePhysicalDeviceGroups,
1615   .vkEnumeratePhysicalDeviceGroupsKHR = anv_EnumeratePhysicalDeviceGroups,
1616 };
1617 
1618   void anv_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
1619   void anv_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
1620   void anv_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
1621   void anv_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
1622   void anv_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
1623   VkResult anv_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
1624   VkResult anv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
1625   VkResult anv_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
1626   VkResult anv_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
1627   void anv_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
1628   VkResult anv_GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) __attribute__ ((weak));
1629   VkResult anv_GetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties) __attribute__ ((weak));
1630   VkResult anv_GetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays) __attribute__ ((weak));
1631   VkResult anv_GetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties) __attribute__ ((weak));
1632   VkResult anv_CreateDisplayModeKHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode) __attribute__ ((weak));
1633   VkResult anv_GetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) __attribute__ ((weak));
1634   VkResult anv_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
1635   VkResult anv_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
1636   VkResult anv_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
1637   VkResult anv_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
1638 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1639   VkBool32 anv_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
1640 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1641 #ifdef VK_USE_PLATFORM_XLIB_KHR
1642   VkBool32 anv_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
1643 #endif // VK_USE_PLATFORM_XLIB_KHR
1644 #ifdef VK_USE_PLATFORM_XCB_KHR
1645   VkBool32 anv_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
1646 #endif // VK_USE_PLATFORM_XCB_KHR
1647   void anv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures) __attribute__ ((weak));
1648       void anv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties) __attribute__ ((weak));
1649       void anv_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties) __attribute__ ((weak));
1650       VkResult anv_GetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) __attribute__ ((weak));
1651       void anv_GetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) __attribute__ ((weak));
1652       void anv_GetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties) __attribute__ ((weak));
1653       void anv_GetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties) __attribute__ ((weak));
1654       void anv_GetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) __attribute__ ((weak));
1655       void anv_GetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) __attribute__ ((weak));
1656       void anv_GetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties) __attribute__ ((weak));
1657       VkResult anv_ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display) __attribute__ ((weak));
1658 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
1659   VkResult anv_AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display) __attribute__ ((weak));
1660 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
1661 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
1662   VkResult anv_GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay) __attribute__ ((weak));
1663 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
1664   VkResult anv_GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities) __attribute__ ((weak));
1665   VkResult anv_GetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) __attribute__ ((weak));
1666   VkResult anv_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
1667   VkResult anv_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
1668   VkResult anv_GetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties) __attribute__ ((weak));
1669   VkResult anv_GetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) __attribute__ ((weak));
1670   VkResult anv_GetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) __attribute__ ((weak));
1671   VkResult anv_GetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) __attribute__ ((weak));
1672   VkResult anv_GetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains) __attribute__ ((weak));
1673   VkResult anv_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) __attribute__ ((weak));
1674   void anv_GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses) __attribute__ ((weak));
1675 
1676 const struct anv_physical_device_dispatch_table anv_physical_device_dispatch_table = {
1677   .vkGetPhysicalDeviceProperties = anv_GetPhysicalDeviceProperties,
1678   .vkGetPhysicalDeviceQueueFamilyProperties = anv_GetPhysicalDeviceQueueFamilyProperties,
1679   .vkGetPhysicalDeviceMemoryProperties = anv_GetPhysicalDeviceMemoryProperties,
1680   .vkGetPhysicalDeviceFeatures = anv_GetPhysicalDeviceFeatures,
1681   .vkGetPhysicalDeviceFormatProperties = anv_GetPhysicalDeviceFormatProperties,
1682   .vkGetPhysicalDeviceImageFormatProperties = anv_GetPhysicalDeviceImageFormatProperties,
1683   .vkCreateDevice = anv_CreateDevice,
1684   .vkEnumerateDeviceLayerProperties = anv_EnumerateDeviceLayerProperties,
1685   .vkEnumerateDeviceExtensionProperties = anv_EnumerateDeviceExtensionProperties,
1686   .vkGetPhysicalDeviceSparseImageFormatProperties = anv_GetPhysicalDeviceSparseImageFormatProperties,
1687   .vkGetPhysicalDeviceDisplayPropertiesKHR = anv_GetPhysicalDeviceDisplayPropertiesKHR,
1688   .vkGetPhysicalDeviceDisplayPlanePropertiesKHR = anv_GetPhysicalDeviceDisplayPlanePropertiesKHR,
1689   .vkGetDisplayPlaneSupportedDisplaysKHR = anv_GetDisplayPlaneSupportedDisplaysKHR,
1690   .vkGetDisplayModePropertiesKHR = anv_GetDisplayModePropertiesKHR,
1691   .vkCreateDisplayModeKHR = anv_CreateDisplayModeKHR,
1692   .vkGetDisplayPlaneCapabilitiesKHR = anv_GetDisplayPlaneCapabilitiesKHR,
1693   .vkGetPhysicalDeviceSurfaceSupportKHR = anv_GetPhysicalDeviceSurfaceSupportKHR,
1694   .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = anv_GetPhysicalDeviceSurfaceCapabilitiesKHR,
1695   .vkGetPhysicalDeviceSurfaceFormatsKHR = anv_GetPhysicalDeviceSurfaceFormatsKHR,
1696   .vkGetPhysicalDeviceSurfacePresentModesKHR = anv_GetPhysicalDeviceSurfacePresentModesKHR,
1697 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1698   .vkGetPhysicalDeviceWaylandPresentationSupportKHR = anv_GetPhysicalDeviceWaylandPresentationSupportKHR,
1699 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1700 #ifdef VK_USE_PLATFORM_XLIB_KHR
1701   .vkGetPhysicalDeviceXlibPresentationSupportKHR = anv_GetPhysicalDeviceXlibPresentationSupportKHR,
1702 #endif // VK_USE_PLATFORM_XLIB_KHR
1703 #ifdef VK_USE_PLATFORM_XCB_KHR
1704   .vkGetPhysicalDeviceXcbPresentationSupportKHR = anv_GetPhysicalDeviceXcbPresentationSupportKHR,
1705 #endif // VK_USE_PLATFORM_XCB_KHR
1706   .vkGetPhysicalDeviceFeatures2 = anv_GetPhysicalDeviceFeatures2,
1707   .vkGetPhysicalDeviceFeatures2KHR = anv_GetPhysicalDeviceFeatures2,
1708   .vkGetPhysicalDeviceProperties2 = anv_GetPhysicalDeviceProperties2,
1709   .vkGetPhysicalDeviceProperties2KHR = anv_GetPhysicalDeviceProperties2,
1710   .vkGetPhysicalDeviceFormatProperties2 = anv_GetPhysicalDeviceFormatProperties2,
1711   .vkGetPhysicalDeviceFormatProperties2KHR = anv_GetPhysicalDeviceFormatProperties2,
1712   .vkGetPhysicalDeviceImageFormatProperties2 = anv_GetPhysicalDeviceImageFormatProperties2,
1713   .vkGetPhysicalDeviceImageFormatProperties2KHR = anv_GetPhysicalDeviceImageFormatProperties2,
1714   .vkGetPhysicalDeviceQueueFamilyProperties2 = anv_GetPhysicalDeviceQueueFamilyProperties2,
1715   .vkGetPhysicalDeviceQueueFamilyProperties2KHR = anv_GetPhysicalDeviceQueueFamilyProperties2,
1716   .vkGetPhysicalDeviceMemoryProperties2 = anv_GetPhysicalDeviceMemoryProperties2,
1717   .vkGetPhysicalDeviceMemoryProperties2KHR = anv_GetPhysicalDeviceMemoryProperties2,
1718   .vkGetPhysicalDeviceSparseImageFormatProperties2 = anv_GetPhysicalDeviceSparseImageFormatProperties2,
1719   .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = anv_GetPhysicalDeviceSparseImageFormatProperties2,
1720   .vkGetPhysicalDeviceExternalBufferProperties = anv_GetPhysicalDeviceExternalBufferProperties,
1721   .vkGetPhysicalDeviceExternalBufferPropertiesKHR = anv_GetPhysicalDeviceExternalBufferProperties,
1722   .vkGetPhysicalDeviceExternalSemaphoreProperties = anv_GetPhysicalDeviceExternalSemaphoreProperties,
1723   .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = anv_GetPhysicalDeviceExternalSemaphoreProperties,
1724   .vkGetPhysicalDeviceExternalFenceProperties = anv_GetPhysicalDeviceExternalFenceProperties,
1725   .vkGetPhysicalDeviceExternalFencePropertiesKHR = anv_GetPhysicalDeviceExternalFenceProperties,
1726   .vkReleaseDisplayEXT = anv_ReleaseDisplayEXT,
1727 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
1728   .vkAcquireXlibDisplayEXT = anv_AcquireXlibDisplayEXT,
1729 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
1730 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
1731   .vkGetRandROutputDisplayEXT = anv_GetRandROutputDisplayEXT,
1732 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
1733   .vkGetPhysicalDeviceSurfaceCapabilities2EXT = anv_GetPhysicalDeviceSurfaceCapabilities2EXT,
1734   .vkGetPhysicalDevicePresentRectanglesKHR = anv_GetPhysicalDevicePresentRectanglesKHR,
1735   .vkGetPhysicalDeviceSurfaceCapabilities2KHR = anv_GetPhysicalDeviceSurfaceCapabilities2KHR,
1736   .vkGetPhysicalDeviceSurfaceFormats2KHR = anv_GetPhysicalDeviceSurfaceFormats2KHR,
1737   .vkGetPhysicalDeviceDisplayProperties2KHR = anv_GetPhysicalDeviceDisplayProperties2KHR,
1738   .vkGetPhysicalDeviceDisplayPlaneProperties2KHR = anv_GetPhysicalDeviceDisplayPlaneProperties2KHR,
1739   .vkGetDisplayModeProperties2KHR = anv_GetDisplayModeProperties2KHR,
1740   .vkGetDisplayPlaneCapabilities2KHR = anv_GetDisplayPlaneCapabilities2KHR,
1741   .vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = anv_GetPhysicalDeviceCalibrateableTimeDomainsEXT,
1742   .vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = anv_EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,
1743   .vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = anv_GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,
1744 };
1745 
1746 
1747       PFN_vkVoidFunction __attribute__ ((weak))
anv_GetDeviceProcAddr(VkDevice device,const char * pName)1748       anv_GetDeviceProcAddr(VkDevice device, const char* pName)
1749       {
1750           ANV_FROM_HANDLE(anv_device, anv_device, device);
1751           return anv_device->dispatch.vkGetDeviceProcAddr(device, pName);
1752       }
1753       void __attribute__ ((weak))
anv_DestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator)1754       anv_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator)
1755       {
1756           ANV_FROM_HANDLE(anv_device, anv_device, device);
1757           return anv_device->dispatch.vkDestroyDevice(device, pAllocator);
1758       }
1759       void __attribute__ ((weak))
anv_GetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue)1760       anv_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
1761       {
1762           ANV_FROM_HANDLE(anv_device, anv_device, device);
1763           return anv_device->dispatch.vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
1764       }
1765       VkResult __attribute__ ((weak))
anv_QueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence)1766       anv_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
1767       {
1768           ANV_FROM_HANDLE(anv_queue, anv_queue, queue);
1769           return anv_queue->device->dispatch.vkQueueSubmit(queue, submitCount, pSubmits, fence);
1770       }
1771       VkResult __attribute__ ((weak))
anv_QueueWaitIdle(VkQueue queue)1772       anv_QueueWaitIdle(VkQueue queue)
1773       {
1774           ANV_FROM_HANDLE(anv_queue, anv_queue, queue);
1775           return anv_queue->device->dispatch.vkQueueWaitIdle(queue);
1776       }
1777       VkResult __attribute__ ((weak))
anv_DeviceWaitIdle(VkDevice device)1778       anv_DeviceWaitIdle(VkDevice device)
1779       {
1780           ANV_FROM_HANDLE(anv_device, anv_device, device);
1781           return anv_device->dispatch.vkDeviceWaitIdle(device);
1782       }
1783       VkResult __attribute__ ((weak))
anv_AllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory)1784       anv_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
1785       {
1786           ANV_FROM_HANDLE(anv_device, anv_device, device);
1787           return anv_device->dispatch.vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
1788       }
1789       void __attribute__ ((weak))
anv_FreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator)1790       anv_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
1791       {
1792           ANV_FROM_HANDLE(anv_device, anv_device, device);
1793           return anv_device->dispatch.vkFreeMemory(device, memory, pAllocator);
1794       }
1795       VkResult __attribute__ ((weak))
anv_MapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData)1796       anv_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData)
1797       {
1798           ANV_FROM_HANDLE(anv_device, anv_device, device);
1799           return anv_device->dispatch.vkMapMemory(device, memory, offset, size, flags, ppData);
1800       }
1801       void __attribute__ ((weak))
anv_UnmapMemory(VkDevice device,VkDeviceMemory memory)1802       anv_UnmapMemory(VkDevice device, VkDeviceMemory memory)
1803       {
1804           ANV_FROM_HANDLE(anv_device, anv_device, device);
1805           return anv_device->dispatch.vkUnmapMemory(device, memory);
1806       }
1807       VkResult __attribute__ ((weak))
anv_FlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)1808       anv_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
1809       {
1810           ANV_FROM_HANDLE(anv_device, anv_device, device);
1811           return anv_device->dispatch.vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
1812       }
1813       VkResult __attribute__ ((weak))
anv_InvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)1814       anv_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
1815       {
1816           ANV_FROM_HANDLE(anv_device, anv_device, device);
1817           return anv_device->dispatch.vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
1818       }
1819       void __attribute__ ((weak))
anv_GetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes)1820       anv_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
1821       {
1822           ANV_FROM_HANDLE(anv_device, anv_device, device);
1823           return anv_device->dispatch.vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
1824       }
1825       void __attribute__ ((weak))
anv_GetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements)1826       anv_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
1827       {
1828           ANV_FROM_HANDLE(anv_device, anv_device, device);
1829           return anv_device->dispatch.vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
1830       }
1831       VkResult __attribute__ ((weak))
anv_BindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset)1832       anv_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
1833       {
1834           ANV_FROM_HANDLE(anv_device, anv_device, device);
1835           return anv_device->dispatch.vkBindBufferMemory(device, buffer, memory, memoryOffset);
1836       }
1837       void __attribute__ ((weak))
anv_GetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements)1838       anv_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
1839       {
1840           ANV_FROM_HANDLE(anv_device, anv_device, device);
1841           return anv_device->dispatch.vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
1842       }
1843       VkResult __attribute__ ((weak))
anv_BindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset)1844       anv_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
1845       {
1846           ANV_FROM_HANDLE(anv_device, anv_device, device);
1847           return anv_device->dispatch.vkBindImageMemory(device, image, memory, memoryOffset);
1848       }
1849       void __attribute__ ((weak))
anv_GetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements)1850       anv_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
1851       {
1852           ANV_FROM_HANDLE(anv_device, anv_device, device);
1853           return anv_device->dispatch.vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1854       }
1855       VkResult __attribute__ ((weak))
anv_QueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence)1856       anv_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
1857       {
1858           ANV_FROM_HANDLE(anv_queue, anv_queue, queue);
1859           return anv_queue->device->dispatch.vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
1860       }
1861       VkResult __attribute__ ((weak))
anv_CreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)1862       anv_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
1863       {
1864           ANV_FROM_HANDLE(anv_device, anv_device, device);
1865           return anv_device->dispatch.vkCreateFence(device, pCreateInfo, pAllocator, pFence);
1866       }
1867       void __attribute__ ((weak))
anv_DestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator)1868       anv_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
1869       {
1870           ANV_FROM_HANDLE(anv_device, anv_device, device);
1871           return anv_device->dispatch.vkDestroyFence(device, fence, pAllocator);
1872       }
1873       VkResult __attribute__ ((weak))
anv_ResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences)1874       anv_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
1875       {
1876           ANV_FROM_HANDLE(anv_device, anv_device, device);
1877           return anv_device->dispatch.vkResetFences(device, fenceCount, pFences);
1878       }
1879       VkResult __attribute__ ((weak))
anv_GetFenceStatus(VkDevice device,VkFence fence)1880       anv_GetFenceStatus(VkDevice device, VkFence fence)
1881       {
1882           ANV_FROM_HANDLE(anv_device, anv_device, device);
1883           return anv_device->dispatch.vkGetFenceStatus(device, fence);
1884       }
1885       VkResult __attribute__ ((weak))
anv_WaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout)1886       anv_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
1887       {
1888           ANV_FROM_HANDLE(anv_device, anv_device, device);
1889           return anv_device->dispatch.vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
1890       }
1891       VkResult __attribute__ ((weak))
anv_CreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore)1892       anv_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
1893       {
1894           ANV_FROM_HANDLE(anv_device, anv_device, device);
1895           return anv_device->dispatch.vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
1896       }
1897       void __attribute__ ((weak))
anv_DestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator)1898       anv_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
1899       {
1900           ANV_FROM_HANDLE(anv_device, anv_device, device);
1901           return anv_device->dispatch.vkDestroySemaphore(device, semaphore, pAllocator);
1902       }
1903       VkResult __attribute__ ((weak))
anv_CreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent)1904       anv_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
1905       {
1906           ANV_FROM_HANDLE(anv_device, anv_device, device);
1907           return anv_device->dispatch.vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
1908       }
1909       void __attribute__ ((weak))
anv_DestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator)1910       anv_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
1911       {
1912           ANV_FROM_HANDLE(anv_device, anv_device, device);
1913           return anv_device->dispatch.vkDestroyEvent(device, event, pAllocator);
1914       }
1915       VkResult __attribute__ ((weak))
anv_GetEventStatus(VkDevice device,VkEvent event)1916       anv_GetEventStatus(VkDevice device, VkEvent event)
1917       {
1918           ANV_FROM_HANDLE(anv_device, anv_device, device);
1919           return anv_device->dispatch.vkGetEventStatus(device, event);
1920       }
1921       VkResult __attribute__ ((weak))
anv_SetEvent(VkDevice device,VkEvent event)1922       anv_SetEvent(VkDevice device, VkEvent event)
1923       {
1924           ANV_FROM_HANDLE(anv_device, anv_device, device);
1925           return anv_device->dispatch.vkSetEvent(device, event);
1926       }
1927       VkResult __attribute__ ((weak))
anv_ResetEvent(VkDevice device,VkEvent event)1928       anv_ResetEvent(VkDevice device, VkEvent event)
1929       {
1930           ANV_FROM_HANDLE(anv_device, anv_device, device);
1931           return anv_device->dispatch.vkResetEvent(device, event);
1932       }
1933       VkResult __attribute__ ((weak))
anv_CreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool)1934       anv_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
1935       {
1936           ANV_FROM_HANDLE(anv_device, anv_device, device);
1937           return anv_device->dispatch.vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
1938       }
1939       void __attribute__ ((weak))
anv_DestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator)1940       anv_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
1941       {
1942           ANV_FROM_HANDLE(anv_device, anv_device, device);
1943           return anv_device->dispatch.vkDestroyQueryPool(device, queryPool, pAllocator);
1944       }
1945       VkResult __attribute__ ((weak))
anv_GetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags)1946       anv_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
1947       {
1948           ANV_FROM_HANDLE(anv_device, anv_device, device);
1949           return anv_device->dispatch.vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
1950       }
1951       void __attribute__ ((weak))
anv_ResetQueryPool(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount)1952       anv_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
1953       {
1954           ANV_FROM_HANDLE(anv_device, anv_device, device);
1955           return anv_device->dispatch.vkResetQueryPool(device, queryPool, firstQuery, queryCount);
1956       }
1957             VkResult __attribute__ ((weak))
anv_CreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer)1958       anv_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
1959       {
1960           ANV_FROM_HANDLE(anv_device, anv_device, device);
1961           return anv_device->dispatch.vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
1962       }
1963       void __attribute__ ((weak))
anv_DestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator)1964       anv_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
1965       {
1966           ANV_FROM_HANDLE(anv_device, anv_device, device);
1967           return anv_device->dispatch.vkDestroyBuffer(device, buffer, pAllocator);
1968       }
1969       VkResult __attribute__ ((weak))
anv_CreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView)1970       anv_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
1971       {
1972           ANV_FROM_HANDLE(anv_device, anv_device, device);
1973           return anv_device->dispatch.vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
1974       }
1975       void __attribute__ ((weak))
anv_DestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator)1976       anv_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
1977       {
1978           ANV_FROM_HANDLE(anv_device, anv_device, device);
1979           return anv_device->dispatch.vkDestroyBufferView(device, bufferView, pAllocator);
1980       }
1981       VkResult __attribute__ ((weak))
anv_CreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage)1982       anv_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
1983       {
1984           ANV_FROM_HANDLE(anv_device, anv_device, device);
1985           return anv_device->dispatch.vkCreateImage(device, pCreateInfo, pAllocator, pImage);
1986       }
1987       void __attribute__ ((weak))
anv_DestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator)1988       anv_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
1989       {
1990           ANV_FROM_HANDLE(anv_device, anv_device, device);
1991           return anv_device->dispatch.vkDestroyImage(device, image, pAllocator);
1992       }
1993       void __attribute__ ((weak))
anv_GetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout)1994       anv_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
1995       {
1996           ANV_FROM_HANDLE(anv_device, anv_device, device);
1997           return anv_device->dispatch.vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
1998       }
1999       VkResult __attribute__ ((weak))
anv_CreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView)2000       anv_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
2001       {
2002           ANV_FROM_HANDLE(anv_device, anv_device, device);
2003           return anv_device->dispatch.vkCreateImageView(device, pCreateInfo, pAllocator, pView);
2004       }
2005       void __attribute__ ((weak))
anv_DestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator)2006       anv_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
2007       {
2008           ANV_FROM_HANDLE(anv_device, anv_device, device);
2009           return anv_device->dispatch.vkDestroyImageView(device, imageView, pAllocator);
2010       }
2011       VkResult __attribute__ ((weak))
anv_CreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule)2012       anv_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
2013       {
2014           ANV_FROM_HANDLE(anv_device, anv_device, device);
2015           return anv_device->dispatch.vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
2016       }
2017       void __attribute__ ((weak))
anv_DestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator)2018       anv_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
2019       {
2020           ANV_FROM_HANDLE(anv_device, anv_device, device);
2021           return anv_device->dispatch.vkDestroyShaderModule(device, shaderModule, pAllocator);
2022       }
2023       VkResult __attribute__ ((weak))
anv_CreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache)2024       anv_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
2025       {
2026           ANV_FROM_HANDLE(anv_device, anv_device, device);
2027           return anv_device->dispatch.vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
2028       }
2029       void __attribute__ ((weak))
anv_DestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator)2030       anv_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
2031       {
2032           ANV_FROM_HANDLE(anv_device, anv_device, device);
2033           return anv_device->dispatch.vkDestroyPipelineCache(device, pipelineCache, pAllocator);
2034       }
2035       VkResult __attribute__ ((weak))
anv_GetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData)2036       anv_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
2037       {
2038           ANV_FROM_HANDLE(anv_device, anv_device, device);
2039           return anv_device->dispatch.vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
2040       }
2041       VkResult __attribute__ ((weak))
anv_MergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches)2042       anv_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
2043       {
2044           ANV_FROM_HANDLE(anv_device, anv_device, device);
2045           return anv_device->dispatch.vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
2046       }
2047       VkResult __attribute__ ((weak))
anv_CreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)2048       anv_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
2049       {
2050           ANV_FROM_HANDLE(anv_device, anv_device, device);
2051           return anv_device->dispatch.vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
2052       }
2053       VkResult __attribute__ ((weak))
anv_CreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)2054       anv_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
2055       {
2056           ANV_FROM_HANDLE(anv_device, anv_device, device);
2057           return anv_device->dispatch.vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
2058       }
2059       void __attribute__ ((weak))
anv_DestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator)2060       anv_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
2061       {
2062           ANV_FROM_HANDLE(anv_device, anv_device, device);
2063           return anv_device->dispatch.vkDestroyPipeline(device, pipeline, pAllocator);
2064       }
2065       VkResult __attribute__ ((weak))
anv_CreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout)2066       anv_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
2067       {
2068           ANV_FROM_HANDLE(anv_device, anv_device, device);
2069           return anv_device->dispatch.vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
2070       }
2071       void __attribute__ ((weak))
anv_DestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator)2072       anv_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
2073       {
2074           ANV_FROM_HANDLE(anv_device, anv_device, device);
2075           return anv_device->dispatch.vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
2076       }
2077       VkResult __attribute__ ((weak))
anv_CreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler)2078       anv_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
2079       {
2080           ANV_FROM_HANDLE(anv_device, anv_device, device);
2081           return anv_device->dispatch.vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
2082       }
2083       void __attribute__ ((weak))
anv_DestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator)2084       anv_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
2085       {
2086           ANV_FROM_HANDLE(anv_device, anv_device, device);
2087           return anv_device->dispatch.vkDestroySampler(device, sampler, pAllocator);
2088       }
2089       VkResult __attribute__ ((weak))
anv_CreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout)2090       anv_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
2091       {
2092           ANV_FROM_HANDLE(anv_device, anv_device, device);
2093           return anv_device->dispatch.vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
2094       }
2095       void __attribute__ ((weak))
anv_DestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator)2096       anv_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
2097       {
2098           ANV_FROM_HANDLE(anv_device, anv_device, device);
2099           return anv_device->dispatch.vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
2100       }
2101       VkResult __attribute__ ((weak))
anv_CreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool)2102       anv_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
2103       {
2104           ANV_FROM_HANDLE(anv_device, anv_device, device);
2105           return anv_device->dispatch.vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
2106       }
2107       void __attribute__ ((weak))
anv_DestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator)2108       anv_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
2109       {
2110           ANV_FROM_HANDLE(anv_device, anv_device, device);
2111           return anv_device->dispatch.vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
2112       }
2113       VkResult __attribute__ ((weak))
anv_ResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags)2114       anv_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
2115       {
2116           ANV_FROM_HANDLE(anv_device, anv_device, device);
2117           return anv_device->dispatch.vkResetDescriptorPool(device, descriptorPool, flags);
2118       }
2119       VkResult __attribute__ ((weak))
anv_AllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets)2120       anv_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
2121       {
2122           ANV_FROM_HANDLE(anv_device, anv_device, device);
2123           return anv_device->dispatch.vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
2124       }
2125       VkResult __attribute__ ((weak))
anv_FreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets)2126       anv_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
2127       {
2128           ANV_FROM_HANDLE(anv_device, anv_device, device);
2129           return anv_device->dispatch.vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
2130       }
2131       void __attribute__ ((weak))
anv_UpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies)2132       anv_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
2133       {
2134           ANV_FROM_HANDLE(anv_device, anv_device, device);
2135           return anv_device->dispatch.vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
2136       }
2137       VkResult __attribute__ ((weak))
anv_CreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer)2138       anv_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
2139       {
2140           ANV_FROM_HANDLE(anv_device, anv_device, device);
2141           return anv_device->dispatch.vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
2142       }
2143       void __attribute__ ((weak))
anv_DestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator)2144       anv_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
2145       {
2146           ANV_FROM_HANDLE(anv_device, anv_device, device);
2147           return anv_device->dispatch.vkDestroyFramebuffer(device, framebuffer, pAllocator);
2148       }
2149       VkResult __attribute__ ((weak))
anv_CreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)2150       anv_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
2151       {
2152           ANV_FROM_HANDLE(anv_device, anv_device, device);
2153           return anv_device->dispatch.vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
2154       }
2155       void __attribute__ ((weak))
anv_DestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator)2156       anv_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
2157       {
2158           ANV_FROM_HANDLE(anv_device, anv_device, device);
2159           return anv_device->dispatch.vkDestroyRenderPass(device, renderPass, pAllocator);
2160       }
2161       void __attribute__ ((weak))
anv_GetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity)2162       anv_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
2163       {
2164           ANV_FROM_HANDLE(anv_device, anv_device, device);
2165           return anv_device->dispatch.vkGetRenderAreaGranularity(device, renderPass, pGranularity);
2166       }
2167       VkResult __attribute__ ((weak))
anv_CreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool)2168       anv_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
2169       {
2170           ANV_FROM_HANDLE(anv_device, anv_device, device);
2171           return anv_device->dispatch.vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
2172       }
2173       void __attribute__ ((weak))
anv_DestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator)2174       anv_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
2175       {
2176           ANV_FROM_HANDLE(anv_device, anv_device, device);
2177           return anv_device->dispatch.vkDestroyCommandPool(device, commandPool, pAllocator);
2178       }
2179       VkResult __attribute__ ((weak))
anv_ResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags)2180       anv_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
2181       {
2182           ANV_FROM_HANDLE(anv_device, anv_device, device);
2183           return anv_device->dispatch.vkResetCommandPool(device, commandPool, flags);
2184       }
2185       VkResult __attribute__ ((weak))
anv_AllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers)2186       anv_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
2187       {
2188           ANV_FROM_HANDLE(anv_device, anv_device, device);
2189           return anv_device->dispatch.vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
2190       }
2191       void __attribute__ ((weak))
anv_FreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers)2192       anv_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
2193       {
2194           ANV_FROM_HANDLE(anv_device, anv_device, device);
2195           return anv_device->dispatch.vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
2196       }
2197       VkResult __attribute__ ((weak))
anv_BeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo)2198       anv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
2199       {
2200           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2201           return anv_cmd_buffer->device->dispatch.vkBeginCommandBuffer(commandBuffer, pBeginInfo);
2202       }
2203       VkResult __attribute__ ((weak))
anv_EndCommandBuffer(VkCommandBuffer commandBuffer)2204       anv_EndCommandBuffer(VkCommandBuffer commandBuffer)
2205       {
2206           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2207           return anv_cmd_buffer->device->dispatch.vkEndCommandBuffer(commandBuffer);
2208       }
2209       VkResult __attribute__ ((weak))
anv_ResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags)2210       anv_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
2211       {
2212           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2213           return anv_cmd_buffer->device->dispatch.vkResetCommandBuffer(commandBuffer, flags);
2214       }
2215       void __attribute__ ((weak))
anv_CmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline)2216       anv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
2217       {
2218           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2219           return anv_cmd_buffer->device->dispatch.vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
2220       }
2221       void __attribute__ ((weak))
anv_CmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports)2222       anv_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
2223       {
2224           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2225           return anv_cmd_buffer->device->dispatch.vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
2226       }
2227       void __attribute__ ((weak))
anv_CmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors)2228       anv_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
2229       {
2230           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2231           return anv_cmd_buffer->device->dispatch.vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
2232       }
2233       void __attribute__ ((weak))
anv_CmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth)2234       anv_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)
2235       {
2236           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2237           return anv_cmd_buffer->device->dispatch.vkCmdSetLineWidth(commandBuffer, lineWidth);
2238       }
2239       void __attribute__ ((weak))
anv_CmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor)2240       anv_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
2241       {
2242           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2243           return anv_cmd_buffer->device->dispatch.vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
2244       }
2245       void __attribute__ ((weak))
anv_CmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4])2246       anv_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])
2247       {
2248           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2249           return anv_cmd_buffer->device->dispatch.vkCmdSetBlendConstants(commandBuffer, blendConstants);
2250       }
2251       void __attribute__ ((weak))
anv_CmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds)2252       anv_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
2253       {
2254           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2255           return anv_cmd_buffer->device->dispatch.vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
2256       }
2257       void __attribute__ ((weak))
anv_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask)2258       anv_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
2259       {
2260           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2261           return anv_cmd_buffer->device->dispatch.vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
2262       }
2263       void __attribute__ ((weak))
anv_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask)2264       anv_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
2265       {
2266           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2267           return anv_cmd_buffer->device->dispatch.vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
2268       }
2269       void __attribute__ ((weak))
anv_CmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference)2270       anv_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
2271       {
2272           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2273           return anv_cmd_buffer->device->dispatch.vkCmdSetStencilReference(commandBuffer, faceMask, reference);
2274       }
2275       void __attribute__ ((weak))
anv_CmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets)2276       anv_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
2277       {
2278           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2279           return anv_cmd_buffer->device->dispatch.vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
2280       }
2281       void __attribute__ ((weak))
anv_CmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType)2282       anv_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
2283       {
2284           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2285           return anv_cmd_buffer->device->dispatch.vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
2286       }
2287       void __attribute__ ((weak))
anv_CmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets)2288       anv_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
2289       {
2290           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2291           return anv_cmd_buffer->device->dispatch.vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
2292       }
2293       void __attribute__ ((weak))
anv_CmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance)2294       anv_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
2295       {
2296           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2297           return anv_cmd_buffer->device->dispatch.vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
2298       }
2299       void __attribute__ ((weak))
anv_CmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance)2300       anv_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
2301       {
2302           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2303           return anv_cmd_buffer->device->dispatch.vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
2304       }
2305       void __attribute__ ((weak))
anv_CmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride)2306       anv_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
2307       {
2308           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2309           return anv_cmd_buffer->device->dispatch.vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
2310       }
2311       void __attribute__ ((weak))
anv_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride)2312       anv_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
2313       {
2314           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2315           return anv_cmd_buffer->device->dispatch.vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
2316       }
2317       void __attribute__ ((weak))
anv_CmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ)2318       anv_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
2319       {
2320           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2321           return anv_cmd_buffer->device->dispatch.vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
2322       }
2323       void __attribute__ ((weak))
anv_CmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset)2324       anv_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
2325       {
2326           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2327           return anv_cmd_buffer->device->dispatch.vkCmdDispatchIndirect(commandBuffer, buffer, offset);
2328       }
2329       void __attribute__ ((weak))
anv_CmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions)2330       anv_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
2331       {
2332           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2333           return anv_cmd_buffer->device->dispatch.vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
2334       }
2335       void __attribute__ ((weak))
anv_CmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions)2336       anv_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
2337       {
2338           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2339           return anv_cmd_buffer->device->dispatch.vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
2340       }
2341       void __attribute__ ((weak))
anv_CmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter)2342       anv_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
2343       {
2344           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2345           return anv_cmd_buffer->device->dispatch.vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
2346       }
2347       void __attribute__ ((weak))
anv_CmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions)2348       anv_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
2349       {
2350           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2351           return anv_cmd_buffer->device->dispatch.vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
2352       }
2353       void __attribute__ ((weak))
anv_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions)2354       anv_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
2355       {
2356           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2357           return anv_cmd_buffer->device->dispatch.vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
2358       }
2359       void __attribute__ ((weak))
anv_CmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData)2360       anv_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
2361       {
2362           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2363           return anv_cmd_buffer->device->dispatch.vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
2364       }
2365       void __attribute__ ((weak))
anv_CmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data)2366       anv_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
2367       {
2368           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2369           return anv_cmd_buffer->device->dispatch.vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
2370       }
2371       void __attribute__ ((weak))
anv_CmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges)2372       anv_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
2373       {
2374           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2375           return anv_cmd_buffer->device->dispatch.vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
2376       }
2377       void __attribute__ ((weak))
anv_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges)2378       anv_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
2379       {
2380           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2381           return anv_cmd_buffer->device->dispatch.vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
2382       }
2383       void __attribute__ ((weak))
anv_CmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects)2384       anv_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
2385       {
2386           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2387           return anv_cmd_buffer->device->dispatch.vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
2388       }
2389       void __attribute__ ((weak))
anv_CmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions)2390       anv_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
2391       {
2392           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2393           return anv_cmd_buffer->device->dispatch.vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
2394       }
2395       void __attribute__ ((weak))
anv_CmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask)2396       anv_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
2397       {
2398           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2399           return anv_cmd_buffer->device->dispatch.vkCmdSetEvent(commandBuffer, event, stageMask);
2400       }
2401       void __attribute__ ((weak))
anv_CmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask)2402       anv_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
2403       {
2404           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2405           return anv_cmd_buffer->device->dispatch.vkCmdResetEvent(commandBuffer, event, stageMask);
2406       }
2407       void __attribute__ ((weak))
anv_CmdWaitEvents(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,VkPipelineStageFlags srcStageMask,VkPipelineStageFlags dstStageMask,uint32_t memoryBarrierCount,const VkMemoryBarrier * pMemoryBarriers,uint32_t bufferMemoryBarrierCount,const VkBufferMemoryBarrier * pBufferMemoryBarriers,uint32_t imageMemoryBarrierCount,const VkImageMemoryBarrier * pImageMemoryBarriers)2408       anv_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
2409       {
2410           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2411           return anv_cmd_buffer->device->dispatch.vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
2412       }
2413       void __attribute__ ((weak))
anv_CmdPipelineBarrier(VkCommandBuffer commandBuffer,VkPipelineStageFlags srcStageMask,VkPipelineStageFlags dstStageMask,VkDependencyFlags dependencyFlags,uint32_t memoryBarrierCount,const VkMemoryBarrier * pMemoryBarriers,uint32_t bufferMemoryBarrierCount,const VkBufferMemoryBarrier * pBufferMemoryBarriers,uint32_t imageMemoryBarrierCount,const VkImageMemoryBarrier * pImageMemoryBarriers)2414       anv_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers)
2415       {
2416           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2417           return anv_cmd_buffer->device->dispatch.vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
2418       }
2419       void __attribute__ ((weak))
anv_CmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags)2420       anv_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
2421       {
2422           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2423           return anv_cmd_buffer->device->dispatch.vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
2424       }
2425       void __attribute__ ((weak))
anv_CmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query)2426       anv_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
2427       {
2428           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2429           return anv_cmd_buffer->device->dispatch.vkCmdEndQuery(commandBuffer, queryPool, query);
2430       }
2431       void __attribute__ ((weak))
anv_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin)2432       anv_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin)
2433       {
2434           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2435           return anv_cmd_buffer->device->dispatch.vkCmdBeginConditionalRenderingEXT(commandBuffer, pConditionalRenderingBegin);
2436       }
2437       void __attribute__ ((weak))
anv_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)2438       anv_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer)
2439       {
2440           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2441           return anv_cmd_buffer->device->dispatch.vkCmdEndConditionalRenderingEXT(commandBuffer);
2442       }
2443       void __attribute__ ((weak))
anv_CmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount)2444       anv_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
2445       {
2446           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2447           return anv_cmd_buffer->device->dispatch.vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
2448       }
2449       void __attribute__ ((weak))
anv_CmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query)2450       anv_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
2451       {
2452           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2453           return anv_cmd_buffer->device->dispatch.vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
2454       }
2455       void __attribute__ ((weak))
anv_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags)2456       anv_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
2457       {
2458           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2459           return anv_cmd_buffer->device->dispatch.vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
2460       }
2461       void __attribute__ ((weak))
anv_CmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues)2462       anv_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
2463       {
2464           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2465           return anv_cmd_buffer->device->dispatch.vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
2466       }
2467       void __attribute__ ((weak))
anv_CmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents)2468       anv_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
2469       {
2470           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2471           return anv_cmd_buffer->device->dispatch.vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
2472       }
2473       void __attribute__ ((weak))
anv_CmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents)2474       anv_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
2475       {
2476           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2477           return anv_cmd_buffer->device->dispatch.vkCmdNextSubpass(commandBuffer, contents);
2478       }
2479       void __attribute__ ((weak))
anv_CmdEndRenderPass(VkCommandBuffer commandBuffer)2480       anv_CmdEndRenderPass(VkCommandBuffer commandBuffer)
2481       {
2482           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2483           return anv_cmd_buffer->device->dispatch.vkCmdEndRenderPass(commandBuffer);
2484       }
2485       void __attribute__ ((weak))
anv_CmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers)2486       anv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
2487       {
2488           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2489           return anv_cmd_buffer->device->dispatch.vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
2490       }
2491       VkResult __attribute__ ((weak))
anv_CreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain)2492       anv_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain)
2493       {
2494           ANV_FROM_HANDLE(anv_device, anv_device, device);
2495           return anv_device->dispatch.vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
2496       }
2497       void __attribute__ ((weak))
anv_DestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator)2498       anv_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator)
2499       {
2500           ANV_FROM_HANDLE(anv_device, anv_device, device);
2501           return anv_device->dispatch.vkDestroySwapchainKHR(device, swapchain, pAllocator);
2502       }
2503       VkResult __attribute__ ((weak))
anv_GetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages)2504       anv_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages)
2505       {
2506           ANV_FROM_HANDLE(anv_device, anv_device, device);
2507           return anv_device->dispatch.vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
2508       }
2509       VkResult __attribute__ ((weak))
anv_AcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex)2510       anv_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex)
2511       {
2512           ANV_FROM_HANDLE(anv_device, anv_device, device);
2513           return anv_device->dispatch.vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
2514       }
2515       VkResult __attribute__ ((weak))
anv_QueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo)2516       anv_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo)
2517       {
2518           ANV_FROM_HANDLE(anv_queue, anv_queue, queue);
2519           return anv_queue->device->dispatch.vkQueuePresentKHR(queue, pPresentInfo);
2520       }
2521       void __attribute__ ((weak))
anv_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites)2522       anv_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites)
2523       {
2524           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2525           return anv_cmd_buffer->device->dispatch.vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
2526       }
2527       void __attribute__ ((weak))
anv_TrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags)2528       anv_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags)
2529       {
2530           ANV_FROM_HANDLE(anv_device, anv_device, device);
2531           return anv_device->dispatch.vkTrimCommandPool(device, commandPool, flags);
2532       }
2533             VkResult __attribute__ ((weak))
anv_GetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd)2534       anv_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd)
2535       {
2536           ANV_FROM_HANDLE(anv_device, anv_device, device);
2537           return anv_device->dispatch.vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
2538       }
2539       VkResult __attribute__ ((weak))
anv_GetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties)2540       anv_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties)
2541       {
2542           ANV_FROM_HANDLE(anv_device, anv_device, device);
2543           return anv_device->dispatch.vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
2544       }
2545       VkResult __attribute__ ((weak))
anv_GetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd)2546       anv_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd)
2547       {
2548           ANV_FROM_HANDLE(anv_device, anv_device, device);
2549           return anv_device->dispatch.vkGetSemaphoreFdKHR(device, pGetFdInfo, pFd);
2550       }
2551       VkResult __attribute__ ((weak))
anv_ImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo)2552       anv_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
2553       {
2554           ANV_FROM_HANDLE(anv_device, anv_device, device);
2555           return anv_device->dispatch.vkImportSemaphoreFdKHR(device, pImportSemaphoreFdInfo);
2556       }
2557       VkResult __attribute__ ((weak))
anv_GetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd)2558       anv_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd)
2559       {
2560           ANV_FROM_HANDLE(anv_device, anv_device, device);
2561           return anv_device->dispatch.vkGetFenceFdKHR(device, pGetFdInfo, pFd);
2562       }
2563       VkResult __attribute__ ((weak))
anv_ImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo)2564       anv_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
2565       {
2566           ANV_FROM_HANDLE(anv_device, anv_device, device);
2567           return anv_device->dispatch.vkImportFenceFdKHR(device, pImportFenceFdInfo);
2568       }
2569       VkResult __attribute__ ((weak))
anv_DisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo)2570       anv_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo)
2571       {
2572           ANV_FROM_HANDLE(anv_device, anv_device, device);
2573           return anv_device->dispatch.vkDisplayPowerControlEXT(device, display, pDisplayPowerInfo);
2574       }
2575       VkResult __attribute__ ((weak))
anv_RegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)2576       anv_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
2577       {
2578           ANV_FROM_HANDLE(anv_device, anv_device, device);
2579           return anv_device->dispatch.vkRegisterDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence);
2580       }
2581       VkResult __attribute__ ((weak))
anv_RegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)2582       anv_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
2583       {
2584           ANV_FROM_HANDLE(anv_device, anv_device, device);
2585           return anv_device->dispatch.vkRegisterDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence);
2586       }
2587       VkResult __attribute__ ((weak))
anv_GetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue)2588       anv_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue)
2589       {
2590           ANV_FROM_HANDLE(anv_device, anv_device, device);
2591           return anv_device->dispatch.vkGetSwapchainCounterEXT(device, swapchain, counter, pCounterValue);
2592       }
2593       void __attribute__ ((weak))
anv_GetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures)2594       anv_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
2595       {
2596           ANV_FROM_HANDLE(anv_device, anv_device, device);
2597           return anv_device->dispatch.vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
2598       }
2599             VkResult __attribute__ ((weak))
anv_BindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos)2600       anv_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos)
2601       {
2602           ANV_FROM_HANDLE(anv_device, anv_device, device);
2603           return anv_device->dispatch.vkBindBufferMemory2(device, bindInfoCount, pBindInfos);
2604       }
2605             VkResult __attribute__ ((weak))
anv_BindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos)2606       anv_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos)
2607       {
2608           ANV_FROM_HANDLE(anv_device, anv_device, device);
2609           return anv_device->dispatch.vkBindImageMemory2(device, bindInfoCount, pBindInfos);
2610       }
2611             void __attribute__ ((weak))
anv_CmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask)2612       anv_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask)
2613       {
2614           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2615           return anv_cmd_buffer->device->dispatch.vkCmdSetDeviceMask(commandBuffer, deviceMask);
2616       }
2617             VkResult __attribute__ ((weak))
anv_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities)2618       anv_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
2619       {
2620           ANV_FROM_HANDLE(anv_device, anv_device, device);
2621           return anv_device->dispatch.vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
2622       }
2623       VkResult __attribute__ ((weak))
anv_GetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes)2624       anv_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes)
2625       {
2626           ANV_FROM_HANDLE(anv_device, anv_device, device);
2627           return anv_device->dispatch.vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
2628       }
2629       VkResult __attribute__ ((weak))
anv_AcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex)2630       anv_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex)
2631       {
2632           ANV_FROM_HANDLE(anv_device, anv_device, device);
2633           return anv_device->dispatch.vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
2634       }
2635       void __attribute__ ((weak))
anv_CmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ)2636       anv_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
2637       {
2638           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2639           return anv_cmd_buffer->device->dispatch.vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
2640       }
2641             VkResult __attribute__ ((weak))
anv_CreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate)2642       anv_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
2643       {
2644           ANV_FROM_HANDLE(anv_device, anv_device, device);
2645           return anv_device->dispatch.vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
2646       }
2647             void __attribute__ ((weak))
anv_DestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator)2648       anv_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
2649       {
2650           ANV_FROM_HANDLE(anv_device, anv_device, device);
2651           return anv_device->dispatch.vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
2652       }
2653             void __attribute__ ((weak))
anv_UpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData)2654       anv_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData)
2655       {
2656           ANV_FROM_HANDLE(anv_device, anv_device, device);
2657           return anv_device->dispatch.vkUpdateDescriptorSetWithTemplate(device, descriptorSet, descriptorUpdateTemplate, pData);
2658       }
2659             void __attribute__ ((weak))
anv_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData)2660       anv_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData)
2661       {
2662           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2663           return anv_cmd_buffer->device->dispatch.vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
2664       }
2665       void __attribute__ ((weak))
anv_GetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements)2666       anv_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
2667       {
2668           ANV_FROM_HANDLE(anv_device, anv_device, device);
2669           return anv_device->dispatch.vkGetBufferMemoryRequirements2(device, pInfo, pMemoryRequirements);
2670       }
2671             void __attribute__ ((weak))
anv_GetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements)2672       anv_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements)
2673       {
2674           ANV_FROM_HANDLE(anv_device, anv_device, device);
2675           return anv_device->dispatch.vkGetImageMemoryRequirements2(device, pInfo, pMemoryRequirements);
2676       }
2677             void __attribute__ ((weak))
anv_GetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements)2678       anv_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
2679       {
2680           ANV_FROM_HANDLE(anv_device, anv_device, device);
2681           return anv_device->dispatch.vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
2682       }
2683             VkResult __attribute__ ((weak))
anv_CreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion)2684       anv_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion)
2685       {
2686           ANV_FROM_HANDLE(anv_device, anv_device, device);
2687           return anv_device->dispatch.vkCreateSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion);
2688       }
2689             void __attribute__ ((weak))
anv_DestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator)2690       anv_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator)
2691       {
2692           ANV_FROM_HANDLE(anv_device, anv_device, device);
2693           return anv_device->dispatch.vkDestroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator);
2694       }
2695             void __attribute__ ((weak))
anv_GetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue)2696       anv_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)
2697       {
2698           ANV_FROM_HANDLE(anv_device, anv_device, device);
2699           return anv_device->dispatch.vkGetDeviceQueue2(device, pQueueInfo, pQueue);
2700       }
2701       void __attribute__ ((weak))
anv_GetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport)2702       anv_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport)
2703       {
2704           ANV_FROM_HANDLE(anv_device, anv_device, device);
2705           return anv_device->dispatch.vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
2706       }
2707       #ifdef VK_USE_PLATFORM_ANDROID_KHR
2708       VkResult __attribute__ ((weak))
anv_GetSwapchainGrallocUsageANDROID(VkDevice device,VkFormat format,VkImageUsageFlags imageUsage,int * grallocUsage)2709       anv_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage)
2710       {
2711           ANV_FROM_HANDLE(anv_device, anv_device, device);
2712           return anv_device->dispatch.vkGetSwapchainGrallocUsageANDROID(device, format, imageUsage, grallocUsage);
2713       }
2714 #endif // VK_USE_PLATFORM_ANDROID_KHR
2715 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2716       VkResult __attribute__ ((weak))
anv_GetSwapchainGrallocUsage2ANDROID(VkDevice device,VkFormat format,VkImageUsageFlags imageUsage,VkSwapchainImageUsageFlagsANDROID swapchainImageUsage,uint64_t * grallocConsumerUsage,uint64_t * grallocProducerUsage)2717       anv_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage)
2718       {
2719           ANV_FROM_HANDLE(anv_device, anv_device, device);
2720           return anv_device->dispatch.vkGetSwapchainGrallocUsage2ANDROID(device, format, imageUsage, swapchainImageUsage, grallocConsumerUsage, grallocProducerUsage);
2721       }
2722 #endif // VK_USE_PLATFORM_ANDROID_KHR
2723 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2724       VkResult __attribute__ ((weak))
anv_AcquireImageANDROID(VkDevice device,VkImage image,int nativeFenceFd,VkSemaphore semaphore,VkFence fence)2725       anv_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence)
2726       {
2727           ANV_FROM_HANDLE(anv_device, anv_device, device);
2728           return anv_device->dispatch.vkAcquireImageANDROID(device, image, nativeFenceFd, semaphore, fence);
2729       }
2730 #endif // VK_USE_PLATFORM_ANDROID_KHR
2731 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2732       VkResult __attribute__ ((weak))
anv_QueueSignalReleaseImageANDROID(VkQueue queue,uint32_t waitSemaphoreCount,const VkSemaphore * pWaitSemaphores,VkImage image,int * pNativeFenceFd)2733       anv_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd)
2734       {
2735           ANV_FROM_HANDLE(anv_queue, anv_queue, queue);
2736           return anv_queue->device->dispatch.vkQueueSignalReleaseImageANDROID(queue, waitSemaphoreCount, pWaitSemaphores, image, pNativeFenceFd);
2737       }
2738 #endif // VK_USE_PLATFORM_ANDROID_KHR
2739       VkResult __attribute__ ((weak))
anv_GetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoEXT * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation)2740       anv_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation)
2741       {
2742           ANV_FROM_HANDLE(anv_device, anv_device, device);
2743           return anv_device->dispatch.vkGetCalibratedTimestampsEXT(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation);
2744       }
2745       VkResult __attribute__ ((weak))
anv_GetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties)2746       anv_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties)
2747       {
2748           ANV_FROM_HANDLE(anv_device, anv_device, device);
2749           return anv_device->dispatch.vkGetMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties);
2750       }
2751       VkResult __attribute__ ((weak))
anv_CreateRenderPass2(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)2752       anv_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
2753       {
2754           ANV_FROM_HANDLE(anv_device, anv_device, device);
2755           return anv_device->dispatch.vkCreateRenderPass2(device, pCreateInfo, pAllocator, pRenderPass);
2756       }
2757             void __attribute__ ((weak))
anv_CmdBeginRenderPass2(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo)2758       anv_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo)
2759       {
2760           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2761           return anv_cmd_buffer->device->dispatch.vkCmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
2762       }
2763             void __attribute__ ((weak))
anv_CmdNextSubpass2(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo)2764       anv_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo)
2765       {
2766           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2767           return anv_cmd_buffer->device->dispatch.vkCmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
2768       }
2769             void __attribute__ ((weak))
anv_CmdEndRenderPass2(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo)2770       anv_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo)
2771       {
2772           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2773           return anv_cmd_buffer->device->dispatch.vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo);
2774       }
2775             VkResult __attribute__ ((weak))
anv_GetSemaphoreCounterValue(VkDevice device,VkSemaphore semaphore,uint64_t * pValue)2776       anv_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue)
2777       {
2778           ANV_FROM_HANDLE(anv_device, anv_device, device);
2779           return anv_device->dispatch.vkGetSemaphoreCounterValue(device, semaphore, pValue);
2780       }
2781             VkResult __attribute__ ((weak))
anv_WaitSemaphores(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout)2782       anv_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout)
2783       {
2784           ANV_FROM_HANDLE(anv_device, anv_device, device);
2785           return anv_device->dispatch.vkWaitSemaphores(device, pWaitInfo, timeout);
2786       }
2787             VkResult __attribute__ ((weak))
anv_SignalSemaphore(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo)2788       anv_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo)
2789       {
2790           ANV_FROM_HANDLE(anv_device, anv_device, device);
2791           return anv_device->dispatch.vkSignalSemaphore(device, pSignalInfo);
2792       }
2793       #ifdef VK_USE_PLATFORM_ANDROID_KHR
2794       VkResult __attribute__ ((weak))
anv_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties)2795       anv_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties)
2796       {
2797           ANV_FROM_HANDLE(anv_device, anv_device, device);
2798           return anv_device->dispatch.vkGetAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties);
2799       }
2800 #endif // VK_USE_PLATFORM_ANDROID_KHR
2801 #ifdef VK_USE_PLATFORM_ANDROID_KHR
2802       VkResult __attribute__ ((weak))
anv_GetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer)2803       anv_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer)
2804       {
2805           ANV_FROM_HANDLE(anv_device, anv_device, device);
2806           return anv_device->dispatch.vkGetMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer);
2807       }
2808 #endif // VK_USE_PLATFORM_ANDROID_KHR
2809       void __attribute__ ((weak))
anv_CmdDrawIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride)2810       anv_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
2811       {
2812           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2813           return anv_cmd_buffer->device->dispatch.vkCmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
2814       }
2815             void __attribute__ ((weak))
anv_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride)2816       anv_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride)
2817       {
2818           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2819           return anv_cmd_buffer->device->dispatch.vkCmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
2820       }
2821             void __attribute__ ((weak))
anv_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes)2822       anv_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes)
2823       {
2824           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2825           return anv_cmd_buffer->device->dispatch.vkCmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes);
2826       }
2827       void __attribute__ ((weak))
anv_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets)2828       anv_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
2829       {
2830           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2831           return anv_cmd_buffer->device->dispatch.vkCmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
2832       }
2833       void __attribute__ ((weak))
anv_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets)2834       anv_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets)
2835       {
2836           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2837           return anv_cmd_buffer->device->dispatch.vkCmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets);
2838       }
2839       void __attribute__ ((weak))
anv_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index)2840       anv_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index)
2841       {
2842           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2843           return anv_cmd_buffer->device->dispatch.vkCmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index);
2844       }
2845       void __attribute__ ((weak))
anv_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index)2846       anv_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index)
2847       {
2848           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2849           return anv_cmd_buffer->device->dispatch.vkCmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index);
2850       }
2851       void __attribute__ ((weak))
anv_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride)2852       anv_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride)
2853       {
2854           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2855           return anv_cmd_buffer->device->dispatch.vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride);
2856       }
2857       VkResult __attribute__ ((weak))
anv_AcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo)2858       anv_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo)
2859       {
2860           ANV_FROM_HANDLE(anv_device, anv_device, device);
2861           return anv_device->dispatch.vkAcquireProfilingLockKHR(device, pInfo);
2862       }
2863       void __attribute__ ((weak))
anv_ReleaseProfilingLockKHR(VkDevice device)2864       anv_ReleaseProfilingLockKHR(VkDevice device)
2865       {
2866           ANV_FROM_HANDLE(anv_device, anv_device, device);
2867           return anv_device->dispatch.vkReleaseProfilingLockKHR(device);
2868       }
2869       VkResult __attribute__ ((weak))
anv_GetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties)2870       anv_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties)
2871       {
2872           ANV_FROM_HANDLE(anv_device, anv_device, device);
2873           return anv_device->dispatch.vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
2874       }
2875       uint64_t __attribute__ ((weak))
anv_GetBufferOpaqueCaptureAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo)2876       anv_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
2877       {
2878           ANV_FROM_HANDLE(anv_device, anv_device, device);
2879           return anv_device->dispatch.vkGetBufferOpaqueCaptureAddress(device, pInfo);
2880       }
2881             VkDeviceAddress __attribute__ ((weak))
anv_GetBufferDeviceAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo)2882       anv_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo)
2883       {
2884           ANV_FROM_HANDLE(anv_device, anv_device, device);
2885           return anv_device->dispatch.vkGetBufferDeviceAddress(device, pInfo);
2886       }
2887                   VkResult __attribute__ ((weak))
anv_InitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo)2888       anv_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo)
2889       {
2890           ANV_FROM_HANDLE(anv_device, anv_device, device);
2891           return anv_device->dispatch.vkInitializePerformanceApiINTEL(device, pInitializeInfo);
2892       }
2893       void __attribute__ ((weak))
anv_UninitializePerformanceApiINTEL(VkDevice device)2894       anv_UninitializePerformanceApiINTEL(VkDevice device)
2895       {
2896           ANV_FROM_HANDLE(anv_device, anv_device, device);
2897           return anv_device->dispatch.vkUninitializePerformanceApiINTEL(device);
2898       }
2899       VkResult __attribute__ ((weak))
anv_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo)2900       anv_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo)
2901       {
2902           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2903           return anv_cmd_buffer->device->dispatch.vkCmdSetPerformanceMarkerINTEL(commandBuffer, pMarkerInfo);
2904       }
2905       VkResult __attribute__ ((weak))
anv_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo)2906       anv_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo)
2907       {
2908           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2909           return anv_cmd_buffer->device->dispatch.vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer, pMarkerInfo);
2910       }
2911       VkResult __attribute__ ((weak))
anv_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo)2912       anv_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo)
2913       {
2914           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2915           return anv_cmd_buffer->device->dispatch.vkCmdSetPerformanceOverrideINTEL(commandBuffer, pOverrideInfo);
2916       }
2917       VkResult __attribute__ ((weak))
anv_AcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration)2918       anv_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration)
2919       {
2920           ANV_FROM_HANDLE(anv_device, anv_device, device);
2921           return anv_device->dispatch.vkAcquirePerformanceConfigurationINTEL(device, pAcquireInfo, pConfiguration);
2922       }
2923       VkResult __attribute__ ((weak))
anv_ReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration)2924       anv_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration)
2925       {
2926           ANV_FROM_HANDLE(anv_device, anv_device, device);
2927           return anv_device->dispatch.vkReleasePerformanceConfigurationINTEL(device, configuration);
2928       }
2929       VkResult __attribute__ ((weak))
anv_QueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration)2930       anv_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration)
2931       {
2932           ANV_FROM_HANDLE(anv_queue, anv_queue, queue);
2933           return anv_queue->device->dispatch.vkQueueSetPerformanceConfigurationINTEL(queue, configuration);
2934       }
2935       VkResult __attribute__ ((weak))
anv_GetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue)2936       anv_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue)
2937       {
2938           ANV_FROM_HANDLE(anv_device, anv_device, device);
2939           return anv_device->dispatch.vkGetPerformanceParameterINTEL(device, parameter, pValue);
2940       }
2941       uint64_t __attribute__ ((weak))
anv_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo)2942       anv_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo)
2943       {
2944           ANV_FROM_HANDLE(anv_device, anv_device, device);
2945           return anv_device->dispatch.vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo);
2946       }
2947             VkResult __attribute__ ((weak))
anv_GetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties)2948       anv_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties)
2949       {
2950           ANV_FROM_HANDLE(anv_device, anv_device, device);
2951           return anv_device->dispatch.vkGetPipelineExecutablePropertiesKHR(device, pPipelineInfo, pExecutableCount, pProperties);
2952       }
2953       VkResult __attribute__ ((weak))
anv_GetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics)2954       anv_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics)
2955       {
2956           ANV_FROM_HANDLE(anv_device, anv_device, device);
2957           return anv_device->dispatch.vkGetPipelineExecutableStatisticsKHR(device, pExecutableInfo, pStatisticCount, pStatistics);
2958       }
2959       VkResult __attribute__ ((weak))
anv_GetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations)2960       anv_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations)
2961       {
2962           ANV_FROM_HANDLE(anv_device, anv_device, device);
2963           return anv_device->dispatch.vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations);
2964       }
2965       void __attribute__ ((weak))
anv_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern)2966       anv_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern)
2967       {
2968           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2969           return anv_cmd_buffer->device->dispatch.vkCmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern);
2970       }
2971       void __attribute__ ((weak))
anv_CmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode)2972       anv_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode)
2973       {
2974           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2975           return anv_cmd_buffer->device->dispatch.vkCmdSetCullModeEXT(commandBuffer, cullMode);
2976       }
2977       void __attribute__ ((weak))
anv_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace)2978       anv_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace)
2979       {
2980           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2981           return anv_cmd_buffer->device->dispatch.vkCmdSetFrontFaceEXT(commandBuffer, frontFace);
2982       }
2983       void __attribute__ ((weak))
anv_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology)2984       anv_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology)
2985       {
2986           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2987           return anv_cmd_buffer->device->dispatch.vkCmdSetPrimitiveTopologyEXT(commandBuffer, primitiveTopology);
2988       }
2989       void __attribute__ ((weak))
anv_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports)2990       anv_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports)
2991       {
2992           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2993           return anv_cmd_buffer->device->dispatch.vkCmdSetViewportWithCountEXT(commandBuffer, viewportCount, pViewports);
2994       }
2995       void __attribute__ ((weak))
anv_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors)2996       anv_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors)
2997       {
2998           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
2999           return anv_cmd_buffer->device->dispatch.vkCmdSetScissorWithCountEXT(commandBuffer, scissorCount, pScissors);
3000       }
3001       void __attribute__ ((weak))
anv_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides)3002       anv_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides)
3003       {
3004           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3005           return anv_cmd_buffer->device->dispatch.vkCmdBindVertexBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides);
3006       }
3007       void __attribute__ ((weak))
anv_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable)3008       anv_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable)
3009       {
3010           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3011           return anv_cmd_buffer->device->dispatch.vkCmdSetDepthTestEnableEXT(commandBuffer, depthTestEnable);
3012       }
3013       void __attribute__ ((weak))
anv_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable)3014       anv_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable)
3015       {
3016           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3017           return anv_cmd_buffer->device->dispatch.vkCmdSetDepthWriteEnableEXT(commandBuffer, depthWriteEnable);
3018       }
3019       void __attribute__ ((weak))
anv_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp)3020       anv_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp)
3021       {
3022           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3023           return anv_cmd_buffer->device->dispatch.vkCmdSetDepthCompareOpEXT(commandBuffer, depthCompareOp);
3024       }
3025       void __attribute__ ((weak))
anv_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable)3026       anv_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable)
3027       {
3028           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3029           return anv_cmd_buffer->device->dispatch.vkCmdSetDepthBoundsTestEnableEXT(commandBuffer, depthBoundsTestEnable);
3030       }
3031       void __attribute__ ((weak))
anv_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable)3032       anv_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable)
3033       {
3034           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3035           return anv_cmd_buffer->device->dispatch.vkCmdSetStencilTestEnableEXT(commandBuffer, stencilTestEnable);
3036       }
3037       void __attribute__ ((weak))
anv_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp)3038       anv_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp)
3039       {
3040           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3041           return anv_cmd_buffer->device->dispatch.vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp);
3042       }
3043       VkResult __attribute__ ((weak))
anv_CreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlotEXT * pPrivateDataSlot)3044       anv_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot)
3045       {
3046           ANV_FROM_HANDLE(anv_device, anv_device, device);
3047           return anv_device->dispatch.vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot);
3048       }
3049       void __attribute__ ((weak))
anv_DestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlotEXT privateDataSlot,const VkAllocationCallbacks * pAllocator)3050       anv_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator)
3051       {
3052           ANV_FROM_HANDLE(anv_device, anv_device, device);
3053           return anv_device->dispatch.vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator);
3054       }
3055       VkResult __attribute__ ((weak))
anv_SetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlotEXT privateDataSlot,uint64_t data)3056       anv_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data)
3057       {
3058           ANV_FROM_HANDLE(anv_device, anv_device, device);
3059           return anv_device->dispatch.vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data);
3060       }
3061       void __attribute__ ((weak))
anv_GetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlotEXT privateDataSlot,uint64_t * pData)3062       anv_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData)
3063       {
3064           ANV_FROM_HANDLE(anv_device, anv_device, device);
3065           return anv_device->dispatch.vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData);
3066       }
3067       void __attribute__ ((weak))
anv_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2KHR * pCopyBufferInfo)3068       anv_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo)
3069       {
3070           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3071           return anv_cmd_buffer->device->dispatch.vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo);
3072       }
3073       void __attribute__ ((weak))
anv_CmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2KHR * pCopyImageInfo)3074       anv_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo)
3075       {
3076           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3077           return anv_cmd_buffer->device->dispatch.vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo);
3078       }
3079       void __attribute__ ((weak))
anv_CmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2KHR * pBlitImageInfo)3080       anv_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo)
3081       {
3082           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3083           return anv_cmd_buffer->device->dispatch.vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo);
3084       }
3085       void __attribute__ ((weak))
anv_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo)3086       anv_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo)
3087       {
3088           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3089           return anv_cmd_buffer->device->dispatch.vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo);
3090       }
3091       void __attribute__ ((weak))
anv_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo)3092       anv_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo)
3093       {
3094           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3095           return anv_cmd_buffer->device->dispatch.vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo);
3096       }
3097       void __attribute__ ((weak))
anv_CmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2KHR * pResolveImageInfo)3098       anv_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo)
3099       {
3100           ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3101           return anv_cmd_buffer->device->dispatch.vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo);
3102       }
3103       VkResult __attribute__ ((weak))
anv_CreateDmaBufImageINTEL(VkDevice device,const VkDmaBufImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMem,VkImage * pImage)3104       anv_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage)
3105       {
3106           ANV_FROM_HANDLE(anv_device, anv_device, device);
3107           return anv_device->dispatch.vkCreateDmaBufImageINTEL(device, pCreateInfo, pAllocator, pMem, pImage);
3108       }
3109 
3110   const struct anv_device_dispatch_table anv_device_dispatch_table = {
3111     .vkGetDeviceProcAddr = anv_GetDeviceProcAddr,
3112     .vkDestroyDevice = anv_DestroyDevice,
3113     .vkGetDeviceQueue = anv_GetDeviceQueue,
3114     .vkQueueSubmit = anv_QueueSubmit,
3115     .vkQueueWaitIdle = anv_QueueWaitIdle,
3116     .vkDeviceWaitIdle = anv_DeviceWaitIdle,
3117     .vkAllocateMemory = anv_AllocateMemory,
3118     .vkFreeMemory = anv_FreeMemory,
3119     .vkMapMemory = anv_MapMemory,
3120     .vkUnmapMemory = anv_UnmapMemory,
3121     .vkFlushMappedMemoryRanges = anv_FlushMappedMemoryRanges,
3122     .vkInvalidateMappedMemoryRanges = anv_InvalidateMappedMemoryRanges,
3123     .vkGetDeviceMemoryCommitment = anv_GetDeviceMemoryCommitment,
3124     .vkGetBufferMemoryRequirements = anv_GetBufferMemoryRequirements,
3125     .vkBindBufferMemory = anv_BindBufferMemory,
3126     .vkGetImageMemoryRequirements = anv_GetImageMemoryRequirements,
3127     .vkBindImageMemory = anv_BindImageMemory,
3128     .vkGetImageSparseMemoryRequirements = anv_GetImageSparseMemoryRequirements,
3129     .vkQueueBindSparse = anv_QueueBindSparse,
3130     .vkCreateFence = anv_CreateFence,
3131     .vkDestroyFence = anv_DestroyFence,
3132     .vkResetFences = anv_ResetFences,
3133     .vkGetFenceStatus = anv_GetFenceStatus,
3134     .vkWaitForFences = anv_WaitForFences,
3135     .vkCreateSemaphore = anv_CreateSemaphore,
3136     .vkDestroySemaphore = anv_DestroySemaphore,
3137     .vkCreateEvent = anv_CreateEvent,
3138     .vkDestroyEvent = anv_DestroyEvent,
3139     .vkGetEventStatus = anv_GetEventStatus,
3140     .vkSetEvent = anv_SetEvent,
3141     .vkResetEvent = anv_ResetEvent,
3142     .vkCreateQueryPool = anv_CreateQueryPool,
3143     .vkDestroyQueryPool = anv_DestroyQueryPool,
3144     .vkGetQueryPoolResults = anv_GetQueryPoolResults,
3145     .vkResetQueryPool = anv_ResetQueryPool,
3146     .vkResetQueryPoolEXT = anv_ResetQueryPool,
3147     .vkCreateBuffer = anv_CreateBuffer,
3148     .vkDestroyBuffer = anv_DestroyBuffer,
3149     .vkCreateBufferView = anv_CreateBufferView,
3150     .vkDestroyBufferView = anv_DestroyBufferView,
3151     .vkCreateImage = anv_CreateImage,
3152     .vkDestroyImage = anv_DestroyImage,
3153     .vkGetImageSubresourceLayout = anv_GetImageSubresourceLayout,
3154     .vkCreateImageView = anv_CreateImageView,
3155     .vkDestroyImageView = anv_DestroyImageView,
3156     .vkCreateShaderModule = anv_CreateShaderModule,
3157     .vkDestroyShaderModule = anv_DestroyShaderModule,
3158     .vkCreatePipelineCache = anv_CreatePipelineCache,
3159     .vkDestroyPipelineCache = anv_DestroyPipelineCache,
3160     .vkGetPipelineCacheData = anv_GetPipelineCacheData,
3161     .vkMergePipelineCaches = anv_MergePipelineCaches,
3162     .vkCreateGraphicsPipelines = anv_CreateGraphicsPipelines,
3163     .vkCreateComputePipelines = anv_CreateComputePipelines,
3164     .vkDestroyPipeline = anv_DestroyPipeline,
3165     .vkCreatePipelineLayout = anv_CreatePipelineLayout,
3166     .vkDestroyPipelineLayout = anv_DestroyPipelineLayout,
3167     .vkCreateSampler = anv_CreateSampler,
3168     .vkDestroySampler = anv_DestroySampler,
3169     .vkCreateDescriptorSetLayout = anv_CreateDescriptorSetLayout,
3170     .vkDestroyDescriptorSetLayout = anv_DestroyDescriptorSetLayout,
3171     .vkCreateDescriptorPool = anv_CreateDescriptorPool,
3172     .vkDestroyDescriptorPool = anv_DestroyDescriptorPool,
3173     .vkResetDescriptorPool = anv_ResetDescriptorPool,
3174     .vkAllocateDescriptorSets = anv_AllocateDescriptorSets,
3175     .vkFreeDescriptorSets = anv_FreeDescriptorSets,
3176     .vkUpdateDescriptorSets = anv_UpdateDescriptorSets,
3177     .vkCreateFramebuffer = anv_CreateFramebuffer,
3178     .vkDestroyFramebuffer = anv_DestroyFramebuffer,
3179     .vkCreateRenderPass = anv_CreateRenderPass,
3180     .vkDestroyRenderPass = anv_DestroyRenderPass,
3181     .vkGetRenderAreaGranularity = anv_GetRenderAreaGranularity,
3182     .vkCreateCommandPool = anv_CreateCommandPool,
3183     .vkDestroyCommandPool = anv_DestroyCommandPool,
3184     .vkResetCommandPool = anv_ResetCommandPool,
3185     .vkAllocateCommandBuffers = anv_AllocateCommandBuffers,
3186     .vkFreeCommandBuffers = anv_FreeCommandBuffers,
3187     .vkBeginCommandBuffer = anv_BeginCommandBuffer,
3188     .vkEndCommandBuffer = anv_EndCommandBuffer,
3189     .vkResetCommandBuffer = anv_ResetCommandBuffer,
3190     .vkCmdBindPipeline = anv_CmdBindPipeline,
3191     .vkCmdSetViewport = anv_CmdSetViewport,
3192     .vkCmdSetScissor = anv_CmdSetScissor,
3193     .vkCmdSetLineWidth = anv_CmdSetLineWidth,
3194     .vkCmdSetDepthBias = anv_CmdSetDepthBias,
3195     .vkCmdSetBlendConstants = anv_CmdSetBlendConstants,
3196     .vkCmdSetDepthBounds = anv_CmdSetDepthBounds,
3197     .vkCmdSetStencilCompareMask = anv_CmdSetStencilCompareMask,
3198     .vkCmdSetStencilWriteMask = anv_CmdSetStencilWriteMask,
3199     .vkCmdSetStencilReference = anv_CmdSetStencilReference,
3200     .vkCmdBindDescriptorSets = anv_CmdBindDescriptorSets,
3201     .vkCmdBindIndexBuffer = anv_CmdBindIndexBuffer,
3202     .vkCmdBindVertexBuffers = anv_CmdBindVertexBuffers,
3203     .vkCmdDraw = anv_CmdDraw,
3204     .vkCmdDrawIndexed = anv_CmdDrawIndexed,
3205     .vkCmdDrawIndirect = anv_CmdDrawIndirect,
3206     .vkCmdDrawIndexedIndirect = anv_CmdDrawIndexedIndirect,
3207     .vkCmdDispatch = anv_CmdDispatch,
3208     .vkCmdDispatchIndirect = anv_CmdDispatchIndirect,
3209     .vkCmdCopyBuffer = anv_CmdCopyBuffer,
3210     .vkCmdCopyImage = anv_CmdCopyImage,
3211     .vkCmdBlitImage = anv_CmdBlitImage,
3212     .vkCmdCopyBufferToImage = anv_CmdCopyBufferToImage,
3213     .vkCmdCopyImageToBuffer = anv_CmdCopyImageToBuffer,
3214     .vkCmdUpdateBuffer = anv_CmdUpdateBuffer,
3215     .vkCmdFillBuffer = anv_CmdFillBuffer,
3216     .vkCmdClearColorImage = anv_CmdClearColorImage,
3217     .vkCmdClearDepthStencilImage = anv_CmdClearDepthStencilImage,
3218     .vkCmdClearAttachments = anv_CmdClearAttachments,
3219     .vkCmdResolveImage = anv_CmdResolveImage,
3220     .vkCmdSetEvent = anv_CmdSetEvent,
3221     .vkCmdResetEvent = anv_CmdResetEvent,
3222     .vkCmdWaitEvents = anv_CmdWaitEvents,
3223     .vkCmdPipelineBarrier = anv_CmdPipelineBarrier,
3224     .vkCmdBeginQuery = anv_CmdBeginQuery,
3225     .vkCmdEndQuery = anv_CmdEndQuery,
3226     .vkCmdBeginConditionalRenderingEXT = anv_CmdBeginConditionalRenderingEXT,
3227     .vkCmdEndConditionalRenderingEXT = anv_CmdEndConditionalRenderingEXT,
3228     .vkCmdResetQueryPool = anv_CmdResetQueryPool,
3229     .vkCmdWriteTimestamp = anv_CmdWriteTimestamp,
3230     .vkCmdCopyQueryPoolResults = anv_CmdCopyQueryPoolResults,
3231     .vkCmdPushConstants = anv_CmdPushConstants,
3232     .vkCmdBeginRenderPass = anv_CmdBeginRenderPass,
3233     .vkCmdNextSubpass = anv_CmdNextSubpass,
3234     .vkCmdEndRenderPass = anv_CmdEndRenderPass,
3235     .vkCmdExecuteCommands = anv_CmdExecuteCommands,
3236     .vkCreateSwapchainKHR = anv_CreateSwapchainKHR,
3237     .vkDestroySwapchainKHR = anv_DestroySwapchainKHR,
3238     .vkGetSwapchainImagesKHR = anv_GetSwapchainImagesKHR,
3239     .vkAcquireNextImageKHR = anv_AcquireNextImageKHR,
3240     .vkQueuePresentKHR = anv_QueuePresentKHR,
3241     .vkCmdPushDescriptorSetKHR = anv_CmdPushDescriptorSetKHR,
3242     .vkTrimCommandPool = anv_TrimCommandPool,
3243     .vkTrimCommandPoolKHR = anv_TrimCommandPool,
3244     .vkGetMemoryFdKHR = anv_GetMemoryFdKHR,
3245     .vkGetMemoryFdPropertiesKHR = anv_GetMemoryFdPropertiesKHR,
3246     .vkGetSemaphoreFdKHR = anv_GetSemaphoreFdKHR,
3247     .vkImportSemaphoreFdKHR = anv_ImportSemaphoreFdKHR,
3248     .vkGetFenceFdKHR = anv_GetFenceFdKHR,
3249     .vkImportFenceFdKHR = anv_ImportFenceFdKHR,
3250     .vkDisplayPowerControlEXT = anv_DisplayPowerControlEXT,
3251     .vkRegisterDeviceEventEXT = anv_RegisterDeviceEventEXT,
3252     .vkRegisterDisplayEventEXT = anv_RegisterDisplayEventEXT,
3253     .vkGetSwapchainCounterEXT = anv_GetSwapchainCounterEXT,
3254     .vkGetDeviceGroupPeerMemoryFeatures = anv_GetDeviceGroupPeerMemoryFeatures,
3255     .vkGetDeviceGroupPeerMemoryFeaturesKHR = anv_GetDeviceGroupPeerMemoryFeatures,
3256     .vkBindBufferMemory2 = anv_BindBufferMemory2,
3257     .vkBindBufferMemory2KHR = anv_BindBufferMemory2,
3258     .vkBindImageMemory2 = anv_BindImageMemory2,
3259     .vkBindImageMemory2KHR = anv_BindImageMemory2,
3260     .vkCmdSetDeviceMask = anv_CmdSetDeviceMask,
3261     .vkCmdSetDeviceMaskKHR = anv_CmdSetDeviceMask,
3262     .vkGetDeviceGroupPresentCapabilitiesKHR = anv_GetDeviceGroupPresentCapabilitiesKHR,
3263     .vkGetDeviceGroupSurfacePresentModesKHR = anv_GetDeviceGroupSurfacePresentModesKHR,
3264     .vkAcquireNextImage2KHR = anv_AcquireNextImage2KHR,
3265     .vkCmdDispatchBase = anv_CmdDispatchBase,
3266     .vkCmdDispatchBaseKHR = anv_CmdDispatchBase,
3267     .vkCreateDescriptorUpdateTemplate = anv_CreateDescriptorUpdateTemplate,
3268     .vkCreateDescriptorUpdateTemplateKHR = anv_CreateDescriptorUpdateTemplate,
3269     .vkDestroyDescriptorUpdateTemplate = anv_DestroyDescriptorUpdateTemplate,
3270     .vkDestroyDescriptorUpdateTemplateKHR = anv_DestroyDescriptorUpdateTemplate,
3271     .vkUpdateDescriptorSetWithTemplate = anv_UpdateDescriptorSetWithTemplate,
3272     .vkUpdateDescriptorSetWithTemplateKHR = anv_UpdateDescriptorSetWithTemplate,
3273     .vkCmdPushDescriptorSetWithTemplateKHR = anv_CmdPushDescriptorSetWithTemplateKHR,
3274     .vkGetBufferMemoryRequirements2 = anv_GetBufferMemoryRequirements2,
3275     .vkGetBufferMemoryRequirements2KHR = anv_GetBufferMemoryRequirements2,
3276     .vkGetImageMemoryRequirements2 = anv_GetImageMemoryRequirements2,
3277     .vkGetImageMemoryRequirements2KHR = anv_GetImageMemoryRequirements2,
3278     .vkGetImageSparseMemoryRequirements2 = anv_GetImageSparseMemoryRequirements2,
3279     .vkGetImageSparseMemoryRequirements2KHR = anv_GetImageSparseMemoryRequirements2,
3280     .vkCreateSamplerYcbcrConversion = anv_CreateSamplerYcbcrConversion,
3281     .vkCreateSamplerYcbcrConversionKHR = anv_CreateSamplerYcbcrConversion,
3282     .vkDestroySamplerYcbcrConversion = anv_DestroySamplerYcbcrConversion,
3283     .vkDestroySamplerYcbcrConversionKHR = anv_DestroySamplerYcbcrConversion,
3284     .vkGetDeviceQueue2 = anv_GetDeviceQueue2,
3285     .vkGetDescriptorSetLayoutSupport = anv_GetDescriptorSetLayoutSupport,
3286     .vkGetDescriptorSetLayoutSupportKHR = anv_GetDescriptorSetLayoutSupport,
3287 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3288     .vkGetSwapchainGrallocUsageANDROID = anv_GetSwapchainGrallocUsageANDROID,
3289 #endif // VK_USE_PLATFORM_ANDROID_KHR
3290 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3291     .vkGetSwapchainGrallocUsage2ANDROID = anv_GetSwapchainGrallocUsage2ANDROID,
3292 #endif // VK_USE_PLATFORM_ANDROID_KHR
3293 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3294     .vkAcquireImageANDROID = anv_AcquireImageANDROID,
3295 #endif // VK_USE_PLATFORM_ANDROID_KHR
3296 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3297     .vkQueueSignalReleaseImageANDROID = anv_QueueSignalReleaseImageANDROID,
3298 #endif // VK_USE_PLATFORM_ANDROID_KHR
3299     .vkGetCalibratedTimestampsEXT = anv_GetCalibratedTimestampsEXT,
3300     .vkGetMemoryHostPointerPropertiesEXT = anv_GetMemoryHostPointerPropertiesEXT,
3301     .vkCreateRenderPass2 = anv_CreateRenderPass2,
3302     .vkCreateRenderPass2KHR = anv_CreateRenderPass2,
3303     .vkCmdBeginRenderPass2 = anv_CmdBeginRenderPass2,
3304     .vkCmdBeginRenderPass2KHR = anv_CmdBeginRenderPass2,
3305     .vkCmdNextSubpass2 = anv_CmdNextSubpass2,
3306     .vkCmdNextSubpass2KHR = anv_CmdNextSubpass2,
3307     .vkCmdEndRenderPass2 = anv_CmdEndRenderPass2,
3308     .vkCmdEndRenderPass2KHR = anv_CmdEndRenderPass2,
3309     .vkGetSemaphoreCounterValue = anv_GetSemaphoreCounterValue,
3310     .vkGetSemaphoreCounterValueKHR = anv_GetSemaphoreCounterValue,
3311     .vkWaitSemaphores = anv_WaitSemaphores,
3312     .vkWaitSemaphoresKHR = anv_WaitSemaphores,
3313     .vkSignalSemaphore = anv_SignalSemaphore,
3314     .vkSignalSemaphoreKHR = anv_SignalSemaphore,
3315 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3316     .vkGetAndroidHardwareBufferPropertiesANDROID = anv_GetAndroidHardwareBufferPropertiesANDROID,
3317 #endif // VK_USE_PLATFORM_ANDROID_KHR
3318 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3319     .vkGetMemoryAndroidHardwareBufferANDROID = anv_GetMemoryAndroidHardwareBufferANDROID,
3320 #endif // VK_USE_PLATFORM_ANDROID_KHR
3321     .vkCmdDrawIndirectCount = anv_CmdDrawIndirectCount,
3322     .vkCmdDrawIndirectCountKHR = anv_CmdDrawIndirectCount,
3323     .vkCmdDrawIndexedIndirectCount = anv_CmdDrawIndexedIndirectCount,
3324     .vkCmdDrawIndexedIndirectCountKHR = anv_CmdDrawIndexedIndirectCount,
3325     .vkCmdBindTransformFeedbackBuffersEXT = anv_CmdBindTransformFeedbackBuffersEXT,
3326     .vkCmdBeginTransformFeedbackEXT = anv_CmdBeginTransformFeedbackEXT,
3327     .vkCmdEndTransformFeedbackEXT = anv_CmdEndTransformFeedbackEXT,
3328     .vkCmdBeginQueryIndexedEXT = anv_CmdBeginQueryIndexedEXT,
3329     .vkCmdEndQueryIndexedEXT = anv_CmdEndQueryIndexedEXT,
3330     .vkCmdDrawIndirectByteCountEXT = anv_CmdDrawIndirectByteCountEXT,
3331     .vkAcquireProfilingLockKHR = anv_AcquireProfilingLockKHR,
3332     .vkReleaseProfilingLockKHR = anv_ReleaseProfilingLockKHR,
3333     .vkGetImageDrmFormatModifierPropertiesEXT = anv_GetImageDrmFormatModifierPropertiesEXT,
3334     .vkGetBufferOpaqueCaptureAddress = anv_GetBufferOpaqueCaptureAddress,
3335     .vkGetBufferOpaqueCaptureAddressKHR = anv_GetBufferOpaqueCaptureAddress,
3336     .vkGetBufferDeviceAddress = anv_GetBufferDeviceAddress,
3337     .vkGetBufferDeviceAddressKHR = anv_GetBufferDeviceAddress,
3338     .vkGetBufferDeviceAddressEXT = anv_GetBufferDeviceAddress,
3339     .vkInitializePerformanceApiINTEL = anv_InitializePerformanceApiINTEL,
3340     .vkUninitializePerformanceApiINTEL = anv_UninitializePerformanceApiINTEL,
3341     .vkCmdSetPerformanceMarkerINTEL = anv_CmdSetPerformanceMarkerINTEL,
3342     .vkCmdSetPerformanceStreamMarkerINTEL = anv_CmdSetPerformanceStreamMarkerINTEL,
3343     .vkCmdSetPerformanceOverrideINTEL = anv_CmdSetPerformanceOverrideINTEL,
3344     .vkAcquirePerformanceConfigurationINTEL = anv_AcquirePerformanceConfigurationINTEL,
3345     .vkReleasePerformanceConfigurationINTEL = anv_ReleasePerformanceConfigurationINTEL,
3346     .vkQueueSetPerformanceConfigurationINTEL = anv_QueueSetPerformanceConfigurationINTEL,
3347     .vkGetPerformanceParameterINTEL = anv_GetPerformanceParameterINTEL,
3348     .vkGetDeviceMemoryOpaqueCaptureAddress = anv_GetDeviceMemoryOpaqueCaptureAddress,
3349     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = anv_GetDeviceMemoryOpaqueCaptureAddress,
3350     .vkGetPipelineExecutablePropertiesKHR = anv_GetPipelineExecutablePropertiesKHR,
3351     .vkGetPipelineExecutableStatisticsKHR = anv_GetPipelineExecutableStatisticsKHR,
3352     .vkGetPipelineExecutableInternalRepresentationsKHR = anv_GetPipelineExecutableInternalRepresentationsKHR,
3353     .vkCmdSetLineStippleEXT = anv_CmdSetLineStippleEXT,
3354     .vkCmdSetCullModeEXT = anv_CmdSetCullModeEXT,
3355     .vkCmdSetFrontFaceEXT = anv_CmdSetFrontFaceEXT,
3356     .vkCmdSetPrimitiveTopologyEXT = anv_CmdSetPrimitiveTopologyEXT,
3357     .vkCmdSetViewportWithCountEXT = anv_CmdSetViewportWithCountEXT,
3358     .vkCmdSetScissorWithCountEXT = anv_CmdSetScissorWithCountEXT,
3359     .vkCmdBindVertexBuffers2EXT = anv_CmdBindVertexBuffers2EXT,
3360     .vkCmdSetDepthTestEnableEXT = anv_CmdSetDepthTestEnableEXT,
3361     .vkCmdSetDepthWriteEnableEXT = anv_CmdSetDepthWriteEnableEXT,
3362     .vkCmdSetDepthCompareOpEXT = anv_CmdSetDepthCompareOpEXT,
3363     .vkCmdSetDepthBoundsTestEnableEXT = anv_CmdSetDepthBoundsTestEnableEXT,
3364     .vkCmdSetStencilTestEnableEXT = anv_CmdSetStencilTestEnableEXT,
3365     .vkCmdSetStencilOpEXT = anv_CmdSetStencilOpEXT,
3366     .vkCreatePrivateDataSlotEXT = anv_CreatePrivateDataSlotEXT,
3367     .vkDestroyPrivateDataSlotEXT = anv_DestroyPrivateDataSlotEXT,
3368     .vkSetPrivateDataEXT = anv_SetPrivateDataEXT,
3369     .vkGetPrivateDataEXT = anv_GetPrivateDataEXT,
3370     .vkCmdCopyBuffer2KHR = anv_CmdCopyBuffer2KHR,
3371     .vkCmdCopyImage2KHR = anv_CmdCopyImage2KHR,
3372     .vkCmdBlitImage2KHR = anv_CmdBlitImage2KHR,
3373     .vkCmdCopyBufferToImage2KHR = anv_CmdCopyBufferToImage2KHR,
3374     .vkCmdCopyImageToBuffer2KHR = anv_CmdCopyImageToBuffer2KHR,
3375     .vkCmdResolveImage2KHR = anv_CmdResolveImage2KHR,
3376     .vkCreateDmaBufImageINTEL = anv_CreateDmaBufImageINTEL,
3377   };
3378       PFN_vkVoidFunction gen7_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
3379       void gen7_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3380       void gen7_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
3381       VkResult gen7_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
3382       VkResult gen7_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
3383       VkResult gen7_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
3384       VkResult gen7_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
3385       void gen7_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3386       VkResult gen7_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
3387       void gen7_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
3388       VkResult gen7_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
3389       VkResult gen7_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
3390       void gen7_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
3391       void gen7_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
3392       VkResult gen7_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
3393       void gen7_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
3394       VkResult gen7_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
3395       void gen7_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
3396       VkResult gen7_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
3397       VkResult gen7_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
3398       void gen7_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3399       VkResult gen7_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
3400       VkResult gen7_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
3401       VkResult gen7_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
3402       VkResult gen7_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
3403       void gen7_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3404       VkResult gen7_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
3405       void gen7_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3406       VkResult gen7_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
3407       VkResult gen7_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
3408       VkResult gen7_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
3409       VkResult gen7_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
3410       void gen7_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3411       VkResult gen7_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
3412       void gen7_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
3413             VkResult gen7_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
3414       void gen7_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3415       VkResult gen7_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
3416       void gen7_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3417       VkResult gen7_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
3418       void gen7_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3419       void gen7_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
3420       VkResult gen7_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
3421       void gen7_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3422       VkResult gen7_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
3423       void gen7_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3424       VkResult gen7_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
3425       void gen7_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3426       VkResult gen7_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
3427       VkResult gen7_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
3428       VkResult gen7_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
3429       VkResult gen7_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
3430       void gen7_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3431       VkResult gen7_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
3432       void gen7_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3433       VkResult gen7_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
3434       void gen7_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3435       VkResult gen7_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
3436       void gen7_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3437       VkResult gen7_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
3438       void gen7_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3439       VkResult gen7_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
3440       VkResult gen7_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
3441       VkResult gen7_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
3442       void gen7_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
3443       VkResult gen7_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
3444       void gen7_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3445       VkResult gen7_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
3446       void gen7_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3447       void gen7_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
3448       VkResult gen7_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
3449       void gen7_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3450       VkResult gen7_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
3451       VkResult gen7_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
3452       void gen7_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
3453       VkResult gen7_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
3454       VkResult gen7_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
3455       VkResult gen7_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
3456       void gen7_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
3457       void gen7_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
3458       void gen7_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
3459       void gen7_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
3460       void gen7_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
3461       void gen7_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
3462       void gen7_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
3463       void gen7_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
3464       void gen7_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
3465       void gen7_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
3466       void gen7_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) __attribute__ ((weak));
3467       void gen7_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
3468       void gen7_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
3469       void gen7_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
3470       void gen7_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
3471       void gen7_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
3472       void gen7_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
3473       void gen7_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
3474       void gen7_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
3475       void gen7_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
3476       void gen7_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
3477       void gen7_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
3478       void gen7_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
3479       void gen7_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
3480       void gen7_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
3481       void gen7_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
3482       void gen7_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
3483       void gen7_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
3484       void gen7_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
3485       void gen7_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
3486       void gen7_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
3487       void gen7_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
3488       void gen7_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
3489       void gen7_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
3490       void gen7_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
3491       void gen7_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
3492       void gen7_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) __attribute__ ((weak));
3493       void gen7_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) __attribute__ ((weak));
3494       void gen7_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
3495       void gen7_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
3496       void gen7_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
3497       void gen7_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
3498       void gen7_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
3499       void gen7_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
3500       void gen7_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
3501       void gen7_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
3502       VkResult gen7_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
3503       void gen7_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3504       VkResult gen7_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
3505       VkResult gen7_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
3506       VkResult gen7_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
3507       void gen7_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
3508       void gen7_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) __attribute__ ((weak));
3509             VkResult gen7_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
3510       VkResult gen7_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
3511       VkResult gen7_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
3512       VkResult gen7_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
3513       VkResult gen7_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
3514       VkResult gen7_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
3515       VkResult gen7_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) __attribute__ ((weak));
3516       VkResult gen7_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
3517       VkResult gen7_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
3518       VkResult gen7_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) __attribute__ ((weak));
3519       void gen7_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) __attribute__ ((weak));
3520             VkResult gen7_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) __attribute__ ((weak));
3521             VkResult gen7_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) __attribute__ ((weak));
3522             void gen7_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) __attribute__ ((weak));
3523             VkResult gen7_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) __attribute__ ((weak));
3524       VkResult gen7_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) __attribute__ ((weak));
3525       VkResult gen7_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) __attribute__ ((weak));
3526       void gen7_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
3527             VkResult gen7_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) __attribute__ ((weak));
3528             void gen7_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3529             void gen7_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
3530             void gen7_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
3531       void gen7_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
3532             void gen7_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
3533             void gen7_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) __attribute__ ((weak));
3534             VkResult gen7_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) __attribute__ ((weak));
3535             void gen7_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3536             void gen7_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) __attribute__ ((weak));
3537       void gen7_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) __attribute__ ((weak));
3538       #ifdef VK_USE_PLATFORM_ANDROID_KHR
3539       VkResult gen7_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
3540 #endif // VK_USE_PLATFORM_ANDROID_KHR
3541 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3542       VkResult gen7_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) __attribute__ ((weak));
3543 #endif // VK_USE_PLATFORM_ANDROID_KHR
3544 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3545       VkResult gen7_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
3546 #endif // VK_USE_PLATFORM_ANDROID_KHR
3547 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3548       VkResult gen7_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
3549 #endif // VK_USE_PLATFORM_ANDROID_KHR
3550       VkResult gen7_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) __attribute__ ((weak));
3551       VkResult gen7_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) __attribute__ ((weak));
3552       VkResult gen7_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
3553             void gen7_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo) __attribute__ ((weak));
3554             void gen7_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
3555             void gen7_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
3556             VkResult gen7_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) __attribute__ ((weak));
3557             VkResult gen7_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) __attribute__ ((weak));
3558             VkResult gen7_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) __attribute__ ((weak));
3559       #ifdef VK_USE_PLATFORM_ANDROID_KHR
3560       VkResult gen7_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) __attribute__ ((weak));
3561 #endif // VK_USE_PLATFORM_ANDROID_KHR
3562 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3563       VkResult gen7_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) __attribute__ ((weak));
3564 #endif // VK_USE_PLATFORM_ANDROID_KHR
3565       void gen7_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
3566             void gen7_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
3567             void gen7_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) __attribute__ ((weak));
3568       void gen7_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
3569       void gen7_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
3570       void gen7_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) __attribute__ ((weak));
3571       void gen7_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) __attribute__ ((weak));
3572       void gen7_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) __attribute__ ((weak));
3573       VkResult gen7_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) __attribute__ ((weak));
3574       void gen7_ReleaseProfilingLockKHR(VkDevice device) __attribute__ ((weak));
3575       VkResult gen7_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) __attribute__ ((weak));
3576       uint64_t gen7_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
3577             VkDeviceAddress gen7_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
3578                   VkResult gen7_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) __attribute__ ((weak));
3579       void gen7_UninitializePerformanceApiINTEL(VkDevice device) __attribute__ ((weak));
3580       VkResult gen7_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
3581       VkResult gen7_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
3582       VkResult gen7_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) __attribute__ ((weak));
3583       VkResult gen7_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) __attribute__ ((weak));
3584       VkResult gen7_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
3585       VkResult gen7_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
3586       VkResult gen7_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) __attribute__ ((weak));
3587       uint64_t gen7_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) __attribute__ ((weak));
3588             VkResult gen7_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) __attribute__ ((weak));
3589       VkResult gen7_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) __attribute__ ((weak));
3590       VkResult gen7_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) __attribute__ ((weak));
3591       void gen7_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) __attribute__ ((weak));
3592       void gen7_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) __attribute__ ((weak));
3593       void gen7_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) __attribute__ ((weak));
3594       void gen7_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) __attribute__ ((weak));
3595       void gen7_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
3596       void gen7_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
3597       void gen7_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) __attribute__ ((weak));
3598       void gen7_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) __attribute__ ((weak));
3599       void gen7_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) __attribute__ ((weak));
3600       void gen7_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) __attribute__ ((weak));
3601       void gen7_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) __attribute__ ((weak));
3602       void gen7_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) __attribute__ ((weak));
3603       void gen7_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) __attribute__ ((weak));
3604       VkResult gen7_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) __attribute__ ((weak));
3605       void gen7_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3606       VkResult gen7_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) __attribute__ ((weak));
3607       void gen7_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) __attribute__ ((weak));
3608       void gen7_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) __attribute__ ((weak));
3609       void gen7_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) __attribute__ ((weak));
3610       void gen7_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) __attribute__ ((weak));
3611       void gen7_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) __attribute__ ((weak));
3612       void gen7_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) __attribute__ ((weak));
3613       void gen7_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) __attribute__ ((weak));
3614       VkResult gen7_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
3615 
3616   const struct anv_device_dispatch_table gen7_device_dispatch_table = {
3617     .vkGetDeviceProcAddr = gen7_GetDeviceProcAddr,
3618     .vkDestroyDevice = gen7_DestroyDevice,
3619     .vkGetDeviceQueue = gen7_GetDeviceQueue,
3620     .vkQueueSubmit = gen7_QueueSubmit,
3621     .vkQueueWaitIdle = gen7_QueueWaitIdle,
3622     .vkDeviceWaitIdle = gen7_DeviceWaitIdle,
3623     .vkAllocateMemory = gen7_AllocateMemory,
3624     .vkFreeMemory = gen7_FreeMemory,
3625     .vkMapMemory = gen7_MapMemory,
3626     .vkUnmapMemory = gen7_UnmapMemory,
3627     .vkFlushMappedMemoryRanges = gen7_FlushMappedMemoryRanges,
3628     .vkInvalidateMappedMemoryRanges = gen7_InvalidateMappedMemoryRanges,
3629     .vkGetDeviceMemoryCommitment = gen7_GetDeviceMemoryCommitment,
3630     .vkGetBufferMemoryRequirements = gen7_GetBufferMemoryRequirements,
3631     .vkBindBufferMemory = gen7_BindBufferMemory,
3632     .vkGetImageMemoryRequirements = gen7_GetImageMemoryRequirements,
3633     .vkBindImageMemory = gen7_BindImageMemory,
3634     .vkGetImageSparseMemoryRequirements = gen7_GetImageSparseMemoryRequirements,
3635     .vkQueueBindSparse = gen7_QueueBindSparse,
3636     .vkCreateFence = gen7_CreateFence,
3637     .vkDestroyFence = gen7_DestroyFence,
3638     .vkResetFences = gen7_ResetFences,
3639     .vkGetFenceStatus = gen7_GetFenceStatus,
3640     .vkWaitForFences = gen7_WaitForFences,
3641     .vkCreateSemaphore = gen7_CreateSemaphore,
3642     .vkDestroySemaphore = gen7_DestroySemaphore,
3643     .vkCreateEvent = gen7_CreateEvent,
3644     .vkDestroyEvent = gen7_DestroyEvent,
3645     .vkGetEventStatus = gen7_GetEventStatus,
3646     .vkSetEvent = gen7_SetEvent,
3647     .vkResetEvent = gen7_ResetEvent,
3648     .vkCreateQueryPool = gen7_CreateQueryPool,
3649     .vkDestroyQueryPool = gen7_DestroyQueryPool,
3650     .vkGetQueryPoolResults = gen7_GetQueryPoolResults,
3651     .vkResetQueryPool = gen7_ResetQueryPool,
3652     .vkResetQueryPoolEXT = gen7_ResetQueryPool,
3653     .vkCreateBuffer = gen7_CreateBuffer,
3654     .vkDestroyBuffer = gen7_DestroyBuffer,
3655     .vkCreateBufferView = gen7_CreateBufferView,
3656     .vkDestroyBufferView = gen7_DestroyBufferView,
3657     .vkCreateImage = gen7_CreateImage,
3658     .vkDestroyImage = gen7_DestroyImage,
3659     .vkGetImageSubresourceLayout = gen7_GetImageSubresourceLayout,
3660     .vkCreateImageView = gen7_CreateImageView,
3661     .vkDestroyImageView = gen7_DestroyImageView,
3662     .vkCreateShaderModule = gen7_CreateShaderModule,
3663     .vkDestroyShaderModule = gen7_DestroyShaderModule,
3664     .vkCreatePipelineCache = gen7_CreatePipelineCache,
3665     .vkDestroyPipelineCache = gen7_DestroyPipelineCache,
3666     .vkGetPipelineCacheData = gen7_GetPipelineCacheData,
3667     .vkMergePipelineCaches = gen7_MergePipelineCaches,
3668     .vkCreateGraphicsPipelines = gen7_CreateGraphicsPipelines,
3669     .vkCreateComputePipelines = gen7_CreateComputePipelines,
3670     .vkDestroyPipeline = gen7_DestroyPipeline,
3671     .vkCreatePipelineLayout = gen7_CreatePipelineLayout,
3672     .vkDestroyPipelineLayout = gen7_DestroyPipelineLayout,
3673     .vkCreateSampler = gen7_CreateSampler,
3674     .vkDestroySampler = gen7_DestroySampler,
3675     .vkCreateDescriptorSetLayout = gen7_CreateDescriptorSetLayout,
3676     .vkDestroyDescriptorSetLayout = gen7_DestroyDescriptorSetLayout,
3677     .vkCreateDescriptorPool = gen7_CreateDescriptorPool,
3678     .vkDestroyDescriptorPool = gen7_DestroyDescriptorPool,
3679     .vkResetDescriptorPool = gen7_ResetDescriptorPool,
3680     .vkAllocateDescriptorSets = gen7_AllocateDescriptorSets,
3681     .vkFreeDescriptorSets = gen7_FreeDescriptorSets,
3682     .vkUpdateDescriptorSets = gen7_UpdateDescriptorSets,
3683     .vkCreateFramebuffer = gen7_CreateFramebuffer,
3684     .vkDestroyFramebuffer = gen7_DestroyFramebuffer,
3685     .vkCreateRenderPass = gen7_CreateRenderPass,
3686     .vkDestroyRenderPass = gen7_DestroyRenderPass,
3687     .vkGetRenderAreaGranularity = gen7_GetRenderAreaGranularity,
3688     .vkCreateCommandPool = gen7_CreateCommandPool,
3689     .vkDestroyCommandPool = gen7_DestroyCommandPool,
3690     .vkResetCommandPool = gen7_ResetCommandPool,
3691     .vkAllocateCommandBuffers = gen7_AllocateCommandBuffers,
3692     .vkFreeCommandBuffers = gen7_FreeCommandBuffers,
3693     .vkBeginCommandBuffer = gen7_BeginCommandBuffer,
3694     .vkEndCommandBuffer = gen7_EndCommandBuffer,
3695     .vkResetCommandBuffer = gen7_ResetCommandBuffer,
3696     .vkCmdBindPipeline = gen7_CmdBindPipeline,
3697     .vkCmdSetViewport = gen7_CmdSetViewport,
3698     .vkCmdSetScissor = gen7_CmdSetScissor,
3699     .vkCmdSetLineWidth = gen7_CmdSetLineWidth,
3700     .vkCmdSetDepthBias = gen7_CmdSetDepthBias,
3701     .vkCmdSetBlendConstants = gen7_CmdSetBlendConstants,
3702     .vkCmdSetDepthBounds = gen7_CmdSetDepthBounds,
3703     .vkCmdSetStencilCompareMask = gen7_CmdSetStencilCompareMask,
3704     .vkCmdSetStencilWriteMask = gen7_CmdSetStencilWriteMask,
3705     .vkCmdSetStencilReference = gen7_CmdSetStencilReference,
3706     .vkCmdBindDescriptorSets = gen7_CmdBindDescriptorSets,
3707     .vkCmdBindIndexBuffer = gen7_CmdBindIndexBuffer,
3708     .vkCmdBindVertexBuffers = gen7_CmdBindVertexBuffers,
3709     .vkCmdDraw = gen7_CmdDraw,
3710     .vkCmdDrawIndexed = gen7_CmdDrawIndexed,
3711     .vkCmdDrawIndirect = gen7_CmdDrawIndirect,
3712     .vkCmdDrawIndexedIndirect = gen7_CmdDrawIndexedIndirect,
3713     .vkCmdDispatch = gen7_CmdDispatch,
3714     .vkCmdDispatchIndirect = gen7_CmdDispatchIndirect,
3715     .vkCmdCopyBuffer = gen7_CmdCopyBuffer,
3716     .vkCmdCopyImage = gen7_CmdCopyImage,
3717     .vkCmdBlitImage = gen7_CmdBlitImage,
3718     .vkCmdCopyBufferToImage = gen7_CmdCopyBufferToImage,
3719     .vkCmdCopyImageToBuffer = gen7_CmdCopyImageToBuffer,
3720     .vkCmdUpdateBuffer = gen7_CmdUpdateBuffer,
3721     .vkCmdFillBuffer = gen7_CmdFillBuffer,
3722     .vkCmdClearColorImage = gen7_CmdClearColorImage,
3723     .vkCmdClearDepthStencilImage = gen7_CmdClearDepthStencilImage,
3724     .vkCmdClearAttachments = gen7_CmdClearAttachments,
3725     .vkCmdResolveImage = gen7_CmdResolveImage,
3726     .vkCmdSetEvent = gen7_CmdSetEvent,
3727     .vkCmdResetEvent = gen7_CmdResetEvent,
3728     .vkCmdWaitEvents = gen7_CmdWaitEvents,
3729     .vkCmdPipelineBarrier = gen7_CmdPipelineBarrier,
3730     .vkCmdBeginQuery = gen7_CmdBeginQuery,
3731     .vkCmdEndQuery = gen7_CmdEndQuery,
3732     .vkCmdBeginConditionalRenderingEXT = gen7_CmdBeginConditionalRenderingEXT,
3733     .vkCmdEndConditionalRenderingEXT = gen7_CmdEndConditionalRenderingEXT,
3734     .vkCmdResetQueryPool = gen7_CmdResetQueryPool,
3735     .vkCmdWriteTimestamp = gen7_CmdWriteTimestamp,
3736     .vkCmdCopyQueryPoolResults = gen7_CmdCopyQueryPoolResults,
3737     .vkCmdPushConstants = gen7_CmdPushConstants,
3738     .vkCmdBeginRenderPass = gen7_CmdBeginRenderPass,
3739     .vkCmdNextSubpass = gen7_CmdNextSubpass,
3740     .vkCmdEndRenderPass = gen7_CmdEndRenderPass,
3741     .vkCmdExecuteCommands = gen7_CmdExecuteCommands,
3742     .vkCreateSwapchainKHR = gen7_CreateSwapchainKHR,
3743     .vkDestroySwapchainKHR = gen7_DestroySwapchainKHR,
3744     .vkGetSwapchainImagesKHR = gen7_GetSwapchainImagesKHR,
3745     .vkAcquireNextImageKHR = gen7_AcquireNextImageKHR,
3746     .vkQueuePresentKHR = gen7_QueuePresentKHR,
3747     .vkCmdPushDescriptorSetKHR = gen7_CmdPushDescriptorSetKHR,
3748     .vkTrimCommandPool = gen7_TrimCommandPool,
3749     .vkTrimCommandPoolKHR = gen7_TrimCommandPool,
3750     .vkGetMemoryFdKHR = gen7_GetMemoryFdKHR,
3751     .vkGetMemoryFdPropertiesKHR = gen7_GetMemoryFdPropertiesKHR,
3752     .vkGetSemaphoreFdKHR = gen7_GetSemaphoreFdKHR,
3753     .vkImportSemaphoreFdKHR = gen7_ImportSemaphoreFdKHR,
3754     .vkGetFenceFdKHR = gen7_GetFenceFdKHR,
3755     .vkImportFenceFdKHR = gen7_ImportFenceFdKHR,
3756     .vkDisplayPowerControlEXT = gen7_DisplayPowerControlEXT,
3757     .vkRegisterDeviceEventEXT = gen7_RegisterDeviceEventEXT,
3758     .vkRegisterDisplayEventEXT = gen7_RegisterDisplayEventEXT,
3759     .vkGetSwapchainCounterEXT = gen7_GetSwapchainCounterEXT,
3760     .vkGetDeviceGroupPeerMemoryFeatures = gen7_GetDeviceGroupPeerMemoryFeatures,
3761     .vkGetDeviceGroupPeerMemoryFeaturesKHR = gen7_GetDeviceGroupPeerMemoryFeatures,
3762     .vkBindBufferMemory2 = gen7_BindBufferMemory2,
3763     .vkBindBufferMemory2KHR = gen7_BindBufferMemory2,
3764     .vkBindImageMemory2 = gen7_BindImageMemory2,
3765     .vkBindImageMemory2KHR = gen7_BindImageMemory2,
3766     .vkCmdSetDeviceMask = gen7_CmdSetDeviceMask,
3767     .vkCmdSetDeviceMaskKHR = gen7_CmdSetDeviceMask,
3768     .vkGetDeviceGroupPresentCapabilitiesKHR = gen7_GetDeviceGroupPresentCapabilitiesKHR,
3769     .vkGetDeviceGroupSurfacePresentModesKHR = gen7_GetDeviceGroupSurfacePresentModesKHR,
3770     .vkAcquireNextImage2KHR = gen7_AcquireNextImage2KHR,
3771     .vkCmdDispatchBase = gen7_CmdDispatchBase,
3772     .vkCmdDispatchBaseKHR = gen7_CmdDispatchBase,
3773     .vkCreateDescriptorUpdateTemplate = gen7_CreateDescriptorUpdateTemplate,
3774     .vkCreateDescriptorUpdateTemplateKHR = gen7_CreateDescriptorUpdateTemplate,
3775     .vkDestroyDescriptorUpdateTemplate = gen7_DestroyDescriptorUpdateTemplate,
3776     .vkDestroyDescriptorUpdateTemplateKHR = gen7_DestroyDescriptorUpdateTemplate,
3777     .vkUpdateDescriptorSetWithTemplate = gen7_UpdateDescriptorSetWithTemplate,
3778     .vkUpdateDescriptorSetWithTemplateKHR = gen7_UpdateDescriptorSetWithTemplate,
3779     .vkCmdPushDescriptorSetWithTemplateKHR = gen7_CmdPushDescriptorSetWithTemplateKHR,
3780     .vkGetBufferMemoryRequirements2 = gen7_GetBufferMemoryRequirements2,
3781     .vkGetBufferMemoryRequirements2KHR = gen7_GetBufferMemoryRequirements2,
3782     .vkGetImageMemoryRequirements2 = gen7_GetImageMemoryRequirements2,
3783     .vkGetImageMemoryRequirements2KHR = gen7_GetImageMemoryRequirements2,
3784     .vkGetImageSparseMemoryRequirements2 = gen7_GetImageSparseMemoryRequirements2,
3785     .vkGetImageSparseMemoryRequirements2KHR = gen7_GetImageSparseMemoryRequirements2,
3786     .vkCreateSamplerYcbcrConversion = gen7_CreateSamplerYcbcrConversion,
3787     .vkCreateSamplerYcbcrConversionKHR = gen7_CreateSamplerYcbcrConversion,
3788     .vkDestroySamplerYcbcrConversion = gen7_DestroySamplerYcbcrConversion,
3789     .vkDestroySamplerYcbcrConversionKHR = gen7_DestroySamplerYcbcrConversion,
3790     .vkGetDeviceQueue2 = gen7_GetDeviceQueue2,
3791     .vkGetDescriptorSetLayoutSupport = gen7_GetDescriptorSetLayoutSupport,
3792     .vkGetDescriptorSetLayoutSupportKHR = gen7_GetDescriptorSetLayoutSupport,
3793 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3794     .vkGetSwapchainGrallocUsageANDROID = gen7_GetSwapchainGrallocUsageANDROID,
3795 #endif // VK_USE_PLATFORM_ANDROID_KHR
3796 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3797     .vkGetSwapchainGrallocUsage2ANDROID = gen7_GetSwapchainGrallocUsage2ANDROID,
3798 #endif // VK_USE_PLATFORM_ANDROID_KHR
3799 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3800     .vkAcquireImageANDROID = gen7_AcquireImageANDROID,
3801 #endif // VK_USE_PLATFORM_ANDROID_KHR
3802 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3803     .vkQueueSignalReleaseImageANDROID = gen7_QueueSignalReleaseImageANDROID,
3804 #endif // VK_USE_PLATFORM_ANDROID_KHR
3805     .vkGetCalibratedTimestampsEXT = gen7_GetCalibratedTimestampsEXT,
3806     .vkGetMemoryHostPointerPropertiesEXT = gen7_GetMemoryHostPointerPropertiesEXT,
3807     .vkCreateRenderPass2 = gen7_CreateRenderPass2,
3808     .vkCreateRenderPass2KHR = gen7_CreateRenderPass2,
3809     .vkCmdBeginRenderPass2 = gen7_CmdBeginRenderPass2,
3810     .vkCmdBeginRenderPass2KHR = gen7_CmdBeginRenderPass2,
3811     .vkCmdNextSubpass2 = gen7_CmdNextSubpass2,
3812     .vkCmdNextSubpass2KHR = gen7_CmdNextSubpass2,
3813     .vkCmdEndRenderPass2 = gen7_CmdEndRenderPass2,
3814     .vkCmdEndRenderPass2KHR = gen7_CmdEndRenderPass2,
3815     .vkGetSemaphoreCounterValue = gen7_GetSemaphoreCounterValue,
3816     .vkGetSemaphoreCounterValueKHR = gen7_GetSemaphoreCounterValue,
3817     .vkWaitSemaphores = gen7_WaitSemaphores,
3818     .vkWaitSemaphoresKHR = gen7_WaitSemaphores,
3819     .vkSignalSemaphore = gen7_SignalSemaphore,
3820     .vkSignalSemaphoreKHR = gen7_SignalSemaphore,
3821 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3822     .vkGetAndroidHardwareBufferPropertiesANDROID = gen7_GetAndroidHardwareBufferPropertiesANDROID,
3823 #endif // VK_USE_PLATFORM_ANDROID_KHR
3824 #ifdef VK_USE_PLATFORM_ANDROID_KHR
3825     .vkGetMemoryAndroidHardwareBufferANDROID = gen7_GetMemoryAndroidHardwareBufferANDROID,
3826 #endif // VK_USE_PLATFORM_ANDROID_KHR
3827     .vkCmdDrawIndirectCount = gen7_CmdDrawIndirectCount,
3828     .vkCmdDrawIndirectCountKHR = gen7_CmdDrawIndirectCount,
3829     .vkCmdDrawIndexedIndirectCount = gen7_CmdDrawIndexedIndirectCount,
3830     .vkCmdDrawIndexedIndirectCountKHR = gen7_CmdDrawIndexedIndirectCount,
3831     .vkCmdBindTransformFeedbackBuffersEXT = gen7_CmdBindTransformFeedbackBuffersEXT,
3832     .vkCmdBeginTransformFeedbackEXT = gen7_CmdBeginTransformFeedbackEXT,
3833     .vkCmdEndTransformFeedbackEXT = gen7_CmdEndTransformFeedbackEXT,
3834     .vkCmdBeginQueryIndexedEXT = gen7_CmdBeginQueryIndexedEXT,
3835     .vkCmdEndQueryIndexedEXT = gen7_CmdEndQueryIndexedEXT,
3836     .vkCmdDrawIndirectByteCountEXT = gen7_CmdDrawIndirectByteCountEXT,
3837     .vkAcquireProfilingLockKHR = gen7_AcquireProfilingLockKHR,
3838     .vkReleaseProfilingLockKHR = gen7_ReleaseProfilingLockKHR,
3839     .vkGetImageDrmFormatModifierPropertiesEXT = gen7_GetImageDrmFormatModifierPropertiesEXT,
3840     .vkGetBufferOpaqueCaptureAddress = gen7_GetBufferOpaqueCaptureAddress,
3841     .vkGetBufferOpaqueCaptureAddressKHR = gen7_GetBufferOpaqueCaptureAddress,
3842     .vkGetBufferDeviceAddress = gen7_GetBufferDeviceAddress,
3843     .vkGetBufferDeviceAddressKHR = gen7_GetBufferDeviceAddress,
3844     .vkGetBufferDeviceAddressEXT = gen7_GetBufferDeviceAddress,
3845     .vkInitializePerformanceApiINTEL = gen7_InitializePerformanceApiINTEL,
3846     .vkUninitializePerformanceApiINTEL = gen7_UninitializePerformanceApiINTEL,
3847     .vkCmdSetPerformanceMarkerINTEL = gen7_CmdSetPerformanceMarkerINTEL,
3848     .vkCmdSetPerformanceStreamMarkerINTEL = gen7_CmdSetPerformanceStreamMarkerINTEL,
3849     .vkCmdSetPerformanceOverrideINTEL = gen7_CmdSetPerformanceOverrideINTEL,
3850     .vkAcquirePerformanceConfigurationINTEL = gen7_AcquirePerformanceConfigurationINTEL,
3851     .vkReleasePerformanceConfigurationINTEL = gen7_ReleasePerformanceConfigurationINTEL,
3852     .vkQueueSetPerformanceConfigurationINTEL = gen7_QueueSetPerformanceConfigurationINTEL,
3853     .vkGetPerformanceParameterINTEL = gen7_GetPerformanceParameterINTEL,
3854     .vkGetDeviceMemoryOpaqueCaptureAddress = gen7_GetDeviceMemoryOpaqueCaptureAddress,
3855     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = gen7_GetDeviceMemoryOpaqueCaptureAddress,
3856     .vkGetPipelineExecutablePropertiesKHR = gen7_GetPipelineExecutablePropertiesKHR,
3857     .vkGetPipelineExecutableStatisticsKHR = gen7_GetPipelineExecutableStatisticsKHR,
3858     .vkGetPipelineExecutableInternalRepresentationsKHR = gen7_GetPipelineExecutableInternalRepresentationsKHR,
3859     .vkCmdSetLineStippleEXT = gen7_CmdSetLineStippleEXT,
3860     .vkCmdSetCullModeEXT = gen7_CmdSetCullModeEXT,
3861     .vkCmdSetFrontFaceEXT = gen7_CmdSetFrontFaceEXT,
3862     .vkCmdSetPrimitiveTopologyEXT = gen7_CmdSetPrimitiveTopologyEXT,
3863     .vkCmdSetViewportWithCountEXT = gen7_CmdSetViewportWithCountEXT,
3864     .vkCmdSetScissorWithCountEXT = gen7_CmdSetScissorWithCountEXT,
3865     .vkCmdBindVertexBuffers2EXT = gen7_CmdBindVertexBuffers2EXT,
3866     .vkCmdSetDepthTestEnableEXT = gen7_CmdSetDepthTestEnableEXT,
3867     .vkCmdSetDepthWriteEnableEXT = gen7_CmdSetDepthWriteEnableEXT,
3868     .vkCmdSetDepthCompareOpEXT = gen7_CmdSetDepthCompareOpEXT,
3869     .vkCmdSetDepthBoundsTestEnableEXT = gen7_CmdSetDepthBoundsTestEnableEXT,
3870     .vkCmdSetStencilTestEnableEXT = gen7_CmdSetStencilTestEnableEXT,
3871     .vkCmdSetStencilOpEXT = gen7_CmdSetStencilOpEXT,
3872     .vkCreatePrivateDataSlotEXT = gen7_CreatePrivateDataSlotEXT,
3873     .vkDestroyPrivateDataSlotEXT = gen7_DestroyPrivateDataSlotEXT,
3874     .vkSetPrivateDataEXT = gen7_SetPrivateDataEXT,
3875     .vkGetPrivateDataEXT = gen7_GetPrivateDataEXT,
3876     .vkCmdCopyBuffer2KHR = gen7_CmdCopyBuffer2KHR,
3877     .vkCmdCopyImage2KHR = gen7_CmdCopyImage2KHR,
3878     .vkCmdBlitImage2KHR = gen7_CmdBlitImage2KHR,
3879     .vkCmdCopyBufferToImage2KHR = gen7_CmdCopyBufferToImage2KHR,
3880     .vkCmdCopyImageToBuffer2KHR = gen7_CmdCopyImageToBuffer2KHR,
3881     .vkCmdResolveImage2KHR = gen7_CmdResolveImage2KHR,
3882     .vkCreateDmaBufImageINTEL = gen7_CreateDmaBufImageINTEL,
3883   };
3884       PFN_vkVoidFunction gen75_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
3885       void gen75_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3886       void gen75_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
3887       VkResult gen75_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
3888       VkResult gen75_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
3889       VkResult gen75_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
3890       VkResult gen75_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
3891       void gen75_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3892       VkResult gen75_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
3893       void gen75_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
3894       VkResult gen75_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
3895       VkResult gen75_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
3896       void gen75_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
3897       void gen75_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
3898       VkResult gen75_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
3899       void gen75_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
3900       VkResult gen75_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
3901       void gen75_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
3902       VkResult gen75_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
3903       VkResult gen75_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
3904       void gen75_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3905       VkResult gen75_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
3906       VkResult gen75_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
3907       VkResult gen75_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
3908       VkResult gen75_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
3909       void gen75_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3910       VkResult gen75_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
3911       void gen75_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3912       VkResult gen75_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
3913       VkResult gen75_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
3914       VkResult gen75_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
3915       VkResult gen75_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
3916       void gen75_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3917       VkResult gen75_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
3918       void gen75_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
3919             VkResult gen75_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
3920       void gen75_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3921       VkResult gen75_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
3922       void gen75_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3923       VkResult gen75_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
3924       void gen75_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3925       void gen75_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
3926       VkResult gen75_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
3927       void gen75_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3928       VkResult gen75_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
3929       void gen75_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3930       VkResult gen75_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
3931       void gen75_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3932       VkResult gen75_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
3933       VkResult gen75_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
3934       VkResult gen75_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
3935       VkResult gen75_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
3936       void gen75_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3937       VkResult gen75_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
3938       void gen75_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3939       VkResult gen75_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
3940       void gen75_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3941       VkResult gen75_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
3942       void gen75_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3943       VkResult gen75_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
3944       void gen75_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3945       VkResult gen75_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
3946       VkResult gen75_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
3947       VkResult gen75_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
3948       void gen75_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
3949       VkResult gen75_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
3950       void gen75_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3951       VkResult gen75_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
3952       void gen75_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3953       void gen75_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
3954       VkResult gen75_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
3955       void gen75_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
3956       VkResult gen75_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
3957       VkResult gen75_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
3958       void gen75_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
3959       VkResult gen75_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
3960       VkResult gen75_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
3961       VkResult gen75_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
3962       void gen75_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
3963       void gen75_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
3964       void gen75_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
3965       void gen75_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
3966       void gen75_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
3967       void gen75_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
3968       void gen75_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
3969       void gen75_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
3970       void gen75_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
3971       void gen75_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
3972       void gen75_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) __attribute__ ((weak));
3973       void gen75_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
3974       void gen75_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
3975       void gen75_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
3976       void gen75_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
3977       void gen75_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
3978       void gen75_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
3979       void gen75_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
3980       void gen75_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
3981       void gen75_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
3982       void gen75_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
3983       void gen75_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
3984       void gen75_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
3985       void gen75_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
3986       void gen75_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
3987       void gen75_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
3988       void gen75_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
3989       void gen75_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
3990       void gen75_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
3991       void gen75_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
3992       void gen75_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
3993       void gen75_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
3994       void gen75_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
3995       void gen75_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
3996       void gen75_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
3997       void gen75_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
3998       void gen75_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) __attribute__ ((weak));
3999       void gen75_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) __attribute__ ((weak));
4000       void gen75_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
4001       void gen75_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
4002       void gen75_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
4003       void gen75_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
4004       void gen75_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
4005       void gen75_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
4006       void gen75_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
4007       void gen75_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
4008       VkResult gen75_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
4009       void gen75_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4010       VkResult gen75_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
4011       VkResult gen75_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
4012       VkResult gen75_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
4013       void gen75_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
4014       void gen75_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) __attribute__ ((weak));
4015             VkResult gen75_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
4016       VkResult gen75_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
4017       VkResult gen75_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
4018       VkResult gen75_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
4019       VkResult gen75_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
4020       VkResult gen75_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
4021       VkResult gen75_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) __attribute__ ((weak));
4022       VkResult gen75_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
4023       VkResult gen75_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
4024       VkResult gen75_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) __attribute__ ((weak));
4025       void gen75_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) __attribute__ ((weak));
4026             VkResult gen75_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) __attribute__ ((weak));
4027             VkResult gen75_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) __attribute__ ((weak));
4028             void gen75_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) __attribute__ ((weak));
4029             VkResult gen75_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) __attribute__ ((weak));
4030       VkResult gen75_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) __attribute__ ((weak));
4031       VkResult gen75_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) __attribute__ ((weak));
4032       void gen75_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
4033             VkResult gen75_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) __attribute__ ((weak));
4034             void gen75_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4035             void gen75_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
4036             void gen75_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
4037       void gen75_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
4038             void gen75_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
4039             void gen75_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) __attribute__ ((weak));
4040             VkResult gen75_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) __attribute__ ((weak));
4041             void gen75_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4042             void gen75_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) __attribute__ ((weak));
4043       void gen75_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) __attribute__ ((weak));
4044       #ifdef VK_USE_PLATFORM_ANDROID_KHR
4045       VkResult gen75_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
4046 #endif // VK_USE_PLATFORM_ANDROID_KHR
4047 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4048       VkResult gen75_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) __attribute__ ((weak));
4049 #endif // VK_USE_PLATFORM_ANDROID_KHR
4050 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4051       VkResult gen75_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
4052 #endif // VK_USE_PLATFORM_ANDROID_KHR
4053 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4054       VkResult gen75_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
4055 #endif // VK_USE_PLATFORM_ANDROID_KHR
4056       VkResult gen75_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) __attribute__ ((weak));
4057       VkResult gen75_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) __attribute__ ((weak));
4058       VkResult gen75_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
4059             void gen75_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo) __attribute__ ((weak));
4060             void gen75_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
4061             void gen75_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
4062             VkResult gen75_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) __attribute__ ((weak));
4063             VkResult gen75_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) __attribute__ ((weak));
4064             VkResult gen75_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) __attribute__ ((weak));
4065       #ifdef VK_USE_PLATFORM_ANDROID_KHR
4066       VkResult gen75_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) __attribute__ ((weak));
4067 #endif // VK_USE_PLATFORM_ANDROID_KHR
4068 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4069       VkResult gen75_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) __attribute__ ((weak));
4070 #endif // VK_USE_PLATFORM_ANDROID_KHR
4071       void gen75_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
4072             void gen75_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
4073             void gen75_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) __attribute__ ((weak));
4074       void gen75_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
4075       void gen75_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
4076       void gen75_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) __attribute__ ((weak));
4077       void gen75_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) __attribute__ ((weak));
4078       void gen75_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) __attribute__ ((weak));
4079       VkResult gen75_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) __attribute__ ((weak));
4080       void gen75_ReleaseProfilingLockKHR(VkDevice device) __attribute__ ((weak));
4081       VkResult gen75_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) __attribute__ ((weak));
4082       uint64_t gen75_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
4083             VkDeviceAddress gen75_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
4084                   VkResult gen75_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) __attribute__ ((weak));
4085       void gen75_UninitializePerformanceApiINTEL(VkDevice device) __attribute__ ((weak));
4086       VkResult gen75_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
4087       VkResult gen75_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
4088       VkResult gen75_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) __attribute__ ((weak));
4089       VkResult gen75_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) __attribute__ ((weak));
4090       VkResult gen75_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
4091       VkResult gen75_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
4092       VkResult gen75_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) __attribute__ ((weak));
4093       uint64_t gen75_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) __attribute__ ((weak));
4094             VkResult gen75_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) __attribute__ ((weak));
4095       VkResult gen75_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) __attribute__ ((weak));
4096       VkResult gen75_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) __attribute__ ((weak));
4097       void gen75_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) __attribute__ ((weak));
4098       void gen75_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) __attribute__ ((weak));
4099       void gen75_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) __attribute__ ((weak));
4100       void gen75_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) __attribute__ ((weak));
4101       void gen75_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
4102       void gen75_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
4103       void gen75_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) __attribute__ ((weak));
4104       void gen75_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) __attribute__ ((weak));
4105       void gen75_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) __attribute__ ((weak));
4106       void gen75_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) __attribute__ ((weak));
4107       void gen75_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) __attribute__ ((weak));
4108       void gen75_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) __attribute__ ((weak));
4109       void gen75_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) __attribute__ ((weak));
4110       VkResult gen75_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) __attribute__ ((weak));
4111       void gen75_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4112       VkResult gen75_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) __attribute__ ((weak));
4113       void gen75_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) __attribute__ ((weak));
4114       void gen75_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) __attribute__ ((weak));
4115       void gen75_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) __attribute__ ((weak));
4116       void gen75_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) __attribute__ ((weak));
4117       void gen75_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) __attribute__ ((weak));
4118       void gen75_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) __attribute__ ((weak));
4119       void gen75_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) __attribute__ ((weak));
4120       VkResult gen75_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
4121 
4122   const struct anv_device_dispatch_table gen75_device_dispatch_table = {
4123     .vkGetDeviceProcAddr = gen75_GetDeviceProcAddr,
4124     .vkDestroyDevice = gen75_DestroyDevice,
4125     .vkGetDeviceQueue = gen75_GetDeviceQueue,
4126     .vkQueueSubmit = gen75_QueueSubmit,
4127     .vkQueueWaitIdle = gen75_QueueWaitIdle,
4128     .vkDeviceWaitIdle = gen75_DeviceWaitIdle,
4129     .vkAllocateMemory = gen75_AllocateMemory,
4130     .vkFreeMemory = gen75_FreeMemory,
4131     .vkMapMemory = gen75_MapMemory,
4132     .vkUnmapMemory = gen75_UnmapMemory,
4133     .vkFlushMappedMemoryRanges = gen75_FlushMappedMemoryRanges,
4134     .vkInvalidateMappedMemoryRanges = gen75_InvalidateMappedMemoryRanges,
4135     .vkGetDeviceMemoryCommitment = gen75_GetDeviceMemoryCommitment,
4136     .vkGetBufferMemoryRequirements = gen75_GetBufferMemoryRequirements,
4137     .vkBindBufferMemory = gen75_BindBufferMemory,
4138     .vkGetImageMemoryRequirements = gen75_GetImageMemoryRequirements,
4139     .vkBindImageMemory = gen75_BindImageMemory,
4140     .vkGetImageSparseMemoryRequirements = gen75_GetImageSparseMemoryRequirements,
4141     .vkQueueBindSparse = gen75_QueueBindSparse,
4142     .vkCreateFence = gen75_CreateFence,
4143     .vkDestroyFence = gen75_DestroyFence,
4144     .vkResetFences = gen75_ResetFences,
4145     .vkGetFenceStatus = gen75_GetFenceStatus,
4146     .vkWaitForFences = gen75_WaitForFences,
4147     .vkCreateSemaphore = gen75_CreateSemaphore,
4148     .vkDestroySemaphore = gen75_DestroySemaphore,
4149     .vkCreateEvent = gen75_CreateEvent,
4150     .vkDestroyEvent = gen75_DestroyEvent,
4151     .vkGetEventStatus = gen75_GetEventStatus,
4152     .vkSetEvent = gen75_SetEvent,
4153     .vkResetEvent = gen75_ResetEvent,
4154     .vkCreateQueryPool = gen75_CreateQueryPool,
4155     .vkDestroyQueryPool = gen75_DestroyQueryPool,
4156     .vkGetQueryPoolResults = gen75_GetQueryPoolResults,
4157     .vkResetQueryPool = gen75_ResetQueryPool,
4158     .vkResetQueryPoolEXT = gen75_ResetQueryPool,
4159     .vkCreateBuffer = gen75_CreateBuffer,
4160     .vkDestroyBuffer = gen75_DestroyBuffer,
4161     .vkCreateBufferView = gen75_CreateBufferView,
4162     .vkDestroyBufferView = gen75_DestroyBufferView,
4163     .vkCreateImage = gen75_CreateImage,
4164     .vkDestroyImage = gen75_DestroyImage,
4165     .vkGetImageSubresourceLayout = gen75_GetImageSubresourceLayout,
4166     .vkCreateImageView = gen75_CreateImageView,
4167     .vkDestroyImageView = gen75_DestroyImageView,
4168     .vkCreateShaderModule = gen75_CreateShaderModule,
4169     .vkDestroyShaderModule = gen75_DestroyShaderModule,
4170     .vkCreatePipelineCache = gen75_CreatePipelineCache,
4171     .vkDestroyPipelineCache = gen75_DestroyPipelineCache,
4172     .vkGetPipelineCacheData = gen75_GetPipelineCacheData,
4173     .vkMergePipelineCaches = gen75_MergePipelineCaches,
4174     .vkCreateGraphicsPipelines = gen75_CreateGraphicsPipelines,
4175     .vkCreateComputePipelines = gen75_CreateComputePipelines,
4176     .vkDestroyPipeline = gen75_DestroyPipeline,
4177     .vkCreatePipelineLayout = gen75_CreatePipelineLayout,
4178     .vkDestroyPipelineLayout = gen75_DestroyPipelineLayout,
4179     .vkCreateSampler = gen75_CreateSampler,
4180     .vkDestroySampler = gen75_DestroySampler,
4181     .vkCreateDescriptorSetLayout = gen75_CreateDescriptorSetLayout,
4182     .vkDestroyDescriptorSetLayout = gen75_DestroyDescriptorSetLayout,
4183     .vkCreateDescriptorPool = gen75_CreateDescriptorPool,
4184     .vkDestroyDescriptorPool = gen75_DestroyDescriptorPool,
4185     .vkResetDescriptorPool = gen75_ResetDescriptorPool,
4186     .vkAllocateDescriptorSets = gen75_AllocateDescriptorSets,
4187     .vkFreeDescriptorSets = gen75_FreeDescriptorSets,
4188     .vkUpdateDescriptorSets = gen75_UpdateDescriptorSets,
4189     .vkCreateFramebuffer = gen75_CreateFramebuffer,
4190     .vkDestroyFramebuffer = gen75_DestroyFramebuffer,
4191     .vkCreateRenderPass = gen75_CreateRenderPass,
4192     .vkDestroyRenderPass = gen75_DestroyRenderPass,
4193     .vkGetRenderAreaGranularity = gen75_GetRenderAreaGranularity,
4194     .vkCreateCommandPool = gen75_CreateCommandPool,
4195     .vkDestroyCommandPool = gen75_DestroyCommandPool,
4196     .vkResetCommandPool = gen75_ResetCommandPool,
4197     .vkAllocateCommandBuffers = gen75_AllocateCommandBuffers,
4198     .vkFreeCommandBuffers = gen75_FreeCommandBuffers,
4199     .vkBeginCommandBuffer = gen75_BeginCommandBuffer,
4200     .vkEndCommandBuffer = gen75_EndCommandBuffer,
4201     .vkResetCommandBuffer = gen75_ResetCommandBuffer,
4202     .vkCmdBindPipeline = gen75_CmdBindPipeline,
4203     .vkCmdSetViewport = gen75_CmdSetViewport,
4204     .vkCmdSetScissor = gen75_CmdSetScissor,
4205     .vkCmdSetLineWidth = gen75_CmdSetLineWidth,
4206     .vkCmdSetDepthBias = gen75_CmdSetDepthBias,
4207     .vkCmdSetBlendConstants = gen75_CmdSetBlendConstants,
4208     .vkCmdSetDepthBounds = gen75_CmdSetDepthBounds,
4209     .vkCmdSetStencilCompareMask = gen75_CmdSetStencilCompareMask,
4210     .vkCmdSetStencilWriteMask = gen75_CmdSetStencilWriteMask,
4211     .vkCmdSetStencilReference = gen75_CmdSetStencilReference,
4212     .vkCmdBindDescriptorSets = gen75_CmdBindDescriptorSets,
4213     .vkCmdBindIndexBuffer = gen75_CmdBindIndexBuffer,
4214     .vkCmdBindVertexBuffers = gen75_CmdBindVertexBuffers,
4215     .vkCmdDraw = gen75_CmdDraw,
4216     .vkCmdDrawIndexed = gen75_CmdDrawIndexed,
4217     .vkCmdDrawIndirect = gen75_CmdDrawIndirect,
4218     .vkCmdDrawIndexedIndirect = gen75_CmdDrawIndexedIndirect,
4219     .vkCmdDispatch = gen75_CmdDispatch,
4220     .vkCmdDispatchIndirect = gen75_CmdDispatchIndirect,
4221     .vkCmdCopyBuffer = gen75_CmdCopyBuffer,
4222     .vkCmdCopyImage = gen75_CmdCopyImage,
4223     .vkCmdBlitImage = gen75_CmdBlitImage,
4224     .vkCmdCopyBufferToImage = gen75_CmdCopyBufferToImage,
4225     .vkCmdCopyImageToBuffer = gen75_CmdCopyImageToBuffer,
4226     .vkCmdUpdateBuffer = gen75_CmdUpdateBuffer,
4227     .vkCmdFillBuffer = gen75_CmdFillBuffer,
4228     .vkCmdClearColorImage = gen75_CmdClearColorImage,
4229     .vkCmdClearDepthStencilImage = gen75_CmdClearDepthStencilImage,
4230     .vkCmdClearAttachments = gen75_CmdClearAttachments,
4231     .vkCmdResolveImage = gen75_CmdResolveImage,
4232     .vkCmdSetEvent = gen75_CmdSetEvent,
4233     .vkCmdResetEvent = gen75_CmdResetEvent,
4234     .vkCmdWaitEvents = gen75_CmdWaitEvents,
4235     .vkCmdPipelineBarrier = gen75_CmdPipelineBarrier,
4236     .vkCmdBeginQuery = gen75_CmdBeginQuery,
4237     .vkCmdEndQuery = gen75_CmdEndQuery,
4238     .vkCmdBeginConditionalRenderingEXT = gen75_CmdBeginConditionalRenderingEXT,
4239     .vkCmdEndConditionalRenderingEXT = gen75_CmdEndConditionalRenderingEXT,
4240     .vkCmdResetQueryPool = gen75_CmdResetQueryPool,
4241     .vkCmdWriteTimestamp = gen75_CmdWriteTimestamp,
4242     .vkCmdCopyQueryPoolResults = gen75_CmdCopyQueryPoolResults,
4243     .vkCmdPushConstants = gen75_CmdPushConstants,
4244     .vkCmdBeginRenderPass = gen75_CmdBeginRenderPass,
4245     .vkCmdNextSubpass = gen75_CmdNextSubpass,
4246     .vkCmdEndRenderPass = gen75_CmdEndRenderPass,
4247     .vkCmdExecuteCommands = gen75_CmdExecuteCommands,
4248     .vkCreateSwapchainKHR = gen75_CreateSwapchainKHR,
4249     .vkDestroySwapchainKHR = gen75_DestroySwapchainKHR,
4250     .vkGetSwapchainImagesKHR = gen75_GetSwapchainImagesKHR,
4251     .vkAcquireNextImageKHR = gen75_AcquireNextImageKHR,
4252     .vkQueuePresentKHR = gen75_QueuePresentKHR,
4253     .vkCmdPushDescriptorSetKHR = gen75_CmdPushDescriptorSetKHR,
4254     .vkTrimCommandPool = gen75_TrimCommandPool,
4255     .vkTrimCommandPoolKHR = gen75_TrimCommandPool,
4256     .vkGetMemoryFdKHR = gen75_GetMemoryFdKHR,
4257     .vkGetMemoryFdPropertiesKHR = gen75_GetMemoryFdPropertiesKHR,
4258     .vkGetSemaphoreFdKHR = gen75_GetSemaphoreFdKHR,
4259     .vkImportSemaphoreFdKHR = gen75_ImportSemaphoreFdKHR,
4260     .vkGetFenceFdKHR = gen75_GetFenceFdKHR,
4261     .vkImportFenceFdKHR = gen75_ImportFenceFdKHR,
4262     .vkDisplayPowerControlEXT = gen75_DisplayPowerControlEXT,
4263     .vkRegisterDeviceEventEXT = gen75_RegisterDeviceEventEXT,
4264     .vkRegisterDisplayEventEXT = gen75_RegisterDisplayEventEXT,
4265     .vkGetSwapchainCounterEXT = gen75_GetSwapchainCounterEXT,
4266     .vkGetDeviceGroupPeerMemoryFeatures = gen75_GetDeviceGroupPeerMemoryFeatures,
4267     .vkGetDeviceGroupPeerMemoryFeaturesKHR = gen75_GetDeviceGroupPeerMemoryFeatures,
4268     .vkBindBufferMemory2 = gen75_BindBufferMemory2,
4269     .vkBindBufferMemory2KHR = gen75_BindBufferMemory2,
4270     .vkBindImageMemory2 = gen75_BindImageMemory2,
4271     .vkBindImageMemory2KHR = gen75_BindImageMemory2,
4272     .vkCmdSetDeviceMask = gen75_CmdSetDeviceMask,
4273     .vkCmdSetDeviceMaskKHR = gen75_CmdSetDeviceMask,
4274     .vkGetDeviceGroupPresentCapabilitiesKHR = gen75_GetDeviceGroupPresentCapabilitiesKHR,
4275     .vkGetDeviceGroupSurfacePresentModesKHR = gen75_GetDeviceGroupSurfacePresentModesKHR,
4276     .vkAcquireNextImage2KHR = gen75_AcquireNextImage2KHR,
4277     .vkCmdDispatchBase = gen75_CmdDispatchBase,
4278     .vkCmdDispatchBaseKHR = gen75_CmdDispatchBase,
4279     .vkCreateDescriptorUpdateTemplate = gen75_CreateDescriptorUpdateTemplate,
4280     .vkCreateDescriptorUpdateTemplateKHR = gen75_CreateDescriptorUpdateTemplate,
4281     .vkDestroyDescriptorUpdateTemplate = gen75_DestroyDescriptorUpdateTemplate,
4282     .vkDestroyDescriptorUpdateTemplateKHR = gen75_DestroyDescriptorUpdateTemplate,
4283     .vkUpdateDescriptorSetWithTemplate = gen75_UpdateDescriptorSetWithTemplate,
4284     .vkUpdateDescriptorSetWithTemplateKHR = gen75_UpdateDescriptorSetWithTemplate,
4285     .vkCmdPushDescriptorSetWithTemplateKHR = gen75_CmdPushDescriptorSetWithTemplateKHR,
4286     .vkGetBufferMemoryRequirements2 = gen75_GetBufferMemoryRequirements2,
4287     .vkGetBufferMemoryRequirements2KHR = gen75_GetBufferMemoryRequirements2,
4288     .vkGetImageMemoryRequirements2 = gen75_GetImageMemoryRequirements2,
4289     .vkGetImageMemoryRequirements2KHR = gen75_GetImageMemoryRequirements2,
4290     .vkGetImageSparseMemoryRequirements2 = gen75_GetImageSparseMemoryRequirements2,
4291     .vkGetImageSparseMemoryRequirements2KHR = gen75_GetImageSparseMemoryRequirements2,
4292     .vkCreateSamplerYcbcrConversion = gen75_CreateSamplerYcbcrConversion,
4293     .vkCreateSamplerYcbcrConversionKHR = gen75_CreateSamplerYcbcrConversion,
4294     .vkDestroySamplerYcbcrConversion = gen75_DestroySamplerYcbcrConversion,
4295     .vkDestroySamplerYcbcrConversionKHR = gen75_DestroySamplerYcbcrConversion,
4296     .vkGetDeviceQueue2 = gen75_GetDeviceQueue2,
4297     .vkGetDescriptorSetLayoutSupport = gen75_GetDescriptorSetLayoutSupport,
4298     .vkGetDescriptorSetLayoutSupportKHR = gen75_GetDescriptorSetLayoutSupport,
4299 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4300     .vkGetSwapchainGrallocUsageANDROID = gen75_GetSwapchainGrallocUsageANDROID,
4301 #endif // VK_USE_PLATFORM_ANDROID_KHR
4302 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4303     .vkGetSwapchainGrallocUsage2ANDROID = gen75_GetSwapchainGrallocUsage2ANDROID,
4304 #endif // VK_USE_PLATFORM_ANDROID_KHR
4305 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4306     .vkAcquireImageANDROID = gen75_AcquireImageANDROID,
4307 #endif // VK_USE_PLATFORM_ANDROID_KHR
4308 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4309     .vkQueueSignalReleaseImageANDROID = gen75_QueueSignalReleaseImageANDROID,
4310 #endif // VK_USE_PLATFORM_ANDROID_KHR
4311     .vkGetCalibratedTimestampsEXT = gen75_GetCalibratedTimestampsEXT,
4312     .vkGetMemoryHostPointerPropertiesEXT = gen75_GetMemoryHostPointerPropertiesEXT,
4313     .vkCreateRenderPass2 = gen75_CreateRenderPass2,
4314     .vkCreateRenderPass2KHR = gen75_CreateRenderPass2,
4315     .vkCmdBeginRenderPass2 = gen75_CmdBeginRenderPass2,
4316     .vkCmdBeginRenderPass2KHR = gen75_CmdBeginRenderPass2,
4317     .vkCmdNextSubpass2 = gen75_CmdNextSubpass2,
4318     .vkCmdNextSubpass2KHR = gen75_CmdNextSubpass2,
4319     .vkCmdEndRenderPass2 = gen75_CmdEndRenderPass2,
4320     .vkCmdEndRenderPass2KHR = gen75_CmdEndRenderPass2,
4321     .vkGetSemaphoreCounterValue = gen75_GetSemaphoreCounterValue,
4322     .vkGetSemaphoreCounterValueKHR = gen75_GetSemaphoreCounterValue,
4323     .vkWaitSemaphores = gen75_WaitSemaphores,
4324     .vkWaitSemaphoresKHR = gen75_WaitSemaphores,
4325     .vkSignalSemaphore = gen75_SignalSemaphore,
4326     .vkSignalSemaphoreKHR = gen75_SignalSemaphore,
4327 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4328     .vkGetAndroidHardwareBufferPropertiesANDROID = gen75_GetAndroidHardwareBufferPropertiesANDROID,
4329 #endif // VK_USE_PLATFORM_ANDROID_KHR
4330 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4331     .vkGetMemoryAndroidHardwareBufferANDROID = gen75_GetMemoryAndroidHardwareBufferANDROID,
4332 #endif // VK_USE_PLATFORM_ANDROID_KHR
4333     .vkCmdDrawIndirectCount = gen75_CmdDrawIndirectCount,
4334     .vkCmdDrawIndirectCountKHR = gen75_CmdDrawIndirectCount,
4335     .vkCmdDrawIndexedIndirectCount = gen75_CmdDrawIndexedIndirectCount,
4336     .vkCmdDrawIndexedIndirectCountKHR = gen75_CmdDrawIndexedIndirectCount,
4337     .vkCmdBindTransformFeedbackBuffersEXT = gen75_CmdBindTransformFeedbackBuffersEXT,
4338     .vkCmdBeginTransformFeedbackEXT = gen75_CmdBeginTransformFeedbackEXT,
4339     .vkCmdEndTransformFeedbackEXT = gen75_CmdEndTransformFeedbackEXT,
4340     .vkCmdBeginQueryIndexedEXT = gen75_CmdBeginQueryIndexedEXT,
4341     .vkCmdEndQueryIndexedEXT = gen75_CmdEndQueryIndexedEXT,
4342     .vkCmdDrawIndirectByteCountEXT = gen75_CmdDrawIndirectByteCountEXT,
4343     .vkAcquireProfilingLockKHR = gen75_AcquireProfilingLockKHR,
4344     .vkReleaseProfilingLockKHR = gen75_ReleaseProfilingLockKHR,
4345     .vkGetImageDrmFormatModifierPropertiesEXT = gen75_GetImageDrmFormatModifierPropertiesEXT,
4346     .vkGetBufferOpaqueCaptureAddress = gen75_GetBufferOpaqueCaptureAddress,
4347     .vkGetBufferOpaqueCaptureAddressKHR = gen75_GetBufferOpaqueCaptureAddress,
4348     .vkGetBufferDeviceAddress = gen75_GetBufferDeviceAddress,
4349     .vkGetBufferDeviceAddressKHR = gen75_GetBufferDeviceAddress,
4350     .vkGetBufferDeviceAddressEXT = gen75_GetBufferDeviceAddress,
4351     .vkInitializePerformanceApiINTEL = gen75_InitializePerformanceApiINTEL,
4352     .vkUninitializePerformanceApiINTEL = gen75_UninitializePerformanceApiINTEL,
4353     .vkCmdSetPerformanceMarkerINTEL = gen75_CmdSetPerformanceMarkerINTEL,
4354     .vkCmdSetPerformanceStreamMarkerINTEL = gen75_CmdSetPerformanceStreamMarkerINTEL,
4355     .vkCmdSetPerformanceOverrideINTEL = gen75_CmdSetPerformanceOverrideINTEL,
4356     .vkAcquirePerformanceConfigurationINTEL = gen75_AcquirePerformanceConfigurationINTEL,
4357     .vkReleasePerformanceConfigurationINTEL = gen75_ReleasePerformanceConfigurationINTEL,
4358     .vkQueueSetPerformanceConfigurationINTEL = gen75_QueueSetPerformanceConfigurationINTEL,
4359     .vkGetPerformanceParameterINTEL = gen75_GetPerformanceParameterINTEL,
4360     .vkGetDeviceMemoryOpaqueCaptureAddress = gen75_GetDeviceMemoryOpaqueCaptureAddress,
4361     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = gen75_GetDeviceMemoryOpaqueCaptureAddress,
4362     .vkGetPipelineExecutablePropertiesKHR = gen75_GetPipelineExecutablePropertiesKHR,
4363     .vkGetPipelineExecutableStatisticsKHR = gen75_GetPipelineExecutableStatisticsKHR,
4364     .vkGetPipelineExecutableInternalRepresentationsKHR = gen75_GetPipelineExecutableInternalRepresentationsKHR,
4365     .vkCmdSetLineStippleEXT = gen75_CmdSetLineStippleEXT,
4366     .vkCmdSetCullModeEXT = gen75_CmdSetCullModeEXT,
4367     .vkCmdSetFrontFaceEXT = gen75_CmdSetFrontFaceEXT,
4368     .vkCmdSetPrimitiveTopologyEXT = gen75_CmdSetPrimitiveTopologyEXT,
4369     .vkCmdSetViewportWithCountEXT = gen75_CmdSetViewportWithCountEXT,
4370     .vkCmdSetScissorWithCountEXT = gen75_CmdSetScissorWithCountEXT,
4371     .vkCmdBindVertexBuffers2EXT = gen75_CmdBindVertexBuffers2EXT,
4372     .vkCmdSetDepthTestEnableEXT = gen75_CmdSetDepthTestEnableEXT,
4373     .vkCmdSetDepthWriteEnableEXT = gen75_CmdSetDepthWriteEnableEXT,
4374     .vkCmdSetDepthCompareOpEXT = gen75_CmdSetDepthCompareOpEXT,
4375     .vkCmdSetDepthBoundsTestEnableEXT = gen75_CmdSetDepthBoundsTestEnableEXT,
4376     .vkCmdSetStencilTestEnableEXT = gen75_CmdSetStencilTestEnableEXT,
4377     .vkCmdSetStencilOpEXT = gen75_CmdSetStencilOpEXT,
4378     .vkCreatePrivateDataSlotEXT = gen75_CreatePrivateDataSlotEXT,
4379     .vkDestroyPrivateDataSlotEXT = gen75_DestroyPrivateDataSlotEXT,
4380     .vkSetPrivateDataEXT = gen75_SetPrivateDataEXT,
4381     .vkGetPrivateDataEXT = gen75_GetPrivateDataEXT,
4382     .vkCmdCopyBuffer2KHR = gen75_CmdCopyBuffer2KHR,
4383     .vkCmdCopyImage2KHR = gen75_CmdCopyImage2KHR,
4384     .vkCmdBlitImage2KHR = gen75_CmdBlitImage2KHR,
4385     .vkCmdCopyBufferToImage2KHR = gen75_CmdCopyBufferToImage2KHR,
4386     .vkCmdCopyImageToBuffer2KHR = gen75_CmdCopyImageToBuffer2KHR,
4387     .vkCmdResolveImage2KHR = gen75_CmdResolveImage2KHR,
4388     .vkCreateDmaBufImageINTEL = gen75_CreateDmaBufImageINTEL,
4389   };
4390       PFN_vkVoidFunction gen8_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
4391       void gen8_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4392       void gen8_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
4393       VkResult gen8_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
4394       VkResult gen8_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
4395       VkResult gen8_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
4396       VkResult gen8_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
4397       void gen8_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4398       VkResult gen8_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
4399       void gen8_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
4400       VkResult gen8_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
4401       VkResult gen8_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
4402       void gen8_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
4403       void gen8_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
4404       VkResult gen8_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
4405       void gen8_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
4406       VkResult gen8_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
4407       void gen8_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
4408       VkResult gen8_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
4409       VkResult gen8_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
4410       void gen8_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4411       VkResult gen8_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
4412       VkResult gen8_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
4413       VkResult gen8_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
4414       VkResult gen8_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
4415       void gen8_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4416       VkResult gen8_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
4417       void gen8_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4418       VkResult gen8_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
4419       VkResult gen8_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
4420       VkResult gen8_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
4421       VkResult gen8_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
4422       void gen8_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4423       VkResult gen8_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
4424       void gen8_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
4425             VkResult gen8_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
4426       void gen8_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4427       VkResult gen8_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
4428       void gen8_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4429       VkResult gen8_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
4430       void gen8_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4431       void gen8_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
4432       VkResult gen8_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
4433       void gen8_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4434       VkResult gen8_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
4435       void gen8_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4436       VkResult gen8_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
4437       void gen8_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4438       VkResult gen8_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
4439       VkResult gen8_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
4440       VkResult gen8_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
4441       VkResult gen8_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
4442       void gen8_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4443       VkResult gen8_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
4444       void gen8_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4445       VkResult gen8_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
4446       void gen8_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4447       VkResult gen8_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
4448       void gen8_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4449       VkResult gen8_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
4450       void gen8_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4451       VkResult gen8_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
4452       VkResult gen8_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
4453       VkResult gen8_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
4454       void gen8_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
4455       VkResult gen8_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
4456       void gen8_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4457       VkResult gen8_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
4458       void gen8_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4459       void gen8_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
4460       VkResult gen8_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
4461       void gen8_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4462       VkResult gen8_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
4463       VkResult gen8_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
4464       void gen8_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
4465       VkResult gen8_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
4466       VkResult gen8_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
4467       VkResult gen8_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
4468       void gen8_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
4469       void gen8_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
4470       void gen8_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
4471       void gen8_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
4472       void gen8_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
4473       void gen8_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
4474       void gen8_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
4475       void gen8_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
4476       void gen8_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
4477       void gen8_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
4478       void gen8_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) __attribute__ ((weak));
4479       void gen8_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
4480       void gen8_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
4481       void gen8_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
4482       void gen8_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
4483       void gen8_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
4484       void gen8_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
4485       void gen8_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
4486       void gen8_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
4487       void gen8_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
4488       void gen8_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
4489       void gen8_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
4490       void gen8_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
4491       void gen8_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
4492       void gen8_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
4493       void gen8_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
4494       void gen8_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
4495       void gen8_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
4496       void gen8_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
4497       void gen8_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
4498       void gen8_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
4499       void gen8_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
4500       void gen8_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
4501       void gen8_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
4502       void gen8_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
4503       void gen8_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
4504       void gen8_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) __attribute__ ((weak));
4505       void gen8_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) __attribute__ ((weak));
4506       void gen8_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
4507       void gen8_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
4508       void gen8_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
4509       void gen8_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
4510       void gen8_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
4511       void gen8_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
4512       void gen8_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
4513       void gen8_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
4514       VkResult gen8_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
4515       void gen8_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4516       VkResult gen8_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
4517       VkResult gen8_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
4518       VkResult gen8_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
4519       void gen8_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
4520       void gen8_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) __attribute__ ((weak));
4521             VkResult gen8_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
4522       VkResult gen8_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
4523       VkResult gen8_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
4524       VkResult gen8_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
4525       VkResult gen8_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
4526       VkResult gen8_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
4527       VkResult gen8_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) __attribute__ ((weak));
4528       VkResult gen8_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
4529       VkResult gen8_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
4530       VkResult gen8_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) __attribute__ ((weak));
4531       void gen8_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) __attribute__ ((weak));
4532             VkResult gen8_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) __attribute__ ((weak));
4533             VkResult gen8_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) __attribute__ ((weak));
4534             void gen8_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) __attribute__ ((weak));
4535             VkResult gen8_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) __attribute__ ((weak));
4536       VkResult gen8_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) __attribute__ ((weak));
4537       VkResult gen8_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) __attribute__ ((weak));
4538       void gen8_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
4539             VkResult gen8_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) __attribute__ ((weak));
4540             void gen8_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4541             void gen8_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
4542             void gen8_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
4543       void gen8_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
4544             void gen8_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
4545             void gen8_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) __attribute__ ((weak));
4546             VkResult gen8_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) __attribute__ ((weak));
4547             void gen8_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4548             void gen8_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) __attribute__ ((weak));
4549       void gen8_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) __attribute__ ((weak));
4550       #ifdef VK_USE_PLATFORM_ANDROID_KHR
4551       VkResult gen8_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
4552 #endif // VK_USE_PLATFORM_ANDROID_KHR
4553 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4554       VkResult gen8_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) __attribute__ ((weak));
4555 #endif // VK_USE_PLATFORM_ANDROID_KHR
4556 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4557       VkResult gen8_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
4558 #endif // VK_USE_PLATFORM_ANDROID_KHR
4559 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4560       VkResult gen8_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
4561 #endif // VK_USE_PLATFORM_ANDROID_KHR
4562       VkResult gen8_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) __attribute__ ((weak));
4563       VkResult gen8_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) __attribute__ ((weak));
4564       VkResult gen8_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
4565             void gen8_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo) __attribute__ ((weak));
4566             void gen8_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
4567             void gen8_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
4568             VkResult gen8_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) __attribute__ ((weak));
4569             VkResult gen8_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) __attribute__ ((weak));
4570             VkResult gen8_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) __attribute__ ((weak));
4571       #ifdef VK_USE_PLATFORM_ANDROID_KHR
4572       VkResult gen8_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) __attribute__ ((weak));
4573 #endif // VK_USE_PLATFORM_ANDROID_KHR
4574 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4575       VkResult gen8_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) __attribute__ ((weak));
4576 #endif // VK_USE_PLATFORM_ANDROID_KHR
4577       void gen8_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
4578             void gen8_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
4579             void gen8_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) __attribute__ ((weak));
4580       void gen8_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
4581       void gen8_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
4582       void gen8_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) __attribute__ ((weak));
4583       void gen8_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) __attribute__ ((weak));
4584       void gen8_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) __attribute__ ((weak));
4585       VkResult gen8_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) __attribute__ ((weak));
4586       void gen8_ReleaseProfilingLockKHR(VkDevice device) __attribute__ ((weak));
4587       VkResult gen8_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) __attribute__ ((weak));
4588       uint64_t gen8_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
4589             VkDeviceAddress gen8_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
4590                   VkResult gen8_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) __attribute__ ((weak));
4591       void gen8_UninitializePerformanceApiINTEL(VkDevice device) __attribute__ ((weak));
4592       VkResult gen8_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
4593       VkResult gen8_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
4594       VkResult gen8_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) __attribute__ ((weak));
4595       VkResult gen8_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) __attribute__ ((weak));
4596       VkResult gen8_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
4597       VkResult gen8_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
4598       VkResult gen8_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) __attribute__ ((weak));
4599       uint64_t gen8_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) __attribute__ ((weak));
4600             VkResult gen8_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) __attribute__ ((weak));
4601       VkResult gen8_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) __attribute__ ((weak));
4602       VkResult gen8_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) __attribute__ ((weak));
4603       void gen8_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) __attribute__ ((weak));
4604       void gen8_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) __attribute__ ((weak));
4605       void gen8_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) __attribute__ ((weak));
4606       void gen8_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) __attribute__ ((weak));
4607       void gen8_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
4608       void gen8_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
4609       void gen8_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) __attribute__ ((weak));
4610       void gen8_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) __attribute__ ((weak));
4611       void gen8_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) __attribute__ ((weak));
4612       void gen8_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) __attribute__ ((weak));
4613       void gen8_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) __attribute__ ((weak));
4614       void gen8_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) __attribute__ ((weak));
4615       void gen8_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) __attribute__ ((weak));
4616       VkResult gen8_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) __attribute__ ((weak));
4617       void gen8_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4618       VkResult gen8_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) __attribute__ ((weak));
4619       void gen8_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) __attribute__ ((weak));
4620       void gen8_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) __attribute__ ((weak));
4621       void gen8_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) __attribute__ ((weak));
4622       void gen8_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) __attribute__ ((weak));
4623       void gen8_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) __attribute__ ((weak));
4624       void gen8_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) __attribute__ ((weak));
4625       void gen8_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) __attribute__ ((weak));
4626       VkResult gen8_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
4627 
4628   const struct anv_device_dispatch_table gen8_device_dispatch_table = {
4629     .vkGetDeviceProcAddr = gen8_GetDeviceProcAddr,
4630     .vkDestroyDevice = gen8_DestroyDevice,
4631     .vkGetDeviceQueue = gen8_GetDeviceQueue,
4632     .vkQueueSubmit = gen8_QueueSubmit,
4633     .vkQueueWaitIdle = gen8_QueueWaitIdle,
4634     .vkDeviceWaitIdle = gen8_DeviceWaitIdle,
4635     .vkAllocateMemory = gen8_AllocateMemory,
4636     .vkFreeMemory = gen8_FreeMemory,
4637     .vkMapMemory = gen8_MapMemory,
4638     .vkUnmapMemory = gen8_UnmapMemory,
4639     .vkFlushMappedMemoryRanges = gen8_FlushMappedMemoryRanges,
4640     .vkInvalidateMappedMemoryRanges = gen8_InvalidateMappedMemoryRanges,
4641     .vkGetDeviceMemoryCommitment = gen8_GetDeviceMemoryCommitment,
4642     .vkGetBufferMemoryRequirements = gen8_GetBufferMemoryRequirements,
4643     .vkBindBufferMemory = gen8_BindBufferMemory,
4644     .vkGetImageMemoryRequirements = gen8_GetImageMemoryRequirements,
4645     .vkBindImageMemory = gen8_BindImageMemory,
4646     .vkGetImageSparseMemoryRequirements = gen8_GetImageSparseMemoryRequirements,
4647     .vkQueueBindSparse = gen8_QueueBindSparse,
4648     .vkCreateFence = gen8_CreateFence,
4649     .vkDestroyFence = gen8_DestroyFence,
4650     .vkResetFences = gen8_ResetFences,
4651     .vkGetFenceStatus = gen8_GetFenceStatus,
4652     .vkWaitForFences = gen8_WaitForFences,
4653     .vkCreateSemaphore = gen8_CreateSemaphore,
4654     .vkDestroySemaphore = gen8_DestroySemaphore,
4655     .vkCreateEvent = gen8_CreateEvent,
4656     .vkDestroyEvent = gen8_DestroyEvent,
4657     .vkGetEventStatus = gen8_GetEventStatus,
4658     .vkSetEvent = gen8_SetEvent,
4659     .vkResetEvent = gen8_ResetEvent,
4660     .vkCreateQueryPool = gen8_CreateQueryPool,
4661     .vkDestroyQueryPool = gen8_DestroyQueryPool,
4662     .vkGetQueryPoolResults = gen8_GetQueryPoolResults,
4663     .vkResetQueryPool = gen8_ResetQueryPool,
4664     .vkResetQueryPoolEXT = gen8_ResetQueryPool,
4665     .vkCreateBuffer = gen8_CreateBuffer,
4666     .vkDestroyBuffer = gen8_DestroyBuffer,
4667     .vkCreateBufferView = gen8_CreateBufferView,
4668     .vkDestroyBufferView = gen8_DestroyBufferView,
4669     .vkCreateImage = gen8_CreateImage,
4670     .vkDestroyImage = gen8_DestroyImage,
4671     .vkGetImageSubresourceLayout = gen8_GetImageSubresourceLayout,
4672     .vkCreateImageView = gen8_CreateImageView,
4673     .vkDestroyImageView = gen8_DestroyImageView,
4674     .vkCreateShaderModule = gen8_CreateShaderModule,
4675     .vkDestroyShaderModule = gen8_DestroyShaderModule,
4676     .vkCreatePipelineCache = gen8_CreatePipelineCache,
4677     .vkDestroyPipelineCache = gen8_DestroyPipelineCache,
4678     .vkGetPipelineCacheData = gen8_GetPipelineCacheData,
4679     .vkMergePipelineCaches = gen8_MergePipelineCaches,
4680     .vkCreateGraphicsPipelines = gen8_CreateGraphicsPipelines,
4681     .vkCreateComputePipelines = gen8_CreateComputePipelines,
4682     .vkDestroyPipeline = gen8_DestroyPipeline,
4683     .vkCreatePipelineLayout = gen8_CreatePipelineLayout,
4684     .vkDestroyPipelineLayout = gen8_DestroyPipelineLayout,
4685     .vkCreateSampler = gen8_CreateSampler,
4686     .vkDestroySampler = gen8_DestroySampler,
4687     .vkCreateDescriptorSetLayout = gen8_CreateDescriptorSetLayout,
4688     .vkDestroyDescriptorSetLayout = gen8_DestroyDescriptorSetLayout,
4689     .vkCreateDescriptorPool = gen8_CreateDescriptorPool,
4690     .vkDestroyDescriptorPool = gen8_DestroyDescriptorPool,
4691     .vkResetDescriptorPool = gen8_ResetDescriptorPool,
4692     .vkAllocateDescriptorSets = gen8_AllocateDescriptorSets,
4693     .vkFreeDescriptorSets = gen8_FreeDescriptorSets,
4694     .vkUpdateDescriptorSets = gen8_UpdateDescriptorSets,
4695     .vkCreateFramebuffer = gen8_CreateFramebuffer,
4696     .vkDestroyFramebuffer = gen8_DestroyFramebuffer,
4697     .vkCreateRenderPass = gen8_CreateRenderPass,
4698     .vkDestroyRenderPass = gen8_DestroyRenderPass,
4699     .vkGetRenderAreaGranularity = gen8_GetRenderAreaGranularity,
4700     .vkCreateCommandPool = gen8_CreateCommandPool,
4701     .vkDestroyCommandPool = gen8_DestroyCommandPool,
4702     .vkResetCommandPool = gen8_ResetCommandPool,
4703     .vkAllocateCommandBuffers = gen8_AllocateCommandBuffers,
4704     .vkFreeCommandBuffers = gen8_FreeCommandBuffers,
4705     .vkBeginCommandBuffer = gen8_BeginCommandBuffer,
4706     .vkEndCommandBuffer = gen8_EndCommandBuffer,
4707     .vkResetCommandBuffer = gen8_ResetCommandBuffer,
4708     .vkCmdBindPipeline = gen8_CmdBindPipeline,
4709     .vkCmdSetViewport = gen8_CmdSetViewport,
4710     .vkCmdSetScissor = gen8_CmdSetScissor,
4711     .vkCmdSetLineWidth = gen8_CmdSetLineWidth,
4712     .vkCmdSetDepthBias = gen8_CmdSetDepthBias,
4713     .vkCmdSetBlendConstants = gen8_CmdSetBlendConstants,
4714     .vkCmdSetDepthBounds = gen8_CmdSetDepthBounds,
4715     .vkCmdSetStencilCompareMask = gen8_CmdSetStencilCompareMask,
4716     .vkCmdSetStencilWriteMask = gen8_CmdSetStencilWriteMask,
4717     .vkCmdSetStencilReference = gen8_CmdSetStencilReference,
4718     .vkCmdBindDescriptorSets = gen8_CmdBindDescriptorSets,
4719     .vkCmdBindIndexBuffer = gen8_CmdBindIndexBuffer,
4720     .vkCmdBindVertexBuffers = gen8_CmdBindVertexBuffers,
4721     .vkCmdDraw = gen8_CmdDraw,
4722     .vkCmdDrawIndexed = gen8_CmdDrawIndexed,
4723     .vkCmdDrawIndirect = gen8_CmdDrawIndirect,
4724     .vkCmdDrawIndexedIndirect = gen8_CmdDrawIndexedIndirect,
4725     .vkCmdDispatch = gen8_CmdDispatch,
4726     .vkCmdDispatchIndirect = gen8_CmdDispatchIndirect,
4727     .vkCmdCopyBuffer = gen8_CmdCopyBuffer,
4728     .vkCmdCopyImage = gen8_CmdCopyImage,
4729     .vkCmdBlitImage = gen8_CmdBlitImage,
4730     .vkCmdCopyBufferToImage = gen8_CmdCopyBufferToImage,
4731     .vkCmdCopyImageToBuffer = gen8_CmdCopyImageToBuffer,
4732     .vkCmdUpdateBuffer = gen8_CmdUpdateBuffer,
4733     .vkCmdFillBuffer = gen8_CmdFillBuffer,
4734     .vkCmdClearColorImage = gen8_CmdClearColorImage,
4735     .vkCmdClearDepthStencilImage = gen8_CmdClearDepthStencilImage,
4736     .vkCmdClearAttachments = gen8_CmdClearAttachments,
4737     .vkCmdResolveImage = gen8_CmdResolveImage,
4738     .vkCmdSetEvent = gen8_CmdSetEvent,
4739     .vkCmdResetEvent = gen8_CmdResetEvent,
4740     .vkCmdWaitEvents = gen8_CmdWaitEvents,
4741     .vkCmdPipelineBarrier = gen8_CmdPipelineBarrier,
4742     .vkCmdBeginQuery = gen8_CmdBeginQuery,
4743     .vkCmdEndQuery = gen8_CmdEndQuery,
4744     .vkCmdBeginConditionalRenderingEXT = gen8_CmdBeginConditionalRenderingEXT,
4745     .vkCmdEndConditionalRenderingEXT = gen8_CmdEndConditionalRenderingEXT,
4746     .vkCmdResetQueryPool = gen8_CmdResetQueryPool,
4747     .vkCmdWriteTimestamp = gen8_CmdWriteTimestamp,
4748     .vkCmdCopyQueryPoolResults = gen8_CmdCopyQueryPoolResults,
4749     .vkCmdPushConstants = gen8_CmdPushConstants,
4750     .vkCmdBeginRenderPass = gen8_CmdBeginRenderPass,
4751     .vkCmdNextSubpass = gen8_CmdNextSubpass,
4752     .vkCmdEndRenderPass = gen8_CmdEndRenderPass,
4753     .vkCmdExecuteCommands = gen8_CmdExecuteCommands,
4754     .vkCreateSwapchainKHR = gen8_CreateSwapchainKHR,
4755     .vkDestroySwapchainKHR = gen8_DestroySwapchainKHR,
4756     .vkGetSwapchainImagesKHR = gen8_GetSwapchainImagesKHR,
4757     .vkAcquireNextImageKHR = gen8_AcquireNextImageKHR,
4758     .vkQueuePresentKHR = gen8_QueuePresentKHR,
4759     .vkCmdPushDescriptorSetKHR = gen8_CmdPushDescriptorSetKHR,
4760     .vkTrimCommandPool = gen8_TrimCommandPool,
4761     .vkTrimCommandPoolKHR = gen8_TrimCommandPool,
4762     .vkGetMemoryFdKHR = gen8_GetMemoryFdKHR,
4763     .vkGetMemoryFdPropertiesKHR = gen8_GetMemoryFdPropertiesKHR,
4764     .vkGetSemaphoreFdKHR = gen8_GetSemaphoreFdKHR,
4765     .vkImportSemaphoreFdKHR = gen8_ImportSemaphoreFdKHR,
4766     .vkGetFenceFdKHR = gen8_GetFenceFdKHR,
4767     .vkImportFenceFdKHR = gen8_ImportFenceFdKHR,
4768     .vkDisplayPowerControlEXT = gen8_DisplayPowerControlEXT,
4769     .vkRegisterDeviceEventEXT = gen8_RegisterDeviceEventEXT,
4770     .vkRegisterDisplayEventEXT = gen8_RegisterDisplayEventEXT,
4771     .vkGetSwapchainCounterEXT = gen8_GetSwapchainCounterEXT,
4772     .vkGetDeviceGroupPeerMemoryFeatures = gen8_GetDeviceGroupPeerMemoryFeatures,
4773     .vkGetDeviceGroupPeerMemoryFeaturesKHR = gen8_GetDeviceGroupPeerMemoryFeatures,
4774     .vkBindBufferMemory2 = gen8_BindBufferMemory2,
4775     .vkBindBufferMemory2KHR = gen8_BindBufferMemory2,
4776     .vkBindImageMemory2 = gen8_BindImageMemory2,
4777     .vkBindImageMemory2KHR = gen8_BindImageMemory2,
4778     .vkCmdSetDeviceMask = gen8_CmdSetDeviceMask,
4779     .vkCmdSetDeviceMaskKHR = gen8_CmdSetDeviceMask,
4780     .vkGetDeviceGroupPresentCapabilitiesKHR = gen8_GetDeviceGroupPresentCapabilitiesKHR,
4781     .vkGetDeviceGroupSurfacePresentModesKHR = gen8_GetDeviceGroupSurfacePresentModesKHR,
4782     .vkAcquireNextImage2KHR = gen8_AcquireNextImage2KHR,
4783     .vkCmdDispatchBase = gen8_CmdDispatchBase,
4784     .vkCmdDispatchBaseKHR = gen8_CmdDispatchBase,
4785     .vkCreateDescriptorUpdateTemplate = gen8_CreateDescriptorUpdateTemplate,
4786     .vkCreateDescriptorUpdateTemplateKHR = gen8_CreateDescriptorUpdateTemplate,
4787     .vkDestroyDescriptorUpdateTemplate = gen8_DestroyDescriptorUpdateTemplate,
4788     .vkDestroyDescriptorUpdateTemplateKHR = gen8_DestroyDescriptorUpdateTemplate,
4789     .vkUpdateDescriptorSetWithTemplate = gen8_UpdateDescriptorSetWithTemplate,
4790     .vkUpdateDescriptorSetWithTemplateKHR = gen8_UpdateDescriptorSetWithTemplate,
4791     .vkCmdPushDescriptorSetWithTemplateKHR = gen8_CmdPushDescriptorSetWithTemplateKHR,
4792     .vkGetBufferMemoryRequirements2 = gen8_GetBufferMemoryRequirements2,
4793     .vkGetBufferMemoryRequirements2KHR = gen8_GetBufferMemoryRequirements2,
4794     .vkGetImageMemoryRequirements2 = gen8_GetImageMemoryRequirements2,
4795     .vkGetImageMemoryRequirements2KHR = gen8_GetImageMemoryRequirements2,
4796     .vkGetImageSparseMemoryRequirements2 = gen8_GetImageSparseMemoryRequirements2,
4797     .vkGetImageSparseMemoryRequirements2KHR = gen8_GetImageSparseMemoryRequirements2,
4798     .vkCreateSamplerYcbcrConversion = gen8_CreateSamplerYcbcrConversion,
4799     .vkCreateSamplerYcbcrConversionKHR = gen8_CreateSamplerYcbcrConversion,
4800     .vkDestroySamplerYcbcrConversion = gen8_DestroySamplerYcbcrConversion,
4801     .vkDestroySamplerYcbcrConversionKHR = gen8_DestroySamplerYcbcrConversion,
4802     .vkGetDeviceQueue2 = gen8_GetDeviceQueue2,
4803     .vkGetDescriptorSetLayoutSupport = gen8_GetDescriptorSetLayoutSupport,
4804     .vkGetDescriptorSetLayoutSupportKHR = gen8_GetDescriptorSetLayoutSupport,
4805 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4806     .vkGetSwapchainGrallocUsageANDROID = gen8_GetSwapchainGrallocUsageANDROID,
4807 #endif // VK_USE_PLATFORM_ANDROID_KHR
4808 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4809     .vkGetSwapchainGrallocUsage2ANDROID = gen8_GetSwapchainGrallocUsage2ANDROID,
4810 #endif // VK_USE_PLATFORM_ANDROID_KHR
4811 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4812     .vkAcquireImageANDROID = gen8_AcquireImageANDROID,
4813 #endif // VK_USE_PLATFORM_ANDROID_KHR
4814 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4815     .vkQueueSignalReleaseImageANDROID = gen8_QueueSignalReleaseImageANDROID,
4816 #endif // VK_USE_PLATFORM_ANDROID_KHR
4817     .vkGetCalibratedTimestampsEXT = gen8_GetCalibratedTimestampsEXT,
4818     .vkGetMemoryHostPointerPropertiesEXT = gen8_GetMemoryHostPointerPropertiesEXT,
4819     .vkCreateRenderPass2 = gen8_CreateRenderPass2,
4820     .vkCreateRenderPass2KHR = gen8_CreateRenderPass2,
4821     .vkCmdBeginRenderPass2 = gen8_CmdBeginRenderPass2,
4822     .vkCmdBeginRenderPass2KHR = gen8_CmdBeginRenderPass2,
4823     .vkCmdNextSubpass2 = gen8_CmdNextSubpass2,
4824     .vkCmdNextSubpass2KHR = gen8_CmdNextSubpass2,
4825     .vkCmdEndRenderPass2 = gen8_CmdEndRenderPass2,
4826     .vkCmdEndRenderPass2KHR = gen8_CmdEndRenderPass2,
4827     .vkGetSemaphoreCounterValue = gen8_GetSemaphoreCounterValue,
4828     .vkGetSemaphoreCounterValueKHR = gen8_GetSemaphoreCounterValue,
4829     .vkWaitSemaphores = gen8_WaitSemaphores,
4830     .vkWaitSemaphoresKHR = gen8_WaitSemaphores,
4831     .vkSignalSemaphore = gen8_SignalSemaphore,
4832     .vkSignalSemaphoreKHR = gen8_SignalSemaphore,
4833 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4834     .vkGetAndroidHardwareBufferPropertiesANDROID = gen8_GetAndroidHardwareBufferPropertiesANDROID,
4835 #endif // VK_USE_PLATFORM_ANDROID_KHR
4836 #ifdef VK_USE_PLATFORM_ANDROID_KHR
4837     .vkGetMemoryAndroidHardwareBufferANDROID = gen8_GetMemoryAndroidHardwareBufferANDROID,
4838 #endif // VK_USE_PLATFORM_ANDROID_KHR
4839     .vkCmdDrawIndirectCount = gen8_CmdDrawIndirectCount,
4840     .vkCmdDrawIndirectCountKHR = gen8_CmdDrawIndirectCount,
4841     .vkCmdDrawIndexedIndirectCount = gen8_CmdDrawIndexedIndirectCount,
4842     .vkCmdDrawIndexedIndirectCountKHR = gen8_CmdDrawIndexedIndirectCount,
4843     .vkCmdBindTransformFeedbackBuffersEXT = gen8_CmdBindTransformFeedbackBuffersEXT,
4844     .vkCmdBeginTransformFeedbackEXT = gen8_CmdBeginTransformFeedbackEXT,
4845     .vkCmdEndTransformFeedbackEXT = gen8_CmdEndTransformFeedbackEXT,
4846     .vkCmdBeginQueryIndexedEXT = gen8_CmdBeginQueryIndexedEXT,
4847     .vkCmdEndQueryIndexedEXT = gen8_CmdEndQueryIndexedEXT,
4848     .vkCmdDrawIndirectByteCountEXT = gen8_CmdDrawIndirectByteCountEXT,
4849     .vkAcquireProfilingLockKHR = gen8_AcquireProfilingLockKHR,
4850     .vkReleaseProfilingLockKHR = gen8_ReleaseProfilingLockKHR,
4851     .vkGetImageDrmFormatModifierPropertiesEXT = gen8_GetImageDrmFormatModifierPropertiesEXT,
4852     .vkGetBufferOpaqueCaptureAddress = gen8_GetBufferOpaqueCaptureAddress,
4853     .vkGetBufferOpaqueCaptureAddressKHR = gen8_GetBufferOpaqueCaptureAddress,
4854     .vkGetBufferDeviceAddress = gen8_GetBufferDeviceAddress,
4855     .vkGetBufferDeviceAddressKHR = gen8_GetBufferDeviceAddress,
4856     .vkGetBufferDeviceAddressEXT = gen8_GetBufferDeviceAddress,
4857     .vkInitializePerformanceApiINTEL = gen8_InitializePerformanceApiINTEL,
4858     .vkUninitializePerformanceApiINTEL = gen8_UninitializePerformanceApiINTEL,
4859     .vkCmdSetPerformanceMarkerINTEL = gen8_CmdSetPerformanceMarkerINTEL,
4860     .vkCmdSetPerformanceStreamMarkerINTEL = gen8_CmdSetPerformanceStreamMarkerINTEL,
4861     .vkCmdSetPerformanceOverrideINTEL = gen8_CmdSetPerformanceOverrideINTEL,
4862     .vkAcquirePerformanceConfigurationINTEL = gen8_AcquirePerformanceConfigurationINTEL,
4863     .vkReleasePerformanceConfigurationINTEL = gen8_ReleasePerformanceConfigurationINTEL,
4864     .vkQueueSetPerformanceConfigurationINTEL = gen8_QueueSetPerformanceConfigurationINTEL,
4865     .vkGetPerformanceParameterINTEL = gen8_GetPerformanceParameterINTEL,
4866     .vkGetDeviceMemoryOpaqueCaptureAddress = gen8_GetDeviceMemoryOpaqueCaptureAddress,
4867     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = gen8_GetDeviceMemoryOpaqueCaptureAddress,
4868     .vkGetPipelineExecutablePropertiesKHR = gen8_GetPipelineExecutablePropertiesKHR,
4869     .vkGetPipelineExecutableStatisticsKHR = gen8_GetPipelineExecutableStatisticsKHR,
4870     .vkGetPipelineExecutableInternalRepresentationsKHR = gen8_GetPipelineExecutableInternalRepresentationsKHR,
4871     .vkCmdSetLineStippleEXT = gen8_CmdSetLineStippleEXT,
4872     .vkCmdSetCullModeEXT = gen8_CmdSetCullModeEXT,
4873     .vkCmdSetFrontFaceEXT = gen8_CmdSetFrontFaceEXT,
4874     .vkCmdSetPrimitiveTopologyEXT = gen8_CmdSetPrimitiveTopologyEXT,
4875     .vkCmdSetViewportWithCountEXT = gen8_CmdSetViewportWithCountEXT,
4876     .vkCmdSetScissorWithCountEXT = gen8_CmdSetScissorWithCountEXT,
4877     .vkCmdBindVertexBuffers2EXT = gen8_CmdBindVertexBuffers2EXT,
4878     .vkCmdSetDepthTestEnableEXT = gen8_CmdSetDepthTestEnableEXT,
4879     .vkCmdSetDepthWriteEnableEXT = gen8_CmdSetDepthWriteEnableEXT,
4880     .vkCmdSetDepthCompareOpEXT = gen8_CmdSetDepthCompareOpEXT,
4881     .vkCmdSetDepthBoundsTestEnableEXT = gen8_CmdSetDepthBoundsTestEnableEXT,
4882     .vkCmdSetStencilTestEnableEXT = gen8_CmdSetStencilTestEnableEXT,
4883     .vkCmdSetStencilOpEXT = gen8_CmdSetStencilOpEXT,
4884     .vkCreatePrivateDataSlotEXT = gen8_CreatePrivateDataSlotEXT,
4885     .vkDestroyPrivateDataSlotEXT = gen8_DestroyPrivateDataSlotEXT,
4886     .vkSetPrivateDataEXT = gen8_SetPrivateDataEXT,
4887     .vkGetPrivateDataEXT = gen8_GetPrivateDataEXT,
4888     .vkCmdCopyBuffer2KHR = gen8_CmdCopyBuffer2KHR,
4889     .vkCmdCopyImage2KHR = gen8_CmdCopyImage2KHR,
4890     .vkCmdBlitImage2KHR = gen8_CmdBlitImage2KHR,
4891     .vkCmdCopyBufferToImage2KHR = gen8_CmdCopyBufferToImage2KHR,
4892     .vkCmdCopyImageToBuffer2KHR = gen8_CmdCopyImageToBuffer2KHR,
4893     .vkCmdResolveImage2KHR = gen8_CmdResolveImage2KHR,
4894     .vkCreateDmaBufImageINTEL = gen8_CreateDmaBufImageINTEL,
4895   };
4896       PFN_vkVoidFunction gen9_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
4897       void gen9_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4898       void gen9_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
4899       VkResult gen9_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
4900       VkResult gen9_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
4901       VkResult gen9_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
4902       VkResult gen9_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
4903       void gen9_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4904       VkResult gen9_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
4905       void gen9_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
4906       VkResult gen9_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
4907       VkResult gen9_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
4908       void gen9_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
4909       void gen9_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
4910       VkResult gen9_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
4911       void gen9_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
4912       VkResult gen9_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
4913       void gen9_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
4914       VkResult gen9_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
4915       VkResult gen9_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
4916       void gen9_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4917       VkResult gen9_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
4918       VkResult gen9_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
4919       VkResult gen9_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
4920       VkResult gen9_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
4921       void gen9_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4922       VkResult gen9_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
4923       void gen9_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4924       VkResult gen9_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
4925       VkResult gen9_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
4926       VkResult gen9_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
4927       VkResult gen9_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
4928       void gen9_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4929       VkResult gen9_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
4930       void gen9_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
4931             VkResult gen9_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
4932       void gen9_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4933       VkResult gen9_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
4934       void gen9_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4935       VkResult gen9_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
4936       void gen9_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4937       void gen9_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
4938       VkResult gen9_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
4939       void gen9_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4940       VkResult gen9_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
4941       void gen9_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4942       VkResult gen9_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
4943       void gen9_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4944       VkResult gen9_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
4945       VkResult gen9_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
4946       VkResult gen9_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
4947       VkResult gen9_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
4948       void gen9_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4949       VkResult gen9_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
4950       void gen9_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4951       VkResult gen9_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
4952       void gen9_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4953       VkResult gen9_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
4954       void gen9_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4955       VkResult gen9_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
4956       void gen9_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4957       VkResult gen9_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
4958       VkResult gen9_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
4959       VkResult gen9_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
4960       void gen9_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
4961       VkResult gen9_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
4962       void gen9_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4963       VkResult gen9_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
4964       void gen9_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4965       void gen9_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
4966       VkResult gen9_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
4967       void gen9_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
4968       VkResult gen9_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
4969       VkResult gen9_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
4970       void gen9_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
4971       VkResult gen9_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
4972       VkResult gen9_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
4973       VkResult gen9_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
4974       void gen9_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
4975       void gen9_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
4976       void gen9_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
4977       void gen9_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
4978       void gen9_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
4979       void gen9_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
4980       void gen9_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
4981       void gen9_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
4982       void gen9_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
4983       void gen9_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
4984       void gen9_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) __attribute__ ((weak));
4985       void gen9_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
4986       void gen9_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
4987       void gen9_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
4988       void gen9_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
4989       void gen9_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
4990       void gen9_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
4991       void gen9_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
4992       void gen9_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
4993       void gen9_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
4994       void gen9_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
4995       void gen9_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
4996       void gen9_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
4997       void gen9_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
4998       void gen9_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
4999       void gen9_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
5000       void gen9_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
5001       void gen9_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
5002       void gen9_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
5003       void gen9_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
5004       void gen9_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
5005       void gen9_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
5006       void gen9_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
5007       void gen9_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
5008       void gen9_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
5009       void gen9_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
5010       void gen9_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) __attribute__ ((weak));
5011       void gen9_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) __attribute__ ((weak));
5012       void gen9_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
5013       void gen9_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
5014       void gen9_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
5015       void gen9_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
5016       void gen9_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
5017       void gen9_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
5018       void gen9_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
5019       void gen9_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
5020       VkResult gen9_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
5021       void gen9_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5022       VkResult gen9_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
5023       VkResult gen9_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
5024       VkResult gen9_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
5025       void gen9_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
5026       void gen9_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) __attribute__ ((weak));
5027             VkResult gen9_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
5028       VkResult gen9_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
5029       VkResult gen9_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
5030       VkResult gen9_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
5031       VkResult gen9_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
5032       VkResult gen9_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
5033       VkResult gen9_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) __attribute__ ((weak));
5034       VkResult gen9_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
5035       VkResult gen9_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
5036       VkResult gen9_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) __attribute__ ((weak));
5037       void gen9_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) __attribute__ ((weak));
5038             VkResult gen9_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) __attribute__ ((weak));
5039             VkResult gen9_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) __attribute__ ((weak));
5040             void gen9_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) __attribute__ ((weak));
5041             VkResult gen9_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) __attribute__ ((weak));
5042       VkResult gen9_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) __attribute__ ((weak));
5043       VkResult gen9_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) __attribute__ ((weak));
5044       void gen9_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
5045             VkResult gen9_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) __attribute__ ((weak));
5046             void gen9_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5047             void gen9_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
5048             void gen9_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
5049       void gen9_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
5050             void gen9_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
5051             void gen9_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) __attribute__ ((weak));
5052             VkResult gen9_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) __attribute__ ((weak));
5053             void gen9_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5054             void gen9_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) __attribute__ ((weak));
5055       void gen9_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) __attribute__ ((weak));
5056       #ifdef VK_USE_PLATFORM_ANDROID_KHR
5057       VkResult gen9_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
5058 #endif // VK_USE_PLATFORM_ANDROID_KHR
5059 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5060       VkResult gen9_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) __attribute__ ((weak));
5061 #endif // VK_USE_PLATFORM_ANDROID_KHR
5062 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5063       VkResult gen9_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
5064 #endif // VK_USE_PLATFORM_ANDROID_KHR
5065 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5066       VkResult gen9_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
5067 #endif // VK_USE_PLATFORM_ANDROID_KHR
5068       VkResult gen9_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) __attribute__ ((weak));
5069       VkResult gen9_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) __attribute__ ((weak));
5070       VkResult gen9_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
5071             void gen9_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo) __attribute__ ((weak));
5072             void gen9_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
5073             void gen9_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
5074             VkResult gen9_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) __attribute__ ((weak));
5075             VkResult gen9_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) __attribute__ ((weak));
5076             VkResult gen9_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) __attribute__ ((weak));
5077       #ifdef VK_USE_PLATFORM_ANDROID_KHR
5078       VkResult gen9_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) __attribute__ ((weak));
5079 #endif // VK_USE_PLATFORM_ANDROID_KHR
5080 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5081       VkResult gen9_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) __attribute__ ((weak));
5082 #endif // VK_USE_PLATFORM_ANDROID_KHR
5083       void gen9_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
5084             void gen9_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
5085             void gen9_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) __attribute__ ((weak));
5086       void gen9_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
5087       void gen9_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
5088       void gen9_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) __attribute__ ((weak));
5089       void gen9_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) __attribute__ ((weak));
5090       void gen9_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) __attribute__ ((weak));
5091       VkResult gen9_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) __attribute__ ((weak));
5092       void gen9_ReleaseProfilingLockKHR(VkDevice device) __attribute__ ((weak));
5093       VkResult gen9_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) __attribute__ ((weak));
5094       uint64_t gen9_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
5095             VkDeviceAddress gen9_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
5096                   VkResult gen9_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) __attribute__ ((weak));
5097       void gen9_UninitializePerformanceApiINTEL(VkDevice device) __attribute__ ((weak));
5098       VkResult gen9_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
5099       VkResult gen9_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
5100       VkResult gen9_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) __attribute__ ((weak));
5101       VkResult gen9_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) __attribute__ ((weak));
5102       VkResult gen9_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
5103       VkResult gen9_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
5104       VkResult gen9_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) __attribute__ ((weak));
5105       uint64_t gen9_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) __attribute__ ((weak));
5106             VkResult gen9_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) __attribute__ ((weak));
5107       VkResult gen9_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) __attribute__ ((weak));
5108       VkResult gen9_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) __attribute__ ((weak));
5109       void gen9_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) __attribute__ ((weak));
5110       void gen9_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) __attribute__ ((weak));
5111       void gen9_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) __attribute__ ((weak));
5112       void gen9_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) __attribute__ ((weak));
5113       void gen9_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
5114       void gen9_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
5115       void gen9_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) __attribute__ ((weak));
5116       void gen9_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) __attribute__ ((weak));
5117       void gen9_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) __attribute__ ((weak));
5118       void gen9_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) __attribute__ ((weak));
5119       void gen9_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) __attribute__ ((weak));
5120       void gen9_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) __attribute__ ((weak));
5121       void gen9_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) __attribute__ ((weak));
5122       VkResult gen9_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) __attribute__ ((weak));
5123       void gen9_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5124       VkResult gen9_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) __attribute__ ((weak));
5125       void gen9_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) __attribute__ ((weak));
5126       void gen9_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) __attribute__ ((weak));
5127       void gen9_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) __attribute__ ((weak));
5128       void gen9_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) __attribute__ ((weak));
5129       void gen9_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) __attribute__ ((weak));
5130       void gen9_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) __attribute__ ((weak));
5131       void gen9_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) __attribute__ ((weak));
5132       VkResult gen9_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
5133 
5134   const struct anv_device_dispatch_table gen9_device_dispatch_table = {
5135     .vkGetDeviceProcAddr = gen9_GetDeviceProcAddr,
5136     .vkDestroyDevice = gen9_DestroyDevice,
5137     .vkGetDeviceQueue = gen9_GetDeviceQueue,
5138     .vkQueueSubmit = gen9_QueueSubmit,
5139     .vkQueueWaitIdle = gen9_QueueWaitIdle,
5140     .vkDeviceWaitIdle = gen9_DeviceWaitIdle,
5141     .vkAllocateMemory = gen9_AllocateMemory,
5142     .vkFreeMemory = gen9_FreeMemory,
5143     .vkMapMemory = gen9_MapMemory,
5144     .vkUnmapMemory = gen9_UnmapMemory,
5145     .vkFlushMappedMemoryRanges = gen9_FlushMappedMemoryRanges,
5146     .vkInvalidateMappedMemoryRanges = gen9_InvalidateMappedMemoryRanges,
5147     .vkGetDeviceMemoryCommitment = gen9_GetDeviceMemoryCommitment,
5148     .vkGetBufferMemoryRequirements = gen9_GetBufferMemoryRequirements,
5149     .vkBindBufferMemory = gen9_BindBufferMemory,
5150     .vkGetImageMemoryRequirements = gen9_GetImageMemoryRequirements,
5151     .vkBindImageMemory = gen9_BindImageMemory,
5152     .vkGetImageSparseMemoryRequirements = gen9_GetImageSparseMemoryRequirements,
5153     .vkQueueBindSparse = gen9_QueueBindSparse,
5154     .vkCreateFence = gen9_CreateFence,
5155     .vkDestroyFence = gen9_DestroyFence,
5156     .vkResetFences = gen9_ResetFences,
5157     .vkGetFenceStatus = gen9_GetFenceStatus,
5158     .vkWaitForFences = gen9_WaitForFences,
5159     .vkCreateSemaphore = gen9_CreateSemaphore,
5160     .vkDestroySemaphore = gen9_DestroySemaphore,
5161     .vkCreateEvent = gen9_CreateEvent,
5162     .vkDestroyEvent = gen9_DestroyEvent,
5163     .vkGetEventStatus = gen9_GetEventStatus,
5164     .vkSetEvent = gen9_SetEvent,
5165     .vkResetEvent = gen9_ResetEvent,
5166     .vkCreateQueryPool = gen9_CreateQueryPool,
5167     .vkDestroyQueryPool = gen9_DestroyQueryPool,
5168     .vkGetQueryPoolResults = gen9_GetQueryPoolResults,
5169     .vkResetQueryPool = gen9_ResetQueryPool,
5170     .vkResetQueryPoolEXT = gen9_ResetQueryPool,
5171     .vkCreateBuffer = gen9_CreateBuffer,
5172     .vkDestroyBuffer = gen9_DestroyBuffer,
5173     .vkCreateBufferView = gen9_CreateBufferView,
5174     .vkDestroyBufferView = gen9_DestroyBufferView,
5175     .vkCreateImage = gen9_CreateImage,
5176     .vkDestroyImage = gen9_DestroyImage,
5177     .vkGetImageSubresourceLayout = gen9_GetImageSubresourceLayout,
5178     .vkCreateImageView = gen9_CreateImageView,
5179     .vkDestroyImageView = gen9_DestroyImageView,
5180     .vkCreateShaderModule = gen9_CreateShaderModule,
5181     .vkDestroyShaderModule = gen9_DestroyShaderModule,
5182     .vkCreatePipelineCache = gen9_CreatePipelineCache,
5183     .vkDestroyPipelineCache = gen9_DestroyPipelineCache,
5184     .vkGetPipelineCacheData = gen9_GetPipelineCacheData,
5185     .vkMergePipelineCaches = gen9_MergePipelineCaches,
5186     .vkCreateGraphicsPipelines = gen9_CreateGraphicsPipelines,
5187     .vkCreateComputePipelines = gen9_CreateComputePipelines,
5188     .vkDestroyPipeline = gen9_DestroyPipeline,
5189     .vkCreatePipelineLayout = gen9_CreatePipelineLayout,
5190     .vkDestroyPipelineLayout = gen9_DestroyPipelineLayout,
5191     .vkCreateSampler = gen9_CreateSampler,
5192     .vkDestroySampler = gen9_DestroySampler,
5193     .vkCreateDescriptorSetLayout = gen9_CreateDescriptorSetLayout,
5194     .vkDestroyDescriptorSetLayout = gen9_DestroyDescriptorSetLayout,
5195     .vkCreateDescriptorPool = gen9_CreateDescriptorPool,
5196     .vkDestroyDescriptorPool = gen9_DestroyDescriptorPool,
5197     .vkResetDescriptorPool = gen9_ResetDescriptorPool,
5198     .vkAllocateDescriptorSets = gen9_AllocateDescriptorSets,
5199     .vkFreeDescriptorSets = gen9_FreeDescriptorSets,
5200     .vkUpdateDescriptorSets = gen9_UpdateDescriptorSets,
5201     .vkCreateFramebuffer = gen9_CreateFramebuffer,
5202     .vkDestroyFramebuffer = gen9_DestroyFramebuffer,
5203     .vkCreateRenderPass = gen9_CreateRenderPass,
5204     .vkDestroyRenderPass = gen9_DestroyRenderPass,
5205     .vkGetRenderAreaGranularity = gen9_GetRenderAreaGranularity,
5206     .vkCreateCommandPool = gen9_CreateCommandPool,
5207     .vkDestroyCommandPool = gen9_DestroyCommandPool,
5208     .vkResetCommandPool = gen9_ResetCommandPool,
5209     .vkAllocateCommandBuffers = gen9_AllocateCommandBuffers,
5210     .vkFreeCommandBuffers = gen9_FreeCommandBuffers,
5211     .vkBeginCommandBuffer = gen9_BeginCommandBuffer,
5212     .vkEndCommandBuffer = gen9_EndCommandBuffer,
5213     .vkResetCommandBuffer = gen9_ResetCommandBuffer,
5214     .vkCmdBindPipeline = gen9_CmdBindPipeline,
5215     .vkCmdSetViewport = gen9_CmdSetViewport,
5216     .vkCmdSetScissor = gen9_CmdSetScissor,
5217     .vkCmdSetLineWidth = gen9_CmdSetLineWidth,
5218     .vkCmdSetDepthBias = gen9_CmdSetDepthBias,
5219     .vkCmdSetBlendConstants = gen9_CmdSetBlendConstants,
5220     .vkCmdSetDepthBounds = gen9_CmdSetDepthBounds,
5221     .vkCmdSetStencilCompareMask = gen9_CmdSetStencilCompareMask,
5222     .vkCmdSetStencilWriteMask = gen9_CmdSetStencilWriteMask,
5223     .vkCmdSetStencilReference = gen9_CmdSetStencilReference,
5224     .vkCmdBindDescriptorSets = gen9_CmdBindDescriptorSets,
5225     .vkCmdBindIndexBuffer = gen9_CmdBindIndexBuffer,
5226     .vkCmdBindVertexBuffers = gen9_CmdBindVertexBuffers,
5227     .vkCmdDraw = gen9_CmdDraw,
5228     .vkCmdDrawIndexed = gen9_CmdDrawIndexed,
5229     .vkCmdDrawIndirect = gen9_CmdDrawIndirect,
5230     .vkCmdDrawIndexedIndirect = gen9_CmdDrawIndexedIndirect,
5231     .vkCmdDispatch = gen9_CmdDispatch,
5232     .vkCmdDispatchIndirect = gen9_CmdDispatchIndirect,
5233     .vkCmdCopyBuffer = gen9_CmdCopyBuffer,
5234     .vkCmdCopyImage = gen9_CmdCopyImage,
5235     .vkCmdBlitImage = gen9_CmdBlitImage,
5236     .vkCmdCopyBufferToImage = gen9_CmdCopyBufferToImage,
5237     .vkCmdCopyImageToBuffer = gen9_CmdCopyImageToBuffer,
5238     .vkCmdUpdateBuffer = gen9_CmdUpdateBuffer,
5239     .vkCmdFillBuffer = gen9_CmdFillBuffer,
5240     .vkCmdClearColorImage = gen9_CmdClearColorImage,
5241     .vkCmdClearDepthStencilImage = gen9_CmdClearDepthStencilImage,
5242     .vkCmdClearAttachments = gen9_CmdClearAttachments,
5243     .vkCmdResolveImage = gen9_CmdResolveImage,
5244     .vkCmdSetEvent = gen9_CmdSetEvent,
5245     .vkCmdResetEvent = gen9_CmdResetEvent,
5246     .vkCmdWaitEvents = gen9_CmdWaitEvents,
5247     .vkCmdPipelineBarrier = gen9_CmdPipelineBarrier,
5248     .vkCmdBeginQuery = gen9_CmdBeginQuery,
5249     .vkCmdEndQuery = gen9_CmdEndQuery,
5250     .vkCmdBeginConditionalRenderingEXT = gen9_CmdBeginConditionalRenderingEXT,
5251     .vkCmdEndConditionalRenderingEXT = gen9_CmdEndConditionalRenderingEXT,
5252     .vkCmdResetQueryPool = gen9_CmdResetQueryPool,
5253     .vkCmdWriteTimestamp = gen9_CmdWriteTimestamp,
5254     .vkCmdCopyQueryPoolResults = gen9_CmdCopyQueryPoolResults,
5255     .vkCmdPushConstants = gen9_CmdPushConstants,
5256     .vkCmdBeginRenderPass = gen9_CmdBeginRenderPass,
5257     .vkCmdNextSubpass = gen9_CmdNextSubpass,
5258     .vkCmdEndRenderPass = gen9_CmdEndRenderPass,
5259     .vkCmdExecuteCommands = gen9_CmdExecuteCommands,
5260     .vkCreateSwapchainKHR = gen9_CreateSwapchainKHR,
5261     .vkDestroySwapchainKHR = gen9_DestroySwapchainKHR,
5262     .vkGetSwapchainImagesKHR = gen9_GetSwapchainImagesKHR,
5263     .vkAcquireNextImageKHR = gen9_AcquireNextImageKHR,
5264     .vkQueuePresentKHR = gen9_QueuePresentKHR,
5265     .vkCmdPushDescriptorSetKHR = gen9_CmdPushDescriptorSetKHR,
5266     .vkTrimCommandPool = gen9_TrimCommandPool,
5267     .vkTrimCommandPoolKHR = gen9_TrimCommandPool,
5268     .vkGetMemoryFdKHR = gen9_GetMemoryFdKHR,
5269     .vkGetMemoryFdPropertiesKHR = gen9_GetMemoryFdPropertiesKHR,
5270     .vkGetSemaphoreFdKHR = gen9_GetSemaphoreFdKHR,
5271     .vkImportSemaphoreFdKHR = gen9_ImportSemaphoreFdKHR,
5272     .vkGetFenceFdKHR = gen9_GetFenceFdKHR,
5273     .vkImportFenceFdKHR = gen9_ImportFenceFdKHR,
5274     .vkDisplayPowerControlEXT = gen9_DisplayPowerControlEXT,
5275     .vkRegisterDeviceEventEXT = gen9_RegisterDeviceEventEXT,
5276     .vkRegisterDisplayEventEXT = gen9_RegisterDisplayEventEXT,
5277     .vkGetSwapchainCounterEXT = gen9_GetSwapchainCounterEXT,
5278     .vkGetDeviceGroupPeerMemoryFeatures = gen9_GetDeviceGroupPeerMemoryFeatures,
5279     .vkGetDeviceGroupPeerMemoryFeaturesKHR = gen9_GetDeviceGroupPeerMemoryFeatures,
5280     .vkBindBufferMemory2 = gen9_BindBufferMemory2,
5281     .vkBindBufferMemory2KHR = gen9_BindBufferMemory2,
5282     .vkBindImageMemory2 = gen9_BindImageMemory2,
5283     .vkBindImageMemory2KHR = gen9_BindImageMemory2,
5284     .vkCmdSetDeviceMask = gen9_CmdSetDeviceMask,
5285     .vkCmdSetDeviceMaskKHR = gen9_CmdSetDeviceMask,
5286     .vkGetDeviceGroupPresentCapabilitiesKHR = gen9_GetDeviceGroupPresentCapabilitiesKHR,
5287     .vkGetDeviceGroupSurfacePresentModesKHR = gen9_GetDeviceGroupSurfacePresentModesKHR,
5288     .vkAcquireNextImage2KHR = gen9_AcquireNextImage2KHR,
5289     .vkCmdDispatchBase = gen9_CmdDispatchBase,
5290     .vkCmdDispatchBaseKHR = gen9_CmdDispatchBase,
5291     .vkCreateDescriptorUpdateTemplate = gen9_CreateDescriptorUpdateTemplate,
5292     .vkCreateDescriptorUpdateTemplateKHR = gen9_CreateDescriptorUpdateTemplate,
5293     .vkDestroyDescriptorUpdateTemplate = gen9_DestroyDescriptorUpdateTemplate,
5294     .vkDestroyDescriptorUpdateTemplateKHR = gen9_DestroyDescriptorUpdateTemplate,
5295     .vkUpdateDescriptorSetWithTemplate = gen9_UpdateDescriptorSetWithTemplate,
5296     .vkUpdateDescriptorSetWithTemplateKHR = gen9_UpdateDescriptorSetWithTemplate,
5297     .vkCmdPushDescriptorSetWithTemplateKHR = gen9_CmdPushDescriptorSetWithTemplateKHR,
5298     .vkGetBufferMemoryRequirements2 = gen9_GetBufferMemoryRequirements2,
5299     .vkGetBufferMemoryRequirements2KHR = gen9_GetBufferMemoryRequirements2,
5300     .vkGetImageMemoryRequirements2 = gen9_GetImageMemoryRequirements2,
5301     .vkGetImageMemoryRequirements2KHR = gen9_GetImageMemoryRequirements2,
5302     .vkGetImageSparseMemoryRequirements2 = gen9_GetImageSparseMemoryRequirements2,
5303     .vkGetImageSparseMemoryRequirements2KHR = gen9_GetImageSparseMemoryRequirements2,
5304     .vkCreateSamplerYcbcrConversion = gen9_CreateSamplerYcbcrConversion,
5305     .vkCreateSamplerYcbcrConversionKHR = gen9_CreateSamplerYcbcrConversion,
5306     .vkDestroySamplerYcbcrConversion = gen9_DestroySamplerYcbcrConversion,
5307     .vkDestroySamplerYcbcrConversionKHR = gen9_DestroySamplerYcbcrConversion,
5308     .vkGetDeviceQueue2 = gen9_GetDeviceQueue2,
5309     .vkGetDescriptorSetLayoutSupport = gen9_GetDescriptorSetLayoutSupport,
5310     .vkGetDescriptorSetLayoutSupportKHR = gen9_GetDescriptorSetLayoutSupport,
5311 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5312     .vkGetSwapchainGrallocUsageANDROID = gen9_GetSwapchainGrallocUsageANDROID,
5313 #endif // VK_USE_PLATFORM_ANDROID_KHR
5314 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5315     .vkGetSwapchainGrallocUsage2ANDROID = gen9_GetSwapchainGrallocUsage2ANDROID,
5316 #endif // VK_USE_PLATFORM_ANDROID_KHR
5317 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5318     .vkAcquireImageANDROID = gen9_AcquireImageANDROID,
5319 #endif // VK_USE_PLATFORM_ANDROID_KHR
5320 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5321     .vkQueueSignalReleaseImageANDROID = gen9_QueueSignalReleaseImageANDROID,
5322 #endif // VK_USE_PLATFORM_ANDROID_KHR
5323     .vkGetCalibratedTimestampsEXT = gen9_GetCalibratedTimestampsEXT,
5324     .vkGetMemoryHostPointerPropertiesEXT = gen9_GetMemoryHostPointerPropertiesEXT,
5325     .vkCreateRenderPass2 = gen9_CreateRenderPass2,
5326     .vkCreateRenderPass2KHR = gen9_CreateRenderPass2,
5327     .vkCmdBeginRenderPass2 = gen9_CmdBeginRenderPass2,
5328     .vkCmdBeginRenderPass2KHR = gen9_CmdBeginRenderPass2,
5329     .vkCmdNextSubpass2 = gen9_CmdNextSubpass2,
5330     .vkCmdNextSubpass2KHR = gen9_CmdNextSubpass2,
5331     .vkCmdEndRenderPass2 = gen9_CmdEndRenderPass2,
5332     .vkCmdEndRenderPass2KHR = gen9_CmdEndRenderPass2,
5333     .vkGetSemaphoreCounterValue = gen9_GetSemaphoreCounterValue,
5334     .vkGetSemaphoreCounterValueKHR = gen9_GetSemaphoreCounterValue,
5335     .vkWaitSemaphores = gen9_WaitSemaphores,
5336     .vkWaitSemaphoresKHR = gen9_WaitSemaphores,
5337     .vkSignalSemaphore = gen9_SignalSemaphore,
5338     .vkSignalSemaphoreKHR = gen9_SignalSemaphore,
5339 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5340     .vkGetAndroidHardwareBufferPropertiesANDROID = gen9_GetAndroidHardwareBufferPropertiesANDROID,
5341 #endif // VK_USE_PLATFORM_ANDROID_KHR
5342 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5343     .vkGetMemoryAndroidHardwareBufferANDROID = gen9_GetMemoryAndroidHardwareBufferANDROID,
5344 #endif // VK_USE_PLATFORM_ANDROID_KHR
5345     .vkCmdDrawIndirectCount = gen9_CmdDrawIndirectCount,
5346     .vkCmdDrawIndirectCountKHR = gen9_CmdDrawIndirectCount,
5347     .vkCmdDrawIndexedIndirectCount = gen9_CmdDrawIndexedIndirectCount,
5348     .vkCmdDrawIndexedIndirectCountKHR = gen9_CmdDrawIndexedIndirectCount,
5349     .vkCmdBindTransformFeedbackBuffersEXT = gen9_CmdBindTransformFeedbackBuffersEXT,
5350     .vkCmdBeginTransformFeedbackEXT = gen9_CmdBeginTransformFeedbackEXT,
5351     .vkCmdEndTransformFeedbackEXT = gen9_CmdEndTransformFeedbackEXT,
5352     .vkCmdBeginQueryIndexedEXT = gen9_CmdBeginQueryIndexedEXT,
5353     .vkCmdEndQueryIndexedEXT = gen9_CmdEndQueryIndexedEXT,
5354     .vkCmdDrawIndirectByteCountEXT = gen9_CmdDrawIndirectByteCountEXT,
5355     .vkAcquireProfilingLockKHR = gen9_AcquireProfilingLockKHR,
5356     .vkReleaseProfilingLockKHR = gen9_ReleaseProfilingLockKHR,
5357     .vkGetImageDrmFormatModifierPropertiesEXT = gen9_GetImageDrmFormatModifierPropertiesEXT,
5358     .vkGetBufferOpaqueCaptureAddress = gen9_GetBufferOpaqueCaptureAddress,
5359     .vkGetBufferOpaqueCaptureAddressKHR = gen9_GetBufferOpaqueCaptureAddress,
5360     .vkGetBufferDeviceAddress = gen9_GetBufferDeviceAddress,
5361     .vkGetBufferDeviceAddressKHR = gen9_GetBufferDeviceAddress,
5362     .vkGetBufferDeviceAddressEXT = gen9_GetBufferDeviceAddress,
5363     .vkInitializePerformanceApiINTEL = gen9_InitializePerformanceApiINTEL,
5364     .vkUninitializePerformanceApiINTEL = gen9_UninitializePerformanceApiINTEL,
5365     .vkCmdSetPerformanceMarkerINTEL = gen9_CmdSetPerformanceMarkerINTEL,
5366     .vkCmdSetPerformanceStreamMarkerINTEL = gen9_CmdSetPerformanceStreamMarkerINTEL,
5367     .vkCmdSetPerformanceOverrideINTEL = gen9_CmdSetPerformanceOverrideINTEL,
5368     .vkAcquirePerformanceConfigurationINTEL = gen9_AcquirePerformanceConfigurationINTEL,
5369     .vkReleasePerformanceConfigurationINTEL = gen9_ReleasePerformanceConfigurationINTEL,
5370     .vkQueueSetPerformanceConfigurationINTEL = gen9_QueueSetPerformanceConfigurationINTEL,
5371     .vkGetPerformanceParameterINTEL = gen9_GetPerformanceParameterINTEL,
5372     .vkGetDeviceMemoryOpaqueCaptureAddress = gen9_GetDeviceMemoryOpaqueCaptureAddress,
5373     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = gen9_GetDeviceMemoryOpaqueCaptureAddress,
5374     .vkGetPipelineExecutablePropertiesKHR = gen9_GetPipelineExecutablePropertiesKHR,
5375     .vkGetPipelineExecutableStatisticsKHR = gen9_GetPipelineExecutableStatisticsKHR,
5376     .vkGetPipelineExecutableInternalRepresentationsKHR = gen9_GetPipelineExecutableInternalRepresentationsKHR,
5377     .vkCmdSetLineStippleEXT = gen9_CmdSetLineStippleEXT,
5378     .vkCmdSetCullModeEXT = gen9_CmdSetCullModeEXT,
5379     .vkCmdSetFrontFaceEXT = gen9_CmdSetFrontFaceEXT,
5380     .vkCmdSetPrimitiveTopologyEXT = gen9_CmdSetPrimitiveTopologyEXT,
5381     .vkCmdSetViewportWithCountEXT = gen9_CmdSetViewportWithCountEXT,
5382     .vkCmdSetScissorWithCountEXT = gen9_CmdSetScissorWithCountEXT,
5383     .vkCmdBindVertexBuffers2EXT = gen9_CmdBindVertexBuffers2EXT,
5384     .vkCmdSetDepthTestEnableEXT = gen9_CmdSetDepthTestEnableEXT,
5385     .vkCmdSetDepthWriteEnableEXT = gen9_CmdSetDepthWriteEnableEXT,
5386     .vkCmdSetDepthCompareOpEXT = gen9_CmdSetDepthCompareOpEXT,
5387     .vkCmdSetDepthBoundsTestEnableEXT = gen9_CmdSetDepthBoundsTestEnableEXT,
5388     .vkCmdSetStencilTestEnableEXT = gen9_CmdSetStencilTestEnableEXT,
5389     .vkCmdSetStencilOpEXT = gen9_CmdSetStencilOpEXT,
5390     .vkCreatePrivateDataSlotEXT = gen9_CreatePrivateDataSlotEXT,
5391     .vkDestroyPrivateDataSlotEXT = gen9_DestroyPrivateDataSlotEXT,
5392     .vkSetPrivateDataEXT = gen9_SetPrivateDataEXT,
5393     .vkGetPrivateDataEXT = gen9_GetPrivateDataEXT,
5394     .vkCmdCopyBuffer2KHR = gen9_CmdCopyBuffer2KHR,
5395     .vkCmdCopyImage2KHR = gen9_CmdCopyImage2KHR,
5396     .vkCmdBlitImage2KHR = gen9_CmdBlitImage2KHR,
5397     .vkCmdCopyBufferToImage2KHR = gen9_CmdCopyBufferToImage2KHR,
5398     .vkCmdCopyImageToBuffer2KHR = gen9_CmdCopyImageToBuffer2KHR,
5399     .vkCmdResolveImage2KHR = gen9_CmdResolveImage2KHR,
5400     .vkCreateDmaBufImageINTEL = gen9_CreateDmaBufImageINTEL,
5401   };
5402       PFN_vkVoidFunction gen11_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
5403       void gen11_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5404       void gen11_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
5405       VkResult gen11_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
5406       VkResult gen11_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
5407       VkResult gen11_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
5408       VkResult gen11_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
5409       void gen11_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5410       VkResult gen11_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
5411       void gen11_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
5412       VkResult gen11_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
5413       VkResult gen11_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
5414       void gen11_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
5415       void gen11_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
5416       VkResult gen11_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
5417       void gen11_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
5418       VkResult gen11_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
5419       void gen11_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
5420       VkResult gen11_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
5421       VkResult gen11_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
5422       void gen11_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5423       VkResult gen11_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
5424       VkResult gen11_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
5425       VkResult gen11_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
5426       VkResult gen11_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
5427       void gen11_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5428       VkResult gen11_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
5429       void gen11_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5430       VkResult gen11_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
5431       VkResult gen11_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
5432       VkResult gen11_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
5433       VkResult gen11_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
5434       void gen11_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5435       VkResult gen11_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
5436       void gen11_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
5437             VkResult gen11_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
5438       void gen11_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5439       VkResult gen11_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
5440       void gen11_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5441       VkResult gen11_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
5442       void gen11_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5443       void gen11_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
5444       VkResult gen11_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
5445       void gen11_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5446       VkResult gen11_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
5447       void gen11_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5448       VkResult gen11_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
5449       void gen11_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5450       VkResult gen11_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
5451       VkResult gen11_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
5452       VkResult gen11_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
5453       VkResult gen11_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
5454       void gen11_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5455       VkResult gen11_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
5456       void gen11_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5457       VkResult gen11_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
5458       void gen11_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5459       VkResult gen11_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
5460       void gen11_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5461       VkResult gen11_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
5462       void gen11_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5463       VkResult gen11_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
5464       VkResult gen11_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
5465       VkResult gen11_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
5466       void gen11_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
5467       VkResult gen11_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
5468       void gen11_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5469       VkResult gen11_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
5470       void gen11_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5471       void gen11_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
5472       VkResult gen11_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
5473       void gen11_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5474       VkResult gen11_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
5475       VkResult gen11_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
5476       void gen11_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
5477       VkResult gen11_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
5478       VkResult gen11_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
5479       VkResult gen11_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
5480       void gen11_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
5481       void gen11_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
5482       void gen11_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
5483       void gen11_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
5484       void gen11_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
5485       void gen11_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
5486       void gen11_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
5487       void gen11_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
5488       void gen11_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
5489       void gen11_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
5490       void gen11_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) __attribute__ ((weak));
5491       void gen11_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
5492       void gen11_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
5493       void gen11_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
5494       void gen11_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
5495       void gen11_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
5496       void gen11_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
5497       void gen11_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
5498       void gen11_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
5499       void gen11_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
5500       void gen11_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
5501       void gen11_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
5502       void gen11_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
5503       void gen11_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
5504       void gen11_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
5505       void gen11_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
5506       void gen11_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
5507       void gen11_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
5508       void gen11_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
5509       void gen11_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
5510       void gen11_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
5511       void gen11_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
5512       void gen11_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
5513       void gen11_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
5514       void gen11_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
5515       void gen11_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
5516       void gen11_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) __attribute__ ((weak));
5517       void gen11_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) __attribute__ ((weak));
5518       void gen11_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
5519       void gen11_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
5520       void gen11_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
5521       void gen11_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
5522       void gen11_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
5523       void gen11_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
5524       void gen11_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
5525       void gen11_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
5526       VkResult gen11_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
5527       void gen11_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5528       VkResult gen11_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
5529       VkResult gen11_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
5530       VkResult gen11_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
5531       void gen11_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
5532       void gen11_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) __attribute__ ((weak));
5533             VkResult gen11_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
5534       VkResult gen11_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
5535       VkResult gen11_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
5536       VkResult gen11_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
5537       VkResult gen11_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
5538       VkResult gen11_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
5539       VkResult gen11_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) __attribute__ ((weak));
5540       VkResult gen11_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
5541       VkResult gen11_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
5542       VkResult gen11_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) __attribute__ ((weak));
5543       void gen11_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) __attribute__ ((weak));
5544             VkResult gen11_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) __attribute__ ((weak));
5545             VkResult gen11_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) __attribute__ ((weak));
5546             void gen11_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) __attribute__ ((weak));
5547             VkResult gen11_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) __attribute__ ((weak));
5548       VkResult gen11_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) __attribute__ ((weak));
5549       VkResult gen11_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) __attribute__ ((weak));
5550       void gen11_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
5551             VkResult gen11_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) __attribute__ ((weak));
5552             void gen11_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5553             void gen11_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
5554             void gen11_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
5555       void gen11_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
5556             void gen11_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
5557             void gen11_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) __attribute__ ((weak));
5558             VkResult gen11_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) __attribute__ ((weak));
5559             void gen11_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5560             void gen11_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) __attribute__ ((weak));
5561       void gen11_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) __attribute__ ((weak));
5562       #ifdef VK_USE_PLATFORM_ANDROID_KHR
5563       VkResult gen11_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
5564 #endif // VK_USE_PLATFORM_ANDROID_KHR
5565 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5566       VkResult gen11_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) __attribute__ ((weak));
5567 #endif // VK_USE_PLATFORM_ANDROID_KHR
5568 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5569       VkResult gen11_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
5570 #endif // VK_USE_PLATFORM_ANDROID_KHR
5571 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5572       VkResult gen11_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
5573 #endif // VK_USE_PLATFORM_ANDROID_KHR
5574       VkResult gen11_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) __attribute__ ((weak));
5575       VkResult gen11_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) __attribute__ ((weak));
5576       VkResult gen11_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
5577             void gen11_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo) __attribute__ ((weak));
5578             void gen11_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
5579             void gen11_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
5580             VkResult gen11_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) __attribute__ ((weak));
5581             VkResult gen11_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) __attribute__ ((weak));
5582             VkResult gen11_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) __attribute__ ((weak));
5583       #ifdef VK_USE_PLATFORM_ANDROID_KHR
5584       VkResult gen11_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) __attribute__ ((weak));
5585 #endif // VK_USE_PLATFORM_ANDROID_KHR
5586 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5587       VkResult gen11_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) __attribute__ ((weak));
5588 #endif // VK_USE_PLATFORM_ANDROID_KHR
5589       void gen11_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
5590             void gen11_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
5591             void gen11_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) __attribute__ ((weak));
5592       void gen11_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
5593       void gen11_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
5594       void gen11_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) __attribute__ ((weak));
5595       void gen11_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) __attribute__ ((weak));
5596       void gen11_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) __attribute__ ((weak));
5597       VkResult gen11_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) __attribute__ ((weak));
5598       void gen11_ReleaseProfilingLockKHR(VkDevice device) __attribute__ ((weak));
5599       VkResult gen11_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) __attribute__ ((weak));
5600       uint64_t gen11_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
5601             VkDeviceAddress gen11_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
5602                   VkResult gen11_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) __attribute__ ((weak));
5603       void gen11_UninitializePerformanceApiINTEL(VkDevice device) __attribute__ ((weak));
5604       VkResult gen11_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
5605       VkResult gen11_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
5606       VkResult gen11_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) __attribute__ ((weak));
5607       VkResult gen11_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) __attribute__ ((weak));
5608       VkResult gen11_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
5609       VkResult gen11_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
5610       VkResult gen11_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) __attribute__ ((weak));
5611       uint64_t gen11_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) __attribute__ ((weak));
5612             VkResult gen11_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) __attribute__ ((weak));
5613       VkResult gen11_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) __attribute__ ((weak));
5614       VkResult gen11_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) __attribute__ ((weak));
5615       void gen11_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) __attribute__ ((weak));
5616       void gen11_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) __attribute__ ((weak));
5617       void gen11_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) __attribute__ ((weak));
5618       void gen11_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) __attribute__ ((weak));
5619       void gen11_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
5620       void gen11_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
5621       void gen11_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) __attribute__ ((weak));
5622       void gen11_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) __attribute__ ((weak));
5623       void gen11_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) __attribute__ ((weak));
5624       void gen11_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) __attribute__ ((weak));
5625       void gen11_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) __attribute__ ((weak));
5626       void gen11_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) __attribute__ ((weak));
5627       void gen11_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) __attribute__ ((weak));
5628       VkResult gen11_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) __attribute__ ((weak));
5629       void gen11_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5630       VkResult gen11_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) __attribute__ ((weak));
5631       void gen11_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) __attribute__ ((weak));
5632       void gen11_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) __attribute__ ((weak));
5633       void gen11_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) __attribute__ ((weak));
5634       void gen11_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) __attribute__ ((weak));
5635       void gen11_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) __attribute__ ((weak));
5636       void gen11_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) __attribute__ ((weak));
5637       void gen11_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) __attribute__ ((weak));
5638       VkResult gen11_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
5639 
5640   const struct anv_device_dispatch_table gen11_device_dispatch_table = {
5641     .vkGetDeviceProcAddr = gen11_GetDeviceProcAddr,
5642     .vkDestroyDevice = gen11_DestroyDevice,
5643     .vkGetDeviceQueue = gen11_GetDeviceQueue,
5644     .vkQueueSubmit = gen11_QueueSubmit,
5645     .vkQueueWaitIdle = gen11_QueueWaitIdle,
5646     .vkDeviceWaitIdle = gen11_DeviceWaitIdle,
5647     .vkAllocateMemory = gen11_AllocateMemory,
5648     .vkFreeMemory = gen11_FreeMemory,
5649     .vkMapMemory = gen11_MapMemory,
5650     .vkUnmapMemory = gen11_UnmapMemory,
5651     .vkFlushMappedMemoryRanges = gen11_FlushMappedMemoryRanges,
5652     .vkInvalidateMappedMemoryRanges = gen11_InvalidateMappedMemoryRanges,
5653     .vkGetDeviceMemoryCommitment = gen11_GetDeviceMemoryCommitment,
5654     .vkGetBufferMemoryRequirements = gen11_GetBufferMemoryRequirements,
5655     .vkBindBufferMemory = gen11_BindBufferMemory,
5656     .vkGetImageMemoryRequirements = gen11_GetImageMemoryRequirements,
5657     .vkBindImageMemory = gen11_BindImageMemory,
5658     .vkGetImageSparseMemoryRequirements = gen11_GetImageSparseMemoryRequirements,
5659     .vkQueueBindSparse = gen11_QueueBindSparse,
5660     .vkCreateFence = gen11_CreateFence,
5661     .vkDestroyFence = gen11_DestroyFence,
5662     .vkResetFences = gen11_ResetFences,
5663     .vkGetFenceStatus = gen11_GetFenceStatus,
5664     .vkWaitForFences = gen11_WaitForFences,
5665     .vkCreateSemaphore = gen11_CreateSemaphore,
5666     .vkDestroySemaphore = gen11_DestroySemaphore,
5667     .vkCreateEvent = gen11_CreateEvent,
5668     .vkDestroyEvent = gen11_DestroyEvent,
5669     .vkGetEventStatus = gen11_GetEventStatus,
5670     .vkSetEvent = gen11_SetEvent,
5671     .vkResetEvent = gen11_ResetEvent,
5672     .vkCreateQueryPool = gen11_CreateQueryPool,
5673     .vkDestroyQueryPool = gen11_DestroyQueryPool,
5674     .vkGetQueryPoolResults = gen11_GetQueryPoolResults,
5675     .vkResetQueryPool = gen11_ResetQueryPool,
5676     .vkResetQueryPoolEXT = gen11_ResetQueryPool,
5677     .vkCreateBuffer = gen11_CreateBuffer,
5678     .vkDestroyBuffer = gen11_DestroyBuffer,
5679     .vkCreateBufferView = gen11_CreateBufferView,
5680     .vkDestroyBufferView = gen11_DestroyBufferView,
5681     .vkCreateImage = gen11_CreateImage,
5682     .vkDestroyImage = gen11_DestroyImage,
5683     .vkGetImageSubresourceLayout = gen11_GetImageSubresourceLayout,
5684     .vkCreateImageView = gen11_CreateImageView,
5685     .vkDestroyImageView = gen11_DestroyImageView,
5686     .vkCreateShaderModule = gen11_CreateShaderModule,
5687     .vkDestroyShaderModule = gen11_DestroyShaderModule,
5688     .vkCreatePipelineCache = gen11_CreatePipelineCache,
5689     .vkDestroyPipelineCache = gen11_DestroyPipelineCache,
5690     .vkGetPipelineCacheData = gen11_GetPipelineCacheData,
5691     .vkMergePipelineCaches = gen11_MergePipelineCaches,
5692     .vkCreateGraphicsPipelines = gen11_CreateGraphicsPipelines,
5693     .vkCreateComputePipelines = gen11_CreateComputePipelines,
5694     .vkDestroyPipeline = gen11_DestroyPipeline,
5695     .vkCreatePipelineLayout = gen11_CreatePipelineLayout,
5696     .vkDestroyPipelineLayout = gen11_DestroyPipelineLayout,
5697     .vkCreateSampler = gen11_CreateSampler,
5698     .vkDestroySampler = gen11_DestroySampler,
5699     .vkCreateDescriptorSetLayout = gen11_CreateDescriptorSetLayout,
5700     .vkDestroyDescriptorSetLayout = gen11_DestroyDescriptorSetLayout,
5701     .vkCreateDescriptorPool = gen11_CreateDescriptorPool,
5702     .vkDestroyDescriptorPool = gen11_DestroyDescriptorPool,
5703     .vkResetDescriptorPool = gen11_ResetDescriptorPool,
5704     .vkAllocateDescriptorSets = gen11_AllocateDescriptorSets,
5705     .vkFreeDescriptorSets = gen11_FreeDescriptorSets,
5706     .vkUpdateDescriptorSets = gen11_UpdateDescriptorSets,
5707     .vkCreateFramebuffer = gen11_CreateFramebuffer,
5708     .vkDestroyFramebuffer = gen11_DestroyFramebuffer,
5709     .vkCreateRenderPass = gen11_CreateRenderPass,
5710     .vkDestroyRenderPass = gen11_DestroyRenderPass,
5711     .vkGetRenderAreaGranularity = gen11_GetRenderAreaGranularity,
5712     .vkCreateCommandPool = gen11_CreateCommandPool,
5713     .vkDestroyCommandPool = gen11_DestroyCommandPool,
5714     .vkResetCommandPool = gen11_ResetCommandPool,
5715     .vkAllocateCommandBuffers = gen11_AllocateCommandBuffers,
5716     .vkFreeCommandBuffers = gen11_FreeCommandBuffers,
5717     .vkBeginCommandBuffer = gen11_BeginCommandBuffer,
5718     .vkEndCommandBuffer = gen11_EndCommandBuffer,
5719     .vkResetCommandBuffer = gen11_ResetCommandBuffer,
5720     .vkCmdBindPipeline = gen11_CmdBindPipeline,
5721     .vkCmdSetViewport = gen11_CmdSetViewport,
5722     .vkCmdSetScissor = gen11_CmdSetScissor,
5723     .vkCmdSetLineWidth = gen11_CmdSetLineWidth,
5724     .vkCmdSetDepthBias = gen11_CmdSetDepthBias,
5725     .vkCmdSetBlendConstants = gen11_CmdSetBlendConstants,
5726     .vkCmdSetDepthBounds = gen11_CmdSetDepthBounds,
5727     .vkCmdSetStencilCompareMask = gen11_CmdSetStencilCompareMask,
5728     .vkCmdSetStencilWriteMask = gen11_CmdSetStencilWriteMask,
5729     .vkCmdSetStencilReference = gen11_CmdSetStencilReference,
5730     .vkCmdBindDescriptorSets = gen11_CmdBindDescriptorSets,
5731     .vkCmdBindIndexBuffer = gen11_CmdBindIndexBuffer,
5732     .vkCmdBindVertexBuffers = gen11_CmdBindVertexBuffers,
5733     .vkCmdDraw = gen11_CmdDraw,
5734     .vkCmdDrawIndexed = gen11_CmdDrawIndexed,
5735     .vkCmdDrawIndirect = gen11_CmdDrawIndirect,
5736     .vkCmdDrawIndexedIndirect = gen11_CmdDrawIndexedIndirect,
5737     .vkCmdDispatch = gen11_CmdDispatch,
5738     .vkCmdDispatchIndirect = gen11_CmdDispatchIndirect,
5739     .vkCmdCopyBuffer = gen11_CmdCopyBuffer,
5740     .vkCmdCopyImage = gen11_CmdCopyImage,
5741     .vkCmdBlitImage = gen11_CmdBlitImage,
5742     .vkCmdCopyBufferToImage = gen11_CmdCopyBufferToImage,
5743     .vkCmdCopyImageToBuffer = gen11_CmdCopyImageToBuffer,
5744     .vkCmdUpdateBuffer = gen11_CmdUpdateBuffer,
5745     .vkCmdFillBuffer = gen11_CmdFillBuffer,
5746     .vkCmdClearColorImage = gen11_CmdClearColorImage,
5747     .vkCmdClearDepthStencilImage = gen11_CmdClearDepthStencilImage,
5748     .vkCmdClearAttachments = gen11_CmdClearAttachments,
5749     .vkCmdResolveImage = gen11_CmdResolveImage,
5750     .vkCmdSetEvent = gen11_CmdSetEvent,
5751     .vkCmdResetEvent = gen11_CmdResetEvent,
5752     .vkCmdWaitEvents = gen11_CmdWaitEvents,
5753     .vkCmdPipelineBarrier = gen11_CmdPipelineBarrier,
5754     .vkCmdBeginQuery = gen11_CmdBeginQuery,
5755     .vkCmdEndQuery = gen11_CmdEndQuery,
5756     .vkCmdBeginConditionalRenderingEXT = gen11_CmdBeginConditionalRenderingEXT,
5757     .vkCmdEndConditionalRenderingEXT = gen11_CmdEndConditionalRenderingEXT,
5758     .vkCmdResetQueryPool = gen11_CmdResetQueryPool,
5759     .vkCmdWriteTimestamp = gen11_CmdWriteTimestamp,
5760     .vkCmdCopyQueryPoolResults = gen11_CmdCopyQueryPoolResults,
5761     .vkCmdPushConstants = gen11_CmdPushConstants,
5762     .vkCmdBeginRenderPass = gen11_CmdBeginRenderPass,
5763     .vkCmdNextSubpass = gen11_CmdNextSubpass,
5764     .vkCmdEndRenderPass = gen11_CmdEndRenderPass,
5765     .vkCmdExecuteCommands = gen11_CmdExecuteCommands,
5766     .vkCreateSwapchainKHR = gen11_CreateSwapchainKHR,
5767     .vkDestroySwapchainKHR = gen11_DestroySwapchainKHR,
5768     .vkGetSwapchainImagesKHR = gen11_GetSwapchainImagesKHR,
5769     .vkAcquireNextImageKHR = gen11_AcquireNextImageKHR,
5770     .vkQueuePresentKHR = gen11_QueuePresentKHR,
5771     .vkCmdPushDescriptorSetKHR = gen11_CmdPushDescriptorSetKHR,
5772     .vkTrimCommandPool = gen11_TrimCommandPool,
5773     .vkTrimCommandPoolKHR = gen11_TrimCommandPool,
5774     .vkGetMemoryFdKHR = gen11_GetMemoryFdKHR,
5775     .vkGetMemoryFdPropertiesKHR = gen11_GetMemoryFdPropertiesKHR,
5776     .vkGetSemaphoreFdKHR = gen11_GetSemaphoreFdKHR,
5777     .vkImportSemaphoreFdKHR = gen11_ImportSemaphoreFdKHR,
5778     .vkGetFenceFdKHR = gen11_GetFenceFdKHR,
5779     .vkImportFenceFdKHR = gen11_ImportFenceFdKHR,
5780     .vkDisplayPowerControlEXT = gen11_DisplayPowerControlEXT,
5781     .vkRegisterDeviceEventEXT = gen11_RegisterDeviceEventEXT,
5782     .vkRegisterDisplayEventEXT = gen11_RegisterDisplayEventEXT,
5783     .vkGetSwapchainCounterEXT = gen11_GetSwapchainCounterEXT,
5784     .vkGetDeviceGroupPeerMemoryFeatures = gen11_GetDeviceGroupPeerMemoryFeatures,
5785     .vkGetDeviceGroupPeerMemoryFeaturesKHR = gen11_GetDeviceGroupPeerMemoryFeatures,
5786     .vkBindBufferMemory2 = gen11_BindBufferMemory2,
5787     .vkBindBufferMemory2KHR = gen11_BindBufferMemory2,
5788     .vkBindImageMemory2 = gen11_BindImageMemory2,
5789     .vkBindImageMemory2KHR = gen11_BindImageMemory2,
5790     .vkCmdSetDeviceMask = gen11_CmdSetDeviceMask,
5791     .vkCmdSetDeviceMaskKHR = gen11_CmdSetDeviceMask,
5792     .vkGetDeviceGroupPresentCapabilitiesKHR = gen11_GetDeviceGroupPresentCapabilitiesKHR,
5793     .vkGetDeviceGroupSurfacePresentModesKHR = gen11_GetDeviceGroupSurfacePresentModesKHR,
5794     .vkAcquireNextImage2KHR = gen11_AcquireNextImage2KHR,
5795     .vkCmdDispatchBase = gen11_CmdDispatchBase,
5796     .vkCmdDispatchBaseKHR = gen11_CmdDispatchBase,
5797     .vkCreateDescriptorUpdateTemplate = gen11_CreateDescriptorUpdateTemplate,
5798     .vkCreateDescriptorUpdateTemplateKHR = gen11_CreateDescriptorUpdateTemplate,
5799     .vkDestroyDescriptorUpdateTemplate = gen11_DestroyDescriptorUpdateTemplate,
5800     .vkDestroyDescriptorUpdateTemplateKHR = gen11_DestroyDescriptorUpdateTemplate,
5801     .vkUpdateDescriptorSetWithTemplate = gen11_UpdateDescriptorSetWithTemplate,
5802     .vkUpdateDescriptorSetWithTemplateKHR = gen11_UpdateDescriptorSetWithTemplate,
5803     .vkCmdPushDescriptorSetWithTemplateKHR = gen11_CmdPushDescriptorSetWithTemplateKHR,
5804     .vkGetBufferMemoryRequirements2 = gen11_GetBufferMemoryRequirements2,
5805     .vkGetBufferMemoryRequirements2KHR = gen11_GetBufferMemoryRequirements2,
5806     .vkGetImageMemoryRequirements2 = gen11_GetImageMemoryRequirements2,
5807     .vkGetImageMemoryRequirements2KHR = gen11_GetImageMemoryRequirements2,
5808     .vkGetImageSparseMemoryRequirements2 = gen11_GetImageSparseMemoryRequirements2,
5809     .vkGetImageSparseMemoryRequirements2KHR = gen11_GetImageSparseMemoryRequirements2,
5810     .vkCreateSamplerYcbcrConversion = gen11_CreateSamplerYcbcrConversion,
5811     .vkCreateSamplerYcbcrConversionKHR = gen11_CreateSamplerYcbcrConversion,
5812     .vkDestroySamplerYcbcrConversion = gen11_DestroySamplerYcbcrConversion,
5813     .vkDestroySamplerYcbcrConversionKHR = gen11_DestroySamplerYcbcrConversion,
5814     .vkGetDeviceQueue2 = gen11_GetDeviceQueue2,
5815     .vkGetDescriptorSetLayoutSupport = gen11_GetDescriptorSetLayoutSupport,
5816     .vkGetDescriptorSetLayoutSupportKHR = gen11_GetDescriptorSetLayoutSupport,
5817 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5818     .vkGetSwapchainGrallocUsageANDROID = gen11_GetSwapchainGrallocUsageANDROID,
5819 #endif // VK_USE_PLATFORM_ANDROID_KHR
5820 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5821     .vkGetSwapchainGrallocUsage2ANDROID = gen11_GetSwapchainGrallocUsage2ANDROID,
5822 #endif // VK_USE_PLATFORM_ANDROID_KHR
5823 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5824     .vkAcquireImageANDROID = gen11_AcquireImageANDROID,
5825 #endif // VK_USE_PLATFORM_ANDROID_KHR
5826 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5827     .vkQueueSignalReleaseImageANDROID = gen11_QueueSignalReleaseImageANDROID,
5828 #endif // VK_USE_PLATFORM_ANDROID_KHR
5829     .vkGetCalibratedTimestampsEXT = gen11_GetCalibratedTimestampsEXT,
5830     .vkGetMemoryHostPointerPropertiesEXT = gen11_GetMemoryHostPointerPropertiesEXT,
5831     .vkCreateRenderPass2 = gen11_CreateRenderPass2,
5832     .vkCreateRenderPass2KHR = gen11_CreateRenderPass2,
5833     .vkCmdBeginRenderPass2 = gen11_CmdBeginRenderPass2,
5834     .vkCmdBeginRenderPass2KHR = gen11_CmdBeginRenderPass2,
5835     .vkCmdNextSubpass2 = gen11_CmdNextSubpass2,
5836     .vkCmdNextSubpass2KHR = gen11_CmdNextSubpass2,
5837     .vkCmdEndRenderPass2 = gen11_CmdEndRenderPass2,
5838     .vkCmdEndRenderPass2KHR = gen11_CmdEndRenderPass2,
5839     .vkGetSemaphoreCounterValue = gen11_GetSemaphoreCounterValue,
5840     .vkGetSemaphoreCounterValueKHR = gen11_GetSemaphoreCounterValue,
5841     .vkWaitSemaphores = gen11_WaitSemaphores,
5842     .vkWaitSemaphoresKHR = gen11_WaitSemaphores,
5843     .vkSignalSemaphore = gen11_SignalSemaphore,
5844     .vkSignalSemaphoreKHR = gen11_SignalSemaphore,
5845 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5846     .vkGetAndroidHardwareBufferPropertiesANDROID = gen11_GetAndroidHardwareBufferPropertiesANDROID,
5847 #endif // VK_USE_PLATFORM_ANDROID_KHR
5848 #ifdef VK_USE_PLATFORM_ANDROID_KHR
5849     .vkGetMemoryAndroidHardwareBufferANDROID = gen11_GetMemoryAndroidHardwareBufferANDROID,
5850 #endif // VK_USE_PLATFORM_ANDROID_KHR
5851     .vkCmdDrawIndirectCount = gen11_CmdDrawIndirectCount,
5852     .vkCmdDrawIndirectCountKHR = gen11_CmdDrawIndirectCount,
5853     .vkCmdDrawIndexedIndirectCount = gen11_CmdDrawIndexedIndirectCount,
5854     .vkCmdDrawIndexedIndirectCountKHR = gen11_CmdDrawIndexedIndirectCount,
5855     .vkCmdBindTransformFeedbackBuffersEXT = gen11_CmdBindTransformFeedbackBuffersEXT,
5856     .vkCmdBeginTransformFeedbackEXT = gen11_CmdBeginTransformFeedbackEXT,
5857     .vkCmdEndTransformFeedbackEXT = gen11_CmdEndTransformFeedbackEXT,
5858     .vkCmdBeginQueryIndexedEXT = gen11_CmdBeginQueryIndexedEXT,
5859     .vkCmdEndQueryIndexedEXT = gen11_CmdEndQueryIndexedEXT,
5860     .vkCmdDrawIndirectByteCountEXT = gen11_CmdDrawIndirectByteCountEXT,
5861     .vkAcquireProfilingLockKHR = gen11_AcquireProfilingLockKHR,
5862     .vkReleaseProfilingLockKHR = gen11_ReleaseProfilingLockKHR,
5863     .vkGetImageDrmFormatModifierPropertiesEXT = gen11_GetImageDrmFormatModifierPropertiesEXT,
5864     .vkGetBufferOpaqueCaptureAddress = gen11_GetBufferOpaqueCaptureAddress,
5865     .vkGetBufferOpaqueCaptureAddressKHR = gen11_GetBufferOpaqueCaptureAddress,
5866     .vkGetBufferDeviceAddress = gen11_GetBufferDeviceAddress,
5867     .vkGetBufferDeviceAddressKHR = gen11_GetBufferDeviceAddress,
5868     .vkGetBufferDeviceAddressEXT = gen11_GetBufferDeviceAddress,
5869     .vkInitializePerformanceApiINTEL = gen11_InitializePerformanceApiINTEL,
5870     .vkUninitializePerformanceApiINTEL = gen11_UninitializePerformanceApiINTEL,
5871     .vkCmdSetPerformanceMarkerINTEL = gen11_CmdSetPerformanceMarkerINTEL,
5872     .vkCmdSetPerformanceStreamMarkerINTEL = gen11_CmdSetPerformanceStreamMarkerINTEL,
5873     .vkCmdSetPerformanceOverrideINTEL = gen11_CmdSetPerformanceOverrideINTEL,
5874     .vkAcquirePerformanceConfigurationINTEL = gen11_AcquirePerformanceConfigurationINTEL,
5875     .vkReleasePerformanceConfigurationINTEL = gen11_ReleasePerformanceConfigurationINTEL,
5876     .vkQueueSetPerformanceConfigurationINTEL = gen11_QueueSetPerformanceConfigurationINTEL,
5877     .vkGetPerformanceParameterINTEL = gen11_GetPerformanceParameterINTEL,
5878     .vkGetDeviceMemoryOpaqueCaptureAddress = gen11_GetDeviceMemoryOpaqueCaptureAddress,
5879     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = gen11_GetDeviceMemoryOpaqueCaptureAddress,
5880     .vkGetPipelineExecutablePropertiesKHR = gen11_GetPipelineExecutablePropertiesKHR,
5881     .vkGetPipelineExecutableStatisticsKHR = gen11_GetPipelineExecutableStatisticsKHR,
5882     .vkGetPipelineExecutableInternalRepresentationsKHR = gen11_GetPipelineExecutableInternalRepresentationsKHR,
5883     .vkCmdSetLineStippleEXT = gen11_CmdSetLineStippleEXT,
5884     .vkCmdSetCullModeEXT = gen11_CmdSetCullModeEXT,
5885     .vkCmdSetFrontFaceEXT = gen11_CmdSetFrontFaceEXT,
5886     .vkCmdSetPrimitiveTopologyEXT = gen11_CmdSetPrimitiveTopologyEXT,
5887     .vkCmdSetViewportWithCountEXT = gen11_CmdSetViewportWithCountEXT,
5888     .vkCmdSetScissorWithCountEXT = gen11_CmdSetScissorWithCountEXT,
5889     .vkCmdBindVertexBuffers2EXT = gen11_CmdBindVertexBuffers2EXT,
5890     .vkCmdSetDepthTestEnableEXT = gen11_CmdSetDepthTestEnableEXT,
5891     .vkCmdSetDepthWriteEnableEXT = gen11_CmdSetDepthWriteEnableEXT,
5892     .vkCmdSetDepthCompareOpEXT = gen11_CmdSetDepthCompareOpEXT,
5893     .vkCmdSetDepthBoundsTestEnableEXT = gen11_CmdSetDepthBoundsTestEnableEXT,
5894     .vkCmdSetStencilTestEnableEXT = gen11_CmdSetStencilTestEnableEXT,
5895     .vkCmdSetStencilOpEXT = gen11_CmdSetStencilOpEXT,
5896     .vkCreatePrivateDataSlotEXT = gen11_CreatePrivateDataSlotEXT,
5897     .vkDestroyPrivateDataSlotEXT = gen11_DestroyPrivateDataSlotEXT,
5898     .vkSetPrivateDataEXT = gen11_SetPrivateDataEXT,
5899     .vkGetPrivateDataEXT = gen11_GetPrivateDataEXT,
5900     .vkCmdCopyBuffer2KHR = gen11_CmdCopyBuffer2KHR,
5901     .vkCmdCopyImage2KHR = gen11_CmdCopyImage2KHR,
5902     .vkCmdBlitImage2KHR = gen11_CmdBlitImage2KHR,
5903     .vkCmdCopyBufferToImage2KHR = gen11_CmdCopyBufferToImage2KHR,
5904     .vkCmdCopyImageToBuffer2KHR = gen11_CmdCopyImageToBuffer2KHR,
5905     .vkCmdResolveImage2KHR = gen11_CmdResolveImage2KHR,
5906     .vkCreateDmaBufImageINTEL = gen11_CreateDmaBufImageINTEL,
5907   };
5908       PFN_vkVoidFunction gen12_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
5909       void gen12_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5910       void gen12_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
5911       VkResult gen12_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
5912       VkResult gen12_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
5913       VkResult gen12_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
5914       VkResult gen12_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
5915       void gen12_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5916       VkResult gen12_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
5917       void gen12_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
5918       VkResult gen12_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
5919       VkResult gen12_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
5920       void gen12_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
5921       void gen12_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
5922       VkResult gen12_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
5923       void gen12_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
5924       VkResult gen12_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
5925       void gen12_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
5926       VkResult gen12_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
5927       VkResult gen12_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
5928       void gen12_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5929       VkResult gen12_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
5930       VkResult gen12_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
5931       VkResult gen12_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
5932       VkResult gen12_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
5933       void gen12_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5934       VkResult gen12_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
5935       void gen12_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5936       VkResult gen12_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
5937       VkResult gen12_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
5938       VkResult gen12_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
5939       VkResult gen12_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
5940       void gen12_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5941       VkResult gen12_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
5942       void gen12_ResetQueryPool(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
5943             VkResult gen12_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
5944       void gen12_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5945       VkResult gen12_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
5946       void gen12_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5947       VkResult gen12_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
5948       void gen12_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5949       void gen12_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
5950       VkResult gen12_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
5951       void gen12_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5952       VkResult gen12_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
5953       void gen12_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5954       VkResult gen12_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
5955       void gen12_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5956       VkResult gen12_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
5957       VkResult gen12_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
5958       VkResult gen12_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
5959       VkResult gen12_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
5960       void gen12_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5961       VkResult gen12_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
5962       void gen12_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5963       VkResult gen12_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
5964       void gen12_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5965       VkResult gen12_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
5966       void gen12_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5967       VkResult gen12_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
5968       void gen12_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5969       VkResult gen12_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
5970       VkResult gen12_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
5971       VkResult gen12_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
5972       void gen12_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
5973       VkResult gen12_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
5974       void gen12_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5975       VkResult gen12_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
5976       void gen12_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5977       void gen12_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
5978       VkResult gen12_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
5979       void gen12_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
5980       VkResult gen12_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
5981       VkResult gen12_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
5982       void gen12_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
5983       VkResult gen12_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
5984       VkResult gen12_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
5985       VkResult gen12_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
5986       void gen12_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
5987       void gen12_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
5988       void gen12_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
5989       void gen12_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
5990       void gen12_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
5991       void gen12_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
5992       void gen12_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
5993       void gen12_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
5994       void gen12_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
5995       void gen12_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
5996       void gen12_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) __attribute__ ((weak));
5997       void gen12_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
5998       void gen12_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
5999       void gen12_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
6000       void gen12_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
6001       void gen12_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
6002       void gen12_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
6003       void gen12_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
6004       void gen12_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
6005       void gen12_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
6006       void gen12_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
6007       void gen12_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
6008       void gen12_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
6009       void gen12_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
6010       void gen12_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
6011       void gen12_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
6012       void gen12_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
6013       void gen12_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
6014       void gen12_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
6015       void gen12_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
6016       void gen12_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
6017       void gen12_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
6018       void gen12_CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
6019       void gen12_CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) __attribute__ ((weak));
6020       void gen12_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
6021       void gen12_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
6022       void gen12_CmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) __attribute__ ((weak));
6023       void gen12_CmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) __attribute__ ((weak));
6024       void gen12_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
6025       void gen12_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
6026       void gen12_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
6027       void gen12_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
6028       void gen12_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
6029       void gen12_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
6030       void gen12_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
6031       void gen12_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
6032       VkResult gen12_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
6033       void gen12_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
6034       VkResult gen12_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
6035       VkResult gen12_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
6036       VkResult gen12_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
6037       void gen12_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
6038       void gen12_TrimCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) __attribute__ ((weak));
6039             VkResult gen12_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
6040       VkResult gen12_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
6041       VkResult gen12_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
6042       VkResult gen12_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
6043       VkResult gen12_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
6044       VkResult gen12_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
6045       VkResult gen12_DisplayPowerControlEXT(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) __attribute__ ((weak));
6046       VkResult gen12_RegisterDeviceEventEXT(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
6047       VkResult gen12_RegisterDisplayEventEXT(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
6048       VkResult gen12_GetSwapchainCounterEXT(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) __attribute__ ((weak));
6049       void gen12_GetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) __attribute__ ((weak));
6050             VkResult gen12_BindBufferMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) __attribute__ ((weak));
6051             VkResult gen12_BindImageMemory2(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) __attribute__ ((weak));
6052             void gen12_CmdSetDeviceMask(VkCommandBuffer commandBuffer, uint32_t deviceMask) __attribute__ ((weak));
6053             VkResult gen12_GetDeviceGroupPresentCapabilitiesKHR(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) __attribute__ ((weak));
6054       VkResult gen12_GetDeviceGroupSurfacePresentModesKHR(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) __attribute__ ((weak));
6055       VkResult gen12_AcquireNextImage2KHR(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) __attribute__ ((weak));
6056       void gen12_CmdDispatchBase(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
6057             VkResult gen12_CreateDescriptorUpdateTemplate(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) __attribute__ ((weak));
6058             void gen12_DestroyDescriptorUpdateTemplate(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
6059             void gen12_UpdateDescriptorSetWithTemplate(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
6060             void gen12_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
6061       void gen12_GetBufferMemoryRequirements2(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
6062             void gen12_GetImageMemoryRequirements2(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) __attribute__ ((weak));
6063             void gen12_GetImageSparseMemoryRequirements2(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) __attribute__ ((weak));
6064             VkResult gen12_CreateSamplerYcbcrConversion(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) __attribute__ ((weak));
6065             void gen12_DestroySamplerYcbcrConversion(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
6066             void gen12_GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) __attribute__ ((weak));
6067       void gen12_GetDescriptorSetLayoutSupport(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) __attribute__ ((weak));
6068       #ifdef VK_USE_PLATFORM_ANDROID_KHR
6069       VkResult gen12_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
6070 #endif // VK_USE_PLATFORM_ANDROID_KHR
6071 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6072       VkResult gen12_GetSwapchainGrallocUsage2ANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage) __attribute__ ((weak));
6073 #endif // VK_USE_PLATFORM_ANDROID_KHR
6074 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6075       VkResult gen12_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
6076 #endif // VK_USE_PLATFORM_ANDROID_KHR
6077 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6078       VkResult gen12_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
6079 #endif // VK_USE_PLATFORM_ANDROID_KHR
6080       VkResult gen12_GetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) __attribute__ ((weak));
6081       VkResult gen12_GetMemoryHostPointerPropertiesEXT(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) __attribute__ ((weak));
6082       VkResult gen12_CreateRenderPass2(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
6083             void gen12_CmdBeginRenderPass2(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo*      pRenderPassBegin, const VkSubpassBeginInfo*      pSubpassBeginInfo) __attribute__ ((weak));
6084             void gen12_CmdNextSubpass2(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo*      pSubpassBeginInfo, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
6085             void gen12_CmdEndRenderPass2(VkCommandBuffer commandBuffer, const VkSubpassEndInfo*        pSubpassEndInfo) __attribute__ ((weak));
6086             VkResult gen12_GetSemaphoreCounterValue(VkDevice device, VkSemaphore semaphore, uint64_t* pValue) __attribute__ ((weak));
6087             VkResult gen12_WaitSemaphores(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) __attribute__ ((weak));
6088             VkResult gen12_SignalSemaphore(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) __attribute__ ((weak));
6089       #ifdef VK_USE_PLATFORM_ANDROID_KHR
6090       VkResult gen12_GetAndroidHardwareBufferPropertiesANDROID(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) __attribute__ ((weak));
6091 #endif // VK_USE_PLATFORM_ANDROID_KHR
6092 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6093       VkResult gen12_GetMemoryAndroidHardwareBufferANDROID(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer) __attribute__ ((weak));
6094 #endif // VK_USE_PLATFORM_ANDROID_KHR
6095       void gen12_CmdDrawIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
6096             void gen12_CmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) __attribute__ ((weak));
6097             void gen12_CmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) __attribute__ ((weak));
6098       void gen12_CmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
6099       void gen12_CmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) __attribute__ ((weak));
6100       void gen12_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) __attribute__ ((weak));
6101       void gen12_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) __attribute__ ((weak));
6102       void gen12_CmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) __attribute__ ((weak));
6103       VkResult gen12_AcquireProfilingLockKHR(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) __attribute__ ((weak));
6104       void gen12_ReleaseProfilingLockKHR(VkDevice device) __attribute__ ((weak));
6105       VkResult gen12_GetImageDrmFormatModifierPropertiesEXT(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) __attribute__ ((weak));
6106       uint64_t gen12_GetBufferOpaqueCaptureAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
6107             VkDeviceAddress gen12_GetBufferDeviceAddress(VkDevice device, const VkBufferDeviceAddressInfo* pInfo) __attribute__ ((weak));
6108                   VkResult gen12_InitializePerformanceApiINTEL(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) __attribute__ ((weak));
6109       void gen12_UninitializePerformanceApiINTEL(VkDevice device) __attribute__ ((weak));
6110       VkResult gen12_CmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
6111       VkResult gen12_CmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) __attribute__ ((weak));
6112       VkResult gen12_CmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) __attribute__ ((weak));
6113       VkResult gen12_AcquirePerformanceConfigurationINTEL(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) __attribute__ ((weak));
6114       VkResult gen12_ReleasePerformanceConfigurationINTEL(VkDevice device, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
6115       VkResult gen12_QueueSetPerformanceConfigurationINTEL(VkQueue queue, VkPerformanceConfigurationINTEL configuration) __attribute__ ((weak));
6116       VkResult gen12_GetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) __attribute__ ((weak));
6117       uint64_t gen12_GetDeviceMemoryOpaqueCaptureAddress(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) __attribute__ ((weak));
6118             VkResult gen12_GetPipelineExecutablePropertiesKHR(VkDevice                        device, const VkPipelineInfoKHR*        pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) __attribute__ ((weak));
6119       VkResult gen12_GetPipelineExecutableStatisticsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) __attribute__ ((weak));
6120       VkResult gen12_GetPipelineExecutableInternalRepresentationsKHR(VkDevice                        device, const VkPipelineExecutableInfoKHR*  pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) __attribute__ ((weak));
6121       void gen12_CmdSetLineStippleEXT(VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) __attribute__ ((weak));
6122       void gen12_CmdSetCullModeEXT(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) __attribute__ ((weak));
6123       void gen12_CmdSetFrontFaceEXT(VkCommandBuffer commandBuffer, VkFrontFace frontFace) __attribute__ ((weak));
6124       void gen12_CmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) __attribute__ ((weak));
6125       void gen12_CmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
6126       void gen12_CmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
6127       void gen12_CmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) __attribute__ ((weak));
6128       void gen12_CmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) __attribute__ ((weak));
6129       void gen12_CmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) __attribute__ ((weak));
6130       void gen12_CmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) __attribute__ ((weak));
6131       void gen12_CmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) __attribute__ ((weak));
6132       void gen12_CmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) __attribute__ ((weak));
6133       void gen12_CmdSetStencilOpEXT(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) __attribute__ ((weak));
6134       VkResult gen12_CreatePrivateDataSlotEXT(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) __attribute__ ((weak));
6135       void gen12_DestroyPrivateDataSlotEXT(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
6136       VkResult gen12_SetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) __attribute__ ((weak));
6137       void gen12_GetPrivateDataEXT(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) __attribute__ ((weak));
6138       void gen12_CmdCopyBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) __attribute__ ((weak));
6139       void gen12_CmdCopyImage2KHR(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) __attribute__ ((weak));
6140       void gen12_CmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) __attribute__ ((weak));
6141       void gen12_CmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) __attribute__ ((weak));
6142       void gen12_CmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) __attribute__ ((weak));
6143       void gen12_CmdResolveImage2KHR(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) __attribute__ ((weak));
6144       VkResult gen12_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
6145 
6146   const struct anv_device_dispatch_table gen12_device_dispatch_table = {
6147     .vkGetDeviceProcAddr = gen12_GetDeviceProcAddr,
6148     .vkDestroyDevice = gen12_DestroyDevice,
6149     .vkGetDeviceQueue = gen12_GetDeviceQueue,
6150     .vkQueueSubmit = gen12_QueueSubmit,
6151     .vkQueueWaitIdle = gen12_QueueWaitIdle,
6152     .vkDeviceWaitIdle = gen12_DeviceWaitIdle,
6153     .vkAllocateMemory = gen12_AllocateMemory,
6154     .vkFreeMemory = gen12_FreeMemory,
6155     .vkMapMemory = gen12_MapMemory,
6156     .vkUnmapMemory = gen12_UnmapMemory,
6157     .vkFlushMappedMemoryRanges = gen12_FlushMappedMemoryRanges,
6158     .vkInvalidateMappedMemoryRanges = gen12_InvalidateMappedMemoryRanges,
6159     .vkGetDeviceMemoryCommitment = gen12_GetDeviceMemoryCommitment,
6160     .vkGetBufferMemoryRequirements = gen12_GetBufferMemoryRequirements,
6161     .vkBindBufferMemory = gen12_BindBufferMemory,
6162     .vkGetImageMemoryRequirements = gen12_GetImageMemoryRequirements,
6163     .vkBindImageMemory = gen12_BindImageMemory,
6164     .vkGetImageSparseMemoryRequirements = gen12_GetImageSparseMemoryRequirements,
6165     .vkQueueBindSparse = gen12_QueueBindSparse,
6166     .vkCreateFence = gen12_CreateFence,
6167     .vkDestroyFence = gen12_DestroyFence,
6168     .vkResetFences = gen12_ResetFences,
6169     .vkGetFenceStatus = gen12_GetFenceStatus,
6170     .vkWaitForFences = gen12_WaitForFences,
6171     .vkCreateSemaphore = gen12_CreateSemaphore,
6172     .vkDestroySemaphore = gen12_DestroySemaphore,
6173     .vkCreateEvent = gen12_CreateEvent,
6174     .vkDestroyEvent = gen12_DestroyEvent,
6175     .vkGetEventStatus = gen12_GetEventStatus,
6176     .vkSetEvent = gen12_SetEvent,
6177     .vkResetEvent = gen12_ResetEvent,
6178     .vkCreateQueryPool = gen12_CreateQueryPool,
6179     .vkDestroyQueryPool = gen12_DestroyQueryPool,
6180     .vkGetQueryPoolResults = gen12_GetQueryPoolResults,
6181     .vkResetQueryPool = gen12_ResetQueryPool,
6182     .vkResetQueryPoolEXT = gen12_ResetQueryPool,
6183     .vkCreateBuffer = gen12_CreateBuffer,
6184     .vkDestroyBuffer = gen12_DestroyBuffer,
6185     .vkCreateBufferView = gen12_CreateBufferView,
6186     .vkDestroyBufferView = gen12_DestroyBufferView,
6187     .vkCreateImage = gen12_CreateImage,
6188     .vkDestroyImage = gen12_DestroyImage,
6189     .vkGetImageSubresourceLayout = gen12_GetImageSubresourceLayout,
6190     .vkCreateImageView = gen12_CreateImageView,
6191     .vkDestroyImageView = gen12_DestroyImageView,
6192     .vkCreateShaderModule = gen12_CreateShaderModule,
6193     .vkDestroyShaderModule = gen12_DestroyShaderModule,
6194     .vkCreatePipelineCache = gen12_CreatePipelineCache,
6195     .vkDestroyPipelineCache = gen12_DestroyPipelineCache,
6196     .vkGetPipelineCacheData = gen12_GetPipelineCacheData,
6197     .vkMergePipelineCaches = gen12_MergePipelineCaches,
6198     .vkCreateGraphicsPipelines = gen12_CreateGraphicsPipelines,
6199     .vkCreateComputePipelines = gen12_CreateComputePipelines,
6200     .vkDestroyPipeline = gen12_DestroyPipeline,
6201     .vkCreatePipelineLayout = gen12_CreatePipelineLayout,
6202     .vkDestroyPipelineLayout = gen12_DestroyPipelineLayout,
6203     .vkCreateSampler = gen12_CreateSampler,
6204     .vkDestroySampler = gen12_DestroySampler,
6205     .vkCreateDescriptorSetLayout = gen12_CreateDescriptorSetLayout,
6206     .vkDestroyDescriptorSetLayout = gen12_DestroyDescriptorSetLayout,
6207     .vkCreateDescriptorPool = gen12_CreateDescriptorPool,
6208     .vkDestroyDescriptorPool = gen12_DestroyDescriptorPool,
6209     .vkResetDescriptorPool = gen12_ResetDescriptorPool,
6210     .vkAllocateDescriptorSets = gen12_AllocateDescriptorSets,
6211     .vkFreeDescriptorSets = gen12_FreeDescriptorSets,
6212     .vkUpdateDescriptorSets = gen12_UpdateDescriptorSets,
6213     .vkCreateFramebuffer = gen12_CreateFramebuffer,
6214     .vkDestroyFramebuffer = gen12_DestroyFramebuffer,
6215     .vkCreateRenderPass = gen12_CreateRenderPass,
6216     .vkDestroyRenderPass = gen12_DestroyRenderPass,
6217     .vkGetRenderAreaGranularity = gen12_GetRenderAreaGranularity,
6218     .vkCreateCommandPool = gen12_CreateCommandPool,
6219     .vkDestroyCommandPool = gen12_DestroyCommandPool,
6220     .vkResetCommandPool = gen12_ResetCommandPool,
6221     .vkAllocateCommandBuffers = gen12_AllocateCommandBuffers,
6222     .vkFreeCommandBuffers = gen12_FreeCommandBuffers,
6223     .vkBeginCommandBuffer = gen12_BeginCommandBuffer,
6224     .vkEndCommandBuffer = gen12_EndCommandBuffer,
6225     .vkResetCommandBuffer = gen12_ResetCommandBuffer,
6226     .vkCmdBindPipeline = gen12_CmdBindPipeline,
6227     .vkCmdSetViewport = gen12_CmdSetViewport,
6228     .vkCmdSetScissor = gen12_CmdSetScissor,
6229     .vkCmdSetLineWidth = gen12_CmdSetLineWidth,
6230     .vkCmdSetDepthBias = gen12_CmdSetDepthBias,
6231     .vkCmdSetBlendConstants = gen12_CmdSetBlendConstants,
6232     .vkCmdSetDepthBounds = gen12_CmdSetDepthBounds,
6233     .vkCmdSetStencilCompareMask = gen12_CmdSetStencilCompareMask,
6234     .vkCmdSetStencilWriteMask = gen12_CmdSetStencilWriteMask,
6235     .vkCmdSetStencilReference = gen12_CmdSetStencilReference,
6236     .vkCmdBindDescriptorSets = gen12_CmdBindDescriptorSets,
6237     .vkCmdBindIndexBuffer = gen12_CmdBindIndexBuffer,
6238     .vkCmdBindVertexBuffers = gen12_CmdBindVertexBuffers,
6239     .vkCmdDraw = gen12_CmdDraw,
6240     .vkCmdDrawIndexed = gen12_CmdDrawIndexed,
6241     .vkCmdDrawIndirect = gen12_CmdDrawIndirect,
6242     .vkCmdDrawIndexedIndirect = gen12_CmdDrawIndexedIndirect,
6243     .vkCmdDispatch = gen12_CmdDispatch,
6244     .vkCmdDispatchIndirect = gen12_CmdDispatchIndirect,
6245     .vkCmdCopyBuffer = gen12_CmdCopyBuffer,
6246     .vkCmdCopyImage = gen12_CmdCopyImage,
6247     .vkCmdBlitImage = gen12_CmdBlitImage,
6248     .vkCmdCopyBufferToImage = gen12_CmdCopyBufferToImage,
6249     .vkCmdCopyImageToBuffer = gen12_CmdCopyImageToBuffer,
6250     .vkCmdUpdateBuffer = gen12_CmdUpdateBuffer,
6251     .vkCmdFillBuffer = gen12_CmdFillBuffer,
6252     .vkCmdClearColorImage = gen12_CmdClearColorImage,
6253     .vkCmdClearDepthStencilImage = gen12_CmdClearDepthStencilImage,
6254     .vkCmdClearAttachments = gen12_CmdClearAttachments,
6255     .vkCmdResolveImage = gen12_CmdResolveImage,
6256     .vkCmdSetEvent = gen12_CmdSetEvent,
6257     .vkCmdResetEvent = gen12_CmdResetEvent,
6258     .vkCmdWaitEvents = gen12_CmdWaitEvents,
6259     .vkCmdPipelineBarrier = gen12_CmdPipelineBarrier,
6260     .vkCmdBeginQuery = gen12_CmdBeginQuery,
6261     .vkCmdEndQuery = gen12_CmdEndQuery,
6262     .vkCmdBeginConditionalRenderingEXT = gen12_CmdBeginConditionalRenderingEXT,
6263     .vkCmdEndConditionalRenderingEXT = gen12_CmdEndConditionalRenderingEXT,
6264     .vkCmdResetQueryPool = gen12_CmdResetQueryPool,
6265     .vkCmdWriteTimestamp = gen12_CmdWriteTimestamp,
6266     .vkCmdCopyQueryPoolResults = gen12_CmdCopyQueryPoolResults,
6267     .vkCmdPushConstants = gen12_CmdPushConstants,
6268     .vkCmdBeginRenderPass = gen12_CmdBeginRenderPass,
6269     .vkCmdNextSubpass = gen12_CmdNextSubpass,
6270     .vkCmdEndRenderPass = gen12_CmdEndRenderPass,
6271     .vkCmdExecuteCommands = gen12_CmdExecuteCommands,
6272     .vkCreateSwapchainKHR = gen12_CreateSwapchainKHR,
6273     .vkDestroySwapchainKHR = gen12_DestroySwapchainKHR,
6274     .vkGetSwapchainImagesKHR = gen12_GetSwapchainImagesKHR,
6275     .vkAcquireNextImageKHR = gen12_AcquireNextImageKHR,
6276     .vkQueuePresentKHR = gen12_QueuePresentKHR,
6277     .vkCmdPushDescriptorSetKHR = gen12_CmdPushDescriptorSetKHR,
6278     .vkTrimCommandPool = gen12_TrimCommandPool,
6279     .vkTrimCommandPoolKHR = gen12_TrimCommandPool,
6280     .vkGetMemoryFdKHR = gen12_GetMemoryFdKHR,
6281     .vkGetMemoryFdPropertiesKHR = gen12_GetMemoryFdPropertiesKHR,
6282     .vkGetSemaphoreFdKHR = gen12_GetSemaphoreFdKHR,
6283     .vkImportSemaphoreFdKHR = gen12_ImportSemaphoreFdKHR,
6284     .vkGetFenceFdKHR = gen12_GetFenceFdKHR,
6285     .vkImportFenceFdKHR = gen12_ImportFenceFdKHR,
6286     .vkDisplayPowerControlEXT = gen12_DisplayPowerControlEXT,
6287     .vkRegisterDeviceEventEXT = gen12_RegisterDeviceEventEXT,
6288     .vkRegisterDisplayEventEXT = gen12_RegisterDisplayEventEXT,
6289     .vkGetSwapchainCounterEXT = gen12_GetSwapchainCounterEXT,
6290     .vkGetDeviceGroupPeerMemoryFeatures = gen12_GetDeviceGroupPeerMemoryFeatures,
6291     .vkGetDeviceGroupPeerMemoryFeaturesKHR = gen12_GetDeviceGroupPeerMemoryFeatures,
6292     .vkBindBufferMemory2 = gen12_BindBufferMemory2,
6293     .vkBindBufferMemory2KHR = gen12_BindBufferMemory2,
6294     .vkBindImageMemory2 = gen12_BindImageMemory2,
6295     .vkBindImageMemory2KHR = gen12_BindImageMemory2,
6296     .vkCmdSetDeviceMask = gen12_CmdSetDeviceMask,
6297     .vkCmdSetDeviceMaskKHR = gen12_CmdSetDeviceMask,
6298     .vkGetDeviceGroupPresentCapabilitiesKHR = gen12_GetDeviceGroupPresentCapabilitiesKHR,
6299     .vkGetDeviceGroupSurfacePresentModesKHR = gen12_GetDeviceGroupSurfacePresentModesKHR,
6300     .vkAcquireNextImage2KHR = gen12_AcquireNextImage2KHR,
6301     .vkCmdDispatchBase = gen12_CmdDispatchBase,
6302     .vkCmdDispatchBaseKHR = gen12_CmdDispatchBase,
6303     .vkCreateDescriptorUpdateTemplate = gen12_CreateDescriptorUpdateTemplate,
6304     .vkCreateDescriptorUpdateTemplateKHR = gen12_CreateDescriptorUpdateTemplate,
6305     .vkDestroyDescriptorUpdateTemplate = gen12_DestroyDescriptorUpdateTemplate,
6306     .vkDestroyDescriptorUpdateTemplateKHR = gen12_DestroyDescriptorUpdateTemplate,
6307     .vkUpdateDescriptorSetWithTemplate = gen12_UpdateDescriptorSetWithTemplate,
6308     .vkUpdateDescriptorSetWithTemplateKHR = gen12_UpdateDescriptorSetWithTemplate,
6309     .vkCmdPushDescriptorSetWithTemplateKHR = gen12_CmdPushDescriptorSetWithTemplateKHR,
6310     .vkGetBufferMemoryRequirements2 = gen12_GetBufferMemoryRequirements2,
6311     .vkGetBufferMemoryRequirements2KHR = gen12_GetBufferMemoryRequirements2,
6312     .vkGetImageMemoryRequirements2 = gen12_GetImageMemoryRequirements2,
6313     .vkGetImageMemoryRequirements2KHR = gen12_GetImageMemoryRequirements2,
6314     .vkGetImageSparseMemoryRequirements2 = gen12_GetImageSparseMemoryRequirements2,
6315     .vkGetImageSparseMemoryRequirements2KHR = gen12_GetImageSparseMemoryRequirements2,
6316     .vkCreateSamplerYcbcrConversion = gen12_CreateSamplerYcbcrConversion,
6317     .vkCreateSamplerYcbcrConversionKHR = gen12_CreateSamplerYcbcrConversion,
6318     .vkDestroySamplerYcbcrConversion = gen12_DestroySamplerYcbcrConversion,
6319     .vkDestroySamplerYcbcrConversionKHR = gen12_DestroySamplerYcbcrConversion,
6320     .vkGetDeviceQueue2 = gen12_GetDeviceQueue2,
6321     .vkGetDescriptorSetLayoutSupport = gen12_GetDescriptorSetLayoutSupport,
6322     .vkGetDescriptorSetLayoutSupportKHR = gen12_GetDescriptorSetLayoutSupport,
6323 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6324     .vkGetSwapchainGrallocUsageANDROID = gen12_GetSwapchainGrallocUsageANDROID,
6325 #endif // VK_USE_PLATFORM_ANDROID_KHR
6326 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6327     .vkGetSwapchainGrallocUsage2ANDROID = gen12_GetSwapchainGrallocUsage2ANDROID,
6328 #endif // VK_USE_PLATFORM_ANDROID_KHR
6329 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6330     .vkAcquireImageANDROID = gen12_AcquireImageANDROID,
6331 #endif // VK_USE_PLATFORM_ANDROID_KHR
6332 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6333     .vkQueueSignalReleaseImageANDROID = gen12_QueueSignalReleaseImageANDROID,
6334 #endif // VK_USE_PLATFORM_ANDROID_KHR
6335     .vkGetCalibratedTimestampsEXT = gen12_GetCalibratedTimestampsEXT,
6336     .vkGetMemoryHostPointerPropertiesEXT = gen12_GetMemoryHostPointerPropertiesEXT,
6337     .vkCreateRenderPass2 = gen12_CreateRenderPass2,
6338     .vkCreateRenderPass2KHR = gen12_CreateRenderPass2,
6339     .vkCmdBeginRenderPass2 = gen12_CmdBeginRenderPass2,
6340     .vkCmdBeginRenderPass2KHR = gen12_CmdBeginRenderPass2,
6341     .vkCmdNextSubpass2 = gen12_CmdNextSubpass2,
6342     .vkCmdNextSubpass2KHR = gen12_CmdNextSubpass2,
6343     .vkCmdEndRenderPass2 = gen12_CmdEndRenderPass2,
6344     .vkCmdEndRenderPass2KHR = gen12_CmdEndRenderPass2,
6345     .vkGetSemaphoreCounterValue = gen12_GetSemaphoreCounterValue,
6346     .vkGetSemaphoreCounterValueKHR = gen12_GetSemaphoreCounterValue,
6347     .vkWaitSemaphores = gen12_WaitSemaphores,
6348     .vkWaitSemaphoresKHR = gen12_WaitSemaphores,
6349     .vkSignalSemaphore = gen12_SignalSemaphore,
6350     .vkSignalSemaphoreKHR = gen12_SignalSemaphore,
6351 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6352     .vkGetAndroidHardwareBufferPropertiesANDROID = gen12_GetAndroidHardwareBufferPropertiesANDROID,
6353 #endif // VK_USE_PLATFORM_ANDROID_KHR
6354 #ifdef VK_USE_PLATFORM_ANDROID_KHR
6355     .vkGetMemoryAndroidHardwareBufferANDROID = gen12_GetMemoryAndroidHardwareBufferANDROID,
6356 #endif // VK_USE_PLATFORM_ANDROID_KHR
6357     .vkCmdDrawIndirectCount = gen12_CmdDrawIndirectCount,
6358     .vkCmdDrawIndirectCountKHR = gen12_CmdDrawIndirectCount,
6359     .vkCmdDrawIndexedIndirectCount = gen12_CmdDrawIndexedIndirectCount,
6360     .vkCmdDrawIndexedIndirectCountKHR = gen12_CmdDrawIndexedIndirectCount,
6361     .vkCmdBindTransformFeedbackBuffersEXT = gen12_CmdBindTransformFeedbackBuffersEXT,
6362     .vkCmdBeginTransformFeedbackEXT = gen12_CmdBeginTransformFeedbackEXT,
6363     .vkCmdEndTransformFeedbackEXT = gen12_CmdEndTransformFeedbackEXT,
6364     .vkCmdBeginQueryIndexedEXT = gen12_CmdBeginQueryIndexedEXT,
6365     .vkCmdEndQueryIndexedEXT = gen12_CmdEndQueryIndexedEXT,
6366     .vkCmdDrawIndirectByteCountEXT = gen12_CmdDrawIndirectByteCountEXT,
6367     .vkAcquireProfilingLockKHR = gen12_AcquireProfilingLockKHR,
6368     .vkReleaseProfilingLockKHR = gen12_ReleaseProfilingLockKHR,
6369     .vkGetImageDrmFormatModifierPropertiesEXT = gen12_GetImageDrmFormatModifierPropertiesEXT,
6370     .vkGetBufferOpaqueCaptureAddress = gen12_GetBufferOpaqueCaptureAddress,
6371     .vkGetBufferOpaqueCaptureAddressKHR = gen12_GetBufferOpaqueCaptureAddress,
6372     .vkGetBufferDeviceAddress = gen12_GetBufferDeviceAddress,
6373     .vkGetBufferDeviceAddressKHR = gen12_GetBufferDeviceAddress,
6374     .vkGetBufferDeviceAddressEXT = gen12_GetBufferDeviceAddress,
6375     .vkInitializePerformanceApiINTEL = gen12_InitializePerformanceApiINTEL,
6376     .vkUninitializePerformanceApiINTEL = gen12_UninitializePerformanceApiINTEL,
6377     .vkCmdSetPerformanceMarkerINTEL = gen12_CmdSetPerformanceMarkerINTEL,
6378     .vkCmdSetPerformanceStreamMarkerINTEL = gen12_CmdSetPerformanceStreamMarkerINTEL,
6379     .vkCmdSetPerformanceOverrideINTEL = gen12_CmdSetPerformanceOverrideINTEL,
6380     .vkAcquirePerformanceConfigurationINTEL = gen12_AcquirePerformanceConfigurationINTEL,
6381     .vkReleasePerformanceConfigurationINTEL = gen12_ReleasePerformanceConfigurationINTEL,
6382     .vkQueueSetPerformanceConfigurationINTEL = gen12_QueueSetPerformanceConfigurationINTEL,
6383     .vkGetPerformanceParameterINTEL = gen12_GetPerformanceParameterINTEL,
6384     .vkGetDeviceMemoryOpaqueCaptureAddress = gen12_GetDeviceMemoryOpaqueCaptureAddress,
6385     .vkGetDeviceMemoryOpaqueCaptureAddressKHR = gen12_GetDeviceMemoryOpaqueCaptureAddress,
6386     .vkGetPipelineExecutablePropertiesKHR = gen12_GetPipelineExecutablePropertiesKHR,
6387     .vkGetPipelineExecutableStatisticsKHR = gen12_GetPipelineExecutableStatisticsKHR,
6388     .vkGetPipelineExecutableInternalRepresentationsKHR = gen12_GetPipelineExecutableInternalRepresentationsKHR,
6389     .vkCmdSetLineStippleEXT = gen12_CmdSetLineStippleEXT,
6390     .vkCmdSetCullModeEXT = gen12_CmdSetCullModeEXT,
6391     .vkCmdSetFrontFaceEXT = gen12_CmdSetFrontFaceEXT,
6392     .vkCmdSetPrimitiveTopologyEXT = gen12_CmdSetPrimitiveTopologyEXT,
6393     .vkCmdSetViewportWithCountEXT = gen12_CmdSetViewportWithCountEXT,
6394     .vkCmdSetScissorWithCountEXT = gen12_CmdSetScissorWithCountEXT,
6395     .vkCmdBindVertexBuffers2EXT = gen12_CmdBindVertexBuffers2EXT,
6396     .vkCmdSetDepthTestEnableEXT = gen12_CmdSetDepthTestEnableEXT,
6397     .vkCmdSetDepthWriteEnableEXT = gen12_CmdSetDepthWriteEnableEXT,
6398     .vkCmdSetDepthCompareOpEXT = gen12_CmdSetDepthCompareOpEXT,
6399     .vkCmdSetDepthBoundsTestEnableEXT = gen12_CmdSetDepthBoundsTestEnableEXT,
6400     .vkCmdSetStencilTestEnableEXT = gen12_CmdSetStencilTestEnableEXT,
6401     .vkCmdSetStencilOpEXT = gen12_CmdSetStencilOpEXT,
6402     .vkCreatePrivateDataSlotEXT = gen12_CreatePrivateDataSlotEXT,
6403     .vkDestroyPrivateDataSlotEXT = gen12_DestroyPrivateDataSlotEXT,
6404     .vkSetPrivateDataEXT = gen12_SetPrivateDataEXT,
6405     .vkGetPrivateDataEXT = gen12_GetPrivateDataEXT,
6406     .vkCmdCopyBuffer2KHR = gen12_CmdCopyBuffer2KHR,
6407     .vkCmdCopyImage2KHR = gen12_CmdCopyImage2KHR,
6408     .vkCmdBlitImage2KHR = gen12_CmdBlitImage2KHR,
6409     .vkCmdCopyBufferToImage2KHR = gen12_CmdCopyBufferToImage2KHR,
6410     .vkCmdCopyImageToBuffer2KHR = gen12_CmdCopyImageToBuffer2KHR,
6411     .vkCmdResolveImage2KHR = gen12_CmdResolveImage2KHR,
6412     .vkCreateDmaBufImageINTEL = gen12_CreateDmaBufImageINTEL,
6413   };
6414 
6415 
6416 /** Return true if the core version or extension in which the given entrypoint
6417  * is defined is enabled.
6418  *
6419  * If device is NULL, all device extensions are considered enabled.
6420  */
6421 bool
anv_instance_entrypoint_is_enabled(int index,uint32_t core_version,const struct anv_instance_extension_table * instance)6422 anv_instance_entrypoint_is_enabled(int index, uint32_t core_version,
6423                                    const struct anv_instance_extension_table *instance)
6424 {
6425    switch (index) {
6426    case 0:
6427       /* vkCreateInstance */
6428       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6429    case 1:
6430       /* vkDestroyInstance */
6431       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6432    case 2:
6433       /* vkEnumeratePhysicalDevices */
6434       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6435    case 3:
6436       /* vkGetInstanceProcAddr */
6437       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6438    case 4:
6439       /* vkEnumerateInstanceVersion */
6440       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6441    case 5:
6442       /* vkEnumerateInstanceLayerProperties */
6443       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6444    case 6:
6445       /* vkEnumerateInstanceExtensionProperties */
6446       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6447    case 7:
6448       /* vkCreateDisplayPlaneSurfaceKHR */
6449       if (instance->KHR_display) return true;
6450       return false;
6451    case 8:
6452       /* vkDestroySurfaceKHR */
6453       if (instance->KHR_surface) return true;
6454       return false;
6455    case 9:
6456       /* vkCreateWaylandSurfaceKHR */
6457       if (instance->KHR_wayland_surface) return true;
6458       return false;
6459    case 10:
6460       /* vkCreateXlibSurfaceKHR */
6461       if (instance->KHR_xlib_surface) return true;
6462       return false;
6463    case 11:
6464       /* vkCreateXcbSurfaceKHR */
6465       if (instance->KHR_xcb_surface) return true;
6466       return false;
6467    case 12:
6468       /* vkCreateDebugReportCallbackEXT */
6469       if (instance->EXT_debug_report) return true;
6470       return false;
6471    case 13:
6472       /* vkDestroyDebugReportCallbackEXT */
6473       if (instance->EXT_debug_report) return true;
6474       return false;
6475    case 14:
6476       /* vkDebugReportMessageEXT */
6477       if (instance->EXT_debug_report) return true;
6478       return false;
6479    case 15:
6480       /* vkEnumeratePhysicalDeviceGroups */
6481       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6482    case 16:
6483       /* vkEnumeratePhysicalDeviceGroupsKHR */
6484       if (instance->KHR_device_group_creation) return true;
6485       return false;
6486    default:
6487       return false;
6488    }
6489 }
6490 
6491 /** Return true if the core version or extension in which the given entrypoint
6492  * is defined is enabled.
6493  *
6494  * If device is NULL, all device extensions are considered enabled.
6495  */
6496 bool
anv_physical_device_entrypoint_is_enabled(int index,uint32_t core_version,const struct anv_instance_extension_table * instance)6497 anv_physical_device_entrypoint_is_enabled(int index, uint32_t core_version,
6498                                           const struct anv_instance_extension_table *instance)
6499 {
6500    switch (index) {
6501    case 0:
6502       /* vkGetPhysicalDeviceProperties */
6503       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6504    case 1:
6505       /* vkGetPhysicalDeviceQueueFamilyProperties */
6506       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6507    case 2:
6508       /* vkGetPhysicalDeviceMemoryProperties */
6509       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6510    case 3:
6511       /* vkGetPhysicalDeviceFeatures */
6512       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6513    case 4:
6514       /* vkGetPhysicalDeviceFormatProperties */
6515       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6516    case 5:
6517       /* vkGetPhysicalDeviceImageFormatProperties */
6518       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6519    case 6:
6520       /* vkCreateDevice */
6521       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6522    case 7:
6523       /* vkEnumerateDeviceLayerProperties */
6524       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6525    case 8:
6526       /* vkEnumerateDeviceExtensionProperties */
6527       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6528    case 9:
6529       /* vkGetPhysicalDeviceSparseImageFormatProperties */
6530       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6531    case 10:
6532       /* vkGetPhysicalDeviceDisplayPropertiesKHR */
6533       if (instance->KHR_display) return true;
6534       return false;
6535    case 11:
6536       /* vkGetPhysicalDeviceDisplayPlanePropertiesKHR */
6537       if (instance->KHR_display) return true;
6538       return false;
6539    case 12:
6540       /* vkGetDisplayPlaneSupportedDisplaysKHR */
6541       if (instance->KHR_display) return true;
6542       return false;
6543    case 13:
6544       /* vkGetDisplayModePropertiesKHR */
6545       if (instance->KHR_display) return true;
6546       return false;
6547    case 14:
6548       /* vkCreateDisplayModeKHR */
6549       if (instance->KHR_display) return true;
6550       return false;
6551    case 15:
6552       /* vkGetDisplayPlaneCapabilitiesKHR */
6553       if (instance->KHR_display) return true;
6554       return false;
6555    case 16:
6556       /* vkGetPhysicalDeviceSurfaceSupportKHR */
6557       if (instance->KHR_surface) return true;
6558       return false;
6559    case 17:
6560       /* vkGetPhysicalDeviceSurfaceCapabilitiesKHR */
6561       if (instance->KHR_surface) return true;
6562       return false;
6563    case 18:
6564       /* vkGetPhysicalDeviceSurfaceFormatsKHR */
6565       if (instance->KHR_surface) return true;
6566       return false;
6567    case 19:
6568       /* vkGetPhysicalDeviceSurfacePresentModesKHR */
6569       if (instance->KHR_surface) return true;
6570       return false;
6571    case 20:
6572       /* vkGetPhysicalDeviceWaylandPresentationSupportKHR */
6573       if (instance->KHR_wayland_surface) return true;
6574       return false;
6575    case 21:
6576       /* vkGetPhysicalDeviceXlibPresentationSupportKHR */
6577       if (instance->KHR_xlib_surface) return true;
6578       return false;
6579    case 22:
6580       /* vkGetPhysicalDeviceXcbPresentationSupportKHR */
6581       if (instance->KHR_xcb_surface) return true;
6582       return false;
6583    case 23:
6584       /* vkGetPhysicalDeviceFeatures2 */
6585       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6586    case 24:
6587       /* vkGetPhysicalDeviceFeatures2KHR */
6588       if (instance->KHR_get_physical_device_properties2) return true;
6589       return false;
6590    case 25:
6591       /* vkGetPhysicalDeviceProperties2 */
6592       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6593    case 26:
6594       /* vkGetPhysicalDeviceProperties2KHR */
6595       if (instance->KHR_get_physical_device_properties2) return true;
6596       return false;
6597    case 27:
6598       /* vkGetPhysicalDeviceFormatProperties2 */
6599       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6600    case 28:
6601       /* vkGetPhysicalDeviceFormatProperties2KHR */
6602       if (instance->KHR_get_physical_device_properties2) return true;
6603       return false;
6604    case 29:
6605       /* vkGetPhysicalDeviceImageFormatProperties2 */
6606       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6607    case 30:
6608       /* vkGetPhysicalDeviceImageFormatProperties2KHR */
6609       if (instance->KHR_get_physical_device_properties2) return true;
6610       return false;
6611    case 31:
6612       /* vkGetPhysicalDeviceQueueFamilyProperties2 */
6613       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6614    case 32:
6615       /* vkGetPhysicalDeviceQueueFamilyProperties2KHR */
6616       if (instance->KHR_get_physical_device_properties2) return true;
6617       return false;
6618    case 33:
6619       /* vkGetPhysicalDeviceMemoryProperties2 */
6620       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6621    case 34:
6622       /* vkGetPhysicalDeviceMemoryProperties2KHR */
6623       if (instance->KHR_get_physical_device_properties2) return true;
6624       return false;
6625    case 35:
6626       /* vkGetPhysicalDeviceSparseImageFormatProperties2 */
6627       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6628    case 36:
6629       /* vkGetPhysicalDeviceSparseImageFormatProperties2KHR */
6630       if (instance->KHR_get_physical_device_properties2) return true;
6631       return false;
6632    case 37:
6633       /* vkGetPhysicalDeviceExternalBufferProperties */
6634       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6635    case 38:
6636       /* vkGetPhysicalDeviceExternalBufferPropertiesKHR */
6637       if (instance->KHR_external_memory_capabilities) return true;
6638       return false;
6639    case 39:
6640       /* vkGetPhysicalDeviceExternalSemaphoreProperties */
6641       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6642    case 40:
6643       /* vkGetPhysicalDeviceExternalSemaphorePropertiesKHR */
6644       if (instance->KHR_external_semaphore_capabilities) return true;
6645       return false;
6646    case 41:
6647       /* vkGetPhysicalDeviceExternalFenceProperties */
6648       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
6649    case 42:
6650       /* vkGetPhysicalDeviceExternalFencePropertiesKHR */
6651       if (instance->KHR_external_fence_capabilities) return true;
6652       return false;
6653    case 43:
6654       /* vkReleaseDisplayEXT */
6655       if (instance->EXT_direct_mode_display) return true;
6656       return false;
6657    case 44:
6658       /* vkAcquireXlibDisplayEXT */
6659       if (instance->EXT_acquire_xlib_display) return true;
6660       return false;
6661    case 45:
6662       /* vkGetRandROutputDisplayEXT */
6663       if (instance->EXT_acquire_xlib_display) return true;
6664       return false;
6665    case 46:
6666       /* vkGetPhysicalDeviceSurfaceCapabilities2EXT */
6667       if (instance->EXT_display_surface_counter) return true;
6668       return false;
6669    case 47:
6670       /* vkGetPhysicalDevicePresentRectanglesKHR */
6671       /* All device extensions are considered enabled at the instance level */
6672       return true;
6673       /* All device extensions are considered enabled at the instance level */
6674       return true;
6675       return false;
6676    case 48:
6677       /* vkGetPhysicalDeviceSurfaceCapabilities2KHR */
6678       if (instance->KHR_get_surface_capabilities2) return true;
6679       return false;
6680    case 49:
6681       /* vkGetPhysicalDeviceSurfaceFormats2KHR */
6682       if (instance->KHR_get_surface_capabilities2) return true;
6683       return false;
6684    case 50:
6685       /* vkGetPhysicalDeviceDisplayProperties2KHR */
6686       if (instance->KHR_get_display_properties2) return true;
6687       return false;
6688    case 51:
6689       /* vkGetPhysicalDeviceDisplayPlaneProperties2KHR */
6690       if (instance->KHR_get_display_properties2) return true;
6691       return false;
6692    case 52:
6693       /* vkGetDisplayModeProperties2KHR */
6694       if (instance->KHR_get_display_properties2) return true;
6695       return false;
6696    case 53:
6697       /* vkGetDisplayPlaneCapabilities2KHR */
6698       if (instance->KHR_get_display_properties2) return true;
6699       return false;
6700    case 54:
6701       /* vkGetPhysicalDeviceCalibrateableTimeDomainsEXT */
6702       /* All device extensions are considered enabled at the instance level */
6703       return true;
6704       return false;
6705    case 55:
6706       /* vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR */
6707       /* All device extensions are considered enabled at the instance level */
6708       return true;
6709       return false;
6710    case 56:
6711       /* vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR */
6712       /* All device extensions are considered enabled at the instance level */
6713       return true;
6714       return false;
6715    default:
6716       return false;
6717    }
6718 }
6719 
6720 /** Return true if the core version or extension in which the given entrypoint
6721  * is defined is enabled.
6722  *
6723  * If device is NULL, all device extensions are considered enabled.
6724  */
6725 bool
anv_device_entrypoint_is_enabled(int index,uint32_t core_version,const struct anv_instance_extension_table * instance,const struct anv_device_extension_table * device)6726 anv_device_entrypoint_is_enabled(int index, uint32_t core_version,
6727                                  const struct anv_instance_extension_table *instance,
6728                                  const struct anv_device_extension_table *device)
6729 {
6730    switch (index) {
6731    case 0:
6732       /* vkGetDeviceProcAddr */
6733       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6734    case 1:
6735       /* vkDestroyDevice */
6736       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6737    case 2:
6738       /* vkGetDeviceQueue */
6739       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6740    case 3:
6741       /* vkQueueSubmit */
6742       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6743    case 4:
6744       /* vkQueueWaitIdle */
6745       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6746    case 5:
6747       /* vkDeviceWaitIdle */
6748       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6749    case 6:
6750       /* vkAllocateMemory */
6751       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6752    case 7:
6753       /* vkFreeMemory */
6754       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6755    case 8:
6756       /* vkMapMemory */
6757       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6758    case 9:
6759       /* vkUnmapMemory */
6760       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6761    case 10:
6762       /* vkFlushMappedMemoryRanges */
6763       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6764    case 11:
6765       /* vkInvalidateMappedMemoryRanges */
6766       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6767    case 12:
6768       /* vkGetDeviceMemoryCommitment */
6769       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6770    case 13:
6771       /* vkGetBufferMemoryRequirements */
6772       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6773    case 14:
6774       /* vkBindBufferMemory */
6775       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6776    case 15:
6777       /* vkGetImageMemoryRequirements */
6778       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6779    case 16:
6780       /* vkBindImageMemory */
6781       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6782    case 17:
6783       /* vkGetImageSparseMemoryRequirements */
6784       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6785    case 18:
6786       /* vkQueueBindSparse */
6787       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6788    case 19:
6789       /* vkCreateFence */
6790       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6791    case 20:
6792       /* vkDestroyFence */
6793       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6794    case 21:
6795       /* vkResetFences */
6796       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6797    case 22:
6798       /* vkGetFenceStatus */
6799       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6800    case 23:
6801       /* vkWaitForFences */
6802       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6803    case 24:
6804       /* vkCreateSemaphore */
6805       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6806    case 25:
6807       /* vkDestroySemaphore */
6808       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6809    case 26:
6810       /* vkCreateEvent */
6811       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6812    case 27:
6813       /* vkDestroyEvent */
6814       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6815    case 28:
6816       /* vkGetEventStatus */
6817       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6818    case 29:
6819       /* vkSetEvent */
6820       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6821    case 30:
6822       /* vkResetEvent */
6823       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6824    case 31:
6825       /* vkCreateQueryPool */
6826       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6827    case 32:
6828       /* vkDestroyQueryPool */
6829       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6830    case 33:
6831       /* vkGetQueryPoolResults */
6832       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6833    case 34:
6834       /* vkResetQueryPool */
6835       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
6836    case 35:
6837       /* vkResetQueryPoolEXT */
6838       if (!device || device->EXT_host_query_reset) return true;
6839       return false;
6840    case 36:
6841       /* vkCreateBuffer */
6842       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6843    case 37:
6844       /* vkDestroyBuffer */
6845       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6846    case 38:
6847       /* vkCreateBufferView */
6848       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6849    case 39:
6850       /* vkDestroyBufferView */
6851       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6852    case 40:
6853       /* vkCreateImage */
6854       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6855    case 41:
6856       /* vkDestroyImage */
6857       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6858    case 42:
6859       /* vkGetImageSubresourceLayout */
6860       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6861    case 43:
6862       /* vkCreateImageView */
6863       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6864    case 44:
6865       /* vkDestroyImageView */
6866       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6867    case 45:
6868       /* vkCreateShaderModule */
6869       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6870    case 46:
6871       /* vkDestroyShaderModule */
6872       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6873    case 47:
6874       /* vkCreatePipelineCache */
6875       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6876    case 48:
6877       /* vkDestroyPipelineCache */
6878       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6879    case 49:
6880       /* vkGetPipelineCacheData */
6881       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6882    case 50:
6883       /* vkMergePipelineCaches */
6884       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6885    case 51:
6886       /* vkCreateGraphicsPipelines */
6887       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6888    case 52:
6889       /* vkCreateComputePipelines */
6890       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6891    case 53:
6892       /* vkDestroyPipeline */
6893       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6894    case 54:
6895       /* vkCreatePipelineLayout */
6896       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6897    case 55:
6898       /* vkDestroyPipelineLayout */
6899       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6900    case 56:
6901       /* vkCreateSampler */
6902       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6903    case 57:
6904       /* vkDestroySampler */
6905       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6906    case 58:
6907       /* vkCreateDescriptorSetLayout */
6908       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6909    case 59:
6910       /* vkDestroyDescriptorSetLayout */
6911       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6912    case 60:
6913       /* vkCreateDescriptorPool */
6914       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6915    case 61:
6916       /* vkDestroyDescriptorPool */
6917       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6918    case 62:
6919       /* vkResetDescriptorPool */
6920       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6921    case 63:
6922       /* vkAllocateDescriptorSets */
6923       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6924    case 64:
6925       /* vkFreeDescriptorSets */
6926       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6927    case 65:
6928       /* vkUpdateDescriptorSets */
6929       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6930    case 66:
6931       /* vkCreateFramebuffer */
6932       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6933    case 67:
6934       /* vkDestroyFramebuffer */
6935       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6936    case 68:
6937       /* vkCreateRenderPass */
6938       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6939    case 69:
6940       /* vkDestroyRenderPass */
6941       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6942    case 70:
6943       /* vkGetRenderAreaGranularity */
6944       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6945    case 71:
6946       /* vkCreateCommandPool */
6947       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6948    case 72:
6949       /* vkDestroyCommandPool */
6950       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6951    case 73:
6952       /* vkResetCommandPool */
6953       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6954    case 74:
6955       /* vkAllocateCommandBuffers */
6956       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6957    case 75:
6958       /* vkFreeCommandBuffers */
6959       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6960    case 76:
6961       /* vkBeginCommandBuffer */
6962       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6963    case 77:
6964       /* vkEndCommandBuffer */
6965       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6966    case 78:
6967       /* vkResetCommandBuffer */
6968       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6969    case 79:
6970       /* vkCmdBindPipeline */
6971       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6972    case 80:
6973       /* vkCmdSetViewport */
6974       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6975    case 81:
6976       /* vkCmdSetScissor */
6977       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6978    case 82:
6979       /* vkCmdSetLineWidth */
6980       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6981    case 83:
6982       /* vkCmdSetDepthBias */
6983       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6984    case 84:
6985       /* vkCmdSetBlendConstants */
6986       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6987    case 85:
6988       /* vkCmdSetDepthBounds */
6989       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6990    case 86:
6991       /* vkCmdSetStencilCompareMask */
6992       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6993    case 87:
6994       /* vkCmdSetStencilWriteMask */
6995       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6996    case 88:
6997       /* vkCmdSetStencilReference */
6998       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
6999    case 89:
7000       /* vkCmdBindDescriptorSets */
7001       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7002    case 90:
7003       /* vkCmdBindIndexBuffer */
7004       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7005    case 91:
7006       /* vkCmdBindVertexBuffers */
7007       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7008    case 92:
7009       /* vkCmdDraw */
7010       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7011    case 93:
7012       /* vkCmdDrawIndexed */
7013       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7014    case 94:
7015       /* vkCmdDrawIndirect */
7016       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7017    case 95:
7018       /* vkCmdDrawIndexedIndirect */
7019       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7020    case 96:
7021       /* vkCmdDispatch */
7022       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7023    case 97:
7024       /* vkCmdDispatchIndirect */
7025       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7026    case 98:
7027       /* vkCmdCopyBuffer */
7028       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7029    case 99:
7030       /* vkCmdCopyImage */
7031       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7032    case 100:
7033       /* vkCmdBlitImage */
7034       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7035    case 101:
7036       /* vkCmdCopyBufferToImage */
7037       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7038    case 102:
7039       /* vkCmdCopyImageToBuffer */
7040       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7041    case 103:
7042       /* vkCmdUpdateBuffer */
7043       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7044    case 104:
7045       /* vkCmdFillBuffer */
7046       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7047    case 105:
7048       /* vkCmdClearColorImage */
7049       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7050    case 106:
7051       /* vkCmdClearDepthStencilImage */
7052       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7053    case 107:
7054       /* vkCmdClearAttachments */
7055       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7056    case 108:
7057       /* vkCmdResolveImage */
7058       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7059    case 109:
7060       /* vkCmdSetEvent */
7061       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7062    case 110:
7063       /* vkCmdResetEvent */
7064       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7065    case 111:
7066       /* vkCmdWaitEvents */
7067       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7068    case 112:
7069       /* vkCmdPipelineBarrier */
7070       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7071    case 113:
7072       /* vkCmdBeginQuery */
7073       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7074    case 114:
7075       /* vkCmdEndQuery */
7076       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7077    case 115:
7078       /* vkCmdBeginConditionalRenderingEXT */
7079       if (!device || device->EXT_conditional_rendering) return true;
7080       return false;
7081    case 116:
7082       /* vkCmdEndConditionalRenderingEXT */
7083       if (!device || device->EXT_conditional_rendering) return true;
7084       return false;
7085    case 117:
7086       /* vkCmdResetQueryPool */
7087       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7088    case 118:
7089       /* vkCmdWriteTimestamp */
7090       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7091    case 119:
7092       /* vkCmdCopyQueryPoolResults */
7093       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7094    case 120:
7095       /* vkCmdPushConstants */
7096       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7097    case 121:
7098       /* vkCmdBeginRenderPass */
7099       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7100    case 122:
7101       /* vkCmdNextSubpass */
7102       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7103    case 123:
7104       /* vkCmdEndRenderPass */
7105       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7106    case 124:
7107       /* vkCmdExecuteCommands */
7108       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
7109    case 125:
7110       /* vkCreateSwapchainKHR */
7111       if (!device || device->KHR_swapchain) return true;
7112       return false;
7113    case 126:
7114       /* vkDestroySwapchainKHR */
7115       if (!device || device->KHR_swapchain) return true;
7116       return false;
7117    case 127:
7118       /* vkGetSwapchainImagesKHR */
7119       if (!device || device->KHR_swapchain) return true;
7120       return false;
7121    case 128:
7122       /* vkAcquireNextImageKHR */
7123       if (!device || device->KHR_swapchain) return true;
7124       return false;
7125    case 129:
7126       /* vkQueuePresentKHR */
7127       if (!device || device->KHR_swapchain) return true;
7128       return false;
7129    case 130:
7130       /* vkCmdPushDescriptorSetKHR */
7131       if (!device || device->KHR_push_descriptor) return true;
7132       return false;
7133    case 131:
7134       /* vkTrimCommandPool */
7135       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7136    case 132:
7137       /* vkTrimCommandPoolKHR */
7138       if (!device || device->KHR_maintenance1) return true;
7139       return false;
7140    case 133:
7141       /* vkGetMemoryFdKHR */
7142       if (!device || device->KHR_external_memory_fd) return true;
7143       return false;
7144    case 134:
7145       /* vkGetMemoryFdPropertiesKHR */
7146       if (!device || device->KHR_external_memory_fd) return true;
7147       return false;
7148    case 135:
7149       /* vkGetSemaphoreFdKHR */
7150       if (!device || device->KHR_external_semaphore_fd) return true;
7151       return false;
7152    case 136:
7153       /* vkImportSemaphoreFdKHR */
7154       if (!device || device->KHR_external_semaphore_fd) return true;
7155       return false;
7156    case 137:
7157       /* vkGetFenceFdKHR */
7158       if (!device || device->KHR_external_fence_fd) return true;
7159       return false;
7160    case 138:
7161       /* vkImportFenceFdKHR */
7162       if (!device || device->KHR_external_fence_fd) return true;
7163       return false;
7164    case 139:
7165       /* vkDisplayPowerControlEXT */
7166       if (!device || device->EXT_display_control) return true;
7167       return false;
7168    case 140:
7169       /* vkRegisterDeviceEventEXT */
7170       if (!device || device->EXT_display_control) return true;
7171       return false;
7172    case 141:
7173       /* vkRegisterDisplayEventEXT */
7174       if (!device || device->EXT_display_control) return true;
7175       return false;
7176    case 142:
7177       /* vkGetSwapchainCounterEXT */
7178       if (!device || device->EXT_display_control) return true;
7179       return false;
7180    case 143:
7181       /* vkGetDeviceGroupPeerMemoryFeatures */
7182       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7183    case 144:
7184       /* vkGetDeviceGroupPeerMemoryFeaturesKHR */
7185       if (!device || device->KHR_device_group) return true;
7186       return false;
7187    case 145:
7188       /* vkBindBufferMemory2 */
7189       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7190    case 146:
7191       /* vkBindBufferMemory2KHR */
7192       if (!device || device->KHR_bind_memory2) return true;
7193       return false;
7194    case 147:
7195       /* vkBindImageMemory2 */
7196       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7197    case 148:
7198       /* vkBindImageMemory2KHR */
7199       if (!device || device->KHR_bind_memory2) return true;
7200       return false;
7201    case 149:
7202       /* vkCmdSetDeviceMask */
7203       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7204    case 150:
7205       /* vkCmdSetDeviceMaskKHR */
7206       if (!device || device->KHR_device_group) return true;
7207       return false;
7208    case 151:
7209       /* vkGetDeviceGroupPresentCapabilitiesKHR */
7210       if (!device || device->KHR_swapchain) return true;
7211       if (!device || device->KHR_device_group) return true;
7212       return false;
7213    case 152:
7214       /* vkGetDeviceGroupSurfacePresentModesKHR */
7215       if (!device || device->KHR_swapchain) return true;
7216       if (!device || device->KHR_device_group) return true;
7217       return false;
7218    case 153:
7219       /* vkAcquireNextImage2KHR */
7220       if (!device || device->KHR_swapchain) return true;
7221       if (!device || device->KHR_device_group) return true;
7222       return false;
7223    case 154:
7224       /* vkCmdDispatchBase */
7225       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7226    case 155:
7227       /* vkCmdDispatchBaseKHR */
7228       if (!device || device->KHR_device_group) return true;
7229       return false;
7230    case 156:
7231       /* vkCreateDescriptorUpdateTemplate */
7232       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7233    case 157:
7234       /* vkCreateDescriptorUpdateTemplateKHR */
7235       if (!device || device->KHR_descriptor_update_template) return true;
7236       return false;
7237    case 158:
7238       /* vkDestroyDescriptorUpdateTemplate */
7239       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7240    case 159:
7241       /* vkDestroyDescriptorUpdateTemplateKHR */
7242       if (!device || device->KHR_descriptor_update_template) return true;
7243       return false;
7244    case 160:
7245       /* vkUpdateDescriptorSetWithTemplate */
7246       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7247    case 161:
7248       /* vkUpdateDescriptorSetWithTemplateKHR */
7249       if (!device || device->KHR_descriptor_update_template) return true;
7250       return false;
7251    case 162:
7252       /* vkCmdPushDescriptorSetWithTemplateKHR */
7253       if (!device || device->KHR_push_descriptor) return true;
7254       if (!device || device->KHR_push_descriptor) return true;
7255       if (!device || device->KHR_descriptor_update_template) return true;
7256       return false;
7257    case 163:
7258       /* vkGetBufferMemoryRequirements2 */
7259       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7260    case 164:
7261       /* vkGetBufferMemoryRequirements2KHR */
7262       if (!device || device->KHR_get_memory_requirements2) return true;
7263       return false;
7264    case 165:
7265       /* vkGetImageMemoryRequirements2 */
7266       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7267    case 166:
7268       /* vkGetImageMemoryRequirements2KHR */
7269       if (!device || device->KHR_get_memory_requirements2) return true;
7270       return false;
7271    case 167:
7272       /* vkGetImageSparseMemoryRequirements2 */
7273       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7274    case 168:
7275       /* vkGetImageSparseMemoryRequirements2KHR */
7276       if (!device || device->KHR_get_memory_requirements2) return true;
7277       return false;
7278    case 169:
7279       /* vkCreateSamplerYcbcrConversion */
7280       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7281    case 170:
7282       /* vkCreateSamplerYcbcrConversionKHR */
7283       if (!device || device->KHR_sampler_ycbcr_conversion) return true;
7284       return false;
7285    case 171:
7286       /* vkDestroySamplerYcbcrConversion */
7287       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7288    case 172:
7289       /* vkDestroySamplerYcbcrConversionKHR */
7290       if (!device || device->KHR_sampler_ycbcr_conversion) return true;
7291       return false;
7292    case 173:
7293       /* vkGetDeviceQueue2 */
7294       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7295    case 174:
7296       /* vkGetDescriptorSetLayoutSupport */
7297       return VK_MAKE_VERSION(1, 1, 0) <= core_version;
7298    case 175:
7299       /* vkGetDescriptorSetLayoutSupportKHR */
7300       if (!device || device->KHR_maintenance3) return true;
7301       return false;
7302    case 176:
7303       /* vkGetSwapchainGrallocUsageANDROID */
7304       if (!device || device->ANDROID_native_buffer) return true;
7305       return false;
7306    case 177:
7307       /* vkGetSwapchainGrallocUsage2ANDROID */
7308       if (!device || device->ANDROID_native_buffer) return true;
7309       return false;
7310    case 178:
7311       /* vkAcquireImageANDROID */
7312       if (!device || device->ANDROID_native_buffer) return true;
7313       return false;
7314    case 179:
7315       /* vkQueueSignalReleaseImageANDROID */
7316       if (!device || device->ANDROID_native_buffer) return true;
7317       return false;
7318    case 180:
7319       /* vkGetCalibratedTimestampsEXT */
7320       if (!device || device->EXT_calibrated_timestamps) return true;
7321       return false;
7322    case 181:
7323       /* vkGetMemoryHostPointerPropertiesEXT */
7324       if (!device || device->EXT_external_memory_host) return true;
7325       return false;
7326    case 182:
7327       /* vkCreateRenderPass2 */
7328       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7329    case 183:
7330       /* vkCreateRenderPass2KHR */
7331       if (!device || device->KHR_create_renderpass2) return true;
7332       return false;
7333    case 184:
7334       /* vkCmdBeginRenderPass2 */
7335       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7336    case 185:
7337       /* vkCmdBeginRenderPass2KHR */
7338       if (!device || device->KHR_create_renderpass2) return true;
7339       return false;
7340    case 186:
7341       /* vkCmdNextSubpass2 */
7342       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7343    case 187:
7344       /* vkCmdNextSubpass2KHR */
7345       if (!device || device->KHR_create_renderpass2) return true;
7346       return false;
7347    case 188:
7348       /* vkCmdEndRenderPass2 */
7349       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7350    case 189:
7351       /* vkCmdEndRenderPass2KHR */
7352       if (!device || device->KHR_create_renderpass2) return true;
7353       return false;
7354    case 190:
7355       /* vkGetSemaphoreCounterValue */
7356       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7357    case 191:
7358       /* vkGetSemaphoreCounterValueKHR */
7359       if (!device || device->KHR_timeline_semaphore) return true;
7360       return false;
7361    case 192:
7362       /* vkWaitSemaphores */
7363       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7364    case 193:
7365       /* vkWaitSemaphoresKHR */
7366       if (!device || device->KHR_timeline_semaphore) return true;
7367       return false;
7368    case 194:
7369       /* vkSignalSemaphore */
7370       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7371    case 195:
7372       /* vkSignalSemaphoreKHR */
7373       if (!device || device->KHR_timeline_semaphore) return true;
7374       return false;
7375    case 196:
7376       /* vkGetAndroidHardwareBufferPropertiesANDROID */
7377       if (!device || device->ANDROID_external_memory_android_hardware_buffer) return true;
7378       return false;
7379    case 197:
7380       /* vkGetMemoryAndroidHardwareBufferANDROID */
7381       if (!device || device->ANDROID_external_memory_android_hardware_buffer) return true;
7382       return false;
7383    case 198:
7384       /* vkCmdDrawIndirectCount */
7385       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7386    case 199:
7387       /* vkCmdDrawIndirectCountKHR */
7388       if (!device || device->KHR_draw_indirect_count) return true;
7389       return false;
7390    case 200:
7391       /* vkCmdDrawIndexedIndirectCount */
7392       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7393    case 201:
7394       /* vkCmdDrawIndexedIndirectCountKHR */
7395       if (!device || device->KHR_draw_indirect_count) return true;
7396       return false;
7397    case 202:
7398       /* vkCmdBindTransformFeedbackBuffersEXT */
7399       if (!device || device->EXT_transform_feedback) return true;
7400       return false;
7401    case 203:
7402       /* vkCmdBeginTransformFeedbackEXT */
7403       if (!device || device->EXT_transform_feedback) return true;
7404       return false;
7405    case 204:
7406       /* vkCmdEndTransformFeedbackEXT */
7407       if (!device || device->EXT_transform_feedback) return true;
7408       return false;
7409    case 205:
7410       /* vkCmdBeginQueryIndexedEXT */
7411       if (!device || device->EXT_transform_feedback) return true;
7412       return false;
7413    case 206:
7414       /* vkCmdEndQueryIndexedEXT */
7415       if (!device || device->EXT_transform_feedback) return true;
7416       return false;
7417    case 207:
7418       /* vkCmdDrawIndirectByteCountEXT */
7419       if (!device || device->EXT_transform_feedback) return true;
7420       return false;
7421    case 208:
7422       /* vkAcquireProfilingLockKHR */
7423       if (!device || device->KHR_performance_query) return true;
7424       return false;
7425    case 209:
7426       /* vkReleaseProfilingLockKHR */
7427       if (!device || device->KHR_performance_query) return true;
7428       return false;
7429    case 210:
7430       /* vkGetImageDrmFormatModifierPropertiesEXT */
7431       if (!device || device->EXT_image_drm_format_modifier) return true;
7432       return false;
7433    case 211:
7434       /* vkGetBufferOpaqueCaptureAddress */
7435       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7436    case 212:
7437       /* vkGetBufferOpaqueCaptureAddressKHR */
7438       if (!device || device->KHR_buffer_device_address) return true;
7439       return false;
7440    case 213:
7441       /* vkGetBufferDeviceAddress */
7442       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7443    case 214:
7444       /* vkGetBufferDeviceAddressKHR */
7445       if (!device || device->KHR_buffer_device_address) return true;
7446       return false;
7447    case 215:
7448       /* vkGetBufferDeviceAddressEXT */
7449       if (!device || device->EXT_buffer_device_address) return true;
7450       return false;
7451    case 216:
7452       /* vkInitializePerformanceApiINTEL */
7453       if (!device || device->INTEL_performance_query) return true;
7454       return false;
7455    case 217:
7456       /* vkUninitializePerformanceApiINTEL */
7457       if (!device || device->INTEL_performance_query) return true;
7458       return false;
7459    case 218:
7460       /* vkCmdSetPerformanceMarkerINTEL */
7461       if (!device || device->INTEL_performance_query) return true;
7462       return false;
7463    case 219:
7464       /* vkCmdSetPerformanceStreamMarkerINTEL */
7465       if (!device || device->INTEL_performance_query) return true;
7466       return false;
7467    case 220:
7468       /* vkCmdSetPerformanceOverrideINTEL */
7469       if (!device || device->INTEL_performance_query) return true;
7470       return false;
7471    case 221:
7472       /* vkAcquirePerformanceConfigurationINTEL */
7473       if (!device || device->INTEL_performance_query) return true;
7474       return false;
7475    case 222:
7476       /* vkReleasePerformanceConfigurationINTEL */
7477       if (!device || device->INTEL_performance_query) return true;
7478       return false;
7479    case 223:
7480       /* vkQueueSetPerformanceConfigurationINTEL */
7481       if (!device || device->INTEL_performance_query) return true;
7482       return false;
7483    case 224:
7484       /* vkGetPerformanceParameterINTEL */
7485       if (!device || device->INTEL_performance_query) return true;
7486       return false;
7487    case 225:
7488       /* vkGetDeviceMemoryOpaqueCaptureAddress */
7489       return VK_MAKE_VERSION(1, 2, 0) <= core_version;
7490    case 226:
7491       /* vkGetDeviceMemoryOpaqueCaptureAddressKHR */
7492       if (!device || device->KHR_buffer_device_address) return true;
7493       return false;
7494    case 227:
7495       /* vkGetPipelineExecutablePropertiesKHR */
7496       if (!device || device->KHR_pipeline_executable_properties) return true;
7497       return false;
7498    case 228:
7499       /* vkGetPipelineExecutableStatisticsKHR */
7500       if (!device || device->KHR_pipeline_executable_properties) return true;
7501       return false;
7502    case 229:
7503       /* vkGetPipelineExecutableInternalRepresentationsKHR */
7504       if (!device || device->KHR_pipeline_executable_properties) return true;
7505       return false;
7506    case 230:
7507       /* vkCmdSetLineStippleEXT */
7508       if (!device || device->EXT_line_rasterization) return true;
7509       return false;
7510    case 231:
7511       /* vkCmdSetCullModeEXT */
7512       if (!device || device->EXT_extended_dynamic_state) return true;
7513       return false;
7514    case 232:
7515       /* vkCmdSetFrontFaceEXT */
7516       if (!device || device->EXT_extended_dynamic_state) return true;
7517       return false;
7518    case 233:
7519       /* vkCmdSetPrimitiveTopologyEXT */
7520       if (!device || device->EXT_extended_dynamic_state) return true;
7521       return false;
7522    case 234:
7523       /* vkCmdSetViewportWithCountEXT */
7524       if (!device || device->EXT_extended_dynamic_state) return true;
7525       return false;
7526    case 235:
7527       /* vkCmdSetScissorWithCountEXT */
7528       if (!device || device->EXT_extended_dynamic_state) return true;
7529       return false;
7530    case 236:
7531       /* vkCmdBindVertexBuffers2EXT */
7532       if (!device || device->EXT_extended_dynamic_state) return true;
7533       return false;
7534    case 237:
7535       /* vkCmdSetDepthTestEnableEXT */
7536       if (!device || device->EXT_extended_dynamic_state) return true;
7537       return false;
7538    case 238:
7539       /* vkCmdSetDepthWriteEnableEXT */
7540       if (!device || device->EXT_extended_dynamic_state) return true;
7541       return false;
7542    case 239:
7543       /* vkCmdSetDepthCompareOpEXT */
7544       if (!device || device->EXT_extended_dynamic_state) return true;
7545       return false;
7546    case 240:
7547       /* vkCmdSetDepthBoundsTestEnableEXT */
7548       if (!device || device->EXT_extended_dynamic_state) return true;
7549       return false;
7550    case 241:
7551       /* vkCmdSetStencilTestEnableEXT */
7552       if (!device || device->EXT_extended_dynamic_state) return true;
7553       return false;
7554    case 242:
7555       /* vkCmdSetStencilOpEXT */
7556       if (!device || device->EXT_extended_dynamic_state) return true;
7557       return false;
7558    case 243:
7559       /* vkCreatePrivateDataSlotEXT */
7560       if (!device || device->EXT_private_data) return true;
7561       return false;
7562    case 244:
7563       /* vkDestroyPrivateDataSlotEXT */
7564       if (!device || device->EXT_private_data) return true;
7565       return false;
7566    case 245:
7567       /* vkSetPrivateDataEXT */
7568       if (!device || device->EXT_private_data) return true;
7569       return false;
7570    case 246:
7571       /* vkGetPrivateDataEXT */
7572       if (!device || device->EXT_private_data) return true;
7573       return false;
7574    case 247:
7575       /* vkCmdCopyBuffer2KHR */
7576       if (!device || device->KHR_copy_commands2) return true;
7577       return false;
7578    case 248:
7579       /* vkCmdCopyImage2KHR */
7580       if (!device || device->KHR_copy_commands2) return true;
7581       return false;
7582    case 249:
7583       /* vkCmdBlitImage2KHR */
7584       if (!device || device->KHR_copy_commands2) return true;
7585       return false;
7586    case 250:
7587       /* vkCmdCopyBufferToImage2KHR */
7588       if (!device || device->KHR_copy_commands2) return true;
7589       return false;
7590    case 251:
7591       /* vkCmdCopyImageToBuffer2KHR */
7592       if (!device || device->KHR_copy_commands2) return true;
7593       return false;
7594    case 252:
7595       /* vkCmdResolveImage2KHR */
7596       if (!device || device->KHR_copy_commands2) return true;
7597       return false;
7598    case 253:
7599       /* vkCreateDmaBufImageINTEL */
7600       return true;
7601    default:
7602       return false;
7603    }
7604 }
7605 
7606 int
anv_get_instance_entrypoint_index(const char * name)7607 anv_get_instance_entrypoint_index(const char *name)
7608 {
7609    return instance_string_map_lookup(name);
7610 }
7611 
7612 int
anv_get_physical_device_entrypoint_index(const char * name)7613 anv_get_physical_device_entrypoint_index(const char *name)
7614 {
7615    return physical_device_string_map_lookup(name);
7616 }
7617 
7618 int
anv_get_device_entrypoint_index(const char * name)7619 anv_get_device_entrypoint_index(const char *name)
7620 {
7621    return device_string_map_lookup(name);
7622 }
7623 
7624 const char *
anv_get_instance_entry_name(int index)7625 anv_get_instance_entry_name(int index)
7626 {
7627    return instance_entry_name(index);
7628 }
7629 
7630 const char *
anv_get_physical_device_entry_name(int index)7631 anv_get_physical_device_entry_name(int index)
7632 {
7633    return physical_device_entry_name(index);
7634 }
7635 
7636 const char *
anv_get_device_entry_name(int index)7637 anv_get_device_entry_name(int index)
7638 {
7639    return device_entry_name(index);
7640 }
7641 
7642 void * __attribute__ ((noinline))
anv_resolve_device_entrypoint(const struct gen_device_info * devinfo,uint32_t index)7643 anv_resolve_device_entrypoint(const struct gen_device_info *devinfo, uint32_t index)
7644 {
7645    const struct anv_device_dispatch_table *genX_table;
7646    switch (devinfo->gen) {
7647    case 12:
7648       genX_table = &gen12_device_dispatch_table;
7649       break;
7650    case 11:
7651       genX_table = &gen11_device_dispatch_table;
7652       break;
7653    case 9:
7654       genX_table = &gen9_device_dispatch_table;
7655       break;
7656    case 8:
7657       genX_table = &gen8_device_dispatch_table;
7658       break;
7659    case 7:
7660       if (devinfo->is_haswell)
7661          genX_table = &gen75_device_dispatch_table;
7662       else
7663          genX_table = &gen7_device_dispatch_table;
7664       break;
7665    default:
7666       unreachable("unsupported gen\n");
7667    }
7668 
7669    if (genX_table->entrypoints[index])
7670       return genX_table->entrypoints[index];
7671    else
7672       return anv_device_dispatch_table.entrypoints[index];
7673 }
7674 
7675 void *
anv_lookup_entrypoint(const struct gen_device_info * devinfo,const char * name)7676 anv_lookup_entrypoint(const struct gen_device_info *devinfo, const char *name)
7677 {
7678    int idx = anv_get_instance_entrypoint_index(name);
7679    if (idx >= 0)
7680       return anv_instance_dispatch_table.entrypoints[idx];
7681 
7682    idx = anv_get_physical_device_entrypoint_index(name);
7683    if (idx >= 0)
7684       return anv_physical_device_dispatch_table.entrypoints[idx];
7685 
7686    idx = anv_get_device_entrypoint_index(name);
7687    if (idx >= 0)
7688       return anv_resolve_device_entrypoint(devinfo, idx);
7689 
7690    return NULL;
7691 }