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
25typedef 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
266typedef enum VkCommandFlagBitsEXT {
267    VK_COMMAND_GENERATE_REPLY_BIT_EXT = 0x00000001,
268} VkCommandFlagBitsEXT;
269
270typedef VkFlags VkCommandFlagsEXT;
271
272typedef VkFlags VkCommandStreamExecutionFlagsMESA;
273
274typedef VkFlags VkRingCreateFlagsMESA;
275
276typedef VkFlags VkRingNotifyFlagsMESA;
277
278typedef struct VkCommandStreamDescriptionMESA {
279    uint32_t resourceId;
280    size_t offset;
281    size_t size;
282} VkCommandStreamDescriptionMESA;
283
284typedef struct VkCommandStreamDependencyMESA {
285    uint32_t srcCommandStream;
286    uint32_t dstCommandStream;
287} VkCommandStreamDependencyMESA;
288
289typedef 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
306typedef struct VkMemoryResourcePropertiesMESA {
307    VkStructureType sType;
308    void* pNext;
309    uint32_t memoryTypeBits;
310} VkMemoryResourcePropertiesMESA;
311
312typedef struct VkImportMemoryResourceInfoMESA {
313    VkStructureType sType;
314    const void* pNext;
315    uint32_t resourceId;
316} VkImportMemoryResourceInfoMESA;
317
318typedef struct VkVenusExperimentalFeatures100000MESA {
319    VkBool32 memoryResourceAllocationSize;
320    VkBool32 globalFencing;
321    VkBool32 largeRing;
322} VkVenusExperimentalFeatures100000MESA;
323
324typedef struct VkMemoryResourceAllocationSizeProperties100000MESA {
325    VkStructureType sType;
326    void* pNext;
327    uint64_t allocationSize;
328} VkMemoryResourceAllocationSizeProperties100000MESA;
329
330#endif /* VN_PROTOCOL_DRIVER_DEFINES_H */
331