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
26 typedef enum VkCommandTypeEXT {
27 VK_COMMAND_TYPE_vkCreateInstance_EXT = 0,
28 VK_COMMAND_TYPE_vkDestroyInstance_EXT = 1,
29 VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT = 2,
30 VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT = 3,
31 VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT = 4,
32 VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT = 5,
33 VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT = 6,
34 VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT = 7,
35 VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT = 8,
36 VK_COMMAND_TYPE_vkGetInstanceProcAddr_EXT = 9,
37 VK_COMMAND_TYPE_vkGetDeviceProcAddr_EXT = 10,
38 VK_COMMAND_TYPE_vkCreateDevice_EXT = 11,
39 VK_COMMAND_TYPE_vkDestroyDevice_EXT = 12,
40 VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT = 13,
41 VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT = 14,
42 VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT = 15,
43 VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT = 16,
44 VK_COMMAND_TYPE_vkGetDeviceQueue_EXT = 17,
45 VK_COMMAND_TYPE_vkQueueSubmit_EXT = 18,
46 VK_COMMAND_TYPE_vkQueueWaitIdle_EXT = 19,
47 VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT = 20,
48 VK_COMMAND_TYPE_vkAllocateMemory_EXT = 21,
49 VK_COMMAND_TYPE_vkFreeMemory_EXT = 22,
50 VK_COMMAND_TYPE_vkMapMemory_EXT = 23,
51 VK_COMMAND_TYPE_vkUnmapMemory_EXT = 24,
52 VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT = 25,
53 VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT = 26,
54 VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT = 27,
55 VK_COMMAND_TYPE_vkBindBufferMemory_EXT = 28,
56 VK_COMMAND_TYPE_vkBindImageMemory_EXT = 29,
57 VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT = 30,
58 VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT = 31,
59 VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT = 32,
60 VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT = 33,
61 VK_COMMAND_TYPE_vkQueueBindSparse_EXT = 34,
62 VK_COMMAND_TYPE_vkCreateFence_EXT = 35,
63 VK_COMMAND_TYPE_vkDestroyFence_EXT = 36,
64 VK_COMMAND_TYPE_vkResetFences_EXT = 37,
65 VK_COMMAND_TYPE_vkGetFenceStatus_EXT = 38,
66 VK_COMMAND_TYPE_vkWaitForFences_EXT = 39,
67 VK_COMMAND_TYPE_vkCreateSemaphore_EXT = 40,
68 VK_COMMAND_TYPE_vkDestroySemaphore_EXT = 41,
69 VK_COMMAND_TYPE_vkCreateEvent_EXT = 42,
70 VK_COMMAND_TYPE_vkDestroyEvent_EXT = 43,
71 VK_COMMAND_TYPE_vkGetEventStatus_EXT = 44,
72 VK_COMMAND_TYPE_vkSetEvent_EXT = 45,
73 VK_COMMAND_TYPE_vkResetEvent_EXT = 46,
74 VK_COMMAND_TYPE_vkCreateQueryPool_EXT = 47,
75 VK_COMMAND_TYPE_vkDestroyQueryPool_EXT = 48,
76 VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT = 49,
77 VK_COMMAND_TYPE_vkCreateBuffer_EXT = 50,
78 VK_COMMAND_TYPE_vkDestroyBuffer_EXT = 51,
79 VK_COMMAND_TYPE_vkCreateBufferView_EXT = 52,
80 VK_COMMAND_TYPE_vkDestroyBufferView_EXT = 53,
81 VK_COMMAND_TYPE_vkCreateImage_EXT = 54,
82 VK_COMMAND_TYPE_vkDestroyImage_EXT = 55,
83 VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT = 56,
84 VK_COMMAND_TYPE_vkCreateImageView_EXT = 57,
85 VK_COMMAND_TYPE_vkDestroyImageView_EXT = 58,
86 VK_COMMAND_TYPE_vkCreateShaderModule_EXT = 59,
87 VK_COMMAND_TYPE_vkDestroyShaderModule_EXT = 60,
88 VK_COMMAND_TYPE_vkCreatePipelineCache_EXT = 61,
89 VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT = 62,
90 VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT = 63,
91 VK_COMMAND_TYPE_vkMergePipelineCaches_EXT = 64,
92 VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT = 65,
93 VK_COMMAND_TYPE_vkCreateComputePipelines_EXT = 66,
94 VK_COMMAND_TYPE_vkDestroyPipeline_EXT = 67,
95 VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT = 68,
96 VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT = 69,
97 VK_COMMAND_TYPE_vkCreateSampler_EXT = 70,
98 VK_COMMAND_TYPE_vkDestroySampler_EXT = 71,
99 VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT = 72,
100 VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT = 73,
101 VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT = 74,
102 VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT = 75,
103 VK_COMMAND_TYPE_vkResetDescriptorPool_EXT = 76,
104 VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT = 77,
105 VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT = 78,
106 VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT = 79,
107 VK_COMMAND_TYPE_vkCreateFramebuffer_EXT = 80,
108 VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT = 81,
109 VK_COMMAND_TYPE_vkCreateRenderPass_EXT = 82,
110 VK_COMMAND_TYPE_vkDestroyRenderPass_EXT = 83,
111 VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT = 84,
112 VK_COMMAND_TYPE_vkCreateCommandPool_EXT = 85,
113 VK_COMMAND_TYPE_vkDestroyCommandPool_EXT = 86,
114 VK_COMMAND_TYPE_vkResetCommandPool_EXT = 87,
115 VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT = 88,
116 VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT = 89,
117 VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT = 90,
118 VK_COMMAND_TYPE_vkEndCommandBuffer_EXT = 91,
119 VK_COMMAND_TYPE_vkResetCommandBuffer_EXT = 92,
120 VK_COMMAND_TYPE_vkCmdBindPipeline_EXT = 93,
121 VK_COMMAND_TYPE_vkCmdSetViewport_EXT = 94,
122 VK_COMMAND_TYPE_vkCmdSetScissor_EXT = 95,
123 VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT = 96,
124 VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT = 97,
125 VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT = 98,
126 VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT = 99,
127 VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT = 100,
128 VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT = 101,
129 VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT = 102,
130 VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT = 103,
131 VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT = 104,
132 VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT = 105,
133 VK_COMMAND_TYPE_vkCmdDraw_EXT = 106,
134 VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT = 107,
135 VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT = 108,
136 VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT = 109,
137 VK_COMMAND_TYPE_vkCmdDispatch_EXT = 110,
138 VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT = 111,
139 VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT = 112,
140 VK_COMMAND_TYPE_vkCmdCopyImage_EXT = 113,
141 VK_COMMAND_TYPE_vkCmdBlitImage_EXT = 114,
142 VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT = 115,
143 VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT = 116,
144 VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT = 117,
145 VK_COMMAND_TYPE_vkCmdFillBuffer_EXT = 118,
146 VK_COMMAND_TYPE_vkCmdClearColorImage_EXT = 119,
147 VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT = 120,
148 VK_COMMAND_TYPE_vkCmdClearAttachments_EXT = 121,
149 VK_COMMAND_TYPE_vkCmdResolveImage_EXT = 122,
150 VK_COMMAND_TYPE_vkCmdSetEvent_EXT = 123,
151 VK_COMMAND_TYPE_vkCmdResetEvent_EXT = 124,
152 VK_COMMAND_TYPE_vkCmdWaitEvents_EXT = 125,
153 VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT = 126,
154 VK_COMMAND_TYPE_vkCmdBeginQuery_EXT = 127,
155 VK_COMMAND_TYPE_vkCmdEndQuery_EXT = 128,
156 VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT = 129,
157 VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT = 130,
158 VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT = 131,
159 VK_COMMAND_TYPE_vkCmdPushConstants_EXT = 132,
160 VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT = 133,
161 VK_COMMAND_TYPE_vkCmdNextSubpass_EXT = 134,
162 VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT = 135,
163 VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT = 136,
164 VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT = 137,
165 VK_COMMAND_TYPE_vkBindBufferMemory2_EXT = 138,
166 VK_COMMAND_TYPE_vkBindBufferMemory2KHR_EXT = 138,
167 VK_COMMAND_TYPE_vkBindImageMemory2_EXT = 139,
168 VK_COMMAND_TYPE_vkBindImageMemory2KHR_EXT = 139,
169 VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT = 140,
170 VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeaturesKHR_EXT = 140,
171 VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT = 141,
172 VK_COMMAND_TYPE_vkCmdSetDeviceMaskKHR_EXT = 141,
173 VK_COMMAND_TYPE_vkCmdDispatchBase_EXT = 142,
174 VK_COMMAND_TYPE_vkCmdDispatchBaseKHR_EXT = 142,
175 VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT = 143,
176 VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroupsKHR_EXT = 143,
177 VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT = 144,
178 VK_COMMAND_TYPE_vkGetImageMemoryRequirements2KHR_EXT = 144,
179 VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT = 145,
180 VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2KHR_EXT = 145,
181 VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT = 146,
182 VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2KHR_EXT = 146,
183 VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT = 147,
184 VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2KHR_EXT = 147,
185 VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT = 148,
186 VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2KHR_EXT = 148,
187 VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT = 149,
188 VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2KHR_EXT = 149,
189 VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT = 150,
190 VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2KHR_EXT = 150,
191 VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT = 151,
192 VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2KHR_EXT = 151,
193 VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT = 152,
194 VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2KHR_EXT = 152,
195 VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT = 153,
196 VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2KHR_EXT = 153,
197 VK_COMMAND_TYPE_vkTrimCommandPool_EXT = 154,
198 VK_COMMAND_TYPE_vkTrimCommandPoolKHR_EXT = 154,
199 VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT = 155,
200 VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT = 156,
201 VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversionKHR_EXT = 156,
202 VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT = 157,
203 VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversionKHR_EXT = 157,
204 VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT = 158,
205 VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplateKHR_EXT = 158,
206 VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT = 159,
207 VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplateKHR_EXT = 159,
208 VK_COMMAND_TYPE_vkUpdateDescriptorSetWithTemplate_EXT = 160,
209 VK_COMMAND_TYPE_vkUpdateDescriptorSetWithTemplateKHR_EXT = 160,
210 VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT = 161,
211 VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferPropertiesKHR_EXT = 161,
212 VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT = 162,
213 VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFencePropertiesKHR_EXT = 162,
214 VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT = 163,
215 VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR_EXT = 163,
216 VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT = 164,
217 VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupportKHR_EXT = 164,
218 VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT = 165,
219 VK_COMMAND_TYPE_vkCmdDrawIndirectCountKHR_EXT = 165,
220 VK_COMMAND_TYPE_vkCmdDrawIndirectCountAMD_EXT = 165,
221 VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT = 166,
222 VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCountKHR_EXT = 166,
223 VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCountAMD_EXT = 166,
224 VK_COMMAND_TYPE_vkCreateRenderPass2_EXT = 167,
225 VK_COMMAND_TYPE_vkCreateRenderPass2KHR_EXT = 167,
226 VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT = 168,
227 VK_COMMAND_TYPE_vkCmdBeginRenderPass2KHR_EXT = 168,
228 VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT = 169,
229 VK_COMMAND_TYPE_vkCmdNextSubpass2KHR_EXT = 169,
230 VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT = 170,
231 VK_COMMAND_TYPE_vkCmdEndRenderPass2KHR_EXT = 170,
232 VK_COMMAND_TYPE_vkResetQueryPool_EXT = 171,
233 VK_COMMAND_TYPE_vkResetQueryPoolEXT_EXT = 171,
234 VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT = 172,
235 VK_COMMAND_TYPE_vkGetSemaphoreCounterValueKHR_EXT = 172,
236 VK_COMMAND_TYPE_vkWaitSemaphores_EXT = 173,
237 VK_COMMAND_TYPE_vkWaitSemaphoresKHR_EXT = 173,
238 VK_COMMAND_TYPE_vkSignalSemaphore_EXT = 174,
239 VK_COMMAND_TYPE_vkSignalSemaphoreKHR_EXT = 174,
240 VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT = 175,
241 VK_COMMAND_TYPE_vkGetBufferDeviceAddressKHR_EXT = 175,
242 VK_COMMAND_TYPE_vkGetBufferDeviceAddressEXT_EXT = 175,
243 VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT = 176,
244 VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddressKHR_EXT = 176,
245 VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT = 177,
246 VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddressKHR_EXT = 177,
247 VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT = 181,
248 VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT = 182,
249 VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT = 183,
250 VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT = 184,
251 VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT = 185,
252 VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT = 186,
253 VK_COMMAND_TYPE_vkGetMemoryFdKHR_EXT = 193,
254 VK_COMMAND_TYPE_vkGetMemoryFdPropertiesKHR_EXT = 194,
255 VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT = 187,
256 VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT = 178,
257 VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT = 179,
258 VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT = 180,
259 VK_COMMAND_TYPE_vkCreateRingMESA_EXT = 188,
260 VK_COMMAND_TYPE_vkDestroyRingMESA_EXT = 189,
261 VK_COMMAND_TYPE_vkNotifyRingMESA_EXT = 190,
262 VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT = 191,
263 VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT = 192,
264 VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT = 195,
265 } VkCommandTypeEXT;
266
267 typedef enum VkCommandFlagBitsEXT {
268 VK_COMMAND_GENERATE_REPLY_BIT_EXT = 0x00000001,
269 } VkCommandFlagBitsEXT;
270
271 typedef VkFlags VkCommandFlagsEXT;
272
273 typedef VkFlags VkCommandStreamExecutionFlagsMESA;
274
275 typedef VkFlags VkRingCreateFlagsMESA;
276
277 typedef VkFlags VkRingNotifyFlagsMESA;
278
279 typedef struct VkCommandStreamDescriptionMESA {
280 uint32_t resourceId;
281 size_t offset;
282 size_t size;
283 } VkCommandStreamDescriptionMESA;
284
285 typedef struct VkCommandStreamDependencyMESA {
286 uint32_t srcCommandStream;
287 uint32_t dstCommandStream;
288 } VkCommandStreamDependencyMESA;
289
290 typedef struct VkRingCreateInfoMESA {
291 VkStructureType sType;
292 const void* pNext;
293 VkRingCreateFlagsMESA flags;
294 uint32_t resourceId;
295 size_t offset;
296 size_t size;
297 uint64_t idleTimeout;
298 size_t headOffset;
299 size_t tailOffset;
300 size_t statusOffset;
301 size_t bufferOffset;
302 size_t bufferSize;
303 size_t extraOffset;
304 size_t extraSize;
305 } VkRingCreateInfoMESA;
306
307 typedef struct VkMemoryResourcePropertiesMESA {
308 VkStructureType sType;
309 void* pNext;
310 uint32_t memoryTypeBits;
311 } VkMemoryResourcePropertiesMESA;
312
313 typedef struct VkImportMemoryResourceInfoMESA {
314 VkStructureType sType;
315 const void* pNext;
316 uint32_t resourceId;
317 } VkImportMemoryResourceInfoMESA;
318
319 typedef struct VkVenusExperimentalFeatures100000MESA {
320 VkBool32 memoryResourceAllocationSize;
321 VkBool32 globalFencing;
322 VkBool32 largeRing;
323 } VkVenusExperimentalFeatures100000MESA;
324
325 typedef struct VkMemoryResourceAllocationSizeProperties100000MESA {
326 VkStructureType sType;
327 void* pNext;
328 uint64_t allocationSize;
329 } VkMemoryResourceAllocationSizeProperties100000MESA;
330
331 struct vn_command_vkCreateInstance {
332 const VkInstanceCreateInfo* pCreateInfo;
333 const VkAllocationCallbacks* pAllocator;
334 VkInstance* pInstance;
335
336 VkResult ret;
337 };
338
339 struct vn_command_vkDestroyInstance {
340 VkInstance instance;
341 const VkAllocationCallbacks* pAllocator;
342 };
343
344 struct vn_command_vkEnumeratePhysicalDevices {
345 VkInstance instance;
346 uint32_t* pPhysicalDeviceCount;
347 VkPhysicalDevice* pPhysicalDevices;
348
349 VkResult ret;
350 };
351
352 struct vn_command_vkGetDeviceProcAddr {
353 VkDevice device;
354 const char* pName;
355
356 PFN_vkVoidFunction ret;
357 };
358
359 struct vn_command_vkGetInstanceProcAddr {
360 VkInstance instance;
361 const char* pName;
362
363 PFN_vkVoidFunction ret;
364 };
365
366 struct vn_command_vkGetPhysicalDeviceProperties {
367 VkPhysicalDevice physicalDevice;
368 VkPhysicalDeviceProperties* pProperties;
369 };
370
371 struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties {
372 VkPhysicalDevice physicalDevice;
373 uint32_t* pQueueFamilyPropertyCount;
374 VkQueueFamilyProperties* pQueueFamilyProperties;
375 };
376
377 struct vn_command_vkGetPhysicalDeviceMemoryProperties {
378 VkPhysicalDevice physicalDevice;
379 VkPhysicalDeviceMemoryProperties* pMemoryProperties;
380 };
381
382 struct vn_command_vkGetPhysicalDeviceFeatures {
383 VkPhysicalDevice physicalDevice;
384 VkPhysicalDeviceFeatures* pFeatures;
385 };
386
387 struct vn_command_vkGetPhysicalDeviceFormatProperties {
388 VkPhysicalDevice physicalDevice;
389 VkFormat format;
390 VkFormatProperties* pFormatProperties;
391 };
392
393 struct vn_command_vkGetPhysicalDeviceImageFormatProperties {
394 VkPhysicalDevice physicalDevice;
395 VkFormat format;
396 VkImageType type;
397 VkImageTiling tiling;
398 VkImageUsageFlags usage;
399 VkImageCreateFlags flags;
400 VkImageFormatProperties* pImageFormatProperties;
401
402 VkResult ret;
403 };
404
405 struct vn_command_vkCreateDevice {
406 VkPhysicalDevice physicalDevice;
407 const VkDeviceCreateInfo* pCreateInfo;
408 const VkAllocationCallbacks* pAllocator;
409 VkDevice* pDevice;
410
411 VkResult ret;
412 };
413
414 struct vn_command_vkDestroyDevice {
415 VkDevice device;
416 const VkAllocationCallbacks* pAllocator;
417 };
418
419 struct vn_command_vkEnumerateInstanceVersion {
420 uint32_t* pApiVersion;
421
422 VkResult ret;
423 };
424
425 struct vn_command_vkEnumerateInstanceLayerProperties {
426 uint32_t* pPropertyCount;
427 VkLayerProperties* pProperties;
428
429 VkResult ret;
430 };
431
432 struct vn_command_vkEnumerateInstanceExtensionProperties {
433 const char* pLayerName;
434 uint32_t* pPropertyCount;
435 VkExtensionProperties* pProperties;
436
437 VkResult ret;
438 };
439
440 struct vn_command_vkEnumerateDeviceLayerProperties {
441 VkPhysicalDevice physicalDevice;
442 uint32_t* pPropertyCount;
443 VkLayerProperties* pProperties;
444
445 VkResult ret;
446 };
447
448 struct vn_command_vkEnumerateDeviceExtensionProperties {
449 VkPhysicalDevice physicalDevice;
450 const char* pLayerName;
451 uint32_t* pPropertyCount;
452 VkExtensionProperties* pProperties;
453
454 VkResult ret;
455 };
456
457 struct vn_command_vkGetDeviceQueue {
458 VkDevice device;
459 uint32_t queueFamilyIndex;
460 uint32_t queueIndex;
461 VkQueue* pQueue;
462 };
463
464 struct vn_command_vkQueueSubmit {
465 VkQueue queue;
466 uint32_t submitCount;
467 const VkSubmitInfo* pSubmits;
468 VkFence fence;
469
470 VkResult ret;
471 };
472
473 struct vn_command_vkQueueWaitIdle {
474 VkQueue queue;
475
476 VkResult ret;
477 };
478
479 struct vn_command_vkDeviceWaitIdle {
480 VkDevice device;
481
482 VkResult ret;
483 };
484
485 struct vn_command_vkAllocateMemory {
486 VkDevice device;
487 const VkMemoryAllocateInfo* pAllocateInfo;
488 const VkAllocationCallbacks* pAllocator;
489 VkDeviceMemory* pMemory;
490
491 VkResult ret;
492 };
493
494 struct vn_command_vkFreeMemory {
495 VkDevice device;
496 VkDeviceMemory memory;
497 const VkAllocationCallbacks* pAllocator;
498 };
499
500 struct vn_command_vkMapMemory {
501 VkDevice device;
502 VkDeviceMemory memory;
503 VkDeviceSize offset;
504 VkDeviceSize size;
505 VkMemoryMapFlags flags;
506 void** ppData;
507
508 VkResult ret;
509 };
510
511 struct vn_command_vkUnmapMemory {
512 VkDevice device;
513 VkDeviceMemory memory;
514 };
515
516 struct vn_command_vkFlushMappedMemoryRanges {
517 VkDevice device;
518 uint32_t memoryRangeCount;
519 const VkMappedMemoryRange* pMemoryRanges;
520
521 VkResult ret;
522 };
523
524 struct vn_command_vkInvalidateMappedMemoryRanges {
525 VkDevice device;
526 uint32_t memoryRangeCount;
527 const VkMappedMemoryRange* pMemoryRanges;
528
529 VkResult ret;
530 };
531
532 struct vn_command_vkGetDeviceMemoryCommitment {
533 VkDevice device;
534 VkDeviceMemory memory;
535 VkDeviceSize* pCommittedMemoryInBytes;
536 };
537
538 struct vn_command_vkGetBufferMemoryRequirements {
539 VkDevice device;
540 VkBuffer buffer;
541 VkMemoryRequirements* pMemoryRequirements;
542 };
543
544 struct vn_command_vkBindBufferMemory {
545 VkDevice device;
546 VkBuffer buffer;
547 VkDeviceMemory memory;
548 VkDeviceSize memoryOffset;
549
550 VkResult ret;
551 };
552
553 struct vn_command_vkGetImageMemoryRequirements {
554 VkDevice device;
555 VkImage image;
556 VkMemoryRequirements* pMemoryRequirements;
557 };
558
559 struct vn_command_vkBindImageMemory {
560 VkDevice device;
561 VkImage image;
562 VkDeviceMemory memory;
563 VkDeviceSize memoryOffset;
564
565 VkResult ret;
566 };
567
568 struct vn_command_vkGetImageSparseMemoryRequirements {
569 VkDevice device;
570 VkImage image;
571 uint32_t* pSparseMemoryRequirementCount;
572 VkSparseImageMemoryRequirements* pSparseMemoryRequirements;
573 };
574
575 struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties {
576 VkPhysicalDevice physicalDevice;
577 VkFormat format;
578 VkImageType type;
579 VkSampleCountFlagBits samples;
580 VkImageUsageFlags usage;
581 VkImageTiling tiling;
582 uint32_t* pPropertyCount;
583 VkSparseImageFormatProperties* pProperties;
584 };
585
586 struct vn_command_vkQueueBindSparse {
587 VkQueue queue;
588 uint32_t bindInfoCount;
589 const VkBindSparseInfo* pBindInfo;
590 VkFence fence;
591
592 VkResult ret;
593 };
594
595 struct vn_command_vkCreateFence {
596 VkDevice device;
597 const VkFenceCreateInfo* pCreateInfo;
598 const VkAllocationCallbacks* pAllocator;
599 VkFence* pFence;
600
601 VkResult ret;
602 };
603
604 struct vn_command_vkDestroyFence {
605 VkDevice device;
606 VkFence fence;
607 const VkAllocationCallbacks* pAllocator;
608 };
609
610 struct vn_command_vkResetFences {
611 VkDevice device;
612 uint32_t fenceCount;
613 const VkFence* pFences;
614
615 VkResult ret;
616 };
617
618 struct vn_command_vkGetFenceStatus {
619 VkDevice device;
620 VkFence fence;
621
622 VkResult ret;
623 };
624
625 struct vn_command_vkWaitForFences {
626 VkDevice device;
627 uint32_t fenceCount;
628 const VkFence* pFences;
629 VkBool32 waitAll;
630 uint64_t timeout;
631
632 VkResult ret;
633 };
634
635 struct vn_command_vkCreateSemaphore {
636 VkDevice device;
637 const VkSemaphoreCreateInfo* pCreateInfo;
638 const VkAllocationCallbacks* pAllocator;
639 VkSemaphore* pSemaphore;
640
641 VkResult ret;
642 };
643
644 struct vn_command_vkDestroySemaphore {
645 VkDevice device;
646 VkSemaphore semaphore;
647 const VkAllocationCallbacks* pAllocator;
648 };
649
650 struct vn_command_vkCreateEvent {
651 VkDevice device;
652 const VkEventCreateInfo* pCreateInfo;
653 const VkAllocationCallbacks* pAllocator;
654 VkEvent* pEvent;
655
656 VkResult ret;
657 };
658
659 struct vn_command_vkDestroyEvent {
660 VkDevice device;
661 VkEvent event;
662 const VkAllocationCallbacks* pAllocator;
663 };
664
665 struct vn_command_vkGetEventStatus {
666 VkDevice device;
667 VkEvent event;
668
669 VkResult ret;
670 };
671
672 struct vn_command_vkSetEvent {
673 VkDevice device;
674 VkEvent event;
675
676 VkResult ret;
677 };
678
679 struct vn_command_vkResetEvent {
680 VkDevice device;
681 VkEvent event;
682
683 VkResult ret;
684 };
685
686 struct vn_command_vkCreateQueryPool {
687 VkDevice device;
688 const VkQueryPoolCreateInfo* pCreateInfo;
689 const VkAllocationCallbacks* pAllocator;
690 VkQueryPool* pQueryPool;
691
692 VkResult ret;
693 };
694
695 struct vn_command_vkDestroyQueryPool {
696 VkDevice device;
697 VkQueryPool queryPool;
698 const VkAllocationCallbacks* pAllocator;
699 };
700
701 struct vn_command_vkGetQueryPoolResults {
702 VkDevice device;
703 VkQueryPool queryPool;
704 uint32_t firstQuery;
705 uint32_t queryCount;
706 size_t dataSize;
707 void* pData;
708 VkDeviceSize stride;
709 VkQueryResultFlags flags;
710
711 VkResult ret;
712 };
713
714 struct vn_command_vkResetQueryPool {
715 VkDevice device;
716 VkQueryPool queryPool;
717 uint32_t firstQuery;
718 uint32_t queryCount;
719 };
720
721 struct vn_command_vkCreateBuffer {
722 VkDevice device;
723 const VkBufferCreateInfo* pCreateInfo;
724 const VkAllocationCallbacks* pAllocator;
725 VkBuffer* pBuffer;
726
727 VkResult ret;
728 };
729
730 struct vn_command_vkDestroyBuffer {
731 VkDevice device;
732 VkBuffer buffer;
733 const VkAllocationCallbacks* pAllocator;
734 };
735
736 struct vn_command_vkCreateBufferView {
737 VkDevice device;
738 const VkBufferViewCreateInfo* pCreateInfo;
739 const VkAllocationCallbacks* pAllocator;
740 VkBufferView* pView;
741
742 VkResult ret;
743 };
744
745 struct vn_command_vkDestroyBufferView {
746 VkDevice device;
747 VkBufferView bufferView;
748 const VkAllocationCallbacks* pAllocator;
749 };
750
751 struct vn_command_vkCreateImage {
752 VkDevice device;
753 const VkImageCreateInfo* pCreateInfo;
754 const VkAllocationCallbacks* pAllocator;
755 VkImage* pImage;
756
757 VkResult ret;
758 };
759
760 struct vn_command_vkDestroyImage {
761 VkDevice device;
762 VkImage image;
763 const VkAllocationCallbacks* pAllocator;
764 };
765
766 struct vn_command_vkGetImageSubresourceLayout {
767 VkDevice device;
768 VkImage image;
769 const VkImageSubresource* pSubresource;
770 VkSubresourceLayout* pLayout;
771 };
772
773 struct vn_command_vkCreateImageView {
774 VkDevice device;
775 const VkImageViewCreateInfo* pCreateInfo;
776 const VkAllocationCallbacks* pAllocator;
777 VkImageView* pView;
778
779 VkResult ret;
780 };
781
782 struct vn_command_vkDestroyImageView {
783 VkDevice device;
784 VkImageView imageView;
785 const VkAllocationCallbacks* pAllocator;
786 };
787
788 struct vn_command_vkCreateShaderModule {
789 VkDevice device;
790 const VkShaderModuleCreateInfo* pCreateInfo;
791 const VkAllocationCallbacks* pAllocator;
792 VkShaderModule* pShaderModule;
793
794 VkResult ret;
795 };
796
797 struct vn_command_vkDestroyShaderModule {
798 VkDevice device;
799 VkShaderModule shaderModule;
800 const VkAllocationCallbacks* pAllocator;
801 };
802
803 struct vn_command_vkCreatePipelineCache {
804 VkDevice device;
805 const VkPipelineCacheCreateInfo* pCreateInfo;
806 const VkAllocationCallbacks* pAllocator;
807 VkPipelineCache* pPipelineCache;
808
809 VkResult ret;
810 };
811
812 struct vn_command_vkDestroyPipelineCache {
813 VkDevice device;
814 VkPipelineCache pipelineCache;
815 const VkAllocationCallbacks* pAllocator;
816 };
817
818 struct vn_command_vkGetPipelineCacheData {
819 VkDevice device;
820 VkPipelineCache pipelineCache;
821 size_t* pDataSize;
822 void* pData;
823
824 VkResult ret;
825 };
826
827 struct vn_command_vkMergePipelineCaches {
828 VkDevice device;
829 VkPipelineCache dstCache;
830 uint32_t srcCacheCount;
831 const VkPipelineCache* pSrcCaches;
832
833 VkResult ret;
834 };
835
836 struct vn_command_vkCreateGraphicsPipelines {
837 VkDevice device;
838 VkPipelineCache pipelineCache;
839 uint32_t createInfoCount;
840 const VkGraphicsPipelineCreateInfo* pCreateInfos;
841 const VkAllocationCallbacks* pAllocator;
842 VkPipeline* pPipelines;
843
844 VkResult ret;
845 };
846
847 struct vn_command_vkCreateComputePipelines {
848 VkDevice device;
849 VkPipelineCache pipelineCache;
850 uint32_t createInfoCount;
851 const VkComputePipelineCreateInfo* pCreateInfos;
852 const VkAllocationCallbacks* pAllocator;
853 VkPipeline* pPipelines;
854
855 VkResult ret;
856 };
857
858 struct vn_command_vkDestroyPipeline {
859 VkDevice device;
860 VkPipeline pipeline;
861 const VkAllocationCallbacks* pAllocator;
862 };
863
864 struct vn_command_vkCreatePipelineLayout {
865 VkDevice device;
866 const VkPipelineLayoutCreateInfo* pCreateInfo;
867 const VkAllocationCallbacks* pAllocator;
868 VkPipelineLayout* pPipelineLayout;
869
870 VkResult ret;
871 };
872
873 struct vn_command_vkDestroyPipelineLayout {
874 VkDevice device;
875 VkPipelineLayout pipelineLayout;
876 const VkAllocationCallbacks* pAllocator;
877 };
878
879 struct vn_command_vkCreateSampler {
880 VkDevice device;
881 const VkSamplerCreateInfo* pCreateInfo;
882 const VkAllocationCallbacks* pAllocator;
883 VkSampler* pSampler;
884
885 VkResult ret;
886 };
887
888 struct vn_command_vkDestroySampler {
889 VkDevice device;
890 VkSampler sampler;
891 const VkAllocationCallbacks* pAllocator;
892 };
893
894 struct vn_command_vkCreateDescriptorSetLayout {
895 VkDevice device;
896 const VkDescriptorSetLayoutCreateInfo* pCreateInfo;
897 const VkAllocationCallbacks* pAllocator;
898 VkDescriptorSetLayout* pSetLayout;
899
900 VkResult ret;
901 };
902
903 struct vn_command_vkDestroyDescriptorSetLayout {
904 VkDevice device;
905 VkDescriptorSetLayout descriptorSetLayout;
906 const VkAllocationCallbacks* pAllocator;
907 };
908
909 struct vn_command_vkCreateDescriptorPool {
910 VkDevice device;
911 const VkDescriptorPoolCreateInfo* pCreateInfo;
912 const VkAllocationCallbacks* pAllocator;
913 VkDescriptorPool* pDescriptorPool;
914
915 VkResult ret;
916 };
917
918 struct vn_command_vkDestroyDescriptorPool {
919 VkDevice device;
920 VkDescriptorPool descriptorPool;
921 const VkAllocationCallbacks* pAllocator;
922 };
923
924 struct vn_command_vkResetDescriptorPool {
925 VkDevice device;
926 VkDescriptorPool descriptorPool;
927 VkDescriptorPoolResetFlags flags;
928
929 VkResult ret;
930 };
931
932 struct vn_command_vkAllocateDescriptorSets {
933 VkDevice device;
934 const VkDescriptorSetAllocateInfo* pAllocateInfo;
935 VkDescriptorSet* pDescriptorSets;
936
937 VkResult ret;
938 };
939
940 struct vn_command_vkFreeDescriptorSets {
941 VkDevice device;
942 VkDescriptorPool descriptorPool;
943 uint32_t descriptorSetCount;
944 const VkDescriptorSet* pDescriptorSets;
945
946 VkResult ret;
947 };
948
949 struct vn_command_vkUpdateDescriptorSets {
950 VkDevice device;
951 uint32_t descriptorWriteCount;
952 const VkWriteDescriptorSet* pDescriptorWrites;
953 uint32_t descriptorCopyCount;
954 const VkCopyDescriptorSet* pDescriptorCopies;
955 };
956
957 struct vn_command_vkCreateFramebuffer {
958 VkDevice device;
959 const VkFramebufferCreateInfo* pCreateInfo;
960 const VkAllocationCallbacks* pAllocator;
961 VkFramebuffer* pFramebuffer;
962
963 VkResult ret;
964 };
965
966 struct vn_command_vkDestroyFramebuffer {
967 VkDevice device;
968 VkFramebuffer framebuffer;
969 const VkAllocationCallbacks* pAllocator;
970 };
971
972 struct vn_command_vkCreateRenderPass {
973 VkDevice device;
974 const VkRenderPassCreateInfo* pCreateInfo;
975 const VkAllocationCallbacks* pAllocator;
976 VkRenderPass* pRenderPass;
977
978 VkResult ret;
979 };
980
981 struct vn_command_vkDestroyRenderPass {
982 VkDevice device;
983 VkRenderPass renderPass;
984 const VkAllocationCallbacks* pAllocator;
985 };
986
987 struct vn_command_vkGetRenderAreaGranularity {
988 VkDevice device;
989 VkRenderPass renderPass;
990 VkExtent2D* pGranularity;
991 };
992
993 struct vn_command_vkCreateCommandPool {
994 VkDevice device;
995 const VkCommandPoolCreateInfo* pCreateInfo;
996 const VkAllocationCallbacks* pAllocator;
997 VkCommandPool* pCommandPool;
998
999 VkResult ret;
1000 };
1001
1002 struct vn_command_vkDestroyCommandPool {
1003 VkDevice device;
1004 VkCommandPool commandPool;
1005 const VkAllocationCallbacks* pAllocator;
1006 };
1007
1008 struct vn_command_vkResetCommandPool {
1009 VkDevice device;
1010 VkCommandPool commandPool;
1011 VkCommandPoolResetFlags flags;
1012
1013 VkResult ret;
1014 };
1015
1016 struct vn_command_vkAllocateCommandBuffers {
1017 VkDevice device;
1018 const VkCommandBufferAllocateInfo* pAllocateInfo;
1019 VkCommandBuffer* pCommandBuffers;
1020
1021 VkResult ret;
1022 };
1023
1024 struct vn_command_vkFreeCommandBuffers {
1025 VkDevice device;
1026 VkCommandPool commandPool;
1027 uint32_t commandBufferCount;
1028 const VkCommandBuffer* pCommandBuffers;
1029 };
1030
1031 struct vn_command_vkBeginCommandBuffer {
1032 VkCommandBuffer commandBuffer;
1033 const VkCommandBufferBeginInfo* pBeginInfo;
1034
1035 VkResult ret;
1036 };
1037
1038 struct vn_command_vkEndCommandBuffer {
1039 VkCommandBuffer commandBuffer;
1040
1041 VkResult ret;
1042 };
1043
1044 struct vn_command_vkResetCommandBuffer {
1045 VkCommandBuffer commandBuffer;
1046 VkCommandBufferResetFlags flags;
1047
1048 VkResult ret;
1049 };
1050
1051 struct vn_command_vkCmdBindPipeline {
1052 VkCommandBuffer commandBuffer;
1053 VkPipelineBindPoint pipelineBindPoint;
1054 VkPipeline pipeline;
1055 };
1056
1057 struct vn_command_vkCmdSetViewport {
1058 VkCommandBuffer commandBuffer;
1059 uint32_t firstViewport;
1060 uint32_t viewportCount;
1061 const VkViewport* pViewports;
1062 };
1063
1064 struct vn_command_vkCmdSetScissor {
1065 VkCommandBuffer commandBuffer;
1066 uint32_t firstScissor;
1067 uint32_t scissorCount;
1068 const VkRect2D* pScissors;
1069 };
1070
1071 struct vn_command_vkCmdSetLineWidth {
1072 VkCommandBuffer commandBuffer;
1073 float lineWidth;
1074 };
1075
1076 struct vn_command_vkCmdSetDepthBias {
1077 VkCommandBuffer commandBuffer;
1078 float depthBiasConstantFactor;
1079 float depthBiasClamp;
1080 float depthBiasSlopeFactor;
1081 };
1082
1083 struct vn_command_vkCmdSetBlendConstants {
1084 VkCommandBuffer commandBuffer;
1085 const float blendConstants[4];
1086 };
1087
1088 struct vn_command_vkCmdSetDepthBounds {
1089 VkCommandBuffer commandBuffer;
1090 float minDepthBounds;
1091 float maxDepthBounds;
1092 };
1093
1094 struct vn_command_vkCmdSetStencilCompareMask {
1095 VkCommandBuffer commandBuffer;
1096 VkStencilFaceFlags faceMask;
1097 uint32_t compareMask;
1098 };
1099
1100 struct vn_command_vkCmdSetStencilWriteMask {
1101 VkCommandBuffer commandBuffer;
1102 VkStencilFaceFlags faceMask;
1103 uint32_t writeMask;
1104 };
1105
1106 struct vn_command_vkCmdSetStencilReference {
1107 VkCommandBuffer commandBuffer;
1108 VkStencilFaceFlags faceMask;
1109 uint32_t reference;
1110 };
1111
1112 struct vn_command_vkCmdBindDescriptorSets {
1113 VkCommandBuffer commandBuffer;
1114 VkPipelineBindPoint pipelineBindPoint;
1115 VkPipelineLayout layout;
1116 uint32_t firstSet;
1117 uint32_t descriptorSetCount;
1118 const VkDescriptorSet* pDescriptorSets;
1119 uint32_t dynamicOffsetCount;
1120 const uint32_t* pDynamicOffsets;
1121 };
1122
1123 struct vn_command_vkCmdBindIndexBuffer {
1124 VkCommandBuffer commandBuffer;
1125 VkBuffer buffer;
1126 VkDeviceSize offset;
1127 VkIndexType indexType;
1128 };
1129
1130 struct vn_command_vkCmdBindVertexBuffers {
1131 VkCommandBuffer commandBuffer;
1132 uint32_t firstBinding;
1133 uint32_t bindingCount;
1134 const VkBuffer* pBuffers;
1135 const VkDeviceSize* pOffsets;
1136 };
1137
1138 struct vn_command_vkCmdDraw {
1139 VkCommandBuffer commandBuffer;
1140 uint32_t vertexCount;
1141 uint32_t instanceCount;
1142 uint32_t firstVertex;
1143 uint32_t firstInstance;
1144 };
1145
1146 struct vn_command_vkCmdDrawIndexed {
1147 VkCommandBuffer commandBuffer;
1148 uint32_t indexCount;
1149 uint32_t instanceCount;
1150 uint32_t firstIndex;
1151 int32_t vertexOffset;
1152 uint32_t firstInstance;
1153 };
1154
1155 struct vn_command_vkCmdDrawIndirect {
1156 VkCommandBuffer commandBuffer;
1157 VkBuffer buffer;
1158 VkDeviceSize offset;
1159 uint32_t drawCount;
1160 uint32_t stride;
1161 };
1162
1163 struct vn_command_vkCmdDrawIndexedIndirect {
1164 VkCommandBuffer commandBuffer;
1165 VkBuffer buffer;
1166 VkDeviceSize offset;
1167 uint32_t drawCount;
1168 uint32_t stride;
1169 };
1170
1171 struct vn_command_vkCmdDispatch {
1172 VkCommandBuffer commandBuffer;
1173 uint32_t groupCountX;
1174 uint32_t groupCountY;
1175 uint32_t groupCountZ;
1176 };
1177
1178 struct vn_command_vkCmdDispatchIndirect {
1179 VkCommandBuffer commandBuffer;
1180 VkBuffer buffer;
1181 VkDeviceSize offset;
1182 };
1183
1184 struct vn_command_vkCmdCopyBuffer {
1185 VkCommandBuffer commandBuffer;
1186 VkBuffer srcBuffer;
1187 VkBuffer dstBuffer;
1188 uint32_t regionCount;
1189 const VkBufferCopy* pRegions;
1190 };
1191
1192 struct vn_command_vkCmdCopyImage {
1193 VkCommandBuffer commandBuffer;
1194 VkImage srcImage;
1195 VkImageLayout srcImageLayout;
1196 VkImage dstImage;
1197 VkImageLayout dstImageLayout;
1198 uint32_t regionCount;
1199 const VkImageCopy* pRegions;
1200 };
1201
1202 struct vn_command_vkCmdBlitImage {
1203 VkCommandBuffer commandBuffer;
1204 VkImage srcImage;
1205 VkImageLayout srcImageLayout;
1206 VkImage dstImage;
1207 VkImageLayout dstImageLayout;
1208 uint32_t regionCount;
1209 const VkImageBlit* pRegions;
1210 VkFilter filter;
1211 };
1212
1213 struct vn_command_vkCmdCopyBufferToImage {
1214 VkCommandBuffer commandBuffer;
1215 VkBuffer srcBuffer;
1216 VkImage dstImage;
1217 VkImageLayout dstImageLayout;
1218 uint32_t regionCount;
1219 const VkBufferImageCopy* pRegions;
1220 };
1221
1222 struct vn_command_vkCmdCopyImageToBuffer {
1223 VkCommandBuffer commandBuffer;
1224 VkImage srcImage;
1225 VkImageLayout srcImageLayout;
1226 VkBuffer dstBuffer;
1227 uint32_t regionCount;
1228 const VkBufferImageCopy* pRegions;
1229 };
1230
1231 struct vn_command_vkCmdUpdateBuffer {
1232 VkCommandBuffer commandBuffer;
1233 VkBuffer dstBuffer;
1234 VkDeviceSize dstOffset;
1235 VkDeviceSize dataSize;
1236 const void* pData;
1237 };
1238
1239 struct vn_command_vkCmdFillBuffer {
1240 VkCommandBuffer commandBuffer;
1241 VkBuffer dstBuffer;
1242 VkDeviceSize dstOffset;
1243 VkDeviceSize size;
1244 uint32_t data;
1245 };
1246
1247 struct vn_command_vkCmdClearColorImage {
1248 VkCommandBuffer commandBuffer;
1249 VkImage image;
1250 VkImageLayout imageLayout;
1251 const VkClearColorValue* pColor;
1252 uint32_t rangeCount;
1253 const VkImageSubresourceRange* pRanges;
1254 };
1255
1256 struct vn_command_vkCmdClearDepthStencilImage {
1257 VkCommandBuffer commandBuffer;
1258 VkImage image;
1259 VkImageLayout imageLayout;
1260 const VkClearDepthStencilValue* pDepthStencil;
1261 uint32_t rangeCount;
1262 const VkImageSubresourceRange* pRanges;
1263 };
1264
1265 struct vn_command_vkCmdClearAttachments {
1266 VkCommandBuffer commandBuffer;
1267 uint32_t attachmentCount;
1268 const VkClearAttachment* pAttachments;
1269 uint32_t rectCount;
1270 const VkClearRect* pRects;
1271 };
1272
1273 struct vn_command_vkCmdResolveImage {
1274 VkCommandBuffer commandBuffer;
1275 VkImage srcImage;
1276 VkImageLayout srcImageLayout;
1277 VkImage dstImage;
1278 VkImageLayout dstImageLayout;
1279 uint32_t regionCount;
1280 const VkImageResolve* pRegions;
1281 };
1282
1283 struct vn_command_vkCmdSetEvent {
1284 VkCommandBuffer commandBuffer;
1285 VkEvent event;
1286 VkPipelineStageFlags stageMask;
1287 };
1288
1289 struct vn_command_vkCmdResetEvent {
1290 VkCommandBuffer commandBuffer;
1291 VkEvent event;
1292 VkPipelineStageFlags stageMask;
1293 };
1294
1295 struct vn_command_vkCmdWaitEvents {
1296 VkCommandBuffer commandBuffer;
1297 uint32_t eventCount;
1298 const VkEvent* pEvents;
1299 VkPipelineStageFlags srcStageMask;
1300 VkPipelineStageFlags dstStageMask;
1301 uint32_t memoryBarrierCount;
1302 const VkMemoryBarrier* pMemoryBarriers;
1303 uint32_t bufferMemoryBarrierCount;
1304 const VkBufferMemoryBarrier* pBufferMemoryBarriers;
1305 uint32_t imageMemoryBarrierCount;
1306 const VkImageMemoryBarrier* pImageMemoryBarriers;
1307 };
1308
1309 struct vn_command_vkCmdPipelineBarrier {
1310 VkCommandBuffer commandBuffer;
1311 VkPipelineStageFlags srcStageMask;
1312 VkPipelineStageFlags dstStageMask;
1313 VkDependencyFlags dependencyFlags;
1314 uint32_t memoryBarrierCount;
1315 const VkMemoryBarrier* pMemoryBarriers;
1316 uint32_t bufferMemoryBarrierCount;
1317 const VkBufferMemoryBarrier* pBufferMemoryBarriers;
1318 uint32_t imageMemoryBarrierCount;
1319 const VkImageMemoryBarrier* pImageMemoryBarriers;
1320 };
1321
1322 struct vn_command_vkCmdBeginQuery {
1323 VkCommandBuffer commandBuffer;
1324 VkQueryPool queryPool;
1325 uint32_t query;
1326 VkQueryControlFlags flags;
1327 };
1328
1329 struct vn_command_vkCmdEndQuery {
1330 VkCommandBuffer commandBuffer;
1331 VkQueryPool queryPool;
1332 uint32_t query;
1333 };
1334
1335 struct vn_command_vkCmdResetQueryPool {
1336 VkCommandBuffer commandBuffer;
1337 VkQueryPool queryPool;
1338 uint32_t firstQuery;
1339 uint32_t queryCount;
1340 };
1341
1342 struct vn_command_vkCmdWriteTimestamp {
1343 VkCommandBuffer commandBuffer;
1344 VkPipelineStageFlagBits pipelineStage;
1345 VkQueryPool queryPool;
1346 uint32_t query;
1347 };
1348
1349 struct vn_command_vkCmdCopyQueryPoolResults {
1350 VkCommandBuffer commandBuffer;
1351 VkQueryPool queryPool;
1352 uint32_t firstQuery;
1353 uint32_t queryCount;
1354 VkBuffer dstBuffer;
1355 VkDeviceSize dstOffset;
1356 VkDeviceSize stride;
1357 VkQueryResultFlags flags;
1358 };
1359
1360 struct vn_command_vkCmdPushConstants {
1361 VkCommandBuffer commandBuffer;
1362 VkPipelineLayout layout;
1363 VkShaderStageFlags stageFlags;
1364 uint32_t offset;
1365 uint32_t size;
1366 const void* pValues;
1367 };
1368
1369 struct vn_command_vkCmdBeginRenderPass {
1370 VkCommandBuffer commandBuffer;
1371 const VkRenderPassBeginInfo* pRenderPassBegin;
1372 VkSubpassContents contents;
1373 };
1374
1375 struct vn_command_vkCmdNextSubpass {
1376 VkCommandBuffer commandBuffer;
1377 VkSubpassContents contents;
1378 };
1379
1380 struct vn_command_vkCmdEndRenderPass {
1381 VkCommandBuffer commandBuffer;
1382 };
1383
1384 struct vn_command_vkCmdExecuteCommands {
1385 VkCommandBuffer commandBuffer;
1386 uint32_t commandBufferCount;
1387 const VkCommandBuffer* pCommandBuffers;
1388 };
1389
1390 struct vn_command_vkGetPhysicalDeviceFeatures2 {
1391 VkPhysicalDevice physicalDevice;
1392 VkPhysicalDeviceFeatures2* pFeatures;
1393 };
1394
1395 struct vn_command_vkGetPhysicalDeviceProperties2 {
1396 VkPhysicalDevice physicalDevice;
1397 VkPhysicalDeviceProperties2* pProperties;
1398 };
1399
1400 struct vn_command_vkGetPhysicalDeviceFormatProperties2 {
1401 VkPhysicalDevice physicalDevice;
1402 VkFormat format;
1403 VkFormatProperties2* pFormatProperties;
1404 };
1405
1406 struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 {
1407 VkPhysicalDevice physicalDevice;
1408 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo;
1409 VkImageFormatProperties2* pImageFormatProperties;
1410
1411 VkResult ret;
1412 };
1413
1414 struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 {
1415 VkPhysicalDevice physicalDevice;
1416 uint32_t* pQueueFamilyPropertyCount;
1417 VkQueueFamilyProperties2* pQueueFamilyProperties;
1418 };
1419
1420 struct vn_command_vkGetPhysicalDeviceMemoryProperties2 {
1421 VkPhysicalDevice physicalDevice;
1422 VkPhysicalDeviceMemoryProperties2* pMemoryProperties;
1423 };
1424
1425 struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 {
1426 VkPhysicalDevice physicalDevice;
1427 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo;
1428 uint32_t* pPropertyCount;
1429 VkSparseImageFormatProperties2* pProperties;
1430 };
1431
1432 struct vn_command_vkTrimCommandPool {
1433 VkDevice device;
1434 VkCommandPool commandPool;
1435 VkCommandPoolTrimFlags flags;
1436 };
1437
1438 struct vn_command_vkGetPhysicalDeviceExternalBufferProperties {
1439 VkPhysicalDevice physicalDevice;
1440 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo;
1441 VkExternalBufferProperties* pExternalBufferProperties;
1442 };
1443
1444 struct vn_command_vkGetMemoryFdKHR {
1445 VkDevice device;
1446 const VkMemoryGetFdInfoKHR* pGetFdInfo;
1447 int* pFd;
1448
1449 VkResult ret;
1450 };
1451
1452 struct vn_command_vkGetMemoryFdPropertiesKHR {
1453 VkDevice device;
1454 VkExternalMemoryHandleTypeFlagBits handleType;
1455 int fd;
1456 VkMemoryFdPropertiesKHR* pMemoryFdProperties;
1457
1458 VkResult ret;
1459 };
1460
1461 struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties {
1462 VkPhysicalDevice physicalDevice;
1463 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo;
1464 VkExternalSemaphoreProperties* pExternalSemaphoreProperties;
1465 };
1466
1467 struct vn_command_vkGetPhysicalDeviceExternalFenceProperties {
1468 VkPhysicalDevice physicalDevice;
1469 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo;
1470 VkExternalFenceProperties* pExternalFenceProperties;
1471 };
1472
1473 struct vn_command_vkEnumeratePhysicalDeviceGroups {
1474 VkInstance instance;
1475 uint32_t* pPhysicalDeviceGroupCount;
1476 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties;
1477
1478 VkResult ret;
1479 };
1480
1481 struct vn_command_vkGetDeviceGroupPeerMemoryFeatures {
1482 VkDevice device;
1483 uint32_t heapIndex;
1484 uint32_t localDeviceIndex;
1485 uint32_t remoteDeviceIndex;
1486 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures;
1487 };
1488
1489 struct vn_command_vkBindBufferMemory2 {
1490 VkDevice device;
1491 uint32_t bindInfoCount;
1492 const VkBindBufferMemoryInfo* pBindInfos;
1493
1494 VkResult ret;
1495 };
1496
1497 struct vn_command_vkBindImageMemory2 {
1498 VkDevice device;
1499 uint32_t bindInfoCount;
1500 const VkBindImageMemoryInfo* pBindInfos;
1501
1502 VkResult ret;
1503 };
1504
1505 struct vn_command_vkCmdSetDeviceMask {
1506 VkCommandBuffer commandBuffer;
1507 uint32_t deviceMask;
1508 };
1509
1510 struct vn_command_vkCmdDispatchBase {
1511 VkCommandBuffer commandBuffer;
1512 uint32_t baseGroupX;
1513 uint32_t baseGroupY;
1514 uint32_t baseGroupZ;
1515 uint32_t groupCountX;
1516 uint32_t groupCountY;
1517 uint32_t groupCountZ;
1518 };
1519
1520 struct vn_command_vkCreateDescriptorUpdateTemplate {
1521 VkDevice device;
1522 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo;
1523 const VkAllocationCallbacks* pAllocator;
1524 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate;
1525
1526 VkResult ret;
1527 };
1528
1529 struct vn_command_vkDestroyDescriptorUpdateTemplate {
1530 VkDevice device;
1531 VkDescriptorUpdateTemplate descriptorUpdateTemplate;
1532 const VkAllocationCallbacks* pAllocator;
1533 };
1534
1535 struct vn_command_vkUpdateDescriptorSetWithTemplate {
1536 VkDevice device;
1537 VkDescriptorSet descriptorSet;
1538 VkDescriptorUpdateTemplate descriptorUpdateTemplate;
1539 const void* pData;
1540 };
1541
1542 struct vn_command_vkGetBufferMemoryRequirements2 {
1543 VkDevice device;
1544 const VkBufferMemoryRequirementsInfo2* pInfo;
1545 VkMemoryRequirements2* pMemoryRequirements;
1546 };
1547
1548 struct vn_command_vkGetImageMemoryRequirements2 {
1549 VkDevice device;
1550 const VkImageMemoryRequirementsInfo2* pInfo;
1551 VkMemoryRequirements2* pMemoryRequirements;
1552 };
1553
1554 struct vn_command_vkGetImageSparseMemoryRequirements2 {
1555 VkDevice device;
1556 const VkImageSparseMemoryRequirementsInfo2* pInfo;
1557 uint32_t* pSparseMemoryRequirementCount;
1558 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements;
1559 };
1560
1561 struct vn_command_vkCreateSamplerYcbcrConversion {
1562 VkDevice device;
1563 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo;
1564 const VkAllocationCallbacks* pAllocator;
1565 VkSamplerYcbcrConversion* pYcbcrConversion;
1566
1567 VkResult ret;
1568 };
1569
1570 struct vn_command_vkDestroySamplerYcbcrConversion {
1571 VkDevice device;
1572 VkSamplerYcbcrConversion ycbcrConversion;
1573 const VkAllocationCallbacks* pAllocator;
1574 };
1575
1576 struct vn_command_vkGetDeviceQueue2 {
1577 VkDevice device;
1578 const VkDeviceQueueInfo2* pQueueInfo;
1579 VkQueue* pQueue;
1580 };
1581
1582 struct vn_command_vkGetDescriptorSetLayoutSupport {
1583 VkDevice device;
1584 const VkDescriptorSetLayoutCreateInfo* pCreateInfo;
1585 VkDescriptorSetLayoutSupport* pSupport;
1586 };
1587
1588 struct vn_command_vkCreateRenderPass2 {
1589 VkDevice device;
1590 const VkRenderPassCreateInfo2* pCreateInfo;
1591 const VkAllocationCallbacks* pAllocator;
1592 VkRenderPass* pRenderPass;
1593
1594 VkResult ret;
1595 };
1596
1597 struct vn_command_vkCmdBeginRenderPass2 {
1598 VkCommandBuffer commandBuffer;
1599 const VkRenderPassBeginInfo* pRenderPassBegin;
1600 const VkSubpassBeginInfo* pSubpassBeginInfo;
1601 };
1602
1603 struct vn_command_vkCmdNextSubpass2 {
1604 VkCommandBuffer commandBuffer;
1605 const VkSubpassBeginInfo* pSubpassBeginInfo;
1606 const VkSubpassEndInfo* pSubpassEndInfo;
1607 };
1608
1609 struct vn_command_vkCmdEndRenderPass2 {
1610 VkCommandBuffer commandBuffer;
1611 const VkSubpassEndInfo* pSubpassEndInfo;
1612 };
1613
1614 struct vn_command_vkGetSemaphoreCounterValue {
1615 VkDevice device;
1616 VkSemaphore semaphore;
1617 uint64_t* pValue;
1618
1619 VkResult ret;
1620 };
1621
1622 struct vn_command_vkWaitSemaphores {
1623 VkDevice device;
1624 const VkSemaphoreWaitInfo* pWaitInfo;
1625 uint64_t timeout;
1626
1627 VkResult ret;
1628 };
1629
1630 struct vn_command_vkSignalSemaphore {
1631 VkDevice device;
1632 const VkSemaphoreSignalInfo* pSignalInfo;
1633
1634 VkResult ret;
1635 };
1636
1637 struct vn_command_vkCmdDrawIndirectCount {
1638 VkCommandBuffer commandBuffer;
1639 VkBuffer buffer;
1640 VkDeviceSize offset;
1641 VkBuffer countBuffer;
1642 VkDeviceSize countBufferOffset;
1643 uint32_t maxDrawCount;
1644 uint32_t stride;
1645 };
1646
1647 struct vn_command_vkCmdDrawIndexedIndirectCount {
1648 VkCommandBuffer commandBuffer;
1649 VkBuffer buffer;
1650 VkDeviceSize offset;
1651 VkBuffer countBuffer;
1652 VkDeviceSize countBufferOffset;
1653 uint32_t maxDrawCount;
1654 uint32_t stride;
1655 };
1656
1657 struct vn_command_vkCmdBindTransformFeedbackBuffersEXT {
1658 VkCommandBuffer commandBuffer;
1659 uint32_t firstBinding;
1660 uint32_t bindingCount;
1661 const VkBuffer* pBuffers;
1662 const VkDeviceSize* pOffsets;
1663 const VkDeviceSize* pSizes;
1664 };
1665
1666 struct vn_command_vkCmdBeginTransformFeedbackEXT {
1667 VkCommandBuffer commandBuffer;
1668 uint32_t firstCounterBuffer;
1669 uint32_t counterBufferCount;
1670 const VkBuffer* pCounterBuffers;
1671 const VkDeviceSize* pCounterBufferOffsets;
1672 };
1673
1674 struct vn_command_vkCmdEndTransformFeedbackEXT {
1675 VkCommandBuffer commandBuffer;
1676 uint32_t firstCounterBuffer;
1677 uint32_t counterBufferCount;
1678 const VkBuffer* pCounterBuffers;
1679 const VkDeviceSize* pCounterBufferOffsets;
1680 };
1681
1682 struct vn_command_vkCmdBeginQueryIndexedEXT {
1683 VkCommandBuffer commandBuffer;
1684 VkQueryPool queryPool;
1685 uint32_t query;
1686 VkQueryControlFlags flags;
1687 uint32_t index;
1688 };
1689
1690 struct vn_command_vkCmdEndQueryIndexedEXT {
1691 VkCommandBuffer commandBuffer;
1692 VkQueryPool queryPool;
1693 uint32_t query;
1694 uint32_t index;
1695 };
1696
1697 struct vn_command_vkCmdDrawIndirectByteCountEXT {
1698 VkCommandBuffer commandBuffer;
1699 uint32_t instanceCount;
1700 uint32_t firstInstance;
1701 VkBuffer counterBuffer;
1702 VkDeviceSize counterBufferOffset;
1703 uint32_t counterOffset;
1704 uint32_t vertexStride;
1705 };
1706
1707 struct vn_command_vkGetImageDrmFormatModifierPropertiesEXT {
1708 VkDevice device;
1709 VkImage image;
1710 VkImageDrmFormatModifierPropertiesEXT* pProperties;
1711
1712 VkResult ret;
1713 };
1714
1715 struct vn_command_vkGetBufferOpaqueCaptureAddress {
1716 VkDevice device;
1717 const VkBufferDeviceAddressInfo* pInfo;
1718
1719 uint64_t ret;
1720 };
1721
1722 struct vn_command_vkGetBufferDeviceAddress {
1723 VkDevice device;
1724 const VkBufferDeviceAddressInfo* pInfo;
1725
1726 VkDeviceAddress ret;
1727 };
1728
1729 struct vn_command_vkGetDeviceMemoryOpaqueCaptureAddress {
1730 VkDevice device;
1731 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo;
1732
1733 uint64_t ret;
1734 };
1735
1736 struct vn_command_vkSetReplyCommandStreamMESA {
1737 const VkCommandStreamDescriptionMESA* pStream;
1738 };
1739
1740 struct vn_command_vkSeekReplyCommandStreamMESA {
1741 size_t position;
1742 };
1743
1744 struct vn_command_vkExecuteCommandStreamsMESA {
1745 uint32_t streamCount;
1746 const VkCommandStreamDescriptionMESA* pStreams;
1747 const size_t* pReplyPositions;
1748 uint32_t dependencyCount;
1749 const VkCommandStreamDependencyMESA* pDependencies;
1750 VkCommandStreamExecutionFlagsMESA flags;
1751 };
1752
1753 struct vn_command_vkCreateRingMESA {
1754 uint64_t ring;
1755 const VkRingCreateInfoMESA* pCreateInfo;
1756 };
1757
1758 struct vn_command_vkDestroyRingMESA {
1759 uint64_t ring;
1760 };
1761
1762 struct vn_command_vkNotifyRingMESA {
1763 uint64_t ring;
1764 uint32_t seqno;
1765 VkRingNotifyFlagsMESA flags;
1766 };
1767
1768 struct vn_command_vkWriteRingExtraMESA {
1769 uint64_t ring;
1770 size_t offset;
1771 uint32_t value;
1772 };
1773
1774 struct vn_command_vkGetMemoryResourcePropertiesMESA {
1775 VkDevice device;
1776 uint32_t resourceId;
1777 VkMemoryResourcePropertiesMESA* pMemoryResourceProperties;
1778
1779 VkResult ret;
1780 };
1781
1782 struct vn_command_vkGetVenusExperimentalFeatureData100000MESA {
1783 size_t* pDataSize;
1784 void* pData;
1785 };
1786
1787 struct vn_dispatch_context {
1788 void *data;
1789 void (*debug_log)(struct vn_dispatch_context *ctx, const char *msg);
1790
1791 struct vn_cs_encoder *encoder;
1792 struct vn_cs_decoder *decoder;
1793
1794 void (*dispatch_vkCreateInstance)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateInstance *args);
1795 void (*dispatch_vkDestroyInstance)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyInstance *args);
1796 void (*dispatch_vkEnumeratePhysicalDevices)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumeratePhysicalDevices *args);
1797 void (*dispatch_vkGetDeviceProcAddr)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceProcAddr *args);
1798 void (*dispatch_vkGetInstanceProcAddr)(struct vn_dispatch_context *ctx, struct vn_command_vkGetInstanceProcAddr *args);
1799 void (*dispatch_vkGetPhysicalDeviceProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceProperties *args);
1800 void (*dispatch_vkGetPhysicalDeviceQueueFamilyProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties *args);
1801 void (*dispatch_vkGetPhysicalDeviceMemoryProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceMemoryProperties *args);
1802 void (*dispatch_vkGetPhysicalDeviceFeatures)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFeatures *args);
1803 void (*dispatch_vkGetPhysicalDeviceFormatProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFormatProperties *args);
1804 void (*dispatch_vkGetPhysicalDeviceImageFormatProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceImageFormatProperties *args);
1805 void (*dispatch_vkCreateDevice)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDevice *args);
1806 void (*dispatch_vkDestroyDevice)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDevice *args);
1807 void (*dispatch_vkEnumerateInstanceVersion)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateInstanceVersion *args);
1808 void (*dispatch_vkEnumerateInstanceLayerProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateInstanceLayerProperties *args);
1809 void (*dispatch_vkEnumerateInstanceExtensionProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateInstanceExtensionProperties *args);
1810 void (*dispatch_vkEnumerateDeviceLayerProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateDeviceLayerProperties *args);
1811 void (*dispatch_vkEnumerateDeviceExtensionProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumerateDeviceExtensionProperties *args);
1812 void (*dispatch_vkGetDeviceQueue)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceQueue *args);
1813 void (*dispatch_vkQueueSubmit)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueSubmit *args);
1814 void (*dispatch_vkQueueWaitIdle)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueWaitIdle *args);
1815 void (*dispatch_vkDeviceWaitIdle)(struct vn_dispatch_context *ctx, struct vn_command_vkDeviceWaitIdle *args);
1816 void (*dispatch_vkAllocateMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkAllocateMemory *args);
1817 void (*dispatch_vkFreeMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkFreeMemory *args);
1818 void (*dispatch_vkMapMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkMapMemory *args);
1819 void (*dispatch_vkUnmapMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkUnmapMemory *args);
1820 void (*dispatch_vkFlushMappedMemoryRanges)(struct vn_dispatch_context *ctx, struct vn_command_vkFlushMappedMemoryRanges *args);
1821 void (*dispatch_vkInvalidateMappedMemoryRanges)(struct vn_dispatch_context *ctx, struct vn_command_vkInvalidateMappedMemoryRanges *args);
1822 void (*dispatch_vkGetDeviceMemoryCommitment)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceMemoryCommitment *args);
1823 void (*dispatch_vkGetBufferMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferMemoryRequirements *args);
1824 void (*dispatch_vkBindBufferMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkBindBufferMemory *args);
1825 void (*dispatch_vkGetImageMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageMemoryRequirements *args);
1826 void (*dispatch_vkBindImageMemory)(struct vn_dispatch_context *ctx, struct vn_command_vkBindImageMemory *args);
1827 void (*dispatch_vkGetImageSparseMemoryRequirements)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageSparseMemoryRequirements *args);
1828 void (*dispatch_vkGetPhysicalDeviceSparseImageFormatProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties *args);
1829 void (*dispatch_vkQueueBindSparse)(struct vn_dispatch_context *ctx, struct vn_command_vkQueueBindSparse *args);
1830 void (*dispatch_vkCreateFence)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateFence *args);
1831 void (*dispatch_vkDestroyFence)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyFence *args);
1832 void (*dispatch_vkResetFences)(struct vn_dispatch_context *ctx, struct vn_command_vkResetFences *args);
1833 void (*dispatch_vkGetFenceStatus)(struct vn_dispatch_context *ctx, struct vn_command_vkGetFenceStatus *args);
1834 void (*dispatch_vkWaitForFences)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitForFences *args);
1835 void (*dispatch_vkCreateSemaphore)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateSemaphore *args);
1836 void (*dispatch_vkDestroySemaphore)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroySemaphore *args);
1837 void (*dispatch_vkCreateEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateEvent *args);
1838 void (*dispatch_vkDestroyEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyEvent *args);
1839 void (*dispatch_vkGetEventStatus)(struct vn_dispatch_context *ctx, struct vn_command_vkGetEventStatus *args);
1840 void (*dispatch_vkSetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkSetEvent *args);
1841 void (*dispatch_vkResetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkResetEvent *args);
1842 void (*dispatch_vkCreateQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateQueryPool *args);
1843 void (*dispatch_vkDestroyQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyQueryPool *args);
1844 void (*dispatch_vkGetQueryPoolResults)(struct vn_dispatch_context *ctx, struct vn_command_vkGetQueryPoolResults *args);
1845 void (*dispatch_vkResetQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkResetQueryPool *args);
1846 void (*dispatch_vkCreateBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateBuffer *args);
1847 void (*dispatch_vkDestroyBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyBuffer *args);
1848 void (*dispatch_vkCreateBufferView)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateBufferView *args);
1849 void (*dispatch_vkDestroyBufferView)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyBufferView *args);
1850 void (*dispatch_vkCreateImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateImage *args);
1851 void (*dispatch_vkDestroyImage)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyImage *args);
1852 void (*dispatch_vkGetImageSubresourceLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageSubresourceLayout *args);
1853 void (*dispatch_vkCreateImageView)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateImageView *args);
1854 void (*dispatch_vkDestroyImageView)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyImageView *args);
1855 void (*dispatch_vkCreateShaderModule)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateShaderModule *args);
1856 void (*dispatch_vkDestroyShaderModule)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyShaderModule *args);
1857 void (*dispatch_vkCreatePipelineCache)(struct vn_dispatch_context *ctx, struct vn_command_vkCreatePipelineCache *args);
1858 void (*dispatch_vkDestroyPipelineCache)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPipelineCache *args);
1859 void (*dispatch_vkGetPipelineCacheData)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPipelineCacheData *args);
1860 void (*dispatch_vkMergePipelineCaches)(struct vn_dispatch_context *ctx, struct vn_command_vkMergePipelineCaches *args);
1861 void (*dispatch_vkCreateGraphicsPipelines)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateGraphicsPipelines *args);
1862 void (*dispatch_vkCreateComputePipelines)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateComputePipelines *args);
1863 void (*dispatch_vkDestroyPipeline)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPipeline *args);
1864 void (*dispatch_vkCreatePipelineLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkCreatePipelineLayout *args);
1865 void (*dispatch_vkDestroyPipelineLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyPipelineLayout *args);
1866 void (*dispatch_vkCreateSampler)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateSampler *args);
1867 void (*dispatch_vkDestroySampler)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroySampler *args);
1868 void (*dispatch_vkCreateDescriptorSetLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDescriptorSetLayout *args);
1869 void (*dispatch_vkDestroyDescriptorSetLayout)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDescriptorSetLayout *args);
1870 void (*dispatch_vkCreateDescriptorPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDescriptorPool *args);
1871 void (*dispatch_vkDestroyDescriptorPool)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDescriptorPool *args);
1872 void (*dispatch_vkResetDescriptorPool)(struct vn_dispatch_context *ctx, struct vn_command_vkResetDescriptorPool *args);
1873 void (*dispatch_vkAllocateDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkAllocateDescriptorSets *args);
1874 void (*dispatch_vkFreeDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkFreeDescriptorSets *args);
1875 void (*dispatch_vkUpdateDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkUpdateDescriptorSets *args);
1876 void (*dispatch_vkCreateFramebuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateFramebuffer *args);
1877 void (*dispatch_vkDestroyFramebuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyFramebuffer *args);
1878 void (*dispatch_vkCreateRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateRenderPass *args);
1879 void (*dispatch_vkDestroyRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyRenderPass *args);
1880 void (*dispatch_vkGetRenderAreaGranularity)(struct vn_dispatch_context *ctx, struct vn_command_vkGetRenderAreaGranularity *args);
1881 void (*dispatch_vkCreateCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateCommandPool *args);
1882 void (*dispatch_vkDestroyCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyCommandPool *args);
1883 void (*dispatch_vkResetCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkResetCommandPool *args);
1884 void (*dispatch_vkAllocateCommandBuffers)(struct vn_dispatch_context *ctx, struct vn_command_vkAllocateCommandBuffers *args);
1885 void (*dispatch_vkFreeCommandBuffers)(struct vn_dispatch_context *ctx, struct vn_command_vkFreeCommandBuffers *args);
1886 void (*dispatch_vkBeginCommandBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkBeginCommandBuffer *args);
1887 void (*dispatch_vkEndCommandBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkEndCommandBuffer *args);
1888 void (*dispatch_vkResetCommandBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkResetCommandBuffer *args);
1889 void (*dispatch_vkCmdBindPipeline)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindPipeline *args);
1890 void (*dispatch_vkCmdSetViewport)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetViewport *args);
1891 void (*dispatch_vkCmdSetScissor)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetScissor *args);
1892 void (*dispatch_vkCmdSetLineWidth)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetLineWidth *args);
1893 void (*dispatch_vkCmdSetDepthBias)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthBias *args);
1894 void (*dispatch_vkCmdSetBlendConstants)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetBlendConstants *args);
1895 void (*dispatch_vkCmdSetDepthBounds)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDepthBounds *args);
1896 void (*dispatch_vkCmdSetStencilCompareMask)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilCompareMask *args);
1897 void (*dispatch_vkCmdSetStencilWriteMask)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilWriteMask *args);
1898 void (*dispatch_vkCmdSetStencilReference)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetStencilReference *args);
1899 void (*dispatch_vkCmdBindDescriptorSets)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindDescriptorSets *args);
1900 void (*dispatch_vkCmdBindIndexBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindIndexBuffer *args);
1901 void (*dispatch_vkCmdBindVertexBuffers)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindVertexBuffers *args);
1902 void (*dispatch_vkCmdDraw)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDraw *args);
1903 void (*dispatch_vkCmdDrawIndexed)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndexed *args);
1904 void (*dispatch_vkCmdDrawIndirect)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndirect *args);
1905 void (*dispatch_vkCmdDrawIndexedIndirect)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndexedIndirect *args);
1906 void (*dispatch_vkCmdDispatch)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDispatch *args);
1907 void (*dispatch_vkCmdDispatchIndirect)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDispatchIndirect *args);
1908 void (*dispatch_vkCmdCopyBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyBuffer *args);
1909 void (*dispatch_vkCmdCopyImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyImage *args);
1910 void (*dispatch_vkCmdBlitImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBlitImage *args);
1911 void (*dispatch_vkCmdCopyBufferToImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyBufferToImage *args);
1912 void (*dispatch_vkCmdCopyImageToBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyImageToBuffer *args);
1913 void (*dispatch_vkCmdUpdateBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdUpdateBuffer *args);
1914 void (*dispatch_vkCmdFillBuffer)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdFillBuffer *args);
1915 void (*dispatch_vkCmdClearColorImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdClearColorImage *args);
1916 void (*dispatch_vkCmdClearDepthStencilImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdClearDepthStencilImage *args);
1917 void (*dispatch_vkCmdClearAttachments)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdClearAttachments *args);
1918 void (*dispatch_vkCmdResolveImage)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResolveImage *args);
1919 void (*dispatch_vkCmdSetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetEvent *args);
1920 void (*dispatch_vkCmdResetEvent)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResetEvent *args);
1921 void (*dispatch_vkCmdWaitEvents)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdWaitEvents *args);
1922 void (*dispatch_vkCmdPipelineBarrier)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPipelineBarrier *args);
1923 void (*dispatch_vkCmdBeginQuery)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginQuery *args);
1924 void (*dispatch_vkCmdEndQuery)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndQuery *args);
1925 void (*dispatch_vkCmdResetQueryPool)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdResetQueryPool *args);
1926 void (*dispatch_vkCmdWriteTimestamp)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdWriteTimestamp *args);
1927 void (*dispatch_vkCmdCopyQueryPoolResults)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdCopyQueryPoolResults *args);
1928 void (*dispatch_vkCmdPushConstants)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdPushConstants *args);
1929 void (*dispatch_vkCmdBeginRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginRenderPass *args);
1930 void (*dispatch_vkCmdNextSubpass)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdNextSubpass *args);
1931 void (*dispatch_vkCmdEndRenderPass)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndRenderPass *args);
1932 void (*dispatch_vkCmdExecuteCommands)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdExecuteCommands *args);
1933 void (*dispatch_vkGetPhysicalDeviceFeatures2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFeatures2 *args);
1934 void (*dispatch_vkGetPhysicalDeviceProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceProperties2 *args);
1935 void (*dispatch_vkGetPhysicalDeviceFormatProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceFormatProperties2 *args);
1936 void (*dispatch_vkGetPhysicalDeviceImageFormatProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 *args);
1937 void (*dispatch_vkGetPhysicalDeviceQueueFamilyProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 *args);
1938 void (*dispatch_vkGetPhysicalDeviceMemoryProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceMemoryProperties2 *args);
1939 void (*dispatch_vkGetPhysicalDeviceSparseImageFormatProperties2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 *args);
1940 void (*dispatch_vkTrimCommandPool)(struct vn_dispatch_context *ctx, struct vn_command_vkTrimCommandPool *args);
1941 void (*dispatch_vkGetPhysicalDeviceExternalBufferProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceExternalBufferProperties *args);
1942 void (*dispatch_vkGetMemoryFdKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryFdKHR *args);
1943 void (*dispatch_vkGetMemoryFdPropertiesKHR)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryFdPropertiesKHR *args);
1944 void (*dispatch_vkGetPhysicalDeviceExternalSemaphoreProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties *args);
1945 void (*dispatch_vkGetPhysicalDeviceExternalFenceProperties)(struct vn_dispatch_context *ctx, struct vn_command_vkGetPhysicalDeviceExternalFenceProperties *args);
1946 void (*dispatch_vkEnumeratePhysicalDeviceGroups)(struct vn_dispatch_context *ctx, struct vn_command_vkEnumeratePhysicalDeviceGroups *args);
1947 void (*dispatch_vkGetDeviceGroupPeerMemoryFeatures)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceGroupPeerMemoryFeatures *args);
1948 void (*dispatch_vkBindBufferMemory2)(struct vn_dispatch_context *ctx, struct vn_command_vkBindBufferMemory2 *args);
1949 void (*dispatch_vkBindImageMemory2)(struct vn_dispatch_context *ctx, struct vn_command_vkBindImageMemory2 *args);
1950 void (*dispatch_vkCmdSetDeviceMask)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdSetDeviceMask *args);
1951 void (*dispatch_vkCmdDispatchBase)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDispatchBase *args);
1952 void (*dispatch_vkCreateDescriptorUpdateTemplate)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateDescriptorUpdateTemplate *args);
1953 void (*dispatch_vkDestroyDescriptorUpdateTemplate)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyDescriptorUpdateTemplate *args);
1954 void (*dispatch_vkUpdateDescriptorSetWithTemplate)(struct vn_dispatch_context *ctx, struct vn_command_vkUpdateDescriptorSetWithTemplate *args);
1955 void (*dispatch_vkGetBufferMemoryRequirements2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferMemoryRequirements2 *args);
1956 void (*dispatch_vkGetImageMemoryRequirements2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageMemoryRequirements2 *args);
1957 void (*dispatch_vkGetImageSparseMemoryRequirements2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageSparseMemoryRequirements2 *args);
1958 void (*dispatch_vkCreateSamplerYcbcrConversion)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateSamplerYcbcrConversion *args);
1959 void (*dispatch_vkDestroySamplerYcbcrConversion)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroySamplerYcbcrConversion *args);
1960 void (*dispatch_vkGetDeviceQueue2)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceQueue2 *args);
1961 void (*dispatch_vkGetDescriptorSetLayoutSupport)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDescriptorSetLayoutSupport *args);
1962 void (*dispatch_vkCreateRenderPass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateRenderPass2 *args);
1963 void (*dispatch_vkCmdBeginRenderPass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginRenderPass2 *args);
1964 void (*dispatch_vkCmdNextSubpass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdNextSubpass2 *args);
1965 void (*dispatch_vkCmdEndRenderPass2)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndRenderPass2 *args);
1966 void (*dispatch_vkGetSemaphoreCounterValue)(struct vn_dispatch_context *ctx, struct vn_command_vkGetSemaphoreCounterValue *args);
1967 void (*dispatch_vkWaitSemaphores)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitSemaphores *args);
1968 void (*dispatch_vkSignalSemaphore)(struct vn_dispatch_context *ctx, struct vn_command_vkSignalSemaphore *args);
1969 void (*dispatch_vkCmdDrawIndirectCount)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndirectCount *args);
1970 void (*dispatch_vkCmdDrawIndexedIndirectCount)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndexedIndirectCount *args);
1971 void (*dispatch_vkCmdBindTransformFeedbackBuffersEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBindTransformFeedbackBuffersEXT *args);
1972 void (*dispatch_vkCmdBeginTransformFeedbackEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginTransformFeedbackEXT *args);
1973 void (*dispatch_vkCmdEndTransformFeedbackEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndTransformFeedbackEXT *args);
1974 void (*dispatch_vkCmdBeginQueryIndexedEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdBeginQueryIndexedEXT *args);
1975 void (*dispatch_vkCmdEndQueryIndexedEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdEndQueryIndexedEXT *args);
1976 void (*dispatch_vkCmdDrawIndirectByteCountEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkCmdDrawIndirectByteCountEXT *args);
1977 void (*dispatch_vkGetImageDrmFormatModifierPropertiesEXT)(struct vn_dispatch_context *ctx, struct vn_command_vkGetImageDrmFormatModifierPropertiesEXT *args);
1978 void (*dispatch_vkGetBufferOpaqueCaptureAddress)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferOpaqueCaptureAddress *args);
1979 void (*dispatch_vkGetBufferDeviceAddress)(struct vn_dispatch_context *ctx, struct vn_command_vkGetBufferDeviceAddress *args);
1980 void (*dispatch_vkGetDeviceMemoryOpaqueCaptureAddress)(struct vn_dispatch_context *ctx, struct vn_command_vkGetDeviceMemoryOpaqueCaptureAddress *args);
1981 void (*dispatch_vkSetReplyCommandStreamMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkSetReplyCommandStreamMESA *args);
1982 void (*dispatch_vkSeekReplyCommandStreamMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkSeekReplyCommandStreamMESA *args);
1983 void (*dispatch_vkExecuteCommandStreamsMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkExecuteCommandStreamsMESA *args);
1984 void (*dispatch_vkCreateRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkCreateRingMESA *args);
1985 void (*dispatch_vkDestroyRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkDestroyRingMESA *args);
1986 void (*dispatch_vkNotifyRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkNotifyRingMESA *args);
1987 void (*dispatch_vkWriteRingExtraMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWriteRingExtraMESA *args);
1988 void (*dispatch_vkGetMemoryResourcePropertiesMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryResourcePropertiesMESA *args);
1989 void (*dispatch_vkGetVenusExperimentalFeatureData100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args);
1990 };
1991
vn_dispatch_debug_log(struct vn_dispatch_context * ctx,const char * format,...)1992 static inline void vn_dispatch_debug_log(struct vn_dispatch_context *ctx, const char *format, ...)
1993 {
1994 char msg[256];
1995 va_list va;
1996
1997 if (!ctx->debug_log)
1998 return;
1999
2000 va_start(va, format);
2001 vsnprintf(msg, sizeof(msg), format, va);
2002 ctx->debug_log(ctx, msg);
2003 va_end(va);
2004 }
2005
vn_dispatch_should_log_result(VkResult result)2006 static inline bool vn_dispatch_should_log_result(VkResult result)
2007 {
2008 switch (result) {
2009 case VK_ERROR_FORMAT_NOT_SUPPORTED:
2010 case VK_ERROR_FRAGMENTED_POOL:
2011 case VK_ERROR_OUT_OF_POOL_MEMORY:
2012 /* do not log errors that apps normally handle properly */
2013 return false;
2014 default:
2015 /* log all other errors */
2016 return result < VK_SUCCESS;
2017 }
2018 }
2019
2020 #endif /* VN_PROTOCOL_RENDERER_DEFINES_H */
2021