1 /* This file is generated by venus-protocol. See vn_protocol_renderer.h. */
2
3 /*
4 * Copyright 2020 Google LLC
5 * SPDX-License-Identifier: MIT
6 */
7
8 #ifndef VN_PROTOCOL_RENDERER_COMMAND_BUFFER_H
9 #define VN_PROTOCOL_RENDERER_COMMAND_BUFFER_H
10
11 #include "vn_protocol_renderer_structs.h"
12
13 #pragma GCC diagnostic push
14 #pragma GCC diagnostic ignored "-Wpointer-arith"
15 #pragma GCC diagnostic ignored "-Wunused-parameter"
16
17 /* struct VkCommandBufferAllocateInfo chain */
18
19 static inline void *
vn_decode_VkCommandBufferAllocateInfo_pnext_temp(struct vn_cs_decoder * dec)20 vn_decode_VkCommandBufferAllocateInfo_pnext_temp(struct vn_cs_decoder *dec)
21 {
22 /* no known/supported struct */
23 if (vn_decode_simple_pointer(dec))
24 vn_cs_decoder_set_fatal(dec);
25 return NULL;
26 }
27
28 static inline void
vn_decode_VkCommandBufferAllocateInfo_self_temp(struct vn_cs_decoder * dec,VkCommandBufferAllocateInfo * val)29 vn_decode_VkCommandBufferAllocateInfo_self_temp(struct vn_cs_decoder *dec, VkCommandBufferAllocateInfo *val)
30 {
31 /* skip val->{sType,pNext} */
32 vn_decode_VkCommandPool_lookup(dec, &val->commandPool);
33 vn_decode_VkCommandBufferLevel(dec, &val->level);
34 vn_decode_uint32_t(dec, &val->commandBufferCount);
35 }
36
37 static inline void
vn_decode_VkCommandBufferAllocateInfo_temp(struct vn_cs_decoder * dec,VkCommandBufferAllocateInfo * val)38 vn_decode_VkCommandBufferAllocateInfo_temp(struct vn_cs_decoder *dec, VkCommandBufferAllocateInfo *val)
39 {
40 VkStructureType stype;
41 vn_decode_VkStructureType(dec, &stype);
42 if (stype != VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO)
43 vn_cs_decoder_set_fatal(dec);
44
45 val->sType = stype;
46 val->pNext = vn_decode_VkCommandBufferAllocateInfo_pnext_temp(dec);
47 vn_decode_VkCommandBufferAllocateInfo_self_temp(dec, val);
48 }
49
50 static inline void
vn_replace_VkCommandBufferAllocateInfo_handle_self(VkCommandBufferAllocateInfo * val)51 vn_replace_VkCommandBufferAllocateInfo_handle_self(VkCommandBufferAllocateInfo *val)
52 {
53 /* skip val->sType */
54 /* skip val->pNext */
55 vn_replace_VkCommandPool_handle(&val->commandPool);
56 /* skip val->level */
57 /* skip val->commandBufferCount */
58 }
59
60 static inline void
vn_replace_VkCommandBufferAllocateInfo_handle(VkCommandBufferAllocateInfo * val)61 vn_replace_VkCommandBufferAllocateInfo_handle(VkCommandBufferAllocateInfo *val)
62 {
63 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
64
65 do {
66 switch ((int32_t)pnext->sType) {
67 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO:
68 vn_replace_VkCommandBufferAllocateInfo_handle_self((VkCommandBufferAllocateInfo *)pnext);
69 break;
70 default:
71 /* ignore unknown/unsupported struct */
72 break;
73 }
74 pnext = pnext->pNext;
75 } while (pnext);
76 }
77
78 /* struct VkCommandBufferInheritanceInfo chain */
79
80 static inline void
vn_encode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_encoder * enc,const void * val)81 vn_encode_VkCommandBufferInheritanceInfo_pnext(struct vn_cs_encoder *enc, const void *val)
82 {
83 /* no known/supported struct */
84 vn_encode_simple_pointer(enc, NULL);
85 }
86
87 static inline void
vn_encode_VkCommandBufferInheritanceInfo_self(struct vn_cs_encoder * enc,const VkCommandBufferInheritanceInfo * val)88 vn_encode_VkCommandBufferInheritanceInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)
89 {
90 /* skip val->{sType,pNext} */
91 vn_encode_VkRenderPass(enc, &val->renderPass);
92 vn_encode_uint32_t(enc, &val->subpass);
93 vn_encode_VkFramebuffer(enc, &val->framebuffer);
94 vn_encode_VkBool32(enc, &val->occlusionQueryEnable);
95 vn_encode_VkFlags(enc, &val->queryFlags);
96 vn_encode_VkFlags(enc, &val->pipelineStatistics);
97 }
98
99 static inline void
vn_encode_VkCommandBufferInheritanceInfo(struct vn_cs_encoder * enc,const VkCommandBufferInheritanceInfo * val)100 vn_encode_VkCommandBufferInheritanceInfo(struct vn_cs_encoder *enc, const VkCommandBufferInheritanceInfo *val)
101 {
102 assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO);
103 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO });
104 vn_encode_VkCommandBufferInheritanceInfo_pnext(enc, val->pNext);
105 vn_encode_VkCommandBufferInheritanceInfo_self(enc, val);
106 }
107
108 static inline void *
vn_decode_VkCommandBufferInheritanceInfo_pnext_temp(struct vn_cs_decoder * dec)109 vn_decode_VkCommandBufferInheritanceInfo_pnext_temp(struct vn_cs_decoder *dec)
110 {
111 /* no known/supported struct */
112 if (vn_decode_simple_pointer(dec))
113 vn_cs_decoder_set_fatal(dec);
114 return NULL;
115 }
116
117 static inline void
vn_decode_VkCommandBufferInheritanceInfo_self_temp(struct vn_cs_decoder * dec,VkCommandBufferInheritanceInfo * val)118 vn_decode_VkCommandBufferInheritanceInfo_self_temp(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)
119 {
120 /* skip val->{sType,pNext} */
121 vn_decode_VkRenderPass_lookup(dec, &val->renderPass);
122 vn_decode_uint32_t(dec, &val->subpass);
123 vn_decode_VkFramebuffer_lookup(dec, &val->framebuffer);
124 vn_decode_VkBool32(dec, &val->occlusionQueryEnable);
125 vn_decode_VkFlags(dec, &val->queryFlags);
126 vn_decode_VkFlags(dec, &val->pipelineStatistics);
127 }
128
129 static inline void
vn_decode_VkCommandBufferInheritanceInfo_temp(struct vn_cs_decoder * dec,VkCommandBufferInheritanceInfo * val)130 vn_decode_VkCommandBufferInheritanceInfo_temp(struct vn_cs_decoder *dec, VkCommandBufferInheritanceInfo *val)
131 {
132 VkStructureType stype;
133 vn_decode_VkStructureType(dec, &stype);
134 if (stype != VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO)
135 vn_cs_decoder_set_fatal(dec);
136
137 val->sType = stype;
138 val->pNext = vn_decode_VkCommandBufferInheritanceInfo_pnext_temp(dec);
139 vn_decode_VkCommandBufferInheritanceInfo_self_temp(dec, val);
140 }
141
142 static inline void
vn_replace_VkCommandBufferInheritanceInfo_handle_self(VkCommandBufferInheritanceInfo * val)143 vn_replace_VkCommandBufferInheritanceInfo_handle_self(VkCommandBufferInheritanceInfo *val)
144 {
145 /* skip val->sType */
146 /* skip val->pNext */
147 vn_replace_VkRenderPass_handle(&val->renderPass);
148 /* skip val->subpass */
149 vn_replace_VkFramebuffer_handle(&val->framebuffer);
150 /* skip val->occlusionQueryEnable */
151 /* skip val->queryFlags */
152 /* skip val->pipelineStatistics */
153 }
154
155 static inline void
vn_replace_VkCommandBufferInheritanceInfo_handle(VkCommandBufferInheritanceInfo * val)156 vn_replace_VkCommandBufferInheritanceInfo_handle(VkCommandBufferInheritanceInfo *val)
157 {
158 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
159
160 do {
161 switch ((int32_t)pnext->sType) {
162 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO:
163 vn_replace_VkCommandBufferInheritanceInfo_handle_self((VkCommandBufferInheritanceInfo *)pnext);
164 break;
165 default:
166 /* ignore unknown/unsupported struct */
167 break;
168 }
169 pnext = pnext->pNext;
170 } while (pnext);
171 }
172
173 /* struct VkDeviceGroupCommandBufferBeginInfo chain */
174
175 static inline void
vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_encoder * enc,const void * val)176 vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
177 {
178 /* no known/supported struct */
179 vn_encode_simple_pointer(enc, NULL);
180 }
181
182 static inline void
vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_encoder * enc,const VkDeviceGroupCommandBufferBeginInfo * val)183 vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)
184 {
185 /* skip val->{sType,pNext} */
186 vn_encode_uint32_t(enc, &val->deviceMask);
187 }
188
189 static inline void
vn_encode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_encoder * enc,const VkDeviceGroupCommandBufferBeginInfo * val)190 vn_encode_VkDeviceGroupCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkDeviceGroupCommandBufferBeginInfo *val)
191 {
192 assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO);
193 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO });
194 vn_encode_VkDeviceGroupCommandBufferBeginInfo_pnext(enc, val->pNext);
195 vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, val);
196 }
197
198 static inline void *
vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext_temp(struct vn_cs_decoder * dec)199 vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext_temp(struct vn_cs_decoder *dec)
200 {
201 /* no known/supported struct */
202 if (vn_decode_simple_pointer(dec))
203 vn_cs_decoder_set_fatal(dec);
204 return NULL;
205 }
206
207 static inline void
vn_decode_VkDeviceGroupCommandBufferBeginInfo_self_temp(struct vn_cs_decoder * dec,VkDeviceGroupCommandBufferBeginInfo * val)208 vn_decode_VkDeviceGroupCommandBufferBeginInfo_self_temp(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)
209 {
210 /* skip val->{sType,pNext} */
211 vn_decode_uint32_t(dec, &val->deviceMask);
212 }
213
214 static inline void
vn_decode_VkDeviceGroupCommandBufferBeginInfo_temp(struct vn_cs_decoder * dec,VkDeviceGroupCommandBufferBeginInfo * val)215 vn_decode_VkDeviceGroupCommandBufferBeginInfo_temp(struct vn_cs_decoder *dec, VkDeviceGroupCommandBufferBeginInfo *val)
216 {
217 VkStructureType stype;
218 vn_decode_VkStructureType(dec, &stype);
219 if (stype != VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO)
220 vn_cs_decoder_set_fatal(dec);
221
222 val->sType = stype;
223 val->pNext = vn_decode_VkDeviceGroupCommandBufferBeginInfo_pnext_temp(dec);
224 vn_decode_VkDeviceGroupCommandBufferBeginInfo_self_temp(dec, val);
225 }
226
227 static inline void
vn_replace_VkDeviceGroupCommandBufferBeginInfo_handle_self(VkDeviceGroupCommandBufferBeginInfo * val)228 vn_replace_VkDeviceGroupCommandBufferBeginInfo_handle_self(VkDeviceGroupCommandBufferBeginInfo *val)
229 {
230 /* skip val->sType */
231 /* skip val->pNext */
232 /* skip val->deviceMask */
233 }
234
235 static inline void
vn_replace_VkDeviceGroupCommandBufferBeginInfo_handle(VkDeviceGroupCommandBufferBeginInfo * val)236 vn_replace_VkDeviceGroupCommandBufferBeginInfo_handle(VkDeviceGroupCommandBufferBeginInfo *val)
237 {
238 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
239
240 do {
241 switch ((int32_t)pnext->sType) {
242 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
243 vn_replace_VkDeviceGroupCommandBufferBeginInfo_handle_self((VkDeviceGroupCommandBufferBeginInfo *)pnext);
244 break;
245 default:
246 /* ignore unknown/unsupported struct */
247 break;
248 }
249 pnext = pnext->pNext;
250 } while (pnext);
251 }
252
253 /* struct VkCommandBufferBeginInfo chain */
254
255 static inline void
vn_encode_VkCommandBufferBeginInfo_pnext(struct vn_cs_encoder * enc,const void * val)256 vn_encode_VkCommandBufferBeginInfo_pnext(struct vn_cs_encoder *enc, const void *val)
257 {
258 const VkBaseInStructure *pnext = val;
259
260 while (pnext) {
261 switch ((int32_t)pnext->sType) {
262 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
263 vn_encode_simple_pointer(enc, pnext);
264 vn_encode_VkStructureType(enc, &pnext->sType);
265 vn_encode_VkCommandBufferBeginInfo_pnext(enc, pnext->pNext);
266 vn_encode_VkDeviceGroupCommandBufferBeginInfo_self(enc, (const VkDeviceGroupCommandBufferBeginInfo *)pnext);
267 return;
268 default:
269 /* ignore unknown/unsupported struct */
270 break;
271 }
272 pnext = pnext->pNext;
273 }
274
275 vn_encode_simple_pointer(enc, NULL);
276 }
277
278 static inline void
vn_encode_VkCommandBufferBeginInfo_self(struct vn_cs_encoder * enc,const VkCommandBufferBeginInfo * val)279 vn_encode_VkCommandBufferBeginInfo_self(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)
280 {
281 /* skip val->{sType,pNext} */
282 vn_encode_VkFlags(enc, &val->flags);
283 if (vn_encode_simple_pointer(enc, val->pInheritanceInfo))
284 vn_encode_VkCommandBufferInheritanceInfo(enc, val->pInheritanceInfo);
285 }
286
287 static inline void
vn_encode_VkCommandBufferBeginInfo(struct vn_cs_encoder * enc,const VkCommandBufferBeginInfo * val)288 vn_encode_VkCommandBufferBeginInfo(struct vn_cs_encoder *enc, const VkCommandBufferBeginInfo *val)
289 {
290 assert(val->sType == VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO);
291 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO });
292 vn_encode_VkCommandBufferBeginInfo_pnext(enc, val->pNext);
293 vn_encode_VkCommandBufferBeginInfo_self(enc, val);
294 }
295
296 static inline void *
vn_decode_VkCommandBufferBeginInfo_pnext_temp(struct vn_cs_decoder * dec)297 vn_decode_VkCommandBufferBeginInfo_pnext_temp(struct vn_cs_decoder *dec)
298 {
299 VkBaseOutStructure *pnext;
300 VkStructureType stype;
301
302 if (!vn_decode_simple_pointer(dec))
303 return NULL;
304
305 vn_decode_VkStructureType(dec, &stype);
306 switch ((int32_t)stype) {
307 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
308 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDeviceGroupCommandBufferBeginInfo));
309 if (pnext) {
310 pnext->sType = stype;
311 pnext->pNext = vn_decode_VkCommandBufferBeginInfo_pnext_temp(dec);
312 vn_decode_VkDeviceGroupCommandBufferBeginInfo_self_temp(dec, (VkDeviceGroupCommandBufferBeginInfo *)pnext);
313 }
314 break;
315 default:
316 /* unexpected struct */
317 pnext = NULL;
318 vn_cs_decoder_set_fatal(dec);
319 break;
320 }
321
322 return pnext;
323 }
324
325 static inline void
vn_decode_VkCommandBufferBeginInfo_self_temp(struct vn_cs_decoder * dec,VkCommandBufferBeginInfo * val)326 vn_decode_VkCommandBufferBeginInfo_self_temp(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)
327 {
328 /* skip val->{sType,pNext} */
329 vn_decode_VkFlags(dec, &val->flags);
330 if (vn_decode_simple_pointer(dec)) {
331 val->pInheritanceInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pInheritanceInfo));
332 if (!val->pInheritanceInfo) return;
333 vn_decode_VkCommandBufferInheritanceInfo_temp(dec, (VkCommandBufferInheritanceInfo *)val->pInheritanceInfo);
334 } else {
335 val->pInheritanceInfo = NULL;
336 }
337 }
338
339 static inline void
vn_decode_VkCommandBufferBeginInfo_temp(struct vn_cs_decoder * dec,VkCommandBufferBeginInfo * val)340 vn_decode_VkCommandBufferBeginInfo_temp(struct vn_cs_decoder *dec, VkCommandBufferBeginInfo *val)
341 {
342 VkStructureType stype;
343 vn_decode_VkStructureType(dec, &stype);
344 if (stype != VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO)
345 vn_cs_decoder_set_fatal(dec);
346
347 val->sType = stype;
348 val->pNext = vn_decode_VkCommandBufferBeginInfo_pnext_temp(dec);
349 vn_decode_VkCommandBufferBeginInfo_self_temp(dec, val);
350 }
351
352 static inline void
vn_replace_VkCommandBufferBeginInfo_handle_self(VkCommandBufferBeginInfo * val)353 vn_replace_VkCommandBufferBeginInfo_handle_self(VkCommandBufferBeginInfo *val)
354 {
355 /* skip val->sType */
356 /* skip val->pNext */
357 /* skip val->flags */
358 if (val->pInheritanceInfo)
359 vn_replace_VkCommandBufferInheritanceInfo_handle((VkCommandBufferInheritanceInfo *)val->pInheritanceInfo);
360 }
361
362 static inline void
vn_replace_VkCommandBufferBeginInfo_handle(VkCommandBufferBeginInfo * val)363 vn_replace_VkCommandBufferBeginInfo_handle(VkCommandBufferBeginInfo *val)
364 {
365 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
366
367 do {
368 switch ((int32_t)pnext->sType) {
369 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO:
370 vn_replace_VkCommandBufferBeginInfo_handle_self((VkCommandBufferBeginInfo *)pnext);
371 break;
372 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO:
373 vn_replace_VkDeviceGroupCommandBufferBeginInfo_handle_self((VkDeviceGroupCommandBufferBeginInfo *)pnext);
374 break;
375 default:
376 /* ignore unknown/unsupported struct */
377 break;
378 }
379 pnext = pnext->pNext;
380 } while (pnext);
381 }
382
383 /* struct VkBufferCopy */
384
385 static inline void
vn_decode_VkBufferCopy_temp(struct vn_cs_decoder * dec,VkBufferCopy * val)386 vn_decode_VkBufferCopy_temp(struct vn_cs_decoder *dec, VkBufferCopy *val)
387 {
388 vn_decode_VkDeviceSize(dec, &val->srcOffset);
389 vn_decode_VkDeviceSize(dec, &val->dstOffset);
390 vn_decode_VkDeviceSize(dec, &val->size);
391 }
392
393 static inline void
vn_replace_VkBufferCopy_handle(VkBufferCopy * val)394 vn_replace_VkBufferCopy_handle(VkBufferCopy *val)
395 {
396 /* skip val->srcOffset */
397 /* skip val->dstOffset */
398 /* skip val->size */
399 }
400
401 /* struct VkImageSubresourceLayers */
402
403 static inline void
vn_decode_VkImageSubresourceLayers_temp(struct vn_cs_decoder * dec,VkImageSubresourceLayers * val)404 vn_decode_VkImageSubresourceLayers_temp(struct vn_cs_decoder *dec, VkImageSubresourceLayers *val)
405 {
406 vn_decode_VkFlags(dec, &val->aspectMask);
407 vn_decode_uint32_t(dec, &val->mipLevel);
408 vn_decode_uint32_t(dec, &val->baseArrayLayer);
409 vn_decode_uint32_t(dec, &val->layerCount);
410 }
411
412 static inline void
vn_replace_VkImageSubresourceLayers_handle(VkImageSubresourceLayers * val)413 vn_replace_VkImageSubresourceLayers_handle(VkImageSubresourceLayers *val)
414 {
415 /* skip val->aspectMask */
416 /* skip val->mipLevel */
417 /* skip val->baseArrayLayer */
418 /* skip val->layerCount */
419 }
420
421 /* struct VkImageCopy */
422
423 static inline void
vn_decode_VkImageCopy_temp(struct vn_cs_decoder * dec,VkImageCopy * val)424 vn_decode_VkImageCopy_temp(struct vn_cs_decoder *dec, VkImageCopy *val)
425 {
426 vn_decode_VkImageSubresourceLayers_temp(dec, &val->srcSubresource);
427 vn_decode_VkOffset3D_temp(dec, &val->srcOffset);
428 vn_decode_VkImageSubresourceLayers_temp(dec, &val->dstSubresource);
429 vn_decode_VkOffset3D_temp(dec, &val->dstOffset);
430 vn_decode_VkExtent3D_temp(dec, &val->extent);
431 }
432
433 static inline void
vn_replace_VkImageCopy_handle(VkImageCopy * val)434 vn_replace_VkImageCopy_handle(VkImageCopy *val)
435 {
436 vn_replace_VkImageSubresourceLayers_handle(&val->srcSubresource);
437 vn_replace_VkOffset3D_handle(&val->srcOffset);
438 vn_replace_VkImageSubresourceLayers_handle(&val->dstSubresource);
439 vn_replace_VkOffset3D_handle(&val->dstOffset);
440 vn_replace_VkExtent3D_handle(&val->extent);
441 }
442
443 /* struct VkImageBlit */
444
445 static inline void
vn_decode_VkImageBlit_temp(struct vn_cs_decoder * dec,VkImageBlit * val)446 vn_decode_VkImageBlit_temp(struct vn_cs_decoder *dec, VkImageBlit *val)
447 {
448 vn_decode_VkImageSubresourceLayers_temp(dec, &val->srcSubresource);
449 {
450 const uint32_t iter_count = vn_decode_array_size(dec, 2);
451 for (uint32_t i = 0; i < iter_count; i++)
452 vn_decode_VkOffset3D_temp(dec, &val->srcOffsets[i]);
453 }
454 vn_decode_VkImageSubresourceLayers_temp(dec, &val->dstSubresource);
455 {
456 const uint32_t iter_count = vn_decode_array_size(dec, 2);
457 for (uint32_t i = 0; i < iter_count; i++)
458 vn_decode_VkOffset3D_temp(dec, &val->dstOffsets[i]);
459 }
460 }
461
462 static inline void
vn_replace_VkImageBlit_handle(VkImageBlit * val)463 vn_replace_VkImageBlit_handle(VkImageBlit *val)
464 {
465 vn_replace_VkImageSubresourceLayers_handle(&val->srcSubresource);
466 for (uint32_t i = 0; i < 2; i++)
467 vn_replace_VkOffset3D_handle(&val->srcOffsets[i]);
468 vn_replace_VkImageSubresourceLayers_handle(&val->dstSubresource);
469 for (uint32_t i = 0; i < 2; i++)
470 vn_replace_VkOffset3D_handle(&val->dstOffsets[i]);
471 }
472
473 /* struct VkBufferImageCopy */
474
475 static inline void
vn_decode_VkBufferImageCopy_temp(struct vn_cs_decoder * dec,VkBufferImageCopy * val)476 vn_decode_VkBufferImageCopy_temp(struct vn_cs_decoder *dec, VkBufferImageCopy *val)
477 {
478 vn_decode_VkDeviceSize(dec, &val->bufferOffset);
479 vn_decode_uint32_t(dec, &val->bufferRowLength);
480 vn_decode_uint32_t(dec, &val->bufferImageHeight);
481 vn_decode_VkImageSubresourceLayers_temp(dec, &val->imageSubresource);
482 vn_decode_VkOffset3D_temp(dec, &val->imageOffset);
483 vn_decode_VkExtent3D_temp(dec, &val->imageExtent);
484 }
485
486 static inline void
vn_replace_VkBufferImageCopy_handle(VkBufferImageCopy * val)487 vn_replace_VkBufferImageCopy_handle(VkBufferImageCopy *val)
488 {
489 /* skip val->bufferOffset */
490 /* skip val->bufferRowLength */
491 /* skip val->bufferImageHeight */
492 vn_replace_VkImageSubresourceLayers_handle(&val->imageSubresource);
493 vn_replace_VkOffset3D_handle(&val->imageOffset);
494 vn_replace_VkExtent3D_handle(&val->imageExtent);
495 }
496
497 /* union VkClearColorValue */
498
499 static inline void
vn_decode_VkClearColorValue_temp(struct vn_cs_decoder * dec,VkClearColorValue * val)500 vn_decode_VkClearColorValue_temp(struct vn_cs_decoder *dec, VkClearColorValue *val)
501 {
502 uint32_t tag;
503 vn_decode_uint32_t(dec, &tag);
504 switch (tag) {
505 case 0:
506 {
507 const size_t array_size = vn_decode_array_size(dec, 4);
508 vn_decode_float_array(dec, val->float32, array_size);
509 }
510 break;
511 case 1:
512 {
513 const size_t array_size = vn_decode_array_size(dec, 4);
514 vn_decode_int32_t_array(dec, val->int32, array_size);
515 }
516 break;
517 case 2:
518 {
519 const size_t array_size = vn_decode_array_size(dec, 4);
520 vn_decode_uint32_t_array(dec, val->uint32, array_size);
521 }
522 break;
523 default:
524 vn_cs_decoder_set_fatal(dec);
525 break;
526 }
527 }
528
529 /* struct VkClearDepthStencilValue */
530
531 static inline void
vn_decode_VkClearDepthStencilValue_temp(struct vn_cs_decoder * dec,VkClearDepthStencilValue * val)532 vn_decode_VkClearDepthStencilValue_temp(struct vn_cs_decoder *dec, VkClearDepthStencilValue *val)
533 {
534 vn_decode_float(dec, &val->depth);
535 vn_decode_uint32_t(dec, &val->stencil);
536 }
537
538 static inline void
vn_replace_VkClearDepthStencilValue_handle(VkClearDepthStencilValue * val)539 vn_replace_VkClearDepthStencilValue_handle(VkClearDepthStencilValue *val)
540 {
541 /* skip val->depth */
542 /* skip val->stencil */
543 }
544
545 /* union VkClearValue */
546
547 static inline void
vn_decode_VkClearValue_temp(struct vn_cs_decoder * dec,VkClearValue * val)548 vn_decode_VkClearValue_temp(struct vn_cs_decoder *dec, VkClearValue *val)
549 {
550 uint32_t tag;
551 vn_decode_uint32_t(dec, &tag);
552 switch (tag) {
553 case 0:
554 vn_decode_VkClearColorValue_temp(dec, &val->color);
555 break;
556 case 1:
557 vn_decode_VkClearDepthStencilValue_temp(dec, &val->depthStencil);
558 break;
559 default:
560 vn_cs_decoder_set_fatal(dec);
561 break;
562 }
563 }
564
565 /* struct VkClearAttachment */
566
567 static inline void
vn_decode_VkClearAttachment_temp(struct vn_cs_decoder * dec,VkClearAttachment * val)568 vn_decode_VkClearAttachment_temp(struct vn_cs_decoder *dec, VkClearAttachment *val)
569 {
570 vn_decode_VkFlags(dec, &val->aspectMask);
571 vn_decode_uint32_t(dec, &val->colorAttachment);
572 vn_decode_VkClearValue_temp(dec, &val->clearValue);
573 }
574
575 static inline void
vn_replace_VkClearAttachment_handle(VkClearAttachment * val)576 vn_replace_VkClearAttachment_handle(VkClearAttachment *val)
577 {
578 /* skip val->aspectMask */
579 /* skip val->colorAttachment */
580 /* skip val->clearValue */
581 }
582
583 /* struct VkClearRect */
584
585 static inline void
vn_decode_VkClearRect_temp(struct vn_cs_decoder * dec,VkClearRect * val)586 vn_decode_VkClearRect_temp(struct vn_cs_decoder *dec, VkClearRect *val)
587 {
588 vn_decode_VkRect2D_temp(dec, &val->rect);
589 vn_decode_uint32_t(dec, &val->baseArrayLayer);
590 vn_decode_uint32_t(dec, &val->layerCount);
591 }
592
593 static inline void
vn_replace_VkClearRect_handle(VkClearRect * val)594 vn_replace_VkClearRect_handle(VkClearRect *val)
595 {
596 vn_replace_VkRect2D_handle(&val->rect);
597 /* skip val->baseArrayLayer */
598 /* skip val->layerCount */
599 }
600
601 /* struct VkImageResolve */
602
603 static inline void
vn_decode_VkImageResolve_temp(struct vn_cs_decoder * dec,VkImageResolve * val)604 vn_decode_VkImageResolve_temp(struct vn_cs_decoder *dec, VkImageResolve *val)
605 {
606 vn_decode_VkImageSubresourceLayers_temp(dec, &val->srcSubresource);
607 vn_decode_VkOffset3D_temp(dec, &val->srcOffset);
608 vn_decode_VkImageSubresourceLayers_temp(dec, &val->dstSubresource);
609 vn_decode_VkOffset3D_temp(dec, &val->dstOffset);
610 vn_decode_VkExtent3D_temp(dec, &val->extent);
611 }
612
613 static inline void
vn_replace_VkImageResolve_handle(VkImageResolve * val)614 vn_replace_VkImageResolve_handle(VkImageResolve *val)
615 {
616 vn_replace_VkImageSubresourceLayers_handle(&val->srcSubresource);
617 vn_replace_VkOffset3D_handle(&val->srcOffset);
618 vn_replace_VkImageSubresourceLayers_handle(&val->dstSubresource);
619 vn_replace_VkOffset3D_handle(&val->dstOffset);
620 vn_replace_VkExtent3D_handle(&val->extent);
621 }
622
623 /* struct VkMemoryBarrier chain */
624
625 static inline void *
vn_decode_VkMemoryBarrier_pnext_temp(struct vn_cs_decoder * dec)626 vn_decode_VkMemoryBarrier_pnext_temp(struct vn_cs_decoder *dec)
627 {
628 /* no known/supported struct */
629 if (vn_decode_simple_pointer(dec))
630 vn_cs_decoder_set_fatal(dec);
631 return NULL;
632 }
633
634 static inline void
vn_decode_VkMemoryBarrier_self_temp(struct vn_cs_decoder * dec,VkMemoryBarrier * val)635 vn_decode_VkMemoryBarrier_self_temp(struct vn_cs_decoder *dec, VkMemoryBarrier *val)
636 {
637 /* skip val->{sType,pNext} */
638 vn_decode_VkFlags(dec, &val->srcAccessMask);
639 vn_decode_VkFlags(dec, &val->dstAccessMask);
640 }
641
642 static inline void
vn_decode_VkMemoryBarrier_temp(struct vn_cs_decoder * dec,VkMemoryBarrier * val)643 vn_decode_VkMemoryBarrier_temp(struct vn_cs_decoder *dec, VkMemoryBarrier *val)
644 {
645 VkStructureType stype;
646 vn_decode_VkStructureType(dec, &stype);
647 if (stype != VK_STRUCTURE_TYPE_MEMORY_BARRIER)
648 vn_cs_decoder_set_fatal(dec);
649
650 val->sType = stype;
651 val->pNext = vn_decode_VkMemoryBarrier_pnext_temp(dec);
652 vn_decode_VkMemoryBarrier_self_temp(dec, val);
653 }
654
655 static inline void
vn_replace_VkMemoryBarrier_handle_self(VkMemoryBarrier * val)656 vn_replace_VkMemoryBarrier_handle_self(VkMemoryBarrier *val)
657 {
658 /* skip val->sType */
659 /* skip val->pNext */
660 /* skip val->srcAccessMask */
661 /* skip val->dstAccessMask */
662 }
663
664 static inline void
vn_replace_VkMemoryBarrier_handle(VkMemoryBarrier * val)665 vn_replace_VkMemoryBarrier_handle(VkMemoryBarrier *val)
666 {
667 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
668
669 do {
670 switch ((int32_t)pnext->sType) {
671 case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
672 vn_replace_VkMemoryBarrier_handle_self((VkMemoryBarrier *)pnext);
673 break;
674 default:
675 /* ignore unknown/unsupported struct */
676 break;
677 }
678 pnext = pnext->pNext;
679 } while (pnext);
680 }
681
682 /* struct VkBufferMemoryBarrier chain */
683
684 static inline void *
vn_decode_VkBufferMemoryBarrier_pnext_temp(struct vn_cs_decoder * dec)685 vn_decode_VkBufferMemoryBarrier_pnext_temp(struct vn_cs_decoder *dec)
686 {
687 /* no known/supported struct */
688 if (vn_decode_simple_pointer(dec))
689 vn_cs_decoder_set_fatal(dec);
690 return NULL;
691 }
692
693 static inline void
vn_decode_VkBufferMemoryBarrier_self_temp(struct vn_cs_decoder * dec,VkBufferMemoryBarrier * val)694 vn_decode_VkBufferMemoryBarrier_self_temp(struct vn_cs_decoder *dec, VkBufferMemoryBarrier *val)
695 {
696 /* skip val->{sType,pNext} */
697 vn_decode_VkFlags(dec, &val->srcAccessMask);
698 vn_decode_VkFlags(dec, &val->dstAccessMask);
699 vn_decode_uint32_t(dec, &val->srcQueueFamilyIndex);
700 vn_decode_uint32_t(dec, &val->dstQueueFamilyIndex);
701 vn_decode_VkBuffer_lookup(dec, &val->buffer);
702 vn_decode_VkDeviceSize(dec, &val->offset);
703 vn_decode_VkDeviceSize(dec, &val->size);
704 }
705
706 static inline void
vn_decode_VkBufferMemoryBarrier_temp(struct vn_cs_decoder * dec,VkBufferMemoryBarrier * val)707 vn_decode_VkBufferMemoryBarrier_temp(struct vn_cs_decoder *dec, VkBufferMemoryBarrier *val)
708 {
709 VkStructureType stype;
710 vn_decode_VkStructureType(dec, &stype);
711 if (stype != VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER)
712 vn_cs_decoder_set_fatal(dec);
713
714 val->sType = stype;
715 val->pNext = vn_decode_VkBufferMemoryBarrier_pnext_temp(dec);
716 vn_decode_VkBufferMemoryBarrier_self_temp(dec, val);
717 }
718
719 static inline void
vn_replace_VkBufferMemoryBarrier_handle_self(VkBufferMemoryBarrier * val)720 vn_replace_VkBufferMemoryBarrier_handle_self(VkBufferMemoryBarrier *val)
721 {
722 /* skip val->sType */
723 /* skip val->pNext */
724 /* skip val->srcAccessMask */
725 /* skip val->dstAccessMask */
726 /* skip val->srcQueueFamilyIndex */
727 /* skip val->dstQueueFamilyIndex */
728 vn_replace_VkBuffer_handle(&val->buffer);
729 /* skip val->offset */
730 /* skip val->size */
731 }
732
733 static inline void
vn_replace_VkBufferMemoryBarrier_handle(VkBufferMemoryBarrier * val)734 vn_replace_VkBufferMemoryBarrier_handle(VkBufferMemoryBarrier *val)
735 {
736 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
737
738 do {
739 switch ((int32_t)pnext->sType) {
740 case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
741 vn_replace_VkBufferMemoryBarrier_handle_self((VkBufferMemoryBarrier *)pnext);
742 break;
743 default:
744 /* ignore unknown/unsupported struct */
745 break;
746 }
747 pnext = pnext->pNext;
748 } while (pnext);
749 }
750
751 /* struct VkImageMemoryBarrier chain */
752
753 static inline void *
vn_decode_VkImageMemoryBarrier_pnext_temp(struct vn_cs_decoder * dec)754 vn_decode_VkImageMemoryBarrier_pnext_temp(struct vn_cs_decoder *dec)
755 {
756 /* no known/supported struct */
757 if (vn_decode_simple_pointer(dec))
758 vn_cs_decoder_set_fatal(dec);
759 return NULL;
760 }
761
762 static inline void
vn_decode_VkImageMemoryBarrier_self_temp(struct vn_cs_decoder * dec,VkImageMemoryBarrier * val)763 vn_decode_VkImageMemoryBarrier_self_temp(struct vn_cs_decoder *dec, VkImageMemoryBarrier *val)
764 {
765 /* skip val->{sType,pNext} */
766 vn_decode_VkFlags(dec, &val->srcAccessMask);
767 vn_decode_VkFlags(dec, &val->dstAccessMask);
768 vn_decode_VkImageLayout(dec, &val->oldLayout);
769 vn_decode_VkImageLayout(dec, &val->newLayout);
770 vn_decode_uint32_t(dec, &val->srcQueueFamilyIndex);
771 vn_decode_uint32_t(dec, &val->dstQueueFamilyIndex);
772 vn_decode_VkImage_lookup(dec, &val->image);
773 vn_decode_VkImageSubresourceRange_temp(dec, &val->subresourceRange);
774 }
775
776 static inline void
vn_decode_VkImageMemoryBarrier_temp(struct vn_cs_decoder * dec,VkImageMemoryBarrier * val)777 vn_decode_VkImageMemoryBarrier_temp(struct vn_cs_decoder *dec, VkImageMemoryBarrier *val)
778 {
779 VkStructureType stype;
780 vn_decode_VkStructureType(dec, &stype);
781 if (stype != VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER)
782 vn_cs_decoder_set_fatal(dec);
783
784 val->sType = stype;
785 val->pNext = vn_decode_VkImageMemoryBarrier_pnext_temp(dec);
786 vn_decode_VkImageMemoryBarrier_self_temp(dec, val);
787 }
788
789 static inline void
vn_replace_VkImageMemoryBarrier_handle_self(VkImageMemoryBarrier * val)790 vn_replace_VkImageMemoryBarrier_handle_self(VkImageMemoryBarrier *val)
791 {
792 /* skip val->sType */
793 /* skip val->pNext */
794 /* skip val->srcAccessMask */
795 /* skip val->dstAccessMask */
796 /* skip val->oldLayout */
797 /* skip val->newLayout */
798 /* skip val->srcQueueFamilyIndex */
799 /* skip val->dstQueueFamilyIndex */
800 vn_replace_VkImage_handle(&val->image);
801 vn_replace_VkImageSubresourceRange_handle(&val->subresourceRange);
802 }
803
804 static inline void
vn_replace_VkImageMemoryBarrier_handle(VkImageMemoryBarrier * val)805 vn_replace_VkImageMemoryBarrier_handle(VkImageMemoryBarrier *val)
806 {
807 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
808
809 do {
810 switch ((int32_t)pnext->sType) {
811 case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
812 vn_replace_VkImageMemoryBarrier_handle_self((VkImageMemoryBarrier *)pnext);
813 break;
814 default:
815 /* ignore unknown/unsupported struct */
816 break;
817 }
818 pnext = pnext->pNext;
819 } while (pnext);
820 }
821
822 /* struct VkDeviceGroupRenderPassBeginInfo chain */
823
824 static inline void *
vn_decode_VkDeviceGroupRenderPassBeginInfo_pnext_temp(struct vn_cs_decoder * dec)825 vn_decode_VkDeviceGroupRenderPassBeginInfo_pnext_temp(struct vn_cs_decoder *dec)
826 {
827 /* no known/supported struct */
828 if (vn_decode_simple_pointer(dec))
829 vn_cs_decoder_set_fatal(dec);
830 return NULL;
831 }
832
833 static inline void
vn_decode_VkDeviceGroupRenderPassBeginInfo_self_temp(struct vn_cs_decoder * dec,VkDeviceGroupRenderPassBeginInfo * val)834 vn_decode_VkDeviceGroupRenderPassBeginInfo_self_temp(struct vn_cs_decoder *dec, VkDeviceGroupRenderPassBeginInfo *val)
835 {
836 /* skip val->{sType,pNext} */
837 vn_decode_uint32_t(dec, &val->deviceMask);
838 vn_decode_uint32_t(dec, &val->deviceRenderAreaCount);
839 if (vn_peek_array_size(dec)) {
840 const uint32_t iter_count = vn_decode_array_size(dec, val->deviceRenderAreaCount);
841 val->pDeviceRenderAreas = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDeviceRenderAreas) * iter_count);
842 if (!val->pDeviceRenderAreas) return;
843 for (uint32_t i = 0; i < iter_count; i++)
844 vn_decode_VkRect2D_temp(dec, &((VkRect2D *)val->pDeviceRenderAreas)[i]);
845 } else {
846 vn_decode_array_size(dec, val->deviceRenderAreaCount);
847 val->pDeviceRenderAreas = NULL;
848 }
849 }
850
851 static inline void
vn_decode_VkDeviceGroupRenderPassBeginInfo_temp(struct vn_cs_decoder * dec,VkDeviceGroupRenderPassBeginInfo * val)852 vn_decode_VkDeviceGroupRenderPassBeginInfo_temp(struct vn_cs_decoder *dec, VkDeviceGroupRenderPassBeginInfo *val)
853 {
854 VkStructureType stype;
855 vn_decode_VkStructureType(dec, &stype);
856 if (stype != VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO)
857 vn_cs_decoder_set_fatal(dec);
858
859 val->sType = stype;
860 val->pNext = vn_decode_VkDeviceGroupRenderPassBeginInfo_pnext_temp(dec);
861 vn_decode_VkDeviceGroupRenderPassBeginInfo_self_temp(dec, val);
862 }
863
864 static inline void
vn_replace_VkDeviceGroupRenderPassBeginInfo_handle_self(VkDeviceGroupRenderPassBeginInfo * val)865 vn_replace_VkDeviceGroupRenderPassBeginInfo_handle_self(VkDeviceGroupRenderPassBeginInfo *val)
866 {
867 /* skip val->sType */
868 /* skip val->pNext */
869 /* skip val->deviceMask */
870 /* skip val->deviceRenderAreaCount */
871 if (val->pDeviceRenderAreas) {
872 for (uint32_t i = 0; i < val->deviceRenderAreaCount; i++)
873 vn_replace_VkRect2D_handle(&((VkRect2D *)val->pDeviceRenderAreas)[i]);
874 }
875 }
876
877 static inline void
vn_replace_VkDeviceGroupRenderPassBeginInfo_handle(VkDeviceGroupRenderPassBeginInfo * val)878 vn_replace_VkDeviceGroupRenderPassBeginInfo_handle(VkDeviceGroupRenderPassBeginInfo *val)
879 {
880 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
881
882 do {
883 switch ((int32_t)pnext->sType) {
884 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
885 vn_replace_VkDeviceGroupRenderPassBeginInfo_handle_self((VkDeviceGroupRenderPassBeginInfo *)pnext);
886 break;
887 default:
888 /* ignore unknown/unsupported struct */
889 break;
890 }
891 pnext = pnext->pNext;
892 } while (pnext);
893 }
894
895 /* struct VkRenderPassAttachmentBeginInfo chain */
896
897 static inline void *
vn_decode_VkRenderPassAttachmentBeginInfo_pnext_temp(struct vn_cs_decoder * dec)898 vn_decode_VkRenderPassAttachmentBeginInfo_pnext_temp(struct vn_cs_decoder *dec)
899 {
900 /* no known/supported struct */
901 if (vn_decode_simple_pointer(dec))
902 vn_cs_decoder_set_fatal(dec);
903 return NULL;
904 }
905
906 static inline void
vn_decode_VkRenderPassAttachmentBeginInfo_self_temp(struct vn_cs_decoder * dec,VkRenderPassAttachmentBeginInfo * val)907 vn_decode_VkRenderPassAttachmentBeginInfo_self_temp(struct vn_cs_decoder *dec, VkRenderPassAttachmentBeginInfo *val)
908 {
909 /* skip val->{sType,pNext} */
910 vn_decode_uint32_t(dec, &val->attachmentCount);
911 if (vn_peek_array_size(dec)) {
912 const uint32_t iter_count = vn_decode_array_size(dec, val->attachmentCount);
913 val->pAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pAttachments) * iter_count);
914 if (!val->pAttachments) return;
915 for (uint32_t i = 0; i < iter_count; i++)
916 vn_decode_VkImageView_lookup(dec, &((VkImageView *)val->pAttachments)[i]);
917 } else {
918 vn_decode_array_size(dec, val->attachmentCount);
919 val->pAttachments = NULL;
920 }
921 }
922
923 static inline void
vn_decode_VkRenderPassAttachmentBeginInfo_temp(struct vn_cs_decoder * dec,VkRenderPassAttachmentBeginInfo * val)924 vn_decode_VkRenderPassAttachmentBeginInfo_temp(struct vn_cs_decoder *dec, VkRenderPassAttachmentBeginInfo *val)
925 {
926 VkStructureType stype;
927 vn_decode_VkStructureType(dec, &stype);
928 if (stype != VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO)
929 vn_cs_decoder_set_fatal(dec);
930
931 val->sType = stype;
932 val->pNext = vn_decode_VkRenderPassAttachmentBeginInfo_pnext_temp(dec);
933 vn_decode_VkRenderPassAttachmentBeginInfo_self_temp(dec, val);
934 }
935
936 static inline void
vn_replace_VkRenderPassAttachmentBeginInfo_handle_self(VkRenderPassAttachmentBeginInfo * val)937 vn_replace_VkRenderPassAttachmentBeginInfo_handle_self(VkRenderPassAttachmentBeginInfo *val)
938 {
939 /* skip val->sType */
940 /* skip val->pNext */
941 /* skip val->attachmentCount */
942 if (val->pAttachments) {
943 for (uint32_t i = 0; i < val->attachmentCount; i++)
944 vn_replace_VkImageView_handle(&((VkImageView *)val->pAttachments)[i]);
945 }
946 }
947
948 static inline void
vn_replace_VkRenderPassAttachmentBeginInfo_handle(VkRenderPassAttachmentBeginInfo * val)949 vn_replace_VkRenderPassAttachmentBeginInfo_handle(VkRenderPassAttachmentBeginInfo *val)
950 {
951 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
952
953 do {
954 switch ((int32_t)pnext->sType) {
955 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
956 vn_replace_VkRenderPassAttachmentBeginInfo_handle_self((VkRenderPassAttachmentBeginInfo *)pnext);
957 break;
958 default:
959 /* ignore unknown/unsupported struct */
960 break;
961 }
962 pnext = pnext->pNext;
963 } while (pnext);
964 }
965
966 /* struct VkRenderPassBeginInfo chain */
967
968 static inline void *
vn_decode_VkRenderPassBeginInfo_pnext_temp(struct vn_cs_decoder * dec)969 vn_decode_VkRenderPassBeginInfo_pnext_temp(struct vn_cs_decoder *dec)
970 {
971 VkBaseOutStructure *pnext;
972 VkStructureType stype;
973
974 if (!vn_decode_simple_pointer(dec))
975 return NULL;
976
977 vn_decode_VkStructureType(dec, &stype);
978 switch ((int32_t)stype) {
979 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
980 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDeviceGroupRenderPassBeginInfo));
981 if (pnext) {
982 pnext->sType = stype;
983 pnext->pNext = vn_decode_VkRenderPassBeginInfo_pnext_temp(dec);
984 vn_decode_VkDeviceGroupRenderPassBeginInfo_self_temp(dec, (VkDeviceGroupRenderPassBeginInfo *)pnext);
985 }
986 break;
987 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
988 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkRenderPassAttachmentBeginInfo));
989 if (pnext) {
990 pnext->sType = stype;
991 pnext->pNext = vn_decode_VkRenderPassBeginInfo_pnext_temp(dec);
992 vn_decode_VkRenderPassAttachmentBeginInfo_self_temp(dec, (VkRenderPassAttachmentBeginInfo *)pnext);
993 }
994 break;
995 default:
996 /* unexpected struct */
997 pnext = NULL;
998 vn_cs_decoder_set_fatal(dec);
999 break;
1000 }
1001
1002 return pnext;
1003 }
1004
1005 static inline void
vn_decode_VkRenderPassBeginInfo_self_temp(struct vn_cs_decoder * dec,VkRenderPassBeginInfo * val)1006 vn_decode_VkRenderPassBeginInfo_self_temp(struct vn_cs_decoder *dec, VkRenderPassBeginInfo *val)
1007 {
1008 /* skip val->{sType,pNext} */
1009 vn_decode_VkRenderPass_lookup(dec, &val->renderPass);
1010 vn_decode_VkFramebuffer_lookup(dec, &val->framebuffer);
1011 vn_decode_VkRect2D_temp(dec, &val->renderArea);
1012 vn_decode_uint32_t(dec, &val->clearValueCount);
1013 if (vn_peek_array_size(dec)) {
1014 const uint32_t iter_count = vn_decode_array_size(dec, val->clearValueCount);
1015 val->pClearValues = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pClearValues) * iter_count);
1016 if (!val->pClearValues) return;
1017 for (uint32_t i = 0; i < iter_count; i++)
1018 vn_decode_VkClearValue_temp(dec, &((VkClearValue *)val->pClearValues)[i]);
1019 } else {
1020 vn_decode_array_size_unchecked(dec);
1021 val->pClearValues = NULL;
1022 }
1023 }
1024
1025 static inline void
vn_decode_VkRenderPassBeginInfo_temp(struct vn_cs_decoder * dec,VkRenderPassBeginInfo * val)1026 vn_decode_VkRenderPassBeginInfo_temp(struct vn_cs_decoder *dec, VkRenderPassBeginInfo *val)
1027 {
1028 VkStructureType stype;
1029 vn_decode_VkStructureType(dec, &stype);
1030 if (stype != VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO)
1031 vn_cs_decoder_set_fatal(dec);
1032
1033 val->sType = stype;
1034 val->pNext = vn_decode_VkRenderPassBeginInfo_pnext_temp(dec);
1035 vn_decode_VkRenderPassBeginInfo_self_temp(dec, val);
1036 }
1037
1038 static inline void
vn_replace_VkRenderPassBeginInfo_handle_self(VkRenderPassBeginInfo * val)1039 vn_replace_VkRenderPassBeginInfo_handle_self(VkRenderPassBeginInfo *val)
1040 {
1041 /* skip val->sType */
1042 /* skip val->pNext */
1043 vn_replace_VkRenderPass_handle(&val->renderPass);
1044 vn_replace_VkFramebuffer_handle(&val->framebuffer);
1045 vn_replace_VkRect2D_handle(&val->renderArea);
1046 /* skip val->clearValueCount */
1047 /* skip val->pClearValues */
1048 }
1049
1050 static inline void
vn_replace_VkRenderPassBeginInfo_handle(VkRenderPassBeginInfo * val)1051 vn_replace_VkRenderPassBeginInfo_handle(VkRenderPassBeginInfo *val)
1052 {
1053 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1054
1055 do {
1056 switch ((int32_t)pnext->sType) {
1057 case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO:
1058 vn_replace_VkRenderPassBeginInfo_handle_self((VkRenderPassBeginInfo *)pnext);
1059 break;
1060 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO:
1061 vn_replace_VkDeviceGroupRenderPassBeginInfo_handle_self((VkDeviceGroupRenderPassBeginInfo *)pnext);
1062 break;
1063 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO:
1064 vn_replace_VkRenderPassAttachmentBeginInfo_handle_self((VkRenderPassAttachmentBeginInfo *)pnext);
1065 break;
1066 default:
1067 /* ignore unknown/unsupported struct */
1068 break;
1069 }
1070 pnext = pnext->pNext;
1071 } while (pnext);
1072 }
1073
1074 /* struct VkSubpassBeginInfo chain */
1075
1076 static inline void *
vn_decode_VkSubpassBeginInfo_pnext_temp(struct vn_cs_decoder * dec)1077 vn_decode_VkSubpassBeginInfo_pnext_temp(struct vn_cs_decoder *dec)
1078 {
1079 /* no known/supported struct */
1080 if (vn_decode_simple_pointer(dec))
1081 vn_cs_decoder_set_fatal(dec);
1082 return NULL;
1083 }
1084
1085 static inline void
vn_decode_VkSubpassBeginInfo_self_temp(struct vn_cs_decoder * dec,VkSubpassBeginInfo * val)1086 vn_decode_VkSubpassBeginInfo_self_temp(struct vn_cs_decoder *dec, VkSubpassBeginInfo *val)
1087 {
1088 /* skip val->{sType,pNext} */
1089 vn_decode_VkSubpassContents(dec, &val->contents);
1090 }
1091
1092 static inline void
vn_decode_VkSubpassBeginInfo_temp(struct vn_cs_decoder * dec,VkSubpassBeginInfo * val)1093 vn_decode_VkSubpassBeginInfo_temp(struct vn_cs_decoder *dec, VkSubpassBeginInfo *val)
1094 {
1095 VkStructureType stype;
1096 vn_decode_VkStructureType(dec, &stype);
1097 if (stype != VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO)
1098 vn_cs_decoder_set_fatal(dec);
1099
1100 val->sType = stype;
1101 val->pNext = vn_decode_VkSubpassBeginInfo_pnext_temp(dec);
1102 vn_decode_VkSubpassBeginInfo_self_temp(dec, val);
1103 }
1104
1105 static inline void
vn_replace_VkSubpassBeginInfo_handle_self(VkSubpassBeginInfo * val)1106 vn_replace_VkSubpassBeginInfo_handle_self(VkSubpassBeginInfo *val)
1107 {
1108 /* skip val->sType */
1109 /* skip val->pNext */
1110 /* skip val->contents */
1111 }
1112
1113 static inline void
vn_replace_VkSubpassBeginInfo_handle(VkSubpassBeginInfo * val)1114 vn_replace_VkSubpassBeginInfo_handle(VkSubpassBeginInfo *val)
1115 {
1116 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1117
1118 do {
1119 switch ((int32_t)pnext->sType) {
1120 case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO:
1121 vn_replace_VkSubpassBeginInfo_handle_self((VkSubpassBeginInfo *)pnext);
1122 break;
1123 default:
1124 /* ignore unknown/unsupported struct */
1125 break;
1126 }
1127 pnext = pnext->pNext;
1128 } while (pnext);
1129 }
1130
1131 /* struct VkSubpassEndInfo chain */
1132
1133 static inline void *
vn_decode_VkSubpassEndInfo_pnext_temp(struct vn_cs_decoder * dec)1134 vn_decode_VkSubpassEndInfo_pnext_temp(struct vn_cs_decoder *dec)
1135 {
1136 /* no known/supported struct */
1137 if (vn_decode_simple_pointer(dec))
1138 vn_cs_decoder_set_fatal(dec);
1139 return NULL;
1140 }
1141
1142 static inline void
vn_decode_VkSubpassEndInfo_self_temp(struct vn_cs_decoder * dec,VkSubpassEndInfo * val)1143 vn_decode_VkSubpassEndInfo_self_temp(struct vn_cs_decoder *dec, VkSubpassEndInfo *val)
1144 {
1145 /* skip val->{sType,pNext} */
1146 }
1147
1148 static inline void
vn_decode_VkSubpassEndInfo_temp(struct vn_cs_decoder * dec,VkSubpassEndInfo * val)1149 vn_decode_VkSubpassEndInfo_temp(struct vn_cs_decoder *dec, VkSubpassEndInfo *val)
1150 {
1151 VkStructureType stype;
1152 vn_decode_VkStructureType(dec, &stype);
1153 if (stype != VK_STRUCTURE_TYPE_SUBPASS_END_INFO)
1154 vn_cs_decoder_set_fatal(dec);
1155
1156 val->sType = stype;
1157 val->pNext = vn_decode_VkSubpassEndInfo_pnext_temp(dec);
1158 vn_decode_VkSubpassEndInfo_self_temp(dec, val);
1159 }
1160
1161 static inline void
vn_replace_VkSubpassEndInfo_handle_self(VkSubpassEndInfo * val)1162 vn_replace_VkSubpassEndInfo_handle_self(VkSubpassEndInfo *val)
1163 {
1164 /* skip val->sType */
1165 /* skip val->pNext */
1166 }
1167
1168 static inline void
vn_replace_VkSubpassEndInfo_handle(VkSubpassEndInfo * val)1169 vn_replace_VkSubpassEndInfo_handle(VkSubpassEndInfo *val)
1170 {
1171 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1172
1173 do {
1174 switch ((int32_t)pnext->sType) {
1175 case VK_STRUCTURE_TYPE_SUBPASS_END_INFO:
1176 vn_replace_VkSubpassEndInfo_handle_self((VkSubpassEndInfo *)pnext);
1177 break;
1178 default:
1179 /* ignore unknown/unsupported struct */
1180 break;
1181 }
1182 pnext = pnext->pNext;
1183 } while (pnext);
1184 }
1185
vn_decode_vkAllocateCommandBuffers_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkAllocateCommandBuffers * args)1186 static inline void vn_decode_vkAllocateCommandBuffers_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkAllocateCommandBuffers *args)
1187 {
1188 vn_decode_VkDevice_lookup(dec, &args->device);
1189 if (vn_decode_simple_pointer(dec)) {
1190 args->pAllocateInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pAllocateInfo));
1191 if (!args->pAllocateInfo) return;
1192 vn_decode_VkCommandBufferAllocateInfo_temp(dec, (VkCommandBufferAllocateInfo *)args->pAllocateInfo);
1193 } else {
1194 args->pAllocateInfo = NULL;
1195 vn_cs_decoder_set_fatal(dec);
1196 }
1197 if (vn_peek_array_size(dec)) {
1198 const uint32_t iter_count = vn_decode_array_size(dec, (args->pAllocateInfo ? args->pAllocateInfo->commandBufferCount : 0));
1199 args->pCommandBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCommandBuffers) * iter_count);
1200 if (!args->pCommandBuffers) return;
1201 for (uint32_t i = 0; i < iter_count; i++)
1202 vn_decode_VkCommandBuffer_temp(dec, &args->pCommandBuffers[i]);
1203 } else {
1204 vn_decode_array_size(dec, (args->pAllocateInfo ? args->pAllocateInfo->commandBufferCount : 0));
1205 args->pCommandBuffers = NULL;
1206 }
1207 }
1208
vn_replace_vkAllocateCommandBuffers_args_handle(struct vn_command_vkAllocateCommandBuffers * args)1209 static inline void vn_replace_vkAllocateCommandBuffers_args_handle(struct vn_command_vkAllocateCommandBuffers *args)
1210 {
1211 vn_replace_VkDevice_handle(&args->device);
1212 if (args->pAllocateInfo)
1213 vn_replace_VkCommandBufferAllocateInfo_handle((VkCommandBufferAllocateInfo *)args->pAllocateInfo);
1214 /* skip args->pCommandBuffers */
1215 }
1216
vn_encode_vkAllocateCommandBuffers_reply(struct vn_cs_encoder * enc,const struct vn_command_vkAllocateCommandBuffers * args)1217 static inline void vn_encode_vkAllocateCommandBuffers_reply(struct vn_cs_encoder *enc, const struct vn_command_vkAllocateCommandBuffers *args)
1218 {
1219 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkAllocateCommandBuffers_EXT});
1220
1221 vn_encode_VkResult(enc, &args->ret);
1222 /* skip args->device */
1223 /* skip args->pAllocateInfo */
1224 if (args->pCommandBuffers) {
1225 vn_encode_array_size(enc, (args->pAllocateInfo ? args->pAllocateInfo->commandBufferCount : 0));
1226 for (uint32_t i = 0; i < (args->pAllocateInfo ? args->pAllocateInfo->commandBufferCount : 0); i++)
1227 vn_encode_VkCommandBuffer(enc, &args->pCommandBuffers[i]);
1228 } else {
1229 vn_encode_array_size(enc, 0);
1230 }
1231 }
1232
vn_decode_vkFreeCommandBuffers_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkFreeCommandBuffers * args)1233 static inline void vn_decode_vkFreeCommandBuffers_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkFreeCommandBuffers *args)
1234 {
1235 vn_decode_VkDevice_lookup(dec, &args->device);
1236 vn_decode_VkCommandPool_lookup(dec, &args->commandPool);
1237 vn_decode_uint32_t(dec, &args->commandBufferCount);
1238 if (vn_peek_array_size(dec)) {
1239 const uint32_t iter_count = vn_decode_array_size(dec, args->commandBufferCount);
1240 args->pCommandBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCommandBuffers) * iter_count);
1241 if (!args->pCommandBuffers) return;
1242 for (uint32_t i = 0; i < iter_count; i++)
1243 vn_decode_VkCommandBuffer_lookup(dec, &((VkCommandBuffer *)args->pCommandBuffers)[i]);
1244 } else {
1245 vn_decode_array_size_unchecked(dec);
1246 args->pCommandBuffers = NULL;
1247 }
1248 }
1249
vn_replace_vkFreeCommandBuffers_args_handle(struct vn_command_vkFreeCommandBuffers * args)1250 static inline void vn_replace_vkFreeCommandBuffers_args_handle(struct vn_command_vkFreeCommandBuffers *args)
1251 {
1252 vn_replace_VkDevice_handle(&args->device);
1253 vn_replace_VkCommandPool_handle(&args->commandPool);
1254 /* skip args->commandBufferCount */
1255 if (args->pCommandBuffers) {
1256 for (uint32_t i = 0; i < args->commandBufferCount; i++)
1257 vn_replace_VkCommandBuffer_handle(&((VkCommandBuffer *)args->pCommandBuffers)[i]);
1258 }
1259 }
1260
vn_encode_vkFreeCommandBuffers_reply(struct vn_cs_encoder * enc,const struct vn_command_vkFreeCommandBuffers * args)1261 static inline void vn_encode_vkFreeCommandBuffers_reply(struct vn_cs_encoder *enc, const struct vn_command_vkFreeCommandBuffers *args)
1262 {
1263 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkFreeCommandBuffers_EXT});
1264
1265 /* skip args->device */
1266 /* skip args->commandPool */
1267 /* skip args->commandBufferCount */
1268 /* skip args->pCommandBuffers */
1269 }
1270
vn_decode_vkBeginCommandBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkBeginCommandBuffer * args)1271 static inline void vn_decode_vkBeginCommandBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkBeginCommandBuffer *args)
1272 {
1273 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1274 if (vn_decode_simple_pointer(dec)) {
1275 args->pBeginInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pBeginInfo));
1276 if (!args->pBeginInfo) return;
1277 vn_decode_VkCommandBufferBeginInfo_temp(dec, (VkCommandBufferBeginInfo *)args->pBeginInfo);
1278 } else {
1279 args->pBeginInfo = NULL;
1280 vn_cs_decoder_set_fatal(dec);
1281 }
1282 }
1283
vn_replace_vkBeginCommandBuffer_args_handle(struct vn_command_vkBeginCommandBuffer * args)1284 static inline void vn_replace_vkBeginCommandBuffer_args_handle(struct vn_command_vkBeginCommandBuffer *args)
1285 {
1286 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1287 if (args->pBeginInfo)
1288 vn_replace_VkCommandBufferBeginInfo_handle((VkCommandBufferBeginInfo *)args->pBeginInfo);
1289 }
1290
vn_encode_vkBeginCommandBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkBeginCommandBuffer * args)1291 static inline void vn_encode_vkBeginCommandBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkBeginCommandBuffer *args)
1292 {
1293 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkBeginCommandBuffer_EXT});
1294
1295 vn_encode_VkResult(enc, &args->ret);
1296 /* skip args->commandBuffer */
1297 /* skip args->pBeginInfo */
1298 }
1299
vn_decode_vkEndCommandBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkEndCommandBuffer * args)1300 static inline void vn_decode_vkEndCommandBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkEndCommandBuffer *args)
1301 {
1302 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1303 }
1304
vn_replace_vkEndCommandBuffer_args_handle(struct vn_command_vkEndCommandBuffer * args)1305 static inline void vn_replace_vkEndCommandBuffer_args_handle(struct vn_command_vkEndCommandBuffer *args)
1306 {
1307 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1308 }
1309
vn_encode_vkEndCommandBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkEndCommandBuffer * args)1310 static inline void vn_encode_vkEndCommandBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkEndCommandBuffer *args)
1311 {
1312 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkEndCommandBuffer_EXT});
1313
1314 vn_encode_VkResult(enc, &args->ret);
1315 /* skip args->commandBuffer */
1316 }
1317
vn_decode_vkResetCommandBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkResetCommandBuffer * args)1318 static inline void vn_decode_vkResetCommandBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkResetCommandBuffer *args)
1319 {
1320 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1321 vn_decode_VkFlags(dec, &args->flags);
1322 }
1323
vn_replace_vkResetCommandBuffer_args_handle(struct vn_command_vkResetCommandBuffer * args)1324 static inline void vn_replace_vkResetCommandBuffer_args_handle(struct vn_command_vkResetCommandBuffer *args)
1325 {
1326 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1327 /* skip args->flags */
1328 }
1329
vn_encode_vkResetCommandBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkResetCommandBuffer * args)1330 static inline void vn_encode_vkResetCommandBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkResetCommandBuffer *args)
1331 {
1332 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkResetCommandBuffer_EXT});
1333
1334 vn_encode_VkResult(enc, &args->ret);
1335 /* skip args->commandBuffer */
1336 /* skip args->flags */
1337 }
1338
vn_decode_vkCmdBindPipeline_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBindPipeline * args)1339 static inline void vn_decode_vkCmdBindPipeline_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBindPipeline *args)
1340 {
1341 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1342 vn_decode_VkPipelineBindPoint(dec, &args->pipelineBindPoint);
1343 vn_decode_VkPipeline_lookup(dec, &args->pipeline);
1344 }
1345
vn_replace_vkCmdBindPipeline_args_handle(struct vn_command_vkCmdBindPipeline * args)1346 static inline void vn_replace_vkCmdBindPipeline_args_handle(struct vn_command_vkCmdBindPipeline *args)
1347 {
1348 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1349 /* skip args->pipelineBindPoint */
1350 vn_replace_VkPipeline_handle(&args->pipeline);
1351 }
1352
vn_encode_vkCmdBindPipeline_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBindPipeline * args)1353 static inline void vn_encode_vkCmdBindPipeline_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBindPipeline *args)
1354 {
1355 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBindPipeline_EXT});
1356
1357 /* skip args->commandBuffer */
1358 /* skip args->pipelineBindPoint */
1359 /* skip args->pipeline */
1360 }
1361
vn_decode_vkCmdSetViewport_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetViewport * args)1362 static inline void vn_decode_vkCmdSetViewport_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetViewport *args)
1363 {
1364 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1365 vn_decode_uint32_t(dec, &args->firstViewport);
1366 vn_decode_uint32_t(dec, &args->viewportCount);
1367 if (vn_peek_array_size(dec)) {
1368 const uint32_t iter_count = vn_decode_array_size(dec, args->viewportCount);
1369 args->pViewports = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pViewports) * iter_count);
1370 if (!args->pViewports) return;
1371 for (uint32_t i = 0; i < iter_count; i++)
1372 vn_decode_VkViewport_temp(dec, &((VkViewport *)args->pViewports)[i]);
1373 } else {
1374 vn_decode_array_size(dec, args->viewportCount);
1375 args->pViewports = NULL;
1376 }
1377 }
1378
vn_replace_vkCmdSetViewport_args_handle(struct vn_command_vkCmdSetViewport * args)1379 static inline void vn_replace_vkCmdSetViewport_args_handle(struct vn_command_vkCmdSetViewport *args)
1380 {
1381 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1382 /* skip args->firstViewport */
1383 /* skip args->viewportCount */
1384 if (args->pViewports) {
1385 for (uint32_t i = 0; i < args->viewportCount; i++)
1386 vn_replace_VkViewport_handle(&((VkViewport *)args->pViewports)[i]);
1387 }
1388 }
1389
vn_encode_vkCmdSetViewport_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetViewport * args)1390 static inline void vn_encode_vkCmdSetViewport_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetViewport *args)
1391 {
1392 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetViewport_EXT});
1393
1394 /* skip args->commandBuffer */
1395 /* skip args->firstViewport */
1396 /* skip args->viewportCount */
1397 /* skip args->pViewports */
1398 }
1399
vn_decode_vkCmdSetScissor_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetScissor * args)1400 static inline void vn_decode_vkCmdSetScissor_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetScissor *args)
1401 {
1402 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1403 vn_decode_uint32_t(dec, &args->firstScissor);
1404 vn_decode_uint32_t(dec, &args->scissorCount);
1405 if (vn_peek_array_size(dec)) {
1406 const uint32_t iter_count = vn_decode_array_size(dec, args->scissorCount);
1407 args->pScissors = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pScissors) * iter_count);
1408 if (!args->pScissors) return;
1409 for (uint32_t i = 0; i < iter_count; i++)
1410 vn_decode_VkRect2D_temp(dec, &((VkRect2D *)args->pScissors)[i]);
1411 } else {
1412 vn_decode_array_size(dec, args->scissorCount);
1413 args->pScissors = NULL;
1414 }
1415 }
1416
vn_replace_vkCmdSetScissor_args_handle(struct vn_command_vkCmdSetScissor * args)1417 static inline void vn_replace_vkCmdSetScissor_args_handle(struct vn_command_vkCmdSetScissor *args)
1418 {
1419 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1420 /* skip args->firstScissor */
1421 /* skip args->scissorCount */
1422 if (args->pScissors) {
1423 for (uint32_t i = 0; i < args->scissorCount; i++)
1424 vn_replace_VkRect2D_handle(&((VkRect2D *)args->pScissors)[i]);
1425 }
1426 }
1427
vn_encode_vkCmdSetScissor_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetScissor * args)1428 static inline void vn_encode_vkCmdSetScissor_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetScissor *args)
1429 {
1430 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetScissor_EXT});
1431
1432 /* skip args->commandBuffer */
1433 /* skip args->firstScissor */
1434 /* skip args->scissorCount */
1435 /* skip args->pScissors */
1436 }
1437
vn_decode_vkCmdSetLineWidth_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetLineWidth * args)1438 static inline void vn_decode_vkCmdSetLineWidth_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetLineWidth *args)
1439 {
1440 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1441 vn_decode_float(dec, &args->lineWidth);
1442 }
1443
vn_replace_vkCmdSetLineWidth_args_handle(struct vn_command_vkCmdSetLineWidth * args)1444 static inline void vn_replace_vkCmdSetLineWidth_args_handle(struct vn_command_vkCmdSetLineWidth *args)
1445 {
1446 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1447 /* skip args->lineWidth */
1448 }
1449
vn_encode_vkCmdSetLineWidth_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetLineWidth * args)1450 static inline void vn_encode_vkCmdSetLineWidth_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetLineWidth *args)
1451 {
1452 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetLineWidth_EXT});
1453
1454 /* skip args->commandBuffer */
1455 /* skip args->lineWidth */
1456 }
1457
vn_decode_vkCmdSetDepthBias_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetDepthBias * args)1458 static inline void vn_decode_vkCmdSetDepthBias_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetDepthBias *args)
1459 {
1460 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1461 vn_decode_float(dec, &args->depthBiasConstantFactor);
1462 vn_decode_float(dec, &args->depthBiasClamp);
1463 vn_decode_float(dec, &args->depthBiasSlopeFactor);
1464 }
1465
vn_replace_vkCmdSetDepthBias_args_handle(struct vn_command_vkCmdSetDepthBias * args)1466 static inline void vn_replace_vkCmdSetDepthBias_args_handle(struct vn_command_vkCmdSetDepthBias *args)
1467 {
1468 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1469 /* skip args->depthBiasConstantFactor */
1470 /* skip args->depthBiasClamp */
1471 /* skip args->depthBiasSlopeFactor */
1472 }
1473
vn_encode_vkCmdSetDepthBias_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetDepthBias * args)1474 static inline void vn_encode_vkCmdSetDepthBias_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetDepthBias *args)
1475 {
1476 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetDepthBias_EXT});
1477
1478 /* skip args->commandBuffer */
1479 /* skip args->depthBiasConstantFactor */
1480 /* skip args->depthBiasClamp */
1481 /* skip args->depthBiasSlopeFactor */
1482 }
1483
vn_decode_vkCmdSetBlendConstants_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetBlendConstants * args)1484 static inline void vn_decode_vkCmdSetBlendConstants_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetBlendConstants *args)
1485 {
1486 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1487 {
1488 const size_t array_size = vn_decode_array_size(dec, 4);
1489 vn_decode_float_array(dec, (float *)args->blendConstants, array_size);
1490 }
1491 }
1492
vn_replace_vkCmdSetBlendConstants_args_handle(struct vn_command_vkCmdSetBlendConstants * args)1493 static inline void vn_replace_vkCmdSetBlendConstants_args_handle(struct vn_command_vkCmdSetBlendConstants *args)
1494 {
1495 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1496 /* skip args->blendConstants */
1497 }
1498
vn_encode_vkCmdSetBlendConstants_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetBlendConstants * args)1499 static inline void vn_encode_vkCmdSetBlendConstants_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetBlendConstants *args)
1500 {
1501 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetBlendConstants_EXT});
1502
1503 /* skip args->commandBuffer */
1504 /* skip args->blendConstants */
1505 }
1506
vn_decode_vkCmdSetDepthBounds_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetDepthBounds * args)1507 static inline void vn_decode_vkCmdSetDepthBounds_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetDepthBounds *args)
1508 {
1509 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1510 vn_decode_float(dec, &args->minDepthBounds);
1511 vn_decode_float(dec, &args->maxDepthBounds);
1512 }
1513
vn_replace_vkCmdSetDepthBounds_args_handle(struct vn_command_vkCmdSetDepthBounds * args)1514 static inline void vn_replace_vkCmdSetDepthBounds_args_handle(struct vn_command_vkCmdSetDepthBounds *args)
1515 {
1516 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1517 /* skip args->minDepthBounds */
1518 /* skip args->maxDepthBounds */
1519 }
1520
vn_encode_vkCmdSetDepthBounds_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetDepthBounds * args)1521 static inline void vn_encode_vkCmdSetDepthBounds_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetDepthBounds *args)
1522 {
1523 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetDepthBounds_EXT});
1524
1525 /* skip args->commandBuffer */
1526 /* skip args->minDepthBounds */
1527 /* skip args->maxDepthBounds */
1528 }
1529
vn_decode_vkCmdSetStencilCompareMask_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetStencilCompareMask * args)1530 static inline void vn_decode_vkCmdSetStencilCompareMask_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetStencilCompareMask *args)
1531 {
1532 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1533 vn_decode_VkFlags(dec, &args->faceMask);
1534 vn_decode_uint32_t(dec, &args->compareMask);
1535 }
1536
vn_replace_vkCmdSetStencilCompareMask_args_handle(struct vn_command_vkCmdSetStencilCompareMask * args)1537 static inline void vn_replace_vkCmdSetStencilCompareMask_args_handle(struct vn_command_vkCmdSetStencilCompareMask *args)
1538 {
1539 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1540 /* skip args->faceMask */
1541 /* skip args->compareMask */
1542 }
1543
vn_encode_vkCmdSetStencilCompareMask_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetStencilCompareMask * args)1544 static inline void vn_encode_vkCmdSetStencilCompareMask_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetStencilCompareMask *args)
1545 {
1546 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetStencilCompareMask_EXT});
1547
1548 /* skip args->commandBuffer */
1549 /* skip args->faceMask */
1550 /* skip args->compareMask */
1551 }
1552
vn_decode_vkCmdSetStencilWriteMask_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetStencilWriteMask * args)1553 static inline void vn_decode_vkCmdSetStencilWriteMask_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetStencilWriteMask *args)
1554 {
1555 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1556 vn_decode_VkFlags(dec, &args->faceMask);
1557 vn_decode_uint32_t(dec, &args->writeMask);
1558 }
1559
vn_replace_vkCmdSetStencilWriteMask_args_handle(struct vn_command_vkCmdSetStencilWriteMask * args)1560 static inline void vn_replace_vkCmdSetStencilWriteMask_args_handle(struct vn_command_vkCmdSetStencilWriteMask *args)
1561 {
1562 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1563 /* skip args->faceMask */
1564 /* skip args->writeMask */
1565 }
1566
vn_encode_vkCmdSetStencilWriteMask_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetStencilWriteMask * args)1567 static inline void vn_encode_vkCmdSetStencilWriteMask_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetStencilWriteMask *args)
1568 {
1569 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetStencilWriteMask_EXT});
1570
1571 /* skip args->commandBuffer */
1572 /* skip args->faceMask */
1573 /* skip args->writeMask */
1574 }
1575
vn_decode_vkCmdSetStencilReference_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetStencilReference * args)1576 static inline void vn_decode_vkCmdSetStencilReference_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetStencilReference *args)
1577 {
1578 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1579 vn_decode_VkFlags(dec, &args->faceMask);
1580 vn_decode_uint32_t(dec, &args->reference);
1581 }
1582
vn_replace_vkCmdSetStencilReference_args_handle(struct vn_command_vkCmdSetStencilReference * args)1583 static inline void vn_replace_vkCmdSetStencilReference_args_handle(struct vn_command_vkCmdSetStencilReference *args)
1584 {
1585 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1586 /* skip args->faceMask */
1587 /* skip args->reference */
1588 }
1589
vn_encode_vkCmdSetStencilReference_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetStencilReference * args)1590 static inline void vn_encode_vkCmdSetStencilReference_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetStencilReference *args)
1591 {
1592 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetStencilReference_EXT});
1593
1594 /* skip args->commandBuffer */
1595 /* skip args->faceMask */
1596 /* skip args->reference */
1597 }
1598
vn_decode_vkCmdBindDescriptorSets_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBindDescriptorSets * args)1599 static inline void vn_decode_vkCmdBindDescriptorSets_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBindDescriptorSets *args)
1600 {
1601 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1602 vn_decode_VkPipelineBindPoint(dec, &args->pipelineBindPoint);
1603 vn_decode_VkPipelineLayout_lookup(dec, &args->layout);
1604 vn_decode_uint32_t(dec, &args->firstSet);
1605 vn_decode_uint32_t(dec, &args->descriptorSetCount);
1606 if (vn_peek_array_size(dec)) {
1607 const uint32_t iter_count = vn_decode_array_size(dec, args->descriptorSetCount);
1608 args->pDescriptorSets = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pDescriptorSets) * iter_count);
1609 if (!args->pDescriptorSets) return;
1610 for (uint32_t i = 0; i < iter_count; i++)
1611 vn_decode_VkDescriptorSet_lookup(dec, &((VkDescriptorSet *)args->pDescriptorSets)[i]);
1612 } else {
1613 vn_decode_array_size(dec, args->descriptorSetCount);
1614 args->pDescriptorSets = NULL;
1615 }
1616 vn_decode_uint32_t(dec, &args->dynamicOffsetCount);
1617 if (vn_peek_array_size(dec)) {
1618 const size_t array_size = vn_decode_array_size(dec, args->dynamicOffsetCount);
1619 args->pDynamicOffsets = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pDynamicOffsets) * array_size);
1620 if (!args->pDynamicOffsets) return;
1621 vn_decode_uint32_t_array(dec, (uint32_t *)args->pDynamicOffsets, array_size);
1622 } else {
1623 vn_decode_array_size(dec, args->dynamicOffsetCount);
1624 args->pDynamicOffsets = NULL;
1625 }
1626 }
1627
vn_replace_vkCmdBindDescriptorSets_args_handle(struct vn_command_vkCmdBindDescriptorSets * args)1628 static inline void vn_replace_vkCmdBindDescriptorSets_args_handle(struct vn_command_vkCmdBindDescriptorSets *args)
1629 {
1630 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1631 /* skip args->pipelineBindPoint */
1632 vn_replace_VkPipelineLayout_handle(&args->layout);
1633 /* skip args->firstSet */
1634 /* skip args->descriptorSetCount */
1635 if (args->pDescriptorSets) {
1636 for (uint32_t i = 0; i < args->descriptorSetCount; i++)
1637 vn_replace_VkDescriptorSet_handle(&((VkDescriptorSet *)args->pDescriptorSets)[i]);
1638 }
1639 /* skip args->dynamicOffsetCount */
1640 /* skip args->pDynamicOffsets */
1641 }
1642
vn_encode_vkCmdBindDescriptorSets_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBindDescriptorSets * args)1643 static inline void vn_encode_vkCmdBindDescriptorSets_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBindDescriptorSets *args)
1644 {
1645 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBindDescriptorSets_EXT});
1646
1647 /* skip args->commandBuffer */
1648 /* skip args->pipelineBindPoint */
1649 /* skip args->layout */
1650 /* skip args->firstSet */
1651 /* skip args->descriptorSetCount */
1652 /* skip args->pDescriptorSets */
1653 /* skip args->dynamicOffsetCount */
1654 /* skip args->pDynamicOffsets */
1655 }
1656
vn_decode_vkCmdBindIndexBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBindIndexBuffer * args)1657 static inline void vn_decode_vkCmdBindIndexBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBindIndexBuffer *args)
1658 {
1659 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1660 vn_decode_VkBuffer_lookup(dec, &args->buffer);
1661 vn_decode_VkDeviceSize(dec, &args->offset);
1662 vn_decode_VkIndexType(dec, &args->indexType);
1663 }
1664
vn_replace_vkCmdBindIndexBuffer_args_handle(struct vn_command_vkCmdBindIndexBuffer * args)1665 static inline void vn_replace_vkCmdBindIndexBuffer_args_handle(struct vn_command_vkCmdBindIndexBuffer *args)
1666 {
1667 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1668 vn_replace_VkBuffer_handle(&args->buffer);
1669 /* skip args->offset */
1670 /* skip args->indexType */
1671 }
1672
vn_encode_vkCmdBindIndexBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBindIndexBuffer * args)1673 static inline void vn_encode_vkCmdBindIndexBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBindIndexBuffer *args)
1674 {
1675 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBindIndexBuffer_EXT});
1676
1677 /* skip args->commandBuffer */
1678 /* skip args->buffer */
1679 /* skip args->offset */
1680 /* skip args->indexType */
1681 }
1682
vn_decode_vkCmdBindVertexBuffers_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBindVertexBuffers * args)1683 static inline void vn_decode_vkCmdBindVertexBuffers_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBindVertexBuffers *args)
1684 {
1685 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1686 vn_decode_uint32_t(dec, &args->firstBinding);
1687 vn_decode_uint32_t(dec, &args->bindingCount);
1688 if (vn_peek_array_size(dec)) {
1689 const uint32_t iter_count = vn_decode_array_size(dec, args->bindingCount);
1690 args->pBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pBuffers) * iter_count);
1691 if (!args->pBuffers) return;
1692 for (uint32_t i = 0; i < iter_count; i++)
1693 vn_decode_VkBuffer_lookup(dec, &((VkBuffer *)args->pBuffers)[i]);
1694 } else {
1695 vn_decode_array_size(dec, args->bindingCount);
1696 args->pBuffers = NULL;
1697 }
1698 if (vn_peek_array_size(dec)) {
1699 const size_t array_size = vn_decode_array_size(dec, args->bindingCount);
1700 args->pOffsets = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pOffsets) * array_size);
1701 if (!args->pOffsets) return;
1702 vn_decode_VkDeviceSize_array(dec, (VkDeviceSize *)args->pOffsets, array_size);
1703 } else {
1704 vn_decode_array_size(dec, args->bindingCount);
1705 args->pOffsets = NULL;
1706 }
1707 }
1708
vn_replace_vkCmdBindVertexBuffers_args_handle(struct vn_command_vkCmdBindVertexBuffers * args)1709 static inline void vn_replace_vkCmdBindVertexBuffers_args_handle(struct vn_command_vkCmdBindVertexBuffers *args)
1710 {
1711 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1712 /* skip args->firstBinding */
1713 /* skip args->bindingCount */
1714 if (args->pBuffers) {
1715 for (uint32_t i = 0; i < args->bindingCount; i++)
1716 vn_replace_VkBuffer_handle(&((VkBuffer *)args->pBuffers)[i]);
1717 }
1718 /* skip args->pOffsets */
1719 }
1720
vn_encode_vkCmdBindVertexBuffers_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBindVertexBuffers * args)1721 static inline void vn_encode_vkCmdBindVertexBuffers_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBindVertexBuffers *args)
1722 {
1723 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBindVertexBuffers_EXT});
1724
1725 /* skip args->commandBuffer */
1726 /* skip args->firstBinding */
1727 /* skip args->bindingCount */
1728 /* skip args->pBuffers */
1729 /* skip args->pOffsets */
1730 }
1731
vn_decode_vkCmdDraw_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDraw * args)1732 static inline void vn_decode_vkCmdDraw_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDraw *args)
1733 {
1734 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1735 vn_decode_uint32_t(dec, &args->vertexCount);
1736 vn_decode_uint32_t(dec, &args->instanceCount);
1737 vn_decode_uint32_t(dec, &args->firstVertex);
1738 vn_decode_uint32_t(dec, &args->firstInstance);
1739 }
1740
vn_replace_vkCmdDraw_args_handle(struct vn_command_vkCmdDraw * args)1741 static inline void vn_replace_vkCmdDraw_args_handle(struct vn_command_vkCmdDraw *args)
1742 {
1743 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1744 /* skip args->vertexCount */
1745 /* skip args->instanceCount */
1746 /* skip args->firstVertex */
1747 /* skip args->firstInstance */
1748 }
1749
vn_encode_vkCmdDraw_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDraw * args)1750 static inline void vn_encode_vkCmdDraw_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDraw *args)
1751 {
1752 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDraw_EXT});
1753
1754 /* skip args->commandBuffer */
1755 /* skip args->vertexCount */
1756 /* skip args->instanceCount */
1757 /* skip args->firstVertex */
1758 /* skip args->firstInstance */
1759 }
1760
vn_decode_vkCmdDrawIndexed_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDrawIndexed * args)1761 static inline void vn_decode_vkCmdDrawIndexed_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDrawIndexed *args)
1762 {
1763 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1764 vn_decode_uint32_t(dec, &args->indexCount);
1765 vn_decode_uint32_t(dec, &args->instanceCount);
1766 vn_decode_uint32_t(dec, &args->firstIndex);
1767 vn_decode_int32_t(dec, &args->vertexOffset);
1768 vn_decode_uint32_t(dec, &args->firstInstance);
1769 }
1770
vn_replace_vkCmdDrawIndexed_args_handle(struct vn_command_vkCmdDrawIndexed * args)1771 static inline void vn_replace_vkCmdDrawIndexed_args_handle(struct vn_command_vkCmdDrawIndexed *args)
1772 {
1773 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1774 /* skip args->indexCount */
1775 /* skip args->instanceCount */
1776 /* skip args->firstIndex */
1777 /* skip args->vertexOffset */
1778 /* skip args->firstInstance */
1779 }
1780
vn_encode_vkCmdDrawIndexed_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDrawIndexed * args)1781 static inline void vn_encode_vkCmdDrawIndexed_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDrawIndexed *args)
1782 {
1783 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDrawIndexed_EXT});
1784
1785 /* skip args->commandBuffer */
1786 /* skip args->indexCount */
1787 /* skip args->instanceCount */
1788 /* skip args->firstIndex */
1789 /* skip args->vertexOffset */
1790 /* skip args->firstInstance */
1791 }
1792
vn_decode_vkCmdDrawIndirect_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDrawIndirect * args)1793 static inline void vn_decode_vkCmdDrawIndirect_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDrawIndirect *args)
1794 {
1795 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1796 vn_decode_VkBuffer_lookup(dec, &args->buffer);
1797 vn_decode_VkDeviceSize(dec, &args->offset);
1798 vn_decode_uint32_t(dec, &args->drawCount);
1799 vn_decode_uint32_t(dec, &args->stride);
1800 }
1801
vn_replace_vkCmdDrawIndirect_args_handle(struct vn_command_vkCmdDrawIndirect * args)1802 static inline void vn_replace_vkCmdDrawIndirect_args_handle(struct vn_command_vkCmdDrawIndirect *args)
1803 {
1804 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1805 vn_replace_VkBuffer_handle(&args->buffer);
1806 /* skip args->offset */
1807 /* skip args->drawCount */
1808 /* skip args->stride */
1809 }
1810
vn_encode_vkCmdDrawIndirect_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDrawIndirect * args)1811 static inline void vn_encode_vkCmdDrawIndirect_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDrawIndirect *args)
1812 {
1813 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDrawIndirect_EXT});
1814
1815 /* skip args->commandBuffer */
1816 /* skip args->buffer */
1817 /* skip args->offset */
1818 /* skip args->drawCount */
1819 /* skip args->stride */
1820 }
1821
vn_decode_vkCmdDrawIndexedIndirect_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDrawIndexedIndirect * args)1822 static inline void vn_decode_vkCmdDrawIndexedIndirect_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDrawIndexedIndirect *args)
1823 {
1824 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1825 vn_decode_VkBuffer_lookup(dec, &args->buffer);
1826 vn_decode_VkDeviceSize(dec, &args->offset);
1827 vn_decode_uint32_t(dec, &args->drawCount);
1828 vn_decode_uint32_t(dec, &args->stride);
1829 }
1830
vn_replace_vkCmdDrawIndexedIndirect_args_handle(struct vn_command_vkCmdDrawIndexedIndirect * args)1831 static inline void vn_replace_vkCmdDrawIndexedIndirect_args_handle(struct vn_command_vkCmdDrawIndexedIndirect *args)
1832 {
1833 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1834 vn_replace_VkBuffer_handle(&args->buffer);
1835 /* skip args->offset */
1836 /* skip args->drawCount */
1837 /* skip args->stride */
1838 }
1839
vn_encode_vkCmdDrawIndexedIndirect_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDrawIndexedIndirect * args)1840 static inline void vn_encode_vkCmdDrawIndexedIndirect_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDrawIndexedIndirect *args)
1841 {
1842 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDrawIndexedIndirect_EXT});
1843
1844 /* skip args->commandBuffer */
1845 /* skip args->buffer */
1846 /* skip args->offset */
1847 /* skip args->drawCount */
1848 /* skip args->stride */
1849 }
1850
vn_decode_vkCmdDispatch_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDispatch * args)1851 static inline void vn_decode_vkCmdDispatch_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDispatch *args)
1852 {
1853 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1854 vn_decode_uint32_t(dec, &args->groupCountX);
1855 vn_decode_uint32_t(dec, &args->groupCountY);
1856 vn_decode_uint32_t(dec, &args->groupCountZ);
1857 }
1858
vn_replace_vkCmdDispatch_args_handle(struct vn_command_vkCmdDispatch * args)1859 static inline void vn_replace_vkCmdDispatch_args_handle(struct vn_command_vkCmdDispatch *args)
1860 {
1861 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1862 /* skip args->groupCountX */
1863 /* skip args->groupCountY */
1864 /* skip args->groupCountZ */
1865 }
1866
vn_encode_vkCmdDispatch_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDispatch * args)1867 static inline void vn_encode_vkCmdDispatch_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDispatch *args)
1868 {
1869 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDispatch_EXT});
1870
1871 /* skip args->commandBuffer */
1872 /* skip args->groupCountX */
1873 /* skip args->groupCountY */
1874 /* skip args->groupCountZ */
1875 }
1876
vn_decode_vkCmdDispatchIndirect_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDispatchIndirect * args)1877 static inline void vn_decode_vkCmdDispatchIndirect_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDispatchIndirect *args)
1878 {
1879 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1880 vn_decode_VkBuffer_lookup(dec, &args->buffer);
1881 vn_decode_VkDeviceSize(dec, &args->offset);
1882 }
1883
vn_replace_vkCmdDispatchIndirect_args_handle(struct vn_command_vkCmdDispatchIndirect * args)1884 static inline void vn_replace_vkCmdDispatchIndirect_args_handle(struct vn_command_vkCmdDispatchIndirect *args)
1885 {
1886 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1887 vn_replace_VkBuffer_handle(&args->buffer);
1888 /* skip args->offset */
1889 }
1890
vn_encode_vkCmdDispatchIndirect_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDispatchIndirect * args)1891 static inline void vn_encode_vkCmdDispatchIndirect_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDispatchIndirect *args)
1892 {
1893 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDispatchIndirect_EXT});
1894
1895 /* skip args->commandBuffer */
1896 /* skip args->buffer */
1897 /* skip args->offset */
1898 }
1899
vn_decode_vkCmdCopyBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdCopyBuffer * args)1900 static inline void vn_decode_vkCmdCopyBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdCopyBuffer *args)
1901 {
1902 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1903 vn_decode_VkBuffer_lookup(dec, &args->srcBuffer);
1904 vn_decode_VkBuffer_lookup(dec, &args->dstBuffer);
1905 vn_decode_uint32_t(dec, &args->regionCount);
1906 if (vn_peek_array_size(dec)) {
1907 const uint32_t iter_count = vn_decode_array_size(dec, args->regionCount);
1908 args->pRegions = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRegions) * iter_count);
1909 if (!args->pRegions) return;
1910 for (uint32_t i = 0; i < iter_count; i++)
1911 vn_decode_VkBufferCopy_temp(dec, &((VkBufferCopy *)args->pRegions)[i]);
1912 } else {
1913 vn_decode_array_size(dec, args->regionCount);
1914 args->pRegions = NULL;
1915 }
1916 }
1917
vn_replace_vkCmdCopyBuffer_args_handle(struct vn_command_vkCmdCopyBuffer * args)1918 static inline void vn_replace_vkCmdCopyBuffer_args_handle(struct vn_command_vkCmdCopyBuffer *args)
1919 {
1920 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1921 vn_replace_VkBuffer_handle(&args->srcBuffer);
1922 vn_replace_VkBuffer_handle(&args->dstBuffer);
1923 /* skip args->regionCount */
1924 if (args->pRegions) {
1925 for (uint32_t i = 0; i < args->regionCount; i++)
1926 vn_replace_VkBufferCopy_handle(&((VkBufferCopy *)args->pRegions)[i]);
1927 }
1928 }
1929
vn_encode_vkCmdCopyBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdCopyBuffer * args)1930 static inline void vn_encode_vkCmdCopyBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdCopyBuffer *args)
1931 {
1932 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdCopyBuffer_EXT});
1933
1934 /* skip args->commandBuffer */
1935 /* skip args->srcBuffer */
1936 /* skip args->dstBuffer */
1937 /* skip args->regionCount */
1938 /* skip args->pRegions */
1939 }
1940
vn_decode_vkCmdCopyImage_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdCopyImage * args)1941 static inline void vn_decode_vkCmdCopyImage_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdCopyImage *args)
1942 {
1943 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1944 vn_decode_VkImage_lookup(dec, &args->srcImage);
1945 vn_decode_VkImageLayout(dec, &args->srcImageLayout);
1946 vn_decode_VkImage_lookup(dec, &args->dstImage);
1947 vn_decode_VkImageLayout(dec, &args->dstImageLayout);
1948 vn_decode_uint32_t(dec, &args->regionCount);
1949 if (vn_peek_array_size(dec)) {
1950 const uint32_t iter_count = vn_decode_array_size(dec, args->regionCount);
1951 args->pRegions = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRegions) * iter_count);
1952 if (!args->pRegions) return;
1953 for (uint32_t i = 0; i < iter_count; i++)
1954 vn_decode_VkImageCopy_temp(dec, &((VkImageCopy *)args->pRegions)[i]);
1955 } else {
1956 vn_decode_array_size(dec, args->regionCount);
1957 args->pRegions = NULL;
1958 }
1959 }
1960
vn_replace_vkCmdCopyImage_args_handle(struct vn_command_vkCmdCopyImage * args)1961 static inline void vn_replace_vkCmdCopyImage_args_handle(struct vn_command_vkCmdCopyImage *args)
1962 {
1963 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
1964 vn_replace_VkImage_handle(&args->srcImage);
1965 /* skip args->srcImageLayout */
1966 vn_replace_VkImage_handle(&args->dstImage);
1967 /* skip args->dstImageLayout */
1968 /* skip args->regionCount */
1969 if (args->pRegions) {
1970 for (uint32_t i = 0; i < args->regionCount; i++)
1971 vn_replace_VkImageCopy_handle(&((VkImageCopy *)args->pRegions)[i]);
1972 }
1973 }
1974
vn_encode_vkCmdCopyImage_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdCopyImage * args)1975 static inline void vn_encode_vkCmdCopyImage_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdCopyImage *args)
1976 {
1977 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdCopyImage_EXT});
1978
1979 /* skip args->commandBuffer */
1980 /* skip args->srcImage */
1981 /* skip args->srcImageLayout */
1982 /* skip args->dstImage */
1983 /* skip args->dstImageLayout */
1984 /* skip args->regionCount */
1985 /* skip args->pRegions */
1986 }
1987
vn_decode_vkCmdBlitImage_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBlitImage * args)1988 static inline void vn_decode_vkCmdBlitImage_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBlitImage *args)
1989 {
1990 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
1991 vn_decode_VkImage_lookup(dec, &args->srcImage);
1992 vn_decode_VkImageLayout(dec, &args->srcImageLayout);
1993 vn_decode_VkImage_lookup(dec, &args->dstImage);
1994 vn_decode_VkImageLayout(dec, &args->dstImageLayout);
1995 vn_decode_uint32_t(dec, &args->regionCount);
1996 if (vn_peek_array_size(dec)) {
1997 const uint32_t iter_count = vn_decode_array_size(dec, args->regionCount);
1998 args->pRegions = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRegions) * iter_count);
1999 if (!args->pRegions) return;
2000 for (uint32_t i = 0; i < iter_count; i++)
2001 vn_decode_VkImageBlit_temp(dec, &((VkImageBlit *)args->pRegions)[i]);
2002 } else {
2003 vn_decode_array_size(dec, args->regionCount);
2004 args->pRegions = NULL;
2005 }
2006 vn_decode_VkFilter(dec, &args->filter);
2007 }
2008
vn_replace_vkCmdBlitImage_args_handle(struct vn_command_vkCmdBlitImage * args)2009 static inline void vn_replace_vkCmdBlitImage_args_handle(struct vn_command_vkCmdBlitImage *args)
2010 {
2011 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2012 vn_replace_VkImage_handle(&args->srcImage);
2013 /* skip args->srcImageLayout */
2014 vn_replace_VkImage_handle(&args->dstImage);
2015 /* skip args->dstImageLayout */
2016 /* skip args->regionCount */
2017 if (args->pRegions) {
2018 for (uint32_t i = 0; i < args->regionCount; i++)
2019 vn_replace_VkImageBlit_handle(&((VkImageBlit *)args->pRegions)[i]);
2020 }
2021 /* skip args->filter */
2022 }
2023
vn_encode_vkCmdBlitImage_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBlitImage * args)2024 static inline void vn_encode_vkCmdBlitImage_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBlitImage *args)
2025 {
2026 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBlitImage_EXT});
2027
2028 /* skip args->commandBuffer */
2029 /* skip args->srcImage */
2030 /* skip args->srcImageLayout */
2031 /* skip args->dstImage */
2032 /* skip args->dstImageLayout */
2033 /* skip args->regionCount */
2034 /* skip args->pRegions */
2035 /* skip args->filter */
2036 }
2037
vn_decode_vkCmdCopyBufferToImage_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdCopyBufferToImage * args)2038 static inline void vn_decode_vkCmdCopyBufferToImage_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdCopyBufferToImage *args)
2039 {
2040 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2041 vn_decode_VkBuffer_lookup(dec, &args->srcBuffer);
2042 vn_decode_VkImage_lookup(dec, &args->dstImage);
2043 vn_decode_VkImageLayout(dec, &args->dstImageLayout);
2044 vn_decode_uint32_t(dec, &args->regionCount);
2045 if (vn_peek_array_size(dec)) {
2046 const uint32_t iter_count = vn_decode_array_size(dec, args->regionCount);
2047 args->pRegions = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRegions) * iter_count);
2048 if (!args->pRegions) return;
2049 for (uint32_t i = 0; i < iter_count; i++)
2050 vn_decode_VkBufferImageCopy_temp(dec, &((VkBufferImageCopy *)args->pRegions)[i]);
2051 } else {
2052 vn_decode_array_size(dec, args->regionCount);
2053 args->pRegions = NULL;
2054 }
2055 }
2056
vn_replace_vkCmdCopyBufferToImage_args_handle(struct vn_command_vkCmdCopyBufferToImage * args)2057 static inline void vn_replace_vkCmdCopyBufferToImage_args_handle(struct vn_command_vkCmdCopyBufferToImage *args)
2058 {
2059 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2060 vn_replace_VkBuffer_handle(&args->srcBuffer);
2061 vn_replace_VkImage_handle(&args->dstImage);
2062 /* skip args->dstImageLayout */
2063 /* skip args->regionCount */
2064 if (args->pRegions) {
2065 for (uint32_t i = 0; i < args->regionCount; i++)
2066 vn_replace_VkBufferImageCopy_handle(&((VkBufferImageCopy *)args->pRegions)[i]);
2067 }
2068 }
2069
vn_encode_vkCmdCopyBufferToImage_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdCopyBufferToImage * args)2070 static inline void vn_encode_vkCmdCopyBufferToImage_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdCopyBufferToImage *args)
2071 {
2072 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdCopyBufferToImage_EXT});
2073
2074 /* skip args->commandBuffer */
2075 /* skip args->srcBuffer */
2076 /* skip args->dstImage */
2077 /* skip args->dstImageLayout */
2078 /* skip args->regionCount */
2079 /* skip args->pRegions */
2080 }
2081
vn_decode_vkCmdCopyImageToBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdCopyImageToBuffer * args)2082 static inline void vn_decode_vkCmdCopyImageToBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdCopyImageToBuffer *args)
2083 {
2084 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2085 vn_decode_VkImage_lookup(dec, &args->srcImage);
2086 vn_decode_VkImageLayout(dec, &args->srcImageLayout);
2087 vn_decode_VkBuffer_lookup(dec, &args->dstBuffer);
2088 vn_decode_uint32_t(dec, &args->regionCount);
2089 if (vn_peek_array_size(dec)) {
2090 const uint32_t iter_count = vn_decode_array_size(dec, args->regionCount);
2091 args->pRegions = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRegions) * iter_count);
2092 if (!args->pRegions) return;
2093 for (uint32_t i = 0; i < iter_count; i++)
2094 vn_decode_VkBufferImageCopy_temp(dec, &((VkBufferImageCopy *)args->pRegions)[i]);
2095 } else {
2096 vn_decode_array_size(dec, args->regionCount);
2097 args->pRegions = NULL;
2098 }
2099 }
2100
vn_replace_vkCmdCopyImageToBuffer_args_handle(struct vn_command_vkCmdCopyImageToBuffer * args)2101 static inline void vn_replace_vkCmdCopyImageToBuffer_args_handle(struct vn_command_vkCmdCopyImageToBuffer *args)
2102 {
2103 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2104 vn_replace_VkImage_handle(&args->srcImage);
2105 /* skip args->srcImageLayout */
2106 vn_replace_VkBuffer_handle(&args->dstBuffer);
2107 /* skip args->regionCount */
2108 if (args->pRegions) {
2109 for (uint32_t i = 0; i < args->regionCount; i++)
2110 vn_replace_VkBufferImageCopy_handle(&((VkBufferImageCopy *)args->pRegions)[i]);
2111 }
2112 }
2113
vn_encode_vkCmdCopyImageToBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdCopyImageToBuffer * args)2114 static inline void vn_encode_vkCmdCopyImageToBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdCopyImageToBuffer *args)
2115 {
2116 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdCopyImageToBuffer_EXT});
2117
2118 /* skip args->commandBuffer */
2119 /* skip args->srcImage */
2120 /* skip args->srcImageLayout */
2121 /* skip args->dstBuffer */
2122 /* skip args->regionCount */
2123 /* skip args->pRegions */
2124 }
2125
vn_decode_vkCmdUpdateBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdUpdateBuffer * args)2126 static inline void vn_decode_vkCmdUpdateBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdUpdateBuffer *args)
2127 {
2128 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2129 vn_decode_VkBuffer_lookup(dec, &args->dstBuffer);
2130 vn_decode_VkDeviceSize(dec, &args->dstOffset);
2131 vn_decode_VkDeviceSize(dec, &args->dataSize);
2132 if (vn_peek_array_size(dec)) {
2133 const size_t array_size = vn_decode_array_size(dec, args->dataSize);
2134 args->pData = vn_cs_decoder_alloc_temp(dec, array_size);
2135 if (!args->pData) return;
2136 vn_decode_blob_array(dec, (void *)args->pData, array_size);
2137 } else {
2138 vn_decode_array_size(dec, args->dataSize);
2139 args->pData = NULL;
2140 }
2141 }
2142
vn_replace_vkCmdUpdateBuffer_args_handle(struct vn_command_vkCmdUpdateBuffer * args)2143 static inline void vn_replace_vkCmdUpdateBuffer_args_handle(struct vn_command_vkCmdUpdateBuffer *args)
2144 {
2145 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2146 vn_replace_VkBuffer_handle(&args->dstBuffer);
2147 /* skip args->dstOffset */
2148 /* skip args->dataSize */
2149 /* skip args->pData */
2150 }
2151
vn_encode_vkCmdUpdateBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdUpdateBuffer * args)2152 static inline void vn_encode_vkCmdUpdateBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdUpdateBuffer *args)
2153 {
2154 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdUpdateBuffer_EXT});
2155
2156 /* skip args->commandBuffer */
2157 /* skip args->dstBuffer */
2158 /* skip args->dstOffset */
2159 /* skip args->dataSize */
2160 /* skip args->pData */
2161 }
2162
vn_decode_vkCmdFillBuffer_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdFillBuffer * args)2163 static inline void vn_decode_vkCmdFillBuffer_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdFillBuffer *args)
2164 {
2165 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2166 vn_decode_VkBuffer_lookup(dec, &args->dstBuffer);
2167 vn_decode_VkDeviceSize(dec, &args->dstOffset);
2168 vn_decode_VkDeviceSize(dec, &args->size);
2169 vn_decode_uint32_t(dec, &args->data);
2170 }
2171
vn_replace_vkCmdFillBuffer_args_handle(struct vn_command_vkCmdFillBuffer * args)2172 static inline void vn_replace_vkCmdFillBuffer_args_handle(struct vn_command_vkCmdFillBuffer *args)
2173 {
2174 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2175 vn_replace_VkBuffer_handle(&args->dstBuffer);
2176 /* skip args->dstOffset */
2177 /* skip args->size */
2178 /* skip args->data */
2179 }
2180
vn_encode_vkCmdFillBuffer_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdFillBuffer * args)2181 static inline void vn_encode_vkCmdFillBuffer_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdFillBuffer *args)
2182 {
2183 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdFillBuffer_EXT});
2184
2185 /* skip args->commandBuffer */
2186 /* skip args->dstBuffer */
2187 /* skip args->dstOffset */
2188 /* skip args->size */
2189 /* skip args->data */
2190 }
2191
vn_decode_vkCmdClearColorImage_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdClearColorImage * args)2192 static inline void vn_decode_vkCmdClearColorImage_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdClearColorImage *args)
2193 {
2194 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2195 vn_decode_VkImage_lookup(dec, &args->image);
2196 vn_decode_VkImageLayout(dec, &args->imageLayout);
2197 if (vn_decode_simple_pointer(dec)) {
2198 args->pColor = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pColor));
2199 if (!args->pColor) return;
2200 vn_decode_VkClearColorValue_temp(dec, (VkClearColorValue *)args->pColor);
2201 } else {
2202 args->pColor = NULL;
2203 }
2204 vn_decode_uint32_t(dec, &args->rangeCount);
2205 if (vn_peek_array_size(dec)) {
2206 const uint32_t iter_count = vn_decode_array_size(dec, args->rangeCount);
2207 args->pRanges = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRanges) * iter_count);
2208 if (!args->pRanges) return;
2209 for (uint32_t i = 0; i < iter_count; i++)
2210 vn_decode_VkImageSubresourceRange_temp(dec, &((VkImageSubresourceRange *)args->pRanges)[i]);
2211 } else {
2212 vn_decode_array_size(dec, args->rangeCount);
2213 args->pRanges = NULL;
2214 }
2215 }
2216
vn_replace_vkCmdClearColorImage_args_handle(struct vn_command_vkCmdClearColorImage * args)2217 static inline void vn_replace_vkCmdClearColorImage_args_handle(struct vn_command_vkCmdClearColorImage *args)
2218 {
2219 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2220 vn_replace_VkImage_handle(&args->image);
2221 /* skip args->imageLayout */
2222 /* skip args->pColor */
2223 /* skip args->rangeCount */
2224 if (args->pRanges) {
2225 for (uint32_t i = 0; i < args->rangeCount; i++)
2226 vn_replace_VkImageSubresourceRange_handle(&((VkImageSubresourceRange *)args->pRanges)[i]);
2227 }
2228 }
2229
vn_encode_vkCmdClearColorImage_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdClearColorImage * args)2230 static inline void vn_encode_vkCmdClearColorImage_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdClearColorImage *args)
2231 {
2232 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdClearColorImage_EXT});
2233
2234 /* skip args->commandBuffer */
2235 /* skip args->image */
2236 /* skip args->imageLayout */
2237 /* skip args->pColor */
2238 /* skip args->rangeCount */
2239 /* skip args->pRanges */
2240 }
2241
vn_decode_vkCmdClearDepthStencilImage_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdClearDepthStencilImage * args)2242 static inline void vn_decode_vkCmdClearDepthStencilImage_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdClearDepthStencilImage *args)
2243 {
2244 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2245 vn_decode_VkImage_lookup(dec, &args->image);
2246 vn_decode_VkImageLayout(dec, &args->imageLayout);
2247 if (vn_decode_simple_pointer(dec)) {
2248 args->pDepthStencil = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pDepthStencil));
2249 if (!args->pDepthStencil) return;
2250 vn_decode_VkClearDepthStencilValue_temp(dec, (VkClearDepthStencilValue *)args->pDepthStencil);
2251 } else {
2252 args->pDepthStencil = NULL;
2253 vn_cs_decoder_set_fatal(dec);
2254 }
2255 vn_decode_uint32_t(dec, &args->rangeCount);
2256 if (vn_peek_array_size(dec)) {
2257 const uint32_t iter_count = vn_decode_array_size(dec, args->rangeCount);
2258 args->pRanges = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRanges) * iter_count);
2259 if (!args->pRanges) return;
2260 for (uint32_t i = 0; i < iter_count; i++)
2261 vn_decode_VkImageSubresourceRange_temp(dec, &((VkImageSubresourceRange *)args->pRanges)[i]);
2262 } else {
2263 vn_decode_array_size(dec, args->rangeCount);
2264 args->pRanges = NULL;
2265 }
2266 }
2267
vn_replace_vkCmdClearDepthStencilImage_args_handle(struct vn_command_vkCmdClearDepthStencilImage * args)2268 static inline void vn_replace_vkCmdClearDepthStencilImage_args_handle(struct vn_command_vkCmdClearDepthStencilImage *args)
2269 {
2270 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2271 vn_replace_VkImage_handle(&args->image);
2272 /* skip args->imageLayout */
2273 if (args->pDepthStencil)
2274 vn_replace_VkClearDepthStencilValue_handle((VkClearDepthStencilValue *)args->pDepthStencil);
2275 /* skip args->rangeCount */
2276 if (args->pRanges) {
2277 for (uint32_t i = 0; i < args->rangeCount; i++)
2278 vn_replace_VkImageSubresourceRange_handle(&((VkImageSubresourceRange *)args->pRanges)[i]);
2279 }
2280 }
2281
vn_encode_vkCmdClearDepthStencilImage_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdClearDepthStencilImage * args)2282 static inline void vn_encode_vkCmdClearDepthStencilImage_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdClearDepthStencilImage *args)
2283 {
2284 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdClearDepthStencilImage_EXT});
2285
2286 /* skip args->commandBuffer */
2287 /* skip args->image */
2288 /* skip args->imageLayout */
2289 /* skip args->pDepthStencil */
2290 /* skip args->rangeCount */
2291 /* skip args->pRanges */
2292 }
2293
vn_decode_vkCmdClearAttachments_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdClearAttachments * args)2294 static inline void vn_decode_vkCmdClearAttachments_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdClearAttachments *args)
2295 {
2296 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2297 vn_decode_uint32_t(dec, &args->attachmentCount);
2298 if (vn_peek_array_size(dec)) {
2299 const uint32_t iter_count = vn_decode_array_size(dec, args->attachmentCount);
2300 args->pAttachments = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pAttachments) * iter_count);
2301 if (!args->pAttachments) return;
2302 for (uint32_t i = 0; i < iter_count; i++)
2303 vn_decode_VkClearAttachment_temp(dec, &((VkClearAttachment *)args->pAttachments)[i]);
2304 } else {
2305 vn_decode_array_size(dec, args->attachmentCount);
2306 args->pAttachments = NULL;
2307 }
2308 vn_decode_uint32_t(dec, &args->rectCount);
2309 if (vn_peek_array_size(dec)) {
2310 const uint32_t iter_count = vn_decode_array_size(dec, args->rectCount);
2311 args->pRects = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRects) * iter_count);
2312 if (!args->pRects) return;
2313 for (uint32_t i = 0; i < iter_count; i++)
2314 vn_decode_VkClearRect_temp(dec, &((VkClearRect *)args->pRects)[i]);
2315 } else {
2316 vn_decode_array_size(dec, args->rectCount);
2317 args->pRects = NULL;
2318 }
2319 }
2320
vn_replace_vkCmdClearAttachments_args_handle(struct vn_command_vkCmdClearAttachments * args)2321 static inline void vn_replace_vkCmdClearAttachments_args_handle(struct vn_command_vkCmdClearAttachments *args)
2322 {
2323 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2324 /* skip args->attachmentCount */
2325 if (args->pAttachments) {
2326 for (uint32_t i = 0; i < args->attachmentCount; i++)
2327 vn_replace_VkClearAttachment_handle(&((VkClearAttachment *)args->pAttachments)[i]);
2328 }
2329 /* skip args->rectCount */
2330 if (args->pRects) {
2331 for (uint32_t i = 0; i < args->rectCount; i++)
2332 vn_replace_VkClearRect_handle(&((VkClearRect *)args->pRects)[i]);
2333 }
2334 }
2335
vn_encode_vkCmdClearAttachments_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdClearAttachments * args)2336 static inline void vn_encode_vkCmdClearAttachments_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdClearAttachments *args)
2337 {
2338 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdClearAttachments_EXT});
2339
2340 /* skip args->commandBuffer */
2341 /* skip args->attachmentCount */
2342 /* skip args->pAttachments */
2343 /* skip args->rectCount */
2344 /* skip args->pRects */
2345 }
2346
vn_decode_vkCmdResolveImage_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdResolveImage * args)2347 static inline void vn_decode_vkCmdResolveImage_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdResolveImage *args)
2348 {
2349 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2350 vn_decode_VkImage_lookup(dec, &args->srcImage);
2351 vn_decode_VkImageLayout(dec, &args->srcImageLayout);
2352 vn_decode_VkImage_lookup(dec, &args->dstImage);
2353 vn_decode_VkImageLayout(dec, &args->dstImageLayout);
2354 vn_decode_uint32_t(dec, &args->regionCount);
2355 if (vn_peek_array_size(dec)) {
2356 const uint32_t iter_count = vn_decode_array_size(dec, args->regionCount);
2357 args->pRegions = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRegions) * iter_count);
2358 if (!args->pRegions) return;
2359 for (uint32_t i = 0; i < iter_count; i++)
2360 vn_decode_VkImageResolve_temp(dec, &((VkImageResolve *)args->pRegions)[i]);
2361 } else {
2362 vn_decode_array_size(dec, args->regionCount);
2363 args->pRegions = NULL;
2364 }
2365 }
2366
vn_replace_vkCmdResolveImage_args_handle(struct vn_command_vkCmdResolveImage * args)2367 static inline void vn_replace_vkCmdResolveImage_args_handle(struct vn_command_vkCmdResolveImage *args)
2368 {
2369 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2370 vn_replace_VkImage_handle(&args->srcImage);
2371 /* skip args->srcImageLayout */
2372 vn_replace_VkImage_handle(&args->dstImage);
2373 /* skip args->dstImageLayout */
2374 /* skip args->regionCount */
2375 if (args->pRegions) {
2376 for (uint32_t i = 0; i < args->regionCount; i++)
2377 vn_replace_VkImageResolve_handle(&((VkImageResolve *)args->pRegions)[i]);
2378 }
2379 }
2380
vn_encode_vkCmdResolveImage_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdResolveImage * args)2381 static inline void vn_encode_vkCmdResolveImage_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdResolveImage *args)
2382 {
2383 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdResolveImage_EXT});
2384
2385 /* skip args->commandBuffer */
2386 /* skip args->srcImage */
2387 /* skip args->srcImageLayout */
2388 /* skip args->dstImage */
2389 /* skip args->dstImageLayout */
2390 /* skip args->regionCount */
2391 /* skip args->pRegions */
2392 }
2393
vn_decode_vkCmdSetEvent_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetEvent * args)2394 static inline void vn_decode_vkCmdSetEvent_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetEvent *args)
2395 {
2396 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2397 vn_decode_VkEvent_lookup(dec, &args->event);
2398 vn_decode_VkFlags(dec, &args->stageMask);
2399 }
2400
vn_replace_vkCmdSetEvent_args_handle(struct vn_command_vkCmdSetEvent * args)2401 static inline void vn_replace_vkCmdSetEvent_args_handle(struct vn_command_vkCmdSetEvent *args)
2402 {
2403 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2404 vn_replace_VkEvent_handle(&args->event);
2405 /* skip args->stageMask */
2406 }
2407
vn_encode_vkCmdSetEvent_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetEvent * args)2408 static inline void vn_encode_vkCmdSetEvent_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetEvent *args)
2409 {
2410 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetEvent_EXT});
2411
2412 /* skip args->commandBuffer */
2413 /* skip args->event */
2414 /* skip args->stageMask */
2415 }
2416
vn_decode_vkCmdResetEvent_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdResetEvent * args)2417 static inline void vn_decode_vkCmdResetEvent_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdResetEvent *args)
2418 {
2419 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2420 vn_decode_VkEvent_lookup(dec, &args->event);
2421 vn_decode_VkFlags(dec, &args->stageMask);
2422 }
2423
vn_replace_vkCmdResetEvent_args_handle(struct vn_command_vkCmdResetEvent * args)2424 static inline void vn_replace_vkCmdResetEvent_args_handle(struct vn_command_vkCmdResetEvent *args)
2425 {
2426 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2427 vn_replace_VkEvent_handle(&args->event);
2428 /* skip args->stageMask */
2429 }
2430
vn_encode_vkCmdResetEvent_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdResetEvent * args)2431 static inline void vn_encode_vkCmdResetEvent_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdResetEvent *args)
2432 {
2433 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdResetEvent_EXT});
2434
2435 /* skip args->commandBuffer */
2436 /* skip args->event */
2437 /* skip args->stageMask */
2438 }
2439
vn_decode_vkCmdWaitEvents_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdWaitEvents * args)2440 static inline void vn_decode_vkCmdWaitEvents_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdWaitEvents *args)
2441 {
2442 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2443 vn_decode_uint32_t(dec, &args->eventCount);
2444 if (vn_peek_array_size(dec)) {
2445 const uint32_t iter_count = vn_decode_array_size(dec, args->eventCount);
2446 args->pEvents = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pEvents) * iter_count);
2447 if (!args->pEvents) return;
2448 for (uint32_t i = 0; i < iter_count; i++)
2449 vn_decode_VkEvent_lookup(dec, &((VkEvent *)args->pEvents)[i]);
2450 } else {
2451 vn_decode_array_size(dec, args->eventCount);
2452 args->pEvents = NULL;
2453 }
2454 vn_decode_VkFlags(dec, &args->srcStageMask);
2455 vn_decode_VkFlags(dec, &args->dstStageMask);
2456 vn_decode_uint32_t(dec, &args->memoryBarrierCount);
2457 if (vn_peek_array_size(dec)) {
2458 const uint32_t iter_count = vn_decode_array_size(dec, args->memoryBarrierCount);
2459 args->pMemoryBarriers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pMemoryBarriers) * iter_count);
2460 if (!args->pMemoryBarriers) return;
2461 for (uint32_t i = 0; i < iter_count; i++)
2462 vn_decode_VkMemoryBarrier_temp(dec, &((VkMemoryBarrier *)args->pMemoryBarriers)[i]);
2463 } else {
2464 vn_decode_array_size(dec, args->memoryBarrierCount);
2465 args->pMemoryBarriers = NULL;
2466 }
2467 vn_decode_uint32_t(dec, &args->bufferMemoryBarrierCount);
2468 if (vn_peek_array_size(dec)) {
2469 const uint32_t iter_count = vn_decode_array_size(dec, args->bufferMemoryBarrierCount);
2470 args->pBufferMemoryBarriers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pBufferMemoryBarriers) * iter_count);
2471 if (!args->pBufferMemoryBarriers) return;
2472 for (uint32_t i = 0; i < iter_count; i++)
2473 vn_decode_VkBufferMemoryBarrier_temp(dec, &((VkBufferMemoryBarrier *)args->pBufferMemoryBarriers)[i]);
2474 } else {
2475 vn_decode_array_size(dec, args->bufferMemoryBarrierCount);
2476 args->pBufferMemoryBarriers = NULL;
2477 }
2478 vn_decode_uint32_t(dec, &args->imageMemoryBarrierCount);
2479 if (vn_peek_array_size(dec)) {
2480 const uint32_t iter_count = vn_decode_array_size(dec, args->imageMemoryBarrierCount);
2481 args->pImageMemoryBarriers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pImageMemoryBarriers) * iter_count);
2482 if (!args->pImageMemoryBarriers) return;
2483 for (uint32_t i = 0; i < iter_count; i++)
2484 vn_decode_VkImageMemoryBarrier_temp(dec, &((VkImageMemoryBarrier *)args->pImageMemoryBarriers)[i]);
2485 } else {
2486 vn_decode_array_size(dec, args->imageMemoryBarrierCount);
2487 args->pImageMemoryBarriers = NULL;
2488 }
2489 }
2490
vn_replace_vkCmdWaitEvents_args_handle(struct vn_command_vkCmdWaitEvents * args)2491 static inline void vn_replace_vkCmdWaitEvents_args_handle(struct vn_command_vkCmdWaitEvents *args)
2492 {
2493 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2494 /* skip args->eventCount */
2495 if (args->pEvents) {
2496 for (uint32_t i = 0; i < args->eventCount; i++)
2497 vn_replace_VkEvent_handle(&((VkEvent *)args->pEvents)[i]);
2498 }
2499 /* skip args->srcStageMask */
2500 /* skip args->dstStageMask */
2501 /* skip args->memoryBarrierCount */
2502 if (args->pMemoryBarriers) {
2503 for (uint32_t i = 0; i < args->memoryBarrierCount; i++)
2504 vn_replace_VkMemoryBarrier_handle(&((VkMemoryBarrier *)args->pMemoryBarriers)[i]);
2505 }
2506 /* skip args->bufferMemoryBarrierCount */
2507 if (args->pBufferMemoryBarriers) {
2508 for (uint32_t i = 0; i < args->bufferMemoryBarrierCount; i++)
2509 vn_replace_VkBufferMemoryBarrier_handle(&((VkBufferMemoryBarrier *)args->pBufferMemoryBarriers)[i]);
2510 }
2511 /* skip args->imageMemoryBarrierCount */
2512 if (args->pImageMemoryBarriers) {
2513 for (uint32_t i = 0; i < args->imageMemoryBarrierCount; i++)
2514 vn_replace_VkImageMemoryBarrier_handle(&((VkImageMemoryBarrier *)args->pImageMemoryBarriers)[i]);
2515 }
2516 }
2517
vn_encode_vkCmdWaitEvents_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdWaitEvents * args)2518 static inline void vn_encode_vkCmdWaitEvents_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdWaitEvents *args)
2519 {
2520 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdWaitEvents_EXT});
2521
2522 /* skip args->commandBuffer */
2523 /* skip args->eventCount */
2524 /* skip args->pEvents */
2525 /* skip args->srcStageMask */
2526 /* skip args->dstStageMask */
2527 /* skip args->memoryBarrierCount */
2528 /* skip args->pMemoryBarriers */
2529 /* skip args->bufferMemoryBarrierCount */
2530 /* skip args->pBufferMemoryBarriers */
2531 /* skip args->imageMemoryBarrierCount */
2532 /* skip args->pImageMemoryBarriers */
2533 }
2534
vn_decode_vkCmdPipelineBarrier_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdPipelineBarrier * args)2535 static inline void vn_decode_vkCmdPipelineBarrier_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdPipelineBarrier *args)
2536 {
2537 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2538 vn_decode_VkFlags(dec, &args->srcStageMask);
2539 vn_decode_VkFlags(dec, &args->dstStageMask);
2540 vn_decode_VkFlags(dec, &args->dependencyFlags);
2541 vn_decode_uint32_t(dec, &args->memoryBarrierCount);
2542 if (vn_peek_array_size(dec)) {
2543 const uint32_t iter_count = vn_decode_array_size(dec, args->memoryBarrierCount);
2544 args->pMemoryBarriers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pMemoryBarriers) * iter_count);
2545 if (!args->pMemoryBarriers) return;
2546 for (uint32_t i = 0; i < iter_count; i++)
2547 vn_decode_VkMemoryBarrier_temp(dec, &((VkMemoryBarrier *)args->pMemoryBarriers)[i]);
2548 } else {
2549 vn_decode_array_size(dec, args->memoryBarrierCount);
2550 args->pMemoryBarriers = NULL;
2551 }
2552 vn_decode_uint32_t(dec, &args->bufferMemoryBarrierCount);
2553 if (vn_peek_array_size(dec)) {
2554 const uint32_t iter_count = vn_decode_array_size(dec, args->bufferMemoryBarrierCount);
2555 args->pBufferMemoryBarriers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pBufferMemoryBarriers) * iter_count);
2556 if (!args->pBufferMemoryBarriers) return;
2557 for (uint32_t i = 0; i < iter_count; i++)
2558 vn_decode_VkBufferMemoryBarrier_temp(dec, &((VkBufferMemoryBarrier *)args->pBufferMemoryBarriers)[i]);
2559 } else {
2560 vn_decode_array_size(dec, args->bufferMemoryBarrierCount);
2561 args->pBufferMemoryBarriers = NULL;
2562 }
2563 vn_decode_uint32_t(dec, &args->imageMemoryBarrierCount);
2564 if (vn_peek_array_size(dec)) {
2565 const uint32_t iter_count = vn_decode_array_size(dec, args->imageMemoryBarrierCount);
2566 args->pImageMemoryBarriers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pImageMemoryBarriers) * iter_count);
2567 if (!args->pImageMemoryBarriers) return;
2568 for (uint32_t i = 0; i < iter_count; i++)
2569 vn_decode_VkImageMemoryBarrier_temp(dec, &((VkImageMemoryBarrier *)args->pImageMemoryBarriers)[i]);
2570 } else {
2571 vn_decode_array_size(dec, args->imageMemoryBarrierCount);
2572 args->pImageMemoryBarriers = NULL;
2573 }
2574 }
2575
vn_replace_vkCmdPipelineBarrier_args_handle(struct vn_command_vkCmdPipelineBarrier * args)2576 static inline void vn_replace_vkCmdPipelineBarrier_args_handle(struct vn_command_vkCmdPipelineBarrier *args)
2577 {
2578 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2579 /* skip args->srcStageMask */
2580 /* skip args->dstStageMask */
2581 /* skip args->dependencyFlags */
2582 /* skip args->memoryBarrierCount */
2583 if (args->pMemoryBarriers) {
2584 for (uint32_t i = 0; i < args->memoryBarrierCount; i++)
2585 vn_replace_VkMemoryBarrier_handle(&((VkMemoryBarrier *)args->pMemoryBarriers)[i]);
2586 }
2587 /* skip args->bufferMemoryBarrierCount */
2588 if (args->pBufferMemoryBarriers) {
2589 for (uint32_t i = 0; i < args->bufferMemoryBarrierCount; i++)
2590 vn_replace_VkBufferMemoryBarrier_handle(&((VkBufferMemoryBarrier *)args->pBufferMemoryBarriers)[i]);
2591 }
2592 /* skip args->imageMemoryBarrierCount */
2593 if (args->pImageMemoryBarriers) {
2594 for (uint32_t i = 0; i < args->imageMemoryBarrierCount; i++)
2595 vn_replace_VkImageMemoryBarrier_handle(&((VkImageMemoryBarrier *)args->pImageMemoryBarriers)[i]);
2596 }
2597 }
2598
vn_encode_vkCmdPipelineBarrier_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdPipelineBarrier * args)2599 static inline void vn_encode_vkCmdPipelineBarrier_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdPipelineBarrier *args)
2600 {
2601 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdPipelineBarrier_EXT});
2602
2603 /* skip args->commandBuffer */
2604 /* skip args->srcStageMask */
2605 /* skip args->dstStageMask */
2606 /* skip args->dependencyFlags */
2607 /* skip args->memoryBarrierCount */
2608 /* skip args->pMemoryBarriers */
2609 /* skip args->bufferMemoryBarrierCount */
2610 /* skip args->pBufferMemoryBarriers */
2611 /* skip args->imageMemoryBarrierCount */
2612 /* skip args->pImageMemoryBarriers */
2613 }
2614
vn_decode_vkCmdBeginQuery_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBeginQuery * args)2615 static inline void vn_decode_vkCmdBeginQuery_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBeginQuery *args)
2616 {
2617 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2618 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
2619 vn_decode_uint32_t(dec, &args->query);
2620 vn_decode_VkFlags(dec, &args->flags);
2621 }
2622
vn_replace_vkCmdBeginQuery_args_handle(struct vn_command_vkCmdBeginQuery * args)2623 static inline void vn_replace_vkCmdBeginQuery_args_handle(struct vn_command_vkCmdBeginQuery *args)
2624 {
2625 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2626 vn_replace_VkQueryPool_handle(&args->queryPool);
2627 /* skip args->query */
2628 /* skip args->flags */
2629 }
2630
vn_encode_vkCmdBeginQuery_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBeginQuery * args)2631 static inline void vn_encode_vkCmdBeginQuery_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBeginQuery *args)
2632 {
2633 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBeginQuery_EXT});
2634
2635 /* skip args->commandBuffer */
2636 /* skip args->queryPool */
2637 /* skip args->query */
2638 /* skip args->flags */
2639 }
2640
vn_decode_vkCmdEndQuery_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdEndQuery * args)2641 static inline void vn_decode_vkCmdEndQuery_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdEndQuery *args)
2642 {
2643 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2644 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
2645 vn_decode_uint32_t(dec, &args->query);
2646 }
2647
vn_replace_vkCmdEndQuery_args_handle(struct vn_command_vkCmdEndQuery * args)2648 static inline void vn_replace_vkCmdEndQuery_args_handle(struct vn_command_vkCmdEndQuery *args)
2649 {
2650 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2651 vn_replace_VkQueryPool_handle(&args->queryPool);
2652 /* skip args->query */
2653 }
2654
vn_encode_vkCmdEndQuery_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdEndQuery * args)2655 static inline void vn_encode_vkCmdEndQuery_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdEndQuery *args)
2656 {
2657 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdEndQuery_EXT});
2658
2659 /* skip args->commandBuffer */
2660 /* skip args->queryPool */
2661 /* skip args->query */
2662 }
2663
vn_decode_vkCmdResetQueryPool_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdResetQueryPool * args)2664 static inline void vn_decode_vkCmdResetQueryPool_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdResetQueryPool *args)
2665 {
2666 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2667 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
2668 vn_decode_uint32_t(dec, &args->firstQuery);
2669 vn_decode_uint32_t(dec, &args->queryCount);
2670 }
2671
vn_replace_vkCmdResetQueryPool_args_handle(struct vn_command_vkCmdResetQueryPool * args)2672 static inline void vn_replace_vkCmdResetQueryPool_args_handle(struct vn_command_vkCmdResetQueryPool *args)
2673 {
2674 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2675 vn_replace_VkQueryPool_handle(&args->queryPool);
2676 /* skip args->firstQuery */
2677 /* skip args->queryCount */
2678 }
2679
vn_encode_vkCmdResetQueryPool_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdResetQueryPool * args)2680 static inline void vn_encode_vkCmdResetQueryPool_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdResetQueryPool *args)
2681 {
2682 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdResetQueryPool_EXT});
2683
2684 /* skip args->commandBuffer */
2685 /* skip args->queryPool */
2686 /* skip args->firstQuery */
2687 /* skip args->queryCount */
2688 }
2689
vn_decode_vkCmdWriteTimestamp_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdWriteTimestamp * args)2690 static inline void vn_decode_vkCmdWriteTimestamp_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdWriteTimestamp *args)
2691 {
2692 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2693 vn_decode_VkPipelineStageFlagBits(dec, &args->pipelineStage);
2694 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
2695 vn_decode_uint32_t(dec, &args->query);
2696 }
2697
vn_replace_vkCmdWriteTimestamp_args_handle(struct vn_command_vkCmdWriteTimestamp * args)2698 static inline void vn_replace_vkCmdWriteTimestamp_args_handle(struct vn_command_vkCmdWriteTimestamp *args)
2699 {
2700 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2701 /* skip args->pipelineStage */
2702 vn_replace_VkQueryPool_handle(&args->queryPool);
2703 /* skip args->query */
2704 }
2705
vn_encode_vkCmdWriteTimestamp_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdWriteTimestamp * args)2706 static inline void vn_encode_vkCmdWriteTimestamp_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdWriteTimestamp *args)
2707 {
2708 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdWriteTimestamp_EXT});
2709
2710 /* skip args->commandBuffer */
2711 /* skip args->pipelineStage */
2712 /* skip args->queryPool */
2713 /* skip args->query */
2714 }
2715
vn_decode_vkCmdCopyQueryPoolResults_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdCopyQueryPoolResults * args)2716 static inline void vn_decode_vkCmdCopyQueryPoolResults_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdCopyQueryPoolResults *args)
2717 {
2718 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2719 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
2720 vn_decode_uint32_t(dec, &args->firstQuery);
2721 vn_decode_uint32_t(dec, &args->queryCount);
2722 vn_decode_VkBuffer_lookup(dec, &args->dstBuffer);
2723 vn_decode_VkDeviceSize(dec, &args->dstOffset);
2724 vn_decode_VkDeviceSize(dec, &args->stride);
2725 vn_decode_VkFlags(dec, &args->flags);
2726 }
2727
vn_replace_vkCmdCopyQueryPoolResults_args_handle(struct vn_command_vkCmdCopyQueryPoolResults * args)2728 static inline void vn_replace_vkCmdCopyQueryPoolResults_args_handle(struct vn_command_vkCmdCopyQueryPoolResults *args)
2729 {
2730 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2731 vn_replace_VkQueryPool_handle(&args->queryPool);
2732 /* skip args->firstQuery */
2733 /* skip args->queryCount */
2734 vn_replace_VkBuffer_handle(&args->dstBuffer);
2735 /* skip args->dstOffset */
2736 /* skip args->stride */
2737 /* skip args->flags */
2738 }
2739
vn_encode_vkCmdCopyQueryPoolResults_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdCopyQueryPoolResults * args)2740 static inline void vn_encode_vkCmdCopyQueryPoolResults_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdCopyQueryPoolResults *args)
2741 {
2742 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdCopyQueryPoolResults_EXT});
2743
2744 /* skip args->commandBuffer */
2745 /* skip args->queryPool */
2746 /* skip args->firstQuery */
2747 /* skip args->queryCount */
2748 /* skip args->dstBuffer */
2749 /* skip args->dstOffset */
2750 /* skip args->stride */
2751 /* skip args->flags */
2752 }
2753
vn_decode_vkCmdPushConstants_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdPushConstants * args)2754 static inline void vn_decode_vkCmdPushConstants_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdPushConstants *args)
2755 {
2756 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2757 vn_decode_VkPipelineLayout_lookup(dec, &args->layout);
2758 vn_decode_VkFlags(dec, &args->stageFlags);
2759 vn_decode_uint32_t(dec, &args->offset);
2760 vn_decode_uint32_t(dec, &args->size);
2761 if (vn_peek_array_size(dec)) {
2762 const size_t array_size = vn_decode_array_size(dec, args->size);
2763 args->pValues = vn_cs_decoder_alloc_temp(dec, array_size);
2764 if (!args->pValues) return;
2765 vn_decode_blob_array(dec, (void *)args->pValues, array_size);
2766 } else {
2767 vn_decode_array_size(dec, args->size);
2768 args->pValues = NULL;
2769 }
2770 }
2771
vn_replace_vkCmdPushConstants_args_handle(struct vn_command_vkCmdPushConstants * args)2772 static inline void vn_replace_vkCmdPushConstants_args_handle(struct vn_command_vkCmdPushConstants *args)
2773 {
2774 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2775 vn_replace_VkPipelineLayout_handle(&args->layout);
2776 /* skip args->stageFlags */
2777 /* skip args->offset */
2778 /* skip args->size */
2779 /* skip args->pValues */
2780 }
2781
vn_encode_vkCmdPushConstants_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdPushConstants * args)2782 static inline void vn_encode_vkCmdPushConstants_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdPushConstants *args)
2783 {
2784 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdPushConstants_EXT});
2785
2786 /* skip args->commandBuffer */
2787 /* skip args->layout */
2788 /* skip args->stageFlags */
2789 /* skip args->offset */
2790 /* skip args->size */
2791 /* skip args->pValues */
2792 }
2793
vn_decode_vkCmdBeginRenderPass_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBeginRenderPass * args)2794 static inline void vn_decode_vkCmdBeginRenderPass_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBeginRenderPass *args)
2795 {
2796 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2797 if (vn_decode_simple_pointer(dec)) {
2798 args->pRenderPassBegin = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRenderPassBegin));
2799 if (!args->pRenderPassBegin) return;
2800 vn_decode_VkRenderPassBeginInfo_temp(dec, (VkRenderPassBeginInfo *)args->pRenderPassBegin);
2801 } else {
2802 args->pRenderPassBegin = NULL;
2803 vn_cs_decoder_set_fatal(dec);
2804 }
2805 vn_decode_VkSubpassContents(dec, &args->contents);
2806 }
2807
vn_replace_vkCmdBeginRenderPass_args_handle(struct vn_command_vkCmdBeginRenderPass * args)2808 static inline void vn_replace_vkCmdBeginRenderPass_args_handle(struct vn_command_vkCmdBeginRenderPass *args)
2809 {
2810 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2811 if (args->pRenderPassBegin)
2812 vn_replace_VkRenderPassBeginInfo_handle((VkRenderPassBeginInfo *)args->pRenderPassBegin);
2813 /* skip args->contents */
2814 }
2815
vn_encode_vkCmdBeginRenderPass_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBeginRenderPass * args)2816 static inline void vn_encode_vkCmdBeginRenderPass_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBeginRenderPass *args)
2817 {
2818 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBeginRenderPass_EXT});
2819
2820 /* skip args->commandBuffer */
2821 /* skip args->pRenderPassBegin */
2822 /* skip args->contents */
2823 }
2824
vn_decode_vkCmdNextSubpass_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdNextSubpass * args)2825 static inline void vn_decode_vkCmdNextSubpass_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdNextSubpass *args)
2826 {
2827 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2828 vn_decode_VkSubpassContents(dec, &args->contents);
2829 }
2830
vn_replace_vkCmdNextSubpass_args_handle(struct vn_command_vkCmdNextSubpass * args)2831 static inline void vn_replace_vkCmdNextSubpass_args_handle(struct vn_command_vkCmdNextSubpass *args)
2832 {
2833 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2834 /* skip args->contents */
2835 }
2836
vn_encode_vkCmdNextSubpass_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdNextSubpass * args)2837 static inline void vn_encode_vkCmdNextSubpass_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdNextSubpass *args)
2838 {
2839 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdNextSubpass_EXT});
2840
2841 /* skip args->commandBuffer */
2842 /* skip args->contents */
2843 }
2844
vn_decode_vkCmdEndRenderPass_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdEndRenderPass * args)2845 static inline void vn_decode_vkCmdEndRenderPass_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdEndRenderPass *args)
2846 {
2847 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2848 }
2849
vn_replace_vkCmdEndRenderPass_args_handle(struct vn_command_vkCmdEndRenderPass * args)2850 static inline void vn_replace_vkCmdEndRenderPass_args_handle(struct vn_command_vkCmdEndRenderPass *args)
2851 {
2852 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2853 }
2854
vn_encode_vkCmdEndRenderPass_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdEndRenderPass * args)2855 static inline void vn_encode_vkCmdEndRenderPass_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdEndRenderPass *args)
2856 {
2857 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdEndRenderPass_EXT});
2858
2859 /* skip args->commandBuffer */
2860 }
2861
vn_decode_vkCmdExecuteCommands_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdExecuteCommands * args)2862 static inline void vn_decode_vkCmdExecuteCommands_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdExecuteCommands *args)
2863 {
2864 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2865 vn_decode_uint32_t(dec, &args->commandBufferCount);
2866 if (vn_peek_array_size(dec)) {
2867 const uint32_t iter_count = vn_decode_array_size(dec, args->commandBufferCount);
2868 args->pCommandBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCommandBuffers) * iter_count);
2869 if (!args->pCommandBuffers) return;
2870 for (uint32_t i = 0; i < iter_count; i++)
2871 vn_decode_VkCommandBuffer_lookup(dec, &((VkCommandBuffer *)args->pCommandBuffers)[i]);
2872 } else {
2873 vn_decode_array_size(dec, args->commandBufferCount);
2874 args->pCommandBuffers = NULL;
2875 }
2876 }
2877
vn_replace_vkCmdExecuteCommands_args_handle(struct vn_command_vkCmdExecuteCommands * args)2878 static inline void vn_replace_vkCmdExecuteCommands_args_handle(struct vn_command_vkCmdExecuteCommands *args)
2879 {
2880 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2881 /* skip args->commandBufferCount */
2882 if (args->pCommandBuffers) {
2883 for (uint32_t i = 0; i < args->commandBufferCount; i++)
2884 vn_replace_VkCommandBuffer_handle(&((VkCommandBuffer *)args->pCommandBuffers)[i]);
2885 }
2886 }
2887
vn_encode_vkCmdExecuteCommands_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdExecuteCommands * args)2888 static inline void vn_encode_vkCmdExecuteCommands_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdExecuteCommands *args)
2889 {
2890 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdExecuteCommands_EXT});
2891
2892 /* skip args->commandBuffer */
2893 /* skip args->commandBufferCount */
2894 /* skip args->pCommandBuffers */
2895 }
2896
vn_decode_vkCmdSetDeviceMask_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdSetDeviceMask * args)2897 static inline void vn_decode_vkCmdSetDeviceMask_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdSetDeviceMask *args)
2898 {
2899 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2900 vn_decode_uint32_t(dec, &args->deviceMask);
2901 }
2902
vn_replace_vkCmdSetDeviceMask_args_handle(struct vn_command_vkCmdSetDeviceMask * args)2903 static inline void vn_replace_vkCmdSetDeviceMask_args_handle(struct vn_command_vkCmdSetDeviceMask *args)
2904 {
2905 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2906 /* skip args->deviceMask */
2907 }
2908
vn_encode_vkCmdSetDeviceMask_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdSetDeviceMask * args)2909 static inline void vn_encode_vkCmdSetDeviceMask_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdSetDeviceMask *args)
2910 {
2911 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdSetDeviceMask_EXT});
2912
2913 /* skip args->commandBuffer */
2914 /* skip args->deviceMask */
2915 }
2916
vn_decode_vkCmdDispatchBase_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDispatchBase * args)2917 static inline void vn_decode_vkCmdDispatchBase_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDispatchBase *args)
2918 {
2919 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2920 vn_decode_uint32_t(dec, &args->baseGroupX);
2921 vn_decode_uint32_t(dec, &args->baseGroupY);
2922 vn_decode_uint32_t(dec, &args->baseGroupZ);
2923 vn_decode_uint32_t(dec, &args->groupCountX);
2924 vn_decode_uint32_t(dec, &args->groupCountY);
2925 vn_decode_uint32_t(dec, &args->groupCountZ);
2926 }
2927
vn_replace_vkCmdDispatchBase_args_handle(struct vn_command_vkCmdDispatchBase * args)2928 static inline void vn_replace_vkCmdDispatchBase_args_handle(struct vn_command_vkCmdDispatchBase *args)
2929 {
2930 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2931 /* skip args->baseGroupX */
2932 /* skip args->baseGroupY */
2933 /* skip args->baseGroupZ */
2934 /* skip args->groupCountX */
2935 /* skip args->groupCountY */
2936 /* skip args->groupCountZ */
2937 }
2938
vn_encode_vkCmdDispatchBase_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDispatchBase * args)2939 static inline void vn_encode_vkCmdDispatchBase_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDispatchBase *args)
2940 {
2941 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDispatchBase_EXT});
2942
2943 /* skip args->commandBuffer */
2944 /* skip args->baseGroupX */
2945 /* skip args->baseGroupY */
2946 /* skip args->baseGroupZ */
2947 /* skip args->groupCountX */
2948 /* skip args->groupCountY */
2949 /* skip args->groupCountZ */
2950 }
2951
vn_decode_vkCmdBeginRenderPass2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBeginRenderPass2 * args)2952 static inline void vn_decode_vkCmdBeginRenderPass2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBeginRenderPass2 *args)
2953 {
2954 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2955 if (vn_decode_simple_pointer(dec)) {
2956 args->pRenderPassBegin = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pRenderPassBegin));
2957 if (!args->pRenderPassBegin) return;
2958 vn_decode_VkRenderPassBeginInfo_temp(dec, (VkRenderPassBeginInfo *)args->pRenderPassBegin);
2959 } else {
2960 args->pRenderPassBegin = NULL;
2961 vn_cs_decoder_set_fatal(dec);
2962 }
2963 if (vn_decode_simple_pointer(dec)) {
2964 args->pSubpassBeginInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pSubpassBeginInfo));
2965 if (!args->pSubpassBeginInfo) return;
2966 vn_decode_VkSubpassBeginInfo_temp(dec, (VkSubpassBeginInfo *)args->pSubpassBeginInfo);
2967 } else {
2968 args->pSubpassBeginInfo = NULL;
2969 vn_cs_decoder_set_fatal(dec);
2970 }
2971 }
2972
vn_replace_vkCmdBeginRenderPass2_args_handle(struct vn_command_vkCmdBeginRenderPass2 * args)2973 static inline void vn_replace_vkCmdBeginRenderPass2_args_handle(struct vn_command_vkCmdBeginRenderPass2 *args)
2974 {
2975 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
2976 if (args->pRenderPassBegin)
2977 vn_replace_VkRenderPassBeginInfo_handle((VkRenderPassBeginInfo *)args->pRenderPassBegin);
2978 if (args->pSubpassBeginInfo)
2979 vn_replace_VkSubpassBeginInfo_handle((VkSubpassBeginInfo *)args->pSubpassBeginInfo);
2980 }
2981
vn_encode_vkCmdBeginRenderPass2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBeginRenderPass2 * args)2982 static inline void vn_encode_vkCmdBeginRenderPass2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBeginRenderPass2 *args)
2983 {
2984 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBeginRenderPass2_EXT});
2985
2986 /* skip args->commandBuffer */
2987 /* skip args->pRenderPassBegin */
2988 /* skip args->pSubpassBeginInfo */
2989 }
2990
vn_decode_vkCmdNextSubpass2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdNextSubpass2 * args)2991 static inline void vn_decode_vkCmdNextSubpass2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdNextSubpass2 *args)
2992 {
2993 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
2994 if (vn_decode_simple_pointer(dec)) {
2995 args->pSubpassBeginInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pSubpassBeginInfo));
2996 if (!args->pSubpassBeginInfo) return;
2997 vn_decode_VkSubpassBeginInfo_temp(dec, (VkSubpassBeginInfo *)args->pSubpassBeginInfo);
2998 } else {
2999 args->pSubpassBeginInfo = NULL;
3000 vn_cs_decoder_set_fatal(dec);
3001 }
3002 if (vn_decode_simple_pointer(dec)) {
3003 args->pSubpassEndInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pSubpassEndInfo));
3004 if (!args->pSubpassEndInfo) return;
3005 vn_decode_VkSubpassEndInfo_temp(dec, (VkSubpassEndInfo *)args->pSubpassEndInfo);
3006 } else {
3007 args->pSubpassEndInfo = NULL;
3008 vn_cs_decoder_set_fatal(dec);
3009 }
3010 }
3011
vn_replace_vkCmdNextSubpass2_args_handle(struct vn_command_vkCmdNextSubpass2 * args)3012 static inline void vn_replace_vkCmdNextSubpass2_args_handle(struct vn_command_vkCmdNextSubpass2 *args)
3013 {
3014 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3015 if (args->pSubpassBeginInfo)
3016 vn_replace_VkSubpassBeginInfo_handle((VkSubpassBeginInfo *)args->pSubpassBeginInfo);
3017 if (args->pSubpassEndInfo)
3018 vn_replace_VkSubpassEndInfo_handle((VkSubpassEndInfo *)args->pSubpassEndInfo);
3019 }
3020
vn_encode_vkCmdNextSubpass2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdNextSubpass2 * args)3021 static inline void vn_encode_vkCmdNextSubpass2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdNextSubpass2 *args)
3022 {
3023 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdNextSubpass2_EXT});
3024
3025 /* skip args->commandBuffer */
3026 /* skip args->pSubpassBeginInfo */
3027 /* skip args->pSubpassEndInfo */
3028 }
3029
vn_decode_vkCmdEndRenderPass2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdEndRenderPass2 * args)3030 static inline void vn_decode_vkCmdEndRenderPass2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdEndRenderPass2 *args)
3031 {
3032 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3033 if (vn_decode_simple_pointer(dec)) {
3034 args->pSubpassEndInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pSubpassEndInfo));
3035 if (!args->pSubpassEndInfo) return;
3036 vn_decode_VkSubpassEndInfo_temp(dec, (VkSubpassEndInfo *)args->pSubpassEndInfo);
3037 } else {
3038 args->pSubpassEndInfo = NULL;
3039 vn_cs_decoder_set_fatal(dec);
3040 }
3041 }
3042
vn_replace_vkCmdEndRenderPass2_args_handle(struct vn_command_vkCmdEndRenderPass2 * args)3043 static inline void vn_replace_vkCmdEndRenderPass2_args_handle(struct vn_command_vkCmdEndRenderPass2 *args)
3044 {
3045 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3046 if (args->pSubpassEndInfo)
3047 vn_replace_VkSubpassEndInfo_handle((VkSubpassEndInfo *)args->pSubpassEndInfo);
3048 }
3049
vn_encode_vkCmdEndRenderPass2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdEndRenderPass2 * args)3050 static inline void vn_encode_vkCmdEndRenderPass2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdEndRenderPass2 *args)
3051 {
3052 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdEndRenderPass2_EXT});
3053
3054 /* skip args->commandBuffer */
3055 /* skip args->pSubpassEndInfo */
3056 }
3057
vn_decode_vkCmdDrawIndirectCount_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDrawIndirectCount * args)3058 static inline void vn_decode_vkCmdDrawIndirectCount_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDrawIndirectCount *args)
3059 {
3060 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3061 vn_decode_VkBuffer_lookup(dec, &args->buffer);
3062 vn_decode_VkDeviceSize(dec, &args->offset);
3063 vn_decode_VkBuffer_lookup(dec, &args->countBuffer);
3064 vn_decode_VkDeviceSize(dec, &args->countBufferOffset);
3065 vn_decode_uint32_t(dec, &args->maxDrawCount);
3066 vn_decode_uint32_t(dec, &args->stride);
3067 }
3068
vn_replace_vkCmdDrawIndirectCount_args_handle(struct vn_command_vkCmdDrawIndirectCount * args)3069 static inline void vn_replace_vkCmdDrawIndirectCount_args_handle(struct vn_command_vkCmdDrawIndirectCount *args)
3070 {
3071 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3072 vn_replace_VkBuffer_handle(&args->buffer);
3073 /* skip args->offset */
3074 vn_replace_VkBuffer_handle(&args->countBuffer);
3075 /* skip args->countBufferOffset */
3076 /* skip args->maxDrawCount */
3077 /* skip args->stride */
3078 }
3079
vn_encode_vkCmdDrawIndirectCount_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDrawIndirectCount * args)3080 static inline void vn_encode_vkCmdDrawIndirectCount_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDrawIndirectCount *args)
3081 {
3082 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDrawIndirectCount_EXT});
3083
3084 /* skip args->commandBuffer */
3085 /* skip args->buffer */
3086 /* skip args->offset */
3087 /* skip args->countBuffer */
3088 /* skip args->countBufferOffset */
3089 /* skip args->maxDrawCount */
3090 /* skip args->stride */
3091 }
3092
vn_decode_vkCmdDrawIndexedIndirectCount_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDrawIndexedIndirectCount * args)3093 static inline void vn_decode_vkCmdDrawIndexedIndirectCount_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDrawIndexedIndirectCount *args)
3094 {
3095 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3096 vn_decode_VkBuffer_lookup(dec, &args->buffer);
3097 vn_decode_VkDeviceSize(dec, &args->offset);
3098 vn_decode_VkBuffer_lookup(dec, &args->countBuffer);
3099 vn_decode_VkDeviceSize(dec, &args->countBufferOffset);
3100 vn_decode_uint32_t(dec, &args->maxDrawCount);
3101 vn_decode_uint32_t(dec, &args->stride);
3102 }
3103
vn_replace_vkCmdDrawIndexedIndirectCount_args_handle(struct vn_command_vkCmdDrawIndexedIndirectCount * args)3104 static inline void vn_replace_vkCmdDrawIndexedIndirectCount_args_handle(struct vn_command_vkCmdDrawIndexedIndirectCount *args)
3105 {
3106 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3107 vn_replace_VkBuffer_handle(&args->buffer);
3108 /* skip args->offset */
3109 vn_replace_VkBuffer_handle(&args->countBuffer);
3110 /* skip args->countBufferOffset */
3111 /* skip args->maxDrawCount */
3112 /* skip args->stride */
3113 }
3114
vn_encode_vkCmdDrawIndexedIndirectCount_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDrawIndexedIndirectCount * args)3115 static inline void vn_encode_vkCmdDrawIndexedIndirectCount_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDrawIndexedIndirectCount *args)
3116 {
3117 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDrawIndexedIndirectCount_EXT});
3118
3119 /* skip args->commandBuffer */
3120 /* skip args->buffer */
3121 /* skip args->offset */
3122 /* skip args->countBuffer */
3123 /* skip args->countBufferOffset */
3124 /* skip args->maxDrawCount */
3125 /* skip args->stride */
3126 }
3127
vn_decode_vkCmdBindTransformFeedbackBuffersEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBindTransformFeedbackBuffersEXT * args)3128 static inline void vn_decode_vkCmdBindTransformFeedbackBuffersEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBindTransformFeedbackBuffersEXT *args)
3129 {
3130 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3131 vn_decode_uint32_t(dec, &args->firstBinding);
3132 vn_decode_uint32_t(dec, &args->bindingCount);
3133 if (vn_peek_array_size(dec)) {
3134 const uint32_t iter_count = vn_decode_array_size(dec, args->bindingCount);
3135 args->pBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pBuffers) * iter_count);
3136 if (!args->pBuffers) return;
3137 for (uint32_t i = 0; i < iter_count; i++)
3138 vn_decode_VkBuffer_lookup(dec, &((VkBuffer *)args->pBuffers)[i]);
3139 } else {
3140 vn_decode_array_size(dec, args->bindingCount);
3141 args->pBuffers = NULL;
3142 }
3143 if (vn_peek_array_size(dec)) {
3144 const size_t array_size = vn_decode_array_size(dec, args->bindingCount);
3145 args->pOffsets = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pOffsets) * array_size);
3146 if (!args->pOffsets) return;
3147 vn_decode_VkDeviceSize_array(dec, (VkDeviceSize *)args->pOffsets, array_size);
3148 } else {
3149 vn_decode_array_size(dec, args->bindingCount);
3150 args->pOffsets = NULL;
3151 }
3152 if (vn_peek_array_size(dec)) {
3153 const size_t array_size = vn_decode_array_size(dec, args->bindingCount);
3154 args->pSizes = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pSizes) * array_size);
3155 if (!args->pSizes) return;
3156 vn_decode_VkDeviceSize_array(dec, (VkDeviceSize *)args->pSizes, array_size);
3157 } else {
3158 vn_decode_array_size_unchecked(dec);
3159 args->pSizes = NULL;
3160 }
3161 }
3162
vn_replace_vkCmdBindTransformFeedbackBuffersEXT_args_handle(struct vn_command_vkCmdBindTransformFeedbackBuffersEXT * args)3163 static inline void vn_replace_vkCmdBindTransformFeedbackBuffersEXT_args_handle(struct vn_command_vkCmdBindTransformFeedbackBuffersEXT *args)
3164 {
3165 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3166 /* skip args->firstBinding */
3167 /* skip args->bindingCount */
3168 if (args->pBuffers) {
3169 for (uint32_t i = 0; i < args->bindingCount; i++)
3170 vn_replace_VkBuffer_handle(&((VkBuffer *)args->pBuffers)[i]);
3171 }
3172 /* skip args->pOffsets */
3173 /* skip args->pSizes */
3174 }
3175
vn_encode_vkCmdBindTransformFeedbackBuffersEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBindTransformFeedbackBuffersEXT * args)3176 static inline void vn_encode_vkCmdBindTransformFeedbackBuffersEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBindTransformFeedbackBuffersEXT *args)
3177 {
3178 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBindTransformFeedbackBuffersEXT_EXT});
3179
3180 /* skip args->commandBuffer */
3181 /* skip args->firstBinding */
3182 /* skip args->bindingCount */
3183 /* skip args->pBuffers */
3184 /* skip args->pOffsets */
3185 /* skip args->pSizes */
3186 }
3187
vn_decode_vkCmdBeginTransformFeedbackEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBeginTransformFeedbackEXT * args)3188 static inline void vn_decode_vkCmdBeginTransformFeedbackEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBeginTransformFeedbackEXT *args)
3189 {
3190 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3191 vn_decode_uint32_t(dec, &args->firstCounterBuffer);
3192 vn_decode_uint32_t(dec, &args->counterBufferCount);
3193 if (vn_peek_array_size(dec)) {
3194 const uint32_t iter_count = vn_decode_array_size(dec, args->counterBufferCount);
3195 args->pCounterBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCounterBuffers) * iter_count);
3196 if (!args->pCounterBuffers) return;
3197 for (uint32_t i = 0; i < iter_count; i++)
3198 vn_decode_VkBuffer_lookup(dec, &((VkBuffer *)args->pCounterBuffers)[i]);
3199 } else {
3200 vn_decode_array_size_unchecked(dec);
3201 args->pCounterBuffers = NULL;
3202 }
3203 if (vn_peek_array_size(dec)) {
3204 const size_t array_size = vn_decode_array_size(dec, args->counterBufferCount);
3205 args->pCounterBufferOffsets = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCounterBufferOffsets) * array_size);
3206 if (!args->pCounterBufferOffsets) return;
3207 vn_decode_VkDeviceSize_array(dec, (VkDeviceSize *)args->pCounterBufferOffsets, array_size);
3208 } else {
3209 vn_decode_array_size_unchecked(dec);
3210 args->pCounterBufferOffsets = NULL;
3211 }
3212 }
3213
vn_replace_vkCmdBeginTransformFeedbackEXT_args_handle(struct vn_command_vkCmdBeginTransformFeedbackEXT * args)3214 static inline void vn_replace_vkCmdBeginTransformFeedbackEXT_args_handle(struct vn_command_vkCmdBeginTransformFeedbackEXT *args)
3215 {
3216 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3217 /* skip args->firstCounterBuffer */
3218 /* skip args->counterBufferCount */
3219 if (args->pCounterBuffers) {
3220 for (uint32_t i = 0; i < args->counterBufferCount; i++)
3221 vn_replace_VkBuffer_handle(&((VkBuffer *)args->pCounterBuffers)[i]);
3222 }
3223 /* skip args->pCounterBufferOffsets */
3224 }
3225
vn_encode_vkCmdBeginTransformFeedbackEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBeginTransformFeedbackEXT * args)3226 static inline void vn_encode_vkCmdBeginTransformFeedbackEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBeginTransformFeedbackEXT *args)
3227 {
3228 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBeginTransformFeedbackEXT_EXT});
3229
3230 /* skip args->commandBuffer */
3231 /* skip args->firstCounterBuffer */
3232 /* skip args->counterBufferCount */
3233 /* skip args->pCounterBuffers */
3234 /* skip args->pCounterBufferOffsets */
3235 }
3236
vn_decode_vkCmdEndTransformFeedbackEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdEndTransformFeedbackEXT * args)3237 static inline void vn_decode_vkCmdEndTransformFeedbackEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdEndTransformFeedbackEXT *args)
3238 {
3239 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3240 vn_decode_uint32_t(dec, &args->firstCounterBuffer);
3241 vn_decode_uint32_t(dec, &args->counterBufferCount);
3242 if (vn_peek_array_size(dec)) {
3243 const uint32_t iter_count = vn_decode_array_size(dec, args->counterBufferCount);
3244 args->pCounterBuffers = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCounterBuffers) * iter_count);
3245 if (!args->pCounterBuffers) return;
3246 for (uint32_t i = 0; i < iter_count; i++)
3247 vn_decode_VkBuffer_lookup(dec, &((VkBuffer *)args->pCounterBuffers)[i]);
3248 } else {
3249 vn_decode_array_size_unchecked(dec);
3250 args->pCounterBuffers = NULL;
3251 }
3252 if (vn_peek_array_size(dec)) {
3253 const size_t array_size = vn_decode_array_size(dec, args->counterBufferCount);
3254 args->pCounterBufferOffsets = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCounterBufferOffsets) * array_size);
3255 if (!args->pCounterBufferOffsets) return;
3256 vn_decode_VkDeviceSize_array(dec, (VkDeviceSize *)args->pCounterBufferOffsets, array_size);
3257 } else {
3258 vn_decode_array_size_unchecked(dec);
3259 args->pCounterBufferOffsets = NULL;
3260 }
3261 }
3262
vn_replace_vkCmdEndTransformFeedbackEXT_args_handle(struct vn_command_vkCmdEndTransformFeedbackEXT * args)3263 static inline void vn_replace_vkCmdEndTransformFeedbackEXT_args_handle(struct vn_command_vkCmdEndTransformFeedbackEXT *args)
3264 {
3265 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3266 /* skip args->firstCounterBuffer */
3267 /* skip args->counterBufferCount */
3268 if (args->pCounterBuffers) {
3269 for (uint32_t i = 0; i < args->counterBufferCount; i++)
3270 vn_replace_VkBuffer_handle(&((VkBuffer *)args->pCounterBuffers)[i]);
3271 }
3272 /* skip args->pCounterBufferOffsets */
3273 }
3274
vn_encode_vkCmdEndTransformFeedbackEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdEndTransformFeedbackEXT * args)3275 static inline void vn_encode_vkCmdEndTransformFeedbackEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdEndTransformFeedbackEXT *args)
3276 {
3277 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdEndTransformFeedbackEXT_EXT});
3278
3279 /* skip args->commandBuffer */
3280 /* skip args->firstCounterBuffer */
3281 /* skip args->counterBufferCount */
3282 /* skip args->pCounterBuffers */
3283 /* skip args->pCounterBufferOffsets */
3284 }
3285
vn_decode_vkCmdBeginQueryIndexedEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdBeginQueryIndexedEXT * args)3286 static inline void vn_decode_vkCmdBeginQueryIndexedEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdBeginQueryIndexedEXT *args)
3287 {
3288 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3289 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
3290 vn_decode_uint32_t(dec, &args->query);
3291 vn_decode_VkFlags(dec, &args->flags);
3292 vn_decode_uint32_t(dec, &args->index);
3293 }
3294
vn_replace_vkCmdBeginQueryIndexedEXT_args_handle(struct vn_command_vkCmdBeginQueryIndexedEXT * args)3295 static inline void vn_replace_vkCmdBeginQueryIndexedEXT_args_handle(struct vn_command_vkCmdBeginQueryIndexedEXT *args)
3296 {
3297 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3298 vn_replace_VkQueryPool_handle(&args->queryPool);
3299 /* skip args->query */
3300 /* skip args->flags */
3301 /* skip args->index */
3302 }
3303
vn_encode_vkCmdBeginQueryIndexedEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdBeginQueryIndexedEXT * args)3304 static inline void vn_encode_vkCmdBeginQueryIndexedEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdBeginQueryIndexedEXT *args)
3305 {
3306 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdBeginQueryIndexedEXT_EXT});
3307
3308 /* skip args->commandBuffer */
3309 /* skip args->queryPool */
3310 /* skip args->query */
3311 /* skip args->flags */
3312 /* skip args->index */
3313 }
3314
vn_decode_vkCmdEndQueryIndexedEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdEndQueryIndexedEXT * args)3315 static inline void vn_decode_vkCmdEndQueryIndexedEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdEndQueryIndexedEXT *args)
3316 {
3317 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3318 vn_decode_VkQueryPool_lookup(dec, &args->queryPool);
3319 vn_decode_uint32_t(dec, &args->query);
3320 vn_decode_uint32_t(dec, &args->index);
3321 }
3322
vn_replace_vkCmdEndQueryIndexedEXT_args_handle(struct vn_command_vkCmdEndQueryIndexedEXT * args)3323 static inline void vn_replace_vkCmdEndQueryIndexedEXT_args_handle(struct vn_command_vkCmdEndQueryIndexedEXT *args)
3324 {
3325 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3326 vn_replace_VkQueryPool_handle(&args->queryPool);
3327 /* skip args->query */
3328 /* skip args->index */
3329 }
3330
vn_encode_vkCmdEndQueryIndexedEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdEndQueryIndexedEXT * args)3331 static inline void vn_encode_vkCmdEndQueryIndexedEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdEndQueryIndexedEXT *args)
3332 {
3333 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdEndQueryIndexedEXT_EXT});
3334
3335 /* skip args->commandBuffer */
3336 /* skip args->queryPool */
3337 /* skip args->query */
3338 /* skip args->index */
3339 }
3340
vn_decode_vkCmdDrawIndirectByteCountEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCmdDrawIndirectByteCountEXT * args)3341 static inline void vn_decode_vkCmdDrawIndirectByteCountEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCmdDrawIndirectByteCountEXT *args)
3342 {
3343 vn_decode_VkCommandBuffer_lookup(dec, &args->commandBuffer);
3344 vn_decode_uint32_t(dec, &args->instanceCount);
3345 vn_decode_uint32_t(dec, &args->firstInstance);
3346 vn_decode_VkBuffer_lookup(dec, &args->counterBuffer);
3347 vn_decode_VkDeviceSize(dec, &args->counterBufferOffset);
3348 vn_decode_uint32_t(dec, &args->counterOffset);
3349 vn_decode_uint32_t(dec, &args->vertexStride);
3350 }
3351
vn_replace_vkCmdDrawIndirectByteCountEXT_args_handle(struct vn_command_vkCmdDrawIndirectByteCountEXT * args)3352 static inline void vn_replace_vkCmdDrawIndirectByteCountEXT_args_handle(struct vn_command_vkCmdDrawIndirectByteCountEXT *args)
3353 {
3354 vn_replace_VkCommandBuffer_handle(&args->commandBuffer);
3355 /* skip args->instanceCount */
3356 /* skip args->firstInstance */
3357 vn_replace_VkBuffer_handle(&args->counterBuffer);
3358 /* skip args->counterBufferOffset */
3359 /* skip args->counterOffset */
3360 /* skip args->vertexStride */
3361 }
3362
vn_encode_vkCmdDrawIndirectByteCountEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCmdDrawIndirectByteCountEXT * args)3363 static inline void vn_encode_vkCmdDrawIndirectByteCountEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCmdDrawIndirectByteCountEXT *args)
3364 {
3365 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCmdDrawIndirectByteCountEXT_EXT});
3366
3367 /* skip args->commandBuffer */
3368 /* skip args->instanceCount */
3369 /* skip args->firstInstance */
3370 /* skip args->counterBuffer */
3371 /* skip args->counterBufferOffset */
3372 /* skip args->counterOffset */
3373 /* skip args->vertexStride */
3374 }
3375
vn_dispatch_vkAllocateCommandBuffers(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3376 static inline void vn_dispatch_vkAllocateCommandBuffers(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3377 {
3378 struct vn_command_vkAllocateCommandBuffers args;
3379
3380 if (!ctx->dispatch_vkAllocateCommandBuffers) {
3381 vn_cs_decoder_set_fatal(ctx->decoder);
3382 return;
3383 }
3384
3385 vn_decode_vkAllocateCommandBuffers_args_temp(ctx->decoder, &args);
3386 if (!args.device) {
3387 vn_cs_decoder_set_fatal(ctx->decoder);
3388 return;
3389 }
3390
3391 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3392 ctx->dispatch_vkAllocateCommandBuffers(ctx, &args);
3393
3394 #ifdef DEBUG
3395 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
3396 vn_dispatch_debug_log(ctx, "vkAllocateCommandBuffers returned %d", args.ret);
3397 #endif
3398
3399 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3400 vn_encode_vkAllocateCommandBuffers_reply(ctx->encoder, &args);
3401
3402 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3403 }
3404
vn_dispatch_vkFreeCommandBuffers(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3405 static inline void vn_dispatch_vkFreeCommandBuffers(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3406 {
3407 struct vn_command_vkFreeCommandBuffers args;
3408
3409 if (!ctx->dispatch_vkFreeCommandBuffers) {
3410 vn_cs_decoder_set_fatal(ctx->decoder);
3411 return;
3412 }
3413
3414 vn_decode_vkFreeCommandBuffers_args_temp(ctx->decoder, &args);
3415 if (!args.device) {
3416 vn_cs_decoder_set_fatal(ctx->decoder);
3417 return;
3418 }
3419
3420 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3421 ctx->dispatch_vkFreeCommandBuffers(ctx, &args);
3422
3423
3424 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3425 vn_encode_vkFreeCommandBuffers_reply(ctx->encoder, &args);
3426
3427 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3428 }
3429
vn_dispatch_vkBeginCommandBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3430 static inline void vn_dispatch_vkBeginCommandBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3431 {
3432 struct vn_command_vkBeginCommandBuffer args;
3433
3434 if (!ctx->dispatch_vkBeginCommandBuffer) {
3435 vn_cs_decoder_set_fatal(ctx->decoder);
3436 return;
3437 }
3438
3439 vn_decode_vkBeginCommandBuffer_args_temp(ctx->decoder, &args);
3440 if (!args.commandBuffer) {
3441 vn_cs_decoder_set_fatal(ctx->decoder);
3442 return;
3443 }
3444
3445 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3446 ctx->dispatch_vkBeginCommandBuffer(ctx, &args);
3447
3448 #ifdef DEBUG
3449 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
3450 vn_dispatch_debug_log(ctx, "vkBeginCommandBuffer returned %d", args.ret);
3451 #endif
3452
3453 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3454 vn_encode_vkBeginCommandBuffer_reply(ctx->encoder, &args);
3455
3456 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3457 }
3458
vn_dispatch_vkEndCommandBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3459 static inline void vn_dispatch_vkEndCommandBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3460 {
3461 struct vn_command_vkEndCommandBuffer args;
3462
3463 if (!ctx->dispatch_vkEndCommandBuffer) {
3464 vn_cs_decoder_set_fatal(ctx->decoder);
3465 return;
3466 }
3467
3468 vn_decode_vkEndCommandBuffer_args_temp(ctx->decoder, &args);
3469 if (!args.commandBuffer) {
3470 vn_cs_decoder_set_fatal(ctx->decoder);
3471 return;
3472 }
3473
3474 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3475 ctx->dispatch_vkEndCommandBuffer(ctx, &args);
3476
3477 #ifdef DEBUG
3478 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
3479 vn_dispatch_debug_log(ctx, "vkEndCommandBuffer returned %d", args.ret);
3480 #endif
3481
3482 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3483 vn_encode_vkEndCommandBuffer_reply(ctx->encoder, &args);
3484
3485 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3486 }
3487
vn_dispatch_vkResetCommandBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3488 static inline void vn_dispatch_vkResetCommandBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3489 {
3490 struct vn_command_vkResetCommandBuffer args;
3491
3492 if (!ctx->dispatch_vkResetCommandBuffer) {
3493 vn_cs_decoder_set_fatal(ctx->decoder);
3494 return;
3495 }
3496
3497 vn_decode_vkResetCommandBuffer_args_temp(ctx->decoder, &args);
3498 if (!args.commandBuffer) {
3499 vn_cs_decoder_set_fatal(ctx->decoder);
3500 return;
3501 }
3502
3503 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3504 ctx->dispatch_vkResetCommandBuffer(ctx, &args);
3505
3506 #ifdef DEBUG
3507 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
3508 vn_dispatch_debug_log(ctx, "vkResetCommandBuffer returned %d", args.ret);
3509 #endif
3510
3511 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3512 vn_encode_vkResetCommandBuffer_reply(ctx->encoder, &args);
3513
3514 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3515 }
3516
vn_dispatch_vkCmdBindPipeline(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3517 static inline void vn_dispatch_vkCmdBindPipeline(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3518 {
3519 struct vn_command_vkCmdBindPipeline args;
3520
3521 if (!ctx->dispatch_vkCmdBindPipeline) {
3522 vn_cs_decoder_set_fatal(ctx->decoder);
3523 return;
3524 }
3525
3526 vn_decode_vkCmdBindPipeline_args_temp(ctx->decoder, &args);
3527 if (!args.commandBuffer) {
3528 vn_cs_decoder_set_fatal(ctx->decoder);
3529 return;
3530 }
3531
3532 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3533 ctx->dispatch_vkCmdBindPipeline(ctx, &args);
3534
3535
3536 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3537 vn_encode_vkCmdBindPipeline_reply(ctx->encoder, &args);
3538
3539 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3540 }
3541
vn_dispatch_vkCmdSetViewport(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3542 static inline void vn_dispatch_vkCmdSetViewport(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3543 {
3544 struct vn_command_vkCmdSetViewport args;
3545
3546 if (!ctx->dispatch_vkCmdSetViewport) {
3547 vn_cs_decoder_set_fatal(ctx->decoder);
3548 return;
3549 }
3550
3551 vn_decode_vkCmdSetViewport_args_temp(ctx->decoder, &args);
3552 if (!args.commandBuffer) {
3553 vn_cs_decoder_set_fatal(ctx->decoder);
3554 return;
3555 }
3556
3557 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3558 ctx->dispatch_vkCmdSetViewport(ctx, &args);
3559
3560
3561 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3562 vn_encode_vkCmdSetViewport_reply(ctx->encoder, &args);
3563
3564 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3565 }
3566
vn_dispatch_vkCmdSetScissor(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3567 static inline void vn_dispatch_vkCmdSetScissor(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3568 {
3569 struct vn_command_vkCmdSetScissor args;
3570
3571 if (!ctx->dispatch_vkCmdSetScissor) {
3572 vn_cs_decoder_set_fatal(ctx->decoder);
3573 return;
3574 }
3575
3576 vn_decode_vkCmdSetScissor_args_temp(ctx->decoder, &args);
3577 if (!args.commandBuffer) {
3578 vn_cs_decoder_set_fatal(ctx->decoder);
3579 return;
3580 }
3581
3582 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3583 ctx->dispatch_vkCmdSetScissor(ctx, &args);
3584
3585
3586 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3587 vn_encode_vkCmdSetScissor_reply(ctx->encoder, &args);
3588
3589 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3590 }
3591
vn_dispatch_vkCmdSetLineWidth(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3592 static inline void vn_dispatch_vkCmdSetLineWidth(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3593 {
3594 struct vn_command_vkCmdSetLineWidth args;
3595
3596 if (!ctx->dispatch_vkCmdSetLineWidth) {
3597 vn_cs_decoder_set_fatal(ctx->decoder);
3598 return;
3599 }
3600
3601 vn_decode_vkCmdSetLineWidth_args_temp(ctx->decoder, &args);
3602 if (!args.commandBuffer) {
3603 vn_cs_decoder_set_fatal(ctx->decoder);
3604 return;
3605 }
3606
3607 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3608 ctx->dispatch_vkCmdSetLineWidth(ctx, &args);
3609
3610
3611 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3612 vn_encode_vkCmdSetLineWidth_reply(ctx->encoder, &args);
3613
3614 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3615 }
3616
vn_dispatch_vkCmdSetDepthBias(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3617 static inline void vn_dispatch_vkCmdSetDepthBias(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3618 {
3619 struct vn_command_vkCmdSetDepthBias args;
3620
3621 if (!ctx->dispatch_vkCmdSetDepthBias) {
3622 vn_cs_decoder_set_fatal(ctx->decoder);
3623 return;
3624 }
3625
3626 vn_decode_vkCmdSetDepthBias_args_temp(ctx->decoder, &args);
3627 if (!args.commandBuffer) {
3628 vn_cs_decoder_set_fatal(ctx->decoder);
3629 return;
3630 }
3631
3632 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3633 ctx->dispatch_vkCmdSetDepthBias(ctx, &args);
3634
3635
3636 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3637 vn_encode_vkCmdSetDepthBias_reply(ctx->encoder, &args);
3638
3639 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3640 }
3641
vn_dispatch_vkCmdSetBlendConstants(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3642 static inline void vn_dispatch_vkCmdSetBlendConstants(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3643 {
3644 struct vn_command_vkCmdSetBlendConstants args;
3645
3646 if (!ctx->dispatch_vkCmdSetBlendConstants) {
3647 vn_cs_decoder_set_fatal(ctx->decoder);
3648 return;
3649 }
3650
3651 vn_decode_vkCmdSetBlendConstants_args_temp(ctx->decoder, &args);
3652 if (!args.commandBuffer) {
3653 vn_cs_decoder_set_fatal(ctx->decoder);
3654 return;
3655 }
3656
3657 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3658 ctx->dispatch_vkCmdSetBlendConstants(ctx, &args);
3659
3660
3661 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3662 vn_encode_vkCmdSetBlendConstants_reply(ctx->encoder, &args);
3663
3664 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3665 }
3666
vn_dispatch_vkCmdSetDepthBounds(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3667 static inline void vn_dispatch_vkCmdSetDepthBounds(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3668 {
3669 struct vn_command_vkCmdSetDepthBounds args;
3670
3671 if (!ctx->dispatch_vkCmdSetDepthBounds) {
3672 vn_cs_decoder_set_fatal(ctx->decoder);
3673 return;
3674 }
3675
3676 vn_decode_vkCmdSetDepthBounds_args_temp(ctx->decoder, &args);
3677 if (!args.commandBuffer) {
3678 vn_cs_decoder_set_fatal(ctx->decoder);
3679 return;
3680 }
3681
3682 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3683 ctx->dispatch_vkCmdSetDepthBounds(ctx, &args);
3684
3685
3686 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3687 vn_encode_vkCmdSetDepthBounds_reply(ctx->encoder, &args);
3688
3689 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3690 }
3691
vn_dispatch_vkCmdSetStencilCompareMask(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3692 static inline void vn_dispatch_vkCmdSetStencilCompareMask(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3693 {
3694 struct vn_command_vkCmdSetStencilCompareMask args;
3695
3696 if (!ctx->dispatch_vkCmdSetStencilCompareMask) {
3697 vn_cs_decoder_set_fatal(ctx->decoder);
3698 return;
3699 }
3700
3701 vn_decode_vkCmdSetStencilCompareMask_args_temp(ctx->decoder, &args);
3702 if (!args.commandBuffer) {
3703 vn_cs_decoder_set_fatal(ctx->decoder);
3704 return;
3705 }
3706
3707 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3708 ctx->dispatch_vkCmdSetStencilCompareMask(ctx, &args);
3709
3710
3711 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3712 vn_encode_vkCmdSetStencilCompareMask_reply(ctx->encoder, &args);
3713
3714 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3715 }
3716
vn_dispatch_vkCmdSetStencilWriteMask(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3717 static inline void vn_dispatch_vkCmdSetStencilWriteMask(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3718 {
3719 struct vn_command_vkCmdSetStencilWriteMask args;
3720
3721 if (!ctx->dispatch_vkCmdSetStencilWriteMask) {
3722 vn_cs_decoder_set_fatal(ctx->decoder);
3723 return;
3724 }
3725
3726 vn_decode_vkCmdSetStencilWriteMask_args_temp(ctx->decoder, &args);
3727 if (!args.commandBuffer) {
3728 vn_cs_decoder_set_fatal(ctx->decoder);
3729 return;
3730 }
3731
3732 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3733 ctx->dispatch_vkCmdSetStencilWriteMask(ctx, &args);
3734
3735
3736 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3737 vn_encode_vkCmdSetStencilWriteMask_reply(ctx->encoder, &args);
3738
3739 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3740 }
3741
vn_dispatch_vkCmdSetStencilReference(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3742 static inline void vn_dispatch_vkCmdSetStencilReference(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3743 {
3744 struct vn_command_vkCmdSetStencilReference args;
3745
3746 if (!ctx->dispatch_vkCmdSetStencilReference) {
3747 vn_cs_decoder_set_fatal(ctx->decoder);
3748 return;
3749 }
3750
3751 vn_decode_vkCmdSetStencilReference_args_temp(ctx->decoder, &args);
3752 if (!args.commandBuffer) {
3753 vn_cs_decoder_set_fatal(ctx->decoder);
3754 return;
3755 }
3756
3757 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3758 ctx->dispatch_vkCmdSetStencilReference(ctx, &args);
3759
3760
3761 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3762 vn_encode_vkCmdSetStencilReference_reply(ctx->encoder, &args);
3763
3764 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3765 }
3766
vn_dispatch_vkCmdBindDescriptorSets(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3767 static inline void vn_dispatch_vkCmdBindDescriptorSets(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3768 {
3769 struct vn_command_vkCmdBindDescriptorSets args;
3770
3771 if (!ctx->dispatch_vkCmdBindDescriptorSets) {
3772 vn_cs_decoder_set_fatal(ctx->decoder);
3773 return;
3774 }
3775
3776 vn_decode_vkCmdBindDescriptorSets_args_temp(ctx->decoder, &args);
3777 if (!args.commandBuffer) {
3778 vn_cs_decoder_set_fatal(ctx->decoder);
3779 return;
3780 }
3781
3782 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3783 ctx->dispatch_vkCmdBindDescriptorSets(ctx, &args);
3784
3785
3786 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3787 vn_encode_vkCmdBindDescriptorSets_reply(ctx->encoder, &args);
3788
3789 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3790 }
3791
vn_dispatch_vkCmdBindIndexBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3792 static inline void vn_dispatch_vkCmdBindIndexBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3793 {
3794 struct vn_command_vkCmdBindIndexBuffer args;
3795
3796 if (!ctx->dispatch_vkCmdBindIndexBuffer) {
3797 vn_cs_decoder_set_fatal(ctx->decoder);
3798 return;
3799 }
3800
3801 vn_decode_vkCmdBindIndexBuffer_args_temp(ctx->decoder, &args);
3802 if (!args.commandBuffer) {
3803 vn_cs_decoder_set_fatal(ctx->decoder);
3804 return;
3805 }
3806
3807 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3808 ctx->dispatch_vkCmdBindIndexBuffer(ctx, &args);
3809
3810
3811 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3812 vn_encode_vkCmdBindIndexBuffer_reply(ctx->encoder, &args);
3813
3814 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3815 }
3816
vn_dispatch_vkCmdBindVertexBuffers(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3817 static inline void vn_dispatch_vkCmdBindVertexBuffers(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3818 {
3819 struct vn_command_vkCmdBindVertexBuffers args;
3820
3821 if (!ctx->dispatch_vkCmdBindVertexBuffers) {
3822 vn_cs_decoder_set_fatal(ctx->decoder);
3823 return;
3824 }
3825
3826 vn_decode_vkCmdBindVertexBuffers_args_temp(ctx->decoder, &args);
3827 if (!args.commandBuffer) {
3828 vn_cs_decoder_set_fatal(ctx->decoder);
3829 return;
3830 }
3831
3832 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3833 ctx->dispatch_vkCmdBindVertexBuffers(ctx, &args);
3834
3835
3836 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3837 vn_encode_vkCmdBindVertexBuffers_reply(ctx->encoder, &args);
3838
3839 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3840 }
3841
vn_dispatch_vkCmdDraw(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3842 static inline void vn_dispatch_vkCmdDraw(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3843 {
3844 struct vn_command_vkCmdDraw args;
3845
3846 if (!ctx->dispatch_vkCmdDraw) {
3847 vn_cs_decoder_set_fatal(ctx->decoder);
3848 return;
3849 }
3850
3851 vn_decode_vkCmdDraw_args_temp(ctx->decoder, &args);
3852 if (!args.commandBuffer) {
3853 vn_cs_decoder_set_fatal(ctx->decoder);
3854 return;
3855 }
3856
3857 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3858 ctx->dispatch_vkCmdDraw(ctx, &args);
3859
3860
3861 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3862 vn_encode_vkCmdDraw_reply(ctx->encoder, &args);
3863
3864 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3865 }
3866
vn_dispatch_vkCmdDrawIndexed(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3867 static inline void vn_dispatch_vkCmdDrawIndexed(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3868 {
3869 struct vn_command_vkCmdDrawIndexed args;
3870
3871 if (!ctx->dispatch_vkCmdDrawIndexed) {
3872 vn_cs_decoder_set_fatal(ctx->decoder);
3873 return;
3874 }
3875
3876 vn_decode_vkCmdDrawIndexed_args_temp(ctx->decoder, &args);
3877 if (!args.commandBuffer) {
3878 vn_cs_decoder_set_fatal(ctx->decoder);
3879 return;
3880 }
3881
3882 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3883 ctx->dispatch_vkCmdDrawIndexed(ctx, &args);
3884
3885
3886 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3887 vn_encode_vkCmdDrawIndexed_reply(ctx->encoder, &args);
3888
3889 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3890 }
3891
vn_dispatch_vkCmdDrawIndirect(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3892 static inline void vn_dispatch_vkCmdDrawIndirect(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3893 {
3894 struct vn_command_vkCmdDrawIndirect args;
3895
3896 if (!ctx->dispatch_vkCmdDrawIndirect) {
3897 vn_cs_decoder_set_fatal(ctx->decoder);
3898 return;
3899 }
3900
3901 vn_decode_vkCmdDrawIndirect_args_temp(ctx->decoder, &args);
3902 if (!args.commandBuffer) {
3903 vn_cs_decoder_set_fatal(ctx->decoder);
3904 return;
3905 }
3906
3907 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3908 ctx->dispatch_vkCmdDrawIndirect(ctx, &args);
3909
3910
3911 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3912 vn_encode_vkCmdDrawIndirect_reply(ctx->encoder, &args);
3913
3914 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3915 }
3916
vn_dispatch_vkCmdDrawIndexedIndirect(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3917 static inline void vn_dispatch_vkCmdDrawIndexedIndirect(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3918 {
3919 struct vn_command_vkCmdDrawIndexedIndirect args;
3920
3921 if (!ctx->dispatch_vkCmdDrawIndexedIndirect) {
3922 vn_cs_decoder_set_fatal(ctx->decoder);
3923 return;
3924 }
3925
3926 vn_decode_vkCmdDrawIndexedIndirect_args_temp(ctx->decoder, &args);
3927 if (!args.commandBuffer) {
3928 vn_cs_decoder_set_fatal(ctx->decoder);
3929 return;
3930 }
3931
3932 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3933 ctx->dispatch_vkCmdDrawIndexedIndirect(ctx, &args);
3934
3935
3936 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3937 vn_encode_vkCmdDrawIndexedIndirect_reply(ctx->encoder, &args);
3938
3939 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3940 }
3941
vn_dispatch_vkCmdDispatch(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3942 static inline void vn_dispatch_vkCmdDispatch(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3943 {
3944 struct vn_command_vkCmdDispatch args;
3945
3946 if (!ctx->dispatch_vkCmdDispatch) {
3947 vn_cs_decoder_set_fatal(ctx->decoder);
3948 return;
3949 }
3950
3951 vn_decode_vkCmdDispatch_args_temp(ctx->decoder, &args);
3952 if (!args.commandBuffer) {
3953 vn_cs_decoder_set_fatal(ctx->decoder);
3954 return;
3955 }
3956
3957 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3958 ctx->dispatch_vkCmdDispatch(ctx, &args);
3959
3960
3961 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3962 vn_encode_vkCmdDispatch_reply(ctx->encoder, &args);
3963
3964 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3965 }
3966
vn_dispatch_vkCmdDispatchIndirect(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3967 static inline void vn_dispatch_vkCmdDispatchIndirect(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3968 {
3969 struct vn_command_vkCmdDispatchIndirect args;
3970
3971 if (!ctx->dispatch_vkCmdDispatchIndirect) {
3972 vn_cs_decoder_set_fatal(ctx->decoder);
3973 return;
3974 }
3975
3976 vn_decode_vkCmdDispatchIndirect_args_temp(ctx->decoder, &args);
3977 if (!args.commandBuffer) {
3978 vn_cs_decoder_set_fatal(ctx->decoder);
3979 return;
3980 }
3981
3982 if (!vn_cs_decoder_get_fatal(ctx->decoder))
3983 ctx->dispatch_vkCmdDispatchIndirect(ctx, &args);
3984
3985
3986 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
3987 vn_encode_vkCmdDispatchIndirect_reply(ctx->encoder, &args);
3988
3989 vn_cs_decoder_reset_temp_pool(ctx->decoder);
3990 }
3991
vn_dispatch_vkCmdCopyBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)3992 static inline void vn_dispatch_vkCmdCopyBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
3993 {
3994 struct vn_command_vkCmdCopyBuffer args;
3995
3996 if (!ctx->dispatch_vkCmdCopyBuffer) {
3997 vn_cs_decoder_set_fatal(ctx->decoder);
3998 return;
3999 }
4000
4001 vn_decode_vkCmdCopyBuffer_args_temp(ctx->decoder, &args);
4002 if (!args.commandBuffer) {
4003 vn_cs_decoder_set_fatal(ctx->decoder);
4004 return;
4005 }
4006
4007 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4008 ctx->dispatch_vkCmdCopyBuffer(ctx, &args);
4009
4010
4011 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4012 vn_encode_vkCmdCopyBuffer_reply(ctx->encoder, &args);
4013
4014 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4015 }
4016
vn_dispatch_vkCmdCopyImage(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4017 static inline void vn_dispatch_vkCmdCopyImage(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4018 {
4019 struct vn_command_vkCmdCopyImage args;
4020
4021 if (!ctx->dispatch_vkCmdCopyImage) {
4022 vn_cs_decoder_set_fatal(ctx->decoder);
4023 return;
4024 }
4025
4026 vn_decode_vkCmdCopyImage_args_temp(ctx->decoder, &args);
4027 if (!args.commandBuffer) {
4028 vn_cs_decoder_set_fatal(ctx->decoder);
4029 return;
4030 }
4031
4032 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4033 ctx->dispatch_vkCmdCopyImage(ctx, &args);
4034
4035
4036 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4037 vn_encode_vkCmdCopyImage_reply(ctx->encoder, &args);
4038
4039 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4040 }
4041
vn_dispatch_vkCmdBlitImage(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4042 static inline void vn_dispatch_vkCmdBlitImage(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4043 {
4044 struct vn_command_vkCmdBlitImage args;
4045
4046 if (!ctx->dispatch_vkCmdBlitImage) {
4047 vn_cs_decoder_set_fatal(ctx->decoder);
4048 return;
4049 }
4050
4051 vn_decode_vkCmdBlitImage_args_temp(ctx->decoder, &args);
4052 if (!args.commandBuffer) {
4053 vn_cs_decoder_set_fatal(ctx->decoder);
4054 return;
4055 }
4056
4057 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4058 ctx->dispatch_vkCmdBlitImage(ctx, &args);
4059
4060
4061 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4062 vn_encode_vkCmdBlitImage_reply(ctx->encoder, &args);
4063
4064 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4065 }
4066
vn_dispatch_vkCmdCopyBufferToImage(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4067 static inline void vn_dispatch_vkCmdCopyBufferToImage(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4068 {
4069 struct vn_command_vkCmdCopyBufferToImage args;
4070
4071 if (!ctx->dispatch_vkCmdCopyBufferToImage) {
4072 vn_cs_decoder_set_fatal(ctx->decoder);
4073 return;
4074 }
4075
4076 vn_decode_vkCmdCopyBufferToImage_args_temp(ctx->decoder, &args);
4077 if (!args.commandBuffer) {
4078 vn_cs_decoder_set_fatal(ctx->decoder);
4079 return;
4080 }
4081
4082 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4083 ctx->dispatch_vkCmdCopyBufferToImage(ctx, &args);
4084
4085
4086 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4087 vn_encode_vkCmdCopyBufferToImage_reply(ctx->encoder, &args);
4088
4089 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4090 }
4091
vn_dispatch_vkCmdCopyImageToBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4092 static inline void vn_dispatch_vkCmdCopyImageToBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4093 {
4094 struct vn_command_vkCmdCopyImageToBuffer args;
4095
4096 if (!ctx->dispatch_vkCmdCopyImageToBuffer) {
4097 vn_cs_decoder_set_fatal(ctx->decoder);
4098 return;
4099 }
4100
4101 vn_decode_vkCmdCopyImageToBuffer_args_temp(ctx->decoder, &args);
4102 if (!args.commandBuffer) {
4103 vn_cs_decoder_set_fatal(ctx->decoder);
4104 return;
4105 }
4106
4107 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4108 ctx->dispatch_vkCmdCopyImageToBuffer(ctx, &args);
4109
4110
4111 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4112 vn_encode_vkCmdCopyImageToBuffer_reply(ctx->encoder, &args);
4113
4114 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4115 }
4116
vn_dispatch_vkCmdUpdateBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4117 static inline void vn_dispatch_vkCmdUpdateBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4118 {
4119 struct vn_command_vkCmdUpdateBuffer args;
4120
4121 if (!ctx->dispatch_vkCmdUpdateBuffer) {
4122 vn_cs_decoder_set_fatal(ctx->decoder);
4123 return;
4124 }
4125
4126 vn_decode_vkCmdUpdateBuffer_args_temp(ctx->decoder, &args);
4127 if (!args.commandBuffer) {
4128 vn_cs_decoder_set_fatal(ctx->decoder);
4129 return;
4130 }
4131
4132 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4133 ctx->dispatch_vkCmdUpdateBuffer(ctx, &args);
4134
4135
4136 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4137 vn_encode_vkCmdUpdateBuffer_reply(ctx->encoder, &args);
4138
4139 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4140 }
4141
vn_dispatch_vkCmdFillBuffer(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4142 static inline void vn_dispatch_vkCmdFillBuffer(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4143 {
4144 struct vn_command_vkCmdFillBuffer args;
4145
4146 if (!ctx->dispatch_vkCmdFillBuffer) {
4147 vn_cs_decoder_set_fatal(ctx->decoder);
4148 return;
4149 }
4150
4151 vn_decode_vkCmdFillBuffer_args_temp(ctx->decoder, &args);
4152 if (!args.commandBuffer) {
4153 vn_cs_decoder_set_fatal(ctx->decoder);
4154 return;
4155 }
4156
4157 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4158 ctx->dispatch_vkCmdFillBuffer(ctx, &args);
4159
4160
4161 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4162 vn_encode_vkCmdFillBuffer_reply(ctx->encoder, &args);
4163
4164 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4165 }
4166
vn_dispatch_vkCmdClearColorImage(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4167 static inline void vn_dispatch_vkCmdClearColorImage(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4168 {
4169 struct vn_command_vkCmdClearColorImage args;
4170
4171 if (!ctx->dispatch_vkCmdClearColorImage) {
4172 vn_cs_decoder_set_fatal(ctx->decoder);
4173 return;
4174 }
4175
4176 vn_decode_vkCmdClearColorImage_args_temp(ctx->decoder, &args);
4177 if (!args.commandBuffer) {
4178 vn_cs_decoder_set_fatal(ctx->decoder);
4179 return;
4180 }
4181
4182 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4183 ctx->dispatch_vkCmdClearColorImage(ctx, &args);
4184
4185
4186 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4187 vn_encode_vkCmdClearColorImage_reply(ctx->encoder, &args);
4188
4189 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4190 }
4191
vn_dispatch_vkCmdClearDepthStencilImage(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4192 static inline void vn_dispatch_vkCmdClearDepthStencilImage(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4193 {
4194 struct vn_command_vkCmdClearDepthStencilImage args;
4195
4196 if (!ctx->dispatch_vkCmdClearDepthStencilImage) {
4197 vn_cs_decoder_set_fatal(ctx->decoder);
4198 return;
4199 }
4200
4201 vn_decode_vkCmdClearDepthStencilImage_args_temp(ctx->decoder, &args);
4202 if (!args.commandBuffer) {
4203 vn_cs_decoder_set_fatal(ctx->decoder);
4204 return;
4205 }
4206
4207 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4208 ctx->dispatch_vkCmdClearDepthStencilImage(ctx, &args);
4209
4210
4211 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4212 vn_encode_vkCmdClearDepthStencilImage_reply(ctx->encoder, &args);
4213
4214 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4215 }
4216
vn_dispatch_vkCmdClearAttachments(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4217 static inline void vn_dispatch_vkCmdClearAttachments(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4218 {
4219 struct vn_command_vkCmdClearAttachments args;
4220
4221 if (!ctx->dispatch_vkCmdClearAttachments) {
4222 vn_cs_decoder_set_fatal(ctx->decoder);
4223 return;
4224 }
4225
4226 vn_decode_vkCmdClearAttachments_args_temp(ctx->decoder, &args);
4227 if (!args.commandBuffer) {
4228 vn_cs_decoder_set_fatal(ctx->decoder);
4229 return;
4230 }
4231
4232 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4233 ctx->dispatch_vkCmdClearAttachments(ctx, &args);
4234
4235
4236 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4237 vn_encode_vkCmdClearAttachments_reply(ctx->encoder, &args);
4238
4239 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4240 }
4241
vn_dispatch_vkCmdResolveImage(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4242 static inline void vn_dispatch_vkCmdResolveImage(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4243 {
4244 struct vn_command_vkCmdResolveImage args;
4245
4246 if (!ctx->dispatch_vkCmdResolveImage) {
4247 vn_cs_decoder_set_fatal(ctx->decoder);
4248 return;
4249 }
4250
4251 vn_decode_vkCmdResolveImage_args_temp(ctx->decoder, &args);
4252 if (!args.commandBuffer) {
4253 vn_cs_decoder_set_fatal(ctx->decoder);
4254 return;
4255 }
4256
4257 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4258 ctx->dispatch_vkCmdResolveImage(ctx, &args);
4259
4260
4261 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4262 vn_encode_vkCmdResolveImage_reply(ctx->encoder, &args);
4263
4264 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4265 }
4266
vn_dispatch_vkCmdSetEvent(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4267 static inline void vn_dispatch_vkCmdSetEvent(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4268 {
4269 struct vn_command_vkCmdSetEvent args;
4270
4271 if (!ctx->dispatch_vkCmdSetEvent) {
4272 vn_cs_decoder_set_fatal(ctx->decoder);
4273 return;
4274 }
4275
4276 vn_decode_vkCmdSetEvent_args_temp(ctx->decoder, &args);
4277 if (!args.commandBuffer) {
4278 vn_cs_decoder_set_fatal(ctx->decoder);
4279 return;
4280 }
4281
4282 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4283 ctx->dispatch_vkCmdSetEvent(ctx, &args);
4284
4285
4286 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4287 vn_encode_vkCmdSetEvent_reply(ctx->encoder, &args);
4288
4289 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4290 }
4291
vn_dispatch_vkCmdResetEvent(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4292 static inline void vn_dispatch_vkCmdResetEvent(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4293 {
4294 struct vn_command_vkCmdResetEvent args;
4295
4296 if (!ctx->dispatch_vkCmdResetEvent) {
4297 vn_cs_decoder_set_fatal(ctx->decoder);
4298 return;
4299 }
4300
4301 vn_decode_vkCmdResetEvent_args_temp(ctx->decoder, &args);
4302 if (!args.commandBuffer) {
4303 vn_cs_decoder_set_fatal(ctx->decoder);
4304 return;
4305 }
4306
4307 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4308 ctx->dispatch_vkCmdResetEvent(ctx, &args);
4309
4310
4311 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4312 vn_encode_vkCmdResetEvent_reply(ctx->encoder, &args);
4313
4314 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4315 }
4316
vn_dispatch_vkCmdWaitEvents(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4317 static inline void vn_dispatch_vkCmdWaitEvents(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4318 {
4319 struct vn_command_vkCmdWaitEvents args;
4320
4321 if (!ctx->dispatch_vkCmdWaitEvents) {
4322 vn_cs_decoder_set_fatal(ctx->decoder);
4323 return;
4324 }
4325
4326 vn_decode_vkCmdWaitEvents_args_temp(ctx->decoder, &args);
4327 if (!args.commandBuffer) {
4328 vn_cs_decoder_set_fatal(ctx->decoder);
4329 return;
4330 }
4331
4332 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4333 ctx->dispatch_vkCmdWaitEvents(ctx, &args);
4334
4335
4336 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4337 vn_encode_vkCmdWaitEvents_reply(ctx->encoder, &args);
4338
4339 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4340 }
4341
vn_dispatch_vkCmdPipelineBarrier(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4342 static inline void vn_dispatch_vkCmdPipelineBarrier(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4343 {
4344 struct vn_command_vkCmdPipelineBarrier args;
4345
4346 if (!ctx->dispatch_vkCmdPipelineBarrier) {
4347 vn_cs_decoder_set_fatal(ctx->decoder);
4348 return;
4349 }
4350
4351 vn_decode_vkCmdPipelineBarrier_args_temp(ctx->decoder, &args);
4352 if (!args.commandBuffer) {
4353 vn_cs_decoder_set_fatal(ctx->decoder);
4354 return;
4355 }
4356
4357 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4358 ctx->dispatch_vkCmdPipelineBarrier(ctx, &args);
4359
4360
4361 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4362 vn_encode_vkCmdPipelineBarrier_reply(ctx->encoder, &args);
4363
4364 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4365 }
4366
vn_dispatch_vkCmdBeginQuery(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4367 static inline void vn_dispatch_vkCmdBeginQuery(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4368 {
4369 struct vn_command_vkCmdBeginQuery args;
4370
4371 if (!ctx->dispatch_vkCmdBeginQuery) {
4372 vn_cs_decoder_set_fatal(ctx->decoder);
4373 return;
4374 }
4375
4376 vn_decode_vkCmdBeginQuery_args_temp(ctx->decoder, &args);
4377 if (!args.commandBuffer) {
4378 vn_cs_decoder_set_fatal(ctx->decoder);
4379 return;
4380 }
4381
4382 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4383 ctx->dispatch_vkCmdBeginQuery(ctx, &args);
4384
4385
4386 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4387 vn_encode_vkCmdBeginQuery_reply(ctx->encoder, &args);
4388
4389 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4390 }
4391
vn_dispatch_vkCmdEndQuery(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4392 static inline void vn_dispatch_vkCmdEndQuery(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4393 {
4394 struct vn_command_vkCmdEndQuery args;
4395
4396 if (!ctx->dispatch_vkCmdEndQuery) {
4397 vn_cs_decoder_set_fatal(ctx->decoder);
4398 return;
4399 }
4400
4401 vn_decode_vkCmdEndQuery_args_temp(ctx->decoder, &args);
4402 if (!args.commandBuffer) {
4403 vn_cs_decoder_set_fatal(ctx->decoder);
4404 return;
4405 }
4406
4407 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4408 ctx->dispatch_vkCmdEndQuery(ctx, &args);
4409
4410
4411 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4412 vn_encode_vkCmdEndQuery_reply(ctx->encoder, &args);
4413
4414 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4415 }
4416
vn_dispatch_vkCmdResetQueryPool(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4417 static inline void vn_dispatch_vkCmdResetQueryPool(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4418 {
4419 struct vn_command_vkCmdResetQueryPool args;
4420
4421 if (!ctx->dispatch_vkCmdResetQueryPool) {
4422 vn_cs_decoder_set_fatal(ctx->decoder);
4423 return;
4424 }
4425
4426 vn_decode_vkCmdResetQueryPool_args_temp(ctx->decoder, &args);
4427 if (!args.commandBuffer) {
4428 vn_cs_decoder_set_fatal(ctx->decoder);
4429 return;
4430 }
4431
4432 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4433 ctx->dispatch_vkCmdResetQueryPool(ctx, &args);
4434
4435
4436 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4437 vn_encode_vkCmdResetQueryPool_reply(ctx->encoder, &args);
4438
4439 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4440 }
4441
vn_dispatch_vkCmdWriteTimestamp(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4442 static inline void vn_dispatch_vkCmdWriteTimestamp(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4443 {
4444 struct vn_command_vkCmdWriteTimestamp args;
4445
4446 if (!ctx->dispatch_vkCmdWriteTimestamp) {
4447 vn_cs_decoder_set_fatal(ctx->decoder);
4448 return;
4449 }
4450
4451 vn_decode_vkCmdWriteTimestamp_args_temp(ctx->decoder, &args);
4452 if (!args.commandBuffer) {
4453 vn_cs_decoder_set_fatal(ctx->decoder);
4454 return;
4455 }
4456
4457 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4458 ctx->dispatch_vkCmdWriteTimestamp(ctx, &args);
4459
4460
4461 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4462 vn_encode_vkCmdWriteTimestamp_reply(ctx->encoder, &args);
4463
4464 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4465 }
4466
vn_dispatch_vkCmdCopyQueryPoolResults(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4467 static inline void vn_dispatch_vkCmdCopyQueryPoolResults(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4468 {
4469 struct vn_command_vkCmdCopyQueryPoolResults args;
4470
4471 if (!ctx->dispatch_vkCmdCopyQueryPoolResults) {
4472 vn_cs_decoder_set_fatal(ctx->decoder);
4473 return;
4474 }
4475
4476 vn_decode_vkCmdCopyQueryPoolResults_args_temp(ctx->decoder, &args);
4477 if (!args.commandBuffer) {
4478 vn_cs_decoder_set_fatal(ctx->decoder);
4479 return;
4480 }
4481
4482 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4483 ctx->dispatch_vkCmdCopyQueryPoolResults(ctx, &args);
4484
4485
4486 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4487 vn_encode_vkCmdCopyQueryPoolResults_reply(ctx->encoder, &args);
4488
4489 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4490 }
4491
vn_dispatch_vkCmdPushConstants(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4492 static inline void vn_dispatch_vkCmdPushConstants(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4493 {
4494 struct vn_command_vkCmdPushConstants args;
4495
4496 if (!ctx->dispatch_vkCmdPushConstants) {
4497 vn_cs_decoder_set_fatal(ctx->decoder);
4498 return;
4499 }
4500
4501 vn_decode_vkCmdPushConstants_args_temp(ctx->decoder, &args);
4502 if (!args.commandBuffer) {
4503 vn_cs_decoder_set_fatal(ctx->decoder);
4504 return;
4505 }
4506
4507 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4508 ctx->dispatch_vkCmdPushConstants(ctx, &args);
4509
4510
4511 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4512 vn_encode_vkCmdPushConstants_reply(ctx->encoder, &args);
4513
4514 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4515 }
4516
vn_dispatch_vkCmdBeginRenderPass(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4517 static inline void vn_dispatch_vkCmdBeginRenderPass(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4518 {
4519 struct vn_command_vkCmdBeginRenderPass args;
4520
4521 if (!ctx->dispatch_vkCmdBeginRenderPass) {
4522 vn_cs_decoder_set_fatal(ctx->decoder);
4523 return;
4524 }
4525
4526 vn_decode_vkCmdBeginRenderPass_args_temp(ctx->decoder, &args);
4527 if (!args.commandBuffer) {
4528 vn_cs_decoder_set_fatal(ctx->decoder);
4529 return;
4530 }
4531
4532 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4533 ctx->dispatch_vkCmdBeginRenderPass(ctx, &args);
4534
4535
4536 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4537 vn_encode_vkCmdBeginRenderPass_reply(ctx->encoder, &args);
4538
4539 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4540 }
4541
vn_dispatch_vkCmdNextSubpass(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4542 static inline void vn_dispatch_vkCmdNextSubpass(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4543 {
4544 struct vn_command_vkCmdNextSubpass args;
4545
4546 if (!ctx->dispatch_vkCmdNextSubpass) {
4547 vn_cs_decoder_set_fatal(ctx->decoder);
4548 return;
4549 }
4550
4551 vn_decode_vkCmdNextSubpass_args_temp(ctx->decoder, &args);
4552 if (!args.commandBuffer) {
4553 vn_cs_decoder_set_fatal(ctx->decoder);
4554 return;
4555 }
4556
4557 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4558 ctx->dispatch_vkCmdNextSubpass(ctx, &args);
4559
4560
4561 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4562 vn_encode_vkCmdNextSubpass_reply(ctx->encoder, &args);
4563
4564 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4565 }
4566
vn_dispatch_vkCmdEndRenderPass(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4567 static inline void vn_dispatch_vkCmdEndRenderPass(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4568 {
4569 struct vn_command_vkCmdEndRenderPass args;
4570
4571 if (!ctx->dispatch_vkCmdEndRenderPass) {
4572 vn_cs_decoder_set_fatal(ctx->decoder);
4573 return;
4574 }
4575
4576 vn_decode_vkCmdEndRenderPass_args_temp(ctx->decoder, &args);
4577 if (!args.commandBuffer) {
4578 vn_cs_decoder_set_fatal(ctx->decoder);
4579 return;
4580 }
4581
4582 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4583 ctx->dispatch_vkCmdEndRenderPass(ctx, &args);
4584
4585
4586 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4587 vn_encode_vkCmdEndRenderPass_reply(ctx->encoder, &args);
4588
4589 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4590 }
4591
vn_dispatch_vkCmdExecuteCommands(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4592 static inline void vn_dispatch_vkCmdExecuteCommands(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4593 {
4594 struct vn_command_vkCmdExecuteCommands args;
4595
4596 if (!ctx->dispatch_vkCmdExecuteCommands) {
4597 vn_cs_decoder_set_fatal(ctx->decoder);
4598 return;
4599 }
4600
4601 vn_decode_vkCmdExecuteCommands_args_temp(ctx->decoder, &args);
4602 if (!args.commandBuffer) {
4603 vn_cs_decoder_set_fatal(ctx->decoder);
4604 return;
4605 }
4606
4607 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4608 ctx->dispatch_vkCmdExecuteCommands(ctx, &args);
4609
4610
4611 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4612 vn_encode_vkCmdExecuteCommands_reply(ctx->encoder, &args);
4613
4614 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4615 }
4616
vn_dispatch_vkCmdSetDeviceMask(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4617 static inline void vn_dispatch_vkCmdSetDeviceMask(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4618 {
4619 struct vn_command_vkCmdSetDeviceMask args;
4620
4621 if (!ctx->dispatch_vkCmdSetDeviceMask) {
4622 vn_cs_decoder_set_fatal(ctx->decoder);
4623 return;
4624 }
4625
4626 vn_decode_vkCmdSetDeviceMask_args_temp(ctx->decoder, &args);
4627 if (!args.commandBuffer) {
4628 vn_cs_decoder_set_fatal(ctx->decoder);
4629 return;
4630 }
4631
4632 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4633 ctx->dispatch_vkCmdSetDeviceMask(ctx, &args);
4634
4635
4636 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4637 vn_encode_vkCmdSetDeviceMask_reply(ctx->encoder, &args);
4638
4639 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4640 }
4641
vn_dispatch_vkCmdDispatchBase(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4642 static inline void vn_dispatch_vkCmdDispatchBase(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4643 {
4644 struct vn_command_vkCmdDispatchBase args;
4645
4646 if (!ctx->dispatch_vkCmdDispatchBase) {
4647 vn_cs_decoder_set_fatal(ctx->decoder);
4648 return;
4649 }
4650
4651 vn_decode_vkCmdDispatchBase_args_temp(ctx->decoder, &args);
4652 if (!args.commandBuffer) {
4653 vn_cs_decoder_set_fatal(ctx->decoder);
4654 return;
4655 }
4656
4657 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4658 ctx->dispatch_vkCmdDispatchBase(ctx, &args);
4659
4660
4661 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4662 vn_encode_vkCmdDispatchBase_reply(ctx->encoder, &args);
4663
4664 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4665 }
4666
vn_dispatch_vkCmdBeginRenderPass2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4667 static inline void vn_dispatch_vkCmdBeginRenderPass2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4668 {
4669 struct vn_command_vkCmdBeginRenderPass2 args;
4670
4671 if (!ctx->dispatch_vkCmdBeginRenderPass2) {
4672 vn_cs_decoder_set_fatal(ctx->decoder);
4673 return;
4674 }
4675
4676 vn_decode_vkCmdBeginRenderPass2_args_temp(ctx->decoder, &args);
4677 if (!args.commandBuffer) {
4678 vn_cs_decoder_set_fatal(ctx->decoder);
4679 return;
4680 }
4681
4682 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4683 ctx->dispatch_vkCmdBeginRenderPass2(ctx, &args);
4684
4685
4686 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4687 vn_encode_vkCmdBeginRenderPass2_reply(ctx->encoder, &args);
4688
4689 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4690 }
4691
vn_dispatch_vkCmdNextSubpass2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4692 static inline void vn_dispatch_vkCmdNextSubpass2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4693 {
4694 struct vn_command_vkCmdNextSubpass2 args;
4695
4696 if (!ctx->dispatch_vkCmdNextSubpass2) {
4697 vn_cs_decoder_set_fatal(ctx->decoder);
4698 return;
4699 }
4700
4701 vn_decode_vkCmdNextSubpass2_args_temp(ctx->decoder, &args);
4702 if (!args.commandBuffer) {
4703 vn_cs_decoder_set_fatal(ctx->decoder);
4704 return;
4705 }
4706
4707 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4708 ctx->dispatch_vkCmdNextSubpass2(ctx, &args);
4709
4710
4711 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4712 vn_encode_vkCmdNextSubpass2_reply(ctx->encoder, &args);
4713
4714 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4715 }
4716
vn_dispatch_vkCmdEndRenderPass2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4717 static inline void vn_dispatch_vkCmdEndRenderPass2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4718 {
4719 struct vn_command_vkCmdEndRenderPass2 args;
4720
4721 if (!ctx->dispatch_vkCmdEndRenderPass2) {
4722 vn_cs_decoder_set_fatal(ctx->decoder);
4723 return;
4724 }
4725
4726 vn_decode_vkCmdEndRenderPass2_args_temp(ctx->decoder, &args);
4727 if (!args.commandBuffer) {
4728 vn_cs_decoder_set_fatal(ctx->decoder);
4729 return;
4730 }
4731
4732 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4733 ctx->dispatch_vkCmdEndRenderPass2(ctx, &args);
4734
4735
4736 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4737 vn_encode_vkCmdEndRenderPass2_reply(ctx->encoder, &args);
4738
4739 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4740 }
4741
vn_dispatch_vkCmdDrawIndirectCount(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4742 static inline void vn_dispatch_vkCmdDrawIndirectCount(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4743 {
4744 struct vn_command_vkCmdDrawIndirectCount args;
4745
4746 if (!ctx->dispatch_vkCmdDrawIndirectCount) {
4747 vn_cs_decoder_set_fatal(ctx->decoder);
4748 return;
4749 }
4750
4751 vn_decode_vkCmdDrawIndirectCount_args_temp(ctx->decoder, &args);
4752 if (!args.commandBuffer) {
4753 vn_cs_decoder_set_fatal(ctx->decoder);
4754 return;
4755 }
4756
4757 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4758 ctx->dispatch_vkCmdDrawIndirectCount(ctx, &args);
4759
4760
4761 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4762 vn_encode_vkCmdDrawIndirectCount_reply(ctx->encoder, &args);
4763
4764 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4765 }
4766
vn_dispatch_vkCmdDrawIndexedIndirectCount(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4767 static inline void vn_dispatch_vkCmdDrawIndexedIndirectCount(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4768 {
4769 struct vn_command_vkCmdDrawIndexedIndirectCount args;
4770
4771 if (!ctx->dispatch_vkCmdDrawIndexedIndirectCount) {
4772 vn_cs_decoder_set_fatal(ctx->decoder);
4773 return;
4774 }
4775
4776 vn_decode_vkCmdDrawIndexedIndirectCount_args_temp(ctx->decoder, &args);
4777 if (!args.commandBuffer) {
4778 vn_cs_decoder_set_fatal(ctx->decoder);
4779 return;
4780 }
4781
4782 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4783 ctx->dispatch_vkCmdDrawIndexedIndirectCount(ctx, &args);
4784
4785
4786 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4787 vn_encode_vkCmdDrawIndexedIndirectCount_reply(ctx->encoder, &args);
4788
4789 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4790 }
4791
vn_dispatch_vkCmdBindTransformFeedbackBuffersEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4792 static inline void vn_dispatch_vkCmdBindTransformFeedbackBuffersEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4793 {
4794 struct vn_command_vkCmdBindTransformFeedbackBuffersEXT args;
4795
4796 if (!ctx->dispatch_vkCmdBindTransformFeedbackBuffersEXT) {
4797 vn_cs_decoder_set_fatal(ctx->decoder);
4798 return;
4799 }
4800
4801 vn_decode_vkCmdBindTransformFeedbackBuffersEXT_args_temp(ctx->decoder, &args);
4802 if (!args.commandBuffer) {
4803 vn_cs_decoder_set_fatal(ctx->decoder);
4804 return;
4805 }
4806
4807 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4808 ctx->dispatch_vkCmdBindTransformFeedbackBuffersEXT(ctx, &args);
4809
4810
4811 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4812 vn_encode_vkCmdBindTransformFeedbackBuffersEXT_reply(ctx->encoder, &args);
4813
4814 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4815 }
4816
vn_dispatch_vkCmdBeginTransformFeedbackEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4817 static inline void vn_dispatch_vkCmdBeginTransformFeedbackEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4818 {
4819 struct vn_command_vkCmdBeginTransformFeedbackEXT args;
4820
4821 if (!ctx->dispatch_vkCmdBeginTransformFeedbackEXT) {
4822 vn_cs_decoder_set_fatal(ctx->decoder);
4823 return;
4824 }
4825
4826 vn_decode_vkCmdBeginTransformFeedbackEXT_args_temp(ctx->decoder, &args);
4827 if (!args.commandBuffer) {
4828 vn_cs_decoder_set_fatal(ctx->decoder);
4829 return;
4830 }
4831
4832 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4833 ctx->dispatch_vkCmdBeginTransformFeedbackEXT(ctx, &args);
4834
4835
4836 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4837 vn_encode_vkCmdBeginTransformFeedbackEXT_reply(ctx->encoder, &args);
4838
4839 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4840 }
4841
vn_dispatch_vkCmdEndTransformFeedbackEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4842 static inline void vn_dispatch_vkCmdEndTransformFeedbackEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4843 {
4844 struct vn_command_vkCmdEndTransformFeedbackEXT args;
4845
4846 if (!ctx->dispatch_vkCmdEndTransformFeedbackEXT) {
4847 vn_cs_decoder_set_fatal(ctx->decoder);
4848 return;
4849 }
4850
4851 vn_decode_vkCmdEndTransformFeedbackEXT_args_temp(ctx->decoder, &args);
4852 if (!args.commandBuffer) {
4853 vn_cs_decoder_set_fatal(ctx->decoder);
4854 return;
4855 }
4856
4857 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4858 ctx->dispatch_vkCmdEndTransformFeedbackEXT(ctx, &args);
4859
4860
4861 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4862 vn_encode_vkCmdEndTransformFeedbackEXT_reply(ctx->encoder, &args);
4863
4864 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4865 }
4866
vn_dispatch_vkCmdBeginQueryIndexedEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4867 static inline void vn_dispatch_vkCmdBeginQueryIndexedEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4868 {
4869 struct vn_command_vkCmdBeginQueryIndexedEXT args;
4870
4871 if (!ctx->dispatch_vkCmdBeginQueryIndexedEXT) {
4872 vn_cs_decoder_set_fatal(ctx->decoder);
4873 return;
4874 }
4875
4876 vn_decode_vkCmdBeginQueryIndexedEXT_args_temp(ctx->decoder, &args);
4877 if (!args.commandBuffer) {
4878 vn_cs_decoder_set_fatal(ctx->decoder);
4879 return;
4880 }
4881
4882 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4883 ctx->dispatch_vkCmdBeginQueryIndexedEXT(ctx, &args);
4884
4885
4886 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4887 vn_encode_vkCmdBeginQueryIndexedEXT_reply(ctx->encoder, &args);
4888
4889 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4890 }
4891
vn_dispatch_vkCmdEndQueryIndexedEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4892 static inline void vn_dispatch_vkCmdEndQueryIndexedEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4893 {
4894 struct vn_command_vkCmdEndQueryIndexedEXT args;
4895
4896 if (!ctx->dispatch_vkCmdEndQueryIndexedEXT) {
4897 vn_cs_decoder_set_fatal(ctx->decoder);
4898 return;
4899 }
4900
4901 vn_decode_vkCmdEndQueryIndexedEXT_args_temp(ctx->decoder, &args);
4902 if (!args.commandBuffer) {
4903 vn_cs_decoder_set_fatal(ctx->decoder);
4904 return;
4905 }
4906
4907 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4908 ctx->dispatch_vkCmdEndQueryIndexedEXT(ctx, &args);
4909
4910
4911 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4912 vn_encode_vkCmdEndQueryIndexedEXT_reply(ctx->encoder, &args);
4913
4914 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4915 }
4916
vn_dispatch_vkCmdDrawIndirectByteCountEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)4917 static inline void vn_dispatch_vkCmdDrawIndirectByteCountEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
4918 {
4919 struct vn_command_vkCmdDrawIndirectByteCountEXT args;
4920
4921 if (!ctx->dispatch_vkCmdDrawIndirectByteCountEXT) {
4922 vn_cs_decoder_set_fatal(ctx->decoder);
4923 return;
4924 }
4925
4926 vn_decode_vkCmdDrawIndirectByteCountEXT_args_temp(ctx->decoder, &args);
4927 if (!args.commandBuffer) {
4928 vn_cs_decoder_set_fatal(ctx->decoder);
4929 return;
4930 }
4931
4932 if (!vn_cs_decoder_get_fatal(ctx->decoder))
4933 ctx->dispatch_vkCmdDrawIndirectByteCountEXT(ctx, &args);
4934
4935
4936 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
4937 vn_encode_vkCmdDrawIndirectByteCountEXT_reply(ctx->encoder, &args);
4938
4939 vn_cs_decoder_reset_temp_pool(ctx->decoder);
4940 }
4941
4942 #pragma GCC diagnostic pop
4943
4944 #endif /* VN_PROTOCOL_RENDERER_COMMAND_BUFFER_H */
4945