1
/* This file is generated by venus-protocol. See vn_protocol_driver.h. */
4
* Copyright 2020 Google LLC
5
* SPDX-License-Identifier: MIT
8
#ifndef VN_PROTOCOL_DRIVER_STRUCTS_H
9
#define VN_PROTOCOL_DRIVER_STRUCTS_H
11
#include "vn_protocol_driver_handles.h"
14
* These structs/unions/commands are not included
16
* VkAllocationCallbacks
19
/* struct VkExtent3D */
22
vn_sizeof_VkExtent3D(const VkExtent3D *val)
25
size += vn_sizeof_uint32_t(&val->width);
26
size += vn_sizeof_uint32_t(&val->height);
27
size += vn_sizeof_uint32_t(&val->depth);
32
vn_encode_VkExtent3D(struct vn_cs_encoder *enc, const VkExtent3D *val)
34
vn_encode_uint32_t(enc, &val->width);
35
vn_encode_uint32_t(enc, &val->height);
36
vn_encode_uint32_t(enc, &val->depth);
40
vn_decode_VkExtent3D(struct vn_cs_decoder *dec, VkExtent3D *val)
42
vn_decode_uint32_t(dec, &val->width);
43
vn_decode_uint32_t(dec, &val->height);
44
vn_decode_uint32_t(dec, &val->depth);
48
vn_sizeof_VkExtent3D_partial(const VkExtent3D *val)
52
/* skip val->height */
58
vn_encode_VkExtent3D_partial(struct vn_cs_encoder *enc, const VkExtent3D *val)
61
/* skip val->height */
65
/* struct VkLayerProperties */
68
vn_sizeof_VkLayerProperties(const VkLayerProperties *val)
71
size += vn_sizeof_array_size(VK_MAX_EXTENSION_NAME_SIZE);
72
size += vn_sizeof_char_array(val->layerName, VK_MAX_EXTENSION_NAME_SIZE);
73
size += vn_sizeof_uint32_t(&val->specVersion);
74
size += vn_sizeof_uint32_t(&val->implementationVersion);
75
size += vn_sizeof_array_size(VK_MAX_DESCRIPTION_SIZE);
76
size += vn_sizeof_char_array(val->description, VK_MAX_DESCRIPTION_SIZE);
81
vn_decode_VkLayerProperties(struct vn_cs_decoder *dec, VkLayerProperties *val)
84
const size_t array_size = vn_decode_array_size(dec, VK_MAX_EXTENSION_NAME_SIZE);
85
vn_decode_char_array(dec, val->layerName, array_size);
87
vn_decode_uint32_t(dec, &val->specVersion);
88
vn_decode_uint32_t(dec, &val->implementationVersion);
90
const size_t array_size = vn_decode_array_size(dec, VK_MAX_DESCRIPTION_SIZE);
91
vn_decode_char_array(dec, val->description, array_size);
96
vn_sizeof_VkLayerProperties_partial(const VkLayerProperties *val)
99
/* skip val->layerName */
100
/* skip val->specVersion */
101
/* skip val->implementationVersion */
102
/* skip val->description */
107
vn_encode_VkLayerProperties_partial(struct vn_cs_encoder *enc, const VkLayerProperties *val)
109
/* skip val->layerName */
110
/* skip val->specVersion */
111
/* skip val->implementationVersion */
112
/* skip val->description */
115
/* struct VkExtensionProperties */
118
vn_sizeof_VkExtensionProperties(const VkExtensionProperties *val)
121
size += vn_sizeof_array_size(VK_MAX_EXTENSION_NAME_SIZE);
122
size += vn_sizeof_char_array(val->extensionName, VK_MAX_EXTENSION_NAME_SIZE);
123
size += vn_sizeof_uint32_t(&val->specVersion);
128
vn_encode_VkExtensionProperties(struct vn_cs_encoder *enc, const VkExtensionProperties *val)
130
vn_encode_array_size(enc, VK_MAX_EXTENSION_NAME_SIZE);
131
vn_encode_char_array(enc, val->extensionName, VK_MAX_EXTENSION_NAME_SIZE);
132
vn_encode_uint32_t(enc, &val->specVersion);
136
vn_decode_VkExtensionProperties(struct vn_cs_decoder *dec, VkExtensionProperties *val)
139
const size_t array_size = vn_decode_array_size(dec, VK_MAX_EXTENSION_NAME_SIZE);
140
vn_decode_char_array(dec, val->extensionName, array_size);
142
vn_decode_uint32_t(dec, &val->specVersion);
146
vn_sizeof_VkExtensionProperties_partial(const VkExtensionProperties *val)
149
/* skip val->extensionName */
150
/* skip val->specVersion */
155
vn_encode_VkExtensionProperties_partial(struct vn_cs_encoder *enc, const VkExtensionProperties *val)
157
/* skip val->extensionName */
158
/* skip val->specVersion */
161
/* struct VkMemoryRequirements */
164
vn_sizeof_VkMemoryRequirements(const VkMemoryRequirements *val)
167
size += vn_sizeof_VkDeviceSize(&val->size);
168
size += vn_sizeof_VkDeviceSize(&val->alignment);
169
size += vn_sizeof_uint32_t(&val->memoryTypeBits);
174
vn_decode_VkMemoryRequirements(struct vn_cs_decoder *dec, VkMemoryRequirements *val)
176
vn_decode_VkDeviceSize(dec, &val->size);
177
vn_decode_VkDeviceSize(dec, &val->alignment);
178
vn_decode_uint32_t(dec, &val->memoryTypeBits);
182
vn_sizeof_VkMemoryRequirements_partial(const VkMemoryRequirements *val)
186
/* skip val->alignment */
187
/* skip val->memoryTypeBits */
192
vn_encode_VkMemoryRequirements_partial(struct vn_cs_encoder *enc, const VkMemoryRequirements *val)
195
/* skip val->alignment */
196
/* skip val->memoryTypeBits */
199
/* struct VkSparseImageFormatProperties */
202
vn_sizeof_VkSparseImageFormatProperties(const VkSparseImageFormatProperties *val)
205
size += vn_sizeof_VkFlags(&val->aspectMask);
206
size += vn_sizeof_VkExtent3D(&val->imageGranularity);
207
size += vn_sizeof_VkFlags(&val->flags);
212
vn_decode_VkSparseImageFormatProperties(struct vn_cs_decoder *dec, VkSparseImageFormatProperties *val)
214
vn_decode_VkFlags(dec, &val->aspectMask);
215
vn_decode_VkExtent3D(dec, &val->imageGranularity);
216
vn_decode_VkFlags(dec, &val->flags);
220
vn_sizeof_VkSparseImageFormatProperties_partial(const VkSparseImageFormatProperties *val)
223
/* skip val->aspectMask */
224
size += vn_sizeof_VkExtent3D_partial(&val->imageGranularity);
225
/* skip val->flags */
230
vn_encode_VkSparseImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties *val)
232
/* skip val->aspectMask */
233
vn_encode_VkExtent3D_partial(enc, &val->imageGranularity);
234
/* skip val->flags */
237
/* struct VkImageSubresource */
240
vn_sizeof_VkImageSubresource(const VkImageSubresource *val)
243
size += vn_sizeof_VkFlags(&val->aspectMask);
244
size += vn_sizeof_uint32_t(&val->mipLevel);
245
size += vn_sizeof_uint32_t(&val->arrayLayer);
250
vn_encode_VkImageSubresource(struct vn_cs_encoder *enc, const VkImageSubresource *val)
252
vn_encode_VkFlags(enc, &val->aspectMask);
253
vn_encode_uint32_t(enc, &val->mipLevel);
254
vn_encode_uint32_t(enc, &val->arrayLayer);
257
/* struct VkOffset3D */
260
vn_sizeof_VkOffset3D(const VkOffset3D *val)
263
size += vn_sizeof_int32_t(&val->x);
264
size += vn_sizeof_int32_t(&val->y);
265
size += vn_sizeof_int32_t(&val->z);
270
vn_encode_VkOffset3D(struct vn_cs_encoder *enc, const VkOffset3D *val)
272
vn_encode_int32_t(enc, &val->x);
273
vn_encode_int32_t(enc, &val->y);
274
vn_encode_int32_t(enc, &val->z);
277
/* struct VkSemaphoreTypeCreateInfo chain */
280
vn_sizeof_VkSemaphoreTypeCreateInfo_pnext(const void *val)
282
/* no known/supported struct */
283
return vn_sizeof_simple_pointer(NULL);
287
vn_sizeof_VkSemaphoreTypeCreateInfo_self(const VkSemaphoreTypeCreateInfo *val)
290
/* skip val->{sType,pNext} */
291
size += vn_sizeof_VkSemaphoreType(&val->semaphoreType);
292
size += vn_sizeof_uint64_t(&val->initialValue);
297
vn_sizeof_VkSemaphoreTypeCreateInfo(const VkSemaphoreTypeCreateInfo *val)
301
size += vn_sizeof_VkStructureType(&val->sType);
302
size += vn_sizeof_VkSemaphoreTypeCreateInfo_pnext(val->pNext);
303
size += vn_sizeof_VkSemaphoreTypeCreateInfo_self(val);
309
vn_encode_VkSemaphoreTypeCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
311
/* no known/supported struct */
312
vn_encode_simple_pointer(enc, NULL);
316
vn_encode_VkSemaphoreTypeCreateInfo_self(struct vn_cs_encoder *enc, const VkSemaphoreTypeCreateInfo *val)
318
/* skip val->{sType,pNext} */
319
vn_encode_VkSemaphoreType(enc, &val->semaphoreType);
320
vn_encode_uint64_t(enc, &val->initialValue);
324
vn_encode_VkSemaphoreTypeCreateInfo(struct vn_cs_encoder *enc, const VkSemaphoreTypeCreateInfo *val)
326
assert(val->sType == VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO);
327
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO });
328
vn_encode_VkSemaphoreTypeCreateInfo_pnext(enc, val->pNext);
329
vn_encode_VkSemaphoreTypeCreateInfo_self(enc, val);
332
/* struct VkImageFormatListCreateInfo chain */
335
vn_sizeof_VkImageFormatListCreateInfo_pnext(const void *val)
337
/* no known/supported struct */
338
return vn_sizeof_simple_pointer(NULL);
342
vn_sizeof_VkImageFormatListCreateInfo_self(const VkImageFormatListCreateInfo *val)
345
/* skip val->{sType,pNext} */
346
size += vn_sizeof_uint32_t(&val->viewFormatCount);
347
if (val->pViewFormats) {
348
size += vn_sizeof_array_size(val->viewFormatCount);
349
size += vn_sizeof_VkFormat_array(val->pViewFormats, val->viewFormatCount);
351
size += vn_sizeof_array_size(0);
357
vn_sizeof_VkImageFormatListCreateInfo(const VkImageFormatListCreateInfo *val)
361
size += vn_sizeof_VkStructureType(&val->sType);
362
size += vn_sizeof_VkImageFormatListCreateInfo_pnext(val->pNext);
363
size += vn_sizeof_VkImageFormatListCreateInfo_self(val);
369
vn_encode_VkImageFormatListCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
371
/* no known/supported struct */
372
vn_encode_simple_pointer(enc, NULL);
376
vn_encode_VkImageFormatListCreateInfo_self(struct vn_cs_encoder *enc, const VkImageFormatListCreateInfo *val)
378
/* skip val->{sType,pNext} */
379
vn_encode_uint32_t(enc, &val->viewFormatCount);
380
if (val->pViewFormats) {
381
vn_encode_array_size(enc, val->viewFormatCount);
382
vn_encode_VkFormat_array(enc, val->pViewFormats, val->viewFormatCount);
384
vn_encode_array_size(enc, 0);
389
vn_encode_VkImageFormatListCreateInfo(struct vn_cs_encoder *enc, const VkImageFormatListCreateInfo *val)
391
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO);
392
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO });
393
vn_encode_VkImageFormatListCreateInfo_pnext(enc, val->pNext);
394
vn_encode_VkImageFormatListCreateInfo_self(enc, val);
397
/* struct VkImageStencilUsageCreateInfo chain */
400
vn_sizeof_VkImageStencilUsageCreateInfo_pnext(const void *val)
402
/* no known/supported struct */
403
return vn_sizeof_simple_pointer(NULL);
407
vn_sizeof_VkImageStencilUsageCreateInfo_self(const VkImageStencilUsageCreateInfo *val)
410
/* skip val->{sType,pNext} */
411
size += vn_sizeof_VkFlags(&val->stencilUsage);
416
vn_sizeof_VkImageStencilUsageCreateInfo(const VkImageStencilUsageCreateInfo *val)
420
size += vn_sizeof_VkStructureType(&val->sType);
421
size += vn_sizeof_VkImageStencilUsageCreateInfo_pnext(val->pNext);
422
size += vn_sizeof_VkImageStencilUsageCreateInfo_self(val);
428
vn_encode_VkImageStencilUsageCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)
430
/* no known/supported struct */
431
vn_encode_simple_pointer(enc, NULL);
435
vn_encode_VkImageStencilUsageCreateInfo_self(struct vn_cs_encoder *enc, const VkImageStencilUsageCreateInfo *val)
437
/* skip val->{sType,pNext} */
438
vn_encode_VkFlags(enc, &val->stencilUsage);
442
vn_encode_VkImageStencilUsageCreateInfo(struct vn_cs_encoder *enc, const VkImageStencilUsageCreateInfo *val)
444
assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO);
445
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO });
446
vn_encode_VkImageStencilUsageCreateInfo_pnext(enc, val->pNext);
447
vn_encode_VkImageStencilUsageCreateInfo_self(enc, val);
450
/* struct VkComponentMapping */
453
vn_sizeof_VkComponentMapping(const VkComponentMapping *val)
456
size += vn_sizeof_VkComponentSwizzle(&val->r);
457
size += vn_sizeof_VkComponentSwizzle(&val->g);
458
size += vn_sizeof_VkComponentSwizzle(&val->b);
459
size += vn_sizeof_VkComponentSwizzle(&val->a);
464
vn_encode_VkComponentMapping(struct vn_cs_encoder *enc, const VkComponentMapping *val)
466
vn_encode_VkComponentSwizzle(enc, &val->r);
467
vn_encode_VkComponentSwizzle(enc, &val->g);
468
vn_encode_VkComponentSwizzle(enc, &val->b);
469
vn_encode_VkComponentSwizzle(enc, &val->a);
473
vn_decode_VkComponentMapping(struct vn_cs_decoder *dec, VkComponentMapping *val)
475
vn_decode_VkComponentSwizzle(dec, &val->r);
476
vn_decode_VkComponentSwizzle(dec, &val->g);
477
vn_decode_VkComponentSwizzle(dec, &val->b);
478
vn_decode_VkComponentSwizzle(dec, &val->a);
482
vn_sizeof_VkComponentMapping_partial(const VkComponentMapping *val)
493
vn_encode_VkComponentMapping_partial(struct vn_cs_encoder *enc, const VkComponentMapping *val)
501
/* struct VkImageSubresourceRange */
504
vn_sizeof_VkImageSubresourceRange(const VkImageSubresourceRange *val)
507
size += vn_sizeof_VkFlags(&val->aspectMask);
508
size += vn_sizeof_uint32_t(&val->baseMipLevel);
509
size += vn_sizeof_uint32_t(&val->levelCount);
510
size += vn_sizeof_uint32_t(&val->baseArrayLayer);
511
size += vn_sizeof_uint32_t(&val->layerCount);
516
vn_encode_VkImageSubresourceRange(struct vn_cs_encoder *enc, const VkImageSubresourceRange *val)
518
vn_encode_VkFlags(enc, &val->aspectMask);
519
vn_encode_uint32_t(enc, &val->baseMipLevel);
520
vn_encode_uint32_t(enc, &val->levelCount);
521
vn_encode_uint32_t(enc, &val->baseArrayLayer);
522
vn_encode_uint32_t(enc, &val->layerCount);
525
/* struct VkSamplerYcbcrConversionInfo chain */
528
vn_sizeof_VkSamplerYcbcrConversionInfo_pnext(const void *val)
530
/* no known/supported struct */
531
return vn_sizeof_simple_pointer(NULL);
535
vn_sizeof_VkSamplerYcbcrConversionInfo_self(const VkSamplerYcbcrConversionInfo *val)
538
/* skip val->{sType,pNext} */
539
size += vn_sizeof_VkSamplerYcbcrConversion(&val->conversion);
544
vn_sizeof_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo *val)
548
size += vn_sizeof_VkStructureType(&val->sType);
549
size += vn_sizeof_VkSamplerYcbcrConversionInfo_pnext(val->pNext);
550
size += vn_sizeof_VkSamplerYcbcrConversionInfo_self(val);
556
vn_encode_VkSamplerYcbcrConversionInfo_pnext(struct vn_cs_encoder *enc, const void *val)
558
/* no known/supported struct */
559
vn_encode_simple_pointer(enc, NULL);
563
vn_encode_VkSamplerYcbcrConversionInfo_self(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionInfo *val)
565
/* skip val->{sType,pNext} */
566
vn_encode_VkSamplerYcbcrConversion(enc, &val->conversion);
570
vn_encode_VkSamplerYcbcrConversionInfo(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionInfo *val)
572
assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO);
573
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO });
574
vn_encode_VkSamplerYcbcrConversionInfo_pnext(enc, val->pNext);
575
vn_encode_VkSamplerYcbcrConversionInfo_self(enc, val);
578
/* struct VkViewport */
581
vn_sizeof_VkViewport(const VkViewport *val)
584
size += vn_sizeof_float(&val->x);
585
size += vn_sizeof_float(&val->y);
586
size += vn_sizeof_float(&val->width);
587
size += vn_sizeof_float(&val->height);
588
size += vn_sizeof_float(&val->minDepth);
589
size += vn_sizeof_float(&val->maxDepth);
594
vn_encode_VkViewport(struct vn_cs_encoder *enc, const VkViewport *val)
596
vn_encode_float(enc, &val->x);
597
vn_encode_float(enc, &val->y);
598
vn_encode_float(enc, &val->width);
599
vn_encode_float(enc, &val->height);
600
vn_encode_float(enc, &val->minDepth);
601
vn_encode_float(enc, &val->maxDepth);
604
/* struct VkOffset2D */
607
vn_sizeof_VkOffset2D(const VkOffset2D *val)
610
size += vn_sizeof_int32_t(&val->x);
611
size += vn_sizeof_int32_t(&val->y);
616
vn_encode_VkOffset2D(struct vn_cs_encoder *enc, const VkOffset2D *val)
618
vn_encode_int32_t(enc, &val->x);
619
vn_encode_int32_t(enc, &val->y);
623
vn_decode_VkOffset2D(struct vn_cs_decoder *dec, VkOffset2D *val)
625
vn_decode_int32_t(dec, &val->x);
626
vn_decode_int32_t(dec, &val->y);
630
vn_sizeof_VkOffset2D_partial(const VkOffset2D *val)
639
vn_encode_VkOffset2D_partial(struct vn_cs_encoder *enc, const VkOffset2D *val)
645
/* struct VkExtent2D */
648
vn_sizeof_VkExtent2D(const VkExtent2D *val)
651
size += vn_sizeof_uint32_t(&val->width);
652
size += vn_sizeof_uint32_t(&val->height);
657
vn_encode_VkExtent2D(struct vn_cs_encoder *enc, const VkExtent2D *val)
659
vn_encode_uint32_t(enc, &val->width);
660
vn_encode_uint32_t(enc, &val->height);
664
vn_decode_VkExtent2D(struct vn_cs_decoder *dec, VkExtent2D *val)
666
vn_decode_uint32_t(dec, &val->width);
667
vn_decode_uint32_t(dec, &val->height);
671
vn_sizeof_VkExtent2D_partial(const VkExtent2D *val)
674
/* skip val->width */
675
/* skip val->height */
680
vn_encode_VkExtent2D_partial(struct vn_cs_encoder *enc, const VkExtent2D *val)
682
/* skip val->width */
683
/* skip val->height */
686
/* struct VkRect2D */
689
vn_sizeof_VkRect2D(const VkRect2D *val)
692
size += vn_sizeof_VkOffset2D(&val->offset);
693
size += vn_sizeof_VkExtent2D(&val->extent);
698
vn_encode_VkRect2D(struct vn_cs_encoder *enc, const VkRect2D *val)
700
vn_encode_VkOffset2D(enc, &val->offset);
701
vn_encode_VkExtent2D(enc, &val->extent);
705
vn_decode_VkRect2D(struct vn_cs_decoder *dec, VkRect2D *val)
707
vn_decode_VkOffset2D(dec, &val->offset);
708
vn_decode_VkExtent2D(dec, &val->extent);
712
vn_sizeof_VkRect2D_partial(const VkRect2D *val)
715
size += vn_sizeof_VkOffset2D_partial(&val->offset);
716
size += vn_sizeof_VkExtent2D_partial(&val->extent);
721
vn_encode_VkRect2D_partial(struct vn_cs_encoder *enc, const VkRect2D *val)
723
vn_encode_VkOffset2D_partial(enc, &val->offset);
724
vn_encode_VkExtent2D_partial(enc, &val->extent);
727
/* union VkClearColorValue */
730
vn_sizeof_VkClearColorValue_tag(const VkClearColorValue *val, uint32_t tag)
732
size_t size = vn_sizeof_uint32_t(&tag);
735
size += vn_sizeof_array_size(4);
736
size += vn_sizeof_float_array(val->float32, 4);
739
size += vn_sizeof_array_size(4);
740
size += vn_sizeof_int32_t_array(val->int32, 4);
743
size += vn_sizeof_array_size(4);
744
size += vn_sizeof_uint32_t_array(val->uint32, 4);
754
vn_sizeof_VkClearColorValue(const VkClearColorValue *val)
756
return vn_sizeof_VkClearColorValue_tag(val, 2);
760
vn_encode_VkClearColorValue_tag(struct vn_cs_encoder *enc, const VkClearColorValue *val, uint32_t tag)
762
vn_encode_uint32_t(enc, &tag);
765
vn_encode_array_size(enc, 4);
766
vn_encode_float_array(enc, val->float32, 4);
769
vn_encode_array_size(enc, 4);
770
vn_encode_int32_t_array(enc, val->int32, 4);
773
vn_encode_array_size(enc, 4);
774
vn_encode_uint32_t_array(enc, val->uint32, 4);
783
vn_encode_VkClearColorValue(struct vn_cs_encoder *enc, const VkClearColorValue *val)
785
vn_encode_VkClearColorValue_tag(enc, val, 2); /* union with default tag */
788
/* struct VkMemoryDedicatedRequirements chain */
791
vn_sizeof_VkMemoryDedicatedRequirements_pnext(const void *val)
793
/* no known/supported struct */
794
return vn_sizeof_simple_pointer(NULL);
798
vn_sizeof_VkMemoryDedicatedRequirements_self(const VkMemoryDedicatedRequirements *val)
801
/* skip val->{sType,pNext} */
802
size += vn_sizeof_VkBool32(&val->prefersDedicatedAllocation);
803
size += vn_sizeof_VkBool32(&val->requiresDedicatedAllocation);
808
vn_sizeof_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements *val)
812
size += vn_sizeof_VkStructureType(&val->sType);
813
size += vn_sizeof_VkMemoryDedicatedRequirements_pnext(val->pNext);
814
size += vn_sizeof_VkMemoryDedicatedRequirements_self(val);
820
vn_decode_VkMemoryDedicatedRequirements_pnext(struct vn_cs_decoder *dec, const void *val)
822
/* no known/supported struct */
823
if (vn_decode_simple_pointer(dec))
828
vn_decode_VkMemoryDedicatedRequirements_self(struct vn_cs_decoder *dec, VkMemoryDedicatedRequirements *val)
830
/* skip val->{sType,pNext} */
831
vn_decode_VkBool32(dec, &val->prefersDedicatedAllocation);
832
vn_decode_VkBool32(dec, &val->requiresDedicatedAllocation);
836
vn_decode_VkMemoryDedicatedRequirements(struct vn_cs_decoder *dec, VkMemoryDedicatedRequirements *val)
838
VkStructureType stype;
839
vn_decode_VkStructureType(dec, &stype);
840
assert(stype == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS);
842
assert(val->sType == stype);
843
vn_decode_VkMemoryDedicatedRequirements_pnext(dec, val->pNext);
844
vn_decode_VkMemoryDedicatedRequirements_self(dec, val);
848
vn_sizeof_VkMemoryDedicatedRequirements_pnext_partial(const void *val)
850
/* no known/supported struct */
851
return vn_sizeof_simple_pointer(NULL);
855
vn_sizeof_VkMemoryDedicatedRequirements_self_partial(const VkMemoryDedicatedRequirements *val)
858
/* skip val->{sType,pNext} */
859
/* skip val->prefersDedicatedAllocation */
860
/* skip val->requiresDedicatedAllocation */
865
vn_sizeof_VkMemoryDedicatedRequirements_partial(const VkMemoryDedicatedRequirements *val)
869
size += vn_sizeof_VkStructureType(&val->sType);
870
size += vn_sizeof_VkMemoryDedicatedRequirements_pnext_partial(val->pNext);
871
size += vn_sizeof_VkMemoryDedicatedRequirements_self_partial(val);
877
vn_encode_VkMemoryDedicatedRequirements_pnext_partial(struct vn_cs_encoder *enc, const void *val)
879
/* no known/supported struct */
880
vn_encode_simple_pointer(enc, NULL);
884
vn_encode_VkMemoryDedicatedRequirements_self_partial(struct vn_cs_encoder *enc, const VkMemoryDedicatedRequirements *val)
886
/* skip val->{sType,pNext} */
887
/* skip val->prefersDedicatedAllocation */
888
/* skip val->requiresDedicatedAllocation */
892
vn_encode_VkMemoryDedicatedRequirements_partial(struct vn_cs_encoder *enc, const VkMemoryDedicatedRequirements *val)
894
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS);
895
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS });
896
vn_encode_VkMemoryDedicatedRequirements_pnext_partial(enc, val->pNext);
897
vn_encode_VkMemoryDedicatedRequirements_self_partial(enc, val);
900
/* struct VkMemoryRequirements2 chain */
903
vn_sizeof_VkMemoryRequirements2_pnext(const void *val)
905
const VkBaseInStructure *pnext = val;
909
switch ((int32_t)pnext->sType) {
910
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
911
size += vn_sizeof_simple_pointer(pnext);
912
size += vn_sizeof_VkStructureType(&pnext->sType);
913
size += vn_sizeof_VkMemoryRequirements2_pnext(pnext->pNext);
914
size += vn_sizeof_VkMemoryDedicatedRequirements_self((const VkMemoryDedicatedRequirements *)pnext);
917
/* ignore unknown/unsupported struct */
920
pnext = pnext->pNext;
923
return vn_sizeof_simple_pointer(NULL);
927
vn_sizeof_VkMemoryRequirements2_self(const VkMemoryRequirements2 *val)
930
/* skip val->{sType,pNext} */
931
size += vn_sizeof_VkMemoryRequirements(&val->memoryRequirements);
936
vn_sizeof_VkMemoryRequirements2(const VkMemoryRequirements2 *val)
940
size += vn_sizeof_VkStructureType(&val->sType);
941
size += vn_sizeof_VkMemoryRequirements2_pnext(val->pNext);
942
size += vn_sizeof_VkMemoryRequirements2_self(val);
948
vn_decode_VkMemoryRequirements2_pnext(struct vn_cs_decoder *dec, const void *val)
950
VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;
951
VkStructureType stype;
953
if (!vn_decode_simple_pointer(dec))
956
vn_decode_VkStructureType(dec, &stype);
959
if (pnext->sType == stype)
962
pnext = pnext->pNext;
965
switch ((int32_t)pnext->sType) {
966
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
967
vn_decode_VkMemoryRequirements2_pnext(dec, pnext->pNext);
968
vn_decode_VkMemoryDedicatedRequirements_self(dec, (VkMemoryDedicatedRequirements *)pnext);
977
vn_decode_VkMemoryRequirements2_self(struct vn_cs_decoder *dec, VkMemoryRequirements2 *val)
979
/* skip val->{sType,pNext} */
980
vn_decode_VkMemoryRequirements(dec, &val->memoryRequirements);
984
vn_decode_VkMemoryRequirements2(struct vn_cs_decoder *dec, VkMemoryRequirements2 *val)
986
VkStructureType stype;
987
vn_decode_VkStructureType(dec, &stype);
988
assert(stype == VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2);
990
assert(val->sType == stype);
991
vn_decode_VkMemoryRequirements2_pnext(dec, val->pNext);
992
vn_decode_VkMemoryRequirements2_self(dec, val);
996
vn_sizeof_VkMemoryRequirements2_pnext_partial(const void *val)
998
const VkBaseInStructure *pnext = val;
1002
switch ((int32_t)pnext->sType) {
1003
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
1004
size += vn_sizeof_simple_pointer(pnext);
1005
size += vn_sizeof_VkStructureType(&pnext->sType);
1006
size += vn_sizeof_VkMemoryRequirements2_pnext_partial(pnext->pNext);
1007
size += vn_sizeof_VkMemoryDedicatedRequirements_self_partial((const VkMemoryDedicatedRequirements *)pnext);
1010
/* ignore unknown/unsupported struct */
1013
pnext = pnext->pNext;
1016
return vn_sizeof_simple_pointer(NULL);
1019
static inline size_t
1020
vn_sizeof_VkMemoryRequirements2_self_partial(const VkMemoryRequirements2 *val)
1023
/* skip val->{sType,pNext} */
1024
size += vn_sizeof_VkMemoryRequirements_partial(&val->memoryRequirements);
1028
static inline size_t
1029
vn_sizeof_VkMemoryRequirements2_partial(const VkMemoryRequirements2 *val)
1033
size += vn_sizeof_VkStructureType(&val->sType);
1034
size += vn_sizeof_VkMemoryRequirements2_pnext_partial(val->pNext);
1035
size += vn_sizeof_VkMemoryRequirements2_self_partial(val);
1041
vn_encode_VkMemoryRequirements2_pnext_partial(struct vn_cs_encoder *enc, const void *val)
1043
const VkBaseInStructure *pnext = val;
1046
switch ((int32_t)pnext->sType) {
1047
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS:
1048
vn_encode_simple_pointer(enc, pnext);
1049
vn_encode_VkStructureType(enc, &pnext->sType);
1050
vn_encode_VkMemoryRequirements2_pnext_partial(enc, pnext->pNext);
1051
vn_encode_VkMemoryDedicatedRequirements_self_partial(enc, (const VkMemoryDedicatedRequirements *)pnext);
1054
/* ignore unknown/unsupported struct */
1057
pnext = pnext->pNext;
1060
vn_encode_simple_pointer(enc, NULL);
1064
vn_encode_VkMemoryRequirements2_self_partial(struct vn_cs_encoder *enc, const VkMemoryRequirements2 *val)
1066
/* skip val->{sType,pNext} */
1067
vn_encode_VkMemoryRequirements_partial(enc, &val->memoryRequirements);
1071
vn_encode_VkMemoryRequirements2_partial(struct vn_cs_encoder *enc, const VkMemoryRequirements2 *val)
1073
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2);
1074
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 });
1075
vn_encode_VkMemoryRequirements2_pnext_partial(enc, val->pNext);
1076
vn_encode_VkMemoryRequirements2_self_partial(enc, val);
1079
/* struct VkMemoryBarrier2 chain */
1081
static inline size_t
1082
vn_sizeof_VkMemoryBarrier2_pnext(const void *val)
1084
/* no known/supported struct */
1085
return vn_sizeof_simple_pointer(NULL);
1088
static inline size_t
1089
vn_sizeof_VkMemoryBarrier2_self(const VkMemoryBarrier2 *val)
1092
/* skip val->{sType,pNext} */
1093
size += vn_sizeof_VkFlags64(&val->srcStageMask);
1094
size += vn_sizeof_VkFlags64(&val->srcAccessMask);
1095
size += vn_sizeof_VkFlags64(&val->dstStageMask);
1096
size += vn_sizeof_VkFlags64(&val->dstAccessMask);
1100
static inline size_t
1101
vn_sizeof_VkMemoryBarrier2(const VkMemoryBarrier2 *val)
1105
size += vn_sizeof_VkStructureType(&val->sType);
1106
size += vn_sizeof_VkMemoryBarrier2_pnext(val->pNext);
1107
size += vn_sizeof_VkMemoryBarrier2_self(val);
1113
vn_encode_VkMemoryBarrier2_pnext(struct vn_cs_encoder *enc, const void *val)
1115
/* no known/supported struct */
1116
vn_encode_simple_pointer(enc, NULL);
1120
vn_encode_VkMemoryBarrier2_self(struct vn_cs_encoder *enc, const VkMemoryBarrier2 *val)
1122
/* skip val->{sType,pNext} */
1123
vn_encode_VkFlags64(enc, &val->srcStageMask);
1124
vn_encode_VkFlags64(enc, &val->srcAccessMask);
1125
vn_encode_VkFlags64(enc, &val->dstStageMask);
1126
vn_encode_VkFlags64(enc, &val->dstAccessMask);
1130
vn_encode_VkMemoryBarrier2(struct vn_cs_encoder *enc, const VkMemoryBarrier2 *val)
1132
assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_BARRIER_2);
1133
vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 });
1134
vn_encode_VkMemoryBarrier2_pnext(enc, val->pNext);
1135
vn_encode_VkMemoryBarrier2_self(enc, val);
1138
#endif /* VN_PROTOCOL_DRIVER_STRUCTS_H */