1 /* This file is generated by venus-protocol.  See vn_protocol_driver.h. */
2 
3 /*
4  * Copyright 2020 Google LLC
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #ifndef VN_PROTOCOL_DRIVER_DEFINES_H
9 #define VN_PROTOCOL_DRIVER_DEFINES_H
10 
11 #include <stdlib.h>
12 #include <string.h>
13 #include <vulkan/vulkan.h>
14 
15 #include "vn_protocol_driver_cs.h"
16 
17 #define VN_SUBMIT_LOCAL_CMD_SIZE 256
18 
19 /* VkStructureType */
20 #define VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA ((VkStructureType)1000384000)
21 #define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_PROPERTIES_MESA ((VkStructureType)1000384001)
22 #define VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA ((VkStructureType)1000384002)
23 #define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA ((VkStructureType)1000384003)
24 
25 typedef enum VkCommandTypeEXT {
26     VK_COMMAND_TYPE_vkCreateInstance_EXT = 0,
27     VK_COMMAND_TYPE_vkDestroyInstance_EXT = 1,
28     VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT = 2,
29     VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT = 3,
30     VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT = 4,
31     VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT = 5,
32     VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT = 6,
33     VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT = 7,
34     VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT = 8,
35     VK_COMMAND_TYPE_vkGetInstanceProcAddr_EXT = 9,
36     VK_COMMAND_TYPE_vkGetDeviceProcAddr_EXT = 10,
37     VK_COMMAND_TYPE_vkCreateDevice_EXT = 11,
38     VK_COMMAND_TYPE_vkDestroyDevice_EXT = 12,
39     VK_COMMAND_TYPE_vkEnumerateInstanceExtensionProperties_EXT = 13,
40     VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT = 14,
41     VK_COMMAND_TYPE_vkEnumerateInstanceLayerProperties_EXT = 15,
42     VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT = 16,
43     VK_COMMAND_TYPE_vkGetDeviceQueue_EXT = 17,
44     VK_COMMAND_TYPE_vkQueueSubmit_EXT = 18,
45     VK_COMMAND_TYPE_vkQueueWaitIdle_EXT = 19,
46     VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT = 20,
47     VK_COMMAND_TYPE_vkAllocateMemory_EXT = 21,
48     VK_COMMAND_TYPE_vkFreeMemory_EXT = 22,
49     VK_COMMAND_TYPE_vkMapMemory_EXT = 23,
50     VK_COMMAND_TYPE_vkUnmapMemory_EXT = 24,
51     VK_COMMAND_TYPE_vkFlushMappedMemoryRanges_EXT = 25,
52     VK_COMMAND_TYPE_vkInvalidateMappedMemoryRanges_EXT = 26,
53     VK_COMMAND_TYPE_vkGetDeviceMemoryCommitment_EXT = 27,
54     VK_COMMAND_TYPE_vkBindBufferMemory_EXT = 28,
55     VK_COMMAND_TYPE_vkBindImageMemory_EXT = 29,
56     VK_COMMAND_TYPE_vkGetBufferMemoryRequirements_EXT = 30,
57     VK_COMMAND_TYPE_vkGetImageMemoryRequirements_EXT = 31,
58     VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements_EXT = 32,
59     VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT = 33,
60     VK_COMMAND_TYPE_vkQueueBindSparse_EXT = 34,
61     VK_COMMAND_TYPE_vkCreateFence_EXT = 35,
62     VK_COMMAND_TYPE_vkDestroyFence_EXT = 36,
63     VK_COMMAND_TYPE_vkResetFences_EXT = 37,
64     VK_COMMAND_TYPE_vkGetFenceStatus_EXT = 38,
65     VK_COMMAND_TYPE_vkWaitForFences_EXT = 39,
66     VK_COMMAND_TYPE_vkCreateSemaphore_EXT = 40,
67     VK_COMMAND_TYPE_vkDestroySemaphore_EXT = 41,
68     VK_COMMAND_TYPE_vkCreateEvent_EXT = 42,
69     VK_COMMAND_TYPE_vkDestroyEvent_EXT = 43,
70     VK_COMMAND_TYPE_vkGetEventStatus_EXT = 44,
71     VK_COMMAND_TYPE_vkSetEvent_EXT = 45,
72     VK_COMMAND_TYPE_vkResetEvent_EXT = 46,
73     VK_COMMAND_TYPE_vkCreateQueryPool_EXT = 47,
74     VK_COMMAND_TYPE_vkDestroyQueryPool_EXT = 48,
75     VK_COMMAND_TYPE_vkGetQueryPoolResults_EXT = 49,
76     VK_COMMAND_TYPE_vkCreateBuffer_EXT = 50,
77     VK_COMMAND_TYPE_vkDestroyBuffer_EXT = 51,
78     VK_COMMAND_TYPE_vkCreateBufferView_EXT = 52,
79     VK_COMMAND_TYPE_vkDestroyBufferView_EXT = 53,
80     VK_COMMAND_TYPE_vkCreateImage_EXT = 54,
81     VK_COMMAND_TYPE_vkDestroyImage_EXT = 55,
82     VK_COMMAND_TYPE_vkGetImageSubresourceLayout_EXT = 56,
83     VK_COMMAND_TYPE_vkCreateImageView_EXT = 57,
84     VK_COMMAND_TYPE_vkDestroyImageView_EXT = 58,
85     VK_COMMAND_TYPE_vkCreateShaderModule_EXT = 59,
86     VK_COMMAND_TYPE_vkDestroyShaderModule_EXT = 60,
87     VK_COMMAND_TYPE_vkCreatePipelineCache_EXT = 61,
88     VK_COMMAND_TYPE_vkDestroyPipelineCache_EXT = 62,
89     VK_COMMAND_TYPE_vkGetPipelineCacheData_EXT = 63,
90     VK_COMMAND_TYPE_vkMergePipelineCaches_EXT = 64,
91     VK_COMMAND_TYPE_vkCreateGraphicsPipelines_EXT = 65,
92     VK_COMMAND_TYPE_vkCreateComputePipelines_EXT = 66,
93     VK_COMMAND_TYPE_vkDestroyPipeline_EXT = 67,
94     VK_COMMAND_TYPE_vkCreatePipelineLayout_EXT = 68,
95     VK_COMMAND_TYPE_vkDestroyPipelineLayout_EXT = 69,
96     VK_COMMAND_TYPE_vkCreateSampler_EXT = 70,
97     VK_COMMAND_TYPE_vkDestroySampler_EXT = 71,
98     VK_COMMAND_TYPE_vkCreateDescriptorSetLayout_EXT = 72,
99     VK_COMMAND_TYPE_vkDestroyDescriptorSetLayout_EXT = 73,
100     VK_COMMAND_TYPE_vkCreateDescriptorPool_EXT = 74,
101     VK_COMMAND_TYPE_vkDestroyDescriptorPool_EXT = 75,
102     VK_COMMAND_TYPE_vkResetDescriptorPool_EXT = 76,
103     VK_COMMAND_TYPE_vkAllocateDescriptorSets_EXT = 77,
104     VK_COMMAND_TYPE_vkFreeDescriptorSets_EXT = 78,
105     VK_COMMAND_TYPE_vkUpdateDescriptorSets_EXT = 79,
106     VK_COMMAND_TYPE_vkCreateFramebuffer_EXT = 80,
107     VK_COMMAND_TYPE_vkDestroyFramebuffer_EXT = 81,
108     VK_COMMAND_TYPE_vkCreateRenderPass_EXT = 82,
109     VK_COMMAND_TYPE_vkDestroyRenderPass_EXT = 83,
110     VK_COMMAND_TYPE_vkGetRenderAreaGranularity_EXT = 84,
111     VK_COMMAND_TYPE_vkCreateCommandPool_EXT = 85,
112     VK_COMMAND_TYPE_vkDestroyCommandPool_EXT = 86,
113     VK_COMMAND_TYPE_vkResetCommandPool_EXT = 87,
114     VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT = 88,
115     VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT = 89,
116     VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT = 90,
117     VK_COMMAND_TYPE_vkEndCommandBuffer_EXT = 91,
118     VK_COMMAND_TYPE_vkResetCommandBuffer_EXT = 92,
119     VK_COMMAND_TYPE_vkCmdBindPipeline_EXT = 93,
120     VK_COMMAND_TYPE_vkCmdSetViewport_EXT = 94,
121     VK_COMMAND_TYPE_vkCmdSetScissor_EXT = 95,
122     VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT = 96,
123     VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT = 97,
124     VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT = 98,
125     VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT = 99,
126     VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT = 100,
127     VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT = 101,
128     VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT = 102,
129     VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT = 103,
130     VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT = 104,
131     VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT = 105,
132     VK_COMMAND_TYPE_vkCmdDraw_EXT = 106,
133     VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT = 107,
134     VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT = 108,
135     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT = 109,
136     VK_COMMAND_TYPE_vkCmdDispatch_EXT = 110,
137     VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT = 111,
138     VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT = 112,
139     VK_COMMAND_TYPE_vkCmdCopyImage_EXT = 113,
140     VK_COMMAND_TYPE_vkCmdBlitImage_EXT = 114,
141     VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT = 115,
142     VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT = 116,
143     VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT = 117,
144     VK_COMMAND_TYPE_vkCmdFillBuffer_EXT = 118,
145     VK_COMMAND_TYPE_vkCmdClearColorImage_EXT = 119,
146     VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT = 120,
147     VK_COMMAND_TYPE_vkCmdClearAttachments_EXT = 121,
148     VK_COMMAND_TYPE_vkCmdResolveImage_EXT = 122,
149     VK_COMMAND_TYPE_vkCmdSetEvent_EXT = 123,
150     VK_COMMAND_TYPE_vkCmdResetEvent_EXT = 124,
151     VK_COMMAND_TYPE_vkCmdWaitEvents_EXT = 125,
152     VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT = 126,
153     VK_COMMAND_TYPE_vkCmdBeginQuery_EXT = 127,
154     VK_COMMAND_TYPE_vkCmdEndQuery_EXT = 128,
155     VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT = 129,
156     VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT = 130,
157     VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT = 131,
158     VK_COMMAND_TYPE_vkCmdPushConstants_EXT = 132,
159     VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT = 133,
160     VK_COMMAND_TYPE_vkCmdNextSubpass_EXT = 134,
161     VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT = 135,
162     VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT = 136,
163     VK_COMMAND_TYPE_vkEnumerateInstanceVersion_EXT = 137,
164     VK_COMMAND_TYPE_vkBindBufferMemory2_EXT = 138,
165     VK_COMMAND_TYPE_vkBindBufferMemory2KHR_EXT = 138,
166     VK_COMMAND_TYPE_vkBindImageMemory2_EXT = 139,
167     VK_COMMAND_TYPE_vkBindImageMemory2KHR_EXT = 139,
168     VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT = 140,
169     VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeaturesKHR_EXT = 140,
170     VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT = 141,
171     VK_COMMAND_TYPE_vkCmdSetDeviceMaskKHR_EXT = 141,
172     VK_COMMAND_TYPE_vkCmdDispatchBase_EXT = 142,
173     VK_COMMAND_TYPE_vkCmdDispatchBaseKHR_EXT = 142,
174     VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT = 143,
175     VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroupsKHR_EXT = 143,
176     VK_COMMAND_TYPE_vkGetImageMemoryRequirements2_EXT = 144,
177     VK_COMMAND_TYPE_vkGetImageMemoryRequirements2KHR_EXT = 144,
178     VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2_EXT = 145,
179     VK_COMMAND_TYPE_vkGetBufferMemoryRequirements2KHR_EXT = 145,
180     VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2_EXT = 146,
181     VK_COMMAND_TYPE_vkGetImageSparseMemoryRequirements2KHR_EXT = 146,
182     VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT = 147,
183     VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2KHR_EXT = 147,
184     VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT = 148,
185     VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2KHR_EXT = 148,
186     VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT = 149,
187     VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2KHR_EXT = 149,
188     VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT = 150,
189     VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2KHR_EXT = 150,
190     VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT = 151,
191     VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2KHR_EXT = 151,
192     VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT = 152,
193     VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2KHR_EXT = 152,
194     VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT = 153,
195     VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2KHR_EXT = 153,
196     VK_COMMAND_TYPE_vkTrimCommandPool_EXT = 154,
197     VK_COMMAND_TYPE_vkTrimCommandPoolKHR_EXT = 154,
198     VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT = 155,
199     VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversion_EXT = 156,
200     VK_COMMAND_TYPE_vkCreateSamplerYcbcrConversionKHR_EXT = 156,
201     VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversion_EXT = 157,
202     VK_COMMAND_TYPE_vkDestroySamplerYcbcrConversionKHR_EXT = 157,
203     VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplate_EXT = 158,
204     VK_COMMAND_TYPE_vkCreateDescriptorUpdateTemplateKHR_EXT = 158,
205     VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplate_EXT = 159,
206     VK_COMMAND_TYPE_vkDestroyDescriptorUpdateTemplateKHR_EXT = 159,
207     VK_COMMAND_TYPE_vkUpdateDescriptorSetWithTemplate_EXT = 160,
208     VK_COMMAND_TYPE_vkUpdateDescriptorSetWithTemplateKHR_EXT = 160,
209     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT = 161,
210     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferPropertiesKHR_EXT = 161,
211     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT = 162,
212     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFencePropertiesKHR_EXT = 162,
213     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT = 163,
214     VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR_EXT = 163,
215     VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupport_EXT = 164,
216     VK_COMMAND_TYPE_vkGetDescriptorSetLayoutSupportKHR_EXT = 164,
217     VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT = 165,
218     VK_COMMAND_TYPE_vkCmdDrawIndirectCountKHR_EXT = 165,
219     VK_COMMAND_TYPE_vkCmdDrawIndirectCountAMD_EXT = 165,
220     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT = 166,
221     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCountKHR_EXT = 166,
222     VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCountAMD_EXT = 166,
223     VK_COMMAND_TYPE_vkCreateRenderPass2_EXT = 167,
224     VK_COMMAND_TYPE_vkCreateRenderPass2KHR_EXT = 167,
225     VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT = 168,
226     VK_COMMAND_TYPE_vkCmdBeginRenderPass2KHR_EXT = 168,
227     VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT = 169,
228     VK_COMMAND_TYPE_vkCmdNextSubpass2KHR_EXT = 169,
229     VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT = 170,
230     VK_COMMAND_TYPE_vkCmdEndRenderPass2KHR_EXT = 170,
231     VK_COMMAND_TYPE_vkResetQueryPool_EXT = 171,
232     VK_COMMAND_TYPE_vkResetQueryPoolEXT_EXT = 171,
233     VK_COMMAND_TYPE_vkGetSemaphoreCounterValue_EXT = 172,
234     VK_COMMAND_TYPE_vkGetSemaphoreCounterValueKHR_EXT = 172,
235     VK_COMMAND_TYPE_vkWaitSemaphores_EXT = 173,
236     VK_COMMAND_TYPE_vkWaitSemaphoresKHR_EXT = 173,
237     VK_COMMAND_TYPE_vkSignalSemaphore_EXT = 174,
238     VK_COMMAND_TYPE_vkSignalSemaphoreKHR_EXT = 174,
239     VK_COMMAND_TYPE_vkGetBufferDeviceAddress_EXT = 175,
240     VK_COMMAND_TYPE_vkGetBufferDeviceAddressKHR_EXT = 175,
241     VK_COMMAND_TYPE_vkGetBufferDeviceAddressEXT_EXT = 175,
242     VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddress_EXT = 176,
243     VK_COMMAND_TYPE_vkGetBufferOpaqueCaptureAddressKHR_EXT = 176,
244     VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddress_EXT = 177,
245     VK_COMMAND_TYPE_vkGetDeviceMemoryOpaqueCaptureAddressKHR_EXT = 177,
246     VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT = 181,
247     VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT = 182,
248     VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT = 183,
249     VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT = 184,
250     VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT = 185,
251     VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT = 186,
252     VK_COMMAND_TYPE_vkGetMemoryFdKHR_EXT = 193,
253     VK_COMMAND_TYPE_vkGetMemoryFdPropertiesKHR_EXT = 194,
254     VK_COMMAND_TYPE_vkGetImageDrmFormatModifierPropertiesEXT_EXT = 187,
255     VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT = 178,
256     VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT = 179,
257     VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT = 180,
258     VK_COMMAND_TYPE_vkCreateRingMESA_EXT = 188,
259     VK_COMMAND_TYPE_vkDestroyRingMESA_EXT = 189,
260     VK_COMMAND_TYPE_vkNotifyRingMESA_EXT = 190,
261     VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT = 191,
262     VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT = 192,
263     VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT = 195,
264 } VkCommandTypeEXT;
265 
266 typedef enum VkCommandFlagBitsEXT {
267     VK_COMMAND_GENERATE_REPLY_BIT_EXT = 0x00000001,
268 } VkCommandFlagBitsEXT;
269 
270 typedef VkFlags VkCommandFlagsEXT;
271 
272 typedef VkFlags VkCommandStreamExecutionFlagsMESA;
273 
274 typedef VkFlags VkRingCreateFlagsMESA;
275 
276 typedef VkFlags VkRingNotifyFlagsMESA;
277 
278 typedef struct VkCommandStreamDescriptionMESA {
279     uint32_t resourceId;
280     size_t offset;
281     size_t size;
282 } VkCommandStreamDescriptionMESA;
283 
284 typedef struct VkCommandStreamDependencyMESA {
285     uint32_t srcCommandStream;
286     uint32_t dstCommandStream;
287 } VkCommandStreamDependencyMESA;
288 
289 typedef struct VkRingCreateInfoMESA {
290     VkStructureType sType;
291     const void* pNext;
292     VkRingCreateFlagsMESA flags;
293     uint32_t resourceId;
294     size_t offset;
295     size_t size;
296     uint64_t idleTimeout;
297     size_t headOffset;
298     size_t tailOffset;
299     size_t statusOffset;
300     size_t bufferOffset;
301     size_t bufferSize;
302     size_t extraOffset;
303     size_t extraSize;
304 } VkRingCreateInfoMESA;
305 
306 typedef struct VkMemoryResourcePropertiesMESA {
307     VkStructureType sType;
308     void* pNext;
309     uint32_t memoryTypeBits;
310 } VkMemoryResourcePropertiesMESA;
311 
312 typedef struct VkImportMemoryResourceInfoMESA {
313     VkStructureType sType;
314     const void* pNext;
315     uint32_t resourceId;
316 } VkImportMemoryResourceInfoMESA;
317 
318 typedef struct VkVenusExperimentalFeatures100000MESA {
319     VkBool32 memoryResourceAllocationSize;
320     VkBool32 globalFencing;
321     VkBool32 largeRing;
322 } VkVenusExperimentalFeatures100000MESA;
323 
324 typedef struct VkMemoryResourceAllocationSizeProperties100000MESA {
325     VkStructureType sType;
326     void* pNext;
327     uint64_t allocationSize;
328 } VkMemoryResourceAllocationSizeProperties100000MESA;
329 
330 #endif /* VN_PROTOCOL_DRIVER_DEFINES_H */
331