• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* This file is generated by venus-protocol.  See vn_protocol_renderer.h. */
2 
3 /*
4  * Copyright 2020 Google LLC
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #ifndef VN_PROTOCOL_RENDERER_DEFINES_H
9 #define VN_PROTOCOL_RENDERER_DEFINES_H
10 
11 #include <stdarg.h>
12 #include <stdlib.h>
13 #include <string.h>
14 #include <stdio.h>
15 
16 #include "vulkan.h"
17 
18 #include "vn_protocol_renderer_cs.h"
19 
20 /* VkStructureType */
21 #define VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA ((VkStructureType)1000384000)
22 #define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_PROPERTIES_MESA ((VkStructureType)1000384001)
23 #define VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA ((VkStructureType)1000384002)
24 #define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA ((VkStructureType)1000384003)
25 #define VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_100000_MESA ((VkStructureType)1000384004)
26 #define VK_STRUCTURE_TYPE_DEVICE_QUEUE_TIMELINE_INFO_MESA ((VkStructureType)1000384005)
27 
28 typedef enum VkCommandTypeEXT {
29     VK_COMMAND_TYPE_vkCreateInstance_EXT = 0,
30     VK_COMMAND_TYPE_vkDestroyInstance_EXT = 1,
31     VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT = 2,
32     VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT = 3,
33     VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT = 4,
34     VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT = 5,
35     VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT = 6,
36     VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT = 7,
37     VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT = 8,
38     VK_COMMAND_TYPE_vkGetInstanceProcAddr_EXT = 9,
39     VK_COMMAND_TYPE_vkGetDeviceProcAddr_EXT = 10,
40     VK_COMMAND_TYPE_vkCreateDevice_EXT = 11,
41     VK_COMMAND_TYPE_vkDestroyDevice_EXT = 12,
42     VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT = 13,
43     VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT = 14,
44     VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT = 15,
45     VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT = 16,
46     VK_COMMAND_TYPE_vkGetDeviceQueue_EXT = 17,
47     VK_COMMAND_TYPE_vkQueueSubmit_EXT = 18,
48     VK_COMMAND_TYPE_vkQueueWaitIdle_EXT = 19,
49     VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT = 20,
50     VK_COMMAND_TYPE_vkAllocateMemory_EXT = 21,
51     VK_COMMAND_TYPE_vkFreeMemory_EXT = 22,
52     VK_COMMAND_TYPE_vkMapMemory_EXT = 23,
53     VK_COMMAND_TYPE_vkUnmapMemory_EXT = 24,
54     VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT = 25,
55     VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT = 26,
56     VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT = 27,
57     VK_COMMAND_TYPE_vkBindBufferMemory_EXT = 28,
58     VK_COMMAND_TYPE_vkBindImageMemory_EXT = 29,
59     VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT = 30,
60     VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT = 31,
61     VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT = 32,
62     VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT = 33,
63     VK_COMMAND_TYPE_vkQueueBindSparse_EXT = 34,
64     VK_COMMAND_TYPE_vkCreateFence_EXT = 35,
65     VK_COMMAND_TYPE_vkDestroyFence_EXT = 36,
66     VK_COMMAND_TYPE_vkResetFences_EXT = 37,
67     VK_COMMAND_TYPE_vkGetFenceStatus_EXT = 38,
68     VK_COMMAND_TYPE_vkWaitForFences_EXT = 39,
69     VK_COMMAND_TYPE_vkCreateSemaphore_EXT = 40,
70     VK_COMMAND_TYPE_vkDestroySemaphore_EXT = 41,
71     VK_COMMAND_TYPE_vkCreateEvent_EXT = 42,
72     VK_COMMAND_TYPE_vkDestroyEvent_EXT = 43,
73     VK_COMMAND_TYPE_vkGetEventStatus_EXT = 44,
74     VK_COMMAND_TYPE_vkSetEvent_EXT = 45,
75     VK_COMMAND_TYPE_vkResetEvent_EXT = 46,
76     VK_COMMAND_TYPE_vkCreateQueryPool_EXT = 47,
77     VK_COMMAND_TYPE_vkDestroyQueryPool_EXT = 48,
78     VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT = 49,
79     VK_COMMAND_TYPE_vkCreateBuffer_EXT = 50,
80     VK_COMMAND_TYPE_vkDestroyBuffer_EXT = 51,
81     VK_COMMAND_TYPE_vkCreateBufferView_EXT = 52,
82     VK_COMMAND_TYPE_vkDestroyBufferView_EXT = 53,
83     VK_COMMAND_TYPE_vkCreateImage_EXT = 54,
84     VK_COMMAND_TYPE_vkDestroyImage_EXT = 55,
85     VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT = 56,
86     VK_COMMAND_TYPE_vkCreateImageView_EXT = 57,
87     VK_COMMAND_TYPE_vkDestroyImageView_EXT = 58,
88     VK_COMMAND_TYPE_vkCreateShaderModule_EXT = 59,
89     VK_COMMAND_TYPE_vkDestroyShaderModule_EXT = 60,
90     VK_COMMAND_TYPE_vkCreatePipelineCache_EXT = 61,
91     VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT = 62,
92     VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT = 63,
93     VK_COMMAND_TYPE_vkMergePipelineCaches_EXT = 64,
94     VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT = 65,
95     VK_COMMAND_TYPE_vkCreateComputePipelines_EXT = 66,
96     VK_COMMAND_TYPE_vkDestroyPipeline_EXT = 67,
97     VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT = 68,
98     VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT = 69,
99     VK_COMMAND_TYPE_vkCreateSampler_EXT = 70,
100     VK_COMMAND_TYPE_vkDestroySampler_EXT = 71,
101     VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT = 72,
102     VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT = 73,
103     VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT = 74,
104     VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT = 75,
105     VK_COMMAND_TYPE_vkResetDescriptorPool_EXT = 76,
106     VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT = 77,
107     VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT = 78,
108     VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT = 79,
109     VK_COMMAND_TYPE_vkCreateFramebuffer_EXT = 80,
110     VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT = 81,
111     VK_COMMAND_TYPE_vkCreateRenderPass_EXT = 82,
112     VK_COMMAND_TYPE_vkDestroyRenderPass_EXT = 83,
113     VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT = 84,
114     VK_COMMAND_TYPE_vkCreateCommandPool_EXT = 85,
115     VK_COMMAND_TYPE_vkDestroyCommandPool_EXT = 86,
116     VK_COMMAND_TYPE_vkResetCommandPool_EXT = 87,
117     VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT = 88,
118     VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT = 89,
119     VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT = 90,
120     VK_COMMAND_TYPE_vkEndCommandBuffer_EXT = 91,
121     VK_COMMAND_TYPE_vkResetCommandBuffer_EXT = 92,
122     VK_COMMAND_TYPE_vkCmdBindPipeline_EXT = 93,
123     VK_COMMAND_TYPE_vkCmdSetViewport_EXT = 94,
124     VK_COMMAND_TYPE_vkCmdSetScissor_EXT = 95,
125     VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT = 96,
126     VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT = 97,
127     VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT = 98,
128     VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT = 99,
129     VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT = 100,
130     VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT = 101,
131     VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT = 102,
132     VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT = 103,
133     VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT = 104,
134     VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT = 105,
135     VK_COMMAND_TYPE_vkCmdDraw_EXT = 106,
136     VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT = 107,
137     VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT = 108,
138     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT = 109,
139     VK_COMMAND_TYPE_vkCmdDispatch_EXT = 110,
140     VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT = 111,
141     VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT = 112,
142     VK_COMMAND_TYPE_vkCmdCopyImage_EXT = 113,
143     VK_COMMAND_TYPE_vkCmdBlitImage_EXT = 114,
144     VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT = 115,
145     VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT = 116,
146     VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT = 117,
147     VK_COMMAND_TYPE_vkCmdFillBuffer_EXT = 118,
148     VK_COMMAND_TYPE_vkCmdClearColorImage_EXT = 119,
149     VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT = 120,
150     VK_COMMAND_TYPE_vkCmdClearAttachments_EXT = 121,
151     VK_COMMAND_TYPE_vkCmdResolveImage_EXT = 122,
152     VK_COMMAND_TYPE_vkCmdSetEvent_EXT = 123,
153     VK_COMMAND_TYPE_vkCmdResetEvent_EXT = 124,
154     VK_COMMAND_TYPE_vkCmdWaitEvents_EXT = 125,
155     VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT = 126,
156     VK_COMMAND_TYPE_vkCmdBeginQuery_EXT = 127,
157     VK_COMMAND_TYPE_vkCmdEndQuery_EXT = 128,
158     VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT = 129,
159     VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT = 130,
160     VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT = 131,
161     VK_COMMAND_TYPE_vkCmdPushConstants_EXT = 132,
162     VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT = 133,
163     VK_COMMAND_TYPE_vkCmdNextSubpass_EXT = 134,
164     VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT = 135,
165     VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT = 136,
166     VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT = 137,
167     VK_COMMAND_TYPE_vkBindBufferMemory2_EXT = 138,
168     VK_COMMAND_TYPE_vkBindBufferMemory2KHR_EXT = 138,
169     VK_COMMAND_TYPE_vkBindImageMemory2_EXT = 139,
170     VK_COMMAND_TYPE_vkBindImageMemory2KHR_EXT = 139,
171     VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT = 140,
172     VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeaturesKHR_EXT = 140,
173     VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT = 141,
174     VK_COMMAND_TYPE_vkCmdSetDeviceMaskKHR_EXT = 141,
175     VK_COMMAND_TYPE_vkCmdDispatchBase_EXT = 142,
176     VK_COMMAND_TYPE_vkCmdDispatchBaseKHR_EXT = 142,
177     VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT = 143,
178     VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroupsKHR_EXT = 143,
179     VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT = 144,
180     VK_COMMAND_TYPE_vkGetImageMemoryRequirements2KHR_EXT = 144,
181     VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT = 145,
182     VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2KHR_EXT = 145,
183     VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT = 146,
184     VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2KHR_EXT = 146,
185     VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT = 147,
186     VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2KHR_EXT = 147,
187     VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT = 148,
188     VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2KHR_EXT = 148,
189     VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT = 149,
190     VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2KHR_EXT = 149,
191     VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT = 150,
192     VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2KHR_EXT = 150,
193     VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT = 151,
194     VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2KHR_EXT = 151,
195     VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT = 152,
196     VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2KHR_EXT = 152,
197     VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT = 153,
198     VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2KHR_EXT = 153,
199     VK_COMMAND_TYPE_vkTrimCommandPool_EXT = 154,
200     VK_COMMAND_TYPE_vkTrimCommandPoolKHR_EXT = 154,
201     VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT = 155,
202     VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT = 156,
203     VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversionKHR_EXT = 156,
204     VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT = 157,
205     VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversionKHR_EXT = 157,
206     VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT = 158,
207     VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplateKHR_EXT = 158,
208     VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT = 159,
209     VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplateKHR_EXT = 159,
210     VK_COMMAND_TYPE_vkUpdateDescriptorSetWithTemplate_EXT = 160,
211     VK_COMMAND_TYPE_vkUpdateDescriptorSetWithTemplateKHR_EXT = 160,
212     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT = 161,
213     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferPropertiesKHR_EXT = 161,
214     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT = 162,
215     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFencePropertiesKHR_EXT = 162,
216     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT = 163,
217     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR_EXT = 163,
218     VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT = 164,
219     VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupportKHR_EXT = 164,
220     VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT = 165,
221     VK_COMMAND_TYPE_vkCmdDrawIndirectCountKHR_EXT = 165,
222     VK_COMMAND_TYPE_vkCmdDrawIndirectCountAMD_EXT = 165,
223     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT = 166,
224     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCountKHR_EXT = 166,
225     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCountAMD_EXT = 166,
226     VK_COMMAND_TYPE_vkCreateRenderPass2_EXT = 167,
227     VK_COMMAND_TYPE_vkCreateRenderPass2KHR_EXT = 167,
228     VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT = 168,
229     VK_COMMAND_TYPE_vkCmdBeginRenderPass2KHR_EXT = 168,
230     VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT = 169,
231     VK_COMMAND_TYPE_vkCmdNextSubpass2KHR_EXT = 169,
232     VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT = 170,
233     VK_COMMAND_TYPE_vkCmdEndRenderPass2KHR_EXT = 170,
234     VK_COMMAND_TYPE_vkResetQueryPool_EXT = 171,
235     VK_COMMAND_TYPE_vkResetQueryPoolEXT_EXT = 171,
236     VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT = 172,
237     VK_COMMAND_TYPE_vkGetSemaphoreCounterValueKHR_EXT = 172,
238     VK_COMMAND_TYPE_vkWaitSemaphores_EXT = 173,
239     VK_COMMAND_TYPE_vkWaitSemaphoresKHR_EXT = 173,
240     VK_COMMAND_TYPE_vkSignalSemaphore_EXT = 174,
241     VK_COMMAND_TYPE_vkSignalSemaphoreKHR_EXT = 174,
242     VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT = 175,
243     VK_COMMAND_TYPE_vkGetBufferDeviceAddressKHR_EXT = 175,
244     VK_COMMAND_TYPE_vkGetBufferDeviceAddressEXT_EXT = 175,
245     VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT = 176,
246     VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddressKHR_EXT = 176,
247     VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT = 177,
248     VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddressKHR_EXT = 177,
249     VK_COMMAND_TYPE_vkGetPhysicalDeviceToolProperties_EXT = 196,
250     VK_COMMAND_TYPE_vkGetPhysicalDeviceToolPropertiesEXT_EXT = 196,
251     VK_COMMAND_TYPE_vkCreatePrivateDataSlot_EXT = 197,
252     VK_COMMAND_TYPE_vkCreatePrivateDataSlotEXT_EXT = 197,
253     VK_COMMAND_TYPE_vkDestroyPrivateDataSlot_EXT = 198,
254     VK_COMMAND_TYPE_vkDestroyPrivateDataSlotEXT_EXT = 198,
255     VK_COMMAND_TYPE_vkSetPrivateData_EXT = 199,
256     VK_COMMAND_TYPE_vkSetPrivateDataEXT_EXT = 199,
257     VK_COMMAND_TYPE_vkGetPrivateData_EXT = 200,
258     VK_COMMAND_TYPE_vkGetPrivateDataEXT_EXT = 200,
259     VK_COMMAND_TYPE_vkCmdSetEvent2_EXT = 201,
260     VK_COMMAND_TYPE_vkCmdSetEvent2KHR_EXT = 201,
261     VK_COMMAND_TYPE_vkCmdResetEvent2_EXT = 202,
262     VK_COMMAND_TYPE_vkCmdResetEvent2KHR_EXT = 202,
263     VK_COMMAND_TYPE_vkCmdWaitEvents2_EXT = 203,
264     VK_COMMAND_TYPE_vkCmdWaitEvents2KHR_EXT = 203,
265     VK_COMMAND_TYPE_vkCmdPipelineBarrier2_EXT = 204,
266     VK_COMMAND_TYPE_vkCmdPipelineBarrier2KHR_EXT = 204,
267     VK_COMMAND_TYPE_vkCmdWriteTimestamp2_EXT = 205,
268     VK_COMMAND_TYPE_vkCmdWriteTimestamp2KHR_EXT = 205,
269     VK_COMMAND_TYPE_vkQueueSubmit2_EXT = 206,
270     VK_COMMAND_TYPE_vkQueueSubmit2KHR_EXT = 206,
271     VK_COMMAND_TYPE_vkCmdCopyBuffer2_EXT = 207,
272     VK_COMMAND_TYPE_vkCmdCopyBuffer2KHR_EXT = 207,
273     VK_COMMAND_TYPE_vkCmdCopyImage2_EXT = 208,
274     VK_COMMAND_TYPE_vkCmdCopyImage2KHR_EXT = 208,
275     VK_COMMAND_TYPE_vkCmdCopyBufferToImage2_EXT = 209,
276     VK_COMMAND_TYPE_vkCmdCopyBufferToImage2KHR_EXT = 209,
277     VK_COMMAND_TYPE_vkCmdCopyImageToBuffer2_EXT = 210,
278     VK_COMMAND_TYPE_vkCmdCopyImageToBuffer2KHR_EXT = 210,
279     VK_COMMAND_TYPE_vkCmdBlitImage2_EXT = 211,
280     VK_COMMAND_TYPE_vkCmdBlitImage2KHR_EXT = 211,
281     VK_COMMAND_TYPE_vkCmdResolveImage2_EXT = 212,
282     VK_COMMAND_TYPE_vkCmdResolveImage2KHR_EXT = 212,
283     VK_COMMAND_TYPE_vkCmdBeginRendering_EXT = 213,
284     VK_COMMAND_TYPE_vkCmdBeginRenderingKHR_EXT = 213,
285     VK_COMMAND_TYPE_vkCmdEndRendering_EXT = 214,
286     VK_COMMAND_TYPE_vkCmdEndRenderingKHR_EXT = 214,
287     VK_COMMAND_TYPE_vkCmdSetCullMode_EXT = 215,
288     VK_COMMAND_TYPE_vkCmdSetCullModeEXT_EXT = 215,
289     VK_COMMAND_TYPE_vkCmdSetFrontFace_EXT = 216,
290     VK_COMMAND_TYPE_vkCmdSetFrontFaceEXT_EXT = 216,
291     VK_COMMAND_TYPE_vkCmdSetPrimitiveTopology_EXT = 217,
292     VK_COMMAND_TYPE_vkCmdSetPrimitiveTopologyEXT_EXT = 217,
293     VK_COMMAND_TYPE_vkCmdSetViewportWithCount_EXT = 218,
294     VK_COMMAND_TYPE_vkCmdSetViewportWithCountEXT_EXT = 218,
295     VK_COMMAND_TYPE_vkCmdSetScissorWithCount_EXT = 219,
296     VK_COMMAND_TYPE_vkCmdSetScissorWithCountEXT_EXT = 219,
297     VK_COMMAND_TYPE_vkCmdBindVertexBuffers2_EXT = 220,
298     VK_COMMAND_TYPE_vkCmdBindVertexBuffers2EXT_EXT = 220,
299     VK_COMMAND_TYPE_vkCmdSetDepthTestEnable_EXT = 221,
300     VK_COMMAND_TYPE_vkCmdSetDepthTestEnableEXT_EXT = 221,
301     VK_COMMAND_TYPE_vkCmdSetDepthWriteEnable_EXT = 222,
302     VK_COMMAND_TYPE_vkCmdSetDepthWriteEnableEXT_EXT = 222,
303     VK_COMMAND_TYPE_vkCmdSetDepthCompareOp_EXT = 223,
304     VK_COMMAND_TYPE_vkCmdSetDepthCompareOpEXT_EXT = 223,
305     VK_COMMAND_TYPE_vkCmdSetDepthBoundsTestEnable_EXT = 224,
306     VK_COMMAND_TYPE_vkCmdSetDepthBoundsTestEnableEXT_EXT = 224,
307     VK_COMMAND_TYPE_vkCmdSetStencilTestEnable_EXT = 225,
308     VK_COMMAND_TYPE_vkCmdSetStencilTestEnableEXT_EXT = 225,
309     VK_COMMAND_TYPE_vkCmdSetStencilOp_EXT = 226,
310     VK_COMMAND_TYPE_vkCmdSetStencilOpEXT_EXT = 226,
311     VK_COMMAND_TYPE_vkCmdSetRasterizerDiscardEnable_EXT = 227,
312     VK_COMMAND_TYPE_vkCmdSetRasterizerDiscardEnableEXT_EXT = 227,
313     VK_COMMAND_TYPE_vkCmdSetDepthBiasEnable_EXT = 228,
314     VK_COMMAND_TYPE_vkCmdSetDepthBiasEnableEXT_EXT = 228,
315     VK_COMMAND_TYPE_vkCmdSetPrimitiveRestartEnable_EXT = 229,
316     VK_COMMAND_TYPE_vkCmdSetPrimitiveRestartEnableEXT_EXT = 229,
317     VK_COMMAND_TYPE_vkGetDeviceBufferMemoryRequirements_EXT = 230,
318     VK_COMMAND_TYPE_vkGetDeviceBufferMemoryRequirementsKHR_EXT = 230,
319     VK_COMMAND_TYPE_vkGetDeviceImageMemoryRequirements_EXT = 231,
320     VK_COMMAND_TYPE_vkGetDeviceImageMemoryRequirementsKHR_EXT = 231,
321     VK_COMMAND_TYPE_vkGetDeviceImageSparseMemoryRequirements_EXT = 232,
322     VK_COMMAND_TYPE_vkGetDeviceImageSparseMemoryRequirementsKHR_EXT = 232,
323     VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT = 181,
324     VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT = 182,
325     VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT = 183,
326     VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT = 184,
327     VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT = 185,
328     VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT = 186,
329     VK_COMMAND_TYPE_vkGetMemoryFdKHR_EXT = 193,
330     VK_COMMAND_TYPE_vkGetMemoryFdPropertiesKHR_EXT = 194,
331     VK_COMMAND_TYPE_vkImportSemaphoreFdKHR_EXT = 242,
332     VK_COMMAND_TYPE_vkGetSemaphoreFdKHR_EXT = 243,
333     VK_COMMAND_TYPE_vkCmdPushDescriptorSetKHR_EXT = 249,
334     VK_COMMAND_TYPE_vkCmdPushDescriptorSetWithTemplateKHR_EXT = 250,
335     VK_COMMAND_TYPE_vkCmdBeginConditionalRenderingEXT_EXT = 240,
336     VK_COMMAND_TYPE_vkCmdEndConditionalRenderingEXT_EXT = 241,
337     VK_COMMAND_TYPE_vkImportFenceFdKHR_EXT = 238,
338     VK_COMMAND_TYPE_vkGetFenceFdKHR_EXT = 239,
339     VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT = 187,
340     VK_COMMAND_TYPE_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_EXT = 235,
341     VK_COMMAND_TYPE_vkGetCalibratedTimestampsEXT_EXT = 236,
342     VK_COMMAND_TYPE_vkCmdSetLineStippleEXT_EXT = 237,
343     VK_COMMAND_TYPE_vkCmdSetPatchControlPointsEXT_EXT = 233,
344     VK_COMMAND_TYPE_vkCmdSetLogicOpEXT_EXT = 234,
345     VK_COMMAND_TYPE_vkCmdDrawMultiEXT_EXT = 247,
346     VK_COMMAND_TYPE_vkCmdDrawMultiIndexedEXT_EXT = 248,
347     VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT = 178,
348     VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT = 179,
349     VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT = 180,
350     VK_COMMAND_TYPE_vkCreateRingMESA_EXT = 188,
351     VK_COMMAND_TYPE_vkDestroyRingMESA_EXT = 189,
352     VK_COMMAND_TYPE_vkNotifyRingMESA_EXT = 190,
353     VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT = 191,
354     VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT = 192,
355     VK_COMMAND_TYPE_vkResetFenceResource100000MESA_EXT = 244,
356     VK_COMMAND_TYPE_vkWaitSemaphoreResource100000MESA_EXT = 245,
357     VK_COMMAND_TYPE_vkImportSemaphoreResource100000MESA_EXT = 246,
358     VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT = 195,
359 } VkCommandTypeEXT;
360 
361 typedef enum VkCommandFlagBitsEXT {
362     VK_COMMAND_GENERATE_REPLY_BIT_EXT = 0x00000001,
363 } VkCommandFlagBitsEXT;
364 
365 typedef VkFlags VkCommandFlagsEXT;
366 
367 typedef VkFlags VkCommandStreamExecutionFlagsMESA;
368 
369 typedef VkFlags VkRingCreateFlagsMESA;
370 
371 typedef VkFlags VkRingNotifyFlagsMESA;
372 
373 typedef struct VkCommandStreamDescriptionMESA {
374     uint32_t resourceId;
375     size_t offset;
376     size_t size;
377 } VkCommandStreamDescriptionMESA;
378 
379 typedef struct VkCommandStreamDependencyMESA {
380     uint32_t srcCommandStream;
381     uint32_t dstCommandStream;
382 } VkCommandStreamDependencyMESA;
383 
384 typedef struct VkRingCreateInfoMESA {
385     VkStructureType sType;
386     const void* pNext;
387     VkRingCreateFlagsMESA flags;
388     uint32_t resourceId;
389     size_t offset;
390     size_t size;
391     uint64_t idleTimeout;
392     size_t headOffset;
393     size_t tailOffset;
394     size_t statusOffset;
395     size_t bufferOffset;
396     size_t bufferSize;
397     size_t extraOffset;
398     size_t extraSize;
399 } VkRingCreateInfoMESA;
400 
401 typedef struct VkMemoryResourcePropertiesMESA {
402     VkStructureType sType;
403     void* pNext;
404     uint32_t memoryTypeBits;
405 } VkMemoryResourcePropertiesMESA;
406 
407 typedef struct VkImportMemoryResourceInfoMESA {
408     VkStructureType sType;
409     const void* pNext;
410     uint32_t resourceId;
411 } VkImportMemoryResourceInfoMESA;
412 
413 typedef struct VkVenusExperimentalFeatures100000MESA {
414     VkBool32 memoryResourceAllocationSize;
415     VkBool32 globalFencing;
416     VkBool32 largeRing;
417     VkBool32 syncFdFencing;
418 } VkVenusExperimentalFeatures100000MESA;
419 
420 typedef struct VkMemoryResourceAllocationSizeProperties100000MESA {
421     VkStructureType sType;
422     void* pNext;
423     uint64_t allocationSize;
424 } VkMemoryResourceAllocationSizeProperties100000MESA;
425 
426 typedef struct VkImportSemaphoreResourceInfo100000MESA {
427     VkStructureType sType;
428     const void* pNext;
429     VkSemaphore semaphore;
430     uint32_t resourceId;
431 } VkImportSemaphoreResourceInfo100000MESA;
432 
433 typedef struct VkDeviceQueueTimelineInfoMESA {
434     VkStructureType sType;
435     const void* pNext;
436     uint32_t ringIdx;
437 } VkDeviceQueueTimelineInfoMESA;
438 
439 struct vn_command_vkCreateInstance {
440     const VkInstanceCreateInfo* pCreateInfo;
441     const VkAllocationCallbacks* pAllocator;
442     VkInstance* pInstance;
443 
444     VkResult ret;
445 };
446 
447 struct vn_command_vkDestroyInstance {
448     VkInstance instance;
449     const VkAllocationCallbacks* pAllocator;
450 };
451 
452 struct vn_command_vkEnumeratePhysicalDevices {
453     VkInstance instance;
454     uint32_t* pPhysicalDeviceCount;
455     VkPhysicalDevice* pPhysicalDevices;
456 
457     VkResult ret;
458 };
459 
460 struct vn_command_vkGetDeviceProcAddr {
461     VkDevice device;
462     const char* pName;
463 
464     PFN_vkVoidFunction ret;
465 };
466 
467 struct vn_command_vkGetInstanceProcAddr {
468     VkInstance instance;
469     const char* pName;
470 
471     PFN_vkVoidFunction ret;
472 };
473 
474 struct vn_command_vkGetPhysicalDeviceProperties {
475     VkPhysicalDevice physicalDevice;
476     VkPhysicalDeviceProperties* pProperties;
477 };
478 
479 struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties {
480     VkPhysicalDevice physicalDevice;
481     uint32_t* pQueueFamilyPropertyCount;
482     VkQueueFamilyProperties* pQueueFamilyProperties;
483 };
484 
485 struct vn_command_vkGetPhysicalDeviceMemoryProperties {
486     VkPhysicalDevice physicalDevice;
487     VkPhysicalDeviceMemoryProperties* pMemoryProperties;
488 };
489 
490 struct vn_command_vkGetPhysicalDeviceFeatures {
491     VkPhysicalDevice physicalDevice;
492     VkPhysicalDeviceFeatures* pFeatures;
493 };
494 
495 struct vn_command_vkGetPhysicalDeviceFormatProperties {
496     VkPhysicalDevice physicalDevice;
497     VkFormat format;
498     VkFormatProperties* pFormatProperties;
499 };
500 
501 struct vn_command_vkGetPhysicalDeviceImageFormatProperties {
502     VkPhysicalDevice physicalDevice;
503     VkFormat format;
504     VkImageType type;
505     VkImageTiling tiling;
506     VkImageUsageFlags usage;
507     VkImageCreateFlags flags;
508     VkImageFormatProperties* pImageFormatProperties;
509 
510     VkResult ret;
511 };
512 
513 struct vn_command_vkCreateDevice {
514     VkPhysicalDevice physicalDevice;
515     const VkDeviceCreateInfo* pCreateInfo;
516     const VkAllocationCallbacks* pAllocator;
517     VkDevice* pDevice;
518 
519     VkResult ret;
520 };
521 
522 struct vn_command_vkDestroyDevice {
523     VkDevice device;
524     const VkAllocationCallbacks* pAllocator;
525 };
526 
527 struct vn_command_vkEnumerateInstanceVersion {
528     uint32_t* pApiVersion;
529 
530     VkResult ret;
531 };
532 
533 struct vn_command_vkEnumerateInstanceLayerProperties {
534     uint32_t* pPropertyCount;
535     VkLayerProperties* pProperties;
536 
537     VkResult ret;
538 };
539 
540 struct vn_command_vkEnumerateInstanceExtensionProperties {
541     const char* pLayerName;
542     uint32_t* pPropertyCount;
543     VkExtensionProperties* pProperties;
544 
545     VkResult ret;
546 };
547 
548 struct vn_command_vkEnumerateDeviceLayerProperties {
549     VkPhysicalDevice physicalDevice;
550     uint32_t* pPropertyCount;
551     VkLayerProperties* pProperties;
552 
553     VkResult ret;
554 };
555 
556 struct vn_command_vkEnumerateDeviceExtensionProperties {
557     VkPhysicalDevice physicalDevice;
558     const char* pLayerName;
559     uint32_t* pPropertyCount;
560     VkExtensionProperties* pProperties;
561 
562     VkResult ret;
563 };
564 
565 struct vn_command_vkGetDeviceQueue {
566     VkDevice device;
567     uint32_t queueFamilyIndex;
568     uint32_t queueIndex;
569     VkQueue* pQueue;
570 };
571 
572 struct vn_command_vkQueueSubmit {
573     VkQueue queue;
574     uint32_t submitCount;
575     const VkSubmitInfo* pSubmits;
576     VkFence fence;
577 
578     VkResult ret;
579 };
580 
581 struct vn_command_vkQueueWaitIdle {
582     VkQueue queue;
583 
584     VkResult ret;
585 };
586 
587 struct vn_command_vkDeviceWaitIdle {
588     VkDevice device;
589 
590     VkResult ret;
591 };
592 
593 struct vn_command_vkAllocateMemory {
594     VkDevice device;
595     const VkMemoryAllocateInfo* pAllocateInfo;
596     const VkAllocationCallbacks* pAllocator;
597     VkDeviceMemory* pMemory;
598 
599     VkResult ret;
600 };
601 
602 struct vn_command_vkFreeMemory {
603     VkDevice device;
604     VkDeviceMemory memory;
605     const VkAllocationCallbacks* pAllocator;
606 };
607 
608 struct vn_command_vkMapMemory {
609     VkDevice device;
610     VkDeviceMemory memory;
611     VkDeviceSize offset;
612     VkDeviceSize size;
613     VkMemoryMapFlags flags;
614     void** ppData;
615 
616     VkResult ret;
617 };
618 
619 struct vn_command_vkUnmapMemory {
620     VkDevice device;
621     VkDeviceMemory memory;
622 };
623 
624 struct vn_command_vkFlushMappedMemoryRanges {
625     VkDevice device;
626     uint32_t memoryRangeCount;
627     const VkMappedMemoryRange* pMemoryRanges;
628 
629     VkResult ret;
630 };
631 
632 struct vn_command_vkInvalidateMappedMemoryRanges {
633     VkDevice device;
634     uint32_t memoryRangeCount;
635     const VkMappedMemoryRange* pMemoryRanges;
636 
637     VkResult ret;
638 };
639 
640 struct vn_command_vkGetDeviceMemoryCommitment {
641     VkDevice device;
642     VkDeviceMemory memory;
643     VkDeviceSize* pCommittedMemoryInBytes;
644 };
645 
646 struct vn_command_vkGetBufferMemoryRequirements {
647     VkDevice device;
648     VkBuffer buffer;
649     VkMemoryRequirements* pMemoryRequirements;
650 };
651 
652 struct vn_command_vkBindBufferMemory {
653     VkDevice device;
654     VkBuffer buffer;
655     VkDeviceMemory memory;
656     VkDeviceSize memoryOffset;
657 
658     VkResult ret;
659 };
660 
661 struct vn_command_vkGetImageMemoryRequirements {
662     VkDevice device;
663     VkImage image;
664     VkMemoryRequirements* pMemoryRequirements;
665 };
666 
667 struct vn_command_vkBindImageMemory {
668     VkDevice device;
669     VkImage image;
670     VkDeviceMemory memory;
671     VkDeviceSize memoryOffset;
672 
673     VkResult ret;
674 };
675 
676 struct vn_command_vkGetImageSparseMemoryRequirements {
677     VkDevice device;
678     VkImage image;
679     uint32_t* pSparseMemoryRequirementCount;
680     VkSparseImageMemoryRequirements* pSparseMemoryRequirements;
681 };
682 
683 struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties {
684     VkPhysicalDevice physicalDevice;
685     VkFormat format;
686     VkImageType type;
687     VkSampleCountFlagBits samples;
688     VkImageUsageFlags usage;
689     VkImageTiling tiling;
690     uint32_t* pPropertyCount;
691     VkSparseImageFormatProperties* pProperties;
692 };
693 
694 struct vn_command_vkQueueBindSparse {
695     VkQueue queue;
696     uint32_t bindInfoCount;
697     const VkBindSparseInfo* pBindInfo;
698     VkFence fence;
699 
700     VkResult ret;
701 };
702 
703 struct vn_command_vkCreateFence {
704     VkDevice device;
705     const VkFenceCreateInfo* pCreateInfo;
706     const VkAllocationCallbacks* pAllocator;
707     VkFence* pFence;
708 
709     VkResult ret;
710 };
711 
712 struct vn_command_vkDestroyFence {
713     VkDevice device;
714     VkFence fence;
715     const VkAllocationCallbacks* pAllocator;
716 };
717 
718 struct vn_command_vkResetFences {
719     VkDevice device;
720     uint32_t fenceCount;
721     const VkFence* pFences;
722 
723     VkResult ret;
724 };
725 
726 struct vn_command_vkGetFenceStatus {
727     VkDevice device;
728     VkFence fence;
729 
730     VkResult ret;
731 };
732 
733 struct vn_command_vkWaitForFences {
734     VkDevice device;
735     uint32_t fenceCount;
736     const VkFence* pFences;
737     VkBool32 waitAll;
738     uint64_t timeout;
739 
740     VkResult ret;
741 };
742 
743 struct vn_command_vkCreateSemaphore {
744     VkDevice device;
745     const VkSemaphoreCreateInfo* pCreateInfo;
746     const VkAllocationCallbacks* pAllocator;
747     VkSemaphore* pSemaphore;
748 
749     VkResult ret;
750 };
751 
752 struct vn_command_vkDestroySemaphore {
753     VkDevice device;
754     VkSemaphore semaphore;
755     const VkAllocationCallbacks* pAllocator;
756 };
757 
758 struct vn_command_vkCreateEvent {
759     VkDevice device;
760     const VkEventCreateInfo* pCreateInfo;
761     const VkAllocationCallbacks* pAllocator;
762     VkEvent* pEvent;
763 
764     VkResult ret;
765 };
766 
767 struct vn_command_vkDestroyEvent {
768     VkDevice device;
769     VkEvent event;
770     const VkAllocationCallbacks* pAllocator;
771 };
772 
773 struct vn_command_vkGetEventStatus {
774     VkDevice device;
775     VkEvent event;
776 
777     VkResult ret;
778 };
779 
780 struct vn_command_vkSetEvent {
781     VkDevice device;
782     VkEvent event;
783 
784     VkResult ret;
785 };
786 
787 struct vn_command_vkResetEvent {
788     VkDevice device;
789     VkEvent event;
790 
791     VkResult ret;
792 };
793 
794 struct vn_command_vkCreateQueryPool {
795     VkDevice device;
796     const VkQueryPoolCreateInfo* pCreateInfo;
797     const VkAllocationCallbacks* pAllocator;
798     VkQueryPool* pQueryPool;
799 
800     VkResult ret;
801 };
802 
803 struct vn_command_vkDestroyQueryPool {
804     VkDevice device;
805     VkQueryPool queryPool;
806     const VkAllocationCallbacks* pAllocator;
807 };
808 
809 struct vn_command_vkGetQueryPoolResults {
810     VkDevice device;
811     VkQueryPool queryPool;
812     uint32_t firstQuery;
813     uint32_t queryCount;
814     size_t dataSize;
815     void* pData;
816     VkDeviceSize stride;
817     VkQueryResultFlags flags;
818 
819     VkResult ret;
820 };
821 
822 struct vn_command_vkResetQueryPool {
823     VkDevice device;
824     VkQueryPool queryPool;
825     uint32_t firstQuery;
826     uint32_t queryCount;
827 };
828 
829 struct vn_command_vkCreateBuffer {
830     VkDevice device;
831     const VkBufferCreateInfo* pCreateInfo;
832     const VkAllocationCallbacks* pAllocator;
833     VkBuffer* pBuffer;
834 
835     VkResult ret;
836 };
837 
838 struct vn_command_vkDestroyBuffer {
839     VkDevice device;
840     VkBuffer buffer;
841     const VkAllocationCallbacks* pAllocator;
842 };
843 
844 struct vn_command_vkCreateBufferView {
845     VkDevice device;
846     const VkBufferViewCreateInfo* pCreateInfo;
847     const VkAllocationCallbacks* pAllocator;
848     VkBufferView* pView;
849 
850     VkResult ret;
851 };
852 
853 struct vn_command_vkDestroyBufferView {
854     VkDevice device;
855     VkBufferView bufferView;
856     const VkAllocationCallbacks* pAllocator;
857 };
858 
859 struct vn_command_vkCreateImage {
860     VkDevice device;
861     const VkImageCreateInfo* pCreateInfo;
862     const VkAllocationCallbacks* pAllocator;
863     VkImage* pImage;
864 
865     VkResult ret;
866 };
867 
868 struct vn_command_vkDestroyImage {
869     VkDevice device;
870     VkImage image;
871     const VkAllocationCallbacks* pAllocator;
872 };
873 
874 struct vn_command_vkGetImageSubresourceLayout {
875     VkDevice device;
876     VkImage image;
877     const VkImageSubresource* pSubresource;
878     VkSubresourceLayout* pLayout;
879 };
880 
881 struct vn_command_vkCreateImageView {
882     VkDevice device;
883     const VkImageViewCreateInfo* pCreateInfo;
884     const VkAllocationCallbacks* pAllocator;
885     VkImageView* pView;
886 
887     VkResult ret;
888 };
889 
890 struct vn_command_vkDestroyImageView {
891     VkDevice device;
892     VkImageView imageView;
893     const VkAllocationCallbacks* pAllocator;
894 };
895 
896 struct vn_command_vkCreateShaderModule {
897     VkDevice device;
898     const VkShaderModuleCreateInfo* pCreateInfo;
899     const VkAllocationCallbacks* pAllocator;
900     VkShaderModule* pShaderModule;
901 
902     VkResult ret;
903 };
904 
905 struct vn_command_vkDestroyShaderModule {
906     VkDevice device;
907     VkShaderModule shaderModule;
908     const VkAllocationCallbacks* pAllocator;
909 };
910 
911 struct vn_command_vkCreatePipelineCache {
912     VkDevice device;
913     const VkPipelineCacheCreateInfo* pCreateInfo;
914     const VkAllocationCallbacks* pAllocator;
915     VkPipelineCache* pPipelineCache;
916 
917     VkResult ret;
918 };
919 
920 struct vn_command_vkDestroyPipelineCache {
921     VkDevice device;
922     VkPipelineCache pipelineCache;
923     const VkAllocationCallbacks* pAllocator;
924 };
925 
926 struct vn_command_vkGetPipelineCacheData {
927     VkDevice device;
928     VkPipelineCache pipelineCache;
929     size_t* pDataSize;
930     void* pData;
931 
932     VkResult ret;
933 };
934 
935 struct vn_command_vkMergePipelineCaches {
936     VkDevice device;
937     VkPipelineCache dstCache;
938     uint32_t srcCacheCount;
939     const VkPipelineCache* pSrcCaches;
940 
941     VkResult ret;
942 };
943 
944 struct vn_command_vkCreateGraphicsPipelines {
945     VkDevice device;
946     VkPipelineCache pipelineCache;
947     uint32_t createInfoCount;
948     const VkGraphicsPipelineCreateInfo* pCreateInfos;
949     const VkAllocationCallbacks* pAllocator;
950     VkPipeline* pPipelines;
951 
952     VkResult ret;
953 };
954 
955 struct vn_command_vkCreateComputePipelines {
956     VkDevice device;
957     VkPipelineCache pipelineCache;
958     uint32_t createInfoCount;
959     const VkComputePipelineCreateInfo* pCreateInfos;
960     const VkAllocationCallbacks* pAllocator;
961     VkPipeline* pPipelines;
962 
963     VkResult ret;
964 };
965 
966 struct vn_command_vkDestroyPipeline {
967     VkDevice device;
968     VkPipeline pipeline;
969     const VkAllocationCallbacks* pAllocator;
970 };
971 
972 struct vn_command_vkCreatePipelineLayout {
973     VkDevice device;
974     const VkPipelineLayoutCreateInfo* pCreateInfo;
975     const VkAllocationCallbacks* pAllocator;
976     VkPipelineLayout* pPipelineLayout;
977 
978     VkResult ret;
979 };
980 
981 struct vn_command_vkDestroyPipelineLayout {
982     VkDevice device;
983     VkPipelineLayout pipelineLayout;
984     const VkAllocationCallbacks* pAllocator;
985 };
986 
987 struct vn_command_vkCreateSampler {
988     VkDevice device;
989     const VkSamplerCreateInfo* pCreateInfo;
990     const VkAllocationCallbacks* pAllocator;
991     VkSampler* pSampler;
992 
993     VkResult ret;
994 };
995 
996 struct vn_command_vkDestroySampler {
997     VkDevice device;
998     VkSampler sampler;
999     const VkAllocationCallbacks* pAllocator;
1000 };
1001 
1002 struct vn_command_vkCreateDescriptorSetLayout {
1003     VkDevice device;
1004     const VkDescriptorSetLayoutCreateInfo* pCreateInfo;
1005     const VkAllocationCallbacks* pAllocator;
1006     VkDescriptorSetLayout* pSetLayout;
1007 
1008     VkResult ret;
1009 };
1010 
1011 struct vn_command_vkDestroyDescriptorSetLayout {
1012     VkDevice device;
1013     VkDescriptorSetLayout descriptorSetLayout;
1014     const VkAllocationCallbacks* pAllocator;
1015 };
1016 
1017 struct vn_command_vkCreateDescriptorPool {
1018     VkDevice device;
1019     const VkDescriptorPoolCreateInfo* pCreateInfo;
1020     const VkAllocationCallbacks* pAllocator;
1021     VkDescriptorPool* pDescriptorPool;
1022 
1023     VkResult ret;
1024 };
1025 
1026 struct vn_command_vkDestroyDescriptorPool {
1027     VkDevice device;
1028     VkDescriptorPool descriptorPool;
1029     const VkAllocationCallbacks* pAllocator;
1030 };
1031 
1032 struct vn_command_vkResetDescriptorPool {
1033     VkDevice device;
1034     VkDescriptorPool descriptorPool;
1035     VkDescriptorPoolResetFlags flags;
1036 
1037     VkResult ret;
1038 };
1039 
1040 struct vn_command_vkAllocateDescriptorSets {
1041     VkDevice device;
1042     const VkDescriptorSetAllocateInfo* pAllocateInfo;
1043     VkDescriptorSet* pDescriptorSets;
1044 
1045     VkResult ret;
1046 };
1047 
1048 struct vn_command_vkFreeDescriptorSets {
1049     VkDevice device;
1050     VkDescriptorPool descriptorPool;
1051     uint32_t descriptorSetCount;
1052     const VkDescriptorSet* pDescriptorSets;
1053 
1054     VkResult ret;
1055 };
1056 
1057 struct vn_command_vkUpdateDescriptorSets {
1058     VkDevice device;
1059     uint32_t descriptorWriteCount;
1060     const VkWriteDescriptorSet* pDescriptorWrites;
1061     uint32_t descriptorCopyCount;
1062     const VkCopyDescriptorSet* pDescriptorCopies;
1063 };
1064 
1065 struct vn_command_vkCreateFramebuffer {
1066     VkDevice device;
1067     const VkFramebufferCreateInfo* pCreateInfo;
1068     const VkAllocationCallbacks* pAllocator;
1069     VkFramebuffer* pFramebuffer;
1070 
1071     VkResult ret;
1072 };
1073 
1074 struct vn_command_vkDestroyFramebuffer {
1075     VkDevice device;
1076     VkFramebuffer framebuffer;
1077     const VkAllocationCallbacks* pAllocator;
1078 };
1079 
1080 struct vn_command_vkCreateRenderPass {
1081     VkDevice device;
1082     const VkRenderPassCreateInfo* pCreateInfo;
1083     const VkAllocationCallbacks* pAllocator;
1084     VkRenderPass* pRenderPass;
1085 
1086     VkResult ret;
1087 };
1088 
1089 struct vn_command_vkDestroyRenderPass {
1090     VkDevice device;
1091     VkRenderPass renderPass;
1092     const VkAllocationCallbacks* pAllocator;
1093 };
1094 
1095 struct vn_command_vkGetRenderAreaGranularity {
1096     VkDevice device;
1097     VkRenderPass renderPass;
1098     VkExtent2D* pGranularity;
1099 };
1100 
1101 struct vn_command_vkCreateCommandPool {
1102     VkDevice device;
1103     const VkCommandPoolCreateInfo* pCreateInfo;
1104     const VkAllocationCallbacks* pAllocator;
1105     VkCommandPool* pCommandPool;
1106 
1107     VkResult ret;
1108 };
1109 
1110 struct vn_command_vkDestroyCommandPool {
1111     VkDevice device;
1112     VkCommandPool commandPool;
1113     const VkAllocationCallbacks* pAllocator;
1114 };
1115 
1116 struct vn_command_vkResetCommandPool {
1117     VkDevice device;
1118     VkCommandPool commandPool;
1119     VkCommandPoolResetFlags flags;
1120 
1121     VkResult ret;
1122 };
1123 
1124 struct vn_command_vkAllocateCommandBuffers {
1125     VkDevice device;
1126     const VkCommandBufferAllocateInfo* pAllocateInfo;
1127     VkCommandBuffer* pCommandBuffers;
1128 
1129     VkResult ret;
1130 };
1131 
1132 struct vn_command_vkFreeCommandBuffers {
1133     VkDevice device;
1134     VkCommandPool commandPool;
1135     uint32_t commandBufferCount;
1136     const VkCommandBuffer* pCommandBuffers;
1137 };
1138 
1139 struct vn_command_vkBeginCommandBuffer {
1140     VkCommandBuffer commandBuffer;
1141     const VkCommandBufferBeginInfo* pBeginInfo;
1142 
1143     VkResult ret;
1144 };
1145 
1146 struct vn_command_vkEndCommandBuffer {
1147     VkCommandBuffer commandBuffer;
1148 
1149     VkResult ret;
1150 };
1151 
1152 struct vn_command_vkResetCommandBuffer {
1153     VkCommandBuffer commandBuffer;
1154     VkCommandBufferResetFlags flags;
1155 
1156     VkResult ret;
1157 };
1158 
1159 struct vn_command_vkCmdBindPipeline {
1160     VkCommandBuffer commandBuffer;
1161     VkPipelineBindPoint pipelineBindPoint;
1162     VkPipeline pipeline;
1163 };
1164 
1165 struct vn_command_vkCmdSetViewport {
1166     VkCommandBuffer commandBuffer;
1167     uint32_t firstViewport;
1168     uint32_t viewportCount;
1169     const VkViewport* pViewports;
1170 };
1171 
1172 struct vn_command_vkCmdSetScissor {
1173     VkCommandBuffer commandBuffer;
1174     uint32_t firstScissor;
1175     uint32_t scissorCount;
1176     const VkRect2D* pScissors;
1177 };
1178 
1179 struct vn_command_vkCmdSetLineWidth {
1180     VkCommandBuffer commandBuffer;
1181     float lineWidth;
1182 };
1183 
1184 struct vn_command_vkCmdSetDepthBias {
1185     VkCommandBuffer commandBuffer;
1186     float depthBiasConstantFactor;
1187     float depthBiasClamp;
1188     float depthBiasSlopeFactor;
1189 };
1190 
1191 struct vn_command_vkCmdSetBlendConstants {
1192     VkCommandBuffer commandBuffer;
1193     const float blendConstants[4];
1194 };
1195 
1196 struct vn_command_vkCmdSetDepthBounds {
1197     VkCommandBuffer commandBuffer;
1198     float minDepthBounds;
1199     float maxDepthBounds;
1200 };
1201 
1202 struct vn_command_vkCmdSetStencilCompareMask {
1203     VkCommandBuffer commandBuffer;
1204     VkStencilFaceFlags faceMask;
1205     uint32_t compareMask;
1206 };
1207 
1208 struct vn_command_vkCmdSetStencilWriteMask {
1209     VkCommandBuffer commandBuffer;
1210     VkStencilFaceFlags faceMask;
1211     uint32_t writeMask;
1212 };
1213 
1214 struct vn_command_vkCmdSetStencilReference {
1215     VkCommandBuffer commandBuffer;
1216     VkStencilFaceFlags faceMask;
1217     uint32_t reference;
1218 };
1219 
1220 struct vn_command_vkCmdBindDescriptorSets {
1221     VkCommandBuffer commandBuffer;
1222     VkPipelineBindPoint pipelineBindPoint;
1223     VkPipelineLayout layout;
1224     uint32_t firstSet;
1225     uint32_t descriptorSetCount;
1226     const VkDescriptorSet* pDescriptorSets;
1227     uint32_t dynamicOffsetCount;
1228     const uint32_t* pDynamicOffsets;
1229 };
1230 
1231 struct vn_command_vkCmdBindIndexBuffer {
1232     VkCommandBuffer commandBuffer;
1233     VkBuffer buffer;
1234     VkDeviceSize offset;
1235     VkIndexType indexType;
1236 };
1237 
1238 struct vn_command_vkCmdBindVertexBuffers {
1239     VkCommandBuffer commandBuffer;
1240     uint32_t firstBinding;
1241     uint32_t bindingCount;
1242     const VkBuffer* pBuffers;
1243     const VkDeviceSize* pOffsets;
1244 };
1245 
1246 struct vn_command_vkCmdDraw {
1247     VkCommandBuffer commandBuffer;
1248     uint32_t vertexCount;
1249     uint32_t instanceCount;
1250     uint32_t firstVertex;
1251     uint32_t firstInstance;
1252 };
1253 
1254 struct vn_command_vkCmdDrawIndexed {
1255     VkCommandBuffer commandBuffer;
1256     uint32_t indexCount;
1257     uint32_t instanceCount;
1258     uint32_t firstIndex;
1259     int32_t vertexOffset;
1260     uint32_t firstInstance;
1261 };
1262 
1263 struct vn_command_vkCmdDrawMultiEXT {
1264     VkCommandBuffer commandBuffer;
1265     uint32_t drawCount;
1266     const VkMultiDrawInfoEXT* pVertexInfo;
1267     uint32_t instanceCount;
1268     uint32_t firstInstance;
1269     uint32_t stride;
1270 };
1271 
1272 struct vn_command_vkCmdDrawMultiIndexedEXT {
1273     VkCommandBuffer commandBuffer;
1274     uint32_t drawCount;
1275     const VkMultiDrawIndexedInfoEXT* pIndexInfo;
1276     uint32_t instanceCount;
1277     uint32_t firstInstance;
1278     uint32_t stride;
1279     const int32_t* pVertexOffset;
1280 };
1281 
1282 struct vn_command_vkCmdDrawIndirect {
1283     VkCommandBuffer commandBuffer;
1284     VkBuffer buffer;
1285     VkDeviceSize offset;
1286     uint32_t drawCount;
1287     uint32_t stride;
1288 };
1289 
1290 struct vn_command_vkCmdDrawIndexedIndirect {
1291     VkCommandBuffer commandBuffer;
1292     VkBuffer buffer;
1293     VkDeviceSize offset;
1294     uint32_t drawCount;
1295     uint32_t stride;
1296 };
1297 
1298 struct vn_command_vkCmdDispatch {
1299     VkCommandBuffer commandBuffer;
1300     uint32_t groupCountX;
1301     uint32_t groupCountY;
1302     uint32_t groupCountZ;
1303 };
1304 
1305 struct vn_command_vkCmdDispatchIndirect {
1306     VkCommandBuffer commandBuffer;
1307     VkBuffer buffer;
1308     VkDeviceSize offset;
1309 };
1310 
1311 struct vn_command_vkCmdCopyBuffer {
1312     VkCommandBuffer commandBuffer;
1313     VkBuffer srcBuffer;
1314     VkBuffer dstBuffer;
1315     uint32_t regionCount;
1316     const VkBufferCopy* pRegions;
1317 };
1318 
1319 struct vn_command_vkCmdCopyImage {
1320     VkCommandBuffer commandBuffer;
1321     VkImage srcImage;
1322     VkImageLayout srcImageLayout;
1323     VkImage dstImage;
1324     VkImageLayout dstImageLayout;
1325     uint32_t regionCount;
1326     const VkImageCopy* pRegions;
1327 };
1328 
1329 struct vn_command_vkCmdBlitImage {
1330     VkCommandBuffer commandBuffer;
1331     VkImage srcImage;
1332     VkImageLayout srcImageLayout;
1333     VkImage dstImage;
1334     VkImageLayout dstImageLayout;
1335     uint32_t regionCount;
1336     const VkImageBlit* pRegions;
1337     VkFilter filter;
1338 };
1339 
1340 struct vn_command_vkCmdCopyBufferToImage {
1341     VkCommandBuffer commandBuffer;
1342     VkBuffer srcBuffer;
1343     VkImage dstImage;
1344     VkImageLayout dstImageLayout;
1345     uint32_t regionCount;
1346     const VkBufferImageCopy* pRegions;
1347 };
1348 
1349 struct vn_command_vkCmdCopyImageToBuffer {
1350     VkCommandBuffer commandBuffer;
1351     VkImage srcImage;
1352     VkImageLayout srcImageLayout;
1353     VkBuffer dstBuffer;
1354     uint32_t regionCount;
1355     const VkBufferImageCopy* pRegions;
1356 };
1357 
1358 struct vn_command_vkCmdUpdateBuffer {
1359     VkCommandBuffer commandBuffer;
1360     VkBuffer dstBuffer;
1361     VkDeviceSize dstOffset;
1362     VkDeviceSize dataSize;
1363     const void* pData;
1364 };
1365 
1366 struct vn_command_vkCmdFillBuffer {
1367     VkCommandBuffer commandBuffer;
1368     VkBuffer dstBuffer;
1369     VkDeviceSize dstOffset;
1370     VkDeviceSize size;
1371     uint32_t data;
1372 };
1373 
1374 struct vn_command_vkCmdClearColorImage {
1375     VkCommandBuffer commandBuffer;
1376     VkImage image;
1377     VkImageLayout imageLayout;
1378     const VkClearColorValue* pColor;
1379     uint32_t rangeCount;
1380     const VkImageSubresourceRange* pRanges;
1381 };
1382 
1383 struct vn_command_vkCmdClearDepthStencilImage {
1384     VkCommandBuffer commandBuffer;
1385     VkImage image;
1386     VkImageLayout imageLayout;
1387     const VkClearDepthStencilValue* pDepthStencil;
1388     uint32_t rangeCount;
1389     const VkImageSubresourceRange* pRanges;
1390 };
1391 
1392 struct vn_command_vkCmdClearAttachments {
1393     VkCommandBuffer commandBuffer;
1394     uint32_t attachmentCount;
1395     const VkClearAttachment* pAttachments;
1396     uint32_t rectCount;
1397     const VkClearRect* pRects;
1398 };
1399 
1400 struct vn_command_vkCmdResolveImage {
1401     VkCommandBuffer commandBuffer;
1402     VkImage srcImage;
1403     VkImageLayout srcImageLayout;
1404     VkImage dstImage;
1405     VkImageLayout dstImageLayout;
1406     uint32_t regionCount;
1407     const VkImageResolve* pRegions;
1408 };
1409 
1410 struct vn_command_vkCmdSetEvent {
1411     VkCommandBuffer commandBuffer;
1412     VkEvent event;
1413     VkPipelineStageFlags stageMask;
1414 };
1415 
1416 struct vn_command_vkCmdResetEvent {
1417     VkCommandBuffer commandBuffer;
1418     VkEvent event;
1419     VkPipelineStageFlags stageMask;
1420 };
1421 
1422 struct vn_command_vkCmdWaitEvents {
1423     VkCommandBuffer commandBuffer;
1424     uint32_t eventCount;
1425     const VkEvent* pEvents;
1426     VkPipelineStageFlags srcStageMask;
1427     VkPipelineStageFlags dstStageMask;
1428     uint32_t memoryBarrierCount;
1429     const VkMemoryBarrier* pMemoryBarriers;
1430     uint32_t bufferMemoryBarrierCount;
1431     const VkBufferMemoryBarrier* pBufferMemoryBarriers;
1432     uint32_t imageMemoryBarrierCount;
1433     const VkImageMemoryBarrier* pImageMemoryBarriers;
1434 };
1435 
1436 struct vn_command_vkCmdPipelineBarrier {
1437     VkCommandBuffer commandBuffer;
1438     VkPipelineStageFlags srcStageMask;
1439     VkPipelineStageFlags dstStageMask;
1440     VkDependencyFlags dependencyFlags;
1441     uint32_t memoryBarrierCount;
1442     const VkMemoryBarrier* pMemoryBarriers;
1443     uint32_t bufferMemoryBarrierCount;
1444     const VkBufferMemoryBarrier* pBufferMemoryBarriers;
1445     uint32_t imageMemoryBarrierCount;
1446     const VkImageMemoryBarrier* pImageMemoryBarriers;
1447 };
1448 
1449 struct vn_command_vkCmdBeginQuery {
1450     VkCommandBuffer commandBuffer;
1451     VkQueryPool queryPool;
1452     uint32_t query;
1453     VkQueryControlFlags flags;
1454 };
1455 
1456 struct vn_command_vkCmdEndQuery {
1457     VkCommandBuffer commandBuffer;
1458     VkQueryPool queryPool;
1459     uint32_t query;
1460 };
1461 
1462 struct vn_command_vkCmdBeginConditionalRenderingEXT {
1463     VkCommandBuffer commandBuffer;
1464     const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin;
1465 };
1466 
1467 struct vn_command_vkCmdEndConditionalRenderingEXT {
1468     VkCommandBuffer commandBuffer;
1469 };
1470 
1471 struct vn_command_vkCmdResetQueryPool {
1472     VkCommandBuffer commandBuffer;
1473     VkQueryPool queryPool;
1474     uint32_t firstQuery;
1475     uint32_t queryCount;
1476 };
1477 
1478 struct vn_command_vkCmdWriteTimestamp {
1479     VkCommandBuffer commandBuffer;
1480     VkPipelineStageFlagBits pipelineStage;
1481     VkQueryPool queryPool;
1482     uint32_t query;
1483 };
1484 
1485 struct vn_command_vkCmdCopyQueryPoolResults {
1486     VkCommandBuffer commandBuffer;
1487     VkQueryPool queryPool;
1488     uint32_t firstQuery;
1489     uint32_t queryCount;
1490     VkBuffer dstBuffer;
1491     VkDeviceSize dstOffset;
1492     VkDeviceSize stride;
1493     VkQueryResultFlags flags;
1494 };
1495 
1496 struct vn_command_vkCmdPushConstants {
1497     VkCommandBuffer commandBuffer;
1498     VkPipelineLayout layout;
1499     VkShaderStageFlags stageFlags;
1500     uint32_t offset;
1501     uint32_t size;
1502     const void* pValues;
1503 };
1504 
1505 struct vn_command_vkCmdBeginRenderPass {
1506     VkCommandBuffer commandBuffer;
1507     const VkRenderPassBeginInfo* pRenderPassBegin;
1508     VkSubpassContents contents;
1509 };
1510 
1511 struct vn_command_vkCmdNextSubpass {
1512     VkCommandBuffer commandBuffer;
1513     VkSubpassContents contents;
1514 };
1515 
1516 struct vn_command_vkCmdEndRenderPass {
1517     VkCommandBuffer commandBuffer;
1518 };
1519 
1520 struct vn_command_vkCmdExecuteCommands {
1521     VkCommandBuffer commandBuffer;
1522     uint32_t commandBufferCount;
1523     const VkCommandBuffer* pCommandBuffers;
1524 };
1525 
1526 struct vn_command_vkGetPhysicalDeviceFeatures2 {
1527     VkPhysicalDevice physicalDevice;
1528     VkPhysicalDeviceFeatures2* pFeatures;
1529 };
1530 
1531 struct vn_command_vkGetPhysicalDeviceProperties2 {
1532     VkPhysicalDevice physicalDevice;
1533     VkPhysicalDeviceProperties2* pProperties;
1534 };
1535 
1536 struct vn_command_vkGetPhysicalDeviceFormatProperties2 {
1537     VkPhysicalDevice physicalDevice;
1538     VkFormat format;
1539     VkFormatProperties2* pFormatProperties;
1540 };
1541 
1542 struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 {
1543     VkPhysicalDevice physicalDevice;
1544     const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo;
1545     VkImageFormatProperties2* pImageFormatProperties;
1546 
1547     VkResult ret;
1548 };
1549 
1550 struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 {
1551     VkPhysicalDevice physicalDevice;
1552     uint32_t* pQueueFamilyPropertyCount;
1553     VkQueueFamilyProperties2* pQueueFamilyProperties;
1554 };
1555 
1556 struct vn_command_vkGetPhysicalDeviceMemoryProperties2 {
1557     VkPhysicalDevice physicalDevice;
1558     VkPhysicalDeviceMemoryProperties2* pMemoryProperties;
1559 };
1560 
1561 struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 {
1562     VkPhysicalDevice physicalDevice;
1563     const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo;
1564     uint32_t* pPropertyCount;
1565     VkSparseImageFormatProperties2* pProperties;
1566 };
1567 
1568 struct vn_command_vkCmdPushDescriptorSetKHR {
1569     VkCommandBuffer commandBuffer;
1570     VkPipelineBindPoint pipelineBindPoint;
1571     VkPipelineLayout layout;
1572     uint32_t set;
1573     uint32_t descriptorWriteCount;
1574     const VkWriteDescriptorSet* pDescriptorWrites;
1575 };
1576 
1577 struct vn_command_vkTrimCommandPool {
1578     VkDevice device;
1579     VkCommandPool commandPool;
1580     VkCommandPoolTrimFlags flags;
1581 };
1582 
1583 struct vn_command_vkGetPhysicalDeviceExternalBufferProperties {
1584     VkPhysicalDevice physicalDevice;
1585     const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo;
1586     VkExternalBufferProperties* pExternalBufferProperties;
1587 };
1588 
1589 struct vn_command_vkGetMemoryFdKHR {
1590     VkDevice device;
1591     const VkMemoryGetFdInfoKHR* pGetFdInfo;
1592     int* pFd;
1593 
1594     VkResult ret;
1595 };
1596 
1597 struct vn_command_vkGetMemoryFdPropertiesKHR {
1598     VkDevice device;
1599     VkExternalMemoryHandleTypeFlagBits handleType;
1600     int fd;
1601     VkMemoryFdPropertiesKHR* pMemoryFdProperties;
1602 
1603     VkResult ret;
1604 };
1605 
1606 struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties {
1607     VkPhysicalDevice physicalDevice;
1608     const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo;
1609     VkExternalSemaphoreProperties* pExternalSemaphoreProperties;
1610 };
1611 
1612 struct vn_command_vkGetSemaphoreFdKHR {
1613     VkDevice device;
1614     const VkSemaphoreGetFdInfoKHR* pGetFdInfo;
1615     int* pFd;
1616 
1617     VkResult ret;
1618 };
1619 
1620 struct vn_command_vkImportSemaphoreFdKHR {
1621     VkDevice device;
1622     const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo;
1623 
1624     VkResult ret;
1625 };
1626 
1627 struct vn_command_vkGetPhysicalDeviceExternalFenceProperties {
1628     VkPhysicalDevice physicalDevice;
1629     const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo;
1630     VkExternalFenceProperties* pExternalFenceProperties;
1631 };
1632 
1633 struct vn_command_vkGetFenceFdKHR {
1634     VkDevice device;
1635     const VkFenceGetFdInfoKHR* pGetFdInfo;
1636     int* pFd;
1637 
1638     VkResult ret;
1639 };
1640 
1641 struct vn_command_vkImportFenceFdKHR {
1642     VkDevice device;
1643     const VkImportFenceFdInfoKHR* pImportFenceFdInfo;
1644 
1645     VkResult ret;
1646 };
1647 
1648 struct vn_command_vkEnumeratePhysicalDeviceGroups {
1649     VkInstance instance;
1650     uint32_t* pPhysicalDeviceGroupCount;
1651     VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties;
1652 
1653     VkResult ret;
1654 };
1655 
1656 struct vn_command_vkGetDeviceGroupPeerMemoryFeatures {
1657     VkDevice device;
1658     uint32_t heapIndex;
1659     uint32_t localDeviceIndex;
1660     uint32_t remoteDeviceIndex;
1661     VkPeerMemoryFeatureFlags* pPeerMemoryFeatures;
1662 };
1663 
1664 struct vn_command_vkBindBufferMemory2 {
1665     VkDevice device;
1666     uint32_t bindInfoCount;
1667     const VkBindBufferMemoryInfo* pBindInfos;
1668 
1669     VkResult ret;
1670 };
1671 
1672 struct vn_command_vkBindImageMemory2 {
1673     VkDevice device;
1674     uint32_t bindInfoCount;
1675     const VkBindImageMemoryInfo* pBindInfos;
1676 
1677     VkResult ret;
1678 };
1679 
1680 struct vn_command_vkCmdSetDeviceMask {
1681     VkCommandBuffer commandBuffer;
1682     uint32_t deviceMask;
1683 };
1684 
1685 struct vn_command_vkCmdDispatchBase {
1686     VkCommandBuffer commandBuffer;
1687     uint32_t baseGroupX;
1688     uint32_t baseGroupY;
1689     uint32_t baseGroupZ;
1690     uint32_t groupCountX;
1691     uint32_t groupCountY;
1692     uint32_t groupCountZ;
1693 };
1694 
1695 struct vn_command_vkCreateDescriptorUpdateTemplate {
1696     VkDevice device;
1697     const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo;
1698     const VkAllocationCallbacks* pAllocator;
1699     VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate;
1700 
1701     VkResult ret;
1702 };
1703 
1704 struct vn_command_vkDestroyDescriptorUpdateTemplate {
1705     VkDevice device;
1706     VkDescriptorUpdateTemplate descriptorUpdateTemplate;
1707     const VkAllocationCallbacks* pAllocator;
1708 };
1709 
1710 struct vn_command_vkUpdateDescriptorSetWithTemplate {
1711     VkDevice device;
1712     VkDescriptorSet descriptorSet;
1713     VkDescriptorUpdateTemplate descriptorUpdateTemplate;
1714     const void* pData;
1715 };
1716 
1717 struct vn_command_vkCmdPushDescriptorSetWithTemplateKHR {
1718     VkCommandBuffer commandBuffer;
1719     VkDescriptorUpdateTemplate descriptorUpdateTemplate;
1720     VkPipelineLayout layout;
1721     uint32_t set;
1722     const void* pData;
1723 };
1724 
1725 struct vn_command_vkGetBufferMemoryRequirements2 {
1726     VkDevice device;
1727     const VkBufferMemoryRequirementsInfo2* pInfo;
1728     VkMemoryRequirements2* pMemoryRequirements;
1729 };
1730 
1731 struct vn_command_vkGetImageMemoryRequirements2 {
1732     VkDevice device;
1733     const VkImageMemoryRequirementsInfo2* pInfo;
1734     VkMemoryRequirements2* pMemoryRequirements;
1735 };
1736 
1737 struct vn_command_vkGetImageSparseMemoryRequirements2 {
1738     VkDevice device;
1739     const VkImageSparseMemoryRequirementsInfo2* pInfo;
1740     uint32_t* pSparseMemoryRequirementCount;
1741     VkSparseImageMemoryRequirements2* pSparseMemoryRequirements;
1742 };
1743 
1744 struct vn_command_vkGetDeviceBufferMemoryRequirements {
1745     VkDevice device;
1746     const VkDeviceBufferMemoryRequirements* pInfo;
1747     VkMemoryRequirements2* pMemoryRequirements;
1748 };
1749 
1750 struct vn_command_vkGetDeviceImageMemoryRequirements {
1751     VkDevice device;
1752     const VkDeviceImageMemoryRequirements* pInfo;
1753     VkMemoryRequirements2* pMemoryRequirements;
1754 };
1755 
1756 struct vn_command_vkGetDeviceImageSparseMemoryRequirements {
1757     VkDevice device;
1758     const VkDeviceImageMemoryRequirements* pInfo;
1759     uint32_t* pSparseMemoryRequirementCount;
1760     VkSparseImageMemoryRequirements2* pSparseMemoryRequirements;
1761 };
1762 
1763 struct vn_command_vkCreateSamplerYcbcrConversion {
1764     VkDevice device;
1765     const VkSamplerYcbcrConversionCreateInfo* pCreateInfo;
1766     const VkAllocationCallbacks* pAllocator;
1767     VkSamplerYcbcrConversion* pYcbcrConversion;
1768 
1769     VkResult ret;
1770 };
1771 
1772 struct vn_command_vkDestroySamplerYcbcrConversion {
1773     VkDevice device;
1774     VkSamplerYcbcrConversion ycbcrConversion;
1775     const VkAllocationCallbacks* pAllocator;
1776 };
1777 
1778 struct vn_command_vkGetDeviceQueue2 {
1779     VkDevice device;
1780     const VkDeviceQueueInfo2* pQueueInfo;
1781     VkQueue* pQueue;
1782 };
1783 
1784 struct vn_command_vkGetDescriptorSetLayoutSupport {
1785     VkDevice device;
1786     const VkDescriptorSetLayoutCreateInfo* pCreateInfo;
1787     VkDescriptorSetLayoutSupport* pSupport;
1788 };
1789 
1790 struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT {
1791     VkPhysicalDevice physicalDevice;
1792     uint32_t* pTimeDomainCount;
1793     VkTimeDomainEXT* pTimeDomains;
1794 
1795     VkResult ret;
1796 };
1797 
1798 struct vn_command_vkGetCalibratedTimestampsEXT {
1799     VkDevice device;
1800     uint32_t timestampCount;
1801     const VkCalibratedTimestampInfoEXT* pTimestampInfos;
1802     uint64_t* pTimestamps;
1803     uint64_t* pMaxDeviation;
1804 
1805     VkResult ret;
1806 };
1807 
1808 struct vn_command_vkCreateRenderPass2 {
1809     VkDevice device;
1810     const VkRenderPassCreateInfo2* pCreateInfo;
1811     const VkAllocationCallbacks* pAllocator;
1812     VkRenderPass* pRenderPass;
1813 
1814     VkResult ret;
1815 };
1816 
1817 struct vn_command_vkCmdBeginRenderPass2 {
1818     VkCommandBuffer commandBuffer;
1819     const VkRenderPassBeginInfo* pRenderPassBegin;
1820     const VkSubpassBeginInfo* pSubpassBeginInfo;
1821 };
1822 
1823 struct vn_command_vkCmdNextSubpass2 {
1824     VkCommandBuffer commandBuffer;
1825     const VkSubpassBeginInfo* pSubpassBeginInfo;
1826     const VkSubpassEndInfo* pSubpassEndInfo;
1827 };
1828 
1829 struct vn_command_vkCmdEndRenderPass2 {
1830     VkCommandBuffer commandBuffer;
1831     const VkSubpassEndInfo* pSubpassEndInfo;
1832 };
1833 
1834 struct vn_command_vkGetSemaphoreCounterValue {
1835     VkDevice device;
1836     VkSemaphore semaphore;
1837     uint64_t* pValue;
1838 
1839     VkResult ret;
1840 };
1841 
1842 struct vn_command_vkWaitSemaphores {
1843     VkDevice device;
1844     const VkSemaphoreWaitInfo* pWaitInfo;
1845     uint64_t timeout;
1846 
1847     VkResult ret;
1848 };
1849 
1850 struct vn_command_vkSignalSemaphore {
1851     VkDevice device;
1852     const VkSemaphoreSignalInfo* pSignalInfo;
1853 
1854     VkResult ret;
1855 };
1856 
1857 struct vn_command_vkCmdDrawIndirectCount {
1858     VkCommandBuffer commandBuffer;
1859     VkBuffer buffer;
1860     VkDeviceSize offset;
1861     VkBuffer countBuffer;
1862     VkDeviceSize countBufferOffset;
1863     uint32_t maxDrawCount;
1864     uint32_t stride;
1865 };
1866 
1867 struct vn_command_vkCmdDrawIndexedIndirectCount {
1868     VkCommandBuffer commandBuffer;
1869     VkBuffer buffer;
1870     VkDeviceSize offset;
1871     VkBuffer countBuffer;
1872     VkDeviceSize countBufferOffset;
1873     uint32_t maxDrawCount;
1874     uint32_t stride;
1875 };
1876 
1877 struct vn_command_vkCmdBindTransformFeedbackBuffersEXT {
1878     VkCommandBuffer commandBuffer;
1879     uint32_t firstBinding;
1880     uint32_t bindingCount;
1881     const VkBuffer* pBuffers;
1882     const VkDeviceSize* pOffsets;
1883     const VkDeviceSize* pSizes;
1884 };
1885 
1886 struct vn_command_vkCmdBeginTransformFeedbackEXT {
1887     VkCommandBuffer commandBuffer;
1888     uint32_t firstCounterBuffer;
1889     uint32_t counterBufferCount;
1890     const VkBuffer* pCounterBuffers;
1891     const VkDeviceSize* pCounterBufferOffsets;
1892 };
1893 
1894 struct vn_command_vkCmdEndTransformFeedbackEXT {
1895     VkCommandBuffer commandBuffer;
1896     uint32_t firstCounterBuffer;
1897     uint32_t counterBufferCount;
1898     const VkBuffer* pCounterBuffers;
1899     const VkDeviceSize* pCounterBufferOffsets;
1900 };
1901 
1902 struct vn_command_vkCmdBeginQueryIndexedEXT {
1903     VkCommandBuffer commandBuffer;
1904     VkQueryPool queryPool;
1905     uint32_t query;
1906     VkQueryControlFlags flags;
1907     uint32_t index;
1908 };
1909 
1910 struct vn_command_vkCmdEndQueryIndexedEXT {
1911     VkCommandBuffer commandBuffer;
1912     VkQueryPool queryPool;
1913     uint32_t query;
1914     uint32_t index;
1915 };
1916 
1917 struct vn_command_vkCmdDrawIndirectByteCountEXT {
1918     VkCommandBuffer commandBuffer;
1919     uint32_t instanceCount;
1920     uint32_t firstInstance;
1921     VkBuffer counterBuffer;
1922     VkDeviceSize counterBufferOffset;
1923     uint32_t counterOffset;
1924     uint32_t vertexStride;
1925 };
1926 
1927 struct vn_command_vkGetImageDrmFormatModifierPropertiesEXT {
1928     VkDevice device;
1929     VkImage image;
1930     VkImageDrmFormatModifierPropertiesEXT* pProperties;
1931 
1932     VkResult ret;
1933 };
1934 
1935 struct vn_command_vkGetBufferOpaqueCaptureAddress {
1936     VkDevice device;
1937     const VkBufferDeviceAddressInfo* pInfo;
1938 
1939     uint64_t ret;
1940 };
1941 
1942 struct vn_command_vkGetBufferDeviceAddress {
1943     VkDevice device;
1944     const VkBufferDeviceAddressInfo* pInfo;
1945 
1946     VkDeviceAddress ret;
1947 };
1948 
1949 struct vn_command_vkGetDeviceMemoryOpaqueCaptureAddress {
1950     VkDevice device;
1951     const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo;
1952 
1953     uint64_t ret;
1954 };
1955 
1956 struct vn_command_vkCmdSetLineStippleEXT {
1957     VkCommandBuffer commandBuffer;
1958     uint32_t lineStippleFactor;
1959     uint16_t lineStipplePattern;
1960 };
1961 
1962 struct vn_command_vkGetPhysicalDeviceToolProperties {
1963     VkPhysicalDevice physicalDevice;
1964     uint32_t* pToolCount;
1965     VkPhysicalDeviceToolProperties* pToolProperties;
1966 
1967     VkResult ret;
1968 };
1969 
1970 struct vn_command_vkCmdSetCullMode {
1971     VkCommandBuffer commandBuffer;
1972     VkCullModeFlags cullMode;
1973 };
1974 
1975 struct vn_command_vkCmdSetFrontFace {
1976     VkCommandBuffer commandBuffer;
1977     VkFrontFace frontFace;
1978 };
1979 
1980 struct vn_command_vkCmdSetPrimitiveTopology {
1981     VkCommandBuffer commandBuffer;
1982     VkPrimitiveTopology primitiveTopology;
1983 };
1984 
1985 struct vn_command_vkCmdSetViewportWithCount {
1986     VkCommandBuffer commandBuffer;
1987     uint32_t viewportCount;
1988     const VkViewport* pViewports;
1989 };
1990 
1991 struct vn_command_vkCmdSetScissorWithCount {
1992     VkCommandBuffer commandBuffer;
1993     uint32_t scissorCount;
1994     const VkRect2D* pScissors;
1995 };
1996 
1997 struct vn_command_vkCmdBindVertexBuffers2 {
1998     VkCommandBuffer commandBuffer;
1999     uint32_t firstBinding;
2000     uint32_t bindingCount;
2001     const VkBuffer* pBuffers;
2002     const VkDeviceSize* pOffsets;
2003     const VkDeviceSize* pSizes;
2004     const VkDeviceSize* pStrides;
2005 };
2006 
2007 struct vn_command_vkCmdSetDepthTestEnable {
2008     VkCommandBuffer commandBuffer;
2009     VkBool32 depthTestEnable;
2010 };
2011 
2012 struct vn_command_vkCmdSetDepthWriteEnable {
2013     VkCommandBuffer commandBuffer;
2014     VkBool32 depthWriteEnable;
2015 };
2016 
2017 struct vn_command_vkCmdSetDepthCompareOp {
2018     VkCommandBuffer commandBuffer;
2019     VkCompareOp depthCompareOp;
2020 };
2021 
2022 struct vn_command_vkCmdSetDepthBoundsTestEnable {
2023     VkCommandBuffer commandBuffer;
2024     VkBool32 depthBoundsTestEnable;
2025 };
2026 
2027 struct vn_command_vkCmdSetStencilTestEnable {
2028     VkCommandBuffer commandBuffer;
2029     VkBool32 stencilTestEnable;
2030 };
2031 
2032 struct vn_command_vkCmdSetStencilOp {
2033     VkCommandBuffer commandBuffer;
2034     VkStencilFaceFlags faceMask;
2035     VkStencilOp failOp;
2036     VkStencilOp passOp;
2037     VkStencilOp depthFailOp;
2038     VkCompareOp compareOp;
2039 };
2040 
2041 struct vn_command_vkCmdSetPatchControlPointsEXT {
2042     VkCommandBuffer commandBuffer;
2043     uint32_t patchControlPoints;
2044 };
2045 
2046 struct vn_command_vkCmdSetRasterizerDiscardEnable {
2047     VkCommandBuffer commandBuffer;
2048     VkBool32 rasterizerDiscardEnable;
2049 };
2050 
2051 struct vn_command_vkCmdSetDepthBiasEnable {
2052     VkCommandBuffer commandBuffer;
2053     VkBool32 depthBiasEnable;
2054 };
2055 
2056 struct vn_command_vkCmdSetLogicOpEXT {
2057     VkCommandBuffer commandBuffer;
2058     VkLogicOp logicOp;
2059 };
2060 
2061 struct vn_command_vkCmdSetPrimitiveRestartEnable {
2062     VkCommandBuffer commandBuffer;
2063     VkBool32 primitiveRestartEnable;
2064 };
2065 
2066 struct vn_command_vkCreatePrivateDataSlot {
2067     VkDevice device;
2068     const VkPrivateDataSlotCreateInfo* pCreateInfo;
2069     const VkAllocationCallbacks* pAllocator;
2070     VkPrivateDataSlot* pPrivateDataSlot;
2071 
2072     VkResult ret;
2073 };
2074 
2075 struct vn_command_vkDestroyPrivateDataSlot {
2076     VkDevice device;
2077     VkPrivateDataSlot privateDataSlot;
2078     const VkAllocationCallbacks* pAllocator;
2079 };
2080 
2081 struct vn_command_vkSetPrivateData {
2082     VkDevice device;
2083     VkObjectType objectType;
2084     uint64_t objectHandle;
2085     VkPrivateDataSlot privateDataSlot;
2086     uint64_t data;
2087 
2088     VkResult ret;
2089 };
2090 
2091 struct vn_command_vkGetPrivateData {
2092     VkDevice device;
2093     VkObjectType objectType;
2094     uint64_t objectHandle;
2095     VkPrivateDataSlot privateDataSlot;
2096     uint64_t* pData;
2097 };
2098 
2099 struct vn_command_vkCmdCopyBuffer2 {
2100     VkCommandBuffer commandBuffer;
2101     const VkCopyBufferInfo2* pCopyBufferInfo;
2102 };
2103 
2104 struct vn_command_vkCmdCopyImage2 {
2105     VkCommandBuffer commandBuffer;
2106     const VkCopyImageInfo2* pCopyImageInfo;
2107 };
2108 
2109 struct vn_command_vkCmdBlitImage2 {
2110     VkCommandBuffer commandBuffer;
2111     const VkBlitImageInfo2* pBlitImageInfo;
2112 };
2113 
2114 struct vn_command_vkCmdCopyBufferToImage2 {
2115     VkCommandBuffer commandBuffer;
2116     const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo;
2117 };
2118 
2119 struct vn_command_vkCmdCopyImageToBuffer2 {
2120     VkCommandBuffer commandBuffer;
2121     const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo;
2122 };
2123 
2124 struct vn_command_vkCmdResolveImage2 {
2125     VkCommandBuffer commandBuffer;
2126     const VkResolveImageInfo2* pResolveImageInfo;
2127 };
2128 
2129 struct vn_command_vkCmdSetEvent2 {
2130     VkCommandBuffer commandBuffer;
2131     VkEvent event;
2132     const VkDependencyInfo* pDependencyInfo;
2133 };
2134 
2135 struct vn_command_vkCmdResetEvent2 {
2136     VkCommandBuffer commandBuffer;
2137     VkEvent event;
2138     VkPipelineStageFlags2 stageMask;
2139 };
2140 
2141 struct vn_command_vkCmdWaitEvents2 {
2142     VkCommandBuffer commandBuffer;
2143     uint32_t eventCount;
2144     const VkEvent* pEvents;
2145     const VkDependencyInfo* pDependencyInfos;
2146 };
2147 
2148 struct vn_command_vkCmdPipelineBarrier2 {
2149     VkCommandBuffer commandBuffer;
2150     const VkDependencyInfo* pDependencyInfo;
2151 };
2152 
2153 struct vn_command_vkQueueSubmit2 {
2154     VkQueue queue;
2155     uint32_t submitCount;
2156     const VkSubmitInfo2* pSubmits;
2157     VkFence fence;
2158 
2159     VkResult ret;
2160 };
2161 
2162 struct vn_command_vkCmdWriteTimestamp2 {
2163     VkCommandBuffer commandBuffer;
2164     VkPipelineStageFlags2 stage;
2165     VkQueryPool queryPool;
2166     uint32_t query;
2167 };
2168 
2169 struct vn_command_vkCmdBeginRendering {
2170     VkCommandBuffer commandBuffer;
2171     const VkRenderingInfo* pRenderingInfo;
2172 };
2173 
2174 struct vn_command_vkCmdEndRendering {
2175     VkCommandBuffer commandBuffer;
2176 };
2177 
2178 struct vn_command_vkSetReplyCommandStreamMESA {
2179     const VkCommandStreamDescriptionMESA* pStream;
2180 };
2181 
2182 struct vn_command_vkSeekReplyCommandStreamMESA {
2183     size_t position;
2184 };
2185 
2186 struct vn_command_vkExecuteCommandStreamsMESA {
2187     uint32_t streamCount;
2188     const VkCommandStreamDescriptionMESA* pStreams;
2189     const size_t* pReplyPositions;
2190     uint32_t dependencyCount;
2191     const VkCommandStreamDependencyMESA* pDependencies;
2192     VkCommandStreamExecutionFlagsMESA flags;
2193 };
2194 
2195 struct vn_command_vkCreateRingMESA {
2196     uint64_t ring;
2197     const VkRingCreateInfoMESA* pCreateInfo;
2198 };
2199 
2200 struct vn_command_vkDestroyRingMESA {
2201     uint64_t ring;
2202 };
2203 
2204 struct vn_command_vkNotifyRingMESA {
2205     uint64_t ring;
2206     uint32_t seqno;
2207     VkRingNotifyFlagsMESA flags;
2208 };
2209 
2210 struct vn_command_vkWriteRingExtraMESA {
2211     uint64_t ring;
2212     size_t offset;
2213     uint32_t value;
2214 };
2215 
2216 struct vn_command_vkGetMemoryResourcePropertiesMESA {
2217     VkDevice device;
2218     uint32_t resourceId;
2219     VkMemoryResourcePropertiesMESA* pMemoryResourceProperties;
2220 
2221     VkResult ret;
2222 };
2223 
2224 struct vn_command_vkResetFenceResource100000MESA {
2225     VkDevice device;
2226     VkFence fence;
2227 };
2228 
2229 struct vn_command_vkWaitSemaphoreResource100000MESA {
2230     VkDevice device;
2231     VkSemaphore semaphore;
2232 };
2233 
2234 struct vn_command_vkImportSemaphoreResource100000MESA {
2235     VkDevice device;
2236     const VkImportSemaphoreResourceInfo100000MESA* pImportSemaphoreResourceInfo;
2237 };
2238 
2239 struct vn_command_vkGetVenusExperimentalFeatureData100000MESA {
2240     size_t* pDataSize;
2241     void* pData;
2242 };
2243 
2244 struct vn_dispatch_context {
2245     void *data;
2246     void (*debug_log)(struct vn_dispatch_context *ctx, const char *msg);
2247 
2248     struct vn_cs_encoder *encoder;
2249     struct vn_cs_decoder *decoder;
2250 
2251     void (*dispatch_vkCreateInstance)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateInstance *args);
2252     void (*dispatch_vkDestroyInstance)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyInstance *args);
2253     void (*dispatch_vkEnumeratePhysicalDevices)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumeratePhysicalDevices *args);
2254     void (*dispatch_vkGetDeviceProcAddr)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceProcAddr *args);
2255     void (*dispatch_vkGetInstanceProcAddr)(struct vn_dispatch_context *ctx, struct vn_command_vkGetInstanceProcAddr *args);
2256     void (*dispatch_vkGetPhysicalDeviceProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceProperties *args);
2257     void (*dispatch_vkGetPhysicalDeviceQueueFamilyProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties *args);
2258     void (*dispatch_vkGetPhysicalDeviceMemoryProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceMemoryProperties *args);
2259     void (*dispatch_vkGetPhysicalDeviceFeatures)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFeatures *args);
2260     void (*dispatch_vkGetPhysicalDeviceFormatProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFormatProperties *args);
2261     void (*dispatch_vkGetPhysicalDeviceImageFormatProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceImageFormatProperties *args);
2262     void (*dispatch_vkCreateDevice)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDevice *args);
2263     void (*dispatch_vkDestroyDevice)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDevice *args);
2264     void (*dispatch_vkEnumerateInstanceVersion)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateInstanceVersion *args);
2265     void (*dispatch_vkEnumerateInstanceLayerProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateInstanceLayerProperties *args);
2266     void (*dispatch_vkEnumerateInstanceExtensionProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateInstanceExtensionProperties *args);
2267     void (*dispatch_vkEnumerateDeviceLayerProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateDeviceLayerProperties *args);
2268     void (*dispatch_vkEnumerateDeviceExtensionProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateDeviceExtensionProperties *args);
2269     void (*dispatch_vkGetDeviceQueue)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceQueue *args);
2270     void (*dispatch_vkQueueSubmit)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueSubmit *args);
2271     void (*dispatch_vkQueueWaitIdle)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueWaitIdle *args);
2272     void (*dispatch_vkDeviceWaitIdle)(struct vn_dispatch_context *ctx, struct vn_command_vkDeviceWaitIdle *args);
2273     void (*dispatch_vkAllocateMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkAllocateMemory *args);
2274     void (*dispatch_vkFreeMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkFreeMemory *args);
2275     void (*dispatch_vkMapMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkMapMemory *args);
2276     void (*dispatch_vkUnmapMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkUnmapMemory *args);
2277     void (*dispatch_vkFlushMappedMemoryRanges)(struct vn_dispatch_context *ctx, struct vn_command_vkFlushMappedMemoryRanges *args);
2278     void (*dispatch_vkInvalidateMappedMemoryRanges)(struct vn_dispatch_context *ctx, struct vn_command_vkInvalidateMappedMemoryRanges *args);
2279     void (*dispatch_vkGetDeviceMemoryCommitment)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceMemoryCommitment *args);
2280     void (*dispatch_vkGetBufferMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferMemoryRequirements *args);
2281     void (*dispatch_vkBindBufferMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkBindBufferMemory *args);
2282     void (*dispatch_vkGetImageMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageMemoryRequirements *args);
2283     void (*dispatch_vkBindImageMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkBindImageMemory *args);
2284     void (*dispatch_vkGetImageSparseMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageSparseMemoryRequirements *args);
2285     void (*dispatch_vkGetPhysicalDeviceSparseImageFormatProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties *args);
2286     void (*dispatch_vkQueueBindSparse)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueBindSparse *args);
2287     void (*dispatch_vkCreateFence)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateFence *args);
2288     void (*dispatch_vkDestroyFence)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyFence *args);
2289     void (*dispatch_vkResetFences)(struct vn_dispatch_context *ctx, struct vn_command_vkResetFences *args);
2290     void (*dispatch_vkGetFenceStatus)(struct vn_dispatch_context *ctx, struct vn_command_vkGetFenceStatus *args);
2291     void (*dispatch_vkWaitForFences)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitForFences *args);
2292     void (*dispatch_vkCreateSemaphore)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateSemaphore *args);
2293     void (*dispatch_vkDestroySemaphore)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroySemaphore *args);
2294     void (*dispatch_vkCreateEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateEvent *args);
2295     void (*dispatch_vkDestroyEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyEvent *args);
2296     void (*dispatch_vkGetEventStatus)(struct vn_dispatch_context *ctx, struct vn_command_vkGetEventStatus *args);
2297     void (*dispatch_vkSetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkSetEvent *args);
2298     void (*dispatch_vkResetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkResetEvent *args);
2299     void (*dispatch_vkCreateQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateQueryPool *args);
2300     void (*dispatch_vkDestroyQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyQueryPool *args);
2301     void (*dispatch_vkGetQueryPoolResults)(struct vn_dispatch_context *ctx, struct vn_command_vkGetQueryPoolResults *args);
2302     void (*dispatch_vkResetQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkResetQueryPool *args);
2303     void (*dispatch_vkCreateBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateBuffer *args);
2304     void (*dispatch_vkDestroyBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyBuffer *args);
2305     void (*dispatch_vkCreateBufferView)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateBufferView *args);
2306     void (*dispatch_vkDestroyBufferView)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyBufferView *args);
2307     void (*dispatch_vkCreateImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateImage *args);
2308     void (*dispatch_vkDestroyImage)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyImage *args);
2309     void (*dispatch_vkGetImageSubresourceLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageSubresourceLayout *args);
2310     void (*dispatch_vkCreateImageView)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateImageView *args);
2311     void (*dispatch_vkDestroyImageView)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyImageView *args);
2312     void (*dispatch_vkCreateShaderModule)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateShaderModule *args);
2313     void (*dispatch_vkDestroyShaderModule)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyShaderModule *args);
2314     void (*dispatch_vkCreatePipelineCache)(struct vn_dispatch_context *ctx, struct vn_command_vkCreatePipelineCache *args);
2315     void (*dispatch_vkDestroyPipelineCache)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPipelineCache *args);
2316     void (*dispatch_vkGetPipelineCacheData)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPipelineCacheData *args);
2317     void (*dispatch_vkMergePipelineCaches)(struct vn_dispatch_context *ctx, struct vn_command_vkMergePipelineCaches *args);
2318     void (*dispatch_vkCreateGraphicsPipelines)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateGraphicsPipelines *args);
2319     void (*dispatch_vkCreateComputePipelines)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateComputePipelines *args);
2320     void (*dispatch_vkDestroyPipeline)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPipeline *args);
2321     void (*dispatch_vkCreatePipelineLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkCreatePipelineLayout *args);
2322     void (*dispatch_vkDestroyPipelineLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPipelineLayout *args);
2323     void (*dispatch_vkCreateSampler)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateSampler *args);
2324     void (*dispatch_vkDestroySampler)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroySampler *args);
2325     void (*dispatch_vkCreateDescriptorSetLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDescriptorSetLayout *args);
2326     void (*dispatch_vkDestroyDescriptorSetLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDescriptorSetLayout *args);
2327     void (*dispatch_vkCreateDescriptorPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDescriptorPool *args);
2328     void (*dispatch_vkDestroyDescriptorPool)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDescriptorPool *args);
2329     void (*dispatch_vkResetDescriptorPool)(struct vn_dispatch_context *ctx, struct vn_command_vkResetDescriptorPool *args);
2330     void (*dispatch_vkAllocateDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkAllocateDescriptorSets *args);
2331     void (*dispatch_vkFreeDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkFreeDescriptorSets *args);
2332     void (*dispatch_vkUpdateDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkUpdateDescriptorSets *args);
2333     void (*dispatch_vkCreateFramebuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateFramebuffer *args);
2334     void (*dispatch_vkDestroyFramebuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyFramebuffer *args);
2335     void (*dispatch_vkCreateRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateRenderPass *args);
2336     void (*dispatch_vkDestroyRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyRenderPass *args);
2337     void (*dispatch_vkGetRenderAreaGranularity)(struct vn_dispatch_context *ctx, struct vn_command_vkGetRenderAreaGranularity *args);
2338     void (*dispatch_vkCreateCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateCommandPool *args);
2339     void (*dispatch_vkDestroyCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyCommandPool *args);
2340     void (*dispatch_vkResetCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkResetCommandPool *args);
2341     void (*dispatch_vkAllocateCommandBuffers)(struct vn_dispatch_context *ctx, struct vn_command_vkAllocateCommandBuffers *args);
2342     void (*dispatch_vkFreeCommandBuffers)(struct vn_dispatch_context *ctx, struct vn_command_vkFreeCommandBuffers *args);
2343     void (*dispatch_vkBeginCommandBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkBeginCommandBuffer *args);
2344     void (*dispatch_vkEndCommandBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkEndCommandBuffer *args);
2345     void (*dispatch_vkResetCommandBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkResetCommandBuffer *args);
2346     void (*dispatch_vkCmdBindPipeline)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindPipeline *args);
2347     void (*dispatch_vkCmdSetViewport)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetViewport *args);
2348     void (*dispatch_vkCmdSetScissor)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetScissor *args);
2349     void (*dispatch_vkCmdSetLineWidth)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetLineWidth *args);
2350     void (*dispatch_vkCmdSetDepthBias)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthBias *args);
2351     void (*dispatch_vkCmdSetBlendConstants)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetBlendConstants *args);
2352     void (*dispatch_vkCmdSetDepthBounds)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthBounds *args);
2353     void (*dispatch_vkCmdSetStencilCompareMask)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilCompareMask *args);
2354     void (*dispatch_vkCmdSetStencilWriteMask)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilWriteMask *args);
2355     void (*dispatch_vkCmdSetStencilReference)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilReference *args);
2356     void (*dispatch_vkCmdBindDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindDescriptorSets *args);
2357     void (*dispatch_vkCmdBindIndexBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindIndexBuffer *args);
2358     void (*dispatch_vkCmdBindVertexBuffers)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindVertexBuffers *args);
2359     void (*dispatch_vkCmdDraw)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDraw *args);
2360     void (*dispatch_vkCmdDrawIndexed)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndexed *args);
2361     void (*dispatch_vkCmdDrawMultiEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawMultiEXT *args);
2362     void (*dispatch_vkCmdDrawMultiIndexedEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawMultiIndexedEXT *args);
2363     void (*dispatch_vkCmdDrawIndirect)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndirect *args);
2364     void (*dispatch_vkCmdDrawIndexedIndirect)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndexedIndirect *args);
2365     void (*dispatch_vkCmdDispatch)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDispatch *args);
2366     void (*dispatch_vkCmdDispatchIndirect)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDispatchIndirect *args);
2367     void (*dispatch_vkCmdCopyBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyBuffer *args);
2368     void (*dispatch_vkCmdCopyImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyImage *args);
2369     void (*dispatch_vkCmdBlitImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBlitImage *args);
2370     void (*dispatch_vkCmdCopyBufferToImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyBufferToImage *args);
2371     void (*dispatch_vkCmdCopyImageToBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyImageToBuffer *args);
2372     void (*dispatch_vkCmdUpdateBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdUpdateBuffer *args);
2373     void (*dispatch_vkCmdFillBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdFillBuffer *args);
2374     void (*dispatch_vkCmdClearColorImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdClearColorImage *args);
2375     void (*dispatch_vkCmdClearDepthStencilImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdClearDepthStencilImage *args);
2376     void (*dispatch_vkCmdClearAttachments)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdClearAttachments *args);
2377     void (*dispatch_vkCmdResolveImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResolveImage *args);
2378     void (*dispatch_vkCmdSetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetEvent *args);
2379     void (*dispatch_vkCmdResetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResetEvent *args);
2380     void (*dispatch_vkCmdWaitEvents)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdWaitEvents *args);
2381     void (*dispatch_vkCmdPipelineBarrier)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPipelineBarrier *args);
2382     void (*dispatch_vkCmdBeginQuery)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginQuery *args);
2383     void (*dispatch_vkCmdEndQuery)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndQuery *args);
2384     void (*dispatch_vkCmdBeginConditionalRenderingEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginConditionalRenderingEXT *args);
2385     void (*dispatch_vkCmdEndConditionalRenderingEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndConditionalRenderingEXT *args);
2386     void (*dispatch_vkCmdResetQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResetQueryPool *args);
2387     void (*dispatch_vkCmdWriteTimestamp)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdWriteTimestamp *args);
2388     void (*dispatch_vkCmdCopyQueryPoolResults)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyQueryPoolResults *args);
2389     void (*dispatch_vkCmdPushConstants)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPushConstants *args);
2390     void (*dispatch_vkCmdBeginRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginRenderPass *args);
2391     void (*dispatch_vkCmdNextSubpass)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdNextSubpass *args);
2392     void (*dispatch_vkCmdEndRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndRenderPass *args);
2393     void (*dispatch_vkCmdExecuteCommands)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdExecuteCommands *args);
2394     void (*dispatch_vkGetPhysicalDeviceFeatures2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFeatures2 *args);
2395     void (*dispatch_vkGetPhysicalDeviceProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceProperties2 *args);
2396     void (*dispatch_vkGetPhysicalDeviceFormatProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFormatProperties2 *args);
2397     void (*dispatch_vkGetPhysicalDeviceImageFormatProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 *args);
2398     void (*dispatch_vkGetPhysicalDeviceQueueFamilyProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 *args);
2399     void (*dispatch_vkGetPhysicalDeviceMemoryProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceMemoryProperties2 *args);
2400     void (*dispatch_vkGetPhysicalDeviceSparseImageFormatProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 *args);
2401     void (*dispatch_vkCmdPushDescriptorSetKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPushDescriptorSetKHR *args);
2402     void (*dispatch_vkTrimCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkTrimCommandPool *args);
2403     void (*dispatch_vkGetPhysicalDeviceExternalBufferProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceExternalBufferProperties *args);
2404     void (*dispatch_vkGetMemoryFdKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryFdKHR *args);
2405     void (*dispatch_vkGetMemoryFdPropertiesKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryFdPropertiesKHR *args);
2406     void (*dispatch_vkGetPhysicalDeviceExternalSemaphoreProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties *args);
2407     void (*dispatch_vkGetSemaphoreFdKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkGetSemaphoreFdKHR *args);
2408     void (*dispatch_vkImportSemaphoreFdKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkImportSemaphoreFdKHR *args);
2409     void (*dispatch_vkGetPhysicalDeviceExternalFenceProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceExternalFenceProperties *args);
2410     void (*dispatch_vkGetFenceFdKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkGetFenceFdKHR *args);
2411     void (*dispatch_vkImportFenceFdKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkImportFenceFdKHR *args);
2412     void (*dispatch_vkEnumeratePhysicalDeviceGroups)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumeratePhysicalDeviceGroups *args);
2413     void (*dispatch_vkGetDeviceGroupPeerMemoryFeatures)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceGroupPeerMemoryFeatures *args);
2414     void (*dispatch_vkBindBufferMemory2)(struct vn_dispatch_context *ctx, struct vn_command_vkBindBufferMemory2 *args);
2415     void (*dispatch_vkBindImageMemory2)(struct vn_dispatch_context *ctx, struct vn_command_vkBindImageMemory2 *args);
2416     void (*dispatch_vkCmdSetDeviceMask)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDeviceMask *args);
2417     void (*dispatch_vkCmdDispatchBase)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDispatchBase *args);
2418     void (*dispatch_vkCreateDescriptorUpdateTemplate)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDescriptorUpdateTemplate *args);
2419     void (*dispatch_vkDestroyDescriptorUpdateTemplate)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDescriptorUpdateTemplate *args);
2420     void (*dispatch_vkUpdateDescriptorSetWithTemplate)(struct vn_dispatch_context *ctx, struct vn_command_vkUpdateDescriptorSetWithTemplate *args);
2421     void (*dispatch_vkCmdPushDescriptorSetWithTemplateKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPushDescriptorSetWithTemplateKHR *args);
2422     void (*dispatch_vkGetBufferMemoryRequirements2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferMemoryRequirements2 *args);
2423     void (*dispatch_vkGetImageMemoryRequirements2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageMemoryRequirements2 *args);
2424     void (*dispatch_vkGetImageSparseMemoryRequirements2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageSparseMemoryRequirements2 *args);
2425     void (*dispatch_vkGetDeviceBufferMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceBufferMemoryRequirements *args);
2426     void (*dispatch_vkGetDeviceImageMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceImageMemoryRequirements *args);
2427     void (*dispatch_vkGetDeviceImageSparseMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceImageSparseMemoryRequirements *args);
2428     void (*dispatch_vkCreateSamplerYcbcrConversion)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateSamplerYcbcrConversion *args);
2429     void (*dispatch_vkDestroySamplerYcbcrConversion)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroySamplerYcbcrConversion *args);
2430     void (*dispatch_vkGetDeviceQueue2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceQueue2 *args);
2431     void (*dispatch_vkGetDescriptorSetLayoutSupport)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDescriptorSetLayoutSupport *args);
2432     void (*dispatch_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT *args);
2433     void (*dispatch_vkGetCalibratedTimestampsEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkGetCalibratedTimestampsEXT *args);
2434     void (*dispatch_vkCreateRenderPass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateRenderPass2 *args);
2435     void (*dispatch_vkCmdBeginRenderPass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginRenderPass2 *args);
2436     void (*dispatch_vkCmdNextSubpass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdNextSubpass2 *args);
2437     void (*dispatch_vkCmdEndRenderPass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndRenderPass2 *args);
2438     void (*dispatch_vkGetSemaphoreCounterValue)(struct vn_dispatch_context *ctx, struct vn_command_vkGetSemaphoreCounterValue *args);
2439     void (*dispatch_vkWaitSemaphores)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitSemaphores *args);
2440     void (*dispatch_vkSignalSemaphore)(struct vn_dispatch_context *ctx, struct vn_command_vkSignalSemaphore *args);
2441     void (*dispatch_vkCmdDrawIndirectCount)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndirectCount *args);
2442     void (*dispatch_vkCmdDrawIndexedIndirectCount)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndexedIndirectCount *args);
2443     void (*dispatch_vkCmdBindTransformFeedbackBuffersEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindTransformFeedbackBuffersEXT *args);
2444     void (*dispatch_vkCmdBeginTransformFeedbackEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginTransformFeedbackEXT *args);
2445     void (*dispatch_vkCmdEndTransformFeedbackEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndTransformFeedbackEXT *args);
2446     void (*dispatch_vkCmdBeginQueryIndexedEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginQueryIndexedEXT *args);
2447     void (*dispatch_vkCmdEndQueryIndexedEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndQueryIndexedEXT *args);
2448     void (*dispatch_vkCmdDrawIndirectByteCountEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndirectByteCountEXT *args);
2449     void (*dispatch_vkGetImageDrmFormatModifierPropertiesEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageDrmFormatModifierPropertiesEXT *args);
2450     void (*dispatch_vkGetBufferOpaqueCaptureAddress)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferOpaqueCaptureAddress *args);
2451     void (*dispatch_vkGetBufferDeviceAddress)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferDeviceAddress *args);
2452     void (*dispatch_vkGetDeviceMemoryOpaqueCaptureAddress)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceMemoryOpaqueCaptureAddress *args);
2453     void (*dispatch_vkCmdSetLineStippleEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetLineStippleEXT *args);
2454     void (*dispatch_vkGetPhysicalDeviceToolProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceToolProperties *args);
2455     void (*dispatch_vkCmdSetCullMode)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetCullMode *args);
2456     void (*dispatch_vkCmdSetFrontFace)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetFrontFace *args);
2457     void (*dispatch_vkCmdSetPrimitiveTopology)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetPrimitiveTopology *args);
2458     void (*dispatch_vkCmdSetViewportWithCount)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetViewportWithCount *args);
2459     void (*dispatch_vkCmdSetScissorWithCount)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetScissorWithCount *args);
2460     void (*dispatch_vkCmdBindVertexBuffers2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindVertexBuffers2 *args);
2461     void (*dispatch_vkCmdSetDepthTestEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthTestEnable *args);
2462     void (*dispatch_vkCmdSetDepthWriteEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthWriteEnable *args);
2463     void (*dispatch_vkCmdSetDepthCompareOp)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthCompareOp *args);
2464     void (*dispatch_vkCmdSetDepthBoundsTestEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthBoundsTestEnable *args);
2465     void (*dispatch_vkCmdSetStencilTestEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilTestEnable *args);
2466     void (*dispatch_vkCmdSetStencilOp)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilOp *args);
2467     void (*dispatch_vkCmdSetPatchControlPointsEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetPatchControlPointsEXT *args);
2468     void (*dispatch_vkCmdSetRasterizerDiscardEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetRasterizerDiscardEnable *args);
2469     void (*dispatch_vkCmdSetDepthBiasEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthBiasEnable *args);
2470     void (*dispatch_vkCmdSetLogicOpEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetLogicOpEXT *args);
2471     void (*dispatch_vkCmdSetPrimitiveRestartEnable)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetPrimitiveRestartEnable *args);
2472     void (*dispatch_vkCreatePrivateDataSlot)(struct vn_dispatch_context *ctx, struct vn_command_vkCreatePrivateDataSlot *args);
2473     void (*dispatch_vkDestroyPrivateDataSlot)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPrivateDataSlot *args);
2474     void (*dispatch_vkSetPrivateData)(struct vn_dispatch_context *ctx, struct vn_command_vkSetPrivateData *args);
2475     void (*dispatch_vkGetPrivateData)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPrivateData *args);
2476     void (*dispatch_vkCmdCopyBuffer2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyBuffer2 *args);
2477     void (*dispatch_vkCmdCopyImage2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyImage2 *args);
2478     void (*dispatch_vkCmdBlitImage2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBlitImage2 *args);
2479     void (*dispatch_vkCmdCopyBufferToImage2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyBufferToImage2 *args);
2480     void (*dispatch_vkCmdCopyImageToBuffer2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyImageToBuffer2 *args);
2481     void (*dispatch_vkCmdResolveImage2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResolveImage2 *args);
2482     void (*dispatch_vkCmdSetEvent2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetEvent2 *args);
2483     void (*dispatch_vkCmdResetEvent2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResetEvent2 *args);
2484     void (*dispatch_vkCmdWaitEvents2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdWaitEvents2 *args);
2485     void (*dispatch_vkCmdPipelineBarrier2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPipelineBarrier2 *args);
2486     void (*dispatch_vkQueueSubmit2)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueSubmit2 *args);
2487     void (*dispatch_vkCmdWriteTimestamp2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdWriteTimestamp2 *args);
2488     void (*dispatch_vkCmdBeginRendering)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginRendering *args);
2489     void (*dispatch_vkCmdEndRendering)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndRendering *args);
2490     void (*dispatch_vkSetReplyCommandStreamMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkSetReplyCommandStreamMESA *args);
2491     void (*dispatch_vkSeekReplyCommandStreamMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkSeekReplyCommandStreamMESA *args);
2492     void (*dispatch_vkExecuteCommandStreamsMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkExecuteCommandStreamsMESA *args);
2493     void (*dispatch_vkCreateRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateRingMESA *args);
2494     void (*dispatch_vkDestroyRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyRingMESA *args);
2495     void (*dispatch_vkNotifyRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkNotifyRingMESA *args);
2496     void (*dispatch_vkWriteRingExtraMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWriteRingExtraMESA *args);
2497     void (*dispatch_vkGetMemoryResourcePropertiesMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryResourcePropertiesMESA *args);
2498     void (*dispatch_vkResetFenceResource100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkResetFenceResource100000MESA *args);
2499     void (*dispatch_vkWaitSemaphoreResource100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitSemaphoreResource100000MESA *args);
2500     void (*dispatch_vkImportSemaphoreResource100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkImportSemaphoreResource100000MESA *args);
2501     void (*dispatch_vkGetVenusExperimentalFeatureData100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args);
2502 };
2503 
vn_dispatch_debug_log(struct vn_dispatch_context * ctx,const char * format,...)2504 static inline void vn_dispatch_debug_log(struct vn_dispatch_context *ctx, const char *format, ...)
2505 {
2506     char msg[256];
2507     va_list va;
2508 
2509     if (!ctx->debug_log)
2510         return;
2511 
2512     va_start(va, format);
2513     vsnprintf(msg, sizeof(msg), format, va);
2514     ctx->debug_log(ctx, msg);
2515     va_end(va);
2516 }
2517 
vn_dispatch_should_log_result(VkResult result)2518 static inline bool vn_dispatch_should_log_result(VkResult result)
2519 {
2520     switch (result) {
2521     case VK_ERROR_FORMAT_NOT_SUPPORTED:
2522     case VK_ERROR_FRAGMENTED_POOL:
2523     case VK_ERROR_OUT_OF_POOL_MEMORY:
2524         /* do not log errors that apps normally handle properly */
2525         return false;
2526     default:
2527         /* log all other errors */
2528         return result < VK_SUCCESS;
2529     }
2530 }
2531 
2532 #endif /* VN_PROTOCOL_RENDERER_DEFINES_H */
2533