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_TRANSPORT_H
9 #define VN_PROTOCOL_DRIVER_TRANSPORT_H
10 
11 #include "vn_instance.h"
12 #include "vn_protocol_driver_structs.h"
13 
14 /*
15  * These structs/unions/commands are not included
16  *
17  *   vkGetMemoryFdKHR
18  *   vkGetMemoryFdPropertiesKHR
19  */
20 
21 /* struct VkCommandStreamDescriptionMESA */
22 
23 static inline size_t
vn_sizeof_VkCommandStreamDescriptionMESA(const VkCommandStreamDescriptionMESA * val)24 vn_sizeof_VkCommandStreamDescriptionMESA(const VkCommandStreamDescriptionMESA *val)
25 {
26     size_t size = 0;
27     size += vn_sizeof_uint32_t(&val->resourceId);
28     size += vn_sizeof_size_t(&val->offset);
29     size += vn_sizeof_size_t(&val->size);
30     return size;
31 }
32 
33 static inline void
vn_encode_VkCommandStreamDescriptionMESA(struct vn_cs_encoder * enc,const VkCommandStreamDescriptionMESA * val)34 vn_encode_VkCommandStreamDescriptionMESA(struct vn_cs_encoder *enc, const VkCommandStreamDescriptionMESA *val)
35 {
36     vn_encode_uint32_t(enc, &val->resourceId);
37     vn_encode_size_t(enc, &val->offset);
38     vn_encode_size_t(enc, &val->size);
39 }
40 
41 /* struct VkCommandStreamDependencyMESA */
42 
43 static inline size_t
vn_sizeof_VkCommandStreamDependencyMESA(const VkCommandStreamDependencyMESA * val)44 vn_sizeof_VkCommandStreamDependencyMESA(const VkCommandStreamDependencyMESA *val)
45 {
46     size_t size = 0;
47     size += vn_sizeof_uint32_t(&val->srcCommandStream);
48     size += vn_sizeof_uint32_t(&val->dstCommandStream);
49     return size;
50 }
51 
52 static inline void
vn_encode_VkCommandStreamDependencyMESA(struct vn_cs_encoder * enc,const VkCommandStreamDependencyMESA * val)53 vn_encode_VkCommandStreamDependencyMESA(struct vn_cs_encoder *enc, const VkCommandStreamDependencyMESA *val)
54 {
55     vn_encode_uint32_t(enc, &val->srcCommandStream);
56     vn_encode_uint32_t(enc, &val->dstCommandStream);
57 }
58 
59 /* struct VkRingCreateInfoMESA chain */
60 
61 static inline size_t
vn_sizeof_VkRingCreateInfoMESA_pnext(const void * val)62 vn_sizeof_VkRingCreateInfoMESA_pnext(const void *val)
63 {
64     /* no known/supported struct */
65     return vn_sizeof_simple_pointer(NULL);
66 }
67 
68 static inline size_t
vn_sizeof_VkRingCreateInfoMESA_self(const VkRingCreateInfoMESA * val)69 vn_sizeof_VkRingCreateInfoMESA_self(const VkRingCreateInfoMESA *val)
70 {
71     size_t size = 0;
72     /* skip val->{sType,pNext} */
73     size += vn_sizeof_VkFlags(&val->flags);
74     size += vn_sizeof_uint32_t(&val->resourceId);
75     size += vn_sizeof_size_t(&val->offset);
76     size += vn_sizeof_size_t(&val->size);
77     size += vn_sizeof_uint64_t(&val->idleTimeout);
78     size += vn_sizeof_size_t(&val->headOffset);
79     size += vn_sizeof_size_t(&val->tailOffset);
80     size += vn_sizeof_size_t(&val->statusOffset);
81     size += vn_sizeof_size_t(&val->bufferOffset);
82     size += vn_sizeof_size_t(&val->bufferSize);
83     size += vn_sizeof_size_t(&val->extraOffset);
84     size += vn_sizeof_size_t(&val->extraSize);
85     return size;
86 }
87 
88 static inline size_t
vn_sizeof_VkRingCreateInfoMESA(const VkRingCreateInfoMESA * val)89 vn_sizeof_VkRingCreateInfoMESA(const VkRingCreateInfoMESA *val)
90 {
91     size_t size = 0;
92 
93     size += vn_sizeof_VkStructureType(&val->sType);
94     size += vn_sizeof_VkRingCreateInfoMESA_pnext(val->pNext);
95     size += vn_sizeof_VkRingCreateInfoMESA_self(val);
96 
97     return size;
98 }
99 
100 static inline void
vn_encode_VkRingCreateInfoMESA_pnext(struct vn_cs_encoder * enc,const void * val)101 vn_encode_VkRingCreateInfoMESA_pnext(struct vn_cs_encoder *enc, const void *val)
102 {
103     /* no known/supported struct */
104     vn_encode_simple_pointer(enc, NULL);
105 }
106 
107 static inline void
vn_encode_VkRingCreateInfoMESA_self(struct vn_cs_encoder * enc,const VkRingCreateInfoMESA * val)108 vn_encode_VkRingCreateInfoMESA_self(struct vn_cs_encoder *enc, const VkRingCreateInfoMESA *val)
109 {
110     /* skip val->{sType,pNext} */
111     vn_encode_VkFlags(enc, &val->flags);
112     vn_encode_uint32_t(enc, &val->resourceId);
113     vn_encode_size_t(enc, &val->offset);
114     vn_encode_size_t(enc, &val->size);
115     vn_encode_uint64_t(enc, &val->idleTimeout);
116     vn_encode_size_t(enc, &val->headOffset);
117     vn_encode_size_t(enc, &val->tailOffset);
118     vn_encode_size_t(enc, &val->statusOffset);
119     vn_encode_size_t(enc, &val->bufferOffset);
120     vn_encode_size_t(enc, &val->bufferSize);
121     vn_encode_size_t(enc, &val->extraOffset);
122     vn_encode_size_t(enc, &val->extraSize);
123 }
124 
125 static inline void
vn_encode_VkRingCreateInfoMESA(struct vn_cs_encoder * enc,const VkRingCreateInfoMESA * val)126 vn_encode_VkRingCreateInfoMESA(struct vn_cs_encoder *enc, const VkRingCreateInfoMESA *val)
127 {
128     assert(val->sType == VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA);
129     vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA });
130     vn_encode_VkRingCreateInfoMESA_pnext(enc, val->pNext);
131     vn_encode_VkRingCreateInfoMESA_self(enc, val);
132 }
133 
134 /* struct VkMemoryResourceAllocationSizeProperties100000MESA chain */
135 
136 static inline size_t
vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(const void * val)137 vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(const void *val)
138 {
139     /* no known/supported struct */
140     return vn_sizeof_simple_pointer(NULL);
141 }
142 
143 static inline size_t
vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self(const VkMemoryResourceAllocationSizeProperties100000MESA * val)144 vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self(const VkMemoryResourceAllocationSizeProperties100000MESA *val)
145 {
146     size_t size = 0;
147     /* skip val->{sType,pNext} */
148     size += vn_sizeof_uint64_t(&val->allocationSize);
149     return size;
150 }
151 
152 static inline size_t
vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA(const VkMemoryResourceAllocationSizeProperties100000MESA * val)153 vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA(const VkMemoryResourceAllocationSizeProperties100000MESA *val)
154 {
155     size_t size = 0;
156 
157     size += vn_sizeof_VkStructureType(&val->sType);
158     size += vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(val->pNext);
159     size += vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self(val);
160 
161     return size;
162 }
163 
164 static inline void
vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(struct vn_cs_decoder * dec,const void * val)165 vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(struct vn_cs_decoder *dec, const void *val)
166 {
167     /* no known/supported struct */
168     if (vn_decode_simple_pointer(dec))
169         assert(false);
170 }
171 
172 static inline void
vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self(struct vn_cs_decoder * dec,VkMemoryResourceAllocationSizeProperties100000MESA * val)173 vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self(struct vn_cs_decoder *dec, VkMemoryResourceAllocationSizeProperties100000MESA *val)
174 {
175     /* skip val->{sType,pNext} */
176     vn_decode_uint64_t(dec, &val->allocationSize);
177 }
178 
179 static inline void
vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA(struct vn_cs_decoder * dec,VkMemoryResourceAllocationSizeProperties100000MESA * val)180 vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA(struct vn_cs_decoder *dec, VkMemoryResourceAllocationSizeProperties100000MESA *val)
181 {
182     VkStructureType stype;
183     vn_decode_VkStructureType(dec, &stype);
184     assert(stype == VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA);
185 
186     assert(val->sType == stype);
187     vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(dec, val->pNext);
188     vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self(dec, val);
189 }
190 
191 static inline size_t
vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial(const void * val)192 vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial(const void *val)
193 {
194     /* no known/supported struct */
195     return vn_sizeof_simple_pointer(NULL);
196 }
197 
198 static inline size_t
vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(const VkMemoryResourceAllocationSizeProperties100000MESA * val)199 vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(const VkMemoryResourceAllocationSizeProperties100000MESA *val)
200 {
201     size_t size = 0;
202     /* skip val->{sType,pNext} */
203     /* skip val->allocationSize */
204     return size;
205 }
206 
207 static inline size_t
vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_partial(const VkMemoryResourceAllocationSizeProperties100000MESA * val)208 vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_partial(const VkMemoryResourceAllocationSizeProperties100000MESA *val)
209 {
210     size_t size = 0;
211 
212     size += vn_sizeof_VkStructureType(&val->sType);
213     size += vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial(val->pNext);
214     size += vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(val);
215 
216     return size;
217 }
218 
219 static inline void
vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial(struct vn_cs_encoder * enc,const void * val)220 vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial(struct vn_cs_encoder *enc, const void *val)
221 {
222     /* no known/supported struct */
223     vn_encode_simple_pointer(enc, NULL);
224 }
225 
226 static inline void
vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(struct vn_cs_encoder * enc,const VkMemoryResourceAllocationSizeProperties100000MESA * val)227 vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(struct vn_cs_encoder *enc, const VkMemoryResourceAllocationSizeProperties100000MESA *val)
228 {
229     /* skip val->{sType,pNext} */
230     /* skip val->allocationSize */
231 }
232 
233 static inline void
vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_partial(struct vn_cs_encoder * enc,const VkMemoryResourceAllocationSizeProperties100000MESA * val)234 vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_partial(struct vn_cs_encoder *enc, const VkMemoryResourceAllocationSizeProperties100000MESA *val)
235 {
236     assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA);
237     vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA });
238     vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial(enc, val->pNext);
239     vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(enc, val);
240 }
241 
242 /* struct VkMemoryResourcePropertiesMESA chain */
243 
244 static inline size_t
vn_sizeof_VkMemoryResourcePropertiesMESA_pnext(const void * val)245 vn_sizeof_VkMemoryResourcePropertiesMESA_pnext(const void *val)
246 {
247     const VkBaseInStructure *pnext = val;
248     size_t size = 0;
249 
250     while (pnext) {
251         switch ((int32_t)pnext->sType) {
252         case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA:
253             size += vn_sizeof_simple_pointer(pnext);
254             size += vn_sizeof_VkStructureType(&pnext->sType);
255             size += vn_sizeof_VkMemoryResourcePropertiesMESA_pnext(pnext->pNext);
256             size += vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self((const VkMemoryResourceAllocationSizeProperties100000MESA *)pnext);
257             return size;
258         default:
259             /* ignore unknown/unsupported struct */
260             break;
261         }
262         pnext = pnext->pNext;
263     }
264 
265     return vn_sizeof_simple_pointer(NULL);
266 }
267 
268 static inline size_t
vn_sizeof_VkMemoryResourcePropertiesMESA_self(const VkMemoryResourcePropertiesMESA * val)269 vn_sizeof_VkMemoryResourcePropertiesMESA_self(const VkMemoryResourcePropertiesMESA *val)
270 {
271     size_t size = 0;
272     /* skip val->{sType,pNext} */
273     size += vn_sizeof_uint32_t(&val->memoryTypeBits);
274     return size;
275 }
276 
277 static inline size_t
vn_sizeof_VkMemoryResourcePropertiesMESA(const VkMemoryResourcePropertiesMESA * val)278 vn_sizeof_VkMemoryResourcePropertiesMESA(const VkMemoryResourcePropertiesMESA *val)
279 {
280     size_t size = 0;
281 
282     size += vn_sizeof_VkStructureType(&val->sType);
283     size += vn_sizeof_VkMemoryResourcePropertiesMESA_pnext(val->pNext);
284     size += vn_sizeof_VkMemoryResourcePropertiesMESA_self(val);
285 
286     return size;
287 }
288 
289 static inline void
vn_decode_VkMemoryResourcePropertiesMESA_pnext(struct vn_cs_decoder * dec,const void * val)290 vn_decode_VkMemoryResourcePropertiesMESA_pnext(struct vn_cs_decoder *dec, const void *val)
291 {
292     VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
293     VkStructureType stype;
294 
295     if (!vn_decode_simple_pointer(dec))
296         return;
297 
298     vn_decode_VkStructureType(dec, &stype);
299     while (true) {
300         assert(pnext);
301         if (pnext->sType == stype)
302             break;
303     }
304 
305     switch ((int32_t)pnext->sType) {
306     case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA:
307         vn_decode_VkMemoryResourcePropertiesMESA_pnext(dec, pnext->pNext);
308         vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self(dec, (VkMemoryResourceAllocationSizeProperties100000MESA *)pnext);
309         break;
310     default:
311         assert(false);
312         break;
313     }
314 }
315 
316 static inline void
vn_decode_VkMemoryResourcePropertiesMESA_self(struct vn_cs_decoder * dec,VkMemoryResourcePropertiesMESA * val)317 vn_decode_VkMemoryResourcePropertiesMESA_self(struct vn_cs_decoder *dec, VkMemoryResourcePropertiesMESA *val)
318 {
319     /* skip val->{sType,pNext} */
320     vn_decode_uint32_t(dec, &val->memoryTypeBits);
321 }
322 
323 static inline void
vn_decode_VkMemoryResourcePropertiesMESA(struct vn_cs_decoder * dec,VkMemoryResourcePropertiesMESA * val)324 vn_decode_VkMemoryResourcePropertiesMESA(struct vn_cs_decoder *dec, VkMemoryResourcePropertiesMESA *val)
325 {
326     VkStructureType stype;
327     vn_decode_VkStructureType(dec, &stype);
328     assert(stype == VK_STRUCTURE_TYPE_MEMORY_RESOURCE_PROPERTIES_MESA);
329 
330     assert(val->sType == stype);
331     vn_decode_VkMemoryResourcePropertiesMESA_pnext(dec, val->pNext);
332     vn_decode_VkMemoryResourcePropertiesMESA_self(dec, val);
333 }
334 
335 static inline size_t
vn_sizeof_VkMemoryResourcePropertiesMESA_pnext_partial(const void * val)336 vn_sizeof_VkMemoryResourcePropertiesMESA_pnext_partial(const void *val)
337 {
338     const VkBaseInStructure *pnext = val;
339     size_t size = 0;
340 
341     while (pnext) {
342         switch ((int32_t)pnext->sType) {
343         case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA:
344             size += vn_sizeof_simple_pointer(pnext);
345             size += vn_sizeof_VkStructureType(&pnext->sType);
346             size += vn_sizeof_VkMemoryResourcePropertiesMESA_pnext_partial(pnext->pNext);
347             size += vn_sizeof_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial((const VkMemoryResourceAllocationSizeProperties100000MESA *)pnext);
348             return size;
349         default:
350             /* ignore unknown/unsupported struct */
351             break;
352         }
353         pnext = pnext->pNext;
354     }
355 
356     return vn_sizeof_simple_pointer(NULL);
357 }
358 
359 static inline size_t
vn_sizeof_VkMemoryResourcePropertiesMESA_self_partial(const VkMemoryResourcePropertiesMESA * val)360 vn_sizeof_VkMemoryResourcePropertiesMESA_self_partial(const VkMemoryResourcePropertiesMESA *val)
361 {
362     size_t size = 0;
363     /* skip val->{sType,pNext} */
364     /* skip val->memoryTypeBits */
365     return size;
366 }
367 
368 static inline size_t
vn_sizeof_VkMemoryResourcePropertiesMESA_partial(const VkMemoryResourcePropertiesMESA * val)369 vn_sizeof_VkMemoryResourcePropertiesMESA_partial(const VkMemoryResourcePropertiesMESA *val)
370 {
371     size_t size = 0;
372 
373     size += vn_sizeof_VkStructureType(&val->sType);
374     size += vn_sizeof_VkMemoryResourcePropertiesMESA_pnext_partial(val->pNext);
375     size += vn_sizeof_VkMemoryResourcePropertiesMESA_self_partial(val);
376 
377     return size;
378 }
379 
380 static inline void
vn_encode_VkMemoryResourcePropertiesMESA_pnext_partial(struct vn_cs_encoder * enc,const void * val)381 vn_encode_VkMemoryResourcePropertiesMESA_pnext_partial(struct vn_cs_encoder *enc, const void *val)
382 {
383     const VkBaseInStructure *pnext = val;
384 
385     while (pnext) {
386         switch ((int32_t)pnext->sType) {
387         case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA:
388             vn_encode_simple_pointer(enc, pnext);
389             vn_encode_VkStructureType(enc, &pnext->sType);
390             vn_encode_VkMemoryResourcePropertiesMESA_pnext_partial(enc, pnext->pNext);
391             vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial(enc, (const VkMemoryResourceAllocationSizeProperties100000MESA *)pnext);
392             return;
393         default:
394             /* ignore unknown/unsupported struct */
395             break;
396         }
397         pnext = pnext->pNext;
398     }
399 
400     vn_encode_simple_pointer(enc, NULL);
401 }
402 
403 static inline void
vn_encode_VkMemoryResourcePropertiesMESA_self_partial(struct vn_cs_encoder * enc,const VkMemoryResourcePropertiesMESA * val)404 vn_encode_VkMemoryResourcePropertiesMESA_self_partial(struct vn_cs_encoder *enc, const VkMemoryResourcePropertiesMESA *val)
405 {
406     /* skip val->{sType,pNext} */
407     /* skip val->memoryTypeBits */
408 }
409 
410 static inline void
vn_encode_VkMemoryResourcePropertiesMESA_partial(struct vn_cs_encoder * enc,const VkMemoryResourcePropertiesMESA * val)411 vn_encode_VkMemoryResourcePropertiesMESA_partial(struct vn_cs_encoder *enc, const VkMemoryResourcePropertiesMESA *val)
412 {
413     assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_RESOURCE_PROPERTIES_MESA);
414     vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_RESOURCE_PROPERTIES_MESA });
415     vn_encode_VkMemoryResourcePropertiesMESA_pnext_partial(enc, val->pNext);
416     vn_encode_VkMemoryResourcePropertiesMESA_self_partial(enc, val);
417 }
418 
vn_sizeof_vkSetReplyCommandStreamMESA(const VkCommandStreamDescriptionMESA * pStream)419 static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA(const VkCommandStreamDescriptionMESA* pStream)
420 {
421     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
422     const VkFlags cmd_flags = 0;
423     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
424 
425     cmd_size += vn_sizeof_simple_pointer(pStream);
426     if (pStream)
427         cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(pStream);
428 
429     return cmd_size;
430 }
431 
vn_encode_vkSetReplyCommandStreamMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,const VkCommandStreamDescriptionMESA * pStream)432 static inline void vn_encode_vkSetReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream)
433 {
434     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
435 
436     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
437     vn_encode_VkFlags(enc, &cmd_flags);
438 
439     if (vn_encode_simple_pointer(enc, pStream))
440         vn_encode_VkCommandStreamDescriptionMESA(enc, pStream);
441 }
442 
vn_sizeof_vkSetReplyCommandStreamMESA_reply(const VkCommandStreamDescriptionMESA * pStream)443 static inline size_t vn_sizeof_vkSetReplyCommandStreamMESA_reply(const VkCommandStreamDescriptionMESA* pStream)
444 {
445     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT;
446     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
447 
448     /* skip pStream */
449 
450     return cmd_size;
451 }
452 
vn_decode_vkSetReplyCommandStreamMESA_reply(struct vn_cs_decoder * dec,const VkCommandStreamDescriptionMESA * pStream)453 static inline void vn_decode_vkSetReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, const VkCommandStreamDescriptionMESA* pStream)
454 {
455     VkCommandTypeEXT command_type;
456     vn_decode_VkCommandTypeEXT(dec, &command_type);
457     assert(command_type == VK_COMMAND_TYPE_vkSetReplyCommandStreamMESA_EXT);
458 
459     /* skip pStream */
460 }
461 
vn_sizeof_vkSeekReplyCommandStreamMESA(size_t position)462 static inline size_t vn_sizeof_vkSeekReplyCommandStreamMESA(size_t position)
463 {
464     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
465     const VkFlags cmd_flags = 0;
466     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
467 
468     cmd_size += vn_sizeof_size_t(&position);
469 
470     return cmd_size;
471 }
472 
vn_encode_vkSeekReplyCommandStreamMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,size_t position)473 static inline void vn_encode_vkSeekReplyCommandStreamMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, size_t position)
474 {
475     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
476 
477     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
478     vn_encode_VkFlags(enc, &cmd_flags);
479 
480     vn_encode_size_t(enc, &position);
481 }
482 
vn_sizeof_vkSeekReplyCommandStreamMESA_reply(size_t position)483 static inline size_t vn_sizeof_vkSeekReplyCommandStreamMESA_reply(size_t position)
484 {
485     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT;
486     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
487 
488     /* skip position */
489 
490     return cmd_size;
491 }
492 
vn_decode_vkSeekReplyCommandStreamMESA_reply(struct vn_cs_decoder * dec,size_t position)493 static inline void vn_decode_vkSeekReplyCommandStreamMESA_reply(struct vn_cs_decoder *dec, size_t position)
494 {
495     VkCommandTypeEXT command_type;
496     vn_decode_VkCommandTypeEXT(dec, &command_type);
497     assert(command_type == VK_COMMAND_TYPE_vkSeekReplyCommandStreamMESA_EXT);
498 
499     /* skip position */
500 }
501 
vn_sizeof_vkExecuteCommandStreamsMESA(uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags)502 static inline size_t vn_sizeof_vkExecuteCommandStreamsMESA(uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
503 {
504     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
505     const VkFlags cmd_flags = 0;
506     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
507 
508     cmd_size += vn_sizeof_uint32_t(&streamCount);
509     if (pStreams) {
510         cmd_size += vn_sizeof_array_size(streamCount);
511         for (uint32_t i = 0; i < streamCount; i++)
512             cmd_size += vn_sizeof_VkCommandStreamDescriptionMESA(&pStreams[i]);
513     } else {
514         cmd_size += vn_sizeof_array_size(0);
515     }
516     if (pReplyPositions) {
517         cmd_size += vn_sizeof_array_size(streamCount);
518         cmd_size += vn_sizeof_size_t_array(pReplyPositions, streamCount);
519     } else {
520         cmd_size += vn_sizeof_array_size(0);
521     }
522     cmd_size += vn_sizeof_uint32_t(&dependencyCount);
523     if (pDependencies) {
524         cmd_size += vn_sizeof_array_size(dependencyCount);
525         for (uint32_t i = 0; i < dependencyCount; i++)
526             cmd_size += vn_sizeof_VkCommandStreamDependencyMESA(&pDependencies[i]);
527     } else {
528         cmd_size += vn_sizeof_array_size(0);
529     }
530     cmd_size += vn_sizeof_VkFlags(&flags);
531 
532     return cmd_size;
533 }
534 
vn_encode_vkExecuteCommandStreamsMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags)535 static inline void vn_encode_vkExecuteCommandStreamsMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
536 {
537     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
538 
539     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
540     vn_encode_VkFlags(enc, &cmd_flags);
541 
542     vn_encode_uint32_t(enc, &streamCount);
543     if (pStreams) {
544         vn_encode_array_size(enc, streamCount);
545         for (uint32_t i = 0; i < streamCount; i++)
546             vn_encode_VkCommandStreamDescriptionMESA(enc, &pStreams[i]);
547     } else {
548         vn_encode_array_size(enc, 0);
549     }
550     if (pReplyPositions) {
551         vn_encode_array_size(enc, streamCount);
552         vn_encode_size_t_array(enc, pReplyPositions, streamCount);
553     } else {
554         vn_encode_array_size(enc, 0);
555     }
556     vn_encode_uint32_t(enc, &dependencyCount);
557     if (pDependencies) {
558         vn_encode_array_size(enc, dependencyCount);
559         for (uint32_t i = 0; i < dependencyCount; i++)
560             vn_encode_VkCommandStreamDependencyMESA(enc, &pDependencies[i]);
561     } else {
562         vn_encode_array_size(enc, 0);
563     }
564     vn_encode_VkFlags(enc, &flags);
565 }
566 
vn_sizeof_vkExecuteCommandStreamsMESA_reply(uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags)567 static inline size_t vn_sizeof_vkExecuteCommandStreamsMESA_reply(uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
568 {
569     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT;
570     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
571 
572     /* skip streamCount */
573     /* skip pStreams */
574     /* skip pReplyPositions */
575     /* skip dependencyCount */
576     /* skip pDependencies */
577     /* skip flags */
578 
579     return cmd_size;
580 }
581 
vn_decode_vkExecuteCommandStreamsMESA_reply(struct vn_cs_decoder * dec,uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags)582 static inline void vn_decode_vkExecuteCommandStreamsMESA_reply(struct vn_cs_decoder *dec, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
583 {
584     VkCommandTypeEXT command_type;
585     vn_decode_VkCommandTypeEXT(dec, &command_type);
586     assert(command_type == VK_COMMAND_TYPE_vkExecuteCommandStreamsMESA_EXT);
587 
588     /* skip streamCount */
589     /* skip pStreams */
590     /* skip pReplyPositions */
591     /* skip dependencyCount */
592     /* skip pDependencies */
593     /* skip flags */
594 }
595 
vn_sizeof_vkCreateRingMESA(uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo)596 static inline size_t vn_sizeof_vkCreateRingMESA(uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
597 {
598     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
599     const VkFlags cmd_flags = 0;
600     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
601 
602     cmd_size += vn_sizeof_uint64_t(&ring);
603     cmd_size += vn_sizeof_simple_pointer(pCreateInfo);
604     if (pCreateInfo)
605         cmd_size += vn_sizeof_VkRingCreateInfoMESA(pCreateInfo);
606 
607     return cmd_size;
608 }
609 
vn_encode_vkCreateRingMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo)610 static inline void vn_encode_vkCreateRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
611 {
612     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
613 
614     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
615     vn_encode_VkFlags(enc, &cmd_flags);
616 
617     vn_encode_uint64_t(enc, &ring);
618     if (vn_encode_simple_pointer(enc, pCreateInfo))
619         vn_encode_VkRingCreateInfoMESA(enc, pCreateInfo);
620 }
621 
vn_sizeof_vkCreateRingMESA_reply(uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo)622 static inline size_t vn_sizeof_vkCreateRingMESA_reply(uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
623 {
624     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateRingMESA_EXT;
625     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
626 
627     /* skip ring */
628     /* skip pCreateInfo */
629 
630     return cmd_size;
631 }
632 
vn_decode_vkCreateRingMESA_reply(struct vn_cs_decoder * dec,uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo)633 static inline void vn_decode_vkCreateRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
634 {
635     VkCommandTypeEXT command_type;
636     vn_decode_VkCommandTypeEXT(dec, &command_type);
637     assert(command_type == VK_COMMAND_TYPE_vkCreateRingMESA_EXT);
638 
639     /* skip ring */
640     /* skip pCreateInfo */
641 }
642 
vn_sizeof_vkDestroyRingMESA(uint64_t ring)643 static inline size_t vn_sizeof_vkDestroyRingMESA(uint64_t ring)
644 {
645     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
646     const VkFlags cmd_flags = 0;
647     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
648 
649     cmd_size += vn_sizeof_uint64_t(&ring);
650 
651     return cmd_size;
652 }
653 
vn_encode_vkDestroyRingMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,uint64_t ring)654 static inline void vn_encode_vkDestroyRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring)
655 {
656     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
657 
658     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
659     vn_encode_VkFlags(enc, &cmd_flags);
660 
661     vn_encode_uint64_t(enc, &ring);
662 }
663 
vn_sizeof_vkDestroyRingMESA_reply(uint64_t ring)664 static inline size_t vn_sizeof_vkDestroyRingMESA_reply(uint64_t ring)
665 {
666     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyRingMESA_EXT;
667     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
668 
669     /* skip ring */
670 
671     return cmd_size;
672 }
673 
vn_decode_vkDestroyRingMESA_reply(struct vn_cs_decoder * dec,uint64_t ring)674 static inline void vn_decode_vkDestroyRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring)
675 {
676     VkCommandTypeEXT command_type;
677     vn_decode_VkCommandTypeEXT(dec, &command_type);
678     assert(command_type == VK_COMMAND_TYPE_vkDestroyRingMESA_EXT);
679 
680     /* skip ring */
681 }
682 
vn_sizeof_vkNotifyRingMESA(uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags)683 static inline size_t vn_sizeof_vkNotifyRingMESA(uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
684 {
685     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
686     const VkFlags cmd_flags = 0;
687     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
688 
689     cmd_size += vn_sizeof_uint64_t(&ring);
690     cmd_size += vn_sizeof_uint32_t(&seqno);
691     cmd_size += vn_sizeof_VkFlags(&flags);
692 
693     return cmd_size;
694 }
695 
vn_encode_vkNotifyRingMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags)696 static inline void vn_encode_vkNotifyRingMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
697 {
698     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
699 
700     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
701     vn_encode_VkFlags(enc, &cmd_flags);
702 
703     vn_encode_uint64_t(enc, &ring);
704     vn_encode_uint32_t(enc, &seqno);
705     vn_encode_VkFlags(enc, &flags);
706 }
707 
vn_sizeof_vkNotifyRingMESA_reply(uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags)708 static inline size_t vn_sizeof_vkNotifyRingMESA_reply(uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
709 {
710     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkNotifyRingMESA_EXT;
711     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
712 
713     /* skip ring */
714     /* skip seqno */
715     /* skip flags */
716 
717     return cmd_size;
718 }
719 
vn_decode_vkNotifyRingMESA_reply(struct vn_cs_decoder * dec,uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags)720 static inline void vn_decode_vkNotifyRingMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
721 {
722     VkCommandTypeEXT command_type;
723     vn_decode_VkCommandTypeEXT(dec, &command_type);
724     assert(command_type == VK_COMMAND_TYPE_vkNotifyRingMESA_EXT);
725 
726     /* skip ring */
727     /* skip seqno */
728     /* skip flags */
729 }
730 
vn_sizeof_vkWriteRingExtraMESA(uint64_t ring,size_t offset,uint32_t value)731 static inline size_t vn_sizeof_vkWriteRingExtraMESA(uint64_t ring, size_t offset, uint32_t value)
732 {
733     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
734     const VkFlags cmd_flags = 0;
735     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
736 
737     cmd_size += vn_sizeof_uint64_t(&ring);
738     cmd_size += vn_sizeof_size_t(&offset);
739     cmd_size += vn_sizeof_uint32_t(&value);
740 
741     return cmd_size;
742 }
743 
vn_encode_vkWriteRingExtraMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,uint64_t ring,size_t offset,uint32_t value)744 static inline void vn_encode_vkWriteRingExtraMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, uint64_t ring, size_t offset, uint32_t value)
745 {
746     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
747 
748     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
749     vn_encode_VkFlags(enc, &cmd_flags);
750 
751     vn_encode_uint64_t(enc, &ring);
752     vn_encode_size_t(enc, &offset);
753     vn_encode_uint32_t(enc, &value);
754 }
755 
vn_sizeof_vkWriteRingExtraMESA_reply(uint64_t ring,size_t offset,uint32_t value)756 static inline size_t vn_sizeof_vkWriteRingExtraMESA_reply(uint64_t ring, size_t offset, uint32_t value)
757 {
758     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT;
759     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
760 
761     /* skip ring */
762     /* skip offset */
763     /* skip value */
764 
765     return cmd_size;
766 }
767 
vn_decode_vkWriteRingExtraMESA_reply(struct vn_cs_decoder * dec,uint64_t ring,size_t offset,uint32_t value)768 static inline void vn_decode_vkWriteRingExtraMESA_reply(struct vn_cs_decoder *dec, uint64_t ring, size_t offset, uint32_t value)
769 {
770     VkCommandTypeEXT command_type;
771     vn_decode_VkCommandTypeEXT(dec, &command_type);
772     assert(command_type == VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT);
773 
774     /* skip ring */
775     /* skip offset */
776     /* skip value */
777 }
778 
vn_sizeof_vkGetMemoryResourcePropertiesMESA(VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties)779 static inline size_t vn_sizeof_vkGetMemoryResourcePropertiesMESA(VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties)
780 {
781     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT;
782     const VkFlags cmd_flags = 0;
783     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
784 
785     cmd_size += vn_sizeof_VkDevice(&device);
786     cmd_size += vn_sizeof_uint32_t(&resourceId);
787     cmd_size += vn_sizeof_simple_pointer(pMemoryResourceProperties);
788     if (pMemoryResourceProperties)
789         cmd_size += vn_sizeof_VkMemoryResourcePropertiesMESA_partial(pMemoryResourceProperties);
790 
791     return cmd_size;
792 }
793 
vn_encode_vkGetMemoryResourcePropertiesMESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties)794 static inline void vn_encode_vkGetMemoryResourcePropertiesMESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties)
795 {
796     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT;
797 
798     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
799     vn_encode_VkFlags(enc, &cmd_flags);
800 
801     vn_encode_VkDevice(enc, &device);
802     vn_encode_uint32_t(enc, &resourceId);
803     if (vn_encode_simple_pointer(enc, pMemoryResourceProperties))
804         vn_encode_VkMemoryResourcePropertiesMESA_partial(enc, pMemoryResourceProperties);
805 }
806 
vn_sizeof_vkGetMemoryResourcePropertiesMESA_reply(VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties)807 static inline size_t vn_sizeof_vkGetMemoryResourcePropertiesMESA_reply(VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties)
808 {
809     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT;
810     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
811 
812     VkResult ret;
813     cmd_size += vn_sizeof_VkResult(&ret);
814     /* skip device */
815     /* skip resourceId */
816     cmd_size += vn_sizeof_simple_pointer(pMemoryResourceProperties);
817     if (pMemoryResourceProperties)
818         cmd_size += vn_sizeof_VkMemoryResourcePropertiesMESA(pMemoryResourceProperties);
819 
820     return cmd_size;
821 }
822 
vn_decode_vkGetMemoryResourcePropertiesMESA_reply(struct vn_cs_decoder * dec,VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties)823 static inline VkResult vn_decode_vkGetMemoryResourcePropertiesMESA_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties)
824 {
825     VkCommandTypeEXT command_type;
826     vn_decode_VkCommandTypeEXT(dec, &command_type);
827     assert(command_type == VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT);
828 
829     VkResult ret;
830     vn_decode_VkResult(dec, &ret);
831     /* skip device */
832     /* skip resourceId */
833     if (vn_decode_simple_pointer(dec)) {
834         vn_decode_VkMemoryResourcePropertiesMESA(dec, pMemoryResourceProperties);
835     } else {
836         pMemoryResourceProperties = NULL;
837     }
838 
839     return ret;
840 }
841 
vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA(size_t * pDataSize,void * pData)842 static inline size_t vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA(size_t* pDataSize, void* pData)
843 {
844     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT;
845     const VkFlags cmd_flags = 0;
846     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);
847 
848     cmd_size += vn_sizeof_simple_pointer(pDataSize);
849     if (pDataSize)
850         cmd_size += vn_sizeof_size_t(pDataSize);
851     cmd_size += vn_sizeof_simple_pointer(pData); /* out */
852 
853     return cmd_size;
854 }
855 
vn_encode_vkGetVenusExperimentalFeatureData100000MESA(struct vn_cs_encoder * enc,VkCommandFlagsEXT cmd_flags,size_t * pDataSize,void * pData)856 static inline void vn_encode_vkGetVenusExperimentalFeatureData100000MESA(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, size_t* pDataSize, void* pData)
857 {
858     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT;
859 
860     vn_encode_VkCommandTypeEXT(enc, &cmd_type);
861     vn_encode_VkFlags(enc, &cmd_flags);
862 
863     if (vn_encode_simple_pointer(enc, pDataSize))
864         vn_encode_size_t(enc, pDataSize);
865     vn_encode_array_size(enc, pData ? (pDataSize ? *pDataSize : 0) : 0); /* out */
866 }
867 
vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA_reply(size_t * pDataSize,void * pData)868 static inline size_t vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA_reply(size_t* pDataSize, void* pData)
869 {
870     const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT;
871     size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);
872 
873     cmd_size += vn_sizeof_simple_pointer(pDataSize);
874     if (pDataSize)
875         cmd_size += vn_sizeof_size_t(pDataSize);
876     if (pData) {
877         cmd_size += vn_sizeof_array_size((pDataSize ? *pDataSize : 0));
878         cmd_size += vn_sizeof_blob_array(pData, (pDataSize ? *pDataSize : 0));
879     } else {
880         cmd_size += vn_sizeof_array_size(0);
881     }
882 
883     return cmd_size;
884 }
885 
vn_decode_vkGetVenusExperimentalFeatureData100000MESA_reply(struct vn_cs_decoder * dec,size_t * pDataSize,void * pData)886 static inline void vn_decode_vkGetVenusExperimentalFeatureData100000MESA_reply(struct vn_cs_decoder *dec, size_t* pDataSize, void* pData)
887 {
888     VkCommandTypeEXT command_type;
889     vn_decode_VkCommandTypeEXT(dec, &command_type);
890     assert(command_type == VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT);
891 
892     if (vn_decode_simple_pointer(dec)) {
893         vn_decode_size_t(dec, pDataSize);
894     } else {
895         pDataSize = NULL;
896     }
897     if (vn_peek_array_size(dec)) {
898         const size_t array_size = vn_decode_array_size(dec, (pDataSize ? *pDataSize : 0));
899         vn_decode_blob_array(dec, pData, array_size);
900     } else {
901         vn_decode_array_size_unchecked(dec);
902         pData = NULL;
903     }
904 }
905 
vn_submit_vkSetReplyCommandStreamMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,const VkCommandStreamDescriptionMESA * pStream,struct vn_instance_submit_command * submit)906 static inline void vn_submit_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, const VkCommandStreamDescriptionMESA* pStream, struct vn_instance_submit_command *submit)
907 {
908     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
909     void *cmd_data = local_cmd_data;
910     size_t cmd_size = vn_sizeof_vkSetReplyCommandStreamMESA(pStream);
911     if (cmd_size > sizeof(local_cmd_data)) {
912         cmd_data = malloc(cmd_size);
913         if (!cmd_data)
914             cmd_size = 0;
915     }
916     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSetReplyCommandStreamMESA_reply(pStream) : 0;
917 
918     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
919     if (cmd_size) {
920         vn_encode_vkSetReplyCommandStreamMESA(enc, cmd_flags, pStream);
921         vn_instance_submit_command(vn_instance, submit);
922         if (cmd_data != local_cmd_data)
923             free(cmd_data);
924     }
925 }
926 
vn_submit_vkSeekReplyCommandStreamMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,size_t position,struct vn_instance_submit_command * submit)927 static inline void vn_submit_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, size_t position, struct vn_instance_submit_command *submit)
928 {
929     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
930     void *cmd_data = local_cmd_data;
931     size_t cmd_size = vn_sizeof_vkSeekReplyCommandStreamMESA(position);
932     if (cmd_size > sizeof(local_cmd_data)) {
933         cmd_data = malloc(cmd_size);
934         if (!cmd_data)
935             cmd_size = 0;
936     }
937     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkSeekReplyCommandStreamMESA_reply(position) : 0;
938 
939     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
940     if (cmd_size) {
941         vn_encode_vkSeekReplyCommandStreamMESA(enc, cmd_flags, position);
942         vn_instance_submit_command(vn_instance, submit);
943         if (cmd_data != local_cmd_data)
944             free(cmd_data);
945     }
946 }
947 
vn_submit_vkExecuteCommandStreamsMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags,struct vn_instance_submit_command * submit)948 static inline void vn_submit_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags, struct vn_instance_submit_command *submit)
949 {
950     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
951     void *cmd_data = local_cmd_data;
952     size_t cmd_size = vn_sizeof_vkExecuteCommandStreamsMESA(streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
953     if (cmd_size > sizeof(local_cmd_data)) {
954         cmd_data = malloc(cmd_size);
955         if (!cmd_data)
956             cmd_size = 0;
957     }
958     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkExecuteCommandStreamsMESA_reply(streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags) : 0;
959 
960     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
961     if (cmd_size) {
962         vn_encode_vkExecuteCommandStreamsMESA(enc, cmd_flags, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
963         vn_instance_submit_command(vn_instance, submit);
964         if (cmd_data != local_cmd_data)
965             free(cmd_data);
966     }
967 }
968 
vn_submit_vkCreateRingMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo,struct vn_instance_submit_command * submit)969 static inline void vn_submit_vkCreateRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo, struct vn_instance_submit_command *submit)
970 {
971     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
972     void *cmd_data = local_cmd_data;
973     size_t cmd_size = vn_sizeof_vkCreateRingMESA(ring, pCreateInfo);
974     if (cmd_size > sizeof(local_cmd_data)) {
975         cmd_data = malloc(cmd_size);
976         if (!cmd_data)
977             cmd_size = 0;
978     }
979     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateRingMESA_reply(ring, pCreateInfo) : 0;
980 
981     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
982     if (cmd_size) {
983         vn_encode_vkCreateRingMESA(enc, cmd_flags, ring, pCreateInfo);
984         vn_instance_submit_command(vn_instance, submit);
985         if (cmd_data != local_cmd_data)
986             free(cmd_data);
987     }
988 }
989 
vn_submit_vkDestroyRingMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,uint64_t ring,struct vn_instance_submit_command * submit)990 static inline void vn_submit_vkDestroyRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, struct vn_instance_submit_command *submit)
991 {
992     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
993     void *cmd_data = local_cmd_data;
994     size_t cmd_size = vn_sizeof_vkDestroyRingMESA(ring);
995     if (cmd_size > sizeof(local_cmd_data)) {
996         cmd_data = malloc(cmd_size);
997         if (!cmd_data)
998             cmd_size = 0;
999     }
1000     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyRingMESA_reply(ring) : 0;
1001 
1002     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1003     if (cmd_size) {
1004         vn_encode_vkDestroyRingMESA(enc, cmd_flags, ring);
1005         vn_instance_submit_command(vn_instance, submit);
1006         if (cmd_data != local_cmd_data)
1007             free(cmd_data);
1008     }
1009 }
1010 
vn_submit_vkNotifyRingMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags,struct vn_instance_submit_command * submit)1011 static inline void vn_submit_vkNotifyRingMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags, struct vn_instance_submit_command *submit)
1012 {
1013     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1014     void *cmd_data = local_cmd_data;
1015     size_t cmd_size = vn_sizeof_vkNotifyRingMESA(ring, seqno, flags);
1016     if (cmd_size > sizeof(local_cmd_data)) {
1017         cmd_data = malloc(cmd_size);
1018         if (!cmd_data)
1019             cmd_size = 0;
1020     }
1021     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkNotifyRingMESA_reply(ring, seqno, flags) : 0;
1022 
1023     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1024     if (cmd_size) {
1025         vn_encode_vkNotifyRingMESA(enc, cmd_flags, ring, seqno, flags);
1026         vn_instance_submit_command(vn_instance, submit);
1027         if (cmd_data != local_cmd_data)
1028             free(cmd_data);
1029     }
1030 }
1031 
vn_submit_vkWriteRingExtraMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,uint64_t ring,size_t offset,uint32_t value,struct vn_instance_submit_command * submit)1032 static inline void vn_submit_vkWriteRingExtraMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, uint64_t ring, size_t offset, uint32_t value, struct vn_instance_submit_command *submit)
1033 {
1034     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1035     void *cmd_data = local_cmd_data;
1036     size_t cmd_size = vn_sizeof_vkWriteRingExtraMESA(ring, offset, value);
1037     if (cmd_size > sizeof(local_cmd_data)) {
1038         cmd_data = malloc(cmd_size);
1039         if (!cmd_data)
1040             cmd_size = 0;
1041     }
1042     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkWriteRingExtraMESA_reply(ring, offset, value) : 0;
1043 
1044     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1045     if (cmd_size) {
1046         vn_encode_vkWriteRingExtraMESA(enc, cmd_flags, ring, offset, value);
1047         vn_instance_submit_command(vn_instance, submit);
1048         if (cmd_data != local_cmd_data)
1049             free(cmd_data);
1050     }
1051 }
1052 
vn_submit_vkGetMemoryResourcePropertiesMESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties,struct vn_instance_submit_command * submit)1053 static inline void vn_submit_vkGetMemoryResourcePropertiesMESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties, struct vn_instance_submit_command *submit)
1054 {
1055     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1056     void *cmd_data = local_cmd_data;
1057     size_t cmd_size = vn_sizeof_vkGetMemoryResourcePropertiesMESA(device, resourceId, pMemoryResourceProperties);
1058     if (cmd_size > sizeof(local_cmd_data)) {
1059         cmd_data = malloc(cmd_size);
1060         if (!cmd_data)
1061             cmd_size = 0;
1062     }
1063     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetMemoryResourcePropertiesMESA_reply(device, resourceId, pMemoryResourceProperties) : 0;
1064 
1065     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1066     if (cmd_size) {
1067         vn_encode_vkGetMemoryResourcePropertiesMESA(enc, cmd_flags, device, resourceId, pMemoryResourceProperties);
1068         vn_instance_submit_command(vn_instance, submit);
1069         if (cmd_data != local_cmd_data)
1070             free(cmd_data);
1071     }
1072 }
1073 
vn_submit_vkGetVenusExperimentalFeatureData100000MESA(struct vn_instance * vn_instance,VkCommandFlagsEXT cmd_flags,size_t * pDataSize,void * pData,struct vn_instance_submit_command * submit)1074 static inline void vn_submit_vkGetVenusExperimentalFeatureData100000MESA(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, size_t* pDataSize, void* pData, struct vn_instance_submit_command *submit)
1075 {
1076     uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];
1077     void *cmd_data = local_cmd_data;
1078     size_t cmd_size = vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA(pDataSize, pData);
1079     if (cmd_size > sizeof(local_cmd_data)) {
1080         cmd_data = malloc(cmd_size);
1081         if (!cmd_data)
1082             cmd_size = 0;
1083     }
1084     const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetVenusExperimentalFeatureData100000MESA_reply(pDataSize, pData) : 0;
1085 
1086     struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);
1087     if (cmd_size) {
1088         vn_encode_vkGetVenusExperimentalFeatureData100000MESA(enc, cmd_flags, pDataSize, pData);
1089         vn_instance_submit_command(vn_instance, submit);
1090         if (cmd_data != local_cmd_data)
1091             free(cmd_data);
1092     }
1093 }
1094 
vn_call_vkSetReplyCommandStreamMESA(struct vn_instance * vn_instance,const VkCommandStreamDescriptionMESA * pStream)1095 static inline void vn_call_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, const VkCommandStreamDescriptionMESA* pStream)
1096 {
1097     VN_TRACE_FUNC();
1098 
1099     struct vn_instance_submit_command submit;
1100     vn_submit_vkSetReplyCommandStreamMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pStream, &submit);
1101     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1102     if (dec) {
1103         vn_decode_vkSetReplyCommandStreamMESA_reply(dec, pStream);
1104         vn_instance_free_command_reply(vn_instance, &submit);
1105     }
1106 }
1107 
vn_async_vkSetReplyCommandStreamMESA(struct vn_instance * vn_instance,const VkCommandStreamDescriptionMESA * pStream)1108 static inline void vn_async_vkSetReplyCommandStreamMESA(struct vn_instance *vn_instance, const VkCommandStreamDescriptionMESA* pStream)
1109 {
1110     struct vn_instance_submit_command submit;
1111     vn_submit_vkSetReplyCommandStreamMESA(vn_instance, 0, pStream, &submit);
1112 }
1113 
vn_call_vkSeekReplyCommandStreamMESA(struct vn_instance * vn_instance,size_t position)1114 static inline void vn_call_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, size_t position)
1115 {
1116     VN_TRACE_FUNC();
1117 
1118     struct vn_instance_submit_command submit;
1119     vn_submit_vkSeekReplyCommandStreamMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, position, &submit);
1120     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1121     if (dec) {
1122         vn_decode_vkSeekReplyCommandStreamMESA_reply(dec, position);
1123         vn_instance_free_command_reply(vn_instance, &submit);
1124     }
1125 }
1126 
vn_async_vkSeekReplyCommandStreamMESA(struct vn_instance * vn_instance,size_t position)1127 static inline void vn_async_vkSeekReplyCommandStreamMESA(struct vn_instance *vn_instance, size_t position)
1128 {
1129     struct vn_instance_submit_command submit;
1130     vn_submit_vkSeekReplyCommandStreamMESA(vn_instance, 0, position, &submit);
1131 }
1132 
vn_call_vkExecuteCommandStreamsMESA(struct vn_instance * vn_instance,uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags)1133 static inline void vn_call_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
1134 {
1135     VN_TRACE_FUNC();
1136 
1137     struct vn_instance_submit_command submit;
1138     vn_submit_vkExecuteCommandStreamsMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags, &submit);
1139     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1140     if (dec) {
1141         vn_decode_vkExecuteCommandStreamsMESA_reply(dec, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags);
1142         vn_instance_free_command_reply(vn_instance, &submit);
1143     }
1144 }
1145 
vn_async_vkExecuteCommandStreamsMESA(struct vn_instance * vn_instance,uint32_t streamCount,const VkCommandStreamDescriptionMESA * pStreams,const size_t * pReplyPositions,uint32_t dependencyCount,const VkCommandStreamDependencyMESA * pDependencies,VkCommandStreamExecutionFlagsMESA flags)1146 static inline void vn_async_vkExecuteCommandStreamsMESA(struct vn_instance *vn_instance, uint32_t streamCount, const VkCommandStreamDescriptionMESA* pStreams, const size_t* pReplyPositions, uint32_t dependencyCount, const VkCommandStreamDependencyMESA* pDependencies, VkCommandStreamExecutionFlagsMESA flags)
1147 {
1148     struct vn_instance_submit_command submit;
1149     vn_submit_vkExecuteCommandStreamsMESA(vn_instance, 0, streamCount, pStreams, pReplyPositions, dependencyCount, pDependencies, flags, &submit);
1150 }
1151 
vn_call_vkCreateRingMESA(struct vn_instance * vn_instance,uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo)1152 static inline void vn_call_vkCreateRingMESA(struct vn_instance *vn_instance, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
1153 {
1154     VN_TRACE_FUNC();
1155 
1156     struct vn_instance_submit_command submit;
1157     vn_submit_vkCreateRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, pCreateInfo, &submit);
1158     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1159     if (dec) {
1160         vn_decode_vkCreateRingMESA_reply(dec, ring, pCreateInfo);
1161         vn_instance_free_command_reply(vn_instance, &submit);
1162     }
1163 }
1164 
vn_async_vkCreateRingMESA(struct vn_instance * vn_instance,uint64_t ring,const VkRingCreateInfoMESA * pCreateInfo)1165 static inline void vn_async_vkCreateRingMESA(struct vn_instance *vn_instance, uint64_t ring, const VkRingCreateInfoMESA* pCreateInfo)
1166 {
1167     struct vn_instance_submit_command submit;
1168     vn_submit_vkCreateRingMESA(vn_instance, 0, ring, pCreateInfo, &submit);
1169 }
1170 
vn_call_vkDestroyRingMESA(struct vn_instance * vn_instance,uint64_t ring)1171 static inline void vn_call_vkDestroyRingMESA(struct vn_instance *vn_instance, uint64_t ring)
1172 {
1173     VN_TRACE_FUNC();
1174 
1175     struct vn_instance_submit_command submit;
1176     vn_submit_vkDestroyRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, &submit);
1177     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1178     if (dec) {
1179         vn_decode_vkDestroyRingMESA_reply(dec, ring);
1180         vn_instance_free_command_reply(vn_instance, &submit);
1181     }
1182 }
1183 
vn_async_vkDestroyRingMESA(struct vn_instance * vn_instance,uint64_t ring)1184 static inline void vn_async_vkDestroyRingMESA(struct vn_instance *vn_instance, uint64_t ring)
1185 {
1186     struct vn_instance_submit_command submit;
1187     vn_submit_vkDestroyRingMESA(vn_instance, 0, ring, &submit);
1188 }
1189 
vn_call_vkNotifyRingMESA(struct vn_instance * vn_instance,uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags)1190 static inline void vn_call_vkNotifyRingMESA(struct vn_instance *vn_instance, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
1191 {
1192     VN_TRACE_FUNC();
1193 
1194     struct vn_instance_submit_command submit;
1195     vn_submit_vkNotifyRingMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, seqno, flags, &submit);
1196     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1197     if (dec) {
1198         vn_decode_vkNotifyRingMESA_reply(dec, ring, seqno, flags);
1199         vn_instance_free_command_reply(vn_instance, &submit);
1200     }
1201 }
1202 
vn_async_vkNotifyRingMESA(struct vn_instance * vn_instance,uint64_t ring,uint32_t seqno,VkRingNotifyFlagsMESA flags)1203 static inline void vn_async_vkNotifyRingMESA(struct vn_instance *vn_instance, uint64_t ring, uint32_t seqno, VkRingNotifyFlagsMESA flags)
1204 {
1205     struct vn_instance_submit_command submit;
1206     vn_submit_vkNotifyRingMESA(vn_instance, 0, ring, seqno, flags, &submit);
1207 }
1208 
vn_call_vkWriteRingExtraMESA(struct vn_instance * vn_instance,uint64_t ring,size_t offset,uint32_t value)1209 static inline void vn_call_vkWriteRingExtraMESA(struct vn_instance *vn_instance, uint64_t ring, size_t offset, uint32_t value)
1210 {
1211     VN_TRACE_FUNC();
1212 
1213     struct vn_instance_submit_command submit;
1214     vn_submit_vkWriteRingExtraMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, ring, offset, value, &submit);
1215     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1216     if (dec) {
1217         vn_decode_vkWriteRingExtraMESA_reply(dec, ring, offset, value);
1218         vn_instance_free_command_reply(vn_instance, &submit);
1219     }
1220 }
1221 
vn_async_vkWriteRingExtraMESA(struct vn_instance * vn_instance,uint64_t ring,size_t offset,uint32_t value)1222 static inline void vn_async_vkWriteRingExtraMESA(struct vn_instance *vn_instance, uint64_t ring, size_t offset, uint32_t value)
1223 {
1224     struct vn_instance_submit_command submit;
1225     vn_submit_vkWriteRingExtraMESA(vn_instance, 0, ring, offset, value, &submit);
1226 }
1227 
vn_call_vkGetMemoryResourcePropertiesMESA(struct vn_instance * vn_instance,VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties)1228 static inline VkResult vn_call_vkGetMemoryResourcePropertiesMESA(struct vn_instance *vn_instance, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties)
1229 {
1230     VN_TRACE_FUNC();
1231 
1232     struct vn_instance_submit_command submit;
1233     vn_submit_vkGetMemoryResourcePropertiesMESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, resourceId, pMemoryResourceProperties, &submit);
1234     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1235     if (dec) {
1236         const VkResult ret = vn_decode_vkGetMemoryResourcePropertiesMESA_reply(dec, device, resourceId, pMemoryResourceProperties);
1237         vn_instance_free_command_reply(vn_instance, &submit);
1238         return ret;
1239     } else {
1240         return VK_ERROR_OUT_OF_HOST_MEMORY;
1241     }
1242 }
1243 
vn_async_vkGetMemoryResourcePropertiesMESA(struct vn_instance * vn_instance,VkDevice device,uint32_t resourceId,VkMemoryResourcePropertiesMESA * pMemoryResourceProperties)1244 static inline void vn_async_vkGetMemoryResourcePropertiesMESA(struct vn_instance *vn_instance, VkDevice device, uint32_t resourceId, VkMemoryResourcePropertiesMESA* pMemoryResourceProperties)
1245 {
1246     struct vn_instance_submit_command submit;
1247     vn_submit_vkGetMemoryResourcePropertiesMESA(vn_instance, 0, device, resourceId, pMemoryResourceProperties, &submit);
1248 }
1249 
vn_call_vkGetVenusExperimentalFeatureData100000MESA(struct vn_instance * vn_instance,size_t * pDataSize,void * pData)1250 static inline void vn_call_vkGetVenusExperimentalFeatureData100000MESA(struct vn_instance *vn_instance, size_t* pDataSize, void* pData)
1251 {
1252     VN_TRACE_FUNC();
1253 
1254     struct vn_instance_submit_command submit;
1255     vn_submit_vkGetVenusExperimentalFeatureData100000MESA(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, pDataSize, pData, &submit);
1256     struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);
1257     if (dec) {
1258         vn_decode_vkGetVenusExperimentalFeatureData100000MESA_reply(dec, pDataSize, pData);
1259         vn_instance_free_command_reply(vn_instance, &submit);
1260     }
1261 }
1262 
vn_async_vkGetVenusExperimentalFeatureData100000MESA(struct vn_instance * vn_instance,size_t * pDataSize,void * pData)1263 static inline void vn_async_vkGetVenusExperimentalFeatureData100000MESA(struct vn_instance *vn_instance, size_t* pDataSize, void* pData)
1264 {
1265     struct vn_instance_submit_command submit;
1266     vn_submit_vkGetVenusExperimentalFeatureData100000MESA(vn_instance, 0, pDataSize, pData, &submit);
1267 }
1268 
1269 #endif /* VN_PROTOCOL_DRIVER_TRANSPORT_H */
1270