• 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 struct anv_entrypoint {
29    uint32_t name;
30    uint32_t hash;
31 };
32 
33 /* We use a big string constant to avoid lots of reloctions from the entry
34  * point table to lots of little strings. The entries in the entry point table
35  * store the index into this big string.
36  */
37 
38 static const char strings[] =
39     "vkCreateInstance\0"
40     "vkDestroyInstance\0"
41     "vkEnumeratePhysicalDevices\0"
42     "vkGetDeviceProcAddr\0"
43     "vkGetInstanceProcAddr\0"
44     "vkGetPhysicalDeviceProperties\0"
45     "vkGetPhysicalDeviceQueueFamilyProperties\0"
46     "vkGetPhysicalDeviceMemoryProperties\0"
47     "vkGetPhysicalDeviceFeatures\0"
48     "vkGetPhysicalDeviceFormatProperties\0"
49     "vkGetPhysicalDeviceImageFormatProperties\0"
50     "vkCreateDevice\0"
51     "vkDestroyDevice\0"
52     "vkEnumerateInstanceLayerProperties\0"
53     "vkEnumerateInstanceExtensionProperties\0"
54     "vkEnumerateDeviceLayerProperties\0"
55     "vkEnumerateDeviceExtensionProperties\0"
56     "vkGetDeviceQueue\0"
57     "vkQueueSubmit\0"
58     "vkQueueWaitIdle\0"
59     "vkDeviceWaitIdle\0"
60     "vkAllocateMemory\0"
61     "vkFreeMemory\0"
62     "vkMapMemory\0"
63     "vkUnmapMemory\0"
64     "vkFlushMappedMemoryRanges\0"
65     "vkInvalidateMappedMemoryRanges\0"
66     "vkGetDeviceMemoryCommitment\0"
67     "vkGetBufferMemoryRequirements\0"
68     "vkBindBufferMemory\0"
69     "vkGetImageMemoryRequirements\0"
70     "vkBindImageMemory\0"
71     "vkGetImageSparseMemoryRequirements\0"
72     "vkGetPhysicalDeviceSparseImageFormatProperties\0"
73     "vkQueueBindSparse\0"
74     "vkCreateFence\0"
75     "vkDestroyFence\0"
76     "vkResetFences\0"
77     "vkGetFenceStatus\0"
78     "vkWaitForFences\0"
79     "vkCreateSemaphore\0"
80     "vkDestroySemaphore\0"
81     "vkCreateEvent\0"
82     "vkDestroyEvent\0"
83     "vkGetEventStatus\0"
84     "vkSetEvent\0"
85     "vkResetEvent\0"
86     "vkCreateQueryPool\0"
87     "vkDestroyQueryPool\0"
88     "vkGetQueryPoolResults\0"
89     "vkCreateBuffer\0"
90     "vkDestroyBuffer\0"
91     "vkCreateBufferView\0"
92     "vkDestroyBufferView\0"
93     "vkCreateImage\0"
94     "vkDestroyImage\0"
95     "vkGetImageSubresourceLayout\0"
96     "vkCreateImageView\0"
97     "vkDestroyImageView\0"
98     "vkCreateShaderModule\0"
99     "vkDestroyShaderModule\0"
100     "vkCreatePipelineCache\0"
101     "vkDestroyPipelineCache\0"
102     "vkGetPipelineCacheData\0"
103     "vkMergePipelineCaches\0"
104     "vkCreateGraphicsPipelines\0"
105     "vkCreateComputePipelines\0"
106     "vkDestroyPipeline\0"
107     "vkCreatePipelineLayout\0"
108     "vkDestroyPipelineLayout\0"
109     "vkCreateSampler\0"
110     "vkDestroySampler\0"
111     "vkCreateDescriptorSetLayout\0"
112     "vkDestroyDescriptorSetLayout\0"
113     "vkCreateDescriptorPool\0"
114     "vkDestroyDescriptorPool\0"
115     "vkResetDescriptorPool\0"
116     "vkAllocateDescriptorSets\0"
117     "vkFreeDescriptorSets\0"
118     "vkUpdateDescriptorSets\0"
119     "vkCreateFramebuffer\0"
120     "vkDestroyFramebuffer\0"
121     "vkCreateRenderPass\0"
122     "vkDestroyRenderPass\0"
123     "vkGetRenderAreaGranularity\0"
124     "vkCreateCommandPool\0"
125     "vkDestroyCommandPool\0"
126     "vkResetCommandPool\0"
127     "vkAllocateCommandBuffers\0"
128     "vkFreeCommandBuffers\0"
129     "vkBeginCommandBuffer\0"
130     "vkEndCommandBuffer\0"
131     "vkResetCommandBuffer\0"
132     "vkCmdBindPipeline\0"
133     "vkCmdSetViewport\0"
134     "vkCmdSetScissor\0"
135     "vkCmdSetLineWidth\0"
136     "vkCmdSetDepthBias\0"
137     "vkCmdSetBlendConstants\0"
138     "vkCmdSetDepthBounds\0"
139     "vkCmdSetStencilCompareMask\0"
140     "vkCmdSetStencilWriteMask\0"
141     "vkCmdSetStencilReference\0"
142     "vkCmdBindDescriptorSets\0"
143     "vkCmdBindIndexBuffer\0"
144     "vkCmdBindVertexBuffers\0"
145     "vkCmdDraw\0"
146     "vkCmdDrawIndexed\0"
147     "vkCmdDrawIndirect\0"
148     "vkCmdDrawIndexedIndirect\0"
149     "vkCmdDispatch\0"
150     "vkCmdDispatchIndirect\0"
151     "vkCmdCopyBuffer\0"
152     "vkCmdCopyImage\0"
153     "vkCmdBlitImage\0"
154     "vkCmdCopyBufferToImage\0"
155     "vkCmdCopyImageToBuffer\0"
156     "vkCmdUpdateBuffer\0"
157     "vkCmdFillBuffer\0"
158     "vkCmdClearColorImage\0"
159     "vkCmdClearDepthStencilImage\0"
160     "vkCmdClearAttachments\0"
161     "vkCmdResolveImage\0"
162     "vkCmdSetEvent\0"
163     "vkCmdResetEvent\0"
164     "vkCmdWaitEvents\0"
165     "vkCmdPipelineBarrier\0"
166     "vkCmdBeginQuery\0"
167     "vkCmdEndQuery\0"
168     "vkCmdResetQueryPool\0"
169     "vkCmdWriteTimestamp\0"
170     "vkCmdCopyQueryPoolResults\0"
171     "vkCmdPushConstants\0"
172     "vkCmdBeginRenderPass\0"
173     "vkCmdNextSubpass\0"
174     "vkCmdEndRenderPass\0"
175     "vkCmdExecuteCommands\0"
176     "vkDestroySurfaceKHR\0"
177     "vkGetPhysicalDeviceSurfaceSupportKHR\0"
178     "vkGetPhysicalDeviceSurfaceCapabilitiesKHR\0"
179     "vkGetPhysicalDeviceSurfaceFormatsKHR\0"
180     "vkGetPhysicalDeviceSurfacePresentModesKHR\0"
181     "vkCreateSwapchainKHR\0"
182     "vkDestroySwapchainKHR\0"
183     "vkGetSwapchainImagesKHR\0"
184     "vkAcquireNextImageKHR\0"
185     "vkQueuePresentKHR\0"
186     "vkCreateWaylandSurfaceKHR\0"
187     "vkGetPhysicalDeviceWaylandPresentationSupportKHR\0"
188     "vkCreateXlibSurfaceKHR\0"
189     "vkGetPhysicalDeviceXlibPresentationSupportKHR\0"
190     "vkCreateXcbSurfaceKHR\0"
191     "vkGetPhysicalDeviceXcbPresentationSupportKHR\0"
192     "vkCreateDebugReportCallbackEXT\0"
193     "vkDestroyDebugReportCallbackEXT\0"
194     "vkDebugReportMessageEXT\0"
195     "vkGetPhysicalDeviceFeatures2KHR\0"
196     "vkGetPhysicalDeviceProperties2KHR\0"
197     "vkGetPhysicalDeviceFormatProperties2KHR\0"
198     "vkGetPhysicalDeviceImageFormatProperties2KHR\0"
199     "vkGetPhysicalDeviceQueueFamilyProperties2KHR\0"
200     "vkGetPhysicalDeviceMemoryProperties2KHR\0"
201     "vkGetPhysicalDeviceSparseImageFormatProperties2KHR\0"
202     "vkCmdPushDescriptorSetKHR\0"
203     "vkTrimCommandPoolKHR\0"
204     "vkGetPhysicalDeviceExternalBufferPropertiesKHR\0"
205     "vkGetMemoryFdKHR\0"
206     "vkGetMemoryFdPropertiesKHR\0"
207     "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR\0"
208     "vkGetSemaphoreFdKHR\0"
209     "vkImportSemaphoreFdKHR\0"
210     "vkGetPhysicalDeviceExternalFencePropertiesKHR\0"
211     "vkGetFenceFdKHR\0"
212     "vkImportFenceFdKHR\0"
213     "vkBindBufferMemory2KHR\0"
214     "vkBindImageMemory2KHR\0"
215     "vkCreateDescriptorUpdateTemplateKHR\0"
216     "vkDestroyDescriptorUpdateTemplateKHR\0"
217     "vkUpdateDescriptorSetWithTemplateKHR\0"
218     "vkCmdPushDescriptorSetWithTemplateKHR\0"
219     "vkGetPhysicalDeviceSurfaceCapabilities2KHR\0"
220     "vkGetPhysicalDeviceSurfaceFormats2KHR\0"
221     "vkGetBufferMemoryRequirements2KHR\0"
222     "vkGetImageMemoryRequirements2KHR\0"
223     "vkGetImageSparseMemoryRequirements2KHR\0"
224     "vkCreateSamplerYcbcrConversionKHR\0"
225     "vkDestroySamplerYcbcrConversionKHR\0"
226     "vkGetSwapchainGrallocUsageANDROID\0"
227     "vkAcquireImageANDROID\0"
228     "vkQueueSignalReleaseImageANDROID\0"
229     "vkCreateDmaBufImageINTEL\0"
230 ;
231 
232 static const struct anv_entrypoint entrypoints[] = {
233     [0] = { 0, 0x38a581a6 }, /* vkCreateInstance */
234     [1] = { 17, 0x9bd21af2 }, /* vkDestroyInstance */
235     [2] = { 35, 0x5787c327 }, /* vkEnumeratePhysicalDevices */
236     [3] = { 62, 0xba013486 }, /* vkGetDeviceProcAddr */
237     [4] = { 82, 0x3d2ae9ad }, /* vkGetInstanceProcAddr */
238     [5] = { 104, 0x52fe22c9 }, /* vkGetPhysicalDeviceProperties */
239     [6] = { 134, 0x4e5fc88a }, /* vkGetPhysicalDeviceQueueFamilyProperties */
240     [7] = { 175, 0xa90da4da }, /* vkGetPhysicalDeviceMemoryProperties */
241     [8] = { 211, 0x113e2f33 }, /* vkGetPhysicalDeviceFeatures */
242     [9] = { 239, 0x3e54b398 }, /* vkGetPhysicalDeviceFormatProperties */
243     [10] = { 275, 0xdd36a867 }, /* vkGetPhysicalDeviceImageFormatProperties */
244     [11] = { 316, 0x85ed23f }, /* vkCreateDevice */
245     [12] = { 331, 0x1fbcc9cb }, /* vkDestroyDevice */
246     [13] = { 347, 0x81f69d8 }, /* vkEnumerateInstanceLayerProperties */
247     [14] = { 382, 0xeb27627e }, /* vkEnumerateInstanceExtensionProperties */
248     [15] = { 421, 0x2f8566e7 }, /* vkEnumerateDeviceLayerProperties */
249     [16] = { 454, 0x5fd13eed }, /* vkEnumerateDeviceExtensionProperties */
250     [17] = { 491, 0xcc920d9a }, /* vkGetDeviceQueue */
251     [18] = { 508, 0xfa4713ec }, /* vkQueueSubmit */
252     [19] = { 522, 0x6f8fc2a5 }, /* vkQueueWaitIdle */
253     [20] = { 538, 0xd46c5f24 }, /* vkDeviceWaitIdle */
254     [21] = { 555, 0x522b85d3 }, /* vkAllocateMemory */
255     [22] = { 572, 0x8f6f838a }, /* vkFreeMemory */
256     [23] = { 585, 0xcb977bd8 }, /* vkMapMemory */
257     [24] = { 597, 0x1a1a0e2f }, /* vkUnmapMemory */
258     [25] = { 611, 0xff52f051 }, /* vkFlushMappedMemoryRanges */
259     [26] = { 637, 0x1e115cca }, /* vkInvalidateMappedMemoryRanges */
260     [27] = { 668, 0x46e38db5 }, /* vkGetDeviceMemoryCommitment */
261     [28] = { 696, 0xab98422a }, /* vkGetBufferMemoryRequirements */
262     [29] = { 726, 0x6bcbdcb }, /* vkBindBufferMemory */
263     [30] = { 745, 0x916f1e63 }, /* vkGetImageMemoryRequirements */
264     [31] = { 774, 0x5caaae4a }, /* vkBindImageMemory */
265     [32] = { 792, 0x15855f5b }, /* vkGetImageSparseMemoryRequirements */
266     [33] = { 827, 0x272ef8ef }, /* vkGetPhysicalDeviceSparseImageFormatProperties */
267     [34] = { 874, 0xc3628a09 }, /* vkQueueBindSparse */
268     [35] = { 892, 0x958af968 }, /* vkCreateFence */
269     [36] = { 906, 0xfc64ee3c }, /* vkDestroyFence */
270     [37] = { 921, 0x684781dc }, /* vkResetFences */
271     [38] = { 935, 0x5f391892 }, /* vkGetFenceStatus */
272     [39] = { 952, 0x19d64c81 }, /* vkWaitForFences */
273     [40] = { 968, 0xf2065e5b }, /* vkCreateSemaphore */
274     [41] = { 986, 0xcaab1faf }, /* vkDestroySemaphore */
275     [42] = { 1005, 0xe7188731 }, /* vkCreateEvent */
276     [43] = { 1019, 0x4df27c05 }, /* vkDestroyEvent */
277     [44] = { 1034, 0x96d834b }, /* vkGetEventStatus */
278     [45] = { 1051, 0x592ae5f5 }, /* vkSetEvent */
279     [46] = { 1062, 0x6d373ba8 }, /* vkResetEvent */
280     [47] = { 1075, 0x5edcd92b }, /* vkCreateQueryPool */
281     [48] = { 1093, 0x37819a7f }, /* vkDestroyQueryPool */
282     [49] = { 1112, 0xbf3f2cb3 }, /* vkGetQueryPoolResults */
283     [50] = { 1134, 0x7d4282b9 }, /* vkCreateBuffer */
284     [51] = { 1149, 0x94a07a45 }, /* vkDestroyBuffer */
285     [52] = { 1165, 0x925bd256 }, /* vkCreateBufferView */
286     [53] = { 1184, 0x98b27962 }, /* vkDestroyBufferView */
287     [54] = { 1204, 0x652128c2 }, /* vkCreateImage */
288     [55] = { 1218, 0xcbfb1d96 }, /* vkDestroyImage */
289     [56] = { 1233, 0x9163b686 }, /* vkGetImageSubresourceLayout */
290     [57] = { 1261, 0xdce077ff }, /* vkCreateImageView */
291     [58] = { 1279, 0xb5853953 }, /* vkDestroyImageView */
292     [59] = { 1298, 0xa0d3cea2 }, /* vkCreateShaderModule */
293     [60] = { 1319, 0x2d77af6e }, /* vkDestroyShaderModule */
294     [61] = { 1341, 0xcbf6489f }, /* vkCreatePipelineCache */
295     [62] = { 1363, 0x4112a673 }, /* vkDestroyPipelineCache */
296     [63] = { 1386, 0x2092a349 }, /* vkGetPipelineCacheData */
297     [64] = { 1409, 0xc3499606 }, /* vkMergePipelineCaches */
298     [65] = { 1431, 0x4b59f96d }, /* vkCreateGraphicsPipelines */
299     [66] = { 1457, 0xf70c85eb }, /* vkCreateComputePipelines */
300     [67] = { 1482, 0x6aac68af }, /* vkDestroyPipeline */
301     [68] = { 1500, 0x451ef1ed }, /* vkCreatePipelineLayout */
302     [69] = { 1523, 0x9146f879 }, /* vkDestroyPipelineLayout */
303     [70] = { 1547, 0x13cf03f }, /* vkCreateSampler */
304     [71] = { 1563, 0x3b645153 }, /* vkDestroySampler */
305     [72] = { 1580, 0x3c14cc74 }, /* vkCreateDescriptorSetLayout */
306     [73] = { 1608, 0xa4227b08 }, /* vkDestroyDescriptorSetLayout */
307     [74] = { 1637, 0xfb95a8a4 }, /* vkCreateDescriptorPool */
308     [75] = { 1660, 0x47bdaf30 }, /* vkDestroyDescriptorPool */
309     [76] = { 1684, 0x9bd85f5 }, /* vkResetDescriptorPool */
310     [77] = { 1706, 0x4c449d3a }, /* vkAllocateDescriptorSets */
311     [78] = { 1731, 0x7a1347b1 }, /* vkFreeDescriptorSets */
312     [79] = { 1752, 0xbfd090ae }, /* vkUpdateDescriptorSets */
313     [80] = { 1775, 0x887a38c4 }, /* vkCreateFramebuffer */
314     [81] = { 1795, 0xdc428e58 }, /* vkDestroyFramebuffer */
315     [82] = { 1816, 0x109a9c18 }, /* vkCreateRenderPass */
316     [83] = { 1835, 0x16f14324 }, /* vkDestroyRenderPass */
317     [84] = { 1855, 0xa9820d22 }, /* vkGetRenderAreaGranularity */
318     [85] = { 1882, 0x820fe476 }, /* vkCreateCommandPool */
319     [86] = { 1902, 0xd5d83a0a }, /* vkDestroyCommandPool */
320     [87] = { 1923, 0x6da9f7fd }, /* vkResetCommandPool */
321     [88] = { 1942, 0x8c0c811a }, /* vkAllocateCommandBuffers */
322     [89] = { 1967, 0xb9db2b91 }, /* vkFreeCommandBuffers */
323     [90] = { 1988, 0xc54f7327 }, /* vkBeginCommandBuffer */
324     [91] = { 2009, 0xaffb5725 }, /* vkEndCommandBuffer */
325     [92] = { 2028, 0x847dc731 }, /* vkResetCommandBuffer */
326     [93] = { 2049, 0x3af9fd84 }, /* vkCmdBindPipeline */
327     [94] = { 2067, 0x53d6c2b }, /* vkCmdSetViewport */
328     [95] = { 2084, 0x48f28c7f }, /* vkCmdSetScissor */
329     [96] = { 2100, 0x32282165 }, /* vkCmdSetLineWidth */
330     [97] = { 2118, 0x30f14d07 }, /* vkCmdSetDepthBias */
331     [98] = { 2136, 0x1c989dfb }, /* vkCmdSetBlendConstants */
332     [99] = { 2159, 0x7b3a8a63 }, /* vkCmdSetDepthBounds */
333     [100] = { 2179, 0xa8f534e2 }, /* vkCmdSetStencilCompareMask */
334     [101] = { 2206, 0xe7c4b134 }, /* vkCmdSetStencilWriteMask */
335     [102] = { 2231, 0x83e2b024 }, /* vkCmdSetStencilReference */
336     [103] = { 2256, 0x28c7a5da }, /* vkCmdBindDescriptorSets */
337     [104] = { 2280, 0x4c22d870 }, /* vkCmdBindIndexBuffer */
338     [105] = { 2301, 0xa9c83f1d }, /* vkCmdBindVertexBuffers */
339     [106] = { 2324, 0x9912c1a1 }, /* vkCmdDraw */
340     [107] = { 2334, 0xbe5a8058 }, /* vkCmdDrawIndexed */
341     [108] = { 2351, 0xe9ac41bf }, /* vkCmdDrawIndirect */
342     [109] = { 2369, 0x94e7ed36 }, /* vkCmdDrawIndexedIndirect */
343     [110] = { 2394, 0xbd58e867 }, /* vkCmdDispatch */
344     [111] = { 2408, 0xd6353005 }, /* vkCmdDispatchIndirect */
345     [112] = { 2430, 0xc939a0da }, /* vkCmdCopyBuffer */
346     [113] = { 2446, 0x278effa9 }, /* vkCmdCopyImage */
347     [114] = { 2461, 0x331ebf89 }, /* vkCmdBlitImage */
348     [115] = { 2476, 0x929847e }, /* vkCmdCopyBufferToImage */
349     [116] = { 2499, 0x68cddbac }, /* vkCmdCopyImageToBuffer */
350     [117] = { 2522, 0xd2986b5e }, /* vkCmdUpdateBuffer */
351     [118] = { 2540, 0x5bdd2ae0 }, /* vkCmdFillBuffer */
352     [119] = { 2556, 0xb4bc8d08 }, /* vkCmdClearColorImage */
353     [120] = { 2577, 0x4f88e4ba }, /* vkCmdClearDepthStencilImage */
354     [121] = { 2605, 0x93cb5cb8 }, /* vkCmdClearAttachments */
355     [122] = { 2627, 0x671bb594 }, /* vkCmdResolveImage */
356     [123] = { 2645, 0xe257f075 }, /* vkCmdSetEvent */
357     [124] = { 2659, 0x4fccce28 }, /* vkCmdResetEvent */
358     [125] = { 2675, 0x3b9346b3 }, /* vkCmdWaitEvents */
359     [126] = { 2691, 0x97fccfe8 }, /* vkCmdPipelineBarrier */
360     [127] = { 2712, 0xf5064ea4 }, /* vkCmdBeginQuery */
361     [128] = { 2728, 0xd556fd22 }, /* vkCmdEndQuery */
362     [129] = { 2742, 0x2f614082 }, /* vkCmdResetQueryPool */
363     [130] = { 2762, 0xec4d324c }, /* vkCmdWriteTimestamp */
364     [131] = { 2782, 0xdee8c6d4 }, /* vkCmdCopyQueryPoolResults */
365     [132] = { 2808, 0xb1c6b468 }, /* vkCmdPushConstants */
366     [133] = { 2827, 0xcb7a58e3 }, /* vkCmdBeginRenderPass */
367     [134] = { 2848, 0x2eeec2f9 }, /* vkCmdNextSubpass */
368     [135] = { 2865, 0xdcdb0235 }, /* vkCmdEndRenderPass */
369     [136] = { 2884, 0x9eaabe40 }, /* vkCmdExecuteCommands */
370     [137] = { 2905, 0xf204ce7d }, /* vkDestroySurfaceKHR */
371     [138] = { 2925, 0x1a687885 }, /* vkGetPhysicalDeviceSurfaceSupportKHR */
372     [139] = { 2962, 0x77890558 }, /* vkGetPhysicalDeviceSurfaceCapabilitiesKHR */
373     [140] = { 3004, 0xe32227c8 }, /* vkGetPhysicalDeviceSurfaceFormatsKHR */
374     [141] = { 3041, 0x31c3cbd1 }, /* vkGetPhysicalDeviceSurfacePresentModesKHR */
375     [142] = { 3083, 0xcdefcaa8 }, /* vkCreateSwapchainKHR */
376     [143] = { 3104, 0x5a93ab74 }, /* vkDestroySwapchainKHR */
377     [144] = { 3126, 0x57695f28 }, /* vkGetSwapchainImagesKHR */
378     [145] = { 3150, 0xc3fedb2e }, /* vkAcquireNextImageKHR */
379     [146] = { 3172, 0xfc5fb6ce }, /* vkQueuePresentKHR */
380     [147] = { 3190, 0x2b2a4b79 }, /* vkCreateWaylandSurfaceKHR */
381     [148] = { 3216, 0x84e085ac }, /* vkGetPhysicalDeviceWaylandPresentationSupportKHR */
382     [149] = { 3265, 0xa693bc66 }, /* vkCreateXlibSurfaceKHR */
383     [150] = { 3288, 0x34a063ab }, /* vkGetPhysicalDeviceXlibPresentationSupportKHR */
384     [151] = { 3334, 0xc5e5b106 }, /* vkCreateXcbSurfaceKHR */
385     [152] = { 3356, 0x41782cb9 }, /* vkGetPhysicalDeviceXcbPresentationSupportKHR */
386     [153] = { 3401, 0x987ef56 }, /* vkCreateDebugReportCallbackEXT */
387     [154] = { 3432, 0x43d4c4e2 }, /* vkDestroyDebugReportCallbackEXT */
388     [155] = { 3464, 0xa4e75334 }, /* vkDebugReportMessageEXT */
389     [156] = { 3488, 0x6a9a3636 }, /* vkGetPhysicalDeviceFeatures2KHR */
390     [157] = { 3520, 0xcd15838c }, /* vkGetPhysicalDeviceProperties2KHR */
391     [158] = { 3554, 0x9099cbbb }, /* vkGetPhysicalDeviceFormatProperties2KHR */
392     [159] = { 3594, 0x102ff7ea }, /* vkGetPhysicalDeviceImageFormatProperties2KHR */
393     [160] = { 3639, 0x5ceb2bed }, /* vkGetPhysicalDeviceQueueFamilyProperties2KHR */
394     [161] = { 3684, 0xc8c3da3d }, /* vkGetPhysicalDeviceMemoryProperties2KHR */
395     [162] = { 3724, 0x8746ed72 }, /* vkGetPhysicalDeviceSparseImageFormatProperties2KHR */
396     [163] = { 3775, 0xf17232a1 }, /* vkCmdPushDescriptorSetKHR */
397     [164] = { 3801, 0x51177c8d }, /* vkTrimCommandPoolKHR */
398     [165] = { 3822, 0xee68b389 }, /* vkGetPhysicalDeviceExternalBufferPropertiesKHR */
399     [166] = { 3869, 0x503c14c5 }, /* vkGetMemoryFdKHR */
400     [167] = { 3886, 0xb028a792 }, /* vkGetMemoryFdPropertiesKHR */
401     [168] = { 3913, 0x984c3fa7 }, /* vkGetPhysicalDeviceExternalSemaphorePropertiesKHR */
402     [169] = { 3963, 0x3e0e9884 }, /* vkGetSemaphoreFdKHR */
403     [170] = { 3983, 0x36337c05 }, /* vkImportSemaphoreFdKHR */
404     [171] = { 4006, 0x99b35492 }, /* vkGetPhysicalDeviceExternalFencePropertiesKHR */
405     [172] = { 4052, 0x69a5d6af }, /* vkGetFenceFdKHR */
406     [173] = { 4068, 0x51df0390 }, /* vkImportFenceFdKHR */
407     [174] = { 4087, 0x6878d3ce }, /* vkBindBufferMemory2KHR */
408     [175] = { 4110, 0xf18729ad }, /* vkBindImageMemory2KHR */
409     [176] = { 4132, 0x5189488a }, /* vkCreateDescriptorUpdateTemplateKHR */
410     [177] = { 4168, 0xaa83901e }, /* vkDestroyDescriptorUpdateTemplateKHR */
411     [178] = { 4205, 0x214ad230 }, /* vkUpdateDescriptorSetWithTemplateKHR */
412     [179] = { 4242, 0x3d528981 }, /* vkCmdPushDescriptorSetWithTemplateKHR */
413     [180] = { 4280, 0x9497e378 }, /* vkGetPhysicalDeviceSurfaceCapabilities2KHR */
414     [181] = { 4323, 0xd00b7188 }, /* vkGetPhysicalDeviceSurfaceFormats2KHR */
415     [182] = { 4361, 0x78dbe98d }, /* vkGetBufferMemoryRequirements2KHR */
416     [183] = { 4395, 0x8de28366 }, /* vkGetImageMemoryRequirements2KHR */
417     [184] = { 4428, 0x3df40f5e }, /* vkGetImageSparseMemoryRequirements2KHR */
418     [185] = { 4467, 0x7482104f }, /* vkCreateSamplerYcbcrConversionKHR */
419     [186] = { 4501, 0xaaa623a3 }, /* vkDestroySamplerYcbcrConversionKHR */
420     [187] = { 4536, 0x4979c9a3 }, /* vkGetSwapchainGrallocUsageANDROID */
421     [188] = { 4570, 0x6bf780dd }, /* vkAcquireImageANDROID */
422     [189] = { 4592, 0xa0313eef }, /* vkQueueSignalReleaseImageANDROID */
423     [190] = { 4625, 0x6392dfa7 }, /* vkCreateDmaBufImageINTEL */
424 };
425 
426 /* Weak aliases for all potential implementations. These will resolve to
427  * NULL if they're not defined, which lets the resolve_entrypoint() function
428  * either pick the correct entry point.
429  */
430 
431     VkResult anv_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
432     void anv_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
433     VkResult anv_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
434     PFN_vkVoidFunction anv_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
435     PFN_vkVoidFunction anv_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
436     void anv_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
437     void anv_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
438     void anv_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
439     void anv_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
440     void anv_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
441     VkResult anv_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
442     VkResult anv_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
443     void anv_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
444     VkResult anv_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
445     VkResult anv_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
446     VkResult anv_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
447     VkResult anv_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
448     void anv_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
449     VkResult anv_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
450     VkResult anv_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
451     VkResult anv_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
452     VkResult anv_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
453     void anv_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
454     VkResult anv_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
455     void anv_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
456     VkResult anv_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
457     VkResult anv_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
458     void anv_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
459     void anv_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
460     VkResult anv_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
461     void anv_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
462     VkResult anv_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
463     void anv_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
464     void anv_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
465     VkResult anv_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
466     VkResult anv_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
467     void anv_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
468     VkResult anv_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
469     VkResult anv_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
470     VkResult anv_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
471     VkResult anv_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
472     void anv_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
473     VkResult anv_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
474     void anv_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
475     VkResult anv_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
476     VkResult anv_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
477     VkResult anv_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
478     VkResult anv_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
479     void anv_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
480     VkResult anv_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
481     VkResult anv_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
482     void anv_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
483     VkResult anv_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
484     void anv_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
485     VkResult anv_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
486     void anv_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
487     void anv_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
488     VkResult anv_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
489     void anv_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
490     VkResult anv_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
491     void anv_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
492     VkResult anv_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
493     void anv_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
494     VkResult anv_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
495     VkResult anv_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
496     VkResult anv_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
497     VkResult anv_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
498     void anv_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
499     VkResult anv_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
500     void anv_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
501     VkResult anv_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
502     void anv_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
503     VkResult anv_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
504     void anv_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
505     VkResult anv_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
506     void anv_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
507     VkResult anv_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
508     VkResult anv_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
509     VkResult anv_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
510     void anv_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
511     VkResult anv_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
512     void anv_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
513     VkResult anv_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
514     void anv_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
515     void anv_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
516     VkResult anv_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
517     void anv_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
518     VkResult anv_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
519     VkResult anv_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
520     void anv_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
521     VkResult anv_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
522     VkResult anv_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
523     VkResult anv_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
524     void anv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
525     void anv_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
526     void anv_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
527     void anv_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
528     void anv_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
529     void anv_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
530     void anv_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
531     void anv_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
532     void anv_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
533     void anv_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
534     void anv_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));
535     void anv_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
536     void anv_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
537     void anv_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
538     void anv_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
539     void anv_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
540     void anv_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
541     void anv_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
542     void anv_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
543     void anv_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
544     void anv_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
545     void anv_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
546     void anv_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
547     void anv_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
548     void anv_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
549     void anv_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
550     void anv_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
551     void anv_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
552     void anv_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
553     void anv_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
554     void anv_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
555     void anv_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
556     void 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) __attribute__ ((weak));
557     void 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) __attribute__ ((weak));
558     void anv_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
559     void anv_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
560     void anv_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
561     void anv_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
562     void anv_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
563     void anv_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
564     void anv_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
565     void anv_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
566     void anv_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
567     void anv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
568     void anv_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
569     VkResult anv_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
570     VkResult anv_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
571     VkResult anv_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
572     VkResult anv_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
573     VkResult anv_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
574     void anv_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
575     VkResult anv_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
576     VkResult anv_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
577     VkResult anv_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
578 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
579     VkResult anv_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
580 #endif // VK_USE_PLATFORM_WAYLAND_KHR
581 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
582     VkBool32 anv_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
583 #endif // VK_USE_PLATFORM_WAYLAND_KHR
584 #ifdef VK_USE_PLATFORM_XLIB_KHR
585     VkResult anv_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
586 #endif // VK_USE_PLATFORM_XLIB_KHR
587 #ifdef VK_USE_PLATFORM_XLIB_KHR
588     VkBool32 anv_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
589 #endif // VK_USE_PLATFORM_XLIB_KHR
590 #ifdef VK_USE_PLATFORM_XCB_KHR
591     VkResult anv_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
592 #endif // VK_USE_PLATFORM_XCB_KHR
593 #ifdef VK_USE_PLATFORM_XCB_KHR
594     VkBool32 anv_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
595 #endif // VK_USE_PLATFORM_XCB_KHR
596     VkResult anv_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
597     void anv_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
598     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));
599     void anv_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures) __attribute__ ((weak));
600     void anv_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties) __attribute__ ((weak));
601     void anv_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties) __attribute__ ((weak));
602     VkResult anv_GetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties) __attribute__ ((weak));
603     void anv_GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties) __attribute__ ((weak));
604     void anv_GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties) __attribute__ ((weak));
605     void anv_GetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties) __attribute__ ((weak));
606     void anv_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
607     void anv_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) __attribute__ ((weak));
608     void anv_GetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties) __attribute__ ((weak));
609     VkResult anv_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
610     VkResult anv_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
611     void anv_GetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties) __attribute__ ((weak));
612     VkResult anv_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
613     VkResult anv_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
614     void anv_GetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties) __attribute__ ((weak));
615     VkResult anv_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
616     VkResult anv_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
617     VkResult anv_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
618     VkResult anv_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
619     VkResult anv_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) __attribute__ ((weak));
620     void anv_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
621     void anv_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
622     void anv_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
623     VkResult anv_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
624     VkResult anv_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
625     void anv_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
626     void anv_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
627     void anv_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) __attribute__ ((weak));
628     VkResult anv_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) __attribute__ ((weak));
629     void anv_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
630 #ifdef ANDROID
631     VkResult anv_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
632 #endif // ANDROID
633 #ifdef ANDROID
634     VkResult anv_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
635 #endif // ANDROID
636 #ifdef ANDROID
637     VkResult anv_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
638 #endif // ANDROID
639     VkResult anv_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
640 
641   const struct anv_dispatch_table anv_dispatch_table = {
642     .vkCreateInstance = anv_CreateInstance,
643     .vkDestroyInstance = anv_DestroyInstance,
644     .vkEnumeratePhysicalDevices = anv_EnumeratePhysicalDevices,
645     .vkGetDeviceProcAddr = anv_GetDeviceProcAddr,
646     .vkGetInstanceProcAddr = anv_GetInstanceProcAddr,
647     .vkGetPhysicalDeviceProperties = anv_GetPhysicalDeviceProperties,
648     .vkGetPhysicalDeviceQueueFamilyProperties = anv_GetPhysicalDeviceQueueFamilyProperties,
649     .vkGetPhysicalDeviceMemoryProperties = anv_GetPhysicalDeviceMemoryProperties,
650     .vkGetPhysicalDeviceFeatures = anv_GetPhysicalDeviceFeatures,
651     .vkGetPhysicalDeviceFormatProperties = anv_GetPhysicalDeviceFormatProperties,
652     .vkGetPhysicalDeviceImageFormatProperties = anv_GetPhysicalDeviceImageFormatProperties,
653     .vkCreateDevice = anv_CreateDevice,
654     .vkDestroyDevice = anv_DestroyDevice,
655     .vkEnumerateInstanceLayerProperties = anv_EnumerateInstanceLayerProperties,
656     .vkEnumerateInstanceExtensionProperties = anv_EnumerateInstanceExtensionProperties,
657     .vkEnumerateDeviceLayerProperties = anv_EnumerateDeviceLayerProperties,
658     .vkEnumerateDeviceExtensionProperties = anv_EnumerateDeviceExtensionProperties,
659     .vkGetDeviceQueue = anv_GetDeviceQueue,
660     .vkQueueSubmit = anv_QueueSubmit,
661     .vkQueueWaitIdle = anv_QueueWaitIdle,
662     .vkDeviceWaitIdle = anv_DeviceWaitIdle,
663     .vkAllocateMemory = anv_AllocateMemory,
664     .vkFreeMemory = anv_FreeMemory,
665     .vkMapMemory = anv_MapMemory,
666     .vkUnmapMemory = anv_UnmapMemory,
667     .vkFlushMappedMemoryRanges = anv_FlushMappedMemoryRanges,
668     .vkInvalidateMappedMemoryRanges = anv_InvalidateMappedMemoryRanges,
669     .vkGetDeviceMemoryCommitment = anv_GetDeviceMemoryCommitment,
670     .vkGetBufferMemoryRequirements = anv_GetBufferMemoryRequirements,
671     .vkBindBufferMemory = anv_BindBufferMemory,
672     .vkGetImageMemoryRequirements = anv_GetImageMemoryRequirements,
673     .vkBindImageMemory = anv_BindImageMemory,
674     .vkGetImageSparseMemoryRequirements = anv_GetImageSparseMemoryRequirements,
675     .vkGetPhysicalDeviceSparseImageFormatProperties = anv_GetPhysicalDeviceSparseImageFormatProperties,
676     .vkQueueBindSparse = anv_QueueBindSparse,
677     .vkCreateFence = anv_CreateFence,
678     .vkDestroyFence = anv_DestroyFence,
679     .vkResetFences = anv_ResetFences,
680     .vkGetFenceStatus = anv_GetFenceStatus,
681     .vkWaitForFences = anv_WaitForFences,
682     .vkCreateSemaphore = anv_CreateSemaphore,
683     .vkDestroySemaphore = anv_DestroySemaphore,
684     .vkCreateEvent = anv_CreateEvent,
685     .vkDestroyEvent = anv_DestroyEvent,
686     .vkGetEventStatus = anv_GetEventStatus,
687     .vkSetEvent = anv_SetEvent,
688     .vkResetEvent = anv_ResetEvent,
689     .vkCreateQueryPool = anv_CreateQueryPool,
690     .vkDestroyQueryPool = anv_DestroyQueryPool,
691     .vkGetQueryPoolResults = anv_GetQueryPoolResults,
692     .vkCreateBuffer = anv_CreateBuffer,
693     .vkDestroyBuffer = anv_DestroyBuffer,
694     .vkCreateBufferView = anv_CreateBufferView,
695     .vkDestroyBufferView = anv_DestroyBufferView,
696     .vkCreateImage = anv_CreateImage,
697     .vkDestroyImage = anv_DestroyImage,
698     .vkGetImageSubresourceLayout = anv_GetImageSubresourceLayout,
699     .vkCreateImageView = anv_CreateImageView,
700     .vkDestroyImageView = anv_DestroyImageView,
701     .vkCreateShaderModule = anv_CreateShaderModule,
702     .vkDestroyShaderModule = anv_DestroyShaderModule,
703     .vkCreatePipelineCache = anv_CreatePipelineCache,
704     .vkDestroyPipelineCache = anv_DestroyPipelineCache,
705     .vkGetPipelineCacheData = anv_GetPipelineCacheData,
706     .vkMergePipelineCaches = anv_MergePipelineCaches,
707     .vkCreateGraphicsPipelines = anv_CreateGraphicsPipelines,
708     .vkCreateComputePipelines = anv_CreateComputePipelines,
709     .vkDestroyPipeline = anv_DestroyPipeline,
710     .vkCreatePipelineLayout = anv_CreatePipelineLayout,
711     .vkDestroyPipelineLayout = anv_DestroyPipelineLayout,
712     .vkCreateSampler = anv_CreateSampler,
713     .vkDestroySampler = anv_DestroySampler,
714     .vkCreateDescriptorSetLayout = anv_CreateDescriptorSetLayout,
715     .vkDestroyDescriptorSetLayout = anv_DestroyDescriptorSetLayout,
716     .vkCreateDescriptorPool = anv_CreateDescriptorPool,
717     .vkDestroyDescriptorPool = anv_DestroyDescriptorPool,
718     .vkResetDescriptorPool = anv_ResetDescriptorPool,
719     .vkAllocateDescriptorSets = anv_AllocateDescriptorSets,
720     .vkFreeDescriptorSets = anv_FreeDescriptorSets,
721     .vkUpdateDescriptorSets = anv_UpdateDescriptorSets,
722     .vkCreateFramebuffer = anv_CreateFramebuffer,
723     .vkDestroyFramebuffer = anv_DestroyFramebuffer,
724     .vkCreateRenderPass = anv_CreateRenderPass,
725     .vkDestroyRenderPass = anv_DestroyRenderPass,
726     .vkGetRenderAreaGranularity = anv_GetRenderAreaGranularity,
727     .vkCreateCommandPool = anv_CreateCommandPool,
728     .vkDestroyCommandPool = anv_DestroyCommandPool,
729     .vkResetCommandPool = anv_ResetCommandPool,
730     .vkAllocateCommandBuffers = anv_AllocateCommandBuffers,
731     .vkFreeCommandBuffers = anv_FreeCommandBuffers,
732     .vkBeginCommandBuffer = anv_BeginCommandBuffer,
733     .vkEndCommandBuffer = anv_EndCommandBuffer,
734     .vkResetCommandBuffer = anv_ResetCommandBuffer,
735     .vkCmdBindPipeline = anv_CmdBindPipeline,
736     .vkCmdSetViewport = anv_CmdSetViewport,
737     .vkCmdSetScissor = anv_CmdSetScissor,
738     .vkCmdSetLineWidth = anv_CmdSetLineWidth,
739     .vkCmdSetDepthBias = anv_CmdSetDepthBias,
740     .vkCmdSetBlendConstants = anv_CmdSetBlendConstants,
741     .vkCmdSetDepthBounds = anv_CmdSetDepthBounds,
742     .vkCmdSetStencilCompareMask = anv_CmdSetStencilCompareMask,
743     .vkCmdSetStencilWriteMask = anv_CmdSetStencilWriteMask,
744     .vkCmdSetStencilReference = anv_CmdSetStencilReference,
745     .vkCmdBindDescriptorSets = anv_CmdBindDescriptorSets,
746     .vkCmdBindIndexBuffer = anv_CmdBindIndexBuffer,
747     .vkCmdBindVertexBuffers = anv_CmdBindVertexBuffers,
748     .vkCmdDraw = anv_CmdDraw,
749     .vkCmdDrawIndexed = anv_CmdDrawIndexed,
750     .vkCmdDrawIndirect = anv_CmdDrawIndirect,
751     .vkCmdDrawIndexedIndirect = anv_CmdDrawIndexedIndirect,
752     .vkCmdDispatch = anv_CmdDispatch,
753     .vkCmdDispatchIndirect = anv_CmdDispatchIndirect,
754     .vkCmdCopyBuffer = anv_CmdCopyBuffer,
755     .vkCmdCopyImage = anv_CmdCopyImage,
756     .vkCmdBlitImage = anv_CmdBlitImage,
757     .vkCmdCopyBufferToImage = anv_CmdCopyBufferToImage,
758     .vkCmdCopyImageToBuffer = anv_CmdCopyImageToBuffer,
759     .vkCmdUpdateBuffer = anv_CmdUpdateBuffer,
760     .vkCmdFillBuffer = anv_CmdFillBuffer,
761     .vkCmdClearColorImage = anv_CmdClearColorImage,
762     .vkCmdClearDepthStencilImage = anv_CmdClearDepthStencilImage,
763     .vkCmdClearAttachments = anv_CmdClearAttachments,
764     .vkCmdResolveImage = anv_CmdResolveImage,
765     .vkCmdSetEvent = anv_CmdSetEvent,
766     .vkCmdResetEvent = anv_CmdResetEvent,
767     .vkCmdWaitEvents = anv_CmdWaitEvents,
768     .vkCmdPipelineBarrier = anv_CmdPipelineBarrier,
769     .vkCmdBeginQuery = anv_CmdBeginQuery,
770     .vkCmdEndQuery = anv_CmdEndQuery,
771     .vkCmdResetQueryPool = anv_CmdResetQueryPool,
772     .vkCmdWriteTimestamp = anv_CmdWriteTimestamp,
773     .vkCmdCopyQueryPoolResults = anv_CmdCopyQueryPoolResults,
774     .vkCmdPushConstants = anv_CmdPushConstants,
775     .vkCmdBeginRenderPass = anv_CmdBeginRenderPass,
776     .vkCmdNextSubpass = anv_CmdNextSubpass,
777     .vkCmdEndRenderPass = anv_CmdEndRenderPass,
778     .vkCmdExecuteCommands = anv_CmdExecuteCommands,
779     .vkDestroySurfaceKHR = anv_DestroySurfaceKHR,
780     .vkGetPhysicalDeviceSurfaceSupportKHR = anv_GetPhysicalDeviceSurfaceSupportKHR,
781     .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = anv_GetPhysicalDeviceSurfaceCapabilitiesKHR,
782     .vkGetPhysicalDeviceSurfaceFormatsKHR = anv_GetPhysicalDeviceSurfaceFormatsKHR,
783     .vkGetPhysicalDeviceSurfacePresentModesKHR = anv_GetPhysicalDeviceSurfacePresentModesKHR,
784     .vkCreateSwapchainKHR = anv_CreateSwapchainKHR,
785     .vkDestroySwapchainKHR = anv_DestroySwapchainKHR,
786     .vkGetSwapchainImagesKHR = anv_GetSwapchainImagesKHR,
787     .vkAcquireNextImageKHR = anv_AcquireNextImageKHR,
788     .vkQueuePresentKHR = anv_QueuePresentKHR,
789 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
790     .vkCreateWaylandSurfaceKHR = anv_CreateWaylandSurfaceKHR,
791 #endif // VK_USE_PLATFORM_WAYLAND_KHR
792 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
793     .vkGetPhysicalDeviceWaylandPresentationSupportKHR = anv_GetPhysicalDeviceWaylandPresentationSupportKHR,
794 #endif // VK_USE_PLATFORM_WAYLAND_KHR
795 #ifdef VK_USE_PLATFORM_XLIB_KHR
796     .vkCreateXlibSurfaceKHR = anv_CreateXlibSurfaceKHR,
797 #endif // VK_USE_PLATFORM_XLIB_KHR
798 #ifdef VK_USE_PLATFORM_XLIB_KHR
799     .vkGetPhysicalDeviceXlibPresentationSupportKHR = anv_GetPhysicalDeviceXlibPresentationSupportKHR,
800 #endif // VK_USE_PLATFORM_XLIB_KHR
801 #ifdef VK_USE_PLATFORM_XCB_KHR
802     .vkCreateXcbSurfaceKHR = anv_CreateXcbSurfaceKHR,
803 #endif // VK_USE_PLATFORM_XCB_KHR
804 #ifdef VK_USE_PLATFORM_XCB_KHR
805     .vkGetPhysicalDeviceXcbPresentationSupportKHR = anv_GetPhysicalDeviceXcbPresentationSupportKHR,
806 #endif // VK_USE_PLATFORM_XCB_KHR
807     .vkCreateDebugReportCallbackEXT = anv_CreateDebugReportCallbackEXT,
808     .vkDestroyDebugReportCallbackEXT = anv_DestroyDebugReportCallbackEXT,
809     .vkDebugReportMessageEXT = anv_DebugReportMessageEXT,
810     .vkGetPhysicalDeviceFeatures2KHR = anv_GetPhysicalDeviceFeatures2KHR,
811     .vkGetPhysicalDeviceProperties2KHR = anv_GetPhysicalDeviceProperties2KHR,
812     .vkGetPhysicalDeviceFormatProperties2KHR = anv_GetPhysicalDeviceFormatProperties2KHR,
813     .vkGetPhysicalDeviceImageFormatProperties2KHR = anv_GetPhysicalDeviceImageFormatProperties2KHR,
814     .vkGetPhysicalDeviceQueueFamilyProperties2KHR = anv_GetPhysicalDeviceQueueFamilyProperties2KHR,
815     .vkGetPhysicalDeviceMemoryProperties2KHR = anv_GetPhysicalDeviceMemoryProperties2KHR,
816     .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = anv_GetPhysicalDeviceSparseImageFormatProperties2KHR,
817     .vkCmdPushDescriptorSetKHR = anv_CmdPushDescriptorSetKHR,
818     .vkTrimCommandPoolKHR = anv_TrimCommandPoolKHR,
819     .vkGetPhysicalDeviceExternalBufferPropertiesKHR = anv_GetPhysicalDeviceExternalBufferPropertiesKHR,
820     .vkGetMemoryFdKHR = anv_GetMemoryFdKHR,
821     .vkGetMemoryFdPropertiesKHR = anv_GetMemoryFdPropertiesKHR,
822     .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = anv_GetPhysicalDeviceExternalSemaphorePropertiesKHR,
823     .vkGetSemaphoreFdKHR = anv_GetSemaphoreFdKHR,
824     .vkImportSemaphoreFdKHR = anv_ImportSemaphoreFdKHR,
825     .vkGetPhysicalDeviceExternalFencePropertiesKHR = anv_GetPhysicalDeviceExternalFencePropertiesKHR,
826     .vkGetFenceFdKHR = anv_GetFenceFdKHR,
827     .vkImportFenceFdKHR = anv_ImportFenceFdKHR,
828     .vkBindBufferMemory2KHR = anv_BindBufferMemory2KHR,
829     .vkBindImageMemory2KHR = anv_BindImageMemory2KHR,
830     .vkCreateDescriptorUpdateTemplateKHR = anv_CreateDescriptorUpdateTemplateKHR,
831     .vkDestroyDescriptorUpdateTemplateKHR = anv_DestroyDescriptorUpdateTemplateKHR,
832     .vkUpdateDescriptorSetWithTemplateKHR = anv_UpdateDescriptorSetWithTemplateKHR,
833     .vkCmdPushDescriptorSetWithTemplateKHR = anv_CmdPushDescriptorSetWithTemplateKHR,
834     .vkGetPhysicalDeviceSurfaceCapabilities2KHR = anv_GetPhysicalDeviceSurfaceCapabilities2KHR,
835     .vkGetPhysicalDeviceSurfaceFormats2KHR = anv_GetPhysicalDeviceSurfaceFormats2KHR,
836     .vkGetBufferMemoryRequirements2KHR = anv_GetBufferMemoryRequirements2KHR,
837     .vkGetImageMemoryRequirements2KHR = anv_GetImageMemoryRequirements2KHR,
838     .vkGetImageSparseMemoryRequirements2KHR = anv_GetImageSparseMemoryRequirements2KHR,
839     .vkCreateSamplerYcbcrConversionKHR = anv_CreateSamplerYcbcrConversionKHR,
840     .vkDestroySamplerYcbcrConversionKHR = anv_DestroySamplerYcbcrConversionKHR,
841 #ifdef ANDROID
842     .vkGetSwapchainGrallocUsageANDROID = anv_GetSwapchainGrallocUsageANDROID,
843 #endif // ANDROID
844 #ifdef ANDROID
845     .vkAcquireImageANDROID = anv_AcquireImageANDROID,
846 #endif // ANDROID
847 #ifdef ANDROID
848     .vkQueueSignalReleaseImageANDROID = anv_QueueSignalReleaseImageANDROID,
849 #endif // ANDROID
850     .vkCreateDmaBufImageINTEL = anv_CreateDmaBufImageINTEL,
851   };
852     VkResult gen7_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
853     void gen7_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
854     VkResult gen7_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
855     PFN_vkVoidFunction gen7_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
856     PFN_vkVoidFunction gen7_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
857     void gen7_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
858     void gen7_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
859     void gen7_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
860     void gen7_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
861     void gen7_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
862     VkResult gen7_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
863     VkResult gen7_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
864     void gen7_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
865     VkResult gen7_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
866     VkResult gen7_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
867     VkResult gen7_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
868     VkResult gen7_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
869     void gen7_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
870     VkResult gen7_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
871     VkResult gen7_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
872     VkResult gen7_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
873     VkResult gen7_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
874     void gen7_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
875     VkResult gen7_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
876     void gen7_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
877     VkResult gen7_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
878     VkResult gen7_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
879     void gen7_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
880     void gen7_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
881     VkResult gen7_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
882     void gen7_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
883     VkResult gen7_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
884     void gen7_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
885     void gen7_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
886     VkResult gen7_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
887     VkResult gen7_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
888     void gen7_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
889     VkResult gen7_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
890     VkResult gen7_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
891     VkResult gen7_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
892     VkResult gen7_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
893     void gen7_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
894     VkResult gen7_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
895     void gen7_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
896     VkResult gen7_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
897     VkResult gen7_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
898     VkResult gen7_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
899     VkResult gen7_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
900     void gen7_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
901     VkResult gen7_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
902     VkResult gen7_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
903     void gen7_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
904     VkResult gen7_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
905     void gen7_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
906     VkResult gen7_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
907     void gen7_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
908     void gen7_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
909     VkResult gen7_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
910     void gen7_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
911     VkResult gen7_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
912     void gen7_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
913     VkResult gen7_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
914     void gen7_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
915     VkResult gen7_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
916     VkResult gen7_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
917     VkResult gen7_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
918     VkResult gen7_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
919     void gen7_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
920     VkResult gen7_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
921     void gen7_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
922     VkResult gen7_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
923     void gen7_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
924     VkResult gen7_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
925     void gen7_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
926     VkResult gen7_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
927     void gen7_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
928     VkResult gen7_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
929     VkResult gen7_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
930     VkResult gen7_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
931     void gen7_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
932     VkResult gen7_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
933     void gen7_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
934     VkResult gen7_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
935     void gen7_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
936     void gen7_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
937     VkResult gen7_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
938     void gen7_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
939     VkResult gen7_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
940     VkResult gen7_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
941     void gen7_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
942     VkResult gen7_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
943     VkResult gen7_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
944     VkResult gen7_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
945     void gen7_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
946     void gen7_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
947     void gen7_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
948     void gen7_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
949     void gen7_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
950     void gen7_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
951     void gen7_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
952     void gen7_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
953     void gen7_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
954     void gen7_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
955     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));
956     void gen7_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
957     void gen7_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
958     void gen7_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
959     void gen7_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
960     void gen7_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
961     void gen7_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
962     void gen7_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
963     void gen7_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
964     void gen7_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
965     void gen7_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
966     void gen7_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
967     void gen7_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
968     void gen7_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
969     void gen7_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
970     void gen7_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
971     void gen7_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
972     void gen7_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
973     void gen7_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
974     void gen7_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
975     void gen7_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
976     void gen7_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
977     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));
978     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));
979     void gen7_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
980     void gen7_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
981     void gen7_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
982     void gen7_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
983     void gen7_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
984     void gen7_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
985     void gen7_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
986     void gen7_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
987     void gen7_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
988     void gen7_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
989     void gen7_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
990     VkResult gen7_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
991     VkResult gen7_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
992     VkResult gen7_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
993     VkResult gen7_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
994     VkResult gen7_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
995     void gen7_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
996     VkResult gen7_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
997     VkResult gen7_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
998     VkResult gen7_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
999 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1000     VkResult gen7_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1001 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1002 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1003     VkBool32 gen7_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
1004 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1005 #ifdef VK_USE_PLATFORM_XLIB_KHR
1006     VkResult gen7_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1007 #endif // VK_USE_PLATFORM_XLIB_KHR
1008 #ifdef VK_USE_PLATFORM_XLIB_KHR
1009     VkBool32 gen7_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
1010 #endif // VK_USE_PLATFORM_XLIB_KHR
1011 #ifdef VK_USE_PLATFORM_XCB_KHR
1012     VkResult gen7_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1013 #endif // VK_USE_PLATFORM_XCB_KHR
1014 #ifdef VK_USE_PLATFORM_XCB_KHR
1015     VkBool32 gen7_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
1016 #endif // VK_USE_PLATFORM_XCB_KHR
1017     VkResult gen7_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
1018     void gen7_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1019     void gen7_DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) __attribute__ ((weak));
1020     void gen7_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures) __attribute__ ((weak));
1021     void gen7_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties) __attribute__ ((weak));
1022     void gen7_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties) __attribute__ ((weak));
1023     VkResult gen7_GetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties) __attribute__ ((weak));
1024     void gen7_GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties) __attribute__ ((weak));
1025     void gen7_GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties) __attribute__ ((weak));
1026     void gen7_GetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties) __attribute__ ((weak));
1027     void gen7_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
1028     void gen7_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) __attribute__ ((weak));
1029     void gen7_GetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties) __attribute__ ((weak));
1030     VkResult gen7_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1031     VkResult gen7_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
1032     void gen7_GetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties) __attribute__ ((weak));
1033     VkResult gen7_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1034     VkResult gen7_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
1035     void gen7_GetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties) __attribute__ ((weak));
1036     VkResult gen7_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1037     VkResult gen7_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
1038     VkResult gen7_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
1039     VkResult gen7_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
1040     VkResult gen7_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) __attribute__ ((weak));
1041     void gen7_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1042     void gen7_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
1043     void gen7_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
1044     VkResult gen7_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
1045     VkResult gen7_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
1046     void gen7_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
1047     void gen7_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
1048     void gen7_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) __attribute__ ((weak));
1049     VkResult gen7_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) __attribute__ ((weak));
1050     void gen7_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1051 #ifdef ANDROID
1052     VkResult gen7_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
1053 #endif // ANDROID
1054 #ifdef ANDROID
1055     VkResult gen7_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
1056 #endif // ANDROID
1057 #ifdef ANDROID
1058     VkResult gen7_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
1059 #endif // ANDROID
1060     VkResult gen7_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
1061 
1062   const struct anv_dispatch_table gen7_dispatch_table = {
1063     .vkCreateInstance = gen7_CreateInstance,
1064     .vkDestroyInstance = gen7_DestroyInstance,
1065     .vkEnumeratePhysicalDevices = gen7_EnumeratePhysicalDevices,
1066     .vkGetDeviceProcAddr = gen7_GetDeviceProcAddr,
1067     .vkGetInstanceProcAddr = gen7_GetInstanceProcAddr,
1068     .vkGetPhysicalDeviceProperties = gen7_GetPhysicalDeviceProperties,
1069     .vkGetPhysicalDeviceQueueFamilyProperties = gen7_GetPhysicalDeviceQueueFamilyProperties,
1070     .vkGetPhysicalDeviceMemoryProperties = gen7_GetPhysicalDeviceMemoryProperties,
1071     .vkGetPhysicalDeviceFeatures = gen7_GetPhysicalDeviceFeatures,
1072     .vkGetPhysicalDeviceFormatProperties = gen7_GetPhysicalDeviceFormatProperties,
1073     .vkGetPhysicalDeviceImageFormatProperties = gen7_GetPhysicalDeviceImageFormatProperties,
1074     .vkCreateDevice = gen7_CreateDevice,
1075     .vkDestroyDevice = gen7_DestroyDevice,
1076     .vkEnumerateInstanceLayerProperties = gen7_EnumerateInstanceLayerProperties,
1077     .vkEnumerateInstanceExtensionProperties = gen7_EnumerateInstanceExtensionProperties,
1078     .vkEnumerateDeviceLayerProperties = gen7_EnumerateDeviceLayerProperties,
1079     .vkEnumerateDeviceExtensionProperties = gen7_EnumerateDeviceExtensionProperties,
1080     .vkGetDeviceQueue = gen7_GetDeviceQueue,
1081     .vkQueueSubmit = gen7_QueueSubmit,
1082     .vkQueueWaitIdle = gen7_QueueWaitIdle,
1083     .vkDeviceWaitIdle = gen7_DeviceWaitIdle,
1084     .vkAllocateMemory = gen7_AllocateMemory,
1085     .vkFreeMemory = gen7_FreeMemory,
1086     .vkMapMemory = gen7_MapMemory,
1087     .vkUnmapMemory = gen7_UnmapMemory,
1088     .vkFlushMappedMemoryRanges = gen7_FlushMappedMemoryRanges,
1089     .vkInvalidateMappedMemoryRanges = gen7_InvalidateMappedMemoryRanges,
1090     .vkGetDeviceMemoryCommitment = gen7_GetDeviceMemoryCommitment,
1091     .vkGetBufferMemoryRequirements = gen7_GetBufferMemoryRequirements,
1092     .vkBindBufferMemory = gen7_BindBufferMemory,
1093     .vkGetImageMemoryRequirements = gen7_GetImageMemoryRequirements,
1094     .vkBindImageMemory = gen7_BindImageMemory,
1095     .vkGetImageSparseMemoryRequirements = gen7_GetImageSparseMemoryRequirements,
1096     .vkGetPhysicalDeviceSparseImageFormatProperties = gen7_GetPhysicalDeviceSparseImageFormatProperties,
1097     .vkQueueBindSparse = gen7_QueueBindSparse,
1098     .vkCreateFence = gen7_CreateFence,
1099     .vkDestroyFence = gen7_DestroyFence,
1100     .vkResetFences = gen7_ResetFences,
1101     .vkGetFenceStatus = gen7_GetFenceStatus,
1102     .vkWaitForFences = gen7_WaitForFences,
1103     .vkCreateSemaphore = gen7_CreateSemaphore,
1104     .vkDestroySemaphore = gen7_DestroySemaphore,
1105     .vkCreateEvent = gen7_CreateEvent,
1106     .vkDestroyEvent = gen7_DestroyEvent,
1107     .vkGetEventStatus = gen7_GetEventStatus,
1108     .vkSetEvent = gen7_SetEvent,
1109     .vkResetEvent = gen7_ResetEvent,
1110     .vkCreateQueryPool = gen7_CreateQueryPool,
1111     .vkDestroyQueryPool = gen7_DestroyQueryPool,
1112     .vkGetQueryPoolResults = gen7_GetQueryPoolResults,
1113     .vkCreateBuffer = gen7_CreateBuffer,
1114     .vkDestroyBuffer = gen7_DestroyBuffer,
1115     .vkCreateBufferView = gen7_CreateBufferView,
1116     .vkDestroyBufferView = gen7_DestroyBufferView,
1117     .vkCreateImage = gen7_CreateImage,
1118     .vkDestroyImage = gen7_DestroyImage,
1119     .vkGetImageSubresourceLayout = gen7_GetImageSubresourceLayout,
1120     .vkCreateImageView = gen7_CreateImageView,
1121     .vkDestroyImageView = gen7_DestroyImageView,
1122     .vkCreateShaderModule = gen7_CreateShaderModule,
1123     .vkDestroyShaderModule = gen7_DestroyShaderModule,
1124     .vkCreatePipelineCache = gen7_CreatePipelineCache,
1125     .vkDestroyPipelineCache = gen7_DestroyPipelineCache,
1126     .vkGetPipelineCacheData = gen7_GetPipelineCacheData,
1127     .vkMergePipelineCaches = gen7_MergePipelineCaches,
1128     .vkCreateGraphicsPipelines = gen7_CreateGraphicsPipelines,
1129     .vkCreateComputePipelines = gen7_CreateComputePipelines,
1130     .vkDestroyPipeline = gen7_DestroyPipeline,
1131     .vkCreatePipelineLayout = gen7_CreatePipelineLayout,
1132     .vkDestroyPipelineLayout = gen7_DestroyPipelineLayout,
1133     .vkCreateSampler = gen7_CreateSampler,
1134     .vkDestroySampler = gen7_DestroySampler,
1135     .vkCreateDescriptorSetLayout = gen7_CreateDescriptorSetLayout,
1136     .vkDestroyDescriptorSetLayout = gen7_DestroyDescriptorSetLayout,
1137     .vkCreateDescriptorPool = gen7_CreateDescriptorPool,
1138     .vkDestroyDescriptorPool = gen7_DestroyDescriptorPool,
1139     .vkResetDescriptorPool = gen7_ResetDescriptorPool,
1140     .vkAllocateDescriptorSets = gen7_AllocateDescriptorSets,
1141     .vkFreeDescriptorSets = gen7_FreeDescriptorSets,
1142     .vkUpdateDescriptorSets = gen7_UpdateDescriptorSets,
1143     .vkCreateFramebuffer = gen7_CreateFramebuffer,
1144     .vkDestroyFramebuffer = gen7_DestroyFramebuffer,
1145     .vkCreateRenderPass = gen7_CreateRenderPass,
1146     .vkDestroyRenderPass = gen7_DestroyRenderPass,
1147     .vkGetRenderAreaGranularity = gen7_GetRenderAreaGranularity,
1148     .vkCreateCommandPool = gen7_CreateCommandPool,
1149     .vkDestroyCommandPool = gen7_DestroyCommandPool,
1150     .vkResetCommandPool = gen7_ResetCommandPool,
1151     .vkAllocateCommandBuffers = gen7_AllocateCommandBuffers,
1152     .vkFreeCommandBuffers = gen7_FreeCommandBuffers,
1153     .vkBeginCommandBuffer = gen7_BeginCommandBuffer,
1154     .vkEndCommandBuffer = gen7_EndCommandBuffer,
1155     .vkResetCommandBuffer = gen7_ResetCommandBuffer,
1156     .vkCmdBindPipeline = gen7_CmdBindPipeline,
1157     .vkCmdSetViewport = gen7_CmdSetViewport,
1158     .vkCmdSetScissor = gen7_CmdSetScissor,
1159     .vkCmdSetLineWidth = gen7_CmdSetLineWidth,
1160     .vkCmdSetDepthBias = gen7_CmdSetDepthBias,
1161     .vkCmdSetBlendConstants = gen7_CmdSetBlendConstants,
1162     .vkCmdSetDepthBounds = gen7_CmdSetDepthBounds,
1163     .vkCmdSetStencilCompareMask = gen7_CmdSetStencilCompareMask,
1164     .vkCmdSetStencilWriteMask = gen7_CmdSetStencilWriteMask,
1165     .vkCmdSetStencilReference = gen7_CmdSetStencilReference,
1166     .vkCmdBindDescriptorSets = gen7_CmdBindDescriptorSets,
1167     .vkCmdBindIndexBuffer = gen7_CmdBindIndexBuffer,
1168     .vkCmdBindVertexBuffers = gen7_CmdBindVertexBuffers,
1169     .vkCmdDraw = gen7_CmdDraw,
1170     .vkCmdDrawIndexed = gen7_CmdDrawIndexed,
1171     .vkCmdDrawIndirect = gen7_CmdDrawIndirect,
1172     .vkCmdDrawIndexedIndirect = gen7_CmdDrawIndexedIndirect,
1173     .vkCmdDispatch = gen7_CmdDispatch,
1174     .vkCmdDispatchIndirect = gen7_CmdDispatchIndirect,
1175     .vkCmdCopyBuffer = gen7_CmdCopyBuffer,
1176     .vkCmdCopyImage = gen7_CmdCopyImage,
1177     .vkCmdBlitImage = gen7_CmdBlitImage,
1178     .vkCmdCopyBufferToImage = gen7_CmdCopyBufferToImage,
1179     .vkCmdCopyImageToBuffer = gen7_CmdCopyImageToBuffer,
1180     .vkCmdUpdateBuffer = gen7_CmdUpdateBuffer,
1181     .vkCmdFillBuffer = gen7_CmdFillBuffer,
1182     .vkCmdClearColorImage = gen7_CmdClearColorImage,
1183     .vkCmdClearDepthStencilImage = gen7_CmdClearDepthStencilImage,
1184     .vkCmdClearAttachments = gen7_CmdClearAttachments,
1185     .vkCmdResolveImage = gen7_CmdResolveImage,
1186     .vkCmdSetEvent = gen7_CmdSetEvent,
1187     .vkCmdResetEvent = gen7_CmdResetEvent,
1188     .vkCmdWaitEvents = gen7_CmdWaitEvents,
1189     .vkCmdPipelineBarrier = gen7_CmdPipelineBarrier,
1190     .vkCmdBeginQuery = gen7_CmdBeginQuery,
1191     .vkCmdEndQuery = gen7_CmdEndQuery,
1192     .vkCmdResetQueryPool = gen7_CmdResetQueryPool,
1193     .vkCmdWriteTimestamp = gen7_CmdWriteTimestamp,
1194     .vkCmdCopyQueryPoolResults = gen7_CmdCopyQueryPoolResults,
1195     .vkCmdPushConstants = gen7_CmdPushConstants,
1196     .vkCmdBeginRenderPass = gen7_CmdBeginRenderPass,
1197     .vkCmdNextSubpass = gen7_CmdNextSubpass,
1198     .vkCmdEndRenderPass = gen7_CmdEndRenderPass,
1199     .vkCmdExecuteCommands = gen7_CmdExecuteCommands,
1200     .vkDestroySurfaceKHR = gen7_DestroySurfaceKHR,
1201     .vkGetPhysicalDeviceSurfaceSupportKHR = gen7_GetPhysicalDeviceSurfaceSupportKHR,
1202     .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = gen7_GetPhysicalDeviceSurfaceCapabilitiesKHR,
1203     .vkGetPhysicalDeviceSurfaceFormatsKHR = gen7_GetPhysicalDeviceSurfaceFormatsKHR,
1204     .vkGetPhysicalDeviceSurfacePresentModesKHR = gen7_GetPhysicalDeviceSurfacePresentModesKHR,
1205     .vkCreateSwapchainKHR = gen7_CreateSwapchainKHR,
1206     .vkDestroySwapchainKHR = gen7_DestroySwapchainKHR,
1207     .vkGetSwapchainImagesKHR = gen7_GetSwapchainImagesKHR,
1208     .vkAcquireNextImageKHR = gen7_AcquireNextImageKHR,
1209     .vkQueuePresentKHR = gen7_QueuePresentKHR,
1210 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1211     .vkCreateWaylandSurfaceKHR = gen7_CreateWaylandSurfaceKHR,
1212 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1213 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1214     .vkGetPhysicalDeviceWaylandPresentationSupportKHR = gen7_GetPhysicalDeviceWaylandPresentationSupportKHR,
1215 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1216 #ifdef VK_USE_PLATFORM_XLIB_KHR
1217     .vkCreateXlibSurfaceKHR = gen7_CreateXlibSurfaceKHR,
1218 #endif // VK_USE_PLATFORM_XLIB_KHR
1219 #ifdef VK_USE_PLATFORM_XLIB_KHR
1220     .vkGetPhysicalDeviceXlibPresentationSupportKHR = gen7_GetPhysicalDeviceXlibPresentationSupportKHR,
1221 #endif // VK_USE_PLATFORM_XLIB_KHR
1222 #ifdef VK_USE_PLATFORM_XCB_KHR
1223     .vkCreateXcbSurfaceKHR = gen7_CreateXcbSurfaceKHR,
1224 #endif // VK_USE_PLATFORM_XCB_KHR
1225 #ifdef VK_USE_PLATFORM_XCB_KHR
1226     .vkGetPhysicalDeviceXcbPresentationSupportKHR = gen7_GetPhysicalDeviceXcbPresentationSupportKHR,
1227 #endif // VK_USE_PLATFORM_XCB_KHR
1228     .vkCreateDebugReportCallbackEXT = gen7_CreateDebugReportCallbackEXT,
1229     .vkDestroyDebugReportCallbackEXT = gen7_DestroyDebugReportCallbackEXT,
1230     .vkDebugReportMessageEXT = gen7_DebugReportMessageEXT,
1231     .vkGetPhysicalDeviceFeatures2KHR = gen7_GetPhysicalDeviceFeatures2KHR,
1232     .vkGetPhysicalDeviceProperties2KHR = gen7_GetPhysicalDeviceProperties2KHR,
1233     .vkGetPhysicalDeviceFormatProperties2KHR = gen7_GetPhysicalDeviceFormatProperties2KHR,
1234     .vkGetPhysicalDeviceImageFormatProperties2KHR = gen7_GetPhysicalDeviceImageFormatProperties2KHR,
1235     .vkGetPhysicalDeviceQueueFamilyProperties2KHR = gen7_GetPhysicalDeviceQueueFamilyProperties2KHR,
1236     .vkGetPhysicalDeviceMemoryProperties2KHR = gen7_GetPhysicalDeviceMemoryProperties2KHR,
1237     .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = gen7_GetPhysicalDeviceSparseImageFormatProperties2KHR,
1238     .vkCmdPushDescriptorSetKHR = gen7_CmdPushDescriptorSetKHR,
1239     .vkTrimCommandPoolKHR = gen7_TrimCommandPoolKHR,
1240     .vkGetPhysicalDeviceExternalBufferPropertiesKHR = gen7_GetPhysicalDeviceExternalBufferPropertiesKHR,
1241     .vkGetMemoryFdKHR = gen7_GetMemoryFdKHR,
1242     .vkGetMemoryFdPropertiesKHR = gen7_GetMemoryFdPropertiesKHR,
1243     .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = gen7_GetPhysicalDeviceExternalSemaphorePropertiesKHR,
1244     .vkGetSemaphoreFdKHR = gen7_GetSemaphoreFdKHR,
1245     .vkImportSemaphoreFdKHR = gen7_ImportSemaphoreFdKHR,
1246     .vkGetPhysicalDeviceExternalFencePropertiesKHR = gen7_GetPhysicalDeviceExternalFencePropertiesKHR,
1247     .vkGetFenceFdKHR = gen7_GetFenceFdKHR,
1248     .vkImportFenceFdKHR = gen7_ImportFenceFdKHR,
1249     .vkBindBufferMemory2KHR = gen7_BindBufferMemory2KHR,
1250     .vkBindImageMemory2KHR = gen7_BindImageMemory2KHR,
1251     .vkCreateDescriptorUpdateTemplateKHR = gen7_CreateDescriptorUpdateTemplateKHR,
1252     .vkDestroyDescriptorUpdateTemplateKHR = gen7_DestroyDescriptorUpdateTemplateKHR,
1253     .vkUpdateDescriptorSetWithTemplateKHR = gen7_UpdateDescriptorSetWithTemplateKHR,
1254     .vkCmdPushDescriptorSetWithTemplateKHR = gen7_CmdPushDescriptorSetWithTemplateKHR,
1255     .vkGetPhysicalDeviceSurfaceCapabilities2KHR = gen7_GetPhysicalDeviceSurfaceCapabilities2KHR,
1256     .vkGetPhysicalDeviceSurfaceFormats2KHR = gen7_GetPhysicalDeviceSurfaceFormats2KHR,
1257     .vkGetBufferMemoryRequirements2KHR = gen7_GetBufferMemoryRequirements2KHR,
1258     .vkGetImageMemoryRequirements2KHR = gen7_GetImageMemoryRequirements2KHR,
1259     .vkGetImageSparseMemoryRequirements2KHR = gen7_GetImageSparseMemoryRequirements2KHR,
1260     .vkCreateSamplerYcbcrConversionKHR = gen7_CreateSamplerYcbcrConversionKHR,
1261     .vkDestroySamplerYcbcrConversionKHR = gen7_DestroySamplerYcbcrConversionKHR,
1262 #ifdef ANDROID
1263     .vkGetSwapchainGrallocUsageANDROID = gen7_GetSwapchainGrallocUsageANDROID,
1264 #endif // ANDROID
1265 #ifdef ANDROID
1266     .vkAcquireImageANDROID = gen7_AcquireImageANDROID,
1267 #endif // ANDROID
1268 #ifdef ANDROID
1269     .vkQueueSignalReleaseImageANDROID = gen7_QueueSignalReleaseImageANDROID,
1270 #endif // ANDROID
1271     .vkCreateDmaBufImageINTEL = gen7_CreateDmaBufImageINTEL,
1272   };
1273     VkResult gen75_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
1274     void gen75_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1275     VkResult gen75_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
1276     PFN_vkVoidFunction gen75_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
1277     PFN_vkVoidFunction gen75_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
1278     void gen75_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
1279     void gen75_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
1280     void gen75_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
1281     void gen75_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
1282     void gen75_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
1283     VkResult gen75_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
1284     VkResult gen75_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
1285     void gen75_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1286     VkResult gen75_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
1287     VkResult gen75_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
1288     VkResult gen75_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
1289     VkResult gen75_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
1290     void gen75_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
1291     VkResult gen75_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
1292     VkResult gen75_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
1293     VkResult gen75_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
1294     VkResult gen75_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
1295     void gen75_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1296     VkResult gen75_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
1297     void gen75_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
1298     VkResult gen75_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
1299     VkResult gen75_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
1300     void gen75_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
1301     void gen75_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
1302     VkResult gen75_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
1303     void gen75_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
1304     VkResult gen75_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
1305     void gen75_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
1306     void gen75_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
1307     VkResult gen75_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
1308     VkResult gen75_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
1309     void gen75_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1310     VkResult gen75_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
1311     VkResult gen75_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
1312     VkResult gen75_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
1313     VkResult gen75_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
1314     void gen75_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1315     VkResult gen75_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
1316     void gen75_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1317     VkResult gen75_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
1318     VkResult gen75_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
1319     VkResult gen75_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
1320     VkResult gen75_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
1321     void gen75_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1322     VkResult gen75_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
1323     VkResult gen75_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
1324     void gen75_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1325     VkResult gen75_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
1326     void gen75_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1327     VkResult gen75_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
1328     void gen75_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1329     void gen75_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
1330     VkResult gen75_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
1331     void gen75_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1332     VkResult gen75_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
1333     void gen75_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1334     VkResult gen75_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
1335     void gen75_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1336     VkResult gen75_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
1337     VkResult gen75_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
1338     VkResult gen75_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
1339     VkResult gen75_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
1340     void gen75_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1341     VkResult gen75_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
1342     void gen75_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1343     VkResult gen75_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
1344     void gen75_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1345     VkResult gen75_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
1346     void gen75_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1347     VkResult gen75_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
1348     void gen75_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1349     VkResult gen75_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
1350     VkResult gen75_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
1351     VkResult gen75_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
1352     void gen75_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
1353     VkResult gen75_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
1354     void gen75_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1355     VkResult gen75_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
1356     void gen75_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1357     void gen75_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
1358     VkResult gen75_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
1359     void gen75_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1360     VkResult gen75_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
1361     VkResult gen75_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
1362     void gen75_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
1363     VkResult gen75_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
1364     VkResult gen75_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
1365     VkResult gen75_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
1366     void gen75_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
1367     void gen75_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
1368     void gen75_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
1369     void gen75_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
1370     void gen75_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
1371     void gen75_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
1372     void gen75_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
1373     void gen75_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
1374     void gen75_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
1375     void gen75_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
1376     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));
1377     void gen75_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
1378     void gen75_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
1379     void gen75_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
1380     void gen75_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
1381     void gen75_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
1382     void gen75_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
1383     void gen75_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
1384     void gen75_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
1385     void gen75_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
1386     void gen75_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
1387     void gen75_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
1388     void gen75_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
1389     void gen75_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
1390     void gen75_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
1391     void gen75_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
1392     void gen75_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
1393     void gen75_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
1394     void gen75_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
1395     void gen75_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
1396     void gen75_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
1397     void gen75_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
1398     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));
1399     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));
1400     void gen75_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
1401     void gen75_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
1402     void gen75_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
1403     void gen75_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
1404     void gen75_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
1405     void gen75_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
1406     void gen75_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
1407     void gen75_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
1408     void gen75_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
1409     void gen75_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
1410     void gen75_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1411     VkResult gen75_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
1412     VkResult gen75_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
1413     VkResult gen75_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
1414     VkResult gen75_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
1415     VkResult gen75_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
1416     void gen75_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1417     VkResult gen75_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
1418     VkResult gen75_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
1419     VkResult gen75_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
1420 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1421     VkResult gen75_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1422 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1423 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1424     VkBool32 gen75_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
1425 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1426 #ifdef VK_USE_PLATFORM_XLIB_KHR
1427     VkResult gen75_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1428 #endif // VK_USE_PLATFORM_XLIB_KHR
1429 #ifdef VK_USE_PLATFORM_XLIB_KHR
1430     VkBool32 gen75_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
1431 #endif // VK_USE_PLATFORM_XLIB_KHR
1432 #ifdef VK_USE_PLATFORM_XCB_KHR
1433     VkResult gen75_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1434 #endif // VK_USE_PLATFORM_XCB_KHR
1435 #ifdef VK_USE_PLATFORM_XCB_KHR
1436     VkBool32 gen75_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
1437 #endif // VK_USE_PLATFORM_XCB_KHR
1438     VkResult gen75_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
1439     void gen75_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1440     void gen75_DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) __attribute__ ((weak));
1441     void gen75_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures) __attribute__ ((weak));
1442     void gen75_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties) __attribute__ ((weak));
1443     void gen75_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties) __attribute__ ((weak));
1444     VkResult gen75_GetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties) __attribute__ ((weak));
1445     void gen75_GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties) __attribute__ ((weak));
1446     void gen75_GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties) __attribute__ ((weak));
1447     void gen75_GetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties) __attribute__ ((weak));
1448     void gen75_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
1449     void gen75_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) __attribute__ ((weak));
1450     void gen75_GetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties) __attribute__ ((weak));
1451     VkResult gen75_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1452     VkResult gen75_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
1453     void gen75_GetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties) __attribute__ ((weak));
1454     VkResult gen75_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1455     VkResult gen75_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
1456     void gen75_GetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties) __attribute__ ((weak));
1457     VkResult gen75_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1458     VkResult gen75_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
1459     VkResult gen75_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
1460     VkResult gen75_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
1461     VkResult gen75_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) __attribute__ ((weak));
1462     void gen75_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1463     void gen75_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
1464     void gen75_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
1465     VkResult gen75_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
1466     VkResult gen75_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
1467     void gen75_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
1468     void gen75_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
1469     void gen75_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) __attribute__ ((weak));
1470     VkResult gen75_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) __attribute__ ((weak));
1471     void gen75_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1472 #ifdef ANDROID
1473     VkResult gen75_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
1474 #endif // ANDROID
1475 #ifdef ANDROID
1476     VkResult gen75_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
1477 #endif // ANDROID
1478 #ifdef ANDROID
1479     VkResult gen75_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
1480 #endif // ANDROID
1481     VkResult gen75_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
1482 
1483   const struct anv_dispatch_table gen75_dispatch_table = {
1484     .vkCreateInstance = gen75_CreateInstance,
1485     .vkDestroyInstance = gen75_DestroyInstance,
1486     .vkEnumeratePhysicalDevices = gen75_EnumeratePhysicalDevices,
1487     .vkGetDeviceProcAddr = gen75_GetDeviceProcAddr,
1488     .vkGetInstanceProcAddr = gen75_GetInstanceProcAddr,
1489     .vkGetPhysicalDeviceProperties = gen75_GetPhysicalDeviceProperties,
1490     .vkGetPhysicalDeviceQueueFamilyProperties = gen75_GetPhysicalDeviceQueueFamilyProperties,
1491     .vkGetPhysicalDeviceMemoryProperties = gen75_GetPhysicalDeviceMemoryProperties,
1492     .vkGetPhysicalDeviceFeatures = gen75_GetPhysicalDeviceFeatures,
1493     .vkGetPhysicalDeviceFormatProperties = gen75_GetPhysicalDeviceFormatProperties,
1494     .vkGetPhysicalDeviceImageFormatProperties = gen75_GetPhysicalDeviceImageFormatProperties,
1495     .vkCreateDevice = gen75_CreateDevice,
1496     .vkDestroyDevice = gen75_DestroyDevice,
1497     .vkEnumerateInstanceLayerProperties = gen75_EnumerateInstanceLayerProperties,
1498     .vkEnumerateInstanceExtensionProperties = gen75_EnumerateInstanceExtensionProperties,
1499     .vkEnumerateDeviceLayerProperties = gen75_EnumerateDeviceLayerProperties,
1500     .vkEnumerateDeviceExtensionProperties = gen75_EnumerateDeviceExtensionProperties,
1501     .vkGetDeviceQueue = gen75_GetDeviceQueue,
1502     .vkQueueSubmit = gen75_QueueSubmit,
1503     .vkQueueWaitIdle = gen75_QueueWaitIdle,
1504     .vkDeviceWaitIdle = gen75_DeviceWaitIdle,
1505     .vkAllocateMemory = gen75_AllocateMemory,
1506     .vkFreeMemory = gen75_FreeMemory,
1507     .vkMapMemory = gen75_MapMemory,
1508     .vkUnmapMemory = gen75_UnmapMemory,
1509     .vkFlushMappedMemoryRanges = gen75_FlushMappedMemoryRanges,
1510     .vkInvalidateMappedMemoryRanges = gen75_InvalidateMappedMemoryRanges,
1511     .vkGetDeviceMemoryCommitment = gen75_GetDeviceMemoryCommitment,
1512     .vkGetBufferMemoryRequirements = gen75_GetBufferMemoryRequirements,
1513     .vkBindBufferMemory = gen75_BindBufferMemory,
1514     .vkGetImageMemoryRequirements = gen75_GetImageMemoryRequirements,
1515     .vkBindImageMemory = gen75_BindImageMemory,
1516     .vkGetImageSparseMemoryRequirements = gen75_GetImageSparseMemoryRequirements,
1517     .vkGetPhysicalDeviceSparseImageFormatProperties = gen75_GetPhysicalDeviceSparseImageFormatProperties,
1518     .vkQueueBindSparse = gen75_QueueBindSparse,
1519     .vkCreateFence = gen75_CreateFence,
1520     .vkDestroyFence = gen75_DestroyFence,
1521     .vkResetFences = gen75_ResetFences,
1522     .vkGetFenceStatus = gen75_GetFenceStatus,
1523     .vkWaitForFences = gen75_WaitForFences,
1524     .vkCreateSemaphore = gen75_CreateSemaphore,
1525     .vkDestroySemaphore = gen75_DestroySemaphore,
1526     .vkCreateEvent = gen75_CreateEvent,
1527     .vkDestroyEvent = gen75_DestroyEvent,
1528     .vkGetEventStatus = gen75_GetEventStatus,
1529     .vkSetEvent = gen75_SetEvent,
1530     .vkResetEvent = gen75_ResetEvent,
1531     .vkCreateQueryPool = gen75_CreateQueryPool,
1532     .vkDestroyQueryPool = gen75_DestroyQueryPool,
1533     .vkGetQueryPoolResults = gen75_GetQueryPoolResults,
1534     .vkCreateBuffer = gen75_CreateBuffer,
1535     .vkDestroyBuffer = gen75_DestroyBuffer,
1536     .vkCreateBufferView = gen75_CreateBufferView,
1537     .vkDestroyBufferView = gen75_DestroyBufferView,
1538     .vkCreateImage = gen75_CreateImage,
1539     .vkDestroyImage = gen75_DestroyImage,
1540     .vkGetImageSubresourceLayout = gen75_GetImageSubresourceLayout,
1541     .vkCreateImageView = gen75_CreateImageView,
1542     .vkDestroyImageView = gen75_DestroyImageView,
1543     .vkCreateShaderModule = gen75_CreateShaderModule,
1544     .vkDestroyShaderModule = gen75_DestroyShaderModule,
1545     .vkCreatePipelineCache = gen75_CreatePipelineCache,
1546     .vkDestroyPipelineCache = gen75_DestroyPipelineCache,
1547     .vkGetPipelineCacheData = gen75_GetPipelineCacheData,
1548     .vkMergePipelineCaches = gen75_MergePipelineCaches,
1549     .vkCreateGraphicsPipelines = gen75_CreateGraphicsPipelines,
1550     .vkCreateComputePipelines = gen75_CreateComputePipelines,
1551     .vkDestroyPipeline = gen75_DestroyPipeline,
1552     .vkCreatePipelineLayout = gen75_CreatePipelineLayout,
1553     .vkDestroyPipelineLayout = gen75_DestroyPipelineLayout,
1554     .vkCreateSampler = gen75_CreateSampler,
1555     .vkDestroySampler = gen75_DestroySampler,
1556     .vkCreateDescriptorSetLayout = gen75_CreateDescriptorSetLayout,
1557     .vkDestroyDescriptorSetLayout = gen75_DestroyDescriptorSetLayout,
1558     .vkCreateDescriptorPool = gen75_CreateDescriptorPool,
1559     .vkDestroyDescriptorPool = gen75_DestroyDescriptorPool,
1560     .vkResetDescriptorPool = gen75_ResetDescriptorPool,
1561     .vkAllocateDescriptorSets = gen75_AllocateDescriptorSets,
1562     .vkFreeDescriptorSets = gen75_FreeDescriptorSets,
1563     .vkUpdateDescriptorSets = gen75_UpdateDescriptorSets,
1564     .vkCreateFramebuffer = gen75_CreateFramebuffer,
1565     .vkDestroyFramebuffer = gen75_DestroyFramebuffer,
1566     .vkCreateRenderPass = gen75_CreateRenderPass,
1567     .vkDestroyRenderPass = gen75_DestroyRenderPass,
1568     .vkGetRenderAreaGranularity = gen75_GetRenderAreaGranularity,
1569     .vkCreateCommandPool = gen75_CreateCommandPool,
1570     .vkDestroyCommandPool = gen75_DestroyCommandPool,
1571     .vkResetCommandPool = gen75_ResetCommandPool,
1572     .vkAllocateCommandBuffers = gen75_AllocateCommandBuffers,
1573     .vkFreeCommandBuffers = gen75_FreeCommandBuffers,
1574     .vkBeginCommandBuffer = gen75_BeginCommandBuffer,
1575     .vkEndCommandBuffer = gen75_EndCommandBuffer,
1576     .vkResetCommandBuffer = gen75_ResetCommandBuffer,
1577     .vkCmdBindPipeline = gen75_CmdBindPipeline,
1578     .vkCmdSetViewport = gen75_CmdSetViewport,
1579     .vkCmdSetScissor = gen75_CmdSetScissor,
1580     .vkCmdSetLineWidth = gen75_CmdSetLineWidth,
1581     .vkCmdSetDepthBias = gen75_CmdSetDepthBias,
1582     .vkCmdSetBlendConstants = gen75_CmdSetBlendConstants,
1583     .vkCmdSetDepthBounds = gen75_CmdSetDepthBounds,
1584     .vkCmdSetStencilCompareMask = gen75_CmdSetStencilCompareMask,
1585     .vkCmdSetStencilWriteMask = gen75_CmdSetStencilWriteMask,
1586     .vkCmdSetStencilReference = gen75_CmdSetStencilReference,
1587     .vkCmdBindDescriptorSets = gen75_CmdBindDescriptorSets,
1588     .vkCmdBindIndexBuffer = gen75_CmdBindIndexBuffer,
1589     .vkCmdBindVertexBuffers = gen75_CmdBindVertexBuffers,
1590     .vkCmdDraw = gen75_CmdDraw,
1591     .vkCmdDrawIndexed = gen75_CmdDrawIndexed,
1592     .vkCmdDrawIndirect = gen75_CmdDrawIndirect,
1593     .vkCmdDrawIndexedIndirect = gen75_CmdDrawIndexedIndirect,
1594     .vkCmdDispatch = gen75_CmdDispatch,
1595     .vkCmdDispatchIndirect = gen75_CmdDispatchIndirect,
1596     .vkCmdCopyBuffer = gen75_CmdCopyBuffer,
1597     .vkCmdCopyImage = gen75_CmdCopyImage,
1598     .vkCmdBlitImage = gen75_CmdBlitImage,
1599     .vkCmdCopyBufferToImage = gen75_CmdCopyBufferToImage,
1600     .vkCmdCopyImageToBuffer = gen75_CmdCopyImageToBuffer,
1601     .vkCmdUpdateBuffer = gen75_CmdUpdateBuffer,
1602     .vkCmdFillBuffer = gen75_CmdFillBuffer,
1603     .vkCmdClearColorImage = gen75_CmdClearColorImage,
1604     .vkCmdClearDepthStencilImage = gen75_CmdClearDepthStencilImage,
1605     .vkCmdClearAttachments = gen75_CmdClearAttachments,
1606     .vkCmdResolveImage = gen75_CmdResolveImage,
1607     .vkCmdSetEvent = gen75_CmdSetEvent,
1608     .vkCmdResetEvent = gen75_CmdResetEvent,
1609     .vkCmdWaitEvents = gen75_CmdWaitEvents,
1610     .vkCmdPipelineBarrier = gen75_CmdPipelineBarrier,
1611     .vkCmdBeginQuery = gen75_CmdBeginQuery,
1612     .vkCmdEndQuery = gen75_CmdEndQuery,
1613     .vkCmdResetQueryPool = gen75_CmdResetQueryPool,
1614     .vkCmdWriteTimestamp = gen75_CmdWriteTimestamp,
1615     .vkCmdCopyQueryPoolResults = gen75_CmdCopyQueryPoolResults,
1616     .vkCmdPushConstants = gen75_CmdPushConstants,
1617     .vkCmdBeginRenderPass = gen75_CmdBeginRenderPass,
1618     .vkCmdNextSubpass = gen75_CmdNextSubpass,
1619     .vkCmdEndRenderPass = gen75_CmdEndRenderPass,
1620     .vkCmdExecuteCommands = gen75_CmdExecuteCommands,
1621     .vkDestroySurfaceKHR = gen75_DestroySurfaceKHR,
1622     .vkGetPhysicalDeviceSurfaceSupportKHR = gen75_GetPhysicalDeviceSurfaceSupportKHR,
1623     .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = gen75_GetPhysicalDeviceSurfaceCapabilitiesKHR,
1624     .vkGetPhysicalDeviceSurfaceFormatsKHR = gen75_GetPhysicalDeviceSurfaceFormatsKHR,
1625     .vkGetPhysicalDeviceSurfacePresentModesKHR = gen75_GetPhysicalDeviceSurfacePresentModesKHR,
1626     .vkCreateSwapchainKHR = gen75_CreateSwapchainKHR,
1627     .vkDestroySwapchainKHR = gen75_DestroySwapchainKHR,
1628     .vkGetSwapchainImagesKHR = gen75_GetSwapchainImagesKHR,
1629     .vkAcquireNextImageKHR = gen75_AcquireNextImageKHR,
1630     .vkQueuePresentKHR = gen75_QueuePresentKHR,
1631 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1632     .vkCreateWaylandSurfaceKHR = gen75_CreateWaylandSurfaceKHR,
1633 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1634 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1635     .vkGetPhysicalDeviceWaylandPresentationSupportKHR = gen75_GetPhysicalDeviceWaylandPresentationSupportKHR,
1636 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1637 #ifdef VK_USE_PLATFORM_XLIB_KHR
1638     .vkCreateXlibSurfaceKHR = gen75_CreateXlibSurfaceKHR,
1639 #endif // VK_USE_PLATFORM_XLIB_KHR
1640 #ifdef VK_USE_PLATFORM_XLIB_KHR
1641     .vkGetPhysicalDeviceXlibPresentationSupportKHR = gen75_GetPhysicalDeviceXlibPresentationSupportKHR,
1642 #endif // VK_USE_PLATFORM_XLIB_KHR
1643 #ifdef VK_USE_PLATFORM_XCB_KHR
1644     .vkCreateXcbSurfaceKHR = gen75_CreateXcbSurfaceKHR,
1645 #endif // VK_USE_PLATFORM_XCB_KHR
1646 #ifdef VK_USE_PLATFORM_XCB_KHR
1647     .vkGetPhysicalDeviceXcbPresentationSupportKHR = gen75_GetPhysicalDeviceXcbPresentationSupportKHR,
1648 #endif // VK_USE_PLATFORM_XCB_KHR
1649     .vkCreateDebugReportCallbackEXT = gen75_CreateDebugReportCallbackEXT,
1650     .vkDestroyDebugReportCallbackEXT = gen75_DestroyDebugReportCallbackEXT,
1651     .vkDebugReportMessageEXT = gen75_DebugReportMessageEXT,
1652     .vkGetPhysicalDeviceFeatures2KHR = gen75_GetPhysicalDeviceFeatures2KHR,
1653     .vkGetPhysicalDeviceProperties2KHR = gen75_GetPhysicalDeviceProperties2KHR,
1654     .vkGetPhysicalDeviceFormatProperties2KHR = gen75_GetPhysicalDeviceFormatProperties2KHR,
1655     .vkGetPhysicalDeviceImageFormatProperties2KHR = gen75_GetPhysicalDeviceImageFormatProperties2KHR,
1656     .vkGetPhysicalDeviceQueueFamilyProperties2KHR = gen75_GetPhysicalDeviceQueueFamilyProperties2KHR,
1657     .vkGetPhysicalDeviceMemoryProperties2KHR = gen75_GetPhysicalDeviceMemoryProperties2KHR,
1658     .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = gen75_GetPhysicalDeviceSparseImageFormatProperties2KHR,
1659     .vkCmdPushDescriptorSetKHR = gen75_CmdPushDescriptorSetKHR,
1660     .vkTrimCommandPoolKHR = gen75_TrimCommandPoolKHR,
1661     .vkGetPhysicalDeviceExternalBufferPropertiesKHR = gen75_GetPhysicalDeviceExternalBufferPropertiesKHR,
1662     .vkGetMemoryFdKHR = gen75_GetMemoryFdKHR,
1663     .vkGetMemoryFdPropertiesKHR = gen75_GetMemoryFdPropertiesKHR,
1664     .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = gen75_GetPhysicalDeviceExternalSemaphorePropertiesKHR,
1665     .vkGetSemaphoreFdKHR = gen75_GetSemaphoreFdKHR,
1666     .vkImportSemaphoreFdKHR = gen75_ImportSemaphoreFdKHR,
1667     .vkGetPhysicalDeviceExternalFencePropertiesKHR = gen75_GetPhysicalDeviceExternalFencePropertiesKHR,
1668     .vkGetFenceFdKHR = gen75_GetFenceFdKHR,
1669     .vkImportFenceFdKHR = gen75_ImportFenceFdKHR,
1670     .vkBindBufferMemory2KHR = gen75_BindBufferMemory2KHR,
1671     .vkBindImageMemory2KHR = gen75_BindImageMemory2KHR,
1672     .vkCreateDescriptorUpdateTemplateKHR = gen75_CreateDescriptorUpdateTemplateKHR,
1673     .vkDestroyDescriptorUpdateTemplateKHR = gen75_DestroyDescriptorUpdateTemplateKHR,
1674     .vkUpdateDescriptorSetWithTemplateKHR = gen75_UpdateDescriptorSetWithTemplateKHR,
1675     .vkCmdPushDescriptorSetWithTemplateKHR = gen75_CmdPushDescriptorSetWithTemplateKHR,
1676     .vkGetPhysicalDeviceSurfaceCapabilities2KHR = gen75_GetPhysicalDeviceSurfaceCapabilities2KHR,
1677     .vkGetPhysicalDeviceSurfaceFormats2KHR = gen75_GetPhysicalDeviceSurfaceFormats2KHR,
1678     .vkGetBufferMemoryRequirements2KHR = gen75_GetBufferMemoryRequirements2KHR,
1679     .vkGetImageMemoryRequirements2KHR = gen75_GetImageMemoryRequirements2KHR,
1680     .vkGetImageSparseMemoryRequirements2KHR = gen75_GetImageSparseMemoryRequirements2KHR,
1681     .vkCreateSamplerYcbcrConversionKHR = gen75_CreateSamplerYcbcrConversionKHR,
1682     .vkDestroySamplerYcbcrConversionKHR = gen75_DestroySamplerYcbcrConversionKHR,
1683 #ifdef ANDROID
1684     .vkGetSwapchainGrallocUsageANDROID = gen75_GetSwapchainGrallocUsageANDROID,
1685 #endif // ANDROID
1686 #ifdef ANDROID
1687     .vkAcquireImageANDROID = gen75_AcquireImageANDROID,
1688 #endif // ANDROID
1689 #ifdef ANDROID
1690     .vkQueueSignalReleaseImageANDROID = gen75_QueueSignalReleaseImageANDROID,
1691 #endif // ANDROID
1692     .vkCreateDmaBufImageINTEL = gen75_CreateDmaBufImageINTEL,
1693   };
1694     VkResult gen8_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
1695     void gen8_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1696     VkResult gen8_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
1697     PFN_vkVoidFunction gen8_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
1698     PFN_vkVoidFunction gen8_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
1699     void gen8_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
1700     void gen8_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
1701     void gen8_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
1702     void gen8_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
1703     void gen8_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
1704     VkResult gen8_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
1705     VkResult gen8_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
1706     void gen8_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1707     VkResult gen8_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
1708     VkResult gen8_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
1709     VkResult gen8_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
1710     VkResult gen8_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
1711     void gen8_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
1712     VkResult gen8_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
1713     VkResult gen8_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
1714     VkResult gen8_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
1715     VkResult gen8_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
1716     void gen8_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1717     VkResult gen8_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
1718     void gen8_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
1719     VkResult gen8_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
1720     VkResult gen8_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
1721     void gen8_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
1722     void gen8_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
1723     VkResult gen8_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
1724     void gen8_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
1725     VkResult gen8_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
1726     void gen8_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
1727     void gen8_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
1728     VkResult gen8_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
1729     VkResult gen8_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
1730     void gen8_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1731     VkResult gen8_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
1732     VkResult gen8_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
1733     VkResult gen8_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
1734     VkResult gen8_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
1735     void gen8_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1736     VkResult gen8_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
1737     void gen8_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1738     VkResult gen8_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
1739     VkResult gen8_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
1740     VkResult gen8_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
1741     VkResult gen8_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
1742     void gen8_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1743     VkResult gen8_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
1744     VkResult gen8_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
1745     void gen8_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1746     VkResult gen8_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
1747     void gen8_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1748     VkResult gen8_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
1749     void gen8_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1750     void gen8_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
1751     VkResult gen8_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
1752     void gen8_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1753     VkResult gen8_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
1754     void gen8_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1755     VkResult gen8_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
1756     void gen8_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1757     VkResult gen8_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
1758     VkResult gen8_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
1759     VkResult gen8_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
1760     VkResult gen8_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
1761     void gen8_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1762     VkResult gen8_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
1763     void gen8_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1764     VkResult gen8_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
1765     void gen8_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1766     VkResult gen8_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
1767     void gen8_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1768     VkResult gen8_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
1769     void gen8_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1770     VkResult gen8_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
1771     VkResult gen8_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
1772     VkResult gen8_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
1773     void gen8_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
1774     VkResult gen8_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
1775     void gen8_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1776     VkResult gen8_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
1777     void gen8_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1778     void gen8_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
1779     VkResult gen8_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
1780     void gen8_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1781     VkResult gen8_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
1782     VkResult gen8_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
1783     void gen8_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
1784     VkResult gen8_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
1785     VkResult gen8_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
1786     VkResult gen8_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
1787     void gen8_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
1788     void gen8_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
1789     void gen8_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
1790     void gen8_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
1791     void gen8_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
1792     void gen8_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
1793     void gen8_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
1794     void gen8_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
1795     void gen8_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
1796     void gen8_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
1797     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));
1798     void gen8_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
1799     void gen8_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
1800     void gen8_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
1801     void gen8_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
1802     void gen8_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
1803     void gen8_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
1804     void gen8_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
1805     void gen8_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
1806     void gen8_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
1807     void gen8_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
1808     void gen8_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
1809     void gen8_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
1810     void gen8_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
1811     void gen8_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
1812     void gen8_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
1813     void gen8_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
1814     void gen8_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
1815     void gen8_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
1816     void gen8_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
1817     void gen8_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
1818     void gen8_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
1819     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));
1820     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));
1821     void gen8_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
1822     void gen8_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
1823     void gen8_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
1824     void gen8_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
1825     void gen8_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
1826     void gen8_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
1827     void gen8_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
1828     void gen8_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
1829     void gen8_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
1830     void gen8_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
1831     void gen8_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1832     VkResult gen8_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
1833     VkResult gen8_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
1834     VkResult gen8_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
1835     VkResult gen8_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
1836     VkResult gen8_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
1837     void gen8_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1838     VkResult gen8_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
1839     VkResult gen8_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
1840     VkResult gen8_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
1841 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1842     VkResult gen8_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1843 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1844 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
1845     VkBool32 gen8_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
1846 #endif // VK_USE_PLATFORM_WAYLAND_KHR
1847 #ifdef VK_USE_PLATFORM_XLIB_KHR
1848     VkResult gen8_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1849 #endif // VK_USE_PLATFORM_XLIB_KHR
1850 #ifdef VK_USE_PLATFORM_XLIB_KHR
1851     VkBool32 gen8_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
1852 #endif // VK_USE_PLATFORM_XLIB_KHR
1853 #ifdef VK_USE_PLATFORM_XCB_KHR
1854     VkResult gen8_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
1855 #endif // VK_USE_PLATFORM_XCB_KHR
1856 #ifdef VK_USE_PLATFORM_XCB_KHR
1857     VkBool32 gen8_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
1858 #endif // VK_USE_PLATFORM_XCB_KHR
1859     VkResult gen8_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
1860     void gen8_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1861     void gen8_DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) __attribute__ ((weak));
1862     void gen8_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures) __attribute__ ((weak));
1863     void gen8_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties) __attribute__ ((weak));
1864     void gen8_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties) __attribute__ ((weak));
1865     VkResult gen8_GetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties) __attribute__ ((weak));
1866     void gen8_GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties) __attribute__ ((weak));
1867     void gen8_GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties) __attribute__ ((weak));
1868     void gen8_GetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties) __attribute__ ((weak));
1869     void gen8_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
1870     void gen8_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) __attribute__ ((weak));
1871     void gen8_GetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties) __attribute__ ((weak));
1872     VkResult gen8_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1873     VkResult gen8_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
1874     void gen8_GetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties) __attribute__ ((weak));
1875     VkResult gen8_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1876     VkResult gen8_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
1877     void gen8_GetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties) __attribute__ ((weak));
1878     VkResult gen8_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
1879     VkResult gen8_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
1880     VkResult gen8_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
1881     VkResult gen8_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
1882     VkResult gen8_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) __attribute__ ((weak));
1883     void gen8_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1884     void gen8_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
1885     void gen8_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
1886     VkResult gen8_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
1887     VkResult gen8_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
1888     void gen8_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
1889     void gen8_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
1890     void gen8_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) __attribute__ ((weak));
1891     VkResult gen8_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) __attribute__ ((weak));
1892     void gen8_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
1893 #ifdef ANDROID
1894     VkResult gen8_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
1895 #endif // ANDROID
1896 #ifdef ANDROID
1897     VkResult gen8_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
1898 #endif // ANDROID
1899 #ifdef ANDROID
1900     VkResult gen8_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
1901 #endif // ANDROID
1902     VkResult gen8_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
1903 
1904   const struct anv_dispatch_table gen8_dispatch_table = {
1905     .vkCreateInstance = gen8_CreateInstance,
1906     .vkDestroyInstance = gen8_DestroyInstance,
1907     .vkEnumeratePhysicalDevices = gen8_EnumeratePhysicalDevices,
1908     .vkGetDeviceProcAddr = gen8_GetDeviceProcAddr,
1909     .vkGetInstanceProcAddr = gen8_GetInstanceProcAddr,
1910     .vkGetPhysicalDeviceProperties = gen8_GetPhysicalDeviceProperties,
1911     .vkGetPhysicalDeviceQueueFamilyProperties = gen8_GetPhysicalDeviceQueueFamilyProperties,
1912     .vkGetPhysicalDeviceMemoryProperties = gen8_GetPhysicalDeviceMemoryProperties,
1913     .vkGetPhysicalDeviceFeatures = gen8_GetPhysicalDeviceFeatures,
1914     .vkGetPhysicalDeviceFormatProperties = gen8_GetPhysicalDeviceFormatProperties,
1915     .vkGetPhysicalDeviceImageFormatProperties = gen8_GetPhysicalDeviceImageFormatProperties,
1916     .vkCreateDevice = gen8_CreateDevice,
1917     .vkDestroyDevice = gen8_DestroyDevice,
1918     .vkEnumerateInstanceLayerProperties = gen8_EnumerateInstanceLayerProperties,
1919     .vkEnumerateInstanceExtensionProperties = gen8_EnumerateInstanceExtensionProperties,
1920     .vkEnumerateDeviceLayerProperties = gen8_EnumerateDeviceLayerProperties,
1921     .vkEnumerateDeviceExtensionProperties = gen8_EnumerateDeviceExtensionProperties,
1922     .vkGetDeviceQueue = gen8_GetDeviceQueue,
1923     .vkQueueSubmit = gen8_QueueSubmit,
1924     .vkQueueWaitIdle = gen8_QueueWaitIdle,
1925     .vkDeviceWaitIdle = gen8_DeviceWaitIdle,
1926     .vkAllocateMemory = gen8_AllocateMemory,
1927     .vkFreeMemory = gen8_FreeMemory,
1928     .vkMapMemory = gen8_MapMemory,
1929     .vkUnmapMemory = gen8_UnmapMemory,
1930     .vkFlushMappedMemoryRanges = gen8_FlushMappedMemoryRanges,
1931     .vkInvalidateMappedMemoryRanges = gen8_InvalidateMappedMemoryRanges,
1932     .vkGetDeviceMemoryCommitment = gen8_GetDeviceMemoryCommitment,
1933     .vkGetBufferMemoryRequirements = gen8_GetBufferMemoryRequirements,
1934     .vkBindBufferMemory = gen8_BindBufferMemory,
1935     .vkGetImageMemoryRequirements = gen8_GetImageMemoryRequirements,
1936     .vkBindImageMemory = gen8_BindImageMemory,
1937     .vkGetImageSparseMemoryRequirements = gen8_GetImageSparseMemoryRequirements,
1938     .vkGetPhysicalDeviceSparseImageFormatProperties = gen8_GetPhysicalDeviceSparseImageFormatProperties,
1939     .vkQueueBindSparse = gen8_QueueBindSparse,
1940     .vkCreateFence = gen8_CreateFence,
1941     .vkDestroyFence = gen8_DestroyFence,
1942     .vkResetFences = gen8_ResetFences,
1943     .vkGetFenceStatus = gen8_GetFenceStatus,
1944     .vkWaitForFences = gen8_WaitForFences,
1945     .vkCreateSemaphore = gen8_CreateSemaphore,
1946     .vkDestroySemaphore = gen8_DestroySemaphore,
1947     .vkCreateEvent = gen8_CreateEvent,
1948     .vkDestroyEvent = gen8_DestroyEvent,
1949     .vkGetEventStatus = gen8_GetEventStatus,
1950     .vkSetEvent = gen8_SetEvent,
1951     .vkResetEvent = gen8_ResetEvent,
1952     .vkCreateQueryPool = gen8_CreateQueryPool,
1953     .vkDestroyQueryPool = gen8_DestroyQueryPool,
1954     .vkGetQueryPoolResults = gen8_GetQueryPoolResults,
1955     .vkCreateBuffer = gen8_CreateBuffer,
1956     .vkDestroyBuffer = gen8_DestroyBuffer,
1957     .vkCreateBufferView = gen8_CreateBufferView,
1958     .vkDestroyBufferView = gen8_DestroyBufferView,
1959     .vkCreateImage = gen8_CreateImage,
1960     .vkDestroyImage = gen8_DestroyImage,
1961     .vkGetImageSubresourceLayout = gen8_GetImageSubresourceLayout,
1962     .vkCreateImageView = gen8_CreateImageView,
1963     .vkDestroyImageView = gen8_DestroyImageView,
1964     .vkCreateShaderModule = gen8_CreateShaderModule,
1965     .vkDestroyShaderModule = gen8_DestroyShaderModule,
1966     .vkCreatePipelineCache = gen8_CreatePipelineCache,
1967     .vkDestroyPipelineCache = gen8_DestroyPipelineCache,
1968     .vkGetPipelineCacheData = gen8_GetPipelineCacheData,
1969     .vkMergePipelineCaches = gen8_MergePipelineCaches,
1970     .vkCreateGraphicsPipelines = gen8_CreateGraphicsPipelines,
1971     .vkCreateComputePipelines = gen8_CreateComputePipelines,
1972     .vkDestroyPipeline = gen8_DestroyPipeline,
1973     .vkCreatePipelineLayout = gen8_CreatePipelineLayout,
1974     .vkDestroyPipelineLayout = gen8_DestroyPipelineLayout,
1975     .vkCreateSampler = gen8_CreateSampler,
1976     .vkDestroySampler = gen8_DestroySampler,
1977     .vkCreateDescriptorSetLayout = gen8_CreateDescriptorSetLayout,
1978     .vkDestroyDescriptorSetLayout = gen8_DestroyDescriptorSetLayout,
1979     .vkCreateDescriptorPool = gen8_CreateDescriptorPool,
1980     .vkDestroyDescriptorPool = gen8_DestroyDescriptorPool,
1981     .vkResetDescriptorPool = gen8_ResetDescriptorPool,
1982     .vkAllocateDescriptorSets = gen8_AllocateDescriptorSets,
1983     .vkFreeDescriptorSets = gen8_FreeDescriptorSets,
1984     .vkUpdateDescriptorSets = gen8_UpdateDescriptorSets,
1985     .vkCreateFramebuffer = gen8_CreateFramebuffer,
1986     .vkDestroyFramebuffer = gen8_DestroyFramebuffer,
1987     .vkCreateRenderPass = gen8_CreateRenderPass,
1988     .vkDestroyRenderPass = gen8_DestroyRenderPass,
1989     .vkGetRenderAreaGranularity = gen8_GetRenderAreaGranularity,
1990     .vkCreateCommandPool = gen8_CreateCommandPool,
1991     .vkDestroyCommandPool = gen8_DestroyCommandPool,
1992     .vkResetCommandPool = gen8_ResetCommandPool,
1993     .vkAllocateCommandBuffers = gen8_AllocateCommandBuffers,
1994     .vkFreeCommandBuffers = gen8_FreeCommandBuffers,
1995     .vkBeginCommandBuffer = gen8_BeginCommandBuffer,
1996     .vkEndCommandBuffer = gen8_EndCommandBuffer,
1997     .vkResetCommandBuffer = gen8_ResetCommandBuffer,
1998     .vkCmdBindPipeline = gen8_CmdBindPipeline,
1999     .vkCmdSetViewport = gen8_CmdSetViewport,
2000     .vkCmdSetScissor = gen8_CmdSetScissor,
2001     .vkCmdSetLineWidth = gen8_CmdSetLineWidth,
2002     .vkCmdSetDepthBias = gen8_CmdSetDepthBias,
2003     .vkCmdSetBlendConstants = gen8_CmdSetBlendConstants,
2004     .vkCmdSetDepthBounds = gen8_CmdSetDepthBounds,
2005     .vkCmdSetStencilCompareMask = gen8_CmdSetStencilCompareMask,
2006     .vkCmdSetStencilWriteMask = gen8_CmdSetStencilWriteMask,
2007     .vkCmdSetStencilReference = gen8_CmdSetStencilReference,
2008     .vkCmdBindDescriptorSets = gen8_CmdBindDescriptorSets,
2009     .vkCmdBindIndexBuffer = gen8_CmdBindIndexBuffer,
2010     .vkCmdBindVertexBuffers = gen8_CmdBindVertexBuffers,
2011     .vkCmdDraw = gen8_CmdDraw,
2012     .vkCmdDrawIndexed = gen8_CmdDrawIndexed,
2013     .vkCmdDrawIndirect = gen8_CmdDrawIndirect,
2014     .vkCmdDrawIndexedIndirect = gen8_CmdDrawIndexedIndirect,
2015     .vkCmdDispatch = gen8_CmdDispatch,
2016     .vkCmdDispatchIndirect = gen8_CmdDispatchIndirect,
2017     .vkCmdCopyBuffer = gen8_CmdCopyBuffer,
2018     .vkCmdCopyImage = gen8_CmdCopyImage,
2019     .vkCmdBlitImage = gen8_CmdBlitImage,
2020     .vkCmdCopyBufferToImage = gen8_CmdCopyBufferToImage,
2021     .vkCmdCopyImageToBuffer = gen8_CmdCopyImageToBuffer,
2022     .vkCmdUpdateBuffer = gen8_CmdUpdateBuffer,
2023     .vkCmdFillBuffer = gen8_CmdFillBuffer,
2024     .vkCmdClearColorImage = gen8_CmdClearColorImage,
2025     .vkCmdClearDepthStencilImage = gen8_CmdClearDepthStencilImage,
2026     .vkCmdClearAttachments = gen8_CmdClearAttachments,
2027     .vkCmdResolveImage = gen8_CmdResolveImage,
2028     .vkCmdSetEvent = gen8_CmdSetEvent,
2029     .vkCmdResetEvent = gen8_CmdResetEvent,
2030     .vkCmdWaitEvents = gen8_CmdWaitEvents,
2031     .vkCmdPipelineBarrier = gen8_CmdPipelineBarrier,
2032     .vkCmdBeginQuery = gen8_CmdBeginQuery,
2033     .vkCmdEndQuery = gen8_CmdEndQuery,
2034     .vkCmdResetQueryPool = gen8_CmdResetQueryPool,
2035     .vkCmdWriteTimestamp = gen8_CmdWriteTimestamp,
2036     .vkCmdCopyQueryPoolResults = gen8_CmdCopyQueryPoolResults,
2037     .vkCmdPushConstants = gen8_CmdPushConstants,
2038     .vkCmdBeginRenderPass = gen8_CmdBeginRenderPass,
2039     .vkCmdNextSubpass = gen8_CmdNextSubpass,
2040     .vkCmdEndRenderPass = gen8_CmdEndRenderPass,
2041     .vkCmdExecuteCommands = gen8_CmdExecuteCommands,
2042     .vkDestroySurfaceKHR = gen8_DestroySurfaceKHR,
2043     .vkGetPhysicalDeviceSurfaceSupportKHR = gen8_GetPhysicalDeviceSurfaceSupportKHR,
2044     .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = gen8_GetPhysicalDeviceSurfaceCapabilitiesKHR,
2045     .vkGetPhysicalDeviceSurfaceFormatsKHR = gen8_GetPhysicalDeviceSurfaceFormatsKHR,
2046     .vkGetPhysicalDeviceSurfacePresentModesKHR = gen8_GetPhysicalDeviceSurfacePresentModesKHR,
2047     .vkCreateSwapchainKHR = gen8_CreateSwapchainKHR,
2048     .vkDestroySwapchainKHR = gen8_DestroySwapchainKHR,
2049     .vkGetSwapchainImagesKHR = gen8_GetSwapchainImagesKHR,
2050     .vkAcquireNextImageKHR = gen8_AcquireNextImageKHR,
2051     .vkQueuePresentKHR = gen8_QueuePresentKHR,
2052 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2053     .vkCreateWaylandSurfaceKHR = gen8_CreateWaylandSurfaceKHR,
2054 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2055 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2056     .vkGetPhysicalDeviceWaylandPresentationSupportKHR = gen8_GetPhysicalDeviceWaylandPresentationSupportKHR,
2057 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2058 #ifdef VK_USE_PLATFORM_XLIB_KHR
2059     .vkCreateXlibSurfaceKHR = gen8_CreateXlibSurfaceKHR,
2060 #endif // VK_USE_PLATFORM_XLIB_KHR
2061 #ifdef VK_USE_PLATFORM_XLIB_KHR
2062     .vkGetPhysicalDeviceXlibPresentationSupportKHR = gen8_GetPhysicalDeviceXlibPresentationSupportKHR,
2063 #endif // VK_USE_PLATFORM_XLIB_KHR
2064 #ifdef VK_USE_PLATFORM_XCB_KHR
2065     .vkCreateXcbSurfaceKHR = gen8_CreateXcbSurfaceKHR,
2066 #endif // VK_USE_PLATFORM_XCB_KHR
2067 #ifdef VK_USE_PLATFORM_XCB_KHR
2068     .vkGetPhysicalDeviceXcbPresentationSupportKHR = gen8_GetPhysicalDeviceXcbPresentationSupportKHR,
2069 #endif // VK_USE_PLATFORM_XCB_KHR
2070     .vkCreateDebugReportCallbackEXT = gen8_CreateDebugReportCallbackEXT,
2071     .vkDestroyDebugReportCallbackEXT = gen8_DestroyDebugReportCallbackEXT,
2072     .vkDebugReportMessageEXT = gen8_DebugReportMessageEXT,
2073     .vkGetPhysicalDeviceFeatures2KHR = gen8_GetPhysicalDeviceFeatures2KHR,
2074     .vkGetPhysicalDeviceProperties2KHR = gen8_GetPhysicalDeviceProperties2KHR,
2075     .vkGetPhysicalDeviceFormatProperties2KHR = gen8_GetPhysicalDeviceFormatProperties2KHR,
2076     .vkGetPhysicalDeviceImageFormatProperties2KHR = gen8_GetPhysicalDeviceImageFormatProperties2KHR,
2077     .vkGetPhysicalDeviceQueueFamilyProperties2KHR = gen8_GetPhysicalDeviceQueueFamilyProperties2KHR,
2078     .vkGetPhysicalDeviceMemoryProperties2KHR = gen8_GetPhysicalDeviceMemoryProperties2KHR,
2079     .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = gen8_GetPhysicalDeviceSparseImageFormatProperties2KHR,
2080     .vkCmdPushDescriptorSetKHR = gen8_CmdPushDescriptorSetKHR,
2081     .vkTrimCommandPoolKHR = gen8_TrimCommandPoolKHR,
2082     .vkGetPhysicalDeviceExternalBufferPropertiesKHR = gen8_GetPhysicalDeviceExternalBufferPropertiesKHR,
2083     .vkGetMemoryFdKHR = gen8_GetMemoryFdKHR,
2084     .vkGetMemoryFdPropertiesKHR = gen8_GetMemoryFdPropertiesKHR,
2085     .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = gen8_GetPhysicalDeviceExternalSemaphorePropertiesKHR,
2086     .vkGetSemaphoreFdKHR = gen8_GetSemaphoreFdKHR,
2087     .vkImportSemaphoreFdKHR = gen8_ImportSemaphoreFdKHR,
2088     .vkGetPhysicalDeviceExternalFencePropertiesKHR = gen8_GetPhysicalDeviceExternalFencePropertiesKHR,
2089     .vkGetFenceFdKHR = gen8_GetFenceFdKHR,
2090     .vkImportFenceFdKHR = gen8_ImportFenceFdKHR,
2091     .vkBindBufferMemory2KHR = gen8_BindBufferMemory2KHR,
2092     .vkBindImageMemory2KHR = gen8_BindImageMemory2KHR,
2093     .vkCreateDescriptorUpdateTemplateKHR = gen8_CreateDescriptorUpdateTemplateKHR,
2094     .vkDestroyDescriptorUpdateTemplateKHR = gen8_DestroyDescriptorUpdateTemplateKHR,
2095     .vkUpdateDescriptorSetWithTemplateKHR = gen8_UpdateDescriptorSetWithTemplateKHR,
2096     .vkCmdPushDescriptorSetWithTemplateKHR = gen8_CmdPushDescriptorSetWithTemplateKHR,
2097     .vkGetPhysicalDeviceSurfaceCapabilities2KHR = gen8_GetPhysicalDeviceSurfaceCapabilities2KHR,
2098     .vkGetPhysicalDeviceSurfaceFormats2KHR = gen8_GetPhysicalDeviceSurfaceFormats2KHR,
2099     .vkGetBufferMemoryRequirements2KHR = gen8_GetBufferMemoryRequirements2KHR,
2100     .vkGetImageMemoryRequirements2KHR = gen8_GetImageMemoryRequirements2KHR,
2101     .vkGetImageSparseMemoryRequirements2KHR = gen8_GetImageSparseMemoryRequirements2KHR,
2102     .vkCreateSamplerYcbcrConversionKHR = gen8_CreateSamplerYcbcrConversionKHR,
2103     .vkDestroySamplerYcbcrConversionKHR = gen8_DestroySamplerYcbcrConversionKHR,
2104 #ifdef ANDROID
2105     .vkGetSwapchainGrallocUsageANDROID = gen8_GetSwapchainGrallocUsageANDROID,
2106 #endif // ANDROID
2107 #ifdef ANDROID
2108     .vkAcquireImageANDROID = gen8_AcquireImageANDROID,
2109 #endif // ANDROID
2110 #ifdef ANDROID
2111     .vkQueueSignalReleaseImageANDROID = gen8_QueueSignalReleaseImageANDROID,
2112 #endif // ANDROID
2113     .vkCreateDmaBufImageINTEL = gen8_CreateDmaBufImageINTEL,
2114   };
2115     VkResult gen9_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
2116     void gen9_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2117     VkResult gen9_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
2118     PFN_vkVoidFunction gen9_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
2119     PFN_vkVoidFunction gen9_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
2120     void gen9_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
2121     void gen9_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
2122     void gen9_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
2123     void gen9_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
2124     void gen9_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
2125     VkResult gen9_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
2126     VkResult gen9_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
2127     void gen9_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2128     VkResult gen9_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
2129     VkResult gen9_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
2130     VkResult gen9_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
2131     VkResult gen9_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
2132     void gen9_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
2133     VkResult gen9_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
2134     VkResult gen9_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
2135     VkResult gen9_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
2136     VkResult gen9_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
2137     void gen9_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2138     VkResult gen9_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
2139     void gen9_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
2140     VkResult gen9_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
2141     VkResult gen9_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
2142     void gen9_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
2143     void gen9_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
2144     VkResult gen9_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
2145     void gen9_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
2146     VkResult gen9_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
2147     void gen9_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
2148     void gen9_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
2149     VkResult gen9_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
2150     VkResult gen9_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
2151     void gen9_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2152     VkResult gen9_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
2153     VkResult gen9_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
2154     VkResult gen9_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
2155     VkResult gen9_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
2156     void gen9_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2157     VkResult gen9_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
2158     void gen9_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2159     VkResult gen9_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
2160     VkResult gen9_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
2161     VkResult gen9_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
2162     VkResult gen9_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
2163     void gen9_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2164     VkResult gen9_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
2165     VkResult gen9_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
2166     void gen9_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2167     VkResult gen9_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
2168     void gen9_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2169     VkResult gen9_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
2170     void gen9_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2171     void gen9_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
2172     VkResult gen9_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
2173     void gen9_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2174     VkResult gen9_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
2175     void gen9_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2176     VkResult gen9_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
2177     void gen9_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2178     VkResult gen9_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
2179     VkResult gen9_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
2180     VkResult gen9_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
2181     VkResult gen9_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
2182     void gen9_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2183     VkResult gen9_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
2184     void gen9_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2185     VkResult gen9_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
2186     void gen9_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2187     VkResult gen9_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
2188     void gen9_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2189     VkResult gen9_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
2190     void gen9_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2191     VkResult gen9_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
2192     VkResult gen9_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
2193     VkResult gen9_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
2194     void gen9_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
2195     VkResult gen9_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
2196     void gen9_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2197     VkResult gen9_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
2198     void gen9_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2199     void gen9_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
2200     VkResult gen9_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
2201     void gen9_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2202     VkResult gen9_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
2203     VkResult gen9_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
2204     void gen9_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
2205     VkResult gen9_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
2206     VkResult gen9_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
2207     VkResult gen9_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
2208     void gen9_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
2209     void gen9_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
2210     void gen9_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
2211     void gen9_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
2212     void gen9_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
2213     void gen9_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
2214     void gen9_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
2215     void gen9_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
2216     void gen9_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
2217     void gen9_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
2218     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));
2219     void gen9_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
2220     void gen9_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
2221     void gen9_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
2222     void gen9_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
2223     void gen9_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
2224     void gen9_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
2225     void gen9_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
2226     void gen9_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
2227     void gen9_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
2228     void gen9_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
2229     void gen9_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
2230     void gen9_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
2231     void gen9_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
2232     void gen9_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
2233     void gen9_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
2234     void gen9_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
2235     void gen9_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
2236     void gen9_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
2237     void gen9_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
2238     void gen9_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
2239     void gen9_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
2240     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));
2241     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));
2242     void gen9_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
2243     void gen9_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
2244     void gen9_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
2245     void gen9_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
2246     void gen9_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
2247     void gen9_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
2248     void gen9_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
2249     void gen9_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
2250     void gen9_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
2251     void gen9_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
2252     void gen9_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2253     VkResult gen9_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
2254     VkResult gen9_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
2255     VkResult gen9_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
2256     VkResult gen9_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
2257     VkResult gen9_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
2258     void gen9_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2259     VkResult gen9_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
2260     VkResult gen9_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
2261     VkResult gen9_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
2262 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2263     VkResult gen9_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
2264 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2265 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2266     VkBool32 gen9_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
2267 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2268 #ifdef VK_USE_PLATFORM_XLIB_KHR
2269     VkResult gen9_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
2270 #endif // VK_USE_PLATFORM_XLIB_KHR
2271 #ifdef VK_USE_PLATFORM_XLIB_KHR
2272     VkBool32 gen9_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
2273 #endif // VK_USE_PLATFORM_XLIB_KHR
2274 #ifdef VK_USE_PLATFORM_XCB_KHR
2275     VkResult gen9_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
2276 #endif // VK_USE_PLATFORM_XCB_KHR
2277 #ifdef VK_USE_PLATFORM_XCB_KHR
2278     VkBool32 gen9_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
2279 #endif // VK_USE_PLATFORM_XCB_KHR
2280     VkResult gen9_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
2281     void gen9_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2282     void gen9_DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) __attribute__ ((weak));
2283     void gen9_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures) __attribute__ ((weak));
2284     void gen9_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties) __attribute__ ((weak));
2285     void gen9_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties) __attribute__ ((weak));
2286     VkResult gen9_GetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties) __attribute__ ((weak));
2287     void gen9_GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties) __attribute__ ((weak));
2288     void gen9_GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties) __attribute__ ((weak));
2289     void gen9_GetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties) __attribute__ ((weak));
2290     void gen9_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
2291     void gen9_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) __attribute__ ((weak));
2292     void gen9_GetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties) __attribute__ ((weak));
2293     VkResult gen9_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
2294     VkResult gen9_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
2295     void gen9_GetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties) __attribute__ ((weak));
2296     VkResult gen9_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
2297     VkResult gen9_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
2298     void gen9_GetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties) __attribute__ ((weak));
2299     VkResult gen9_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
2300     VkResult gen9_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
2301     VkResult gen9_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
2302     VkResult gen9_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
2303     VkResult gen9_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) __attribute__ ((weak));
2304     void gen9_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2305     void gen9_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
2306     void gen9_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
2307     VkResult gen9_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
2308     VkResult gen9_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
2309     void gen9_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
2310     void gen9_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
2311     void gen9_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) __attribute__ ((weak));
2312     VkResult gen9_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) __attribute__ ((weak));
2313     void gen9_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2314 #ifdef ANDROID
2315     VkResult gen9_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
2316 #endif // ANDROID
2317 #ifdef ANDROID
2318     VkResult gen9_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
2319 #endif // ANDROID
2320 #ifdef ANDROID
2321     VkResult gen9_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
2322 #endif // ANDROID
2323     VkResult gen9_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
2324 
2325   const struct anv_dispatch_table gen9_dispatch_table = {
2326     .vkCreateInstance = gen9_CreateInstance,
2327     .vkDestroyInstance = gen9_DestroyInstance,
2328     .vkEnumeratePhysicalDevices = gen9_EnumeratePhysicalDevices,
2329     .vkGetDeviceProcAddr = gen9_GetDeviceProcAddr,
2330     .vkGetInstanceProcAddr = gen9_GetInstanceProcAddr,
2331     .vkGetPhysicalDeviceProperties = gen9_GetPhysicalDeviceProperties,
2332     .vkGetPhysicalDeviceQueueFamilyProperties = gen9_GetPhysicalDeviceQueueFamilyProperties,
2333     .vkGetPhysicalDeviceMemoryProperties = gen9_GetPhysicalDeviceMemoryProperties,
2334     .vkGetPhysicalDeviceFeatures = gen9_GetPhysicalDeviceFeatures,
2335     .vkGetPhysicalDeviceFormatProperties = gen9_GetPhysicalDeviceFormatProperties,
2336     .vkGetPhysicalDeviceImageFormatProperties = gen9_GetPhysicalDeviceImageFormatProperties,
2337     .vkCreateDevice = gen9_CreateDevice,
2338     .vkDestroyDevice = gen9_DestroyDevice,
2339     .vkEnumerateInstanceLayerProperties = gen9_EnumerateInstanceLayerProperties,
2340     .vkEnumerateInstanceExtensionProperties = gen9_EnumerateInstanceExtensionProperties,
2341     .vkEnumerateDeviceLayerProperties = gen9_EnumerateDeviceLayerProperties,
2342     .vkEnumerateDeviceExtensionProperties = gen9_EnumerateDeviceExtensionProperties,
2343     .vkGetDeviceQueue = gen9_GetDeviceQueue,
2344     .vkQueueSubmit = gen9_QueueSubmit,
2345     .vkQueueWaitIdle = gen9_QueueWaitIdle,
2346     .vkDeviceWaitIdle = gen9_DeviceWaitIdle,
2347     .vkAllocateMemory = gen9_AllocateMemory,
2348     .vkFreeMemory = gen9_FreeMemory,
2349     .vkMapMemory = gen9_MapMemory,
2350     .vkUnmapMemory = gen9_UnmapMemory,
2351     .vkFlushMappedMemoryRanges = gen9_FlushMappedMemoryRanges,
2352     .vkInvalidateMappedMemoryRanges = gen9_InvalidateMappedMemoryRanges,
2353     .vkGetDeviceMemoryCommitment = gen9_GetDeviceMemoryCommitment,
2354     .vkGetBufferMemoryRequirements = gen9_GetBufferMemoryRequirements,
2355     .vkBindBufferMemory = gen9_BindBufferMemory,
2356     .vkGetImageMemoryRequirements = gen9_GetImageMemoryRequirements,
2357     .vkBindImageMemory = gen9_BindImageMemory,
2358     .vkGetImageSparseMemoryRequirements = gen9_GetImageSparseMemoryRequirements,
2359     .vkGetPhysicalDeviceSparseImageFormatProperties = gen9_GetPhysicalDeviceSparseImageFormatProperties,
2360     .vkQueueBindSparse = gen9_QueueBindSparse,
2361     .vkCreateFence = gen9_CreateFence,
2362     .vkDestroyFence = gen9_DestroyFence,
2363     .vkResetFences = gen9_ResetFences,
2364     .vkGetFenceStatus = gen9_GetFenceStatus,
2365     .vkWaitForFences = gen9_WaitForFences,
2366     .vkCreateSemaphore = gen9_CreateSemaphore,
2367     .vkDestroySemaphore = gen9_DestroySemaphore,
2368     .vkCreateEvent = gen9_CreateEvent,
2369     .vkDestroyEvent = gen9_DestroyEvent,
2370     .vkGetEventStatus = gen9_GetEventStatus,
2371     .vkSetEvent = gen9_SetEvent,
2372     .vkResetEvent = gen9_ResetEvent,
2373     .vkCreateQueryPool = gen9_CreateQueryPool,
2374     .vkDestroyQueryPool = gen9_DestroyQueryPool,
2375     .vkGetQueryPoolResults = gen9_GetQueryPoolResults,
2376     .vkCreateBuffer = gen9_CreateBuffer,
2377     .vkDestroyBuffer = gen9_DestroyBuffer,
2378     .vkCreateBufferView = gen9_CreateBufferView,
2379     .vkDestroyBufferView = gen9_DestroyBufferView,
2380     .vkCreateImage = gen9_CreateImage,
2381     .vkDestroyImage = gen9_DestroyImage,
2382     .vkGetImageSubresourceLayout = gen9_GetImageSubresourceLayout,
2383     .vkCreateImageView = gen9_CreateImageView,
2384     .vkDestroyImageView = gen9_DestroyImageView,
2385     .vkCreateShaderModule = gen9_CreateShaderModule,
2386     .vkDestroyShaderModule = gen9_DestroyShaderModule,
2387     .vkCreatePipelineCache = gen9_CreatePipelineCache,
2388     .vkDestroyPipelineCache = gen9_DestroyPipelineCache,
2389     .vkGetPipelineCacheData = gen9_GetPipelineCacheData,
2390     .vkMergePipelineCaches = gen9_MergePipelineCaches,
2391     .vkCreateGraphicsPipelines = gen9_CreateGraphicsPipelines,
2392     .vkCreateComputePipelines = gen9_CreateComputePipelines,
2393     .vkDestroyPipeline = gen9_DestroyPipeline,
2394     .vkCreatePipelineLayout = gen9_CreatePipelineLayout,
2395     .vkDestroyPipelineLayout = gen9_DestroyPipelineLayout,
2396     .vkCreateSampler = gen9_CreateSampler,
2397     .vkDestroySampler = gen9_DestroySampler,
2398     .vkCreateDescriptorSetLayout = gen9_CreateDescriptorSetLayout,
2399     .vkDestroyDescriptorSetLayout = gen9_DestroyDescriptorSetLayout,
2400     .vkCreateDescriptorPool = gen9_CreateDescriptorPool,
2401     .vkDestroyDescriptorPool = gen9_DestroyDescriptorPool,
2402     .vkResetDescriptorPool = gen9_ResetDescriptorPool,
2403     .vkAllocateDescriptorSets = gen9_AllocateDescriptorSets,
2404     .vkFreeDescriptorSets = gen9_FreeDescriptorSets,
2405     .vkUpdateDescriptorSets = gen9_UpdateDescriptorSets,
2406     .vkCreateFramebuffer = gen9_CreateFramebuffer,
2407     .vkDestroyFramebuffer = gen9_DestroyFramebuffer,
2408     .vkCreateRenderPass = gen9_CreateRenderPass,
2409     .vkDestroyRenderPass = gen9_DestroyRenderPass,
2410     .vkGetRenderAreaGranularity = gen9_GetRenderAreaGranularity,
2411     .vkCreateCommandPool = gen9_CreateCommandPool,
2412     .vkDestroyCommandPool = gen9_DestroyCommandPool,
2413     .vkResetCommandPool = gen9_ResetCommandPool,
2414     .vkAllocateCommandBuffers = gen9_AllocateCommandBuffers,
2415     .vkFreeCommandBuffers = gen9_FreeCommandBuffers,
2416     .vkBeginCommandBuffer = gen9_BeginCommandBuffer,
2417     .vkEndCommandBuffer = gen9_EndCommandBuffer,
2418     .vkResetCommandBuffer = gen9_ResetCommandBuffer,
2419     .vkCmdBindPipeline = gen9_CmdBindPipeline,
2420     .vkCmdSetViewport = gen9_CmdSetViewport,
2421     .vkCmdSetScissor = gen9_CmdSetScissor,
2422     .vkCmdSetLineWidth = gen9_CmdSetLineWidth,
2423     .vkCmdSetDepthBias = gen9_CmdSetDepthBias,
2424     .vkCmdSetBlendConstants = gen9_CmdSetBlendConstants,
2425     .vkCmdSetDepthBounds = gen9_CmdSetDepthBounds,
2426     .vkCmdSetStencilCompareMask = gen9_CmdSetStencilCompareMask,
2427     .vkCmdSetStencilWriteMask = gen9_CmdSetStencilWriteMask,
2428     .vkCmdSetStencilReference = gen9_CmdSetStencilReference,
2429     .vkCmdBindDescriptorSets = gen9_CmdBindDescriptorSets,
2430     .vkCmdBindIndexBuffer = gen9_CmdBindIndexBuffer,
2431     .vkCmdBindVertexBuffers = gen9_CmdBindVertexBuffers,
2432     .vkCmdDraw = gen9_CmdDraw,
2433     .vkCmdDrawIndexed = gen9_CmdDrawIndexed,
2434     .vkCmdDrawIndirect = gen9_CmdDrawIndirect,
2435     .vkCmdDrawIndexedIndirect = gen9_CmdDrawIndexedIndirect,
2436     .vkCmdDispatch = gen9_CmdDispatch,
2437     .vkCmdDispatchIndirect = gen9_CmdDispatchIndirect,
2438     .vkCmdCopyBuffer = gen9_CmdCopyBuffer,
2439     .vkCmdCopyImage = gen9_CmdCopyImage,
2440     .vkCmdBlitImage = gen9_CmdBlitImage,
2441     .vkCmdCopyBufferToImage = gen9_CmdCopyBufferToImage,
2442     .vkCmdCopyImageToBuffer = gen9_CmdCopyImageToBuffer,
2443     .vkCmdUpdateBuffer = gen9_CmdUpdateBuffer,
2444     .vkCmdFillBuffer = gen9_CmdFillBuffer,
2445     .vkCmdClearColorImage = gen9_CmdClearColorImage,
2446     .vkCmdClearDepthStencilImage = gen9_CmdClearDepthStencilImage,
2447     .vkCmdClearAttachments = gen9_CmdClearAttachments,
2448     .vkCmdResolveImage = gen9_CmdResolveImage,
2449     .vkCmdSetEvent = gen9_CmdSetEvent,
2450     .vkCmdResetEvent = gen9_CmdResetEvent,
2451     .vkCmdWaitEvents = gen9_CmdWaitEvents,
2452     .vkCmdPipelineBarrier = gen9_CmdPipelineBarrier,
2453     .vkCmdBeginQuery = gen9_CmdBeginQuery,
2454     .vkCmdEndQuery = gen9_CmdEndQuery,
2455     .vkCmdResetQueryPool = gen9_CmdResetQueryPool,
2456     .vkCmdWriteTimestamp = gen9_CmdWriteTimestamp,
2457     .vkCmdCopyQueryPoolResults = gen9_CmdCopyQueryPoolResults,
2458     .vkCmdPushConstants = gen9_CmdPushConstants,
2459     .vkCmdBeginRenderPass = gen9_CmdBeginRenderPass,
2460     .vkCmdNextSubpass = gen9_CmdNextSubpass,
2461     .vkCmdEndRenderPass = gen9_CmdEndRenderPass,
2462     .vkCmdExecuteCommands = gen9_CmdExecuteCommands,
2463     .vkDestroySurfaceKHR = gen9_DestroySurfaceKHR,
2464     .vkGetPhysicalDeviceSurfaceSupportKHR = gen9_GetPhysicalDeviceSurfaceSupportKHR,
2465     .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = gen9_GetPhysicalDeviceSurfaceCapabilitiesKHR,
2466     .vkGetPhysicalDeviceSurfaceFormatsKHR = gen9_GetPhysicalDeviceSurfaceFormatsKHR,
2467     .vkGetPhysicalDeviceSurfacePresentModesKHR = gen9_GetPhysicalDeviceSurfacePresentModesKHR,
2468     .vkCreateSwapchainKHR = gen9_CreateSwapchainKHR,
2469     .vkDestroySwapchainKHR = gen9_DestroySwapchainKHR,
2470     .vkGetSwapchainImagesKHR = gen9_GetSwapchainImagesKHR,
2471     .vkAcquireNextImageKHR = gen9_AcquireNextImageKHR,
2472     .vkQueuePresentKHR = gen9_QueuePresentKHR,
2473 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2474     .vkCreateWaylandSurfaceKHR = gen9_CreateWaylandSurfaceKHR,
2475 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2476 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2477     .vkGetPhysicalDeviceWaylandPresentationSupportKHR = gen9_GetPhysicalDeviceWaylandPresentationSupportKHR,
2478 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2479 #ifdef VK_USE_PLATFORM_XLIB_KHR
2480     .vkCreateXlibSurfaceKHR = gen9_CreateXlibSurfaceKHR,
2481 #endif // VK_USE_PLATFORM_XLIB_KHR
2482 #ifdef VK_USE_PLATFORM_XLIB_KHR
2483     .vkGetPhysicalDeviceXlibPresentationSupportKHR = gen9_GetPhysicalDeviceXlibPresentationSupportKHR,
2484 #endif // VK_USE_PLATFORM_XLIB_KHR
2485 #ifdef VK_USE_PLATFORM_XCB_KHR
2486     .vkCreateXcbSurfaceKHR = gen9_CreateXcbSurfaceKHR,
2487 #endif // VK_USE_PLATFORM_XCB_KHR
2488 #ifdef VK_USE_PLATFORM_XCB_KHR
2489     .vkGetPhysicalDeviceXcbPresentationSupportKHR = gen9_GetPhysicalDeviceXcbPresentationSupportKHR,
2490 #endif // VK_USE_PLATFORM_XCB_KHR
2491     .vkCreateDebugReportCallbackEXT = gen9_CreateDebugReportCallbackEXT,
2492     .vkDestroyDebugReportCallbackEXT = gen9_DestroyDebugReportCallbackEXT,
2493     .vkDebugReportMessageEXT = gen9_DebugReportMessageEXT,
2494     .vkGetPhysicalDeviceFeatures2KHR = gen9_GetPhysicalDeviceFeatures2KHR,
2495     .vkGetPhysicalDeviceProperties2KHR = gen9_GetPhysicalDeviceProperties2KHR,
2496     .vkGetPhysicalDeviceFormatProperties2KHR = gen9_GetPhysicalDeviceFormatProperties2KHR,
2497     .vkGetPhysicalDeviceImageFormatProperties2KHR = gen9_GetPhysicalDeviceImageFormatProperties2KHR,
2498     .vkGetPhysicalDeviceQueueFamilyProperties2KHR = gen9_GetPhysicalDeviceQueueFamilyProperties2KHR,
2499     .vkGetPhysicalDeviceMemoryProperties2KHR = gen9_GetPhysicalDeviceMemoryProperties2KHR,
2500     .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = gen9_GetPhysicalDeviceSparseImageFormatProperties2KHR,
2501     .vkCmdPushDescriptorSetKHR = gen9_CmdPushDescriptorSetKHR,
2502     .vkTrimCommandPoolKHR = gen9_TrimCommandPoolKHR,
2503     .vkGetPhysicalDeviceExternalBufferPropertiesKHR = gen9_GetPhysicalDeviceExternalBufferPropertiesKHR,
2504     .vkGetMemoryFdKHR = gen9_GetMemoryFdKHR,
2505     .vkGetMemoryFdPropertiesKHR = gen9_GetMemoryFdPropertiesKHR,
2506     .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = gen9_GetPhysicalDeviceExternalSemaphorePropertiesKHR,
2507     .vkGetSemaphoreFdKHR = gen9_GetSemaphoreFdKHR,
2508     .vkImportSemaphoreFdKHR = gen9_ImportSemaphoreFdKHR,
2509     .vkGetPhysicalDeviceExternalFencePropertiesKHR = gen9_GetPhysicalDeviceExternalFencePropertiesKHR,
2510     .vkGetFenceFdKHR = gen9_GetFenceFdKHR,
2511     .vkImportFenceFdKHR = gen9_ImportFenceFdKHR,
2512     .vkBindBufferMemory2KHR = gen9_BindBufferMemory2KHR,
2513     .vkBindImageMemory2KHR = gen9_BindImageMemory2KHR,
2514     .vkCreateDescriptorUpdateTemplateKHR = gen9_CreateDescriptorUpdateTemplateKHR,
2515     .vkDestroyDescriptorUpdateTemplateKHR = gen9_DestroyDescriptorUpdateTemplateKHR,
2516     .vkUpdateDescriptorSetWithTemplateKHR = gen9_UpdateDescriptorSetWithTemplateKHR,
2517     .vkCmdPushDescriptorSetWithTemplateKHR = gen9_CmdPushDescriptorSetWithTemplateKHR,
2518     .vkGetPhysicalDeviceSurfaceCapabilities2KHR = gen9_GetPhysicalDeviceSurfaceCapabilities2KHR,
2519     .vkGetPhysicalDeviceSurfaceFormats2KHR = gen9_GetPhysicalDeviceSurfaceFormats2KHR,
2520     .vkGetBufferMemoryRequirements2KHR = gen9_GetBufferMemoryRequirements2KHR,
2521     .vkGetImageMemoryRequirements2KHR = gen9_GetImageMemoryRequirements2KHR,
2522     .vkGetImageSparseMemoryRequirements2KHR = gen9_GetImageSparseMemoryRequirements2KHR,
2523     .vkCreateSamplerYcbcrConversionKHR = gen9_CreateSamplerYcbcrConversionKHR,
2524     .vkDestroySamplerYcbcrConversionKHR = gen9_DestroySamplerYcbcrConversionKHR,
2525 #ifdef ANDROID
2526     .vkGetSwapchainGrallocUsageANDROID = gen9_GetSwapchainGrallocUsageANDROID,
2527 #endif // ANDROID
2528 #ifdef ANDROID
2529     .vkAcquireImageANDROID = gen9_AcquireImageANDROID,
2530 #endif // ANDROID
2531 #ifdef ANDROID
2532     .vkQueueSignalReleaseImageANDROID = gen9_QueueSignalReleaseImageANDROID,
2533 #endif // ANDROID
2534     .vkCreateDmaBufImageINTEL = gen9_CreateDmaBufImageINTEL,
2535   };
2536     VkResult gen10_CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) __attribute__ ((weak));
2537     void gen10_DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2538     VkResult gen10_EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) __attribute__ ((weak));
2539     PFN_vkVoidFunction gen10_GetDeviceProcAddr(VkDevice device, const char* pName) __attribute__ ((weak));
2540     PFN_vkVoidFunction gen10_GetInstanceProcAddr(VkInstance instance, const char* pName) __attribute__ ((weak));
2541     void gen10_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) __attribute__ ((weak));
2542     void gen10_GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) __attribute__ ((weak));
2543     void gen10_GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) __attribute__ ((weak));
2544     void gen10_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) __attribute__ ((weak));
2545     void gen10_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) __attribute__ ((weak));
2546     VkResult gen10_GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) __attribute__ ((weak));
2547     VkResult gen10_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) __attribute__ ((weak));
2548     void gen10_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2549     VkResult gen10_EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
2550     VkResult gen10_EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
2551     VkResult gen10_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) __attribute__ ((weak));
2552     VkResult gen10_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) __attribute__ ((weak));
2553     void gen10_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) __attribute__ ((weak));
2554     VkResult gen10_QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) __attribute__ ((weak));
2555     VkResult gen10_QueueWaitIdle(VkQueue queue) __attribute__ ((weak));
2556     VkResult gen10_DeviceWaitIdle(VkDevice device) __attribute__ ((weak));
2557     VkResult gen10_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) __attribute__ ((weak));
2558     void gen10_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2559     VkResult gen10_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) __attribute__ ((weak));
2560     void gen10_UnmapMemory(VkDevice device, VkDeviceMemory memory) __attribute__ ((weak));
2561     VkResult gen10_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
2562     VkResult gen10_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) __attribute__ ((weak));
2563     void gen10_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) __attribute__ ((weak));
2564     void gen10_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
2565     VkResult gen10_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
2566     void gen10_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) __attribute__ ((weak));
2567     VkResult gen10_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) __attribute__ ((weak));
2568     void gen10_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) __attribute__ ((weak));
2569     void gen10_GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) __attribute__ ((weak));
2570     VkResult gen10_QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) __attribute__ ((weak));
2571     VkResult gen10_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) __attribute__ ((weak));
2572     void gen10_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2573     VkResult gen10_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences) __attribute__ ((weak));
2574     VkResult gen10_GetFenceStatus(VkDevice device, VkFence fence) __attribute__ ((weak));
2575     VkResult gen10_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) __attribute__ ((weak));
2576     VkResult gen10_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) __attribute__ ((weak));
2577     void gen10_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2578     VkResult gen10_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) __attribute__ ((weak));
2579     void gen10_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2580     VkResult gen10_GetEventStatus(VkDevice device, VkEvent event) __attribute__ ((weak));
2581     VkResult gen10_SetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
2582     VkResult gen10_ResetEvent(VkDevice device, VkEvent event) __attribute__ ((weak));
2583     VkResult gen10_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) __attribute__ ((weak));
2584     void gen10_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2585     VkResult gen10_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
2586     VkResult gen10_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) __attribute__ ((weak));
2587     void gen10_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2588     VkResult gen10_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) __attribute__ ((weak));
2589     void gen10_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2590     VkResult gen10_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) __attribute__ ((weak));
2591     void gen10_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2592     void gen10_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) __attribute__ ((weak));
2593     VkResult gen10_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) __attribute__ ((weak));
2594     void gen10_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2595     VkResult gen10_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) __attribute__ ((weak));
2596     void gen10_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2597     VkResult gen10_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) __attribute__ ((weak));
2598     void gen10_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2599     VkResult gen10_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) __attribute__ ((weak));
2600     VkResult gen10_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) __attribute__ ((weak));
2601     VkResult gen10_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
2602     VkResult gen10_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) __attribute__ ((weak));
2603     void gen10_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2604     VkResult gen10_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) __attribute__ ((weak));
2605     void gen10_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2606     VkResult gen10_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) __attribute__ ((weak));
2607     void gen10_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2608     VkResult gen10_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) __attribute__ ((weak));
2609     void gen10_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2610     VkResult gen10_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) __attribute__ ((weak));
2611     void gen10_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2612     VkResult gen10_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) __attribute__ ((weak));
2613     VkResult gen10_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
2614     VkResult gen10_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) __attribute__ ((weak));
2615     void gen10_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) __attribute__ ((weak));
2616     VkResult gen10_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) __attribute__ ((weak));
2617     void gen10_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2618     VkResult gen10_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) __attribute__ ((weak));
2619     void gen10_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2620     void gen10_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) __attribute__ ((weak));
2621     VkResult gen10_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) __attribute__ ((weak));
2622     void gen10_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2623     VkResult gen10_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) __attribute__ ((weak));
2624     VkResult gen10_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
2625     void gen10_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
2626     VkResult gen10_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) __attribute__ ((weak));
2627     VkResult gen10_EndCommandBuffer(VkCommandBuffer commandBuffer) __attribute__ ((weak));
2628     VkResult gen10_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) __attribute__ ((weak));
2629     void gen10_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) __attribute__ ((weak));
2630     void gen10_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) __attribute__ ((weak));
2631     void gen10_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) __attribute__ ((weak));
2632     void gen10_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) __attribute__ ((weak));
2633     void gen10_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) __attribute__ ((weak));
2634     void gen10_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]) __attribute__ ((weak));
2635     void gen10_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) __attribute__ ((weak));
2636     void gen10_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) __attribute__ ((weak));
2637     void gen10_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) __attribute__ ((weak));
2638     void gen10_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) __attribute__ ((weak));
2639     void gen10_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));
2640     void gen10_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) __attribute__ ((weak));
2641     void gen10_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) __attribute__ ((weak));
2642     void gen10_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) __attribute__ ((weak));
2643     void gen10_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) __attribute__ ((weak));
2644     void gen10_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
2645     void gen10_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) __attribute__ ((weak));
2646     void gen10_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) __attribute__ ((weak));
2647     void gen10_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) __attribute__ ((weak));
2648     void gen10_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) __attribute__ ((weak));
2649     void gen10_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) __attribute__ ((weak));
2650     void gen10_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) __attribute__ ((weak));
2651     void gen10_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
2652     void gen10_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) __attribute__ ((weak));
2653     void gen10_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) __attribute__ ((weak));
2654     void gen10_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) __attribute__ ((weak));
2655     void gen10_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
2656     void gen10_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) __attribute__ ((weak));
2657     void gen10_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) __attribute__ ((weak));
2658     void gen10_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) __attribute__ ((weak));
2659     void gen10_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
2660     void gen10_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) __attribute__ ((weak));
2661     void gen10_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));
2662     void gen10_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));
2663     void gen10_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) __attribute__ ((weak));
2664     void gen10_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
2665     void gen10_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) __attribute__ ((weak));
2666     void gen10_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) __attribute__ ((weak));
2667     void gen10_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) __attribute__ ((weak));
2668     void gen10_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) __attribute__ ((weak));
2669     void gen10_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) __attribute__ ((weak));
2670     void gen10_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) __attribute__ ((weak));
2671     void gen10_CmdEndRenderPass(VkCommandBuffer commandBuffer) __attribute__ ((weak));
2672     void gen10_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) __attribute__ ((weak));
2673     void gen10_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2674     VkResult gen10_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) __attribute__ ((weak));
2675     VkResult gen10_GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) __attribute__ ((weak));
2676     VkResult gen10_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) __attribute__ ((weak));
2677     VkResult gen10_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) __attribute__ ((weak));
2678     VkResult gen10_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) __attribute__ ((weak));
2679     void gen10_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2680     VkResult gen10_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) __attribute__ ((weak));
2681     VkResult gen10_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) __attribute__ ((weak));
2682     VkResult gen10_QueuePresentKHR(VkQueue queue, const VkPresentInfoKHR* pPresentInfo) __attribute__ ((weak));
2683 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2684     VkResult gen10_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
2685 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2686 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2687     VkBool32 gen10_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display) __attribute__ ((weak));
2688 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2689 #ifdef VK_USE_PLATFORM_XLIB_KHR
2690     VkResult gen10_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
2691 #endif // VK_USE_PLATFORM_XLIB_KHR
2692 #ifdef VK_USE_PLATFORM_XLIB_KHR
2693     VkBool32 gen10_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID) __attribute__ ((weak));
2694 #endif // VK_USE_PLATFORM_XLIB_KHR
2695 #ifdef VK_USE_PLATFORM_XCB_KHR
2696     VkResult gen10_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) __attribute__ ((weak));
2697 #endif // VK_USE_PLATFORM_XCB_KHR
2698 #ifdef VK_USE_PLATFORM_XCB_KHR
2699     VkBool32 gen10_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id) __attribute__ ((weak));
2700 #endif // VK_USE_PLATFORM_XCB_KHR
2701     VkResult gen10_CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) __attribute__ ((weak));
2702     void gen10_DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2703     void gen10_DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) __attribute__ ((weak));
2704     void gen10_GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2KHR* pFeatures) __attribute__ ((weak));
2705     void gen10_GetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2KHR* pProperties) __attribute__ ((weak));
2706     void gen10_GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2KHR* pFormatProperties) __attribute__ ((weak));
2707     VkResult gen10_GetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR* pImageFormatInfo, VkImageFormatProperties2KHR* pImageFormatProperties) __attribute__ ((weak));
2708     void gen10_GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2KHR* pQueueFamilyProperties) __attribute__ ((weak));
2709     void gen10_GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2KHR* pMemoryProperties) __attribute__ ((weak));
2710     void gen10_GetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2KHR* pProperties) __attribute__ ((weak));
2711     void gen10_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) __attribute__ ((weak));
2712     void gen10_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags) __attribute__ ((weak));
2713     void gen10_GetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfoKHR* pExternalBufferInfo, VkExternalBufferPropertiesKHR* pExternalBufferProperties) __attribute__ ((weak));
2714     VkResult gen10_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
2715     VkResult gen10_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) __attribute__ ((weak));
2716     void gen10_GetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfoKHR* pExternalSemaphoreInfo, VkExternalSemaphorePropertiesKHR* pExternalSemaphoreProperties) __attribute__ ((weak));
2717     VkResult gen10_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
2718     VkResult gen10_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) __attribute__ ((weak));
2719     void gen10_GetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfoKHR* pExternalFenceInfo, VkExternalFencePropertiesKHR* pExternalFenceProperties) __attribute__ ((weak));
2720     VkResult gen10_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) __attribute__ ((weak));
2721     VkResult gen10_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) __attribute__ ((weak));
2722     VkResult gen10_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
2723     VkResult gen10_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos) __attribute__ ((weak));
2724     VkResult gen10_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate) __attribute__ ((weak));
2725     void gen10_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2726     void gen10_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData) __attribute__ ((weak));
2727     void gen10_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) __attribute__ ((weak));
2728     VkResult gen10_GetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) __attribute__ ((weak));
2729     VkResult gen10_GetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) __attribute__ ((weak));
2730     void gen10_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
2731     void gen10_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) __attribute__ ((weak));
2732     void gen10_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements) __attribute__ ((weak));
2733     VkResult gen10_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion) __attribute__ ((weak));
2734     void gen10_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator) __attribute__ ((weak));
2735 #ifdef ANDROID
2736     VkResult gen10_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage) __attribute__ ((weak));
2737 #endif // ANDROID
2738 #ifdef ANDROID
2739     VkResult gen10_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence) __attribute__ ((weak));
2740 #endif // ANDROID
2741 #ifdef ANDROID
2742     VkResult gen10_QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd) __attribute__ ((weak));
2743 #endif // ANDROID
2744     VkResult gen10_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage) __attribute__ ((weak));
2745 
2746   const struct anv_dispatch_table gen10_dispatch_table = {
2747     .vkCreateInstance = gen10_CreateInstance,
2748     .vkDestroyInstance = gen10_DestroyInstance,
2749     .vkEnumeratePhysicalDevices = gen10_EnumeratePhysicalDevices,
2750     .vkGetDeviceProcAddr = gen10_GetDeviceProcAddr,
2751     .vkGetInstanceProcAddr = gen10_GetInstanceProcAddr,
2752     .vkGetPhysicalDeviceProperties = gen10_GetPhysicalDeviceProperties,
2753     .vkGetPhysicalDeviceQueueFamilyProperties = gen10_GetPhysicalDeviceQueueFamilyProperties,
2754     .vkGetPhysicalDeviceMemoryProperties = gen10_GetPhysicalDeviceMemoryProperties,
2755     .vkGetPhysicalDeviceFeatures = gen10_GetPhysicalDeviceFeatures,
2756     .vkGetPhysicalDeviceFormatProperties = gen10_GetPhysicalDeviceFormatProperties,
2757     .vkGetPhysicalDeviceImageFormatProperties = gen10_GetPhysicalDeviceImageFormatProperties,
2758     .vkCreateDevice = gen10_CreateDevice,
2759     .vkDestroyDevice = gen10_DestroyDevice,
2760     .vkEnumerateInstanceLayerProperties = gen10_EnumerateInstanceLayerProperties,
2761     .vkEnumerateInstanceExtensionProperties = gen10_EnumerateInstanceExtensionProperties,
2762     .vkEnumerateDeviceLayerProperties = gen10_EnumerateDeviceLayerProperties,
2763     .vkEnumerateDeviceExtensionProperties = gen10_EnumerateDeviceExtensionProperties,
2764     .vkGetDeviceQueue = gen10_GetDeviceQueue,
2765     .vkQueueSubmit = gen10_QueueSubmit,
2766     .vkQueueWaitIdle = gen10_QueueWaitIdle,
2767     .vkDeviceWaitIdle = gen10_DeviceWaitIdle,
2768     .vkAllocateMemory = gen10_AllocateMemory,
2769     .vkFreeMemory = gen10_FreeMemory,
2770     .vkMapMemory = gen10_MapMemory,
2771     .vkUnmapMemory = gen10_UnmapMemory,
2772     .vkFlushMappedMemoryRanges = gen10_FlushMappedMemoryRanges,
2773     .vkInvalidateMappedMemoryRanges = gen10_InvalidateMappedMemoryRanges,
2774     .vkGetDeviceMemoryCommitment = gen10_GetDeviceMemoryCommitment,
2775     .vkGetBufferMemoryRequirements = gen10_GetBufferMemoryRequirements,
2776     .vkBindBufferMemory = gen10_BindBufferMemory,
2777     .vkGetImageMemoryRequirements = gen10_GetImageMemoryRequirements,
2778     .vkBindImageMemory = gen10_BindImageMemory,
2779     .vkGetImageSparseMemoryRequirements = gen10_GetImageSparseMemoryRequirements,
2780     .vkGetPhysicalDeviceSparseImageFormatProperties = gen10_GetPhysicalDeviceSparseImageFormatProperties,
2781     .vkQueueBindSparse = gen10_QueueBindSparse,
2782     .vkCreateFence = gen10_CreateFence,
2783     .vkDestroyFence = gen10_DestroyFence,
2784     .vkResetFences = gen10_ResetFences,
2785     .vkGetFenceStatus = gen10_GetFenceStatus,
2786     .vkWaitForFences = gen10_WaitForFences,
2787     .vkCreateSemaphore = gen10_CreateSemaphore,
2788     .vkDestroySemaphore = gen10_DestroySemaphore,
2789     .vkCreateEvent = gen10_CreateEvent,
2790     .vkDestroyEvent = gen10_DestroyEvent,
2791     .vkGetEventStatus = gen10_GetEventStatus,
2792     .vkSetEvent = gen10_SetEvent,
2793     .vkResetEvent = gen10_ResetEvent,
2794     .vkCreateQueryPool = gen10_CreateQueryPool,
2795     .vkDestroyQueryPool = gen10_DestroyQueryPool,
2796     .vkGetQueryPoolResults = gen10_GetQueryPoolResults,
2797     .vkCreateBuffer = gen10_CreateBuffer,
2798     .vkDestroyBuffer = gen10_DestroyBuffer,
2799     .vkCreateBufferView = gen10_CreateBufferView,
2800     .vkDestroyBufferView = gen10_DestroyBufferView,
2801     .vkCreateImage = gen10_CreateImage,
2802     .vkDestroyImage = gen10_DestroyImage,
2803     .vkGetImageSubresourceLayout = gen10_GetImageSubresourceLayout,
2804     .vkCreateImageView = gen10_CreateImageView,
2805     .vkDestroyImageView = gen10_DestroyImageView,
2806     .vkCreateShaderModule = gen10_CreateShaderModule,
2807     .vkDestroyShaderModule = gen10_DestroyShaderModule,
2808     .vkCreatePipelineCache = gen10_CreatePipelineCache,
2809     .vkDestroyPipelineCache = gen10_DestroyPipelineCache,
2810     .vkGetPipelineCacheData = gen10_GetPipelineCacheData,
2811     .vkMergePipelineCaches = gen10_MergePipelineCaches,
2812     .vkCreateGraphicsPipelines = gen10_CreateGraphicsPipelines,
2813     .vkCreateComputePipelines = gen10_CreateComputePipelines,
2814     .vkDestroyPipeline = gen10_DestroyPipeline,
2815     .vkCreatePipelineLayout = gen10_CreatePipelineLayout,
2816     .vkDestroyPipelineLayout = gen10_DestroyPipelineLayout,
2817     .vkCreateSampler = gen10_CreateSampler,
2818     .vkDestroySampler = gen10_DestroySampler,
2819     .vkCreateDescriptorSetLayout = gen10_CreateDescriptorSetLayout,
2820     .vkDestroyDescriptorSetLayout = gen10_DestroyDescriptorSetLayout,
2821     .vkCreateDescriptorPool = gen10_CreateDescriptorPool,
2822     .vkDestroyDescriptorPool = gen10_DestroyDescriptorPool,
2823     .vkResetDescriptorPool = gen10_ResetDescriptorPool,
2824     .vkAllocateDescriptorSets = gen10_AllocateDescriptorSets,
2825     .vkFreeDescriptorSets = gen10_FreeDescriptorSets,
2826     .vkUpdateDescriptorSets = gen10_UpdateDescriptorSets,
2827     .vkCreateFramebuffer = gen10_CreateFramebuffer,
2828     .vkDestroyFramebuffer = gen10_DestroyFramebuffer,
2829     .vkCreateRenderPass = gen10_CreateRenderPass,
2830     .vkDestroyRenderPass = gen10_DestroyRenderPass,
2831     .vkGetRenderAreaGranularity = gen10_GetRenderAreaGranularity,
2832     .vkCreateCommandPool = gen10_CreateCommandPool,
2833     .vkDestroyCommandPool = gen10_DestroyCommandPool,
2834     .vkResetCommandPool = gen10_ResetCommandPool,
2835     .vkAllocateCommandBuffers = gen10_AllocateCommandBuffers,
2836     .vkFreeCommandBuffers = gen10_FreeCommandBuffers,
2837     .vkBeginCommandBuffer = gen10_BeginCommandBuffer,
2838     .vkEndCommandBuffer = gen10_EndCommandBuffer,
2839     .vkResetCommandBuffer = gen10_ResetCommandBuffer,
2840     .vkCmdBindPipeline = gen10_CmdBindPipeline,
2841     .vkCmdSetViewport = gen10_CmdSetViewport,
2842     .vkCmdSetScissor = gen10_CmdSetScissor,
2843     .vkCmdSetLineWidth = gen10_CmdSetLineWidth,
2844     .vkCmdSetDepthBias = gen10_CmdSetDepthBias,
2845     .vkCmdSetBlendConstants = gen10_CmdSetBlendConstants,
2846     .vkCmdSetDepthBounds = gen10_CmdSetDepthBounds,
2847     .vkCmdSetStencilCompareMask = gen10_CmdSetStencilCompareMask,
2848     .vkCmdSetStencilWriteMask = gen10_CmdSetStencilWriteMask,
2849     .vkCmdSetStencilReference = gen10_CmdSetStencilReference,
2850     .vkCmdBindDescriptorSets = gen10_CmdBindDescriptorSets,
2851     .vkCmdBindIndexBuffer = gen10_CmdBindIndexBuffer,
2852     .vkCmdBindVertexBuffers = gen10_CmdBindVertexBuffers,
2853     .vkCmdDraw = gen10_CmdDraw,
2854     .vkCmdDrawIndexed = gen10_CmdDrawIndexed,
2855     .vkCmdDrawIndirect = gen10_CmdDrawIndirect,
2856     .vkCmdDrawIndexedIndirect = gen10_CmdDrawIndexedIndirect,
2857     .vkCmdDispatch = gen10_CmdDispatch,
2858     .vkCmdDispatchIndirect = gen10_CmdDispatchIndirect,
2859     .vkCmdCopyBuffer = gen10_CmdCopyBuffer,
2860     .vkCmdCopyImage = gen10_CmdCopyImage,
2861     .vkCmdBlitImage = gen10_CmdBlitImage,
2862     .vkCmdCopyBufferToImage = gen10_CmdCopyBufferToImage,
2863     .vkCmdCopyImageToBuffer = gen10_CmdCopyImageToBuffer,
2864     .vkCmdUpdateBuffer = gen10_CmdUpdateBuffer,
2865     .vkCmdFillBuffer = gen10_CmdFillBuffer,
2866     .vkCmdClearColorImage = gen10_CmdClearColorImage,
2867     .vkCmdClearDepthStencilImage = gen10_CmdClearDepthStencilImage,
2868     .vkCmdClearAttachments = gen10_CmdClearAttachments,
2869     .vkCmdResolveImage = gen10_CmdResolveImage,
2870     .vkCmdSetEvent = gen10_CmdSetEvent,
2871     .vkCmdResetEvent = gen10_CmdResetEvent,
2872     .vkCmdWaitEvents = gen10_CmdWaitEvents,
2873     .vkCmdPipelineBarrier = gen10_CmdPipelineBarrier,
2874     .vkCmdBeginQuery = gen10_CmdBeginQuery,
2875     .vkCmdEndQuery = gen10_CmdEndQuery,
2876     .vkCmdResetQueryPool = gen10_CmdResetQueryPool,
2877     .vkCmdWriteTimestamp = gen10_CmdWriteTimestamp,
2878     .vkCmdCopyQueryPoolResults = gen10_CmdCopyQueryPoolResults,
2879     .vkCmdPushConstants = gen10_CmdPushConstants,
2880     .vkCmdBeginRenderPass = gen10_CmdBeginRenderPass,
2881     .vkCmdNextSubpass = gen10_CmdNextSubpass,
2882     .vkCmdEndRenderPass = gen10_CmdEndRenderPass,
2883     .vkCmdExecuteCommands = gen10_CmdExecuteCommands,
2884     .vkDestroySurfaceKHR = gen10_DestroySurfaceKHR,
2885     .vkGetPhysicalDeviceSurfaceSupportKHR = gen10_GetPhysicalDeviceSurfaceSupportKHR,
2886     .vkGetPhysicalDeviceSurfaceCapabilitiesKHR = gen10_GetPhysicalDeviceSurfaceCapabilitiesKHR,
2887     .vkGetPhysicalDeviceSurfaceFormatsKHR = gen10_GetPhysicalDeviceSurfaceFormatsKHR,
2888     .vkGetPhysicalDeviceSurfacePresentModesKHR = gen10_GetPhysicalDeviceSurfacePresentModesKHR,
2889     .vkCreateSwapchainKHR = gen10_CreateSwapchainKHR,
2890     .vkDestroySwapchainKHR = gen10_DestroySwapchainKHR,
2891     .vkGetSwapchainImagesKHR = gen10_GetSwapchainImagesKHR,
2892     .vkAcquireNextImageKHR = gen10_AcquireNextImageKHR,
2893     .vkQueuePresentKHR = gen10_QueuePresentKHR,
2894 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2895     .vkCreateWaylandSurfaceKHR = gen10_CreateWaylandSurfaceKHR,
2896 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2897 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
2898     .vkGetPhysicalDeviceWaylandPresentationSupportKHR = gen10_GetPhysicalDeviceWaylandPresentationSupportKHR,
2899 #endif // VK_USE_PLATFORM_WAYLAND_KHR
2900 #ifdef VK_USE_PLATFORM_XLIB_KHR
2901     .vkCreateXlibSurfaceKHR = gen10_CreateXlibSurfaceKHR,
2902 #endif // VK_USE_PLATFORM_XLIB_KHR
2903 #ifdef VK_USE_PLATFORM_XLIB_KHR
2904     .vkGetPhysicalDeviceXlibPresentationSupportKHR = gen10_GetPhysicalDeviceXlibPresentationSupportKHR,
2905 #endif // VK_USE_PLATFORM_XLIB_KHR
2906 #ifdef VK_USE_PLATFORM_XCB_KHR
2907     .vkCreateXcbSurfaceKHR = gen10_CreateXcbSurfaceKHR,
2908 #endif // VK_USE_PLATFORM_XCB_KHR
2909 #ifdef VK_USE_PLATFORM_XCB_KHR
2910     .vkGetPhysicalDeviceXcbPresentationSupportKHR = gen10_GetPhysicalDeviceXcbPresentationSupportKHR,
2911 #endif // VK_USE_PLATFORM_XCB_KHR
2912     .vkCreateDebugReportCallbackEXT = gen10_CreateDebugReportCallbackEXT,
2913     .vkDestroyDebugReportCallbackEXT = gen10_DestroyDebugReportCallbackEXT,
2914     .vkDebugReportMessageEXT = gen10_DebugReportMessageEXT,
2915     .vkGetPhysicalDeviceFeatures2KHR = gen10_GetPhysicalDeviceFeatures2KHR,
2916     .vkGetPhysicalDeviceProperties2KHR = gen10_GetPhysicalDeviceProperties2KHR,
2917     .vkGetPhysicalDeviceFormatProperties2KHR = gen10_GetPhysicalDeviceFormatProperties2KHR,
2918     .vkGetPhysicalDeviceImageFormatProperties2KHR = gen10_GetPhysicalDeviceImageFormatProperties2KHR,
2919     .vkGetPhysicalDeviceQueueFamilyProperties2KHR = gen10_GetPhysicalDeviceQueueFamilyProperties2KHR,
2920     .vkGetPhysicalDeviceMemoryProperties2KHR = gen10_GetPhysicalDeviceMemoryProperties2KHR,
2921     .vkGetPhysicalDeviceSparseImageFormatProperties2KHR = gen10_GetPhysicalDeviceSparseImageFormatProperties2KHR,
2922     .vkCmdPushDescriptorSetKHR = gen10_CmdPushDescriptorSetKHR,
2923     .vkTrimCommandPoolKHR = gen10_TrimCommandPoolKHR,
2924     .vkGetPhysicalDeviceExternalBufferPropertiesKHR = gen10_GetPhysicalDeviceExternalBufferPropertiesKHR,
2925     .vkGetMemoryFdKHR = gen10_GetMemoryFdKHR,
2926     .vkGetMemoryFdPropertiesKHR = gen10_GetMemoryFdPropertiesKHR,
2927     .vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = gen10_GetPhysicalDeviceExternalSemaphorePropertiesKHR,
2928     .vkGetSemaphoreFdKHR = gen10_GetSemaphoreFdKHR,
2929     .vkImportSemaphoreFdKHR = gen10_ImportSemaphoreFdKHR,
2930     .vkGetPhysicalDeviceExternalFencePropertiesKHR = gen10_GetPhysicalDeviceExternalFencePropertiesKHR,
2931     .vkGetFenceFdKHR = gen10_GetFenceFdKHR,
2932     .vkImportFenceFdKHR = gen10_ImportFenceFdKHR,
2933     .vkBindBufferMemory2KHR = gen10_BindBufferMemory2KHR,
2934     .vkBindImageMemory2KHR = gen10_BindImageMemory2KHR,
2935     .vkCreateDescriptorUpdateTemplateKHR = gen10_CreateDescriptorUpdateTemplateKHR,
2936     .vkDestroyDescriptorUpdateTemplateKHR = gen10_DestroyDescriptorUpdateTemplateKHR,
2937     .vkUpdateDescriptorSetWithTemplateKHR = gen10_UpdateDescriptorSetWithTemplateKHR,
2938     .vkCmdPushDescriptorSetWithTemplateKHR = gen10_CmdPushDescriptorSetWithTemplateKHR,
2939     .vkGetPhysicalDeviceSurfaceCapabilities2KHR = gen10_GetPhysicalDeviceSurfaceCapabilities2KHR,
2940     .vkGetPhysicalDeviceSurfaceFormats2KHR = gen10_GetPhysicalDeviceSurfaceFormats2KHR,
2941     .vkGetBufferMemoryRequirements2KHR = gen10_GetBufferMemoryRequirements2KHR,
2942     .vkGetImageMemoryRequirements2KHR = gen10_GetImageMemoryRequirements2KHR,
2943     .vkGetImageSparseMemoryRequirements2KHR = gen10_GetImageSparseMemoryRequirements2KHR,
2944     .vkCreateSamplerYcbcrConversionKHR = gen10_CreateSamplerYcbcrConversionKHR,
2945     .vkDestroySamplerYcbcrConversionKHR = gen10_DestroySamplerYcbcrConversionKHR,
2946 #ifdef ANDROID
2947     .vkGetSwapchainGrallocUsageANDROID = gen10_GetSwapchainGrallocUsageANDROID,
2948 #endif // ANDROID
2949 #ifdef ANDROID
2950     .vkAcquireImageANDROID = gen10_AcquireImageANDROID,
2951 #endif // ANDROID
2952 #ifdef ANDROID
2953     .vkQueueSignalReleaseImageANDROID = gen10_QueueSignalReleaseImageANDROID,
2954 #endif // ANDROID
2955     .vkCreateDmaBufImageINTEL = gen10_CreateDmaBufImageINTEL,
2956   };
2957 
2958 
2959 /** Trampoline entrypoints for all device functions */
2960 
2961               static PFN_vkVoidFunction
anv_tramp_GetDeviceProcAddr(VkDevice device,const char * pName)2962   anv_tramp_GetDeviceProcAddr(VkDevice device, const char* pName)
2963   {
2964       ANV_FROM_HANDLE(anv_device, anv_device, device);
2965       return anv_device->dispatch.vkGetDeviceProcAddr(device, pName);
2966   }
2967                                   static void
anv_tramp_DestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator)2968   anv_tramp_DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator)
2969   {
2970       ANV_FROM_HANDLE(anv_device, anv_device, device);
2971       return anv_device->dispatch.vkDestroyDevice(device, pAllocator);
2972   }
2973                   static void
anv_tramp_GetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue)2974   anv_tramp_GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)
2975   {
2976       ANV_FROM_HANDLE(anv_device, anv_device, device);
2977       return anv_device->dispatch.vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
2978   }
2979           static VkResult
anv_tramp_DeviceWaitIdle(VkDevice device)2980   anv_tramp_DeviceWaitIdle(VkDevice device)
2981   {
2982       ANV_FROM_HANDLE(anv_device, anv_device, device);
2983       return anv_device->dispatch.vkDeviceWaitIdle(device);
2984   }
2985   static VkResult
anv_tramp_AllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory)2986   anv_tramp_AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
2987   {
2988       ANV_FROM_HANDLE(anv_device, anv_device, device);
2989       return anv_device->dispatch.vkAllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
2990   }
2991   static void
anv_tramp_FreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator)2992   anv_tramp_FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
2993   {
2994       ANV_FROM_HANDLE(anv_device, anv_device, device);
2995       return anv_device->dispatch.vkFreeMemory(device, memory, pAllocator);
2996   }
2997   static VkResult
anv_tramp_MapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData)2998   anv_tramp_MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData)
2999   {
3000       ANV_FROM_HANDLE(anv_device, anv_device, device);
3001       return anv_device->dispatch.vkMapMemory(device, memory, offset, size, flags, ppData);
3002   }
3003   static void
anv_tramp_UnmapMemory(VkDevice device,VkDeviceMemory memory)3004   anv_tramp_UnmapMemory(VkDevice device, VkDeviceMemory memory)
3005   {
3006       ANV_FROM_HANDLE(anv_device, anv_device, device);
3007       return anv_device->dispatch.vkUnmapMemory(device, memory);
3008   }
3009   static VkResult
anv_tramp_FlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)3010   anv_tramp_FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
3011   {
3012       ANV_FROM_HANDLE(anv_device, anv_device, device);
3013       return anv_device->dispatch.vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
3014   }
3015   static VkResult
anv_tramp_InvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)3016   anv_tramp_InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
3017   {
3018       ANV_FROM_HANDLE(anv_device, anv_device, device);
3019       return anv_device->dispatch.vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
3020   }
3021   static void
anv_tramp_GetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes)3022   anv_tramp_GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
3023   {
3024       ANV_FROM_HANDLE(anv_device, anv_device, device);
3025       return anv_device->dispatch.vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
3026   }
3027   static void
anv_tramp_GetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements)3028   anv_tramp_GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
3029   {
3030       ANV_FROM_HANDLE(anv_device, anv_device, device);
3031       return anv_device->dispatch.vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
3032   }
3033   static VkResult
anv_tramp_BindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset)3034   anv_tramp_BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
3035   {
3036       ANV_FROM_HANDLE(anv_device, anv_device, device);
3037       return anv_device->dispatch.vkBindBufferMemory(device, buffer, memory, memoryOffset);
3038   }
3039   static void
anv_tramp_GetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements)3040   anv_tramp_GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
3041   {
3042       ANV_FROM_HANDLE(anv_device, anv_device, device);
3043       return anv_device->dispatch.vkGetImageMemoryRequirements(device, image, pMemoryRequirements);
3044   }
3045   static VkResult
anv_tramp_BindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset)3046   anv_tramp_BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
3047   {
3048       ANV_FROM_HANDLE(anv_device, anv_device, device);
3049       return anv_device->dispatch.vkBindImageMemory(device, image, memory, memoryOffset);
3050   }
3051   static void
anv_tramp_GetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements)3052   anv_tramp_GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
3053   {
3054       ANV_FROM_HANDLE(anv_device, anv_device, device);
3055       return anv_device->dispatch.vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
3056   }
3057           static VkResult
anv_tramp_CreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)3058   anv_tramp_CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
3059   {
3060       ANV_FROM_HANDLE(anv_device, anv_device, device);
3061       return anv_device->dispatch.vkCreateFence(device, pCreateInfo, pAllocator, pFence);
3062   }
3063   static void
anv_tramp_DestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator)3064   anv_tramp_DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
3065   {
3066       ANV_FROM_HANDLE(anv_device, anv_device, device);
3067       return anv_device->dispatch.vkDestroyFence(device, fence, pAllocator);
3068   }
3069   static VkResult
anv_tramp_ResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences)3070   anv_tramp_ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
3071   {
3072       ANV_FROM_HANDLE(anv_device, anv_device, device);
3073       return anv_device->dispatch.vkResetFences(device, fenceCount, pFences);
3074   }
3075   static VkResult
anv_tramp_GetFenceStatus(VkDevice device,VkFence fence)3076   anv_tramp_GetFenceStatus(VkDevice device, VkFence fence)
3077   {
3078       ANV_FROM_HANDLE(anv_device, anv_device, device);
3079       return anv_device->dispatch.vkGetFenceStatus(device, fence);
3080   }
3081   static VkResult
anv_tramp_WaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout)3082   anv_tramp_WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
3083   {
3084       ANV_FROM_HANDLE(anv_device, anv_device, device);
3085       return anv_device->dispatch.vkWaitForFences(device, fenceCount, pFences, waitAll, timeout);
3086   }
3087   static VkResult
anv_tramp_CreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore)3088   anv_tramp_CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
3089   {
3090       ANV_FROM_HANDLE(anv_device, anv_device, device);
3091       return anv_device->dispatch.vkCreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
3092   }
3093   static void
anv_tramp_DestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator)3094   anv_tramp_DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
3095   {
3096       ANV_FROM_HANDLE(anv_device, anv_device, device);
3097       return anv_device->dispatch.vkDestroySemaphore(device, semaphore, pAllocator);
3098   }
3099   static VkResult
anv_tramp_CreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent)3100   anv_tramp_CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
3101   {
3102       ANV_FROM_HANDLE(anv_device, anv_device, device);
3103       return anv_device->dispatch.vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
3104   }
3105   static void
anv_tramp_DestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator)3106   anv_tramp_DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
3107   {
3108       ANV_FROM_HANDLE(anv_device, anv_device, device);
3109       return anv_device->dispatch.vkDestroyEvent(device, event, pAllocator);
3110   }
3111   static VkResult
anv_tramp_GetEventStatus(VkDevice device,VkEvent event)3112   anv_tramp_GetEventStatus(VkDevice device, VkEvent event)
3113   {
3114       ANV_FROM_HANDLE(anv_device, anv_device, device);
3115       return anv_device->dispatch.vkGetEventStatus(device, event);
3116   }
3117   static VkResult
anv_tramp_SetEvent(VkDevice device,VkEvent event)3118   anv_tramp_SetEvent(VkDevice device, VkEvent event)
3119   {
3120       ANV_FROM_HANDLE(anv_device, anv_device, device);
3121       return anv_device->dispatch.vkSetEvent(device, event);
3122   }
3123   static VkResult
anv_tramp_ResetEvent(VkDevice device,VkEvent event)3124   anv_tramp_ResetEvent(VkDevice device, VkEvent event)
3125   {
3126       ANV_FROM_HANDLE(anv_device, anv_device, device);
3127       return anv_device->dispatch.vkResetEvent(device, event);
3128   }
3129   static VkResult
anv_tramp_CreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool)3130   anv_tramp_CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
3131   {
3132       ANV_FROM_HANDLE(anv_device, anv_device, device);
3133       return anv_device->dispatch.vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
3134   }
3135   static void
anv_tramp_DestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator)3136   anv_tramp_DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
3137   {
3138       ANV_FROM_HANDLE(anv_device, anv_device, device);
3139       return anv_device->dispatch.vkDestroyQueryPool(device, queryPool, pAllocator);
3140   }
3141   static VkResult
anv_tramp_GetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags)3142   anv_tramp_GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
3143   {
3144       ANV_FROM_HANDLE(anv_device, anv_device, device);
3145       return anv_device->dispatch.vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
3146   }
3147   static VkResult
anv_tramp_CreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer)3148   anv_tramp_CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
3149   {
3150       ANV_FROM_HANDLE(anv_device, anv_device, device);
3151       return anv_device->dispatch.vkCreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
3152   }
3153   static void
anv_tramp_DestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator)3154   anv_tramp_DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
3155   {
3156       ANV_FROM_HANDLE(anv_device, anv_device, device);
3157       return anv_device->dispatch.vkDestroyBuffer(device, buffer, pAllocator);
3158   }
3159   static VkResult
anv_tramp_CreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView)3160   anv_tramp_CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
3161   {
3162       ANV_FROM_HANDLE(anv_device, anv_device, device);
3163       return anv_device->dispatch.vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
3164   }
3165   static void
anv_tramp_DestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator)3166   anv_tramp_DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
3167   {
3168       ANV_FROM_HANDLE(anv_device, anv_device, device);
3169       return anv_device->dispatch.vkDestroyBufferView(device, bufferView, pAllocator);
3170   }
3171   static VkResult
anv_tramp_CreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage)3172   anv_tramp_CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
3173   {
3174       ANV_FROM_HANDLE(anv_device, anv_device, device);
3175       return anv_device->dispatch.vkCreateImage(device, pCreateInfo, pAllocator, pImage);
3176   }
3177   static void
anv_tramp_DestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator)3178   anv_tramp_DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
3179   {
3180       ANV_FROM_HANDLE(anv_device, anv_device, device);
3181       return anv_device->dispatch.vkDestroyImage(device, image, pAllocator);
3182   }
3183   static void
anv_tramp_GetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout)3184   anv_tramp_GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
3185   {
3186       ANV_FROM_HANDLE(anv_device, anv_device, device);
3187       return anv_device->dispatch.vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
3188   }
3189   static VkResult
anv_tramp_CreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView)3190   anv_tramp_CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
3191   {
3192       ANV_FROM_HANDLE(anv_device, anv_device, device);
3193       return anv_device->dispatch.vkCreateImageView(device, pCreateInfo, pAllocator, pView);
3194   }
3195   static void
anv_tramp_DestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator)3196   anv_tramp_DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
3197   {
3198       ANV_FROM_HANDLE(anv_device, anv_device, device);
3199       return anv_device->dispatch.vkDestroyImageView(device, imageView, pAllocator);
3200   }
3201   static VkResult
anv_tramp_CreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule)3202   anv_tramp_CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
3203   {
3204       ANV_FROM_HANDLE(anv_device, anv_device, device);
3205       return anv_device->dispatch.vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
3206   }
3207   static void
anv_tramp_DestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator)3208   anv_tramp_DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
3209   {
3210       ANV_FROM_HANDLE(anv_device, anv_device, device);
3211       return anv_device->dispatch.vkDestroyShaderModule(device, shaderModule, pAllocator);
3212   }
3213   static VkResult
anv_tramp_CreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache)3214   anv_tramp_CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
3215   {
3216       ANV_FROM_HANDLE(anv_device, anv_device, device);
3217       return anv_device->dispatch.vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
3218   }
3219   static void
anv_tramp_DestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator)3220   anv_tramp_DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
3221   {
3222       ANV_FROM_HANDLE(anv_device, anv_device, device);
3223       return anv_device->dispatch.vkDestroyPipelineCache(device, pipelineCache, pAllocator);
3224   }
3225   static VkResult
anv_tramp_GetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData)3226   anv_tramp_GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
3227   {
3228       ANV_FROM_HANDLE(anv_device, anv_device, device);
3229       return anv_device->dispatch.vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
3230   }
3231   static VkResult
anv_tramp_MergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches)3232   anv_tramp_MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
3233   {
3234       ANV_FROM_HANDLE(anv_device, anv_device, device);
3235       return anv_device->dispatch.vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
3236   }
3237   static VkResult
anv_tramp_CreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)3238   anv_tramp_CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
3239   {
3240       ANV_FROM_HANDLE(anv_device, anv_device, device);
3241       return anv_device->dispatch.vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
3242   }
3243   static VkResult
anv_tramp_CreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)3244   anv_tramp_CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
3245   {
3246       ANV_FROM_HANDLE(anv_device, anv_device, device);
3247       return anv_device->dispatch.vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
3248   }
3249   static void
anv_tramp_DestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator)3250   anv_tramp_DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
3251   {
3252       ANV_FROM_HANDLE(anv_device, anv_device, device);
3253       return anv_device->dispatch.vkDestroyPipeline(device, pipeline, pAllocator);
3254   }
3255   static VkResult
anv_tramp_CreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout)3256   anv_tramp_CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
3257   {
3258       ANV_FROM_HANDLE(anv_device, anv_device, device);
3259       return anv_device->dispatch.vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
3260   }
3261   static void
anv_tramp_DestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator)3262   anv_tramp_DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
3263   {
3264       ANV_FROM_HANDLE(anv_device, anv_device, device);
3265       return anv_device->dispatch.vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
3266   }
3267   static VkResult
anv_tramp_CreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler)3268   anv_tramp_CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
3269   {
3270       ANV_FROM_HANDLE(anv_device, anv_device, device);
3271       return anv_device->dispatch.vkCreateSampler(device, pCreateInfo, pAllocator, pSampler);
3272   }
3273   static void
anv_tramp_DestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator)3274   anv_tramp_DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
3275   {
3276       ANV_FROM_HANDLE(anv_device, anv_device, device);
3277       return anv_device->dispatch.vkDestroySampler(device, sampler, pAllocator);
3278   }
3279   static VkResult
anv_tramp_CreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout)3280   anv_tramp_CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
3281   {
3282       ANV_FROM_HANDLE(anv_device, anv_device, device);
3283       return anv_device->dispatch.vkCreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
3284   }
3285   static void
anv_tramp_DestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator)3286   anv_tramp_DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
3287   {
3288       ANV_FROM_HANDLE(anv_device, anv_device, device);
3289       return anv_device->dispatch.vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
3290   }
3291   static VkResult
anv_tramp_CreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool)3292   anv_tramp_CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
3293   {
3294       ANV_FROM_HANDLE(anv_device, anv_device, device);
3295       return anv_device->dispatch.vkCreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
3296   }
3297   static void
anv_tramp_DestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator)3298   anv_tramp_DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
3299   {
3300       ANV_FROM_HANDLE(anv_device, anv_device, device);
3301       return anv_device->dispatch.vkDestroyDescriptorPool(device, descriptorPool, pAllocator);
3302   }
3303   static VkResult
anv_tramp_ResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags)3304   anv_tramp_ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
3305   {
3306       ANV_FROM_HANDLE(anv_device, anv_device, device);
3307       return anv_device->dispatch.vkResetDescriptorPool(device, descriptorPool, flags);
3308   }
3309   static VkResult
anv_tramp_AllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets)3310   anv_tramp_AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
3311   {
3312       ANV_FROM_HANDLE(anv_device, anv_device, device);
3313       return anv_device->dispatch.vkAllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
3314   }
3315   static VkResult
anv_tramp_FreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets)3316   anv_tramp_FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
3317   {
3318       ANV_FROM_HANDLE(anv_device, anv_device, device);
3319       return anv_device->dispatch.vkFreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
3320   }
3321   static void
anv_tramp_UpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies)3322   anv_tramp_UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
3323   {
3324       ANV_FROM_HANDLE(anv_device, anv_device, device);
3325       return anv_device->dispatch.vkUpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
3326   }
3327   static VkResult
anv_tramp_CreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer)3328   anv_tramp_CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
3329   {
3330       ANV_FROM_HANDLE(anv_device, anv_device, device);
3331       return anv_device->dispatch.vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
3332   }
3333   static void
anv_tramp_DestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator)3334   anv_tramp_DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
3335   {
3336       ANV_FROM_HANDLE(anv_device, anv_device, device);
3337       return anv_device->dispatch.vkDestroyFramebuffer(device, framebuffer, pAllocator);
3338   }
3339   static VkResult
anv_tramp_CreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)3340   anv_tramp_CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
3341   {
3342       ANV_FROM_HANDLE(anv_device, anv_device, device);
3343       return anv_device->dispatch.vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
3344   }
3345   static void
anv_tramp_DestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator)3346   anv_tramp_DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
3347   {
3348       ANV_FROM_HANDLE(anv_device, anv_device, device);
3349       return anv_device->dispatch.vkDestroyRenderPass(device, renderPass, pAllocator);
3350   }
3351   static void
anv_tramp_GetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity)3352   anv_tramp_GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
3353   {
3354       ANV_FROM_HANDLE(anv_device, anv_device, device);
3355       return anv_device->dispatch.vkGetRenderAreaGranularity(device, renderPass, pGranularity);
3356   }
3357   static VkResult
anv_tramp_CreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool)3358   anv_tramp_CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
3359   {
3360       ANV_FROM_HANDLE(anv_device, anv_device, device);
3361       return anv_device->dispatch.vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
3362   }
3363   static void
anv_tramp_DestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator)3364   anv_tramp_DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
3365   {
3366       ANV_FROM_HANDLE(anv_device, anv_device, device);
3367       return anv_device->dispatch.vkDestroyCommandPool(device, commandPool, pAllocator);
3368   }
3369   static VkResult
anv_tramp_ResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags)3370   anv_tramp_ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
3371   {
3372       ANV_FROM_HANDLE(anv_device, anv_device, device);
3373       return anv_device->dispatch.vkResetCommandPool(device, commandPool, flags);
3374   }
3375   static VkResult
anv_tramp_AllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers)3376   anv_tramp_AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers)
3377   {
3378       ANV_FROM_HANDLE(anv_device, anv_device, device);
3379       return anv_device->dispatch.vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
3380   }
3381   static void
anv_tramp_FreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers)3382   anv_tramp_FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
3383   {
3384       ANV_FROM_HANDLE(anv_device, anv_device, device);
3385       return anv_device->dispatch.vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
3386   }
3387   static VkResult
anv_tramp_BeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo)3388   anv_tramp_BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
3389   {
3390       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3391       return anv_cmd_buffer->device->dispatch.vkBeginCommandBuffer(commandBuffer, pBeginInfo);
3392   }
3393   static VkResult
anv_tramp_EndCommandBuffer(VkCommandBuffer commandBuffer)3394   anv_tramp_EndCommandBuffer(VkCommandBuffer commandBuffer)
3395   {
3396       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3397       return anv_cmd_buffer->device->dispatch.vkEndCommandBuffer(commandBuffer);
3398   }
3399   static VkResult
anv_tramp_ResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags)3400   anv_tramp_ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
3401   {
3402       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3403       return anv_cmd_buffer->device->dispatch.vkResetCommandBuffer(commandBuffer, flags);
3404   }
3405   static void
anv_tramp_CmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline)3406   anv_tramp_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
3407   {
3408       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3409       return anv_cmd_buffer->device->dispatch.vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
3410   }
3411   static void
anv_tramp_CmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports)3412   anv_tramp_CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
3413   {
3414       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3415       return anv_cmd_buffer->device->dispatch.vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
3416   }
3417   static void
anv_tramp_CmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors)3418   anv_tramp_CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
3419   {
3420       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3421       return anv_cmd_buffer->device->dispatch.vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
3422   }
3423   static void
anv_tramp_CmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth)3424   anv_tramp_CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)
3425   {
3426       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3427       return anv_cmd_buffer->device->dispatch.vkCmdSetLineWidth(commandBuffer, lineWidth);
3428   }
3429   static void
anv_tramp_CmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor)3430   anv_tramp_CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
3431   {
3432       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3433       return anv_cmd_buffer->device->dispatch.vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
3434   }
3435   static void
anv_tramp_CmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4])3436   anv_tramp_CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])
3437   {
3438       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3439       return anv_cmd_buffer->device->dispatch.vkCmdSetBlendConstants(commandBuffer, blendConstants);
3440   }
3441   static void
anv_tramp_CmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds)3442   anv_tramp_CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
3443   {
3444       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3445       return anv_cmd_buffer->device->dispatch.vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
3446   }
3447   static void
anv_tramp_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask)3448   anv_tramp_CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
3449   {
3450       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3451       return anv_cmd_buffer->device->dispatch.vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
3452   }
3453   static void
anv_tramp_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask)3454   anv_tramp_CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
3455   {
3456       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3457       return anv_cmd_buffer->device->dispatch.vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
3458   }
3459   static void
anv_tramp_CmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference)3460   anv_tramp_CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
3461   {
3462       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3463       return anv_cmd_buffer->device->dispatch.vkCmdSetStencilReference(commandBuffer, faceMask, reference);
3464   }
3465   static void
anv_tramp_CmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets)3466   anv_tramp_CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
3467   {
3468       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3469       return anv_cmd_buffer->device->dispatch.vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
3470   }
3471   static void
anv_tramp_CmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType)3472   anv_tramp_CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
3473   {
3474       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3475       return anv_cmd_buffer->device->dispatch.vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
3476   }
3477   static void
anv_tramp_CmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets)3478   anv_tramp_CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
3479   {
3480       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3481       return anv_cmd_buffer->device->dispatch.vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
3482   }
3483   static void
anv_tramp_CmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance)3484   anv_tramp_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
3485   {
3486       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3487       return anv_cmd_buffer->device->dispatch.vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
3488   }
3489   static void
anv_tramp_CmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance)3490   anv_tramp_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
3491   {
3492       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3493       return anv_cmd_buffer->device->dispatch.vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
3494   }
3495   static void
anv_tramp_CmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride)3496   anv_tramp_CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
3497   {
3498       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3499       return anv_cmd_buffer->device->dispatch.vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
3500   }
3501   static void
anv_tramp_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride)3502   anv_tramp_CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
3503   {
3504       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3505       return anv_cmd_buffer->device->dispatch.vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
3506   }
3507   static void
anv_tramp_CmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ)3508   anv_tramp_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ)
3509   {
3510       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3511       return anv_cmd_buffer->device->dispatch.vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
3512   }
3513   static void
anv_tramp_CmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset)3514   anv_tramp_CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
3515   {
3516       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3517       return anv_cmd_buffer->device->dispatch.vkCmdDispatchIndirect(commandBuffer, buffer, offset);
3518   }
3519   static void
anv_tramp_CmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions)3520   anv_tramp_CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
3521   {
3522       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3523       return anv_cmd_buffer->device->dispatch.vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
3524   }
3525   static void
anv_tramp_CmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions)3526   anv_tramp_CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
3527   {
3528       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3529       return anv_cmd_buffer->device->dispatch.vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
3530   }
3531   static void
anv_tramp_CmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter)3532   anv_tramp_CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
3533   {
3534       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3535       return anv_cmd_buffer->device->dispatch.vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
3536   }
3537   static void
anv_tramp_CmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions)3538   anv_tramp_CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
3539   {
3540       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3541       return anv_cmd_buffer->device->dispatch.vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
3542   }
3543   static void
anv_tramp_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions)3544   anv_tramp_CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
3545   {
3546       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3547       return anv_cmd_buffer->device->dispatch.vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
3548   }
3549   static void
anv_tramp_CmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData)3550   anv_tramp_CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData)
3551   {
3552       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3553       return anv_cmd_buffer->device->dispatch.vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
3554   }
3555   static void
anv_tramp_CmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data)3556   anv_tramp_CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
3557   {
3558       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3559       return anv_cmd_buffer->device->dispatch.vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
3560   }
3561   static void
anv_tramp_CmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges)3562   anv_tramp_CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
3563   {
3564       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3565       return anv_cmd_buffer->device->dispatch.vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
3566   }
3567   static void
anv_tramp_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges)3568   anv_tramp_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
3569   {
3570       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3571       return anv_cmd_buffer->device->dispatch.vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
3572   }
3573   static void
anv_tramp_CmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects)3574   anv_tramp_CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
3575   {
3576       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3577       return anv_cmd_buffer->device->dispatch.vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
3578   }
3579   static void
anv_tramp_CmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions)3580   anv_tramp_CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
3581   {
3582       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3583       return anv_cmd_buffer->device->dispatch.vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
3584   }
3585   static void
anv_tramp_CmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask)3586   anv_tramp_CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
3587   {
3588       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3589       return anv_cmd_buffer->device->dispatch.vkCmdSetEvent(commandBuffer, event, stageMask);
3590   }
3591   static void
anv_tramp_CmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask)3592   anv_tramp_CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
3593   {
3594       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3595       return anv_cmd_buffer->device->dispatch.vkCmdResetEvent(commandBuffer, event, stageMask);
3596   }
3597   static void
anv_tramp_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)3598   anv_tramp_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)
3599   {
3600       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3601       return anv_cmd_buffer->device->dispatch.vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
3602   }
3603   static void
anv_tramp_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)3604   anv_tramp_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)
3605   {
3606       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3607       return anv_cmd_buffer->device->dispatch.vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
3608   }
3609   static void
anv_tramp_CmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags)3610   anv_tramp_CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags)
3611   {
3612       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3613       return anv_cmd_buffer->device->dispatch.vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
3614   }
3615   static void
anv_tramp_CmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query)3616   anv_tramp_CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query)
3617   {
3618       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3619       return anv_cmd_buffer->device->dispatch.vkCmdEndQuery(commandBuffer, queryPool, query);
3620   }
3621   static void
anv_tramp_CmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount)3622   anv_tramp_CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
3623   {
3624       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3625       return anv_cmd_buffer->device->dispatch.vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
3626   }
3627   static void
anv_tramp_CmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query)3628   anv_tramp_CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query)
3629   {
3630       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3631       return anv_cmd_buffer->device->dispatch.vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
3632   }
3633   static void
anv_tramp_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags)3634   anv_tramp_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
3635   {
3636       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3637       return anv_cmd_buffer->device->dispatch.vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
3638   }
3639   static void
anv_tramp_CmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues)3640   anv_tramp_CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
3641   {
3642       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3643       return anv_cmd_buffer->device->dispatch.vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
3644   }
3645   static void
anv_tramp_CmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents)3646   anv_tramp_CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
3647   {
3648       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3649       return anv_cmd_buffer->device->dispatch.vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
3650   }
3651   static void
anv_tramp_CmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents)3652   anv_tramp_CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
3653   {
3654       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3655       return anv_cmd_buffer->device->dispatch.vkCmdNextSubpass(commandBuffer, contents);
3656   }
3657   static void
anv_tramp_CmdEndRenderPass(VkCommandBuffer commandBuffer)3658   anv_tramp_CmdEndRenderPass(VkCommandBuffer commandBuffer)
3659   {
3660       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3661       return anv_cmd_buffer->device->dispatch.vkCmdEndRenderPass(commandBuffer);
3662   }
3663   static void
anv_tramp_CmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers)3664   anv_tramp_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers)
3665   {
3666       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3667       return anv_cmd_buffer->device->dispatch.vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
3668   }
3669                       static VkResult
anv_tramp_CreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain)3670   anv_tramp_CreateSwapchainKHR(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain)
3671   {
3672       ANV_FROM_HANDLE(anv_device, anv_device, device);
3673       return anv_device->dispatch.vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
3674   }
3675   static void
anv_tramp_DestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator)3676   anv_tramp_DestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator)
3677   {
3678       ANV_FROM_HANDLE(anv_device, anv_device, device);
3679       return anv_device->dispatch.vkDestroySwapchainKHR(device, swapchain, pAllocator);
3680   }
3681   static VkResult
anv_tramp_GetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages)3682   anv_tramp_GetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages)
3683   {
3684       ANV_FROM_HANDLE(anv_device, anv_device, device);
3685       return anv_device->dispatch.vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
3686   }
3687   static VkResult
anv_tramp_AcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex)3688   anv_tramp_AcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex)
3689   {
3690       ANV_FROM_HANDLE(anv_device, anv_device, device);
3691       return anv_device->dispatch.vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
3692   }
3693                                                                       static void
anv_tramp_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites)3694   anv_tramp_CmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites)
3695   {
3696       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3697       return anv_cmd_buffer->device->dispatch.vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
3698   }
3699   static void
anv_tramp_TrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlagsKHR flags)3700   anv_tramp_TrimCommandPoolKHR(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlagsKHR flags)
3701   {
3702       ANV_FROM_HANDLE(anv_device, anv_device, device);
3703       return anv_device->dispatch.vkTrimCommandPoolKHR(device, commandPool, flags);
3704   }
3705       static VkResult
anv_tramp_GetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd)3706   anv_tramp_GetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd)
3707   {
3708       ANV_FROM_HANDLE(anv_device, anv_device, device);
3709       return anv_device->dispatch.vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
3710   }
3711   static VkResult
anv_tramp_GetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBitsKHR handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties)3712   anv_tramp_GetMemoryFdPropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBitsKHR handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties)
3713   {
3714       ANV_FROM_HANDLE(anv_device, anv_device, device);
3715       return anv_device->dispatch.vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
3716   }
3717       static VkResult
anv_tramp_GetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd)3718   anv_tramp_GetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd)
3719   {
3720       ANV_FROM_HANDLE(anv_device, anv_device, device);
3721       return anv_device->dispatch.vkGetSemaphoreFdKHR(device, pGetFdInfo, pFd);
3722   }
3723   static VkResult
anv_tramp_ImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo)3724   anv_tramp_ImportSemaphoreFdKHR(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
3725   {
3726       ANV_FROM_HANDLE(anv_device, anv_device, device);
3727       return anv_device->dispatch.vkImportSemaphoreFdKHR(device, pImportSemaphoreFdInfo);
3728   }
3729       static VkResult
anv_tramp_GetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd)3730   anv_tramp_GetFenceFdKHR(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd)
3731   {
3732       ANV_FROM_HANDLE(anv_device, anv_device, device);
3733       return anv_device->dispatch.vkGetFenceFdKHR(device, pGetFdInfo, pFd);
3734   }
3735   static VkResult
anv_tramp_ImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo)3736   anv_tramp_ImportFenceFdKHR(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
3737   {
3738       ANV_FROM_HANDLE(anv_device, anv_device, device);
3739       return anv_device->dispatch.vkImportFenceFdKHR(device, pImportFenceFdInfo);
3740   }
3741   static VkResult
anv_tramp_BindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfoKHR * pBindInfos)3742   anv_tramp_BindBufferMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfoKHR* pBindInfos)
3743   {
3744       ANV_FROM_HANDLE(anv_device, anv_device, device);
3745       return anv_device->dispatch.vkBindBufferMemory2KHR(device, bindInfoCount, pBindInfos);
3746   }
3747   static VkResult
anv_tramp_BindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfoKHR * pBindInfos)3748   anv_tramp_BindImageMemory2KHR(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfoKHR* pBindInfos)
3749   {
3750       ANV_FROM_HANDLE(anv_device, anv_device, device);
3751       return anv_device->dispatch.vkBindImageMemory2KHR(device, bindInfoCount, pBindInfos);
3752   }
3753   static VkResult
anv_tramp_CreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplateKHR * pDescriptorUpdateTemplate)3754   anv_tramp_CreateDescriptorUpdateTemplateKHR(VkDevice device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplateKHR* pDescriptorUpdateTemplate)
3755   {
3756       ANV_FROM_HANDLE(anv_device, anv_device, device);
3757       return anv_device->dispatch.vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
3758   }
3759   static void
anv_tramp_DestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator)3760   anv_tramp_DestroyDescriptorUpdateTemplateKHR(VkDevice device, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator)
3761   {
3762       ANV_FROM_HANDLE(anv_device, anv_device, device);
3763       return anv_device->dispatch.vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
3764   }
3765   static void
anv_tramp_UpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,const void * pData)3766   anv_tramp_UpdateDescriptorSetWithTemplateKHR(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, const void* pData)
3767   {
3768       ANV_FROM_HANDLE(anv_device, anv_device, device);
3769       return anv_device->dispatch.vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
3770   }
3771   static void
anv_tramp_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData)3772   anv_tramp_CmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData)
3773   {
3774       ANV_FROM_HANDLE(anv_cmd_buffer, anv_cmd_buffer, commandBuffer);
3775       return anv_cmd_buffer->device->dispatch.vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
3776   }
3777           static void
anv_tramp_GetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2KHR * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements)3778   anv_tramp_GetBufferMemoryRequirements2KHR(VkDevice device, const VkBufferMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements)
3779   {
3780       ANV_FROM_HANDLE(anv_device, anv_device, device);
3781       return anv_device->dispatch.vkGetBufferMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
3782   }
3783   static void
anv_tramp_GetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2KHR * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements)3784   anv_tramp_GetImageMemoryRequirements2KHR(VkDevice device, const VkImageMemoryRequirementsInfo2KHR* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements)
3785   {
3786       ANV_FROM_HANDLE(anv_device, anv_device, device);
3787       return anv_device->dispatch.vkGetImageMemoryRequirements2KHR(device, pInfo, pMemoryRequirements);
3788   }
3789   static void
anv_tramp_GetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2KHR * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2KHR * pSparseMemoryRequirements)3790   anv_tramp_GetImageSparseMemoryRequirements2KHR(VkDevice device, const VkImageSparseMemoryRequirementsInfo2KHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2KHR* pSparseMemoryRequirements)
3791   {
3792       ANV_FROM_HANDLE(anv_device, anv_device, device);
3793       return anv_device->dispatch.vkGetImageSparseMemoryRequirements2KHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
3794   }
3795   static VkResult
anv_tramp_CreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversionKHR * pYcbcrConversion)3796   anv_tramp_CreateSamplerYcbcrConversionKHR(VkDevice device, const VkSamplerYcbcrConversionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversionKHR* pYcbcrConversion)
3797   {
3798       ANV_FROM_HANDLE(anv_device, anv_device, device);
3799       return anv_device->dispatch.vkCreateSamplerYcbcrConversionKHR(device, pCreateInfo, pAllocator, pYcbcrConversion);
3800   }
3801   static void
anv_tramp_DestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversionKHR ycbcrConversion,const VkAllocationCallbacks * pAllocator)3802   anv_tramp_DestroySamplerYcbcrConversionKHR(VkDevice device, VkSamplerYcbcrConversionKHR ycbcrConversion, const VkAllocationCallbacks* pAllocator)
3803   {
3804       ANV_FROM_HANDLE(anv_device, anv_device, device);
3805       return anv_device->dispatch.vkDestroySamplerYcbcrConversionKHR(device, ycbcrConversion, pAllocator);
3806   }
3807 #ifdef ANDROID
3808   static VkResult
anv_tramp_GetSwapchainGrallocUsageANDROID(VkDevice device,VkFormat format,VkImageUsageFlags imageUsage,int * grallocUsage)3809   anv_tramp_GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage)
3810   {
3811       ANV_FROM_HANDLE(anv_device, anv_device, device);
3812       return anv_device->dispatch.vkGetSwapchainGrallocUsageANDROID(device, format, imageUsage, grallocUsage);
3813   }
3814 #endif // ANDROID
3815 #ifdef ANDROID
3816   static VkResult
anv_tramp_AcquireImageANDROID(VkDevice device,VkImage image,int nativeFenceFd,VkSemaphore semaphore,VkFence fence)3817   anv_tramp_AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence)
3818   {
3819       ANV_FROM_HANDLE(anv_device, anv_device, device);
3820       return anv_device->dispatch.vkAcquireImageANDROID(device, image, nativeFenceFd, semaphore, fence);
3821   }
3822 #endif // ANDROID
3823       static VkResult
anv_tramp_CreateDmaBufImageINTEL(VkDevice device,const VkDmaBufImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMem,VkImage * pImage)3824   anv_tramp_CreateDmaBufImageINTEL(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage)
3825   {
3826       ANV_FROM_HANDLE(anv_device, anv_device, device);
3827       return anv_device->dispatch.vkCreateDmaBufImageINTEL(device, pCreateInfo, pAllocator, pMem, pImage);
3828   }
3829 
3830 const struct anv_dispatch_table anv_tramp_dispatch_table = {
3831                 .vkGetDeviceProcAddr = anv_tramp_GetDeviceProcAddr,
3832                                     .vkDestroyDevice = anv_tramp_DestroyDevice,
3833                     .vkGetDeviceQueue = anv_tramp_GetDeviceQueue,
3834             .vkDeviceWaitIdle = anv_tramp_DeviceWaitIdle,
3835     .vkAllocateMemory = anv_tramp_AllocateMemory,
3836     .vkFreeMemory = anv_tramp_FreeMemory,
3837     .vkMapMemory = anv_tramp_MapMemory,
3838     .vkUnmapMemory = anv_tramp_UnmapMemory,
3839     .vkFlushMappedMemoryRanges = anv_tramp_FlushMappedMemoryRanges,
3840     .vkInvalidateMappedMemoryRanges = anv_tramp_InvalidateMappedMemoryRanges,
3841     .vkGetDeviceMemoryCommitment = anv_tramp_GetDeviceMemoryCommitment,
3842     .vkGetBufferMemoryRequirements = anv_tramp_GetBufferMemoryRequirements,
3843     .vkBindBufferMemory = anv_tramp_BindBufferMemory,
3844     .vkGetImageMemoryRequirements = anv_tramp_GetImageMemoryRequirements,
3845     .vkBindImageMemory = anv_tramp_BindImageMemory,
3846     .vkGetImageSparseMemoryRequirements = anv_tramp_GetImageSparseMemoryRequirements,
3847             .vkCreateFence = anv_tramp_CreateFence,
3848     .vkDestroyFence = anv_tramp_DestroyFence,
3849     .vkResetFences = anv_tramp_ResetFences,
3850     .vkGetFenceStatus = anv_tramp_GetFenceStatus,
3851     .vkWaitForFences = anv_tramp_WaitForFences,
3852     .vkCreateSemaphore = anv_tramp_CreateSemaphore,
3853     .vkDestroySemaphore = anv_tramp_DestroySemaphore,
3854     .vkCreateEvent = anv_tramp_CreateEvent,
3855     .vkDestroyEvent = anv_tramp_DestroyEvent,
3856     .vkGetEventStatus = anv_tramp_GetEventStatus,
3857     .vkSetEvent = anv_tramp_SetEvent,
3858     .vkResetEvent = anv_tramp_ResetEvent,
3859     .vkCreateQueryPool = anv_tramp_CreateQueryPool,
3860     .vkDestroyQueryPool = anv_tramp_DestroyQueryPool,
3861     .vkGetQueryPoolResults = anv_tramp_GetQueryPoolResults,
3862     .vkCreateBuffer = anv_tramp_CreateBuffer,
3863     .vkDestroyBuffer = anv_tramp_DestroyBuffer,
3864     .vkCreateBufferView = anv_tramp_CreateBufferView,
3865     .vkDestroyBufferView = anv_tramp_DestroyBufferView,
3866     .vkCreateImage = anv_tramp_CreateImage,
3867     .vkDestroyImage = anv_tramp_DestroyImage,
3868     .vkGetImageSubresourceLayout = anv_tramp_GetImageSubresourceLayout,
3869     .vkCreateImageView = anv_tramp_CreateImageView,
3870     .vkDestroyImageView = anv_tramp_DestroyImageView,
3871     .vkCreateShaderModule = anv_tramp_CreateShaderModule,
3872     .vkDestroyShaderModule = anv_tramp_DestroyShaderModule,
3873     .vkCreatePipelineCache = anv_tramp_CreatePipelineCache,
3874     .vkDestroyPipelineCache = anv_tramp_DestroyPipelineCache,
3875     .vkGetPipelineCacheData = anv_tramp_GetPipelineCacheData,
3876     .vkMergePipelineCaches = anv_tramp_MergePipelineCaches,
3877     .vkCreateGraphicsPipelines = anv_tramp_CreateGraphicsPipelines,
3878     .vkCreateComputePipelines = anv_tramp_CreateComputePipelines,
3879     .vkDestroyPipeline = anv_tramp_DestroyPipeline,
3880     .vkCreatePipelineLayout = anv_tramp_CreatePipelineLayout,
3881     .vkDestroyPipelineLayout = anv_tramp_DestroyPipelineLayout,
3882     .vkCreateSampler = anv_tramp_CreateSampler,
3883     .vkDestroySampler = anv_tramp_DestroySampler,
3884     .vkCreateDescriptorSetLayout = anv_tramp_CreateDescriptorSetLayout,
3885     .vkDestroyDescriptorSetLayout = anv_tramp_DestroyDescriptorSetLayout,
3886     .vkCreateDescriptorPool = anv_tramp_CreateDescriptorPool,
3887     .vkDestroyDescriptorPool = anv_tramp_DestroyDescriptorPool,
3888     .vkResetDescriptorPool = anv_tramp_ResetDescriptorPool,
3889     .vkAllocateDescriptorSets = anv_tramp_AllocateDescriptorSets,
3890     .vkFreeDescriptorSets = anv_tramp_FreeDescriptorSets,
3891     .vkUpdateDescriptorSets = anv_tramp_UpdateDescriptorSets,
3892     .vkCreateFramebuffer = anv_tramp_CreateFramebuffer,
3893     .vkDestroyFramebuffer = anv_tramp_DestroyFramebuffer,
3894     .vkCreateRenderPass = anv_tramp_CreateRenderPass,
3895     .vkDestroyRenderPass = anv_tramp_DestroyRenderPass,
3896     .vkGetRenderAreaGranularity = anv_tramp_GetRenderAreaGranularity,
3897     .vkCreateCommandPool = anv_tramp_CreateCommandPool,
3898     .vkDestroyCommandPool = anv_tramp_DestroyCommandPool,
3899     .vkResetCommandPool = anv_tramp_ResetCommandPool,
3900     .vkAllocateCommandBuffers = anv_tramp_AllocateCommandBuffers,
3901     .vkFreeCommandBuffers = anv_tramp_FreeCommandBuffers,
3902     .vkBeginCommandBuffer = anv_tramp_BeginCommandBuffer,
3903     .vkEndCommandBuffer = anv_tramp_EndCommandBuffer,
3904     .vkResetCommandBuffer = anv_tramp_ResetCommandBuffer,
3905     .vkCmdBindPipeline = anv_tramp_CmdBindPipeline,
3906     .vkCmdSetViewport = anv_tramp_CmdSetViewport,
3907     .vkCmdSetScissor = anv_tramp_CmdSetScissor,
3908     .vkCmdSetLineWidth = anv_tramp_CmdSetLineWidth,
3909     .vkCmdSetDepthBias = anv_tramp_CmdSetDepthBias,
3910     .vkCmdSetBlendConstants = anv_tramp_CmdSetBlendConstants,
3911     .vkCmdSetDepthBounds = anv_tramp_CmdSetDepthBounds,
3912     .vkCmdSetStencilCompareMask = anv_tramp_CmdSetStencilCompareMask,
3913     .vkCmdSetStencilWriteMask = anv_tramp_CmdSetStencilWriteMask,
3914     .vkCmdSetStencilReference = anv_tramp_CmdSetStencilReference,
3915     .vkCmdBindDescriptorSets = anv_tramp_CmdBindDescriptorSets,
3916     .vkCmdBindIndexBuffer = anv_tramp_CmdBindIndexBuffer,
3917     .vkCmdBindVertexBuffers = anv_tramp_CmdBindVertexBuffers,
3918     .vkCmdDraw = anv_tramp_CmdDraw,
3919     .vkCmdDrawIndexed = anv_tramp_CmdDrawIndexed,
3920     .vkCmdDrawIndirect = anv_tramp_CmdDrawIndirect,
3921     .vkCmdDrawIndexedIndirect = anv_tramp_CmdDrawIndexedIndirect,
3922     .vkCmdDispatch = anv_tramp_CmdDispatch,
3923     .vkCmdDispatchIndirect = anv_tramp_CmdDispatchIndirect,
3924     .vkCmdCopyBuffer = anv_tramp_CmdCopyBuffer,
3925     .vkCmdCopyImage = anv_tramp_CmdCopyImage,
3926     .vkCmdBlitImage = anv_tramp_CmdBlitImage,
3927     .vkCmdCopyBufferToImage = anv_tramp_CmdCopyBufferToImage,
3928     .vkCmdCopyImageToBuffer = anv_tramp_CmdCopyImageToBuffer,
3929     .vkCmdUpdateBuffer = anv_tramp_CmdUpdateBuffer,
3930     .vkCmdFillBuffer = anv_tramp_CmdFillBuffer,
3931     .vkCmdClearColorImage = anv_tramp_CmdClearColorImage,
3932     .vkCmdClearDepthStencilImage = anv_tramp_CmdClearDepthStencilImage,
3933     .vkCmdClearAttachments = anv_tramp_CmdClearAttachments,
3934     .vkCmdResolveImage = anv_tramp_CmdResolveImage,
3935     .vkCmdSetEvent = anv_tramp_CmdSetEvent,
3936     .vkCmdResetEvent = anv_tramp_CmdResetEvent,
3937     .vkCmdWaitEvents = anv_tramp_CmdWaitEvents,
3938     .vkCmdPipelineBarrier = anv_tramp_CmdPipelineBarrier,
3939     .vkCmdBeginQuery = anv_tramp_CmdBeginQuery,
3940     .vkCmdEndQuery = anv_tramp_CmdEndQuery,
3941     .vkCmdResetQueryPool = anv_tramp_CmdResetQueryPool,
3942     .vkCmdWriteTimestamp = anv_tramp_CmdWriteTimestamp,
3943     .vkCmdCopyQueryPoolResults = anv_tramp_CmdCopyQueryPoolResults,
3944     .vkCmdPushConstants = anv_tramp_CmdPushConstants,
3945     .vkCmdBeginRenderPass = anv_tramp_CmdBeginRenderPass,
3946     .vkCmdNextSubpass = anv_tramp_CmdNextSubpass,
3947     .vkCmdEndRenderPass = anv_tramp_CmdEndRenderPass,
3948     .vkCmdExecuteCommands = anv_tramp_CmdExecuteCommands,
3949                         .vkCreateSwapchainKHR = anv_tramp_CreateSwapchainKHR,
3950     .vkDestroySwapchainKHR = anv_tramp_DestroySwapchainKHR,
3951     .vkGetSwapchainImagesKHR = anv_tramp_GetSwapchainImagesKHR,
3952     .vkAcquireNextImageKHR = anv_tramp_AcquireNextImageKHR,
3953                                                                         .vkCmdPushDescriptorSetKHR = anv_tramp_CmdPushDescriptorSetKHR,
3954     .vkTrimCommandPoolKHR = anv_tramp_TrimCommandPoolKHR,
3955         .vkGetMemoryFdKHR = anv_tramp_GetMemoryFdKHR,
3956     .vkGetMemoryFdPropertiesKHR = anv_tramp_GetMemoryFdPropertiesKHR,
3957         .vkGetSemaphoreFdKHR = anv_tramp_GetSemaphoreFdKHR,
3958     .vkImportSemaphoreFdKHR = anv_tramp_ImportSemaphoreFdKHR,
3959         .vkGetFenceFdKHR = anv_tramp_GetFenceFdKHR,
3960     .vkImportFenceFdKHR = anv_tramp_ImportFenceFdKHR,
3961     .vkBindBufferMemory2KHR = anv_tramp_BindBufferMemory2KHR,
3962     .vkBindImageMemory2KHR = anv_tramp_BindImageMemory2KHR,
3963     .vkCreateDescriptorUpdateTemplateKHR = anv_tramp_CreateDescriptorUpdateTemplateKHR,
3964     .vkDestroyDescriptorUpdateTemplateKHR = anv_tramp_DestroyDescriptorUpdateTemplateKHR,
3965     .vkUpdateDescriptorSetWithTemplateKHR = anv_tramp_UpdateDescriptorSetWithTemplateKHR,
3966     .vkCmdPushDescriptorSetWithTemplateKHR = anv_tramp_CmdPushDescriptorSetWithTemplateKHR,
3967             .vkGetBufferMemoryRequirements2KHR = anv_tramp_GetBufferMemoryRequirements2KHR,
3968     .vkGetImageMemoryRequirements2KHR = anv_tramp_GetImageMemoryRequirements2KHR,
3969     .vkGetImageSparseMemoryRequirements2KHR = anv_tramp_GetImageSparseMemoryRequirements2KHR,
3970     .vkCreateSamplerYcbcrConversionKHR = anv_tramp_CreateSamplerYcbcrConversionKHR,
3971     .vkDestroySamplerYcbcrConversionKHR = anv_tramp_DestroySamplerYcbcrConversionKHR,
3972 #ifdef ANDROID
3973     .vkGetSwapchainGrallocUsageANDROID = anv_tramp_GetSwapchainGrallocUsageANDROID,
3974 #endif // ANDROID
3975 #ifdef ANDROID
3976     .vkAcquireImageANDROID = anv_tramp_AcquireImageANDROID,
3977 #endif // ANDROID
3978         .vkCreateDmaBufImageINTEL = anv_tramp_CreateDmaBufImageINTEL,
3979 };
3980 
3981 
3982 /** Return true if the core version or extension in which the given entrypoint
3983  * is defined is enabled.
3984  *
3985  * If device is NULL, all device extensions are considered enabled.
3986  */
3987 bool
anv_entrypoint_is_enabled(int index,uint32_t core_version,const struct anv_instance_extension_table * instance,const struct anv_device_extension_table * device)3988 anv_entrypoint_is_enabled(int index, uint32_t core_version,
3989                           const struct anv_instance_extension_table *instance,
3990                           const struct anv_device_extension_table *device)
3991 {
3992    switch (index) {
3993    case 0:
3994       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
3995    case 1:
3996       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
3997    case 2:
3998       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
3999    case 3:
4000       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4001    case 4:
4002       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4003    case 5:
4004       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4005    case 6:
4006       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4007    case 7:
4008       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4009    case 8:
4010       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4011    case 9:
4012       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4013    case 10:
4014       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4015    case 11:
4016       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4017    case 12:
4018       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4019    case 13:
4020       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4021    case 14:
4022       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4023    case 15:
4024       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4025    case 16:
4026       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4027    case 17:
4028       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4029    case 18:
4030       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4031    case 19:
4032       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4033    case 20:
4034       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4035    case 21:
4036       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4037    case 22:
4038       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4039    case 23:
4040       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4041    case 24:
4042       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4043    case 25:
4044       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4045    case 26:
4046       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4047    case 27:
4048       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4049    case 28:
4050       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4051    case 29:
4052       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4053    case 30:
4054       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4055    case 31:
4056       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4057    case 32:
4058       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4059    case 33:
4060       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4061    case 34:
4062       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4063    case 35:
4064       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4065    case 36:
4066       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4067    case 37:
4068       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4069    case 38:
4070       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4071    case 39:
4072       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4073    case 40:
4074       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4075    case 41:
4076       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4077    case 42:
4078       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4079    case 43:
4080       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4081    case 44:
4082       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4083    case 45:
4084       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4085    case 46:
4086       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4087    case 47:
4088       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4089    case 48:
4090       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4091    case 49:
4092       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4093    case 50:
4094       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4095    case 51:
4096       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4097    case 52:
4098       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4099    case 53:
4100       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4101    case 54:
4102       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4103    case 55:
4104       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4105    case 56:
4106       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4107    case 57:
4108       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4109    case 58:
4110       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4111    case 59:
4112       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4113    case 60:
4114       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4115    case 61:
4116       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4117    case 62:
4118       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4119    case 63:
4120       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4121    case 64:
4122       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4123    case 65:
4124       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4125    case 66:
4126       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4127    case 67:
4128       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4129    case 68:
4130       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4131    case 69:
4132       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4133    case 70:
4134       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4135    case 71:
4136       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4137    case 72:
4138       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4139    case 73:
4140       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4141    case 74:
4142       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4143    case 75:
4144       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4145    case 76:
4146       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4147    case 77:
4148       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4149    case 78:
4150       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4151    case 79:
4152       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4153    case 80:
4154       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4155    case 81:
4156       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4157    case 82:
4158       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4159    case 83:
4160       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4161    case 84:
4162       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4163    case 85:
4164       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4165    case 86:
4166       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4167    case 87:
4168       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4169    case 88:
4170       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4171    case 89:
4172       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4173    case 90:
4174       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4175    case 91:
4176       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4177    case 92:
4178       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4179    case 93:
4180       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4181    case 94:
4182       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4183    case 95:
4184       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4185    case 96:
4186       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4187    case 97:
4188       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4189    case 98:
4190       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4191    case 99:
4192       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4193    case 100:
4194       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4195    case 101:
4196       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4197    case 102:
4198       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4199    case 103:
4200       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4201    case 104:
4202       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4203    case 105:
4204       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4205    case 106:
4206       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4207    case 107:
4208       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4209    case 108:
4210       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4211    case 109:
4212       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4213    case 110:
4214       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4215    case 111:
4216       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4217    case 112:
4218       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4219    case 113:
4220       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4221    case 114:
4222       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4223    case 115:
4224       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4225    case 116:
4226       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4227    case 117:
4228       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4229    case 118:
4230       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4231    case 119:
4232       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4233    case 120:
4234       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4235    case 121:
4236       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4237    case 122:
4238       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4239    case 123:
4240       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4241    case 124:
4242       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4243    case 125:
4244       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4245    case 126:
4246       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4247    case 127:
4248       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4249    case 128:
4250       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4251    case 129:
4252       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4253    case 130:
4254       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4255    case 131:
4256       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4257    case 132:
4258       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4259    case 133:
4260       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4261    case 134:
4262       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4263    case 135:
4264       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4265    case 136:
4266       return VK_MAKE_VERSION(1, 0, 0) <= core_version;
4267    case 137:
4268       return instance->KHR_surface;
4269    case 138:
4270       return instance->KHR_surface;
4271    case 139:
4272       return instance->KHR_surface;
4273    case 140:
4274       return instance->KHR_surface;
4275    case 141:
4276       return instance->KHR_surface;
4277    case 142:
4278       return !device || device->KHR_swapchain;
4279    case 143:
4280       return !device || device->KHR_swapchain;
4281    case 144:
4282       return !device || device->KHR_swapchain;
4283    case 145:
4284       return !device || device->KHR_swapchain;
4285    case 146:
4286       return !device || device->KHR_swapchain;
4287    case 147:
4288       return instance->KHR_wayland_surface;
4289    case 148:
4290       return instance->KHR_wayland_surface;
4291    case 149:
4292       return instance->KHR_xlib_surface;
4293    case 150:
4294       return instance->KHR_xlib_surface;
4295    case 151:
4296       return instance->KHR_xcb_surface;
4297    case 152:
4298       return instance->KHR_xcb_surface;
4299    case 153:
4300       return instance->EXT_debug_report;
4301    case 154:
4302       return instance->EXT_debug_report;
4303    case 155:
4304       return instance->EXT_debug_report;
4305    case 156:
4306       return instance->KHR_get_physical_device_properties2;
4307    case 157:
4308       return instance->KHR_get_physical_device_properties2;
4309    case 158:
4310       return instance->KHR_get_physical_device_properties2;
4311    case 159:
4312       return instance->KHR_get_physical_device_properties2;
4313    case 160:
4314       return instance->KHR_get_physical_device_properties2;
4315    case 161:
4316       return instance->KHR_get_physical_device_properties2;
4317    case 162:
4318       return instance->KHR_get_physical_device_properties2;
4319    case 163:
4320       return !device || device->KHR_push_descriptor;
4321    case 164:
4322       return !device || device->KHR_maintenance1;
4323    case 165:
4324       return instance->KHR_external_memory_capabilities;
4325    case 166:
4326       return !device || device->KHR_external_memory_fd;
4327    case 167:
4328       return !device || device->KHR_external_memory_fd;
4329    case 168:
4330       return instance->KHR_external_semaphore_capabilities;
4331    case 169:
4332       return !device || device->KHR_external_semaphore_fd;
4333    case 170:
4334       return !device || device->KHR_external_semaphore_fd;
4335    case 171:
4336       return instance->KHR_external_fence_capabilities;
4337    case 172:
4338       return !device || device->KHR_external_fence_fd;
4339    case 173:
4340       return !device || device->KHR_external_fence_fd;
4341    case 174:
4342       return !device || device->KHR_bind_memory2;
4343    case 175:
4344       return !device || device->KHR_bind_memory2;
4345    case 176:
4346       return !device || device->KHR_descriptor_update_template;
4347    case 177:
4348       return !device || device->KHR_descriptor_update_template;
4349    case 178:
4350       return !device || device->KHR_descriptor_update_template;
4351    case 179:
4352       return !device || device->KHR_descriptor_update_template;
4353    case 180:
4354       return instance->KHR_get_surface_capabilities2;
4355    case 181:
4356       return instance->KHR_get_surface_capabilities2;
4357    case 182:
4358       return !device || device->KHR_get_memory_requirements2;
4359    case 183:
4360       return !device || device->KHR_get_memory_requirements2;
4361    case 184:
4362       return !device || device->KHR_get_memory_requirements2;
4363    case 185:
4364       return !device || device->KHR_sampler_ycbcr_conversion;
4365    case 186:
4366       return !device || device->KHR_sampler_ycbcr_conversion;
4367    case 187:
4368       return !device || device->ANDROID_native_buffer;
4369    case 188:
4370       return !device || device->ANDROID_native_buffer;
4371    case 189:
4372       return !device || device->ANDROID_native_buffer;
4373    case 190:
4374       return true;
4375    default:
4376       return false;
4377    }
4378 }
4379 
4380 static void * __attribute__ ((noinline))
anv_resolve_entrypoint(const struct gen_device_info * devinfo,uint32_t index)4381 anv_resolve_entrypoint(const struct gen_device_info *devinfo, uint32_t index)
4382 {
4383    if (devinfo == NULL) {
4384       return anv_dispatch_table.entrypoints[index];
4385    }
4386 
4387    const struct anv_dispatch_table *genX_table;
4388    switch (devinfo->gen) {
4389    case 10:
4390       genX_table = &gen10_dispatch_table;
4391       break;
4392    case 9:
4393       genX_table = &gen9_dispatch_table;
4394       break;
4395    case 8:
4396       genX_table = &gen8_dispatch_table;
4397       break;
4398    case 7:
4399       if (devinfo->is_haswell)
4400          genX_table = &gen75_dispatch_table;
4401       else
4402          genX_table = &gen7_dispatch_table;
4403       break;
4404    default:
4405       unreachable("unsupported gen\n");
4406    }
4407 
4408    if (genX_table->entrypoints[index])
4409       return genX_table->entrypoints[index];
4410    else
4411       return anv_dispatch_table.entrypoints[index];
4412 }
4413 
4414 /* Hash table stats:
4415  * size 256 entries
4416  * collisions entries:
4417  *     0     119
4418  *     1     37
4419  *     2     13
4420  *     3     7
4421  *     4     4
4422  *     5     1
4423  *     6     5
4424  *     7     3
4425  *     8     1
4426  *     9+     1
4427  */
4428 
4429 #define none 0xffff
4430 static const uint16_t map[] = {
4431       0x0044,
4432       none,
4433       0x00bd,
4434       0x00bc,
4435       0x00a7,
4436       0x002b,
4437       0x0040,
4438       0x0061,
4439       0x0049,
4440       0x0022,
4441       0x0056,
4442       none,
4443       none,
4444       none,
4445       0x00a5,
4446       none,
4447       none,
4448       0x00a6,
4449       none,
4450       0x0067,
4451       none,
4452       none,
4453       none,
4454       0x00ab,
4455       0x0052,
4456       0x0097,
4457       0x0058,
4458       0x004c,
4459       none,
4460       0x0069,
4461       0x00b1,
4462       none,
4463       none,
4464       0x00ac,
4465       0x0054,
4466       none,
4467       0x0014,
4468       0x005b,
4469       0x0070,
4470       0x0002,
4471       0x007c,
4472       none,
4473       0x001c,
4474       0x002f,
4475       0x00be,
4476       none,
4477       0x0077,
4478       0x0018,
4479       0x004b,
4480       0x002a,
4481       none,
4482       0x0008,
4483       0x0065,
4484       0x0080,
4485       0x006d,
4486       0x0053,
4487       none,
4488       0x00a0,
4489       0x004d,
4490       0x0090,
4491       0x0024,
4492       0x00a1,
4493       0x005e,
4494       0x000b,
4495       0x0088,
4496       0x0091,
4497       none,
4498       0x00b2,
4499       0x005c,
4500       0x0033,
4501       none,
4502       0x009b,
4503       0x0087,
4504       0x003f,
4505       0x001f,
4506       0x002c,
4507       0x0082,
4508       0x005a,
4509       none,
4510       0x00b9,
4511       none,
4512       0x0019,
4513       0x0046,
4514       0x003a,
4515       0x009a,
4516       none,
4517       0x0034,
4518       none,
4519       0x0051,
4520       none,
4521       none,
4522       0x0020,
4523       0x009c,
4524       0x0066,
4525       0x0075,
4526       none,
4527       none,
4528       none,
4529       0x0035,
4530       0x001e,
4531       0x006f,
4532       0x0060,
4533       0x0047,
4534       0x000a,
4535       0x0023,
4536       0x0099,
4537       none,
4538       0x006b,
4539       none,
4540       0x0041,
4541       0x0028,
4542       none,
4543       0x0068,
4544       0x00b8,
4545       0x00a2,
4546       0x003e,
4547       0x0048,
4548       0x007b,
4549       0x0055,
4550       0x00aa,
4551       0x00b4,
4552       0x0045,
4553       0x006e,
4554       0x0084,
4555       none,
4556       0x0089,
4557       0x000e,
4558       0x0030,
4559       none,
4560       0x0027,
4561       0x0081,
4562       0x00b7,
4563       0x005d,
4564       0x008a,
4565       0x0003,
4566       0x008f,
4567       0x00b5,
4568       0x0063,
4569       0x0006,
4570       none,
4571       0x0093,
4572       0x00a4,
4573       none,
4574       none,
4575       0x00ad,
4576       0x0059,
4577       0x0026,
4578       none,
4579       0x003c,
4580       none,
4581       0x0037,
4582       0x00a9,
4583       0x0009,
4584       0x0038,
4585       0x0011,
4586       none,
4587       0x0072,
4588       0x0016,
4589       none,
4590       0x003d,
4591       0x00b6,
4592       0x006a,
4593       0x003b,
4594       0x00ba,
4595       0x004a,
4596       0x0013,
4597       0x0000,
4598       0x007a,
4599       0x002e,
4600       0x0071,
4601       none,
4602       0x0096,
4603       0x0074,
4604       0x0004,
4605       0x004f,
4606       0x0029,
4607       0x00b0,
4608       0x004e,
4609       0x0095,
4610       0x0031,
4611       0x00a3,
4612       0x001b,
4613       0x00bb,
4614       0x0073,
4615       0x005f,
4616       0x0032,
4617       0x0078,
4618       0x008e,
4619       none,
4620       none,
4621       none,
4622       0x006c,
4623       0x00af,
4624       none,
4625       0x0036,
4626       none,
4627       0x0050,
4628       0x009d,
4629       0x007d,
4630       none,
4631       0x008c,
4632       0x0005,
4633       0x001a,
4634       0x000c,
4635       0x0098,
4636       0x00a8,
4637       0x0092,
4638       none,
4639       none,
4640       0x008d,
4641       0x0094,
4642       0x0015,
4643       0x0083,
4644       0x0043,
4645       none,
4646       none,
4647       0x000d,
4648       none,
4649       0x0007,
4650       none,
4651       0x0025,
4652       0x007f,
4653       0x001d,
4654       none,
4655       0x0076,
4656       0x009e,
4657       0x0064,
4658       0x0085,
4659       none,
4660       none,
4661       none,
4662       0x000f,
4663       0x007e,
4664       none,
4665       0x009f,
4666       0x0017,
4667       0x0012,
4668       0x0010,
4669       none,
4670       0x0021,
4671       0x008b,
4672       0x0079,
4673       0x0001,
4674       0x00b3,
4675       0x00ae,
4676       0x002d,
4677       none,
4678       none,
4679       none,
4680       0x0086,
4681       none,
4682       0x0062,
4683       none,
4684       0x0057,
4685       0x0042,
4686       0x0039,
4687 };
4688 
4689 int
anv_get_entrypoint_index(const char * name)4690 anv_get_entrypoint_index(const char *name)
4691 {
4692    static const uint32_t prime_factor = 5024183;
4693    static const uint32_t prime_step = 19;
4694    const struct anv_entrypoint *e;
4695    uint32_t hash, h, i;
4696    const char *p;
4697 
4698    hash = 0;
4699    for (p = name; *p; p++)
4700       hash = hash * prime_factor + *p;
4701 
4702    h = hash;
4703    do {
4704       i = map[h & 255];
4705       if (i == none)
4706          return -1;
4707       e = &entrypoints[i];
4708       h += prime_step;
4709    } while (e->hash != hash);
4710 
4711    if (strcmp(name, strings + e->name) != 0)
4712       return -1;
4713 
4714    return i;
4715 }
4716 
4717 void *
anv_lookup_entrypoint(const struct gen_device_info * devinfo,const char * name)4718 anv_lookup_entrypoint(const struct gen_device_info *devinfo, const char *name)
4719 {
4720    int idx = anv_get_entrypoint_index(name);
4721    if (idx < 0)
4722       return NULL;
4723    return anv_resolve_entrypoint(devinfo, idx);
4724 }