Path: blob/21.2-virgl/src/virtio/venus-protocol/vn_protocol_driver_device.h
4560 views
/* This file is generated by venus-protocol. See vn_protocol_driver.h. */12/*3* Copyright 2020 Google LLC4* SPDX-License-Identifier: MIT5*/67#ifndef VN_PROTOCOL_DRIVER_DEVICE_H8#define VN_PROTOCOL_DRIVER_DEVICE_H910#include "vn_device.h"11#include "vn_protocol_driver_structs.h"1213/*14* These structs/unions/commands are not included15*16* vkGetDeviceProcAddr17*/1819/* struct VkPhysicalDeviceLimits */2021static inline size_t22vn_sizeof_VkPhysicalDeviceLimits(const VkPhysicalDeviceLimits *val)23{24size_t size = 0;25size += vn_sizeof_uint32_t(&val->maxImageDimension1D);26size += vn_sizeof_uint32_t(&val->maxImageDimension2D);27size += vn_sizeof_uint32_t(&val->maxImageDimension3D);28size += vn_sizeof_uint32_t(&val->maxImageDimensionCube);29size += vn_sizeof_uint32_t(&val->maxImageArrayLayers);30size += vn_sizeof_uint32_t(&val->maxTexelBufferElements);31size += vn_sizeof_uint32_t(&val->maxUniformBufferRange);32size += vn_sizeof_uint32_t(&val->maxStorageBufferRange);33size += vn_sizeof_uint32_t(&val->maxPushConstantsSize);34size += vn_sizeof_uint32_t(&val->maxMemoryAllocationCount);35size += vn_sizeof_uint32_t(&val->maxSamplerAllocationCount);36size += vn_sizeof_VkDeviceSize(&val->bufferImageGranularity);37size += vn_sizeof_VkDeviceSize(&val->sparseAddressSpaceSize);38size += vn_sizeof_uint32_t(&val->maxBoundDescriptorSets);39size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorSamplers);40size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUniformBuffers);41size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorStorageBuffers);42size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorSampledImages);43size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorStorageImages);44size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorInputAttachments);45size += vn_sizeof_uint32_t(&val->maxPerStageResources);46size += vn_sizeof_uint32_t(&val->maxDescriptorSetSamplers);47size += vn_sizeof_uint32_t(&val->maxDescriptorSetUniformBuffers);48size += vn_sizeof_uint32_t(&val->maxDescriptorSetUniformBuffersDynamic);49size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageBuffers);50size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageBuffersDynamic);51size += vn_sizeof_uint32_t(&val->maxDescriptorSetSampledImages);52size += vn_sizeof_uint32_t(&val->maxDescriptorSetStorageImages);53size += vn_sizeof_uint32_t(&val->maxDescriptorSetInputAttachments);54size += vn_sizeof_uint32_t(&val->maxVertexInputAttributes);55size += vn_sizeof_uint32_t(&val->maxVertexInputBindings);56size += vn_sizeof_uint32_t(&val->maxVertexInputAttributeOffset);57size += vn_sizeof_uint32_t(&val->maxVertexInputBindingStride);58size += vn_sizeof_uint32_t(&val->maxVertexOutputComponents);59size += vn_sizeof_uint32_t(&val->maxTessellationGenerationLevel);60size += vn_sizeof_uint32_t(&val->maxTessellationPatchSize);61size += vn_sizeof_uint32_t(&val->maxTessellationControlPerVertexInputComponents);62size += vn_sizeof_uint32_t(&val->maxTessellationControlPerVertexOutputComponents);63size += vn_sizeof_uint32_t(&val->maxTessellationControlPerPatchOutputComponents);64size += vn_sizeof_uint32_t(&val->maxTessellationControlTotalOutputComponents);65size += vn_sizeof_uint32_t(&val->maxTessellationEvaluationInputComponents);66size += vn_sizeof_uint32_t(&val->maxTessellationEvaluationOutputComponents);67size += vn_sizeof_uint32_t(&val->maxGeometryShaderInvocations);68size += vn_sizeof_uint32_t(&val->maxGeometryInputComponents);69size += vn_sizeof_uint32_t(&val->maxGeometryOutputComponents);70size += vn_sizeof_uint32_t(&val->maxGeometryOutputVertices);71size += vn_sizeof_uint32_t(&val->maxGeometryTotalOutputComponents);72size += vn_sizeof_uint32_t(&val->maxFragmentInputComponents);73size += vn_sizeof_uint32_t(&val->maxFragmentOutputAttachments);74size += vn_sizeof_uint32_t(&val->maxFragmentDualSrcAttachments);75size += vn_sizeof_uint32_t(&val->maxFragmentCombinedOutputResources);76size += vn_sizeof_uint32_t(&val->maxComputeSharedMemorySize);77size += vn_sizeof_array_size(3);78size += vn_sizeof_uint32_t_array(val->maxComputeWorkGroupCount, 3);79size += vn_sizeof_uint32_t(&val->maxComputeWorkGroupInvocations);80size += vn_sizeof_array_size(3);81size += vn_sizeof_uint32_t_array(val->maxComputeWorkGroupSize, 3);82size += vn_sizeof_uint32_t(&val->subPixelPrecisionBits);83size += vn_sizeof_uint32_t(&val->subTexelPrecisionBits);84size += vn_sizeof_uint32_t(&val->mipmapPrecisionBits);85size += vn_sizeof_uint32_t(&val->maxDrawIndexedIndexValue);86size += vn_sizeof_uint32_t(&val->maxDrawIndirectCount);87size += vn_sizeof_float(&val->maxSamplerLodBias);88size += vn_sizeof_float(&val->maxSamplerAnisotropy);89size += vn_sizeof_uint32_t(&val->maxViewports);90size += vn_sizeof_array_size(2);91size += vn_sizeof_uint32_t_array(val->maxViewportDimensions, 2);92size += vn_sizeof_array_size(2);93size += vn_sizeof_float_array(val->viewportBoundsRange, 2);94size += vn_sizeof_uint32_t(&val->viewportSubPixelBits);95size += vn_sizeof_size_t(&val->minMemoryMapAlignment);96size += vn_sizeof_VkDeviceSize(&val->minTexelBufferOffsetAlignment);97size += vn_sizeof_VkDeviceSize(&val->minUniformBufferOffsetAlignment);98size += vn_sizeof_VkDeviceSize(&val->minStorageBufferOffsetAlignment);99size += vn_sizeof_int32_t(&val->minTexelOffset);100size += vn_sizeof_uint32_t(&val->maxTexelOffset);101size += vn_sizeof_int32_t(&val->minTexelGatherOffset);102size += vn_sizeof_uint32_t(&val->maxTexelGatherOffset);103size += vn_sizeof_float(&val->minInterpolationOffset);104size += vn_sizeof_float(&val->maxInterpolationOffset);105size += vn_sizeof_uint32_t(&val->subPixelInterpolationOffsetBits);106size += vn_sizeof_uint32_t(&val->maxFramebufferWidth);107size += vn_sizeof_uint32_t(&val->maxFramebufferHeight);108size += vn_sizeof_uint32_t(&val->maxFramebufferLayers);109size += vn_sizeof_VkFlags(&val->framebufferColorSampleCounts);110size += vn_sizeof_VkFlags(&val->framebufferDepthSampleCounts);111size += vn_sizeof_VkFlags(&val->framebufferStencilSampleCounts);112size += vn_sizeof_VkFlags(&val->framebufferNoAttachmentsSampleCounts);113size += vn_sizeof_uint32_t(&val->maxColorAttachments);114size += vn_sizeof_VkFlags(&val->sampledImageColorSampleCounts);115size += vn_sizeof_VkFlags(&val->sampledImageIntegerSampleCounts);116size += vn_sizeof_VkFlags(&val->sampledImageDepthSampleCounts);117size += vn_sizeof_VkFlags(&val->sampledImageStencilSampleCounts);118size += vn_sizeof_VkFlags(&val->storageImageSampleCounts);119size += vn_sizeof_uint32_t(&val->maxSampleMaskWords);120size += vn_sizeof_VkBool32(&val->timestampComputeAndGraphics);121size += vn_sizeof_float(&val->timestampPeriod);122size += vn_sizeof_uint32_t(&val->maxClipDistances);123size += vn_sizeof_uint32_t(&val->maxCullDistances);124size += vn_sizeof_uint32_t(&val->maxCombinedClipAndCullDistances);125size += vn_sizeof_uint32_t(&val->discreteQueuePriorities);126size += vn_sizeof_array_size(2);127size += vn_sizeof_float_array(val->pointSizeRange, 2);128size += vn_sizeof_array_size(2);129size += vn_sizeof_float_array(val->lineWidthRange, 2);130size += vn_sizeof_float(&val->pointSizeGranularity);131size += vn_sizeof_float(&val->lineWidthGranularity);132size += vn_sizeof_VkBool32(&val->strictLines);133size += vn_sizeof_VkBool32(&val->standardSampleLocations);134size += vn_sizeof_VkDeviceSize(&val->optimalBufferCopyOffsetAlignment);135size += vn_sizeof_VkDeviceSize(&val->optimalBufferCopyRowPitchAlignment);136size += vn_sizeof_VkDeviceSize(&val->nonCoherentAtomSize);137return size;138}139140static inline void141vn_decode_VkPhysicalDeviceLimits(struct vn_cs_decoder *dec, VkPhysicalDeviceLimits *val)142{143vn_decode_uint32_t(dec, &val->maxImageDimension1D);144vn_decode_uint32_t(dec, &val->maxImageDimension2D);145vn_decode_uint32_t(dec, &val->maxImageDimension3D);146vn_decode_uint32_t(dec, &val->maxImageDimensionCube);147vn_decode_uint32_t(dec, &val->maxImageArrayLayers);148vn_decode_uint32_t(dec, &val->maxTexelBufferElements);149vn_decode_uint32_t(dec, &val->maxUniformBufferRange);150vn_decode_uint32_t(dec, &val->maxStorageBufferRange);151vn_decode_uint32_t(dec, &val->maxPushConstantsSize);152vn_decode_uint32_t(dec, &val->maxMemoryAllocationCount);153vn_decode_uint32_t(dec, &val->maxSamplerAllocationCount);154vn_decode_VkDeviceSize(dec, &val->bufferImageGranularity);155vn_decode_VkDeviceSize(dec, &val->sparseAddressSpaceSize);156vn_decode_uint32_t(dec, &val->maxBoundDescriptorSets);157vn_decode_uint32_t(dec, &val->maxPerStageDescriptorSamplers);158vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUniformBuffers);159vn_decode_uint32_t(dec, &val->maxPerStageDescriptorStorageBuffers);160vn_decode_uint32_t(dec, &val->maxPerStageDescriptorSampledImages);161vn_decode_uint32_t(dec, &val->maxPerStageDescriptorStorageImages);162vn_decode_uint32_t(dec, &val->maxPerStageDescriptorInputAttachments);163vn_decode_uint32_t(dec, &val->maxPerStageResources);164vn_decode_uint32_t(dec, &val->maxDescriptorSetSamplers);165vn_decode_uint32_t(dec, &val->maxDescriptorSetUniformBuffers);166vn_decode_uint32_t(dec, &val->maxDescriptorSetUniformBuffersDynamic);167vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageBuffers);168vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageBuffersDynamic);169vn_decode_uint32_t(dec, &val->maxDescriptorSetSampledImages);170vn_decode_uint32_t(dec, &val->maxDescriptorSetStorageImages);171vn_decode_uint32_t(dec, &val->maxDescriptorSetInputAttachments);172vn_decode_uint32_t(dec, &val->maxVertexInputAttributes);173vn_decode_uint32_t(dec, &val->maxVertexInputBindings);174vn_decode_uint32_t(dec, &val->maxVertexInputAttributeOffset);175vn_decode_uint32_t(dec, &val->maxVertexInputBindingStride);176vn_decode_uint32_t(dec, &val->maxVertexOutputComponents);177vn_decode_uint32_t(dec, &val->maxTessellationGenerationLevel);178vn_decode_uint32_t(dec, &val->maxTessellationPatchSize);179vn_decode_uint32_t(dec, &val->maxTessellationControlPerVertexInputComponents);180vn_decode_uint32_t(dec, &val->maxTessellationControlPerVertexOutputComponents);181vn_decode_uint32_t(dec, &val->maxTessellationControlPerPatchOutputComponents);182vn_decode_uint32_t(dec, &val->maxTessellationControlTotalOutputComponents);183vn_decode_uint32_t(dec, &val->maxTessellationEvaluationInputComponents);184vn_decode_uint32_t(dec, &val->maxTessellationEvaluationOutputComponents);185vn_decode_uint32_t(dec, &val->maxGeometryShaderInvocations);186vn_decode_uint32_t(dec, &val->maxGeometryInputComponents);187vn_decode_uint32_t(dec, &val->maxGeometryOutputComponents);188vn_decode_uint32_t(dec, &val->maxGeometryOutputVertices);189vn_decode_uint32_t(dec, &val->maxGeometryTotalOutputComponents);190vn_decode_uint32_t(dec, &val->maxFragmentInputComponents);191vn_decode_uint32_t(dec, &val->maxFragmentOutputAttachments);192vn_decode_uint32_t(dec, &val->maxFragmentDualSrcAttachments);193vn_decode_uint32_t(dec, &val->maxFragmentCombinedOutputResources);194vn_decode_uint32_t(dec, &val->maxComputeSharedMemorySize);195{196const size_t array_size = vn_decode_array_size(dec, 3);197vn_decode_uint32_t_array(dec, val->maxComputeWorkGroupCount, array_size);198}199vn_decode_uint32_t(dec, &val->maxComputeWorkGroupInvocations);200{201const size_t array_size = vn_decode_array_size(dec, 3);202vn_decode_uint32_t_array(dec, val->maxComputeWorkGroupSize, array_size);203}204vn_decode_uint32_t(dec, &val->subPixelPrecisionBits);205vn_decode_uint32_t(dec, &val->subTexelPrecisionBits);206vn_decode_uint32_t(dec, &val->mipmapPrecisionBits);207vn_decode_uint32_t(dec, &val->maxDrawIndexedIndexValue);208vn_decode_uint32_t(dec, &val->maxDrawIndirectCount);209vn_decode_float(dec, &val->maxSamplerLodBias);210vn_decode_float(dec, &val->maxSamplerAnisotropy);211vn_decode_uint32_t(dec, &val->maxViewports);212{213const size_t array_size = vn_decode_array_size(dec, 2);214vn_decode_uint32_t_array(dec, val->maxViewportDimensions, array_size);215}216{217const size_t array_size = vn_decode_array_size(dec, 2);218vn_decode_float_array(dec, val->viewportBoundsRange, array_size);219}220vn_decode_uint32_t(dec, &val->viewportSubPixelBits);221vn_decode_size_t(dec, &val->minMemoryMapAlignment);222vn_decode_VkDeviceSize(dec, &val->minTexelBufferOffsetAlignment);223vn_decode_VkDeviceSize(dec, &val->minUniformBufferOffsetAlignment);224vn_decode_VkDeviceSize(dec, &val->minStorageBufferOffsetAlignment);225vn_decode_int32_t(dec, &val->minTexelOffset);226vn_decode_uint32_t(dec, &val->maxTexelOffset);227vn_decode_int32_t(dec, &val->minTexelGatherOffset);228vn_decode_uint32_t(dec, &val->maxTexelGatherOffset);229vn_decode_float(dec, &val->minInterpolationOffset);230vn_decode_float(dec, &val->maxInterpolationOffset);231vn_decode_uint32_t(dec, &val->subPixelInterpolationOffsetBits);232vn_decode_uint32_t(dec, &val->maxFramebufferWidth);233vn_decode_uint32_t(dec, &val->maxFramebufferHeight);234vn_decode_uint32_t(dec, &val->maxFramebufferLayers);235vn_decode_VkFlags(dec, &val->framebufferColorSampleCounts);236vn_decode_VkFlags(dec, &val->framebufferDepthSampleCounts);237vn_decode_VkFlags(dec, &val->framebufferStencilSampleCounts);238vn_decode_VkFlags(dec, &val->framebufferNoAttachmentsSampleCounts);239vn_decode_uint32_t(dec, &val->maxColorAttachments);240vn_decode_VkFlags(dec, &val->sampledImageColorSampleCounts);241vn_decode_VkFlags(dec, &val->sampledImageIntegerSampleCounts);242vn_decode_VkFlags(dec, &val->sampledImageDepthSampleCounts);243vn_decode_VkFlags(dec, &val->sampledImageStencilSampleCounts);244vn_decode_VkFlags(dec, &val->storageImageSampleCounts);245vn_decode_uint32_t(dec, &val->maxSampleMaskWords);246vn_decode_VkBool32(dec, &val->timestampComputeAndGraphics);247vn_decode_float(dec, &val->timestampPeriod);248vn_decode_uint32_t(dec, &val->maxClipDistances);249vn_decode_uint32_t(dec, &val->maxCullDistances);250vn_decode_uint32_t(dec, &val->maxCombinedClipAndCullDistances);251vn_decode_uint32_t(dec, &val->discreteQueuePriorities);252{253const size_t array_size = vn_decode_array_size(dec, 2);254vn_decode_float_array(dec, val->pointSizeRange, array_size);255}256{257const size_t array_size = vn_decode_array_size(dec, 2);258vn_decode_float_array(dec, val->lineWidthRange, array_size);259}260vn_decode_float(dec, &val->pointSizeGranularity);261vn_decode_float(dec, &val->lineWidthGranularity);262vn_decode_VkBool32(dec, &val->strictLines);263vn_decode_VkBool32(dec, &val->standardSampleLocations);264vn_decode_VkDeviceSize(dec, &val->optimalBufferCopyOffsetAlignment);265vn_decode_VkDeviceSize(dec, &val->optimalBufferCopyRowPitchAlignment);266vn_decode_VkDeviceSize(dec, &val->nonCoherentAtomSize);267}268269static inline size_t270vn_sizeof_VkPhysicalDeviceLimits_partial(const VkPhysicalDeviceLimits *val)271{272size_t size = 0;273/* skip val->maxImageDimension1D */274/* skip val->maxImageDimension2D */275/* skip val->maxImageDimension3D */276/* skip val->maxImageDimensionCube */277/* skip val->maxImageArrayLayers */278/* skip val->maxTexelBufferElements */279/* skip val->maxUniformBufferRange */280/* skip val->maxStorageBufferRange */281/* skip val->maxPushConstantsSize */282/* skip val->maxMemoryAllocationCount */283/* skip val->maxSamplerAllocationCount */284/* skip val->bufferImageGranularity */285/* skip val->sparseAddressSpaceSize */286/* skip val->maxBoundDescriptorSets */287/* skip val->maxPerStageDescriptorSamplers */288/* skip val->maxPerStageDescriptorUniformBuffers */289/* skip val->maxPerStageDescriptorStorageBuffers */290/* skip val->maxPerStageDescriptorSampledImages */291/* skip val->maxPerStageDescriptorStorageImages */292/* skip val->maxPerStageDescriptorInputAttachments */293/* skip val->maxPerStageResources */294/* skip val->maxDescriptorSetSamplers */295/* skip val->maxDescriptorSetUniformBuffers */296/* skip val->maxDescriptorSetUniformBuffersDynamic */297/* skip val->maxDescriptorSetStorageBuffers */298/* skip val->maxDescriptorSetStorageBuffersDynamic */299/* skip val->maxDescriptorSetSampledImages */300/* skip val->maxDescriptorSetStorageImages */301/* skip val->maxDescriptorSetInputAttachments */302/* skip val->maxVertexInputAttributes */303/* skip val->maxVertexInputBindings */304/* skip val->maxVertexInputAttributeOffset */305/* skip val->maxVertexInputBindingStride */306/* skip val->maxVertexOutputComponents */307/* skip val->maxTessellationGenerationLevel */308/* skip val->maxTessellationPatchSize */309/* skip val->maxTessellationControlPerVertexInputComponents */310/* skip val->maxTessellationControlPerVertexOutputComponents */311/* skip val->maxTessellationControlPerPatchOutputComponents */312/* skip val->maxTessellationControlTotalOutputComponents */313/* skip val->maxTessellationEvaluationInputComponents */314/* skip val->maxTessellationEvaluationOutputComponents */315/* skip val->maxGeometryShaderInvocations */316/* skip val->maxGeometryInputComponents */317/* skip val->maxGeometryOutputComponents */318/* skip val->maxGeometryOutputVertices */319/* skip val->maxGeometryTotalOutputComponents */320/* skip val->maxFragmentInputComponents */321/* skip val->maxFragmentOutputAttachments */322/* skip val->maxFragmentDualSrcAttachments */323/* skip val->maxFragmentCombinedOutputResources */324/* skip val->maxComputeSharedMemorySize */325/* skip val->maxComputeWorkGroupCount */326/* skip val->maxComputeWorkGroupInvocations */327/* skip val->maxComputeWorkGroupSize */328/* skip val->subPixelPrecisionBits */329/* skip val->subTexelPrecisionBits */330/* skip val->mipmapPrecisionBits */331/* skip val->maxDrawIndexedIndexValue */332/* skip val->maxDrawIndirectCount */333/* skip val->maxSamplerLodBias */334/* skip val->maxSamplerAnisotropy */335/* skip val->maxViewports */336/* skip val->maxViewportDimensions */337/* skip val->viewportBoundsRange */338/* skip val->viewportSubPixelBits */339/* skip val->minMemoryMapAlignment */340/* skip val->minTexelBufferOffsetAlignment */341/* skip val->minUniformBufferOffsetAlignment */342/* skip val->minStorageBufferOffsetAlignment */343/* skip val->minTexelOffset */344/* skip val->maxTexelOffset */345/* skip val->minTexelGatherOffset */346/* skip val->maxTexelGatherOffset */347/* skip val->minInterpolationOffset */348/* skip val->maxInterpolationOffset */349/* skip val->subPixelInterpolationOffsetBits */350/* skip val->maxFramebufferWidth */351/* skip val->maxFramebufferHeight */352/* skip val->maxFramebufferLayers */353/* skip val->framebufferColorSampleCounts */354/* skip val->framebufferDepthSampleCounts */355/* skip val->framebufferStencilSampleCounts */356/* skip val->framebufferNoAttachmentsSampleCounts */357/* skip val->maxColorAttachments */358/* skip val->sampledImageColorSampleCounts */359/* skip val->sampledImageIntegerSampleCounts */360/* skip val->sampledImageDepthSampleCounts */361/* skip val->sampledImageStencilSampleCounts */362/* skip val->storageImageSampleCounts */363/* skip val->maxSampleMaskWords */364/* skip val->timestampComputeAndGraphics */365/* skip val->timestampPeriod */366/* skip val->maxClipDistances */367/* skip val->maxCullDistances */368/* skip val->maxCombinedClipAndCullDistances */369/* skip val->discreteQueuePriorities */370/* skip val->pointSizeRange */371/* skip val->lineWidthRange */372/* skip val->pointSizeGranularity */373/* skip val->lineWidthGranularity */374/* skip val->strictLines */375/* skip val->standardSampleLocations */376/* skip val->optimalBufferCopyOffsetAlignment */377/* skip val->optimalBufferCopyRowPitchAlignment */378/* skip val->nonCoherentAtomSize */379return size;380}381382static inline void383vn_encode_VkPhysicalDeviceLimits_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceLimits *val)384{385/* skip val->maxImageDimension1D */386/* skip val->maxImageDimension2D */387/* skip val->maxImageDimension3D */388/* skip val->maxImageDimensionCube */389/* skip val->maxImageArrayLayers */390/* skip val->maxTexelBufferElements */391/* skip val->maxUniformBufferRange */392/* skip val->maxStorageBufferRange */393/* skip val->maxPushConstantsSize */394/* skip val->maxMemoryAllocationCount */395/* skip val->maxSamplerAllocationCount */396/* skip val->bufferImageGranularity */397/* skip val->sparseAddressSpaceSize */398/* skip val->maxBoundDescriptorSets */399/* skip val->maxPerStageDescriptorSamplers */400/* skip val->maxPerStageDescriptorUniformBuffers */401/* skip val->maxPerStageDescriptorStorageBuffers */402/* skip val->maxPerStageDescriptorSampledImages */403/* skip val->maxPerStageDescriptorStorageImages */404/* skip val->maxPerStageDescriptorInputAttachments */405/* skip val->maxPerStageResources */406/* skip val->maxDescriptorSetSamplers */407/* skip val->maxDescriptorSetUniformBuffers */408/* skip val->maxDescriptorSetUniformBuffersDynamic */409/* skip val->maxDescriptorSetStorageBuffers */410/* skip val->maxDescriptorSetStorageBuffersDynamic */411/* skip val->maxDescriptorSetSampledImages */412/* skip val->maxDescriptorSetStorageImages */413/* skip val->maxDescriptorSetInputAttachments */414/* skip val->maxVertexInputAttributes */415/* skip val->maxVertexInputBindings */416/* skip val->maxVertexInputAttributeOffset */417/* skip val->maxVertexInputBindingStride */418/* skip val->maxVertexOutputComponents */419/* skip val->maxTessellationGenerationLevel */420/* skip val->maxTessellationPatchSize */421/* skip val->maxTessellationControlPerVertexInputComponents */422/* skip val->maxTessellationControlPerVertexOutputComponents */423/* skip val->maxTessellationControlPerPatchOutputComponents */424/* skip val->maxTessellationControlTotalOutputComponents */425/* skip val->maxTessellationEvaluationInputComponents */426/* skip val->maxTessellationEvaluationOutputComponents */427/* skip val->maxGeometryShaderInvocations */428/* skip val->maxGeometryInputComponents */429/* skip val->maxGeometryOutputComponents */430/* skip val->maxGeometryOutputVertices */431/* skip val->maxGeometryTotalOutputComponents */432/* skip val->maxFragmentInputComponents */433/* skip val->maxFragmentOutputAttachments */434/* skip val->maxFragmentDualSrcAttachments */435/* skip val->maxFragmentCombinedOutputResources */436/* skip val->maxComputeSharedMemorySize */437/* skip val->maxComputeWorkGroupCount */438/* skip val->maxComputeWorkGroupInvocations */439/* skip val->maxComputeWorkGroupSize */440/* skip val->subPixelPrecisionBits */441/* skip val->subTexelPrecisionBits */442/* skip val->mipmapPrecisionBits */443/* skip val->maxDrawIndexedIndexValue */444/* skip val->maxDrawIndirectCount */445/* skip val->maxSamplerLodBias */446/* skip val->maxSamplerAnisotropy */447/* skip val->maxViewports */448/* skip val->maxViewportDimensions */449/* skip val->viewportBoundsRange */450/* skip val->viewportSubPixelBits */451/* skip val->minMemoryMapAlignment */452/* skip val->minTexelBufferOffsetAlignment */453/* skip val->minUniformBufferOffsetAlignment */454/* skip val->minStorageBufferOffsetAlignment */455/* skip val->minTexelOffset */456/* skip val->maxTexelOffset */457/* skip val->minTexelGatherOffset */458/* skip val->maxTexelGatherOffset */459/* skip val->minInterpolationOffset */460/* skip val->maxInterpolationOffset */461/* skip val->subPixelInterpolationOffsetBits */462/* skip val->maxFramebufferWidth */463/* skip val->maxFramebufferHeight */464/* skip val->maxFramebufferLayers */465/* skip val->framebufferColorSampleCounts */466/* skip val->framebufferDepthSampleCounts */467/* skip val->framebufferStencilSampleCounts */468/* skip val->framebufferNoAttachmentsSampleCounts */469/* skip val->maxColorAttachments */470/* skip val->sampledImageColorSampleCounts */471/* skip val->sampledImageIntegerSampleCounts */472/* skip val->sampledImageDepthSampleCounts */473/* skip val->sampledImageStencilSampleCounts */474/* skip val->storageImageSampleCounts */475/* skip val->maxSampleMaskWords */476/* skip val->timestampComputeAndGraphics */477/* skip val->timestampPeriod */478/* skip val->maxClipDistances */479/* skip val->maxCullDistances */480/* skip val->maxCombinedClipAndCullDistances */481/* skip val->discreteQueuePriorities */482/* skip val->pointSizeRange */483/* skip val->lineWidthRange */484/* skip val->pointSizeGranularity */485/* skip val->lineWidthGranularity */486/* skip val->strictLines */487/* skip val->standardSampleLocations */488/* skip val->optimalBufferCopyOffsetAlignment */489/* skip val->optimalBufferCopyRowPitchAlignment */490/* skip val->nonCoherentAtomSize */491}492493/* struct VkPhysicalDeviceSparseProperties */494495static inline size_t496vn_sizeof_VkPhysicalDeviceSparseProperties(const VkPhysicalDeviceSparseProperties *val)497{498size_t size = 0;499size += vn_sizeof_VkBool32(&val->residencyStandard2DBlockShape);500size += vn_sizeof_VkBool32(&val->residencyStandard2DMultisampleBlockShape);501size += vn_sizeof_VkBool32(&val->residencyStandard3DBlockShape);502size += vn_sizeof_VkBool32(&val->residencyAlignedMipSize);503size += vn_sizeof_VkBool32(&val->residencyNonResidentStrict);504return size;505}506507static inline void508vn_decode_VkPhysicalDeviceSparseProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSparseProperties *val)509{510vn_decode_VkBool32(dec, &val->residencyStandard2DBlockShape);511vn_decode_VkBool32(dec, &val->residencyStandard2DMultisampleBlockShape);512vn_decode_VkBool32(dec, &val->residencyStandard3DBlockShape);513vn_decode_VkBool32(dec, &val->residencyAlignedMipSize);514vn_decode_VkBool32(dec, &val->residencyNonResidentStrict);515}516517static inline size_t518vn_sizeof_VkPhysicalDeviceSparseProperties_partial(const VkPhysicalDeviceSparseProperties *val)519{520size_t size = 0;521/* skip val->residencyStandard2DBlockShape */522/* skip val->residencyStandard2DMultisampleBlockShape */523/* skip val->residencyStandard3DBlockShape */524/* skip val->residencyAlignedMipSize */525/* skip val->residencyNonResidentStrict */526return size;527}528529static inline void530vn_encode_VkPhysicalDeviceSparseProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseProperties *val)531{532/* skip val->residencyStandard2DBlockShape */533/* skip val->residencyStandard2DMultisampleBlockShape */534/* skip val->residencyStandard3DBlockShape */535/* skip val->residencyAlignedMipSize */536/* skip val->residencyNonResidentStrict */537}538539/* struct VkPhysicalDeviceProperties */540541static inline size_t542vn_sizeof_VkPhysicalDeviceProperties(const VkPhysicalDeviceProperties *val)543{544size_t size = 0;545size += vn_sizeof_uint32_t(&val->apiVersion);546size += vn_sizeof_uint32_t(&val->driverVersion);547size += vn_sizeof_uint32_t(&val->vendorID);548size += vn_sizeof_uint32_t(&val->deviceID);549size += vn_sizeof_VkPhysicalDeviceType(&val->deviceType);550size += vn_sizeof_array_size(VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);551size += vn_sizeof_blob_array(val->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);552size += vn_sizeof_array_size(VK_UUID_SIZE);553size += vn_sizeof_uint8_t_array(val->pipelineCacheUUID, VK_UUID_SIZE);554size += vn_sizeof_VkPhysicalDeviceLimits(&val->limits);555size += vn_sizeof_VkPhysicalDeviceSparseProperties(&val->sparseProperties);556return size;557}558559static inline void560vn_decode_VkPhysicalDeviceProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties *val)561{562vn_decode_uint32_t(dec, &val->apiVersion);563vn_decode_uint32_t(dec, &val->driverVersion);564vn_decode_uint32_t(dec, &val->vendorID);565vn_decode_uint32_t(dec, &val->deviceID);566vn_decode_VkPhysicalDeviceType(dec, &val->deviceType);567{568const size_t array_size = vn_decode_array_size(dec, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);569vn_decode_blob_array(dec, val->deviceName, array_size);570}571{572const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);573vn_decode_uint8_t_array(dec, val->pipelineCacheUUID, array_size);574}575vn_decode_VkPhysicalDeviceLimits(dec, &val->limits);576vn_decode_VkPhysicalDeviceSparseProperties(dec, &val->sparseProperties);577}578579static inline size_t580vn_sizeof_VkPhysicalDeviceProperties_partial(const VkPhysicalDeviceProperties *val)581{582size_t size = 0;583/* skip val->apiVersion */584/* skip val->driverVersion */585/* skip val->vendorID */586/* skip val->deviceID */587/* skip val->deviceType */588/* skip val->deviceName */589/* skip val->pipelineCacheUUID */590size += vn_sizeof_VkPhysicalDeviceLimits_partial(&val->limits);591size += vn_sizeof_VkPhysicalDeviceSparseProperties_partial(&val->sparseProperties);592return size;593}594595static inline void596vn_encode_VkPhysicalDeviceProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties *val)597{598/* skip val->apiVersion */599/* skip val->driverVersion */600/* skip val->vendorID */601/* skip val->deviceID */602/* skip val->deviceType */603/* skip val->deviceName */604/* skip val->pipelineCacheUUID */605vn_encode_VkPhysicalDeviceLimits_partial(enc, &val->limits);606vn_encode_VkPhysicalDeviceSparseProperties_partial(enc, &val->sparseProperties);607}608609/* struct VkQueueFamilyProperties */610611static inline size_t612vn_sizeof_VkQueueFamilyProperties(const VkQueueFamilyProperties *val)613{614size_t size = 0;615size += vn_sizeof_VkFlags(&val->queueFlags);616size += vn_sizeof_uint32_t(&val->queueCount);617size += vn_sizeof_uint32_t(&val->timestampValidBits);618size += vn_sizeof_VkExtent3D(&val->minImageTransferGranularity);619return size;620}621622static inline void623vn_decode_VkQueueFamilyProperties(struct vn_cs_decoder *dec, VkQueueFamilyProperties *val)624{625vn_decode_VkFlags(dec, &val->queueFlags);626vn_decode_uint32_t(dec, &val->queueCount);627vn_decode_uint32_t(dec, &val->timestampValidBits);628vn_decode_VkExtent3D(dec, &val->minImageTransferGranularity);629}630631static inline size_t632vn_sizeof_VkQueueFamilyProperties_partial(const VkQueueFamilyProperties *val)633{634size_t size = 0;635/* skip val->queueFlags */636/* skip val->queueCount */637/* skip val->timestampValidBits */638size += vn_sizeof_VkExtent3D_partial(&val->minImageTransferGranularity);639return size;640}641642static inline void643vn_encode_VkQueueFamilyProperties_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties *val)644{645/* skip val->queueFlags */646/* skip val->queueCount */647/* skip val->timestampValidBits */648vn_encode_VkExtent3D_partial(enc, &val->minImageTransferGranularity);649}650651/* struct VkMemoryType */652653static inline size_t654vn_sizeof_VkMemoryType(const VkMemoryType *val)655{656size_t size = 0;657size += vn_sizeof_VkFlags(&val->propertyFlags);658size += vn_sizeof_uint32_t(&val->heapIndex);659return size;660}661662static inline void663vn_decode_VkMemoryType(struct vn_cs_decoder *dec, VkMemoryType *val)664{665vn_decode_VkFlags(dec, &val->propertyFlags);666vn_decode_uint32_t(dec, &val->heapIndex);667}668669static inline size_t670vn_sizeof_VkMemoryType_partial(const VkMemoryType *val)671{672size_t size = 0;673/* skip val->propertyFlags */674/* skip val->heapIndex */675return size;676}677678static inline void679vn_encode_VkMemoryType_partial(struct vn_cs_encoder *enc, const VkMemoryType *val)680{681/* skip val->propertyFlags */682/* skip val->heapIndex */683}684685/* struct VkMemoryHeap */686687static inline size_t688vn_sizeof_VkMemoryHeap(const VkMemoryHeap *val)689{690size_t size = 0;691size += vn_sizeof_VkDeviceSize(&val->size);692size += vn_sizeof_VkFlags(&val->flags);693return size;694}695696static inline void697vn_decode_VkMemoryHeap(struct vn_cs_decoder *dec, VkMemoryHeap *val)698{699vn_decode_VkDeviceSize(dec, &val->size);700vn_decode_VkFlags(dec, &val->flags);701}702703static inline size_t704vn_sizeof_VkMemoryHeap_partial(const VkMemoryHeap *val)705{706size_t size = 0;707/* skip val->size */708/* skip val->flags */709return size;710}711712static inline void713vn_encode_VkMemoryHeap_partial(struct vn_cs_encoder *enc, const VkMemoryHeap *val)714{715/* skip val->size */716/* skip val->flags */717}718719/* struct VkPhysicalDeviceMemoryProperties */720721static inline size_t722vn_sizeof_VkPhysicalDeviceMemoryProperties(const VkPhysicalDeviceMemoryProperties *val)723{724size_t size = 0;725size += vn_sizeof_uint32_t(&val->memoryTypeCount);726size += vn_sizeof_array_size(VK_MAX_MEMORY_TYPES);727for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)728size += vn_sizeof_VkMemoryType(&val->memoryTypes[i]);729size += vn_sizeof_uint32_t(&val->memoryHeapCount);730size += vn_sizeof_array_size(VK_MAX_MEMORY_HEAPS);731for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)732size += vn_sizeof_VkMemoryHeap(&val->memoryHeaps[i]);733return size;734}735736static inline void737vn_decode_VkPhysicalDeviceMemoryProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties *val)738{739vn_decode_uint32_t(dec, &val->memoryTypeCount);740{741vn_decode_array_size(dec, VK_MAX_MEMORY_TYPES);742for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)743vn_decode_VkMemoryType(dec, &val->memoryTypes[i]);744}745vn_decode_uint32_t(dec, &val->memoryHeapCount);746{747vn_decode_array_size(dec, VK_MAX_MEMORY_HEAPS);748for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)749vn_decode_VkMemoryHeap(dec, &val->memoryHeaps[i]);750}751}752753static inline size_t754vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(const VkPhysicalDeviceMemoryProperties *val)755{756size_t size = 0;757/* skip val->memoryTypeCount */758size += vn_sizeof_array_size(VK_MAX_MEMORY_TYPES);759for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)760size += vn_sizeof_VkMemoryType_partial(&val->memoryTypes[i]);761/* skip val->memoryHeapCount */762size += vn_sizeof_array_size(VK_MAX_MEMORY_HEAPS);763for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)764size += vn_sizeof_VkMemoryHeap_partial(&val->memoryHeaps[i]);765return size;766}767768static inline void769vn_encode_VkPhysicalDeviceMemoryProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties *val)770{771/* skip val->memoryTypeCount */772vn_encode_array_size(enc, VK_MAX_MEMORY_TYPES);773for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)774vn_encode_VkMemoryType_partial(enc, &val->memoryTypes[i]);775/* skip val->memoryHeapCount */776vn_encode_array_size(enc, VK_MAX_MEMORY_HEAPS);777for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)778vn_encode_VkMemoryHeap_partial(enc, &val->memoryHeaps[i]);779}780781/* struct VkPhysicalDeviceFeatures */782783static inline size_t784vn_sizeof_VkPhysicalDeviceFeatures(const VkPhysicalDeviceFeatures *val)785{786size_t size = 0;787size += vn_sizeof_VkBool32(&val->robustBufferAccess);788size += vn_sizeof_VkBool32(&val->fullDrawIndexUint32);789size += vn_sizeof_VkBool32(&val->imageCubeArray);790size += vn_sizeof_VkBool32(&val->independentBlend);791size += vn_sizeof_VkBool32(&val->geometryShader);792size += vn_sizeof_VkBool32(&val->tessellationShader);793size += vn_sizeof_VkBool32(&val->sampleRateShading);794size += vn_sizeof_VkBool32(&val->dualSrcBlend);795size += vn_sizeof_VkBool32(&val->logicOp);796size += vn_sizeof_VkBool32(&val->multiDrawIndirect);797size += vn_sizeof_VkBool32(&val->drawIndirectFirstInstance);798size += vn_sizeof_VkBool32(&val->depthClamp);799size += vn_sizeof_VkBool32(&val->depthBiasClamp);800size += vn_sizeof_VkBool32(&val->fillModeNonSolid);801size += vn_sizeof_VkBool32(&val->depthBounds);802size += vn_sizeof_VkBool32(&val->wideLines);803size += vn_sizeof_VkBool32(&val->largePoints);804size += vn_sizeof_VkBool32(&val->alphaToOne);805size += vn_sizeof_VkBool32(&val->multiViewport);806size += vn_sizeof_VkBool32(&val->samplerAnisotropy);807size += vn_sizeof_VkBool32(&val->textureCompressionETC2);808size += vn_sizeof_VkBool32(&val->textureCompressionASTC_LDR);809size += vn_sizeof_VkBool32(&val->textureCompressionBC);810size += vn_sizeof_VkBool32(&val->occlusionQueryPrecise);811size += vn_sizeof_VkBool32(&val->pipelineStatisticsQuery);812size += vn_sizeof_VkBool32(&val->vertexPipelineStoresAndAtomics);813size += vn_sizeof_VkBool32(&val->fragmentStoresAndAtomics);814size += vn_sizeof_VkBool32(&val->shaderTessellationAndGeometryPointSize);815size += vn_sizeof_VkBool32(&val->shaderImageGatherExtended);816size += vn_sizeof_VkBool32(&val->shaderStorageImageExtendedFormats);817size += vn_sizeof_VkBool32(&val->shaderStorageImageMultisample);818size += vn_sizeof_VkBool32(&val->shaderStorageImageReadWithoutFormat);819size += vn_sizeof_VkBool32(&val->shaderStorageImageWriteWithoutFormat);820size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayDynamicIndexing);821size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayDynamicIndexing);822size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayDynamicIndexing);823size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayDynamicIndexing);824size += vn_sizeof_VkBool32(&val->shaderClipDistance);825size += vn_sizeof_VkBool32(&val->shaderCullDistance);826size += vn_sizeof_VkBool32(&val->shaderFloat64);827size += vn_sizeof_VkBool32(&val->shaderInt64);828size += vn_sizeof_VkBool32(&val->shaderInt16);829size += vn_sizeof_VkBool32(&val->shaderResourceResidency);830size += vn_sizeof_VkBool32(&val->shaderResourceMinLod);831size += vn_sizeof_VkBool32(&val->sparseBinding);832size += vn_sizeof_VkBool32(&val->sparseResidencyBuffer);833size += vn_sizeof_VkBool32(&val->sparseResidencyImage2D);834size += vn_sizeof_VkBool32(&val->sparseResidencyImage3D);835size += vn_sizeof_VkBool32(&val->sparseResidency2Samples);836size += vn_sizeof_VkBool32(&val->sparseResidency4Samples);837size += vn_sizeof_VkBool32(&val->sparseResidency8Samples);838size += vn_sizeof_VkBool32(&val->sparseResidency16Samples);839size += vn_sizeof_VkBool32(&val->sparseResidencyAliased);840size += vn_sizeof_VkBool32(&val->variableMultisampleRate);841size += vn_sizeof_VkBool32(&val->inheritedQueries);842return size;843}844845static inline void846vn_encode_VkPhysicalDeviceFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)847{848vn_encode_VkBool32(enc, &val->robustBufferAccess);849vn_encode_VkBool32(enc, &val->fullDrawIndexUint32);850vn_encode_VkBool32(enc, &val->imageCubeArray);851vn_encode_VkBool32(enc, &val->independentBlend);852vn_encode_VkBool32(enc, &val->geometryShader);853vn_encode_VkBool32(enc, &val->tessellationShader);854vn_encode_VkBool32(enc, &val->sampleRateShading);855vn_encode_VkBool32(enc, &val->dualSrcBlend);856vn_encode_VkBool32(enc, &val->logicOp);857vn_encode_VkBool32(enc, &val->multiDrawIndirect);858vn_encode_VkBool32(enc, &val->drawIndirectFirstInstance);859vn_encode_VkBool32(enc, &val->depthClamp);860vn_encode_VkBool32(enc, &val->depthBiasClamp);861vn_encode_VkBool32(enc, &val->fillModeNonSolid);862vn_encode_VkBool32(enc, &val->depthBounds);863vn_encode_VkBool32(enc, &val->wideLines);864vn_encode_VkBool32(enc, &val->largePoints);865vn_encode_VkBool32(enc, &val->alphaToOne);866vn_encode_VkBool32(enc, &val->multiViewport);867vn_encode_VkBool32(enc, &val->samplerAnisotropy);868vn_encode_VkBool32(enc, &val->textureCompressionETC2);869vn_encode_VkBool32(enc, &val->textureCompressionASTC_LDR);870vn_encode_VkBool32(enc, &val->textureCompressionBC);871vn_encode_VkBool32(enc, &val->occlusionQueryPrecise);872vn_encode_VkBool32(enc, &val->pipelineStatisticsQuery);873vn_encode_VkBool32(enc, &val->vertexPipelineStoresAndAtomics);874vn_encode_VkBool32(enc, &val->fragmentStoresAndAtomics);875vn_encode_VkBool32(enc, &val->shaderTessellationAndGeometryPointSize);876vn_encode_VkBool32(enc, &val->shaderImageGatherExtended);877vn_encode_VkBool32(enc, &val->shaderStorageImageExtendedFormats);878vn_encode_VkBool32(enc, &val->shaderStorageImageMultisample);879vn_encode_VkBool32(enc, &val->shaderStorageImageReadWithoutFormat);880vn_encode_VkBool32(enc, &val->shaderStorageImageWriteWithoutFormat);881vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayDynamicIndexing);882vn_encode_VkBool32(enc, &val->shaderSampledImageArrayDynamicIndexing);883vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayDynamicIndexing);884vn_encode_VkBool32(enc, &val->shaderStorageImageArrayDynamicIndexing);885vn_encode_VkBool32(enc, &val->shaderClipDistance);886vn_encode_VkBool32(enc, &val->shaderCullDistance);887vn_encode_VkBool32(enc, &val->shaderFloat64);888vn_encode_VkBool32(enc, &val->shaderInt64);889vn_encode_VkBool32(enc, &val->shaderInt16);890vn_encode_VkBool32(enc, &val->shaderResourceResidency);891vn_encode_VkBool32(enc, &val->shaderResourceMinLod);892vn_encode_VkBool32(enc, &val->sparseBinding);893vn_encode_VkBool32(enc, &val->sparseResidencyBuffer);894vn_encode_VkBool32(enc, &val->sparseResidencyImage2D);895vn_encode_VkBool32(enc, &val->sparseResidencyImage3D);896vn_encode_VkBool32(enc, &val->sparseResidency2Samples);897vn_encode_VkBool32(enc, &val->sparseResidency4Samples);898vn_encode_VkBool32(enc, &val->sparseResidency8Samples);899vn_encode_VkBool32(enc, &val->sparseResidency16Samples);900vn_encode_VkBool32(enc, &val->sparseResidencyAliased);901vn_encode_VkBool32(enc, &val->variableMultisampleRate);902vn_encode_VkBool32(enc, &val->inheritedQueries);903}904905static inline void906vn_decode_VkPhysicalDeviceFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures *val)907{908vn_decode_VkBool32(dec, &val->robustBufferAccess);909vn_decode_VkBool32(dec, &val->fullDrawIndexUint32);910vn_decode_VkBool32(dec, &val->imageCubeArray);911vn_decode_VkBool32(dec, &val->independentBlend);912vn_decode_VkBool32(dec, &val->geometryShader);913vn_decode_VkBool32(dec, &val->tessellationShader);914vn_decode_VkBool32(dec, &val->sampleRateShading);915vn_decode_VkBool32(dec, &val->dualSrcBlend);916vn_decode_VkBool32(dec, &val->logicOp);917vn_decode_VkBool32(dec, &val->multiDrawIndirect);918vn_decode_VkBool32(dec, &val->drawIndirectFirstInstance);919vn_decode_VkBool32(dec, &val->depthClamp);920vn_decode_VkBool32(dec, &val->depthBiasClamp);921vn_decode_VkBool32(dec, &val->fillModeNonSolid);922vn_decode_VkBool32(dec, &val->depthBounds);923vn_decode_VkBool32(dec, &val->wideLines);924vn_decode_VkBool32(dec, &val->largePoints);925vn_decode_VkBool32(dec, &val->alphaToOne);926vn_decode_VkBool32(dec, &val->multiViewport);927vn_decode_VkBool32(dec, &val->samplerAnisotropy);928vn_decode_VkBool32(dec, &val->textureCompressionETC2);929vn_decode_VkBool32(dec, &val->textureCompressionASTC_LDR);930vn_decode_VkBool32(dec, &val->textureCompressionBC);931vn_decode_VkBool32(dec, &val->occlusionQueryPrecise);932vn_decode_VkBool32(dec, &val->pipelineStatisticsQuery);933vn_decode_VkBool32(dec, &val->vertexPipelineStoresAndAtomics);934vn_decode_VkBool32(dec, &val->fragmentStoresAndAtomics);935vn_decode_VkBool32(dec, &val->shaderTessellationAndGeometryPointSize);936vn_decode_VkBool32(dec, &val->shaderImageGatherExtended);937vn_decode_VkBool32(dec, &val->shaderStorageImageExtendedFormats);938vn_decode_VkBool32(dec, &val->shaderStorageImageMultisample);939vn_decode_VkBool32(dec, &val->shaderStorageImageReadWithoutFormat);940vn_decode_VkBool32(dec, &val->shaderStorageImageWriteWithoutFormat);941vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayDynamicIndexing);942vn_decode_VkBool32(dec, &val->shaderSampledImageArrayDynamicIndexing);943vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayDynamicIndexing);944vn_decode_VkBool32(dec, &val->shaderStorageImageArrayDynamicIndexing);945vn_decode_VkBool32(dec, &val->shaderClipDistance);946vn_decode_VkBool32(dec, &val->shaderCullDistance);947vn_decode_VkBool32(dec, &val->shaderFloat64);948vn_decode_VkBool32(dec, &val->shaderInt64);949vn_decode_VkBool32(dec, &val->shaderInt16);950vn_decode_VkBool32(dec, &val->shaderResourceResidency);951vn_decode_VkBool32(dec, &val->shaderResourceMinLod);952vn_decode_VkBool32(dec, &val->sparseBinding);953vn_decode_VkBool32(dec, &val->sparseResidencyBuffer);954vn_decode_VkBool32(dec, &val->sparseResidencyImage2D);955vn_decode_VkBool32(dec, &val->sparseResidencyImage3D);956vn_decode_VkBool32(dec, &val->sparseResidency2Samples);957vn_decode_VkBool32(dec, &val->sparseResidency4Samples);958vn_decode_VkBool32(dec, &val->sparseResidency8Samples);959vn_decode_VkBool32(dec, &val->sparseResidency16Samples);960vn_decode_VkBool32(dec, &val->sparseResidencyAliased);961vn_decode_VkBool32(dec, &val->variableMultisampleRate);962vn_decode_VkBool32(dec, &val->inheritedQueries);963}964965static inline size_t966vn_sizeof_VkPhysicalDeviceFeatures_partial(const VkPhysicalDeviceFeatures *val)967{968size_t size = 0;969/* skip val->robustBufferAccess */970/* skip val->fullDrawIndexUint32 */971/* skip val->imageCubeArray */972/* skip val->independentBlend */973/* skip val->geometryShader */974/* skip val->tessellationShader */975/* skip val->sampleRateShading */976/* skip val->dualSrcBlend */977/* skip val->logicOp */978/* skip val->multiDrawIndirect */979/* skip val->drawIndirectFirstInstance */980/* skip val->depthClamp */981/* skip val->depthBiasClamp */982/* skip val->fillModeNonSolid */983/* skip val->depthBounds */984/* skip val->wideLines */985/* skip val->largePoints */986/* skip val->alphaToOne */987/* skip val->multiViewport */988/* skip val->samplerAnisotropy */989/* skip val->textureCompressionETC2 */990/* skip val->textureCompressionASTC_LDR */991/* skip val->textureCompressionBC */992/* skip val->occlusionQueryPrecise */993/* skip val->pipelineStatisticsQuery */994/* skip val->vertexPipelineStoresAndAtomics */995/* skip val->fragmentStoresAndAtomics */996/* skip val->shaderTessellationAndGeometryPointSize */997/* skip val->shaderImageGatherExtended */998/* skip val->shaderStorageImageExtendedFormats */999/* skip val->shaderStorageImageMultisample */1000/* skip val->shaderStorageImageReadWithoutFormat */1001/* skip val->shaderStorageImageWriteWithoutFormat */1002/* skip val->shaderUniformBufferArrayDynamicIndexing */1003/* skip val->shaderSampledImageArrayDynamicIndexing */1004/* skip val->shaderStorageBufferArrayDynamicIndexing */1005/* skip val->shaderStorageImageArrayDynamicIndexing */1006/* skip val->shaderClipDistance */1007/* skip val->shaderCullDistance */1008/* skip val->shaderFloat64 */1009/* skip val->shaderInt64 */1010/* skip val->shaderInt16 */1011/* skip val->shaderResourceResidency */1012/* skip val->shaderResourceMinLod */1013/* skip val->sparseBinding */1014/* skip val->sparseResidencyBuffer */1015/* skip val->sparseResidencyImage2D */1016/* skip val->sparseResidencyImage3D */1017/* skip val->sparseResidency2Samples */1018/* skip val->sparseResidency4Samples */1019/* skip val->sparseResidency8Samples */1020/* skip val->sparseResidency16Samples */1021/* skip val->sparseResidencyAliased */1022/* skip val->variableMultisampleRate */1023/* skip val->inheritedQueries */1024return size;1025}10261027static inline void1028vn_encode_VkPhysicalDeviceFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)1029{1030/* skip val->robustBufferAccess */1031/* skip val->fullDrawIndexUint32 */1032/* skip val->imageCubeArray */1033/* skip val->independentBlend */1034/* skip val->geometryShader */1035/* skip val->tessellationShader */1036/* skip val->sampleRateShading */1037/* skip val->dualSrcBlend */1038/* skip val->logicOp */1039/* skip val->multiDrawIndirect */1040/* skip val->drawIndirectFirstInstance */1041/* skip val->depthClamp */1042/* skip val->depthBiasClamp */1043/* skip val->fillModeNonSolid */1044/* skip val->depthBounds */1045/* skip val->wideLines */1046/* skip val->largePoints */1047/* skip val->alphaToOne */1048/* skip val->multiViewport */1049/* skip val->samplerAnisotropy */1050/* skip val->textureCompressionETC2 */1051/* skip val->textureCompressionASTC_LDR */1052/* skip val->textureCompressionBC */1053/* skip val->occlusionQueryPrecise */1054/* skip val->pipelineStatisticsQuery */1055/* skip val->vertexPipelineStoresAndAtomics */1056/* skip val->fragmentStoresAndAtomics */1057/* skip val->shaderTessellationAndGeometryPointSize */1058/* skip val->shaderImageGatherExtended */1059/* skip val->shaderStorageImageExtendedFormats */1060/* skip val->shaderStorageImageMultisample */1061/* skip val->shaderStorageImageReadWithoutFormat */1062/* skip val->shaderStorageImageWriteWithoutFormat */1063/* skip val->shaderUniformBufferArrayDynamicIndexing */1064/* skip val->shaderSampledImageArrayDynamicIndexing */1065/* skip val->shaderStorageBufferArrayDynamicIndexing */1066/* skip val->shaderStorageImageArrayDynamicIndexing */1067/* skip val->shaderClipDistance */1068/* skip val->shaderCullDistance */1069/* skip val->shaderFloat64 */1070/* skip val->shaderInt64 */1071/* skip val->shaderInt16 */1072/* skip val->shaderResourceResidency */1073/* skip val->shaderResourceMinLod */1074/* skip val->sparseBinding */1075/* skip val->sparseResidencyBuffer */1076/* skip val->sparseResidencyImage2D */1077/* skip val->sparseResidencyImage3D */1078/* skip val->sparseResidency2Samples */1079/* skip val->sparseResidency4Samples */1080/* skip val->sparseResidency8Samples */1081/* skip val->sparseResidency16Samples */1082/* skip val->sparseResidencyAliased */1083/* skip val->variableMultisampleRate */1084/* skip val->inheritedQueries */1085}10861087/* struct VkFormatProperties */10881089static inline size_t1090vn_sizeof_VkFormatProperties(const VkFormatProperties *val)1091{1092size_t size = 0;1093size += vn_sizeof_VkFlags(&val->linearTilingFeatures);1094size += vn_sizeof_VkFlags(&val->optimalTilingFeatures);1095size += vn_sizeof_VkFlags(&val->bufferFeatures);1096return size;1097}10981099static inline void1100vn_decode_VkFormatProperties(struct vn_cs_decoder *dec, VkFormatProperties *val)1101{1102vn_decode_VkFlags(dec, &val->linearTilingFeatures);1103vn_decode_VkFlags(dec, &val->optimalTilingFeatures);1104vn_decode_VkFlags(dec, &val->bufferFeatures);1105}11061107static inline size_t1108vn_sizeof_VkFormatProperties_partial(const VkFormatProperties *val)1109{1110size_t size = 0;1111/* skip val->linearTilingFeatures */1112/* skip val->optimalTilingFeatures */1113/* skip val->bufferFeatures */1114return size;1115}11161117static inline void1118vn_encode_VkFormatProperties_partial(struct vn_cs_encoder *enc, const VkFormatProperties *val)1119{1120/* skip val->linearTilingFeatures */1121/* skip val->optimalTilingFeatures */1122/* skip val->bufferFeatures */1123}11241125/* struct VkImageFormatProperties */11261127static inline size_t1128vn_sizeof_VkImageFormatProperties(const VkImageFormatProperties *val)1129{1130size_t size = 0;1131size += vn_sizeof_VkExtent3D(&val->maxExtent);1132size += vn_sizeof_uint32_t(&val->maxMipLevels);1133size += vn_sizeof_uint32_t(&val->maxArrayLayers);1134size += vn_sizeof_VkFlags(&val->sampleCounts);1135size += vn_sizeof_VkDeviceSize(&val->maxResourceSize);1136return size;1137}11381139static inline void1140vn_decode_VkImageFormatProperties(struct vn_cs_decoder *dec, VkImageFormatProperties *val)1141{1142vn_decode_VkExtent3D(dec, &val->maxExtent);1143vn_decode_uint32_t(dec, &val->maxMipLevels);1144vn_decode_uint32_t(dec, &val->maxArrayLayers);1145vn_decode_VkFlags(dec, &val->sampleCounts);1146vn_decode_VkDeviceSize(dec, &val->maxResourceSize);1147}11481149static inline size_t1150vn_sizeof_VkImageFormatProperties_partial(const VkImageFormatProperties *val)1151{1152size_t size = 0;1153size += vn_sizeof_VkExtent3D_partial(&val->maxExtent);1154/* skip val->maxMipLevels */1155/* skip val->maxArrayLayers */1156/* skip val->sampleCounts */1157/* skip val->maxResourceSize */1158return size;1159}11601161static inline void1162vn_encode_VkImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties *val)1163{1164vn_encode_VkExtent3D_partial(enc, &val->maxExtent);1165/* skip val->maxMipLevels */1166/* skip val->maxArrayLayers */1167/* skip val->sampleCounts */1168/* skip val->maxResourceSize */1169}11701171/* struct VkDeviceQueueCreateInfo chain */11721173static inline size_t1174vn_sizeof_VkDeviceQueueCreateInfo_pnext(const void *val)1175{1176/* no known/supported struct */1177return vn_sizeof_simple_pointer(NULL);1178}11791180static inline size_t1181vn_sizeof_VkDeviceQueueCreateInfo_self(const VkDeviceQueueCreateInfo *val)1182{1183size_t size = 0;1184/* skip val->{sType,pNext} */1185size += vn_sizeof_VkFlags(&val->flags);1186size += vn_sizeof_uint32_t(&val->queueFamilyIndex);1187size += vn_sizeof_uint32_t(&val->queueCount);1188if (val->pQueuePriorities) {1189size += vn_sizeof_array_size(val->queueCount);1190size += vn_sizeof_float_array(val->pQueuePriorities, val->queueCount);1191} else {1192size += vn_sizeof_array_size(0);1193}1194return size;1195}11961197static inline size_t1198vn_sizeof_VkDeviceQueueCreateInfo(const VkDeviceQueueCreateInfo *val)1199{1200size_t size = 0;12011202size += vn_sizeof_VkStructureType(&val->sType);1203size += vn_sizeof_VkDeviceQueueCreateInfo_pnext(val->pNext);1204size += vn_sizeof_VkDeviceQueueCreateInfo_self(val);12051206return size;1207}12081209static inline void1210vn_encode_VkDeviceQueueCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)1211{1212/* no known/supported struct */1213vn_encode_simple_pointer(enc, NULL);1214}12151216static inline void1217vn_encode_VkDeviceQueueCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceQueueCreateInfo *val)1218{1219/* skip val->{sType,pNext} */1220vn_encode_VkFlags(enc, &val->flags);1221vn_encode_uint32_t(enc, &val->queueFamilyIndex);1222vn_encode_uint32_t(enc, &val->queueCount);1223if (val->pQueuePriorities) {1224vn_encode_array_size(enc, val->queueCount);1225vn_encode_float_array(enc, val->pQueuePriorities, val->queueCount);1226} else {1227vn_encode_array_size(enc, 0);1228}1229}12301231static inline void1232vn_encode_VkDeviceQueueCreateInfo(struct vn_cs_encoder *enc, const VkDeviceQueueCreateInfo *val)1233{1234assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO);1235vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO });1236vn_encode_VkDeviceQueueCreateInfo_pnext(enc, val->pNext);1237vn_encode_VkDeviceQueueCreateInfo_self(enc, val);1238}12391240/* struct VkPhysicalDeviceVariablePointersFeatures chain */12411242static inline size_t1243vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext(const void *val)1244{1245/* no known/supported struct */1246return vn_sizeof_simple_pointer(NULL);1247}12481249static inline size_t1250vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self(const VkPhysicalDeviceVariablePointersFeatures *val)1251{1252size_t size = 0;1253/* skip val->{sType,pNext} */1254size += vn_sizeof_VkBool32(&val->variablePointersStorageBuffer);1255size += vn_sizeof_VkBool32(&val->variablePointers);1256return size;1257}12581259static inline size_t1260vn_sizeof_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures *val)1261{1262size_t size = 0;12631264size += vn_sizeof_VkStructureType(&val->sType);1265size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext(val->pNext);1266size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self(val);12671268return size;1269}12701271static inline void1272vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)1273{1274/* no known/supported struct */1275vn_encode_simple_pointer(enc, NULL);1276}12771278static inline void1279vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)1280{1281/* skip val->{sType,pNext} */1282vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);1283vn_encode_VkBool32(enc, &val->variablePointers);1284}12851286static inline void1287vn_encode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)1288{1289assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);1290vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });1291vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(enc, val->pNext);1292vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, val);1293}12941295static inline void1296vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_decoder *dec, const void *val)1297{1298/* no known/supported struct */1299if (vn_decode_simple_pointer(dec))1300assert(false);1301}13021303static inline void1304vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)1305{1306/* skip val->{sType,pNext} */1307vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);1308vn_decode_VkBool32(dec, &val->variablePointers);1309}13101311static inline void1312vn_decode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)1313{1314VkStructureType stype;1315vn_decode_VkStructureType(dec, &stype);1316assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);13171318assert(val->sType == stype);1319vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext(dec, val->pNext);1320vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(dec, val);1321}13221323static inline size_t1324vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(const void *val)1325{1326/* no known/supported struct */1327return vn_sizeof_simple_pointer(NULL);1328}13291330static inline size_t1331vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial(const VkPhysicalDeviceVariablePointersFeatures *val)1332{1333size_t size = 0;1334/* skip val->{sType,pNext} */1335/* skip val->variablePointersStorageBuffer */1336/* skip val->variablePointers */1337return size;1338}13391340static inline size_t1341vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_partial(const VkPhysicalDeviceVariablePointersFeatures *val)1342{1343size_t size = 0;13441345size += vn_sizeof_VkStructureType(&val->sType);1346size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(val->pNext);1347size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial(val);13481349return size;1350}13511352static inline void1353vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)1354{1355/* no known/supported struct */1356vn_encode_simple_pointer(enc, NULL);1357}13581359static inline void1360vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)1361{1362/* skip val->{sType,pNext} */1363/* skip val->variablePointersStorageBuffer */1364/* skip val->variablePointers */1365}13661367static inline void1368vn_encode_VkPhysicalDeviceVariablePointersFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)1369{1370assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);1371vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });1372vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial(enc, val->pNext);1373vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(enc, val);1374}13751376/* struct VkPhysicalDeviceMultiviewFeatures chain */13771378static inline size_t1379vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext(const void *val)1380{1381/* no known/supported struct */1382return vn_sizeof_simple_pointer(NULL);1383}13841385static inline size_t1386vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self(const VkPhysicalDeviceMultiviewFeatures *val)1387{1388size_t size = 0;1389/* skip val->{sType,pNext} */1390size += vn_sizeof_VkBool32(&val->multiview);1391size += vn_sizeof_VkBool32(&val->multiviewGeometryShader);1392size += vn_sizeof_VkBool32(&val->multiviewTessellationShader);1393return size;1394}13951396static inline size_t1397vn_sizeof_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures *val)1398{1399size_t size = 0;14001401size += vn_sizeof_VkStructureType(&val->sType);1402size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext(val->pNext);1403size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self(val);14041405return size;1406}14071408static inline void1409vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_encoder *enc, const void *val)1410{1411/* no known/supported struct */1412vn_encode_simple_pointer(enc, NULL);1413}14141415static inline void1416vn_encode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)1417{1418/* skip val->{sType,pNext} */1419vn_encode_VkBool32(enc, &val->multiview);1420vn_encode_VkBool32(enc, &val->multiviewGeometryShader);1421vn_encode_VkBool32(enc, &val->multiviewTessellationShader);1422}14231424static inline void1425vn_encode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)1426{1427assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);1428vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });1429vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(enc, val->pNext);1430vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, val);1431}14321433static inline void1434vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_decoder *dec, const void *val)1435{1436/* no known/supported struct */1437if (vn_decode_simple_pointer(dec))1438assert(false);1439}14401441static inline void1442vn_decode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)1443{1444/* skip val->{sType,pNext} */1445vn_decode_VkBool32(dec, &val->multiview);1446vn_decode_VkBool32(dec, &val->multiviewGeometryShader);1447vn_decode_VkBool32(dec, &val->multiviewTessellationShader);1448}14491450static inline void1451vn_decode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)1452{1453VkStructureType stype;1454vn_decode_VkStructureType(dec, &stype);1455assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);14561457assert(val->sType == stype);1458vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext(dec, val->pNext);1459vn_decode_VkPhysicalDeviceMultiviewFeatures_self(dec, val);1460}14611462static inline size_t1463vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext_partial(const void *val)1464{1465/* no known/supported struct */1466return vn_sizeof_simple_pointer(NULL);1467}14681469static inline size_t1470vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial(const VkPhysicalDeviceMultiviewFeatures *val)1471{1472size_t size = 0;1473/* skip val->{sType,pNext} */1474/* skip val->multiview */1475/* skip val->multiviewGeometryShader */1476/* skip val->multiviewTessellationShader */1477return size;1478}14791480static inline size_t1481vn_sizeof_VkPhysicalDeviceMultiviewFeatures_partial(const VkPhysicalDeviceMultiviewFeatures *val)1482{1483size_t size = 0;14841485size += vn_sizeof_VkStructureType(&val->sType);1486size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_pnext_partial(val->pNext);1487size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial(val);14881489return size;1490}14911492static inline void1493vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)1494{1495/* no known/supported struct */1496vn_encode_simple_pointer(enc, NULL);1497}14981499static inline void1500vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)1501{1502/* skip val->{sType,pNext} */1503/* skip val->multiview */1504/* skip val->multiviewGeometryShader */1505/* skip val->multiviewTessellationShader */1506}15071508static inline void1509vn_encode_VkPhysicalDeviceMultiviewFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)1510{1511assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);1512vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });1513vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext_partial(enc, val->pNext);1514vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(enc, val);1515}15161517/* struct VkPhysicalDevice16BitStorageFeatures chain */15181519static inline size_t1520vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext(const void *val)1521{1522/* no known/supported struct */1523return vn_sizeof_simple_pointer(NULL);1524}15251526static inline size_t1527vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self(const VkPhysicalDevice16BitStorageFeatures *val)1528{1529size_t size = 0;1530/* skip val->{sType,pNext} */1531size += vn_sizeof_VkBool32(&val->storageBuffer16BitAccess);1532size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer16BitAccess);1533size += vn_sizeof_VkBool32(&val->storagePushConstant16);1534size += vn_sizeof_VkBool32(&val->storageInputOutput16);1535return size;1536}15371538static inline size_t1539vn_sizeof_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures *val)1540{1541size_t size = 0;15421543size += vn_sizeof_VkStructureType(&val->sType);1544size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext(val->pNext);1545size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self(val);15461547return size;1548}15491550static inline void1551vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)1552{1553/* no known/supported struct */1554vn_encode_simple_pointer(enc, NULL);1555}15561557static inline void1558vn_encode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)1559{1560/* skip val->{sType,pNext} */1561vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);1562vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);1563vn_encode_VkBool32(enc, &val->storagePushConstant16);1564vn_encode_VkBool32(enc, &val->storageInputOutput16);1565}15661567static inline void1568vn_encode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)1569{1570assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);1571vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });1572vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(enc, val->pNext);1573vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, val);1574}15751576static inline void1577vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_decoder *dec, const void *val)1578{1579/* no known/supported struct */1580if (vn_decode_simple_pointer(dec))1581assert(false);1582}15831584static inline void1585vn_decode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)1586{1587/* skip val->{sType,pNext} */1588vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);1589vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);1590vn_decode_VkBool32(dec, &val->storagePushConstant16);1591vn_decode_VkBool32(dec, &val->storageInputOutput16);1592}15931594static inline void1595vn_decode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)1596{1597VkStructureType stype;1598vn_decode_VkStructureType(dec, &stype);1599assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);16001601assert(val->sType == stype);1602vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext(dec, val->pNext);1603vn_decode_VkPhysicalDevice16BitStorageFeatures_self(dec, val);1604}16051606static inline size_t1607vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext_partial(const void *val)1608{1609/* no known/supported struct */1610return vn_sizeof_simple_pointer(NULL);1611}16121613static inline size_t1614vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial(const VkPhysicalDevice16BitStorageFeatures *val)1615{1616size_t size = 0;1617/* skip val->{sType,pNext} */1618/* skip val->storageBuffer16BitAccess */1619/* skip val->uniformAndStorageBuffer16BitAccess */1620/* skip val->storagePushConstant16 */1621/* skip val->storageInputOutput16 */1622return size;1623}16241625static inline size_t1626vn_sizeof_VkPhysicalDevice16BitStorageFeatures_partial(const VkPhysicalDevice16BitStorageFeatures *val)1627{1628size_t size = 0;16291630size += vn_sizeof_VkStructureType(&val->sType);1631size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_pnext_partial(val->pNext);1632size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial(val);16331634return size;1635}16361637static inline void1638vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)1639{1640/* no known/supported struct */1641vn_encode_simple_pointer(enc, NULL);1642}16431644static inline void1645vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)1646{1647/* skip val->{sType,pNext} */1648/* skip val->storageBuffer16BitAccess */1649/* skip val->uniformAndStorageBuffer16BitAccess */1650/* skip val->storagePushConstant16 */1651/* skip val->storageInputOutput16 */1652}16531654static inline void1655vn_encode_VkPhysicalDevice16BitStorageFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)1656{1657assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);1658vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });1659vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext_partial(enc, val->pNext);1660vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(enc, val);1661}16621663/* struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures chain */16641665static inline size_t1666vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(const void *val)1667{1668/* no known/supported struct */1669return vn_sizeof_simple_pointer(NULL);1670}16711672static inline size_t1673vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1674{1675size_t size = 0;1676/* skip val->{sType,pNext} */1677size += vn_sizeof_VkBool32(&val->shaderSubgroupExtendedTypes);1678return size;1679}16801681static inline size_t1682vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1683{1684size_t size = 0;16851686size += vn_sizeof_VkStructureType(&val->sType);1687size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(val->pNext);1688size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(val);16891690return size;1691}16921693static inline void1694vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_encoder *enc, const void *val)1695{1696/* no known/supported struct */1697vn_encode_simple_pointer(enc, NULL);1698}16991700static inline void1701vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1702{1703/* skip val->{sType,pNext} */1704vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);1705}17061707static inline void1708vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1709{1710assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);1711vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });1712vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(enc, val->pNext);1713vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, val);1714}17151716static inline void1717vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_decoder *dec, const void *val)1718{1719/* no known/supported struct */1720if (vn_decode_simple_pointer(dec))1721assert(false);1722}17231724static inline void1725vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1726{1727/* skip val->{sType,pNext} */1728vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);1729}17301731static inline void1732vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1733{1734VkStructureType stype;1735vn_decode_VkStructureType(dec, &stype);1736assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);17371738assert(val->sType == stype);1739vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(dec, val->pNext);1740vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(dec, val);1741}17421743static inline size_t1744vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(const void *val)1745{1746/* no known/supported struct */1747return vn_sizeof_simple_pointer(NULL);1748}17491750static inline size_t1751vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1752{1753size_t size = 0;1754/* skip val->{sType,pNext} */1755/* skip val->shaderSubgroupExtendedTypes */1756return size;1757}17581759static inline size_t1760vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1761{1762size_t size = 0;17631764size += vn_sizeof_VkStructureType(&val->sType);1765size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(val->pNext);1766size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(val);17671768return size;1769}17701771static inline void1772vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)1773{1774/* no known/supported struct */1775vn_encode_simple_pointer(enc, NULL);1776}17771778static inline void1779vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1780{1781/* skip val->{sType,pNext} */1782/* skip val->shaderSubgroupExtendedTypes */1783}17841785static inline void1786vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)1787{1788assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);1789vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });1790vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial(enc, val->pNext);1791vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(enc, val);1792}17931794/* struct VkPhysicalDeviceSamplerYcbcrConversionFeatures chain */17951796static inline size_t1797vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(const void *val)1798{1799/* no known/supported struct */1800return vn_sizeof_simple_pointer(NULL);1801}18021803static inline size_t1804vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1805{1806size_t size = 0;1807/* skip val->{sType,pNext} */1808size += vn_sizeof_VkBool32(&val->samplerYcbcrConversion);1809return size;1810}18111812static inline size_t1813vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1814{1815size_t size = 0;18161817size += vn_sizeof_VkStructureType(&val->sType);1818size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(val->pNext);1819size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(val);18201821return size;1822}18231824static inline void1825vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_encoder *enc, const void *val)1826{1827/* no known/supported struct */1828vn_encode_simple_pointer(enc, NULL);1829}18301831static inline void1832vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1833{1834/* skip val->{sType,pNext} */1835vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);1836}18371838static inline void1839vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1840{1841assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);1842vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });1843vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(enc, val->pNext);1844vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, val);1845}18461847static inline void1848vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_decoder *dec, const void *val)1849{1850/* no known/supported struct */1851if (vn_decode_simple_pointer(dec))1852assert(false);1853}18541855static inline void1856vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1857{1858/* skip val->{sType,pNext} */1859vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);1860}18611862static inline void1863vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1864{1865VkStructureType stype;1866vn_decode_VkStructureType(dec, &stype);1867assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);18681869assert(val->sType == stype);1870vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(dec, val->pNext);1871vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(dec, val);1872}18731874static inline size_t1875vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(const void *val)1876{1877/* no known/supported struct */1878return vn_sizeof_simple_pointer(NULL);1879}18801881static inline size_t1882vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1883{1884size_t size = 0;1885/* skip val->{sType,pNext} */1886/* skip val->samplerYcbcrConversion */1887return size;1888}18891890static inline size_t1891vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial(const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1892{1893size_t size = 0;18941895size += vn_sizeof_VkStructureType(&val->sType);1896size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(val->pNext);1897size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(val);18981899return size;1900}19011902static inline void1903vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)1904{1905/* no known/supported struct */1906vn_encode_simple_pointer(enc, NULL);1907}19081909static inline void1910vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1911{1912/* skip val->{sType,pNext} */1913/* skip val->samplerYcbcrConversion */1914}19151916static inline void1917vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)1918{1919assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);1920vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });1921vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial(enc, val->pNext);1922vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(enc, val);1923}19241925/* struct VkPhysicalDeviceProtectedMemoryFeatures chain */19261927static inline size_t1928vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext(const void *val)1929{1930/* no known/supported struct */1931return vn_sizeof_simple_pointer(NULL);1932}19331934static inline size_t1935vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self(const VkPhysicalDeviceProtectedMemoryFeatures *val)1936{1937size_t size = 0;1938/* skip val->{sType,pNext} */1939size += vn_sizeof_VkBool32(&val->protectedMemory);1940return size;1941}19421943static inline size_t1944vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures(const VkPhysicalDeviceProtectedMemoryFeatures *val)1945{1946size_t size = 0;19471948size += vn_sizeof_VkStructureType(&val->sType);1949size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext(val->pNext);1950size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self(val);19511952return size;1953}19541955static inline void1956vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_encoder *enc, const void *val)1957{1958/* no known/supported struct */1959vn_encode_simple_pointer(enc, NULL);1960}19611962static inline void1963vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)1964{1965/* skip val->{sType,pNext} */1966vn_encode_VkBool32(enc, &val->protectedMemory);1967}19681969static inline void1970vn_encode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)1971{1972assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);1973vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });1974vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(enc, val->pNext);1975vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, val);1976}19771978static inline void1979vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_decoder *dec, const void *val)1980{1981/* no known/supported struct */1982if (vn_decode_simple_pointer(dec))1983assert(false);1984}19851986static inline void1987vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)1988{1989/* skip val->{sType,pNext} */1990vn_decode_VkBool32(dec, &val->protectedMemory);1991}19921993static inline void1994vn_decode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)1995{1996VkStructureType stype;1997vn_decode_VkStructureType(dec, &stype);1998assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);19992000assert(val->sType == stype);2001vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(dec, val->pNext);2002vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(dec, val);2003}20042005static inline size_t2006vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(const void *val)2007{2008/* no known/supported struct */2009return vn_sizeof_simple_pointer(NULL);2010}20112012static inline size_t2013vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(const VkPhysicalDeviceProtectedMemoryFeatures *val)2014{2015size_t size = 0;2016/* skip val->{sType,pNext} */2017/* skip val->protectedMemory */2018return size;2019}20202021static inline size_t2022vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_partial(const VkPhysicalDeviceProtectedMemoryFeatures *val)2023{2024size_t size = 0;20252026size += vn_sizeof_VkStructureType(&val->sType);2027size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(val->pNext);2028size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(val);20292030return size;2031}20322033static inline void2034vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)2035{2036/* no known/supported struct */2037vn_encode_simple_pointer(enc, NULL);2038}20392040static inline void2041vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)2042{2043/* skip val->{sType,pNext} */2044/* skip val->protectedMemory */2045}20462047static inline void2048vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)2049{2050assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);2051vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });2052vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial(enc, val->pNext);2053vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(enc, val);2054}20552056/* struct VkPhysicalDeviceShaderDrawParametersFeatures chain */20572058static inline size_t2059vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(const void *val)2060{2061/* no known/supported struct */2062return vn_sizeof_simple_pointer(NULL);2063}20642065static inline size_t2066vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self(const VkPhysicalDeviceShaderDrawParametersFeatures *val)2067{2068size_t size = 0;2069/* skip val->{sType,pNext} */2070size += vn_sizeof_VkBool32(&val->shaderDrawParameters);2071return size;2072}20732074static inline size_t2075vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures(const VkPhysicalDeviceShaderDrawParametersFeatures *val)2076{2077size_t size = 0;20782079size += vn_sizeof_VkStructureType(&val->sType);2080size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(val->pNext);2081size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self(val);20822083return size;2084}20852086static inline void2087vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)2088{2089/* no known/supported struct */2090vn_encode_simple_pointer(enc, NULL);2091}20922093static inline void2094vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)2095{2096/* skip val->{sType,pNext} */2097vn_encode_VkBool32(enc, &val->shaderDrawParameters);2098}20992100static inline void2101vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)2102{2103assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);2104vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });2105vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(enc, val->pNext);2106vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, val);2107}21082109static inline void2110vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_decoder *dec, const void *val)2111{2112/* no known/supported struct */2113if (vn_decode_simple_pointer(dec))2114assert(false);2115}21162117static inline void2118vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)2119{2120/* skip val->{sType,pNext} */2121vn_decode_VkBool32(dec, &val->shaderDrawParameters);2122}21232124static inline void2125vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)2126{2127VkStructureType stype;2128vn_decode_VkStructureType(dec, &stype);2129assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);21302131assert(val->sType == stype);2132vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(dec, val->pNext);2133vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(dec, val);2134}21352136static inline size_t2137vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(const void *val)2138{2139/* no known/supported struct */2140return vn_sizeof_simple_pointer(NULL);2141}21422143static inline size_t2144vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(const VkPhysicalDeviceShaderDrawParametersFeatures *val)2145{2146size_t size = 0;2147/* skip val->{sType,pNext} */2148/* skip val->shaderDrawParameters */2149return size;2150}21512152static inline size_t2153vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_partial(const VkPhysicalDeviceShaderDrawParametersFeatures *val)2154{2155size_t size = 0;21562157size += vn_sizeof_VkStructureType(&val->sType);2158size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(val->pNext);2159size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(val);21602161return size;2162}21632164static inline void2165vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)2166{2167/* no known/supported struct */2168vn_encode_simple_pointer(enc, NULL);2169}21702171static inline void2172vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)2173{2174/* skip val->{sType,pNext} */2175/* skip val->shaderDrawParameters */2176}21772178static inline void2179vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)2180{2181assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);2182vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });2183vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial(enc, val->pNext);2184vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(enc, val);2185}21862187/* struct VkPhysicalDeviceShaderFloat16Int8Features chain */21882189static inline size_t2190vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext(const void *val)2191{2192/* no known/supported struct */2193return vn_sizeof_simple_pointer(NULL);2194}21952196static inline size_t2197vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self(const VkPhysicalDeviceShaderFloat16Int8Features *val)2198{2199size_t size = 0;2200/* skip val->{sType,pNext} */2201size += vn_sizeof_VkBool32(&val->shaderFloat16);2202size += vn_sizeof_VkBool32(&val->shaderInt8);2203return size;2204}22052206static inline size_t2207vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features(const VkPhysicalDeviceShaderFloat16Int8Features *val)2208{2209size_t size = 0;22102211size += vn_sizeof_VkStructureType(&val->sType);2212size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext(val->pNext);2213size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self(val);22142215return size;2216}22172218static inline void2219vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_encoder *enc, const void *val)2220{2221/* no known/supported struct */2222vn_encode_simple_pointer(enc, NULL);2223}22242225static inline void2226vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)2227{2228/* skip val->{sType,pNext} */2229vn_encode_VkBool32(enc, &val->shaderFloat16);2230vn_encode_VkBool32(enc, &val->shaderInt8);2231}22322233static inline void2234vn_encode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)2235{2236assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);2237vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });2238vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(enc, val->pNext);2239vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, val);2240}22412242static inline void2243vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_decoder *dec, const void *val)2244{2245/* no known/supported struct */2246if (vn_decode_simple_pointer(dec))2247assert(false);2248}22492250static inline void2251vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)2252{2253/* skip val->{sType,pNext} */2254vn_decode_VkBool32(dec, &val->shaderFloat16);2255vn_decode_VkBool32(dec, &val->shaderInt8);2256}22572258static inline void2259vn_decode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)2260{2261VkStructureType stype;2262vn_decode_VkStructureType(dec, &stype);2263assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);22642265assert(val->sType == stype);2266vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(dec, val->pNext);2267vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(dec, val);2268}22692270static inline size_t2271vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(const void *val)2272{2273/* no known/supported struct */2274return vn_sizeof_simple_pointer(NULL);2275}22762277static inline size_t2278vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(const VkPhysicalDeviceShaderFloat16Int8Features *val)2279{2280size_t size = 0;2281/* skip val->{sType,pNext} */2282/* skip val->shaderFloat16 */2283/* skip val->shaderInt8 */2284return size;2285}22862287static inline size_t2288vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_partial(const VkPhysicalDeviceShaderFloat16Int8Features *val)2289{2290size_t size = 0;22912292size += vn_sizeof_VkStructureType(&val->sType);2293size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(val->pNext);2294size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(val);22952296return size;2297}22982299static inline void2300vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)2301{2302/* no known/supported struct */2303vn_encode_simple_pointer(enc, NULL);2304}23052306static inline void2307vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)2308{2309/* skip val->{sType,pNext} */2310/* skip val->shaderFloat16 */2311/* skip val->shaderInt8 */2312}23132314static inline void2315vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)2316{2317assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);2318vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });2319vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial(enc, val->pNext);2320vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(enc, val);2321}23222323/* struct VkPhysicalDeviceHostQueryResetFeatures chain */23242325static inline size_t2326vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext(const void *val)2327{2328/* no known/supported struct */2329return vn_sizeof_simple_pointer(NULL);2330}23312332static inline size_t2333vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self(const VkPhysicalDeviceHostQueryResetFeatures *val)2334{2335size_t size = 0;2336/* skip val->{sType,pNext} */2337size += vn_sizeof_VkBool32(&val->hostQueryReset);2338return size;2339}23402341static inline size_t2342vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures(const VkPhysicalDeviceHostQueryResetFeatures *val)2343{2344size_t size = 0;23452346size += vn_sizeof_VkStructureType(&val->sType);2347size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext(val->pNext);2348size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self(val);23492350return size;2351}23522353static inline void2354vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_encoder *enc, const void *val)2355{2356/* no known/supported struct */2357vn_encode_simple_pointer(enc, NULL);2358}23592360static inline void2361vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)2362{2363/* skip val->{sType,pNext} */2364vn_encode_VkBool32(enc, &val->hostQueryReset);2365}23662367static inline void2368vn_encode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)2369{2370assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);2371vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });2372vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(enc, val->pNext);2373vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, val);2374}23752376static inline void2377vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_decoder *dec, const void *val)2378{2379/* no known/supported struct */2380if (vn_decode_simple_pointer(dec))2381assert(false);2382}23832384static inline void2385vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)2386{2387/* skip val->{sType,pNext} */2388vn_decode_VkBool32(dec, &val->hostQueryReset);2389}23902391static inline void2392vn_decode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)2393{2394VkStructureType stype;2395vn_decode_VkStructureType(dec, &stype);2396assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);23972398assert(val->sType == stype);2399vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext(dec, val->pNext);2400vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, val);2401}24022403static inline size_t2404vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(const void *val)2405{2406/* no known/supported struct */2407return vn_sizeof_simple_pointer(NULL);2408}24092410static inline size_t2411vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial(const VkPhysicalDeviceHostQueryResetFeatures *val)2412{2413size_t size = 0;2414/* skip val->{sType,pNext} */2415/* skip val->hostQueryReset */2416return size;2417}24182419static inline size_t2420vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_partial(const VkPhysicalDeviceHostQueryResetFeatures *val)2421{2422size_t size = 0;24232424size += vn_sizeof_VkStructureType(&val->sType);2425size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(val->pNext);2426size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial(val);24272428return size;2429}24302431static inline void2432vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)2433{2434/* no known/supported struct */2435vn_encode_simple_pointer(enc, NULL);2436}24372438static inline void2439vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)2440{2441/* skip val->{sType,pNext} */2442/* skip val->hostQueryReset */2443}24442445static inline void2446vn_encode_VkPhysicalDeviceHostQueryResetFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)2447{2448assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);2449vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });2450vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial(enc, val->pNext);2451vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, val);2452}24532454/* struct VkPhysicalDeviceDescriptorIndexingFeatures chain */24552456static inline size_t2457vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(const void *val)2458{2459/* no known/supported struct */2460return vn_sizeof_simple_pointer(NULL);2461}24622463static inline size_t2464vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self(const VkPhysicalDeviceDescriptorIndexingFeatures *val)2465{2466size_t size = 0;2467/* skip val->{sType,pNext} */2468size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayDynamicIndexing);2469size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayDynamicIndexing);2470size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayDynamicIndexing);2471size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexing);2472size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexing);2473size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexing);2474size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexing);2475size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexing);2476size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayNonUniformIndexing);2477size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayNonUniformIndexing);2478size += vn_sizeof_VkBool32(&val->descriptorBindingUniformBufferUpdateAfterBind);2479size += vn_sizeof_VkBool32(&val->descriptorBindingSampledImageUpdateAfterBind);2480size += vn_sizeof_VkBool32(&val->descriptorBindingStorageImageUpdateAfterBind);2481size += vn_sizeof_VkBool32(&val->descriptorBindingStorageBufferUpdateAfterBind);2482size += vn_sizeof_VkBool32(&val->descriptorBindingUniformTexelBufferUpdateAfterBind);2483size += vn_sizeof_VkBool32(&val->descriptorBindingStorageTexelBufferUpdateAfterBind);2484size += vn_sizeof_VkBool32(&val->descriptorBindingUpdateUnusedWhilePending);2485size += vn_sizeof_VkBool32(&val->descriptorBindingPartiallyBound);2486size += vn_sizeof_VkBool32(&val->descriptorBindingVariableDescriptorCount);2487size += vn_sizeof_VkBool32(&val->runtimeDescriptorArray);2488return size;2489}24902491static inline size_t2492vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures(const VkPhysicalDeviceDescriptorIndexingFeatures *val)2493{2494size_t size = 0;24952496size += vn_sizeof_VkStructureType(&val->sType);2497size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(val->pNext);2498size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self(val);24992500return size;2501}25022503static inline void2504vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_encoder *enc, const void *val)2505{2506/* no known/supported struct */2507vn_encode_simple_pointer(enc, NULL);2508}25092510static inline void2511vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)2512{2513/* skip val->{sType,pNext} */2514vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);2515vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);2516vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);2517vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);2518vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);2519vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);2520vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);2521vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);2522vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);2523vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);2524vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);2525vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);2526vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);2527vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);2528vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);2529vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);2530vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);2531vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);2532vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);2533vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);2534}25352536static inline void2537vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)2538{2539assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);2540vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });2541vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(enc, val->pNext);2542vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, val);2543}25442545static inline void2546vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_decoder *dec, const void *val)2547{2548/* no known/supported struct */2549if (vn_decode_simple_pointer(dec))2550assert(false);2551}25522553static inline void2554vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)2555{2556/* skip val->{sType,pNext} */2557vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);2558vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);2559vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);2560vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);2561vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);2562vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);2563vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);2564vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);2565vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);2566vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);2567vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);2568vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);2569vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);2570vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);2571vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);2572vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);2573vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);2574vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);2575vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);2576vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);2577}25782579static inline void2580vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)2581{2582VkStructureType stype;2583vn_decode_VkStructureType(dec, &stype);2584assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);25852586assert(val->sType == stype);2587vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(dec, val->pNext);2588vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, val);2589}25902591static inline size_t2592vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(const void *val)2593{2594/* no known/supported struct */2595return vn_sizeof_simple_pointer(NULL);2596}25972598static inline size_t2599vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(const VkPhysicalDeviceDescriptorIndexingFeatures *val)2600{2601size_t size = 0;2602/* skip val->{sType,pNext} */2603/* skip val->shaderInputAttachmentArrayDynamicIndexing */2604/* skip val->shaderUniformTexelBufferArrayDynamicIndexing */2605/* skip val->shaderStorageTexelBufferArrayDynamicIndexing */2606/* skip val->shaderUniformBufferArrayNonUniformIndexing */2607/* skip val->shaderSampledImageArrayNonUniformIndexing */2608/* skip val->shaderStorageBufferArrayNonUniformIndexing */2609/* skip val->shaderStorageImageArrayNonUniformIndexing */2610/* skip val->shaderInputAttachmentArrayNonUniformIndexing */2611/* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */2612/* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */2613/* skip val->descriptorBindingUniformBufferUpdateAfterBind */2614/* skip val->descriptorBindingSampledImageUpdateAfterBind */2615/* skip val->descriptorBindingStorageImageUpdateAfterBind */2616/* skip val->descriptorBindingStorageBufferUpdateAfterBind */2617/* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */2618/* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */2619/* skip val->descriptorBindingUpdateUnusedWhilePending */2620/* skip val->descriptorBindingPartiallyBound */2621/* skip val->descriptorBindingVariableDescriptorCount */2622/* skip val->runtimeDescriptorArray */2623return size;2624}26252626static inline size_t2627vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_partial(const VkPhysicalDeviceDescriptorIndexingFeatures *val)2628{2629size_t size = 0;26302631size += vn_sizeof_VkStructureType(&val->sType);2632size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(val->pNext);2633size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(val);26342635return size;2636}26372638static inline void2639vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)2640{2641/* no known/supported struct */2642vn_encode_simple_pointer(enc, NULL);2643}26442645static inline void2646vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)2647{2648/* skip val->{sType,pNext} */2649/* skip val->shaderInputAttachmentArrayDynamicIndexing */2650/* skip val->shaderUniformTexelBufferArrayDynamicIndexing */2651/* skip val->shaderStorageTexelBufferArrayDynamicIndexing */2652/* skip val->shaderUniformBufferArrayNonUniformIndexing */2653/* skip val->shaderSampledImageArrayNonUniformIndexing */2654/* skip val->shaderStorageBufferArrayNonUniformIndexing */2655/* skip val->shaderStorageImageArrayNonUniformIndexing */2656/* skip val->shaderInputAttachmentArrayNonUniformIndexing */2657/* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */2658/* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */2659/* skip val->descriptorBindingUniformBufferUpdateAfterBind */2660/* skip val->descriptorBindingSampledImageUpdateAfterBind */2661/* skip val->descriptorBindingStorageImageUpdateAfterBind */2662/* skip val->descriptorBindingStorageBufferUpdateAfterBind */2663/* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */2664/* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */2665/* skip val->descriptorBindingUpdateUnusedWhilePending */2666/* skip val->descriptorBindingPartiallyBound */2667/* skip val->descriptorBindingVariableDescriptorCount */2668/* skip val->runtimeDescriptorArray */2669}26702671static inline void2672vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)2673{2674assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);2675vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });2676vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial(enc, val->pNext);2677vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(enc, val);2678}26792680/* struct VkPhysicalDeviceTimelineSemaphoreFeatures chain */26812682static inline size_t2683vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(const void *val)2684{2685/* no known/supported struct */2686return vn_sizeof_simple_pointer(NULL);2687}26882689static inline size_t2690vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2691{2692size_t size = 0;2693/* skip val->{sType,pNext} */2694size += vn_sizeof_VkBool32(&val->timelineSemaphore);2695return size;2696}26972698static inline size_t2699vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2700{2701size_t size = 0;27022703size += vn_sizeof_VkStructureType(&val->sType);2704size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(val->pNext);2705size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self(val);27062707return size;2708}27092710static inline void2711vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_encoder *enc, const void *val)2712{2713/* no known/supported struct */2714vn_encode_simple_pointer(enc, NULL);2715}27162717static inline void2718vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2719{2720/* skip val->{sType,pNext} */2721vn_encode_VkBool32(enc, &val->timelineSemaphore);2722}27232724static inline void2725vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2726{2727assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);2728vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });2729vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(enc, val->pNext);2730vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, val);2731}27322733static inline void2734vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_decoder *dec, const void *val)2735{2736/* no known/supported struct */2737if (vn_decode_simple_pointer(dec))2738assert(false);2739}27402741static inline void2742vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)2743{2744/* skip val->{sType,pNext} */2745vn_decode_VkBool32(dec, &val->timelineSemaphore);2746}27472748static inline void2749vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)2750{2751VkStructureType stype;2752vn_decode_VkStructureType(dec, &stype);2753assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);27542755assert(val->sType == stype);2756vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(dec, val->pNext);2757vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(dec, val);2758}27592760static inline size_t2761vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(const void *val)2762{2763/* no known/supported struct */2764return vn_sizeof_simple_pointer(NULL);2765}27662767static inline size_t2768vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2769{2770size_t size = 0;2771/* skip val->{sType,pNext} */2772/* skip val->timelineSemaphore */2773return size;2774}27752776static inline size_t2777vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_partial(const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2778{2779size_t size = 0;27802781size += vn_sizeof_VkStructureType(&val->sType);2782size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(val->pNext);2783size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(val);27842785return size;2786}27872788static inline void2789vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)2790{2791/* no known/supported struct */2792vn_encode_simple_pointer(enc, NULL);2793}27942795static inline void2796vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2797{2798/* skip val->{sType,pNext} */2799/* skip val->timelineSemaphore */2800}28012802static inline void2803vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)2804{2805assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);2806vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });2807vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial(enc, val->pNext);2808vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(enc, val);2809}28102811/* struct VkPhysicalDevice8BitStorageFeatures chain */28122813static inline size_t2814vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext(const void *val)2815{2816/* no known/supported struct */2817return vn_sizeof_simple_pointer(NULL);2818}28192820static inline size_t2821vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self(const VkPhysicalDevice8BitStorageFeatures *val)2822{2823size_t size = 0;2824/* skip val->{sType,pNext} */2825size += vn_sizeof_VkBool32(&val->storageBuffer8BitAccess);2826size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer8BitAccess);2827size += vn_sizeof_VkBool32(&val->storagePushConstant8);2828return size;2829}28302831static inline size_t2832vn_sizeof_VkPhysicalDevice8BitStorageFeatures(const VkPhysicalDevice8BitStorageFeatures *val)2833{2834size_t size = 0;28352836size += vn_sizeof_VkStructureType(&val->sType);2837size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext(val->pNext);2838size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self(val);28392840return size;2841}28422843static inline void2844vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)2845{2846/* no known/supported struct */2847vn_encode_simple_pointer(enc, NULL);2848}28492850static inline void2851vn_encode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)2852{2853/* skip val->{sType,pNext} */2854vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);2855vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);2856vn_encode_VkBool32(enc, &val->storagePushConstant8);2857}28582859static inline void2860vn_encode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)2861{2862assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);2863vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });2864vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(enc, val->pNext);2865vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, val);2866}28672868static inline void2869vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_decoder *dec, const void *val)2870{2871/* no known/supported struct */2872if (vn_decode_simple_pointer(dec))2873assert(false);2874}28752876static inline void2877vn_decode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)2878{2879/* skip val->{sType,pNext} */2880vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);2881vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);2882vn_decode_VkBool32(dec, &val->storagePushConstant8);2883}28842885static inline void2886vn_decode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)2887{2888VkStructureType stype;2889vn_decode_VkStructureType(dec, &stype);2890assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);28912892assert(val->sType == stype);2893vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext(dec, val->pNext);2894vn_decode_VkPhysicalDevice8BitStorageFeatures_self(dec, val);2895}28962897static inline size_t2898vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext_partial(const void *val)2899{2900/* no known/supported struct */2901return vn_sizeof_simple_pointer(NULL);2902}29032904static inline size_t2905vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial(const VkPhysicalDevice8BitStorageFeatures *val)2906{2907size_t size = 0;2908/* skip val->{sType,pNext} */2909/* skip val->storageBuffer8BitAccess */2910/* skip val->uniformAndStorageBuffer8BitAccess */2911/* skip val->storagePushConstant8 */2912return size;2913}29142915static inline size_t2916vn_sizeof_VkPhysicalDevice8BitStorageFeatures_partial(const VkPhysicalDevice8BitStorageFeatures *val)2917{2918size_t size = 0;29192920size += vn_sizeof_VkStructureType(&val->sType);2921size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_pnext_partial(val->pNext);2922size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial(val);29232924return size;2925}29262927static inline void2928vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)2929{2930/* no known/supported struct */2931vn_encode_simple_pointer(enc, NULL);2932}29332934static inline void2935vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)2936{2937/* skip val->{sType,pNext} */2938/* skip val->storageBuffer8BitAccess */2939/* skip val->uniformAndStorageBuffer8BitAccess */2940/* skip val->storagePushConstant8 */2941}29422943static inline void2944vn_encode_VkPhysicalDevice8BitStorageFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)2945{2946assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);2947vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });2948vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext_partial(enc, val->pNext);2949vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(enc, val);2950}29512952/* struct VkPhysicalDeviceVulkanMemoryModelFeatures chain */29532954static inline size_t2955vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(const void *val)2956{2957/* no known/supported struct */2958return vn_sizeof_simple_pointer(NULL);2959}29602961static inline size_t2962vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)2963{2964size_t size = 0;2965/* skip val->{sType,pNext} */2966size += vn_sizeof_VkBool32(&val->vulkanMemoryModel);2967size += vn_sizeof_VkBool32(&val->vulkanMemoryModelDeviceScope);2968size += vn_sizeof_VkBool32(&val->vulkanMemoryModelAvailabilityVisibilityChains);2969return size;2970}29712972static inline size_t2973vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)2974{2975size_t size = 0;29762977size += vn_sizeof_VkStructureType(&val->sType);2978size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(val->pNext);2979size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self(val);29802981return size;2982}29832984static inline void2985vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_encoder *enc, const void *val)2986{2987/* no known/supported struct */2988vn_encode_simple_pointer(enc, NULL);2989}29902991static inline void2992vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)2993{2994/* skip val->{sType,pNext} */2995vn_encode_VkBool32(enc, &val->vulkanMemoryModel);2996vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);2997vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);2998}29993000static inline void3001vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)3002{3003assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);3004vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });3005vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(enc, val->pNext);3006vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, val);3007}30083009static inline void3010vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_decoder *dec, const void *val)3011{3012/* no known/supported struct */3013if (vn_decode_simple_pointer(dec))3014assert(false);3015}30163017static inline void3018vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)3019{3020/* skip val->{sType,pNext} */3021vn_decode_VkBool32(dec, &val->vulkanMemoryModel);3022vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);3023vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);3024}30253026static inline void3027vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)3028{3029VkStructureType stype;3030vn_decode_VkStructureType(dec, &stype);3031assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);30323033assert(val->sType == stype);3034vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(dec, val->pNext);3035vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(dec, val);3036}30373038static inline size_t3039vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(const void *val)3040{3041/* no known/supported struct */3042return vn_sizeof_simple_pointer(NULL);3043}30443045static inline size_t3046vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)3047{3048size_t size = 0;3049/* skip val->{sType,pNext} */3050/* skip val->vulkanMemoryModel */3051/* skip val->vulkanMemoryModelDeviceScope */3052/* skip val->vulkanMemoryModelAvailabilityVisibilityChains */3053return size;3054}30553056static inline size_t3057vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_partial(const VkPhysicalDeviceVulkanMemoryModelFeatures *val)3058{3059size_t size = 0;30603061size += vn_sizeof_VkStructureType(&val->sType);3062size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(val->pNext);3063size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(val);30643065return size;3066}30673068static inline void3069vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)3070{3071/* no known/supported struct */3072vn_encode_simple_pointer(enc, NULL);3073}30743075static inline void3076vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)3077{3078/* skip val->{sType,pNext} */3079/* skip val->vulkanMemoryModel */3080/* skip val->vulkanMemoryModelDeviceScope */3081/* skip val->vulkanMemoryModelAvailabilityVisibilityChains */3082}30833084static inline void3085vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)3086{3087assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);3088vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });3089vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial(enc, val->pNext);3090vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(enc, val);3091}30923093/* struct VkPhysicalDeviceShaderAtomicInt64Features chain */30943095static inline size_t3096vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext(const void *val)3097{3098/* no known/supported struct */3099return vn_sizeof_simple_pointer(NULL);3100}31013102static inline size_t3103vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self(const VkPhysicalDeviceShaderAtomicInt64Features *val)3104{3105size_t size = 0;3106/* skip val->{sType,pNext} */3107size += vn_sizeof_VkBool32(&val->shaderBufferInt64Atomics);3108size += vn_sizeof_VkBool32(&val->shaderSharedInt64Atomics);3109return size;3110}31113112static inline size_t3113vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features(const VkPhysicalDeviceShaderAtomicInt64Features *val)3114{3115size_t size = 0;31163117size += vn_sizeof_VkStructureType(&val->sType);3118size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext(val->pNext);3119size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self(val);31203121return size;3122}31233124static inline void3125vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_encoder *enc, const void *val)3126{3127/* no known/supported struct */3128vn_encode_simple_pointer(enc, NULL);3129}31303131static inline void3132vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)3133{3134/* skip val->{sType,pNext} */3135vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);3136vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);3137}31383139static inline void3140vn_encode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)3141{3142assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);3143vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });3144vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(enc, val->pNext);3145vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, val);3146}31473148static inline void3149vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_decoder *dec, const void *val)3150{3151/* no known/supported struct */3152if (vn_decode_simple_pointer(dec))3153assert(false);3154}31553156static inline void3157vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)3158{3159/* skip val->{sType,pNext} */3160vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);3161vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);3162}31633164static inline void3165vn_decode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)3166{3167VkStructureType stype;3168vn_decode_VkStructureType(dec, &stype);3169assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);31703171assert(val->sType == stype);3172vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(dec, val->pNext);3173vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, val);3174}31753176static inline size_t3177vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(const void *val)3178{3179/* no known/supported struct */3180return vn_sizeof_simple_pointer(NULL);3181}31823183static inline size_t3184vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(const VkPhysicalDeviceShaderAtomicInt64Features *val)3185{3186size_t size = 0;3187/* skip val->{sType,pNext} */3188/* skip val->shaderBufferInt64Atomics */3189/* skip val->shaderSharedInt64Atomics */3190return size;3191}31923193static inline size_t3194vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_partial(const VkPhysicalDeviceShaderAtomicInt64Features *val)3195{3196size_t size = 0;31973198size += vn_sizeof_VkStructureType(&val->sType);3199size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(val->pNext);3200size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(val);32013202return size;3203}32043205static inline void3206vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)3207{3208/* no known/supported struct */3209vn_encode_simple_pointer(enc, NULL);3210}32113212static inline void3213vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)3214{3215/* skip val->{sType,pNext} */3216/* skip val->shaderBufferInt64Atomics */3217/* skip val->shaderSharedInt64Atomics */3218}32193220static inline void3221vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)3222{3223assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);3224vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });3225vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial(enc, val->pNext);3226vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, val);3227}32283229/* struct VkPhysicalDeviceTransformFeedbackFeaturesEXT chain */32303231static inline size_t3232vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(const void *val)3233{3234/* no known/supported struct */3235return vn_sizeof_simple_pointer(NULL);3236}32373238static inline size_t3239vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3240{3241size_t size = 0;3242/* skip val->{sType,pNext} */3243size += vn_sizeof_VkBool32(&val->transformFeedback);3244size += vn_sizeof_VkBool32(&val->geometryStreams);3245return size;3246}32473248static inline size_t3249vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3250{3251size_t size = 0;32523253size += vn_sizeof_VkStructureType(&val->sType);3254size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(val->pNext);3255size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(val);32563257return size;3258}32593260static inline void3261vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)3262{3263/* no known/supported struct */3264vn_encode_simple_pointer(enc, NULL);3265}32663267static inline void3268vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3269{3270/* skip val->{sType,pNext} */3271vn_encode_VkBool32(enc, &val->transformFeedback);3272vn_encode_VkBool32(enc, &val->geometryStreams);3273}32743275static inline void3276vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3277{3278assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);3279vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });3280vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(enc, val->pNext);3281vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, val);3282}32833284static inline void3285vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_decoder *dec, const void *val)3286{3287/* no known/supported struct */3288if (vn_decode_simple_pointer(dec))3289assert(false);3290}32913292static inline void3293vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3294{3295/* skip val->{sType,pNext} */3296vn_decode_VkBool32(dec, &val->transformFeedback);3297vn_decode_VkBool32(dec, &val->geometryStreams);3298}32993300static inline void3301vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3302{3303VkStructureType stype;3304vn_decode_VkStructureType(dec, &stype);3305assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);33063307assert(val->sType == stype);3308vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(dec, val->pNext);3309vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, val);3310}33113312static inline size_t3313vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(const void *val)3314{3315/* no known/supported struct */3316return vn_sizeof_simple_pointer(NULL);3317}33183319static inline size_t3320vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3321{3322size_t size = 0;3323/* skip val->{sType,pNext} */3324/* skip val->transformFeedback */3325/* skip val->geometryStreams */3326return size;3327}33283329static inline size_t3330vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial(const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3331{3332size_t size = 0;33333334size += vn_sizeof_VkStructureType(&val->sType);3335size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(val->pNext);3336size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(val);33373338return size;3339}33403341static inline void3342vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)3343{3344/* no known/supported struct */3345vn_encode_simple_pointer(enc, NULL);3346}33473348static inline void3349vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3350{3351/* skip val->{sType,pNext} */3352/* skip val->transformFeedback */3353/* skip val->geometryStreams */3354}33553356static inline void3357vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)3358{3359assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);3360vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });3361vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial(enc, val->pNext);3362vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(enc, val);3363}33643365/* struct VkPhysicalDeviceScalarBlockLayoutFeatures chain */33663367static inline size_t3368vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(const void *val)3369{3370/* no known/supported struct */3371return vn_sizeof_simple_pointer(NULL);3372}33733374static inline size_t3375vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3376{3377size_t size = 0;3378/* skip val->{sType,pNext} */3379size += vn_sizeof_VkBool32(&val->scalarBlockLayout);3380return size;3381}33823383static inline size_t3384vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3385{3386size_t size = 0;33873388size += vn_sizeof_VkStructureType(&val->sType);3389size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(val->pNext);3390size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self(val);33913392return size;3393}33943395static inline void3396vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)3397{3398/* no known/supported struct */3399vn_encode_simple_pointer(enc, NULL);3400}34013402static inline void3403vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3404{3405/* skip val->{sType,pNext} */3406vn_encode_VkBool32(enc, &val->scalarBlockLayout);3407}34083409static inline void3410vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3411{3412assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);3413vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });3414vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(enc, val->pNext);3415vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, val);3416}34173418static inline void3419vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_decoder *dec, const void *val)3420{3421/* no known/supported struct */3422if (vn_decode_simple_pointer(dec))3423assert(false);3424}34253426static inline void3427vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)3428{3429/* skip val->{sType,pNext} */3430vn_decode_VkBool32(dec, &val->scalarBlockLayout);3431}34323433static inline void3434vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)3435{3436VkStructureType stype;3437vn_decode_VkStructureType(dec, &stype);3438assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);34393440assert(val->sType == stype);3441vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(dec, val->pNext);3442vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(dec, val);3443}34443445static inline size_t3446vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(const void *val)3447{3448/* no known/supported struct */3449return vn_sizeof_simple_pointer(NULL);3450}34513452static inline size_t3453vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3454{3455size_t size = 0;3456/* skip val->{sType,pNext} */3457/* skip val->scalarBlockLayout */3458return size;3459}34603461static inline size_t3462vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_partial(const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3463{3464size_t size = 0;34653466size += vn_sizeof_VkStructureType(&val->sType);3467size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(val->pNext);3468size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(val);34693470return size;3471}34723473static inline void3474vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)3475{3476/* no known/supported struct */3477vn_encode_simple_pointer(enc, NULL);3478}34793480static inline void3481vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3482{3483/* skip val->{sType,pNext} */3484/* skip val->scalarBlockLayout */3485}34863487static inline void3488vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)3489{3490assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);3491vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });3492vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial(enc, val->pNext);3493vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(enc, val);3494}34953496/* struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures chain */34973498static inline size_t3499vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(const void *val)3500{3501/* no known/supported struct */3502return vn_sizeof_simple_pointer(NULL);3503}35043505static inline size_t3506vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3507{3508size_t size = 0;3509/* skip val->{sType,pNext} */3510size += vn_sizeof_VkBool32(&val->uniformBufferStandardLayout);3511return size;3512}35133514static inline size_t3515vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3516{3517size_t size = 0;35183519size += vn_sizeof_VkStructureType(&val->sType);3520size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(val->pNext);3521size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(val);35223523return size;3524}35253526static inline void3527vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)3528{3529/* no known/supported struct */3530vn_encode_simple_pointer(enc, NULL);3531}35323533static inline void3534vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3535{3536/* skip val->{sType,pNext} */3537vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);3538}35393540static inline void3541vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3542{3543assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);3544vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });3545vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(enc, val->pNext);3546vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, val);3547}35483549static inline void3550vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_decoder *dec, const void *val)3551{3552/* no known/supported struct */3553if (vn_decode_simple_pointer(dec))3554assert(false);3555}35563557static inline void3558vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3559{3560/* skip val->{sType,pNext} */3561vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);3562}35633564static inline void3565vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3566{3567VkStructureType stype;3568vn_decode_VkStructureType(dec, &stype);3569assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);35703571assert(val->sType == stype);3572vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(dec, val->pNext);3573vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, val);3574}35753576static inline size_t3577vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(const void *val)3578{3579/* no known/supported struct */3580return vn_sizeof_simple_pointer(NULL);3581}35823583static inline size_t3584vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3585{3586size_t size = 0;3587/* skip val->{sType,pNext} */3588/* skip val->uniformBufferStandardLayout */3589return size;3590}35913592static inline size_t3593vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3594{3595size_t size = 0;35963597size += vn_sizeof_VkStructureType(&val->sType);3598size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(val->pNext);3599size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(val);36003601return size;3602}36033604static inline void3605vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)3606{3607/* no known/supported struct */3608vn_encode_simple_pointer(enc, NULL);3609}36103611static inline void3612vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3613{3614/* skip val->{sType,pNext} */3615/* skip val->uniformBufferStandardLayout */3616}36173618static inline void3619vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)3620{3621assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);3622vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });3623vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial(enc, val->pNext);3624vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, val);3625}36263627/* struct VkPhysicalDeviceBufferDeviceAddressFeatures chain */36283629static inline size_t3630vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(const void *val)3631{3632/* no known/supported struct */3633return vn_sizeof_simple_pointer(NULL);3634}36353636static inline size_t3637vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3638{3639size_t size = 0;3640/* skip val->{sType,pNext} */3641size += vn_sizeof_VkBool32(&val->bufferDeviceAddress);3642size += vn_sizeof_VkBool32(&val->bufferDeviceAddressCaptureReplay);3643size += vn_sizeof_VkBool32(&val->bufferDeviceAddressMultiDevice);3644return size;3645}36463647static inline size_t3648vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3649{3650size_t size = 0;36513652size += vn_sizeof_VkStructureType(&val->sType);3653size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(val->pNext);3654size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self(val);36553656return size;3657}36583659static inline void3660vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_encoder *enc, const void *val)3661{3662/* no known/supported struct */3663vn_encode_simple_pointer(enc, NULL);3664}36653666static inline void3667vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3668{3669/* skip val->{sType,pNext} */3670vn_encode_VkBool32(enc, &val->bufferDeviceAddress);3671vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);3672vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);3673}36743675static inline void3676vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3677{3678assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);3679vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });3680vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(enc, val->pNext);3681vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, val);3682}36833684static inline void3685vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_decoder *dec, const void *val)3686{3687/* no known/supported struct */3688if (vn_decode_simple_pointer(dec))3689assert(false);3690}36913692static inline void3693vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)3694{3695/* skip val->{sType,pNext} */3696vn_decode_VkBool32(dec, &val->bufferDeviceAddress);3697vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);3698vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);3699}37003701static inline void3702vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)3703{3704VkStructureType stype;3705vn_decode_VkStructureType(dec, &stype);3706assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);37073708assert(val->sType == stype);3709vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(dec, val->pNext);3710vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, val);3711}37123713static inline size_t3714vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(const void *val)3715{3716/* no known/supported struct */3717return vn_sizeof_simple_pointer(NULL);3718}37193720static inline size_t3721vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3722{3723size_t size = 0;3724/* skip val->{sType,pNext} */3725/* skip val->bufferDeviceAddress */3726/* skip val->bufferDeviceAddressCaptureReplay */3727/* skip val->bufferDeviceAddressMultiDevice */3728return size;3729}37303731static inline size_t3732vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_partial(const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3733{3734size_t size = 0;37353736size += vn_sizeof_VkStructureType(&val->sType);3737size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(val->pNext);3738size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(val);37393740return size;3741}37423743static inline void3744vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)3745{3746/* no known/supported struct */3747vn_encode_simple_pointer(enc, NULL);3748}37493750static inline void3751vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3752{3753/* skip val->{sType,pNext} */3754/* skip val->bufferDeviceAddress */3755/* skip val->bufferDeviceAddressCaptureReplay */3756/* skip val->bufferDeviceAddressMultiDevice */3757}37583759static inline void3760vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)3761{3762assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);3763vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });3764vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial(enc, val->pNext);3765vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(enc, val);3766}37673768/* struct VkPhysicalDeviceImagelessFramebufferFeatures chain */37693770static inline size_t3771vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(const void *val)3772{3773/* no known/supported struct */3774return vn_sizeof_simple_pointer(NULL);3775}37763777static inline size_t3778vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self(const VkPhysicalDeviceImagelessFramebufferFeatures *val)3779{3780size_t size = 0;3781/* skip val->{sType,pNext} */3782size += vn_sizeof_VkBool32(&val->imagelessFramebuffer);3783return size;3784}37853786static inline size_t3787vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures(const VkPhysicalDeviceImagelessFramebufferFeatures *val)3788{3789size_t size = 0;37903791size += vn_sizeof_VkStructureType(&val->sType);3792size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(val->pNext);3793size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self(val);37943795return size;3796}37973798static inline void3799vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_encoder *enc, const void *val)3800{3801/* no known/supported struct */3802vn_encode_simple_pointer(enc, NULL);3803}38043805static inline void3806vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)3807{3808/* skip val->{sType,pNext} */3809vn_encode_VkBool32(enc, &val->imagelessFramebuffer);3810}38113812static inline void3813vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)3814{3815assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);3816vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });3817vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(enc, val->pNext);3818vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, val);3819}38203821static inline void3822vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_decoder *dec, const void *val)3823{3824/* no known/supported struct */3825if (vn_decode_simple_pointer(dec))3826assert(false);3827}38283829static inline void3830vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)3831{3832/* skip val->{sType,pNext} */3833vn_decode_VkBool32(dec, &val->imagelessFramebuffer);3834}38353836static inline void3837vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)3838{3839VkStructureType stype;3840vn_decode_VkStructureType(dec, &stype);3841assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);38423843assert(val->sType == stype);3844vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(dec, val->pNext);3845vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(dec, val);3846}38473848static inline size_t3849vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(const void *val)3850{3851/* no known/supported struct */3852return vn_sizeof_simple_pointer(NULL);3853}38543855static inline size_t3856vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(const VkPhysicalDeviceImagelessFramebufferFeatures *val)3857{3858size_t size = 0;3859/* skip val->{sType,pNext} */3860/* skip val->imagelessFramebuffer */3861return size;3862}38633864static inline size_t3865vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_partial(const VkPhysicalDeviceImagelessFramebufferFeatures *val)3866{3867size_t size = 0;38683869size += vn_sizeof_VkStructureType(&val->sType);3870size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(val->pNext);3871size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(val);38723873return size;3874}38753876static inline void3877vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)3878{3879/* no known/supported struct */3880vn_encode_simple_pointer(enc, NULL);3881}38823883static inline void3884vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)3885{3886/* skip val->{sType,pNext} */3887/* skip val->imagelessFramebuffer */3888}38893890static inline void3891vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)3892{3893assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);3894vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });3895vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial(enc, val->pNext);3896vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(enc, val);3897}38983899/* struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures chain */39003901static inline size_t3902vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(const void *val)3903{3904/* no known/supported struct */3905return vn_sizeof_simple_pointer(NULL);3906}39073908static inline size_t3909vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3910{3911size_t size = 0;3912/* skip val->{sType,pNext} */3913size += vn_sizeof_VkBool32(&val->separateDepthStencilLayouts);3914return size;3915}39163917static inline size_t3918vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3919{3920size_t size = 0;39213922size += vn_sizeof_VkStructureType(&val->sType);3923size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(val->pNext);3924size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(val);39253926return size;3927}39283929static inline void3930vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_encoder *enc, const void *val)3931{3932/* no known/supported struct */3933vn_encode_simple_pointer(enc, NULL);3934}39353936static inline void3937vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3938{3939/* skip val->{sType,pNext} */3940vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);3941}39423943static inline void3944vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3945{3946assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);3947vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });3948vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(enc, val->pNext);3949vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, val);3950}39513952static inline void3953vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_decoder *dec, const void *val)3954{3955/* no known/supported struct */3956if (vn_decode_simple_pointer(dec))3957assert(false);3958}39593960static inline void3961vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3962{3963/* skip val->{sType,pNext} */3964vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);3965}39663967static inline void3968vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3969{3970VkStructureType stype;3971vn_decode_VkStructureType(dec, &stype);3972assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);39733974assert(val->sType == stype);3975vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(dec, val->pNext);3976vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(dec, val);3977}39783979static inline size_t3980vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(const void *val)3981{3982/* no known/supported struct */3983return vn_sizeof_simple_pointer(NULL);3984}39853986static inline size_t3987vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3988{3989size_t size = 0;3990/* skip val->{sType,pNext} */3991/* skip val->separateDepthStencilLayouts */3992return size;3993}39943995static inline size_t3996vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)3997{3998size_t size = 0;39994000size += vn_sizeof_VkStructureType(&val->sType);4001size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(val->pNext);4002size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(val);40034004return size;4005}40064007static inline void4008vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(struct vn_cs_encoder *enc, const void *val)4009{4010/* no known/supported struct */4011vn_encode_simple_pointer(enc, NULL);4012}40134014static inline void4015vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)4016{4017/* skip val->{sType,pNext} */4018/* skip val->separateDepthStencilLayouts */4019}40204021static inline void4022vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)4023{4024assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);4025vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });4026vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial(enc, val->pNext);4027vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(enc, val);4028}40294030/* struct VkPhysicalDeviceVulkan11Features chain */40314032static inline size_t4033vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext(const void *val)4034{4035/* no known/supported struct */4036return vn_sizeof_simple_pointer(NULL);4037}40384039static inline size_t4040vn_sizeof_VkPhysicalDeviceVulkan11Features_self(const VkPhysicalDeviceVulkan11Features *val)4041{4042size_t size = 0;4043/* skip val->{sType,pNext} */4044size += vn_sizeof_VkBool32(&val->storageBuffer16BitAccess);4045size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer16BitAccess);4046size += vn_sizeof_VkBool32(&val->storagePushConstant16);4047size += vn_sizeof_VkBool32(&val->storageInputOutput16);4048size += vn_sizeof_VkBool32(&val->multiview);4049size += vn_sizeof_VkBool32(&val->multiviewGeometryShader);4050size += vn_sizeof_VkBool32(&val->multiviewTessellationShader);4051size += vn_sizeof_VkBool32(&val->variablePointersStorageBuffer);4052size += vn_sizeof_VkBool32(&val->variablePointers);4053size += vn_sizeof_VkBool32(&val->protectedMemory);4054size += vn_sizeof_VkBool32(&val->samplerYcbcrConversion);4055size += vn_sizeof_VkBool32(&val->shaderDrawParameters);4056return size;4057}40584059static inline size_t4060vn_sizeof_VkPhysicalDeviceVulkan11Features(const VkPhysicalDeviceVulkan11Features *val)4061{4062size_t size = 0;40634064size += vn_sizeof_VkStructureType(&val->sType);4065size += vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext(val->pNext);4066size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self(val);40674068return size;4069}40704071static inline void4072vn_encode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_encoder *enc, const void *val)4073{4074/* no known/supported struct */4075vn_encode_simple_pointer(enc, NULL);4076}40774078static inline void4079vn_encode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)4080{4081/* skip val->{sType,pNext} */4082vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);4083vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);4084vn_encode_VkBool32(enc, &val->storagePushConstant16);4085vn_encode_VkBool32(enc, &val->storageInputOutput16);4086vn_encode_VkBool32(enc, &val->multiview);4087vn_encode_VkBool32(enc, &val->multiviewGeometryShader);4088vn_encode_VkBool32(enc, &val->multiviewTessellationShader);4089vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);4090vn_encode_VkBool32(enc, &val->variablePointers);4091vn_encode_VkBool32(enc, &val->protectedMemory);4092vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);4093vn_encode_VkBool32(enc, &val->shaderDrawParameters);4094}40954096static inline void4097vn_encode_VkPhysicalDeviceVulkan11Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)4098{4099assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);4100vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });4101vn_encode_VkPhysicalDeviceVulkan11Features_pnext(enc, val->pNext);4102vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, val);4103}41044105static inline void4106vn_decode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_decoder *dec, const void *val)4107{4108/* no known/supported struct */4109if (vn_decode_simple_pointer(dec))4110assert(false);4111}41124113static inline void4114vn_decode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)4115{4116/* skip val->{sType,pNext} */4117vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);4118vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);4119vn_decode_VkBool32(dec, &val->storagePushConstant16);4120vn_decode_VkBool32(dec, &val->storageInputOutput16);4121vn_decode_VkBool32(dec, &val->multiview);4122vn_decode_VkBool32(dec, &val->multiviewGeometryShader);4123vn_decode_VkBool32(dec, &val->multiviewTessellationShader);4124vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);4125vn_decode_VkBool32(dec, &val->variablePointers);4126vn_decode_VkBool32(dec, &val->protectedMemory);4127vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);4128vn_decode_VkBool32(dec, &val->shaderDrawParameters);4129}41304131static inline void4132vn_decode_VkPhysicalDeviceVulkan11Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)4133{4134VkStructureType stype;4135vn_decode_VkStructureType(dec, &stype);4136assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);41374138assert(val->sType == stype);4139vn_decode_VkPhysicalDeviceVulkan11Features_pnext(dec, val->pNext);4140vn_decode_VkPhysicalDeviceVulkan11Features_self(dec, val);4141}41424143static inline size_t4144vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext_partial(const void *val)4145{4146/* no known/supported struct */4147return vn_sizeof_simple_pointer(NULL);4148}41494150static inline size_t4151vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial(const VkPhysicalDeviceVulkan11Features *val)4152{4153size_t size = 0;4154/* skip val->{sType,pNext} */4155/* skip val->storageBuffer16BitAccess */4156/* skip val->uniformAndStorageBuffer16BitAccess */4157/* skip val->storagePushConstant16 */4158/* skip val->storageInputOutput16 */4159/* skip val->multiview */4160/* skip val->multiviewGeometryShader */4161/* skip val->multiviewTessellationShader */4162/* skip val->variablePointersStorageBuffer */4163/* skip val->variablePointers */4164/* skip val->protectedMemory */4165/* skip val->samplerYcbcrConversion */4166/* skip val->shaderDrawParameters */4167return size;4168}41694170static inline size_t4171vn_sizeof_VkPhysicalDeviceVulkan11Features_partial(const VkPhysicalDeviceVulkan11Features *val)4172{4173size_t size = 0;41744175size += vn_sizeof_VkStructureType(&val->sType);4176size += vn_sizeof_VkPhysicalDeviceVulkan11Features_pnext_partial(val->pNext);4177size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial(val);41784179return size;4180}41814182static inline void4183vn_encode_VkPhysicalDeviceVulkan11Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)4184{4185/* no known/supported struct */4186vn_encode_simple_pointer(enc, NULL);4187}41884189static inline void4190vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)4191{4192/* skip val->{sType,pNext} */4193/* skip val->storageBuffer16BitAccess */4194/* skip val->uniformAndStorageBuffer16BitAccess */4195/* skip val->storagePushConstant16 */4196/* skip val->storageInputOutput16 */4197/* skip val->multiview */4198/* skip val->multiviewGeometryShader */4199/* skip val->multiviewTessellationShader */4200/* skip val->variablePointersStorageBuffer */4201/* skip val->variablePointers */4202/* skip val->protectedMemory */4203/* skip val->samplerYcbcrConversion */4204/* skip val->shaderDrawParameters */4205}42064207static inline void4208vn_encode_VkPhysicalDeviceVulkan11Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)4209{4210assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);4211vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });4212vn_encode_VkPhysicalDeviceVulkan11Features_pnext_partial(enc, val->pNext);4213vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(enc, val);4214}42154216/* struct VkPhysicalDeviceVulkan12Features chain */42174218static inline size_t4219vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext(const void *val)4220{4221/* no known/supported struct */4222return vn_sizeof_simple_pointer(NULL);4223}42244225static inline size_t4226vn_sizeof_VkPhysicalDeviceVulkan12Features_self(const VkPhysicalDeviceVulkan12Features *val)4227{4228size_t size = 0;4229/* skip val->{sType,pNext} */4230size += vn_sizeof_VkBool32(&val->samplerMirrorClampToEdge);4231size += vn_sizeof_VkBool32(&val->drawIndirectCount);4232size += vn_sizeof_VkBool32(&val->storageBuffer8BitAccess);4233size += vn_sizeof_VkBool32(&val->uniformAndStorageBuffer8BitAccess);4234size += vn_sizeof_VkBool32(&val->storagePushConstant8);4235size += vn_sizeof_VkBool32(&val->shaderBufferInt64Atomics);4236size += vn_sizeof_VkBool32(&val->shaderSharedInt64Atomics);4237size += vn_sizeof_VkBool32(&val->shaderFloat16);4238size += vn_sizeof_VkBool32(&val->shaderInt8);4239size += vn_sizeof_VkBool32(&val->descriptorIndexing);4240size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayDynamicIndexing);4241size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayDynamicIndexing);4242size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayDynamicIndexing);4243size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexing);4244size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexing);4245size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexing);4246size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexing);4247size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexing);4248size += vn_sizeof_VkBool32(&val->shaderUniformTexelBufferArrayNonUniformIndexing);4249size += vn_sizeof_VkBool32(&val->shaderStorageTexelBufferArrayNonUniformIndexing);4250size += vn_sizeof_VkBool32(&val->descriptorBindingUniformBufferUpdateAfterBind);4251size += vn_sizeof_VkBool32(&val->descriptorBindingSampledImageUpdateAfterBind);4252size += vn_sizeof_VkBool32(&val->descriptorBindingStorageImageUpdateAfterBind);4253size += vn_sizeof_VkBool32(&val->descriptorBindingStorageBufferUpdateAfterBind);4254size += vn_sizeof_VkBool32(&val->descriptorBindingUniformTexelBufferUpdateAfterBind);4255size += vn_sizeof_VkBool32(&val->descriptorBindingStorageTexelBufferUpdateAfterBind);4256size += vn_sizeof_VkBool32(&val->descriptorBindingUpdateUnusedWhilePending);4257size += vn_sizeof_VkBool32(&val->descriptorBindingPartiallyBound);4258size += vn_sizeof_VkBool32(&val->descriptorBindingVariableDescriptorCount);4259size += vn_sizeof_VkBool32(&val->runtimeDescriptorArray);4260size += vn_sizeof_VkBool32(&val->samplerFilterMinmax);4261size += vn_sizeof_VkBool32(&val->scalarBlockLayout);4262size += vn_sizeof_VkBool32(&val->imagelessFramebuffer);4263size += vn_sizeof_VkBool32(&val->uniformBufferStandardLayout);4264size += vn_sizeof_VkBool32(&val->shaderSubgroupExtendedTypes);4265size += vn_sizeof_VkBool32(&val->separateDepthStencilLayouts);4266size += vn_sizeof_VkBool32(&val->hostQueryReset);4267size += vn_sizeof_VkBool32(&val->timelineSemaphore);4268size += vn_sizeof_VkBool32(&val->bufferDeviceAddress);4269size += vn_sizeof_VkBool32(&val->bufferDeviceAddressCaptureReplay);4270size += vn_sizeof_VkBool32(&val->bufferDeviceAddressMultiDevice);4271size += vn_sizeof_VkBool32(&val->vulkanMemoryModel);4272size += vn_sizeof_VkBool32(&val->vulkanMemoryModelDeviceScope);4273size += vn_sizeof_VkBool32(&val->vulkanMemoryModelAvailabilityVisibilityChains);4274size += vn_sizeof_VkBool32(&val->shaderOutputViewportIndex);4275size += vn_sizeof_VkBool32(&val->shaderOutputLayer);4276size += vn_sizeof_VkBool32(&val->subgroupBroadcastDynamicId);4277return size;4278}42794280static inline size_t4281vn_sizeof_VkPhysicalDeviceVulkan12Features(const VkPhysicalDeviceVulkan12Features *val)4282{4283size_t size = 0;42844285size += vn_sizeof_VkStructureType(&val->sType);4286size += vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext(val->pNext);4287size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self(val);42884289return size;4290}42914292static inline void4293vn_encode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_encoder *enc, const void *val)4294{4295/* no known/supported struct */4296vn_encode_simple_pointer(enc, NULL);4297}42984299static inline void4300vn_encode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)4301{4302/* skip val->{sType,pNext} */4303vn_encode_VkBool32(enc, &val->samplerMirrorClampToEdge);4304vn_encode_VkBool32(enc, &val->drawIndirectCount);4305vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);4306vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);4307vn_encode_VkBool32(enc, &val->storagePushConstant8);4308vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);4309vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);4310vn_encode_VkBool32(enc, &val->shaderFloat16);4311vn_encode_VkBool32(enc, &val->shaderInt8);4312vn_encode_VkBool32(enc, &val->descriptorIndexing);4313vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);4314vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);4315vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);4316vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);4317vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);4318vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);4319vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);4320vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);4321vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);4322vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);4323vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);4324vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);4325vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);4326vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);4327vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);4328vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);4329vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);4330vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);4331vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);4332vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);4333vn_encode_VkBool32(enc, &val->samplerFilterMinmax);4334vn_encode_VkBool32(enc, &val->scalarBlockLayout);4335vn_encode_VkBool32(enc, &val->imagelessFramebuffer);4336vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);4337vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);4338vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);4339vn_encode_VkBool32(enc, &val->hostQueryReset);4340vn_encode_VkBool32(enc, &val->timelineSemaphore);4341vn_encode_VkBool32(enc, &val->bufferDeviceAddress);4342vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);4343vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);4344vn_encode_VkBool32(enc, &val->vulkanMemoryModel);4345vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);4346vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);4347vn_encode_VkBool32(enc, &val->shaderOutputViewportIndex);4348vn_encode_VkBool32(enc, &val->shaderOutputLayer);4349vn_encode_VkBool32(enc, &val->subgroupBroadcastDynamicId);4350}43514352static inline void4353vn_encode_VkPhysicalDeviceVulkan12Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)4354{4355assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);4356vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });4357vn_encode_VkPhysicalDeviceVulkan12Features_pnext(enc, val->pNext);4358vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, val);4359}43604361static inline void4362vn_decode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_decoder *dec, const void *val)4363{4364/* no known/supported struct */4365if (vn_decode_simple_pointer(dec))4366assert(false);4367}43684369static inline void4370vn_decode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)4371{4372/* skip val->{sType,pNext} */4373vn_decode_VkBool32(dec, &val->samplerMirrorClampToEdge);4374vn_decode_VkBool32(dec, &val->drawIndirectCount);4375vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);4376vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);4377vn_decode_VkBool32(dec, &val->storagePushConstant8);4378vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);4379vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);4380vn_decode_VkBool32(dec, &val->shaderFloat16);4381vn_decode_VkBool32(dec, &val->shaderInt8);4382vn_decode_VkBool32(dec, &val->descriptorIndexing);4383vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);4384vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);4385vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);4386vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);4387vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);4388vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);4389vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);4390vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);4391vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);4392vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);4393vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);4394vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);4395vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);4396vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);4397vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);4398vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);4399vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);4400vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);4401vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);4402vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);4403vn_decode_VkBool32(dec, &val->samplerFilterMinmax);4404vn_decode_VkBool32(dec, &val->scalarBlockLayout);4405vn_decode_VkBool32(dec, &val->imagelessFramebuffer);4406vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);4407vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);4408vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);4409vn_decode_VkBool32(dec, &val->hostQueryReset);4410vn_decode_VkBool32(dec, &val->timelineSemaphore);4411vn_decode_VkBool32(dec, &val->bufferDeviceAddress);4412vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);4413vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);4414vn_decode_VkBool32(dec, &val->vulkanMemoryModel);4415vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);4416vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);4417vn_decode_VkBool32(dec, &val->shaderOutputViewportIndex);4418vn_decode_VkBool32(dec, &val->shaderOutputLayer);4419vn_decode_VkBool32(dec, &val->subgroupBroadcastDynamicId);4420}44214422static inline void4423vn_decode_VkPhysicalDeviceVulkan12Features(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)4424{4425VkStructureType stype;4426vn_decode_VkStructureType(dec, &stype);4427assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);44284429assert(val->sType == stype);4430vn_decode_VkPhysicalDeviceVulkan12Features_pnext(dec, val->pNext);4431vn_decode_VkPhysicalDeviceVulkan12Features_self(dec, val);4432}44334434static inline size_t4435vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext_partial(const void *val)4436{4437/* no known/supported struct */4438return vn_sizeof_simple_pointer(NULL);4439}44404441static inline size_t4442vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial(const VkPhysicalDeviceVulkan12Features *val)4443{4444size_t size = 0;4445/* skip val->{sType,pNext} */4446/* skip val->samplerMirrorClampToEdge */4447/* skip val->drawIndirectCount */4448/* skip val->storageBuffer8BitAccess */4449/* skip val->uniformAndStorageBuffer8BitAccess */4450/* skip val->storagePushConstant8 */4451/* skip val->shaderBufferInt64Atomics */4452/* skip val->shaderSharedInt64Atomics */4453/* skip val->shaderFloat16 */4454/* skip val->shaderInt8 */4455/* skip val->descriptorIndexing */4456/* skip val->shaderInputAttachmentArrayDynamicIndexing */4457/* skip val->shaderUniformTexelBufferArrayDynamicIndexing */4458/* skip val->shaderStorageTexelBufferArrayDynamicIndexing */4459/* skip val->shaderUniformBufferArrayNonUniformIndexing */4460/* skip val->shaderSampledImageArrayNonUniformIndexing */4461/* skip val->shaderStorageBufferArrayNonUniformIndexing */4462/* skip val->shaderStorageImageArrayNonUniformIndexing */4463/* skip val->shaderInputAttachmentArrayNonUniformIndexing */4464/* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */4465/* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */4466/* skip val->descriptorBindingUniformBufferUpdateAfterBind */4467/* skip val->descriptorBindingSampledImageUpdateAfterBind */4468/* skip val->descriptorBindingStorageImageUpdateAfterBind */4469/* skip val->descriptorBindingStorageBufferUpdateAfterBind */4470/* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */4471/* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */4472/* skip val->descriptorBindingUpdateUnusedWhilePending */4473/* skip val->descriptorBindingPartiallyBound */4474/* skip val->descriptorBindingVariableDescriptorCount */4475/* skip val->runtimeDescriptorArray */4476/* skip val->samplerFilterMinmax */4477/* skip val->scalarBlockLayout */4478/* skip val->imagelessFramebuffer */4479/* skip val->uniformBufferStandardLayout */4480/* skip val->shaderSubgroupExtendedTypes */4481/* skip val->separateDepthStencilLayouts */4482/* skip val->hostQueryReset */4483/* skip val->timelineSemaphore */4484/* skip val->bufferDeviceAddress */4485/* skip val->bufferDeviceAddressCaptureReplay */4486/* skip val->bufferDeviceAddressMultiDevice */4487/* skip val->vulkanMemoryModel */4488/* skip val->vulkanMemoryModelDeviceScope */4489/* skip val->vulkanMemoryModelAvailabilityVisibilityChains */4490/* skip val->shaderOutputViewportIndex */4491/* skip val->shaderOutputLayer */4492/* skip val->subgroupBroadcastDynamicId */4493return size;4494}44954496static inline size_t4497vn_sizeof_VkPhysicalDeviceVulkan12Features_partial(const VkPhysicalDeviceVulkan12Features *val)4498{4499size_t size = 0;45004501size += vn_sizeof_VkStructureType(&val->sType);4502size += vn_sizeof_VkPhysicalDeviceVulkan12Features_pnext_partial(val->pNext);4503size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial(val);45044505return size;4506}45074508static inline void4509vn_encode_VkPhysicalDeviceVulkan12Features_pnext_partial(struct vn_cs_encoder *enc, const void *val)4510{4511/* no known/supported struct */4512vn_encode_simple_pointer(enc, NULL);4513}45144515static inline void4516vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)4517{4518/* skip val->{sType,pNext} */4519/* skip val->samplerMirrorClampToEdge */4520/* skip val->drawIndirectCount */4521/* skip val->storageBuffer8BitAccess */4522/* skip val->uniformAndStorageBuffer8BitAccess */4523/* skip val->storagePushConstant8 */4524/* skip val->shaderBufferInt64Atomics */4525/* skip val->shaderSharedInt64Atomics */4526/* skip val->shaderFloat16 */4527/* skip val->shaderInt8 */4528/* skip val->descriptorIndexing */4529/* skip val->shaderInputAttachmentArrayDynamicIndexing */4530/* skip val->shaderUniformTexelBufferArrayDynamicIndexing */4531/* skip val->shaderStorageTexelBufferArrayDynamicIndexing */4532/* skip val->shaderUniformBufferArrayNonUniformIndexing */4533/* skip val->shaderSampledImageArrayNonUniformIndexing */4534/* skip val->shaderStorageBufferArrayNonUniformIndexing */4535/* skip val->shaderStorageImageArrayNonUniformIndexing */4536/* skip val->shaderInputAttachmentArrayNonUniformIndexing */4537/* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */4538/* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */4539/* skip val->descriptorBindingUniformBufferUpdateAfterBind */4540/* skip val->descriptorBindingSampledImageUpdateAfterBind */4541/* skip val->descriptorBindingStorageImageUpdateAfterBind */4542/* skip val->descriptorBindingStorageBufferUpdateAfterBind */4543/* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */4544/* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */4545/* skip val->descriptorBindingUpdateUnusedWhilePending */4546/* skip val->descriptorBindingPartiallyBound */4547/* skip val->descriptorBindingVariableDescriptorCount */4548/* skip val->runtimeDescriptorArray */4549/* skip val->samplerFilterMinmax */4550/* skip val->scalarBlockLayout */4551/* skip val->imagelessFramebuffer */4552/* skip val->uniformBufferStandardLayout */4553/* skip val->shaderSubgroupExtendedTypes */4554/* skip val->separateDepthStencilLayouts */4555/* skip val->hostQueryReset */4556/* skip val->timelineSemaphore */4557/* skip val->bufferDeviceAddress */4558/* skip val->bufferDeviceAddressCaptureReplay */4559/* skip val->bufferDeviceAddressMultiDevice */4560/* skip val->vulkanMemoryModel */4561/* skip val->vulkanMemoryModelDeviceScope */4562/* skip val->vulkanMemoryModelAvailabilityVisibilityChains */4563/* skip val->shaderOutputViewportIndex */4564/* skip val->shaderOutputLayer */4565/* skip val->subgroupBroadcastDynamicId */4566}45674568static inline void4569vn_encode_VkPhysicalDeviceVulkan12Features_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)4570{4571assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);4572vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });4573vn_encode_VkPhysicalDeviceVulkan12Features_pnext_partial(enc, val->pNext);4574vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(enc, val);4575}45764577/* struct VkPhysicalDeviceFeatures2 chain */45784579static inline size_t4580vn_sizeof_VkPhysicalDeviceFeatures2_pnext(const void *val)4581{4582const VkBaseInStructure *pnext = val;4583size_t size = 0;45844585while (pnext) {4586switch ((int32_t)pnext->sType) {4587case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:4588size += vn_sizeof_simple_pointer(pnext);4589size += vn_sizeof_VkStructureType(&pnext->sType);4590size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4591size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self((const VkPhysicalDeviceVariablePointersFeatures *)pnext);4592return size;4593case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:4594size += vn_sizeof_simple_pointer(pnext);4595size += vn_sizeof_VkStructureType(&pnext->sType);4596size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4597size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self((const VkPhysicalDeviceMultiviewFeatures *)pnext);4598return size;4599case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:4600size += vn_sizeof_simple_pointer(pnext);4601size += vn_sizeof_VkStructureType(&pnext->sType);4602size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4603size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self((const VkPhysicalDevice16BitStorageFeatures *)pnext);4604return size;4605case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:4606size += vn_sizeof_simple_pointer(pnext);4607size += vn_sizeof_VkStructureType(&pnext->sType);4608size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4609size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);4610return size;4611case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:4612size += vn_sizeof_simple_pointer(pnext);4613size += vn_sizeof_VkStructureType(&pnext->sType);4614size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4615size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);4616return size;4617case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:4618size += vn_sizeof_simple_pointer(pnext);4619size += vn_sizeof_VkStructureType(&pnext->sType);4620size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4621size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);4622return size;4623case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:4624size += vn_sizeof_simple_pointer(pnext);4625size += vn_sizeof_VkStructureType(&pnext->sType);4626size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4627size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);4628return size;4629case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:4630size += vn_sizeof_simple_pointer(pnext);4631size += vn_sizeof_VkStructureType(&pnext->sType);4632size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4633size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);4634return size;4635case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:4636size += vn_sizeof_simple_pointer(pnext);4637size += vn_sizeof_VkStructureType(&pnext->sType);4638size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4639size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);4640return size;4641case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:4642size += vn_sizeof_simple_pointer(pnext);4643size += vn_sizeof_VkStructureType(&pnext->sType);4644size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4645size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);4646return size;4647case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:4648size += vn_sizeof_simple_pointer(pnext);4649size += vn_sizeof_VkStructureType(&pnext->sType);4650size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4651size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);4652return size;4653case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:4654size += vn_sizeof_simple_pointer(pnext);4655size += vn_sizeof_VkStructureType(&pnext->sType);4656size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4657size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self((const VkPhysicalDevice8BitStorageFeatures *)pnext);4658return size;4659case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:4660size += vn_sizeof_simple_pointer(pnext);4661size += vn_sizeof_VkStructureType(&pnext->sType);4662size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4663size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);4664return size;4665case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:4666size += vn_sizeof_simple_pointer(pnext);4667size += vn_sizeof_VkStructureType(&pnext->sType);4668size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4669size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);4670return size;4671case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:4672size += vn_sizeof_simple_pointer(pnext);4673size += vn_sizeof_VkStructureType(&pnext->sType);4674size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4675size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);4676return size;4677case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:4678size += vn_sizeof_simple_pointer(pnext);4679size += vn_sizeof_VkStructureType(&pnext->sType);4680size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4681size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);4682return size;4683case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:4684size += vn_sizeof_simple_pointer(pnext);4685size += vn_sizeof_VkStructureType(&pnext->sType);4686size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4687size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);4688return size;4689case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:4690size += vn_sizeof_simple_pointer(pnext);4691size += vn_sizeof_VkStructureType(&pnext->sType);4692size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4693size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);4694return size;4695case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:4696size += vn_sizeof_simple_pointer(pnext);4697size += vn_sizeof_VkStructureType(&pnext->sType);4698size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4699size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);4700return size;4701case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:4702size += vn_sizeof_simple_pointer(pnext);4703size += vn_sizeof_VkStructureType(&pnext->sType);4704size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4705size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);4706return size;4707case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:4708size += vn_sizeof_simple_pointer(pnext);4709size += vn_sizeof_VkStructureType(&pnext->sType);4710size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4711size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self((const VkPhysicalDeviceVulkan11Features *)pnext);4712return size;4713case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:4714size += vn_sizeof_simple_pointer(pnext);4715size += vn_sizeof_VkStructureType(&pnext->sType);4716size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(pnext->pNext);4717size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self((const VkPhysicalDeviceVulkan12Features *)pnext);4718return size;4719default:4720/* ignore unknown/unsupported struct */4721break;4722}4723pnext = pnext->pNext;4724}47254726return vn_sizeof_simple_pointer(NULL);4727}47284729static inline size_t4730vn_sizeof_VkPhysicalDeviceFeatures2_self(const VkPhysicalDeviceFeatures2 *val)4731{4732size_t size = 0;4733/* skip val->{sType,pNext} */4734size += vn_sizeof_VkPhysicalDeviceFeatures(&val->features);4735return size;4736}47374738static inline size_t4739vn_sizeof_VkPhysicalDeviceFeatures2(const VkPhysicalDeviceFeatures2 *val)4740{4741size_t size = 0;47424743size += vn_sizeof_VkStructureType(&val->sType);4744size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext(val->pNext);4745size += vn_sizeof_VkPhysicalDeviceFeatures2_self(val);47464747return size;4748}47494750static inline void4751vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void *val)4752{4753const VkBaseInStructure *pnext = val;47544755while (pnext) {4756switch ((int32_t)pnext->sType) {4757case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:4758vn_encode_simple_pointer(enc, pnext);4759vn_encode_VkStructureType(enc, &pnext->sType);4760vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4761vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);4762return;4763case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:4764vn_encode_simple_pointer(enc, pnext);4765vn_encode_VkStructureType(enc, &pnext->sType);4766vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4767vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);4768return;4769case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:4770vn_encode_simple_pointer(enc, pnext);4771vn_encode_VkStructureType(enc, &pnext->sType);4772vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4773vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);4774return;4775case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:4776vn_encode_simple_pointer(enc, pnext);4777vn_encode_VkStructureType(enc, &pnext->sType);4778vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4779vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);4780return;4781case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:4782vn_encode_simple_pointer(enc, pnext);4783vn_encode_VkStructureType(enc, &pnext->sType);4784vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4785vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);4786return;4787case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:4788vn_encode_simple_pointer(enc, pnext);4789vn_encode_VkStructureType(enc, &pnext->sType);4790vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4791vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);4792return;4793case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:4794vn_encode_simple_pointer(enc, pnext);4795vn_encode_VkStructureType(enc, &pnext->sType);4796vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4797vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);4798return;4799case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:4800vn_encode_simple_pointer(enc, pnext);4801vn_encode_VkStructureType(enc, &pnext->sType);4802vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4803vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);4804return;4805case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:4806vn_encode_simple_pointer(enc, pnext);4807vn_encode_VkStructureType(enc, &pnext->sType);4808vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4809vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);4810return;4811case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:4812vn_encode_simple_pointer(enc, pnext);4813vn_encode_VkStructureType(enc, &pnext->sType);4814vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4815vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);4816return;4817case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:4818vn_encode_simple_pointer(enc, pnext);4819vn_encode_VkStructureType(enc, &pnext->sType);4820vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4821vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);4822return;4823case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:4824vn_encode_simple_pointer(enc, pnext);4825vn_encode_VkStructureType(enc, &pnext->sType);4826vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4827vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);4828return;4829case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:4830vn_encode_simple_pointer(enc, pnext);4831vn_encode_VkStructureType(enc, &pnext->sType);4832vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4833vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);4834return;4835case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:4836vn_encode_simple_pointer(enc, pnext);4837vn_encode_VkStructureType(enc, &pnext->sType);4838vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4839vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);4840return;4841case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:4842vn_encode_simple_pointer(enc, pnext);4843vn_encode_VkStructureType(enc, &pnext->sType);4844vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4845vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);4846return;4847case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:4848vn_encode_simple_pointer(enc, pnext);4849vn_encode_VkStructureType(enc, &pnext->sType);4850vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4851vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);4852return;4853case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:4854vn_encode_simple_pointer(enc, pnext);4855vn_encode_VkStructureType(enc, &pnext->sType);4856vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4857vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);4858return;4859case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:4860vn_encode_simple_pointer(enc, pnext);4861vn_encode_VkStructureType(enc, &pnext->sType);4862vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4863vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);4864return;4865case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:4866vn_encode_simple_pointer(enc, pnext);4867vn_encode_VkStructureType(enc, &pnext->sType);4868vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4869vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);4870return;4871case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:4872vn_encode_simple_pointer(enc, pnext);4873vn_encode_VkStructureType(enc, &pnext->sType);4874vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4875vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);4876return;4877case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:4878vn_encode_simple_pointer(enc, pnext);4879vn_encode_VkStructureType(enc, &pnext->sType);4880vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4881vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);4882return;4883case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:4884vn_encode_simple_pointer(enc, pnext);4885vn_encode_VkStructureType(enc, &pnext->sType);4886vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);4887vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);4888return;4889default:4890/* ignore unknown/unsupported struct */4891break;4892}4893pnext = pnext->pNext;4894}48954896vn_encode_simple_pointer(enc, NULL);4897}48984899static inline void4900vn_encode_VkPhysicalDeviceFeatures2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)4901{4902/* skip val->{sType,pNext} */4903vn_encode_VkPhysicalDeviceFeatures(enc, &val->features);4904}49054906static inline void4907vn_encode_VkPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)4908{4909assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);4910vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });4911vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, val->pNext);4912vn_encode_VkPhysicalDeviceFeatures2_self(enc, val);4913}49144915static inline void4916vn_decode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_decoder *dec, const void *val)4917{4918VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;4919VkStructureType stype;49204921if (!vn_decode_simple_pointer(dec))4922return;49234924vn_decode_VkStructureType(dec, &stype);4925while (true) {4926assert(pnext);4927if (pnext->sType == stype)4928break;4929}49304931switch ((int32_t)pnext->sType) {4932case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:4933vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4934vn_decode_VkPhysicalDeviceVariablePointersFeatures_self(dec, (VkPhysicalDeviceVariablePointersFeatures *)pnext);4935break;4936case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:4937vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4938vn_decode_VkPhysicalDeviceMultiviewFeatures_self(dec, (VkPhysicalDeviceMultiviewFeatures *)pnext);4939break;4940case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:4941vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4942vn_decode_VkPhysicalDevice16BitStorageFeatures_self(dec, (VkPhysicalDevice16BitStorageFeatures *)pnext);4943break;4944case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:4945vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4946vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(dec, (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);4947break;4948case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:4949vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4950vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(dec, (VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);4951break;4952case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:4953vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4954vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self(dec, (VkPhysicalDeviceProtectedMemoryFeatures *)pnext);4955break;4956case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:4957vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4958vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self(dec, (VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);4959break;4960case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:4961vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4962vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self(dec, (VkPhysicalDeviceShaderFloat16Int8Features *)pnext);4963break;4964case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:4965vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4966vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext);4967break;4968case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:4969vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4970vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);4971break;4972case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:4973vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4974vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(dec, (VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);4975break;4976case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:4977vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4978vn_decode_VkPhysicalDevice8BitStorageFeatures_self(dec, (VkPhysicalDevice8BitStorageFeatures *)pnext);4979break;4980case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:4981vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4982vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(dec, (VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);4983break;4984case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:4985vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4986vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);4987break;4988case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:4989vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4990vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);4991break;4992case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:4993vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4994vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(dec, (VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);4995break;4996case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:4997vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);4998vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);4999break;5000case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:5001vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);5002vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);5003break;5004case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:5005vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);5006vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self(dec, (VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);5007break;5008case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:5009vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);5010vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(dec, (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);5011break;5012case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:5013vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);5014vn_decode_VkPhysicalDeviceVulkan11Features_self(dec, (VkPhysicalDeviceVulkan11Features *)pnext);5015break;5016case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:5017vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, pnext->pNext);5018vn_decode_VkPhysicalDeviceVulkan12Features_self(dec, (VkPhysicalDeviceVulkan12Features *)pnext);5019break;5020default:5021assert(false);5022break;5023}5024}50255026static inline void5027vn_decode_VkPhysicalDeviceFeatures2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)5028{5029/* skip val->{sType,pNext} */5030vn_decode_VkPhysicalDeviceFeatures(dec, &val->features);5031}50325033static inline void5034vn_decode_VkPhysicalDeviceFeatures2(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)5035{5036VkStructureType stype;5037vn_decode_VkStructureType(dec, &stype);5038assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);50395040assert(val->sType == stype);5041vn_decode_VkPhysicalDeviceFeatures2_pnext(dec, val->pNext);5042vn_decode_VkPhysicalDeviceFeatures2_self(dec, val);5043}50445045static inline size_t5046vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(const void *val)5047{5048const VkBaseInStructure *pnext = val;5049size_t size = 0;50505051while (pnext) {5052switch ((int32_t)pnext->sType) {5053case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:5054size += vn_sizeof_simple_pointer(pnext);5055size += vn_sizeof_VkStructureType(&pnext->sType);5056size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5057size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self_partial((const VkPhysicalDeviceVariablePointersFeatures *)pnext);5058return size;5059case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:5060size += vn_sizeof_simple_pointer(pnext);5061size += vn_sizeof_VkStructureType(&pnext->sType);5062size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5063size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self_partial((const VkPhysicalDeviceMultiviewFeatures *)pnext);5064return size;5065case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:5066size += vn_sizeof_simple_pointer(pnext);5067size += vn_sizeof_VkStructureType(&pnext->sType);5068size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5069size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self_partial((const VkPhysicalDevice16BitStorageFeatures *)pnext);5070return size;5071case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:5072size += vn_sizeof_simple_pointer(pnext);5073size += vn_sizeof_VkStructureType(&pnext->sType);5074size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5075size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);5076return size;5077case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:5078size += vn_sizeof_simple_pointer(pnext);5079size += vn_sizeof_VkStructureType(&pnext->sType);5080size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5081size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);5082return size;5083case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:5084size += vn_sizeof_simple_pointer(pnext);5085size += vn_sizeof_VkStructureType(&pnext->sType);5086size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5087size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self_partial((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);5088return size;5089case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:5090size += vn_sizeof_simple_pointer(pnext);5091size += vn_sizeof_VkStructureType(&pnext->sType);5092size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5093size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);5094return size;5095case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:5096size += vn_sizeof_simple_pointer(pnext);5097size += vn_sizeof_VkStructureType(&pnext->sType);5098size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5099size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self_partial((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);5100return size;5101case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:5102size += vn_sizeof_simple_pointer(pnext);5103size += vn_sizeof_VkStructureType(&pnext->sType);5104size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5105size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self_partial((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);5106return size;5107case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:5108size += vn_sizeof_simple_pointer(pnext);5109size += vn_sizeof_VkStructureType(&pnext->sType);5110size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5111size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);5112return size;5113case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:5114size += vn_sizeof_simple_pointer(pnext);5115size += vn_sizeof_VkStructureType(&pnext->sType);5116size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5117size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);5118return size;5119case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:5120size += vn_sizeof_simple_pointer(pnext);5121size += vn_sizeof_VkStructureType(&pnext->sType);5122size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5123size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self_partial((const VkPhysicalDevice8BitStorageFeatures *)pnext);5124return size;5125case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:5126size += vn_sizeof_simple_pointer(pnext);5127size += vn_sizeof_VkStructureType(&pnext->sType);5128size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5129size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);5130return size;5131case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:5132size += vn_sizeof_simple_pointer(pnext);5133size += vn_sizeof_VkStructureType(&pnext->sType);5134size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5135size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self_partial((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);5136return size;5137case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:5138size += vn_sizeof_simple_pointer(pnext);5139size += vn_sizeof_VkStructureType(&pnext->sType);5140size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5141size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);5142return size;5143case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:5144size += vn_sizeof_simple_pointer(pnext);5145size += vn_sizeof_VkStructureType(&pnext->sType);5146size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5147size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);5148return size;5149case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:5150size += vn_sizeof_simple_pointer(pnext);5151size += vn_sizeof_VkStructureType(&pnext->sType);5152size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5153size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);5154return size;5155case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:5156size += vn_sizeof_simple_pointer(pnext);5157size += vn_sizeof_VkStructureType(&pnext->sType);5158size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5159size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);5160return size;5161case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:5162size += vn_sizeof_simple_pointer(pnext);5163size += vn_sizeof_VkStructureType(&pnext->sType);5164size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5165size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);5166return size;5167case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:5168size += vn_sizeof_simple_pointer(pnext);5169size += vn_sizeof_VkStructureType(&pnext->sType);5170size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5171size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);5172return size;5173case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:5174size += vn_sizeof_simple_pointer(pnext);5175size += vn_sizeof_VkStructureType(&pnext->sType);5176size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5177size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self_partial((const VkPhysicalDeviceVulkan11Features *)pnext);5178return size;5179case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:5180size += vn_sizeof_simple_pointer(pnext);5181size += vn_sizeof_VkStructureType(&pnext->sType);5182size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(pnext->pNext);5183size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self_partial((const VkPhysicalDeviceVulkan12Features *)pnext);5184return size;5185default:5186/* ignore unknown/unsupported struct */5187break;5188}5189pnext = pnext->pNext;5190}51915192return vn_sizeof_simple_pointer(NULL);5193}51945195static inline size_t5196vn_sizeof_VkPhysicalDeviceFeatures2_self_partial(const VkPhysicalDeviceFeatures2 *val)5197{5198size_t size = 0;5199/* skip val->{sType,pNext} */5200size += vn_sizeof_VkPhysicalDeviceFeatures_partial(&val->features);5201return size;5202}52035204static inline size_t5205vn_sizeof_VkPhysicalDeviceFeatures2_partial(const VkPhysicalDeviceFeatures2 *val)5206{5207size_t size = 0;52085209size += vn_sizeof_VkStructureType(&val->sType);5210size += vn_sizeof_VkPhysicalDeviceFeatures2_pnext_partial(val->pNext);5211size += vn_sizeof_VkPhysicalDeviceFeatures2_self_partial(val);52125213return size;5214}52155216static inline void5217vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(struct vn_cs_encoder *enc, const void *val)5218{5219const VkBaseInStructure *pnext = val;52205221while (pnext) {5222switch ((int32_t)pnext->sType) {5223case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:5224vn_encode_simple_pointer(enc, pnext);5225vn_encode_VkStructureType(enc, &pnext->sType);5226vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5227vn_encode_VkPhysicalDeviceVariablePointersFeatures_self_partial(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);5228return;5229case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:5230vn_encode_simple_pointer(enc, pnext);5231vn_encode_VkStructureType(enc, &pnext->sType);5232vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5233vn_encode_VkPhysicalDeviceMultiviewFeatures_self_partial(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);5234return;5235case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:5236vn_encode_simple_pointer(enc, pnext);5237vn_encode_VkStructureType(enc, &pnext->sType);5238vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5239vn_encode_VkPhysicalDevice16BitStorageFeatures_self_partial(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);5240return;5241case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:5242vn_encode_simple_pointer(enc, pnext);5243vn_encode_VkStructureType(enc, &pnext->sType);5244vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5245vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);5246return;5247case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:5248vn_encode_simple_pointer(enc, pnext);5249vn_encode_VkStructureType(enc, &pnext->sType);5250vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5251vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);5252return;5253case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:5254vn_encode_simple_pointer(enc, pnext);5255vn_encode_VkStructureType(enc, &pnext->sType);5256vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5257vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);5258return;5259case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:5260vn_encode_simple_pointer(enc, pnext);5261vn_encode_VkStructureType(enc, &pnext->sType);5262vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5263vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);5264return;5265case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:5266vn_encode_simple_pointer(enc, pnext);5267vn_encode_VkStructureType(enc, &pnext->sType);5268vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5269vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);5270return;5271case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:5272vn_encode_simple_pointer(enc, pnext);5273vn_encode_VkStructureType(enc, &pnext->sType);5274vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5275vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self_partial(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);5276return;5277case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:5278vn_encode_simple_pointer(enc, pnext);5279vn_encode_VkStructureType(enc, &pnext->sType);5280vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5281vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);5282return;5283case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:5284vn_encode_simple_pointer(enc, pnext);5285vn_encode_VkStructureType(enc, &pnext->sType);5286vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5287vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);5288return;5289case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:5290vn_encode_simple_pointer(enc, pnext);5291vn_encode_VkStructureType(enc, &pnext->sType);5292vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5293vn_encode_VkPhysicalDevice8BitStorageFeatures_self_partial(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);5294return;5295case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:5296vn_encode_simple_pointer(enc, pnext);5297vn_encode_VkStructureType(enc, &pnext->sType);5298vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5299vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);5300return;5301case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:5302vn_encode_simple_pointer(enc, pnext);5303vn_encode_VkStructureType(enc, &pnext->sType);5304vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5305vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);5306return;5307case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:5308vn_encode_simple_pointer(enc, pnext);5309vn_encode_VkStructureType(enc, &pnext->sType);5310vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5311vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);5312return;5313case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:5314vn_encode_simple_pointer(enc, pnext);5315vn_encode_VkStructureType(enc, &pnext->sType);5316vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5317vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);5318return;5319case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:5320vn_encode_simple_pointer(enc, pnext);5321vn_encode_VkStructureType(enc, &pnext->sType);5322vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5323vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);5324return;5325case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:5326vn_encode_simple_pointer(enc, pnext);5327vn_encode_VkStructureType(enc, &pnext->sType);5328vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5329vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);5330return;5331case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:5332vn_encode_simple_pointer(enc, pnext);5333vn_encode_VkStructureType(enc, &pnext->sType);5334vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5335vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);5336return;5337case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:5338vn_encode_simple_pointer(enc, pnext);5339vn_encode_VkStructureType(enc, &pnext->sType);5340vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5341vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);5342return;5343case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:5344vn_encode_simple_pointer(enc, pnext);5345vn_encode_VkStructureType(enc, &pnext->sType);5346vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5347vn_encode_VkPhysicalDeviceVulkan11Features_self_partial(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);5348return;5349case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:5350vn_encode_simple_pointer(enc, pnext);5351vn_encode_VkStructureType(enc, &pnext->sType);5352vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, pnext->pNext);5353vn_encode_VkPhysicalDeviceVulkan12Features_self_partial(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);5354return;5355default:5356/* ignore unknown/unsupported struct */5357break;5358}5359pnext = pnext->pNext;5360}53615362vn_encode_simple_pointer(enc, NULL);5363}53645365static inline void5366vn_encode_VkPhysicalDeviceFeatures2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)5367{5368/* skip val->{sType,pNext} */5369vn_encode_VkPhysicalDeviceFeatures_partial(enc, &val->features);5370}53715372static inline void5373vn_encode_VkPhysicalDeviceFeatures2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)5374{5375assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);5376vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });5377vn_encode_VkPhysicalDeviceFeatures2_pnext_partial(enc, val->pNext);5378vn_encode_VkPhysicalDeviceFeatures2_self_partial(enc, val);5379}53805381/* struct VkDeviceGroupDeviceCreateInfo chain */53825383static inline size_t5384vn_sizeof_VkDeviceGroupDeviceCreateInfo_pnext(const void *val)5385{5386/* no known/supported struct */5387return vn_sizeof_simple_pointer(NULL);5388}53895390static inline size_t5391vn_sizeof_VkDeviceGroupDeviceCreateInfo_self(const VkDeviceGroupDeviceCreateInfo *val)5392{5393size_t size = 0;5394/* skip val->{sType,pNext} */5395size += vn_sizeof_uint32_t(&val->physicalDeviceCount);5396if (val->pPhysicalDevices) {5397size += vn_sizeof_array_size(val->physicalDeviceCount);5398for (uint32_t i = 0; i < val->physicalDeviceCount; i++)5399size += vn_sizeof_VkPhysicalDevice(&val->pPhysicalDevices[i]);5400} else {5401size += vn_sizeof_array_size(0);5402}5403return size;5404}54055406static inline size_t5407vn_sizeof_VkDeviceGroupDeviceCreateInfo(const VkDeviceGroupDeviceCreateInfo *val)5408{5409size_t size = 0;54105411size += vn_sizeof_VkStructureType(&val->sType);5412size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_pnext(val->pNext);5413size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_self(val);54145415return size;5416}54175418static inline void5419vn_encode_VkDeviceGroupDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)5420{5421/* no known/supported struct */5422vn_encode_simple_pointer(enc, NULL);5423}54245425static inline void5426vn_encode_VkDeviceGroupDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceGroupDeviceCreateInfo *val)5427{5428/* skip val->{sType,pNext} */5429vn_encode_uint32_t(enc, &val->physicalDeviceCount);5430if (val->pPhysicalDevices) {5431vn_encode_array_size(enc, val->physicalDeviceCount);5432for (uint32_t i = 0; i < val->physicalDeviceCount; i++)5433vn_encode_VkPhysicalDevice(enc, &val->pPhysicalDevices[i]);5434} else {5435vn_encode_array_size(enc, 0);5436}5437}54385439static inline void5440vn_encode_VkDeviceGroupDeviceCreateInfo(struct vn_cs_encoder *enc, const VkDeviceGroupDeviceCreateInfo *val)5441{5442assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO);5443vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO });5444vn_encode_VkDeviceGroupDeviceCreateInfo_pnext(enc, val->pNext);5445vn_encode_VkDeviceGroupDeviceCreateInfo_self(enc, val);5446}54475448/* struct VkDeviceCreateInfo chain */54495450static inline size_t5451vn_sizeof_VkDeviceCreateInfo_pnext(const void *val)5452{5453const VkBaseInStructure *pnext = val;5454size_t size = 0;54555456while (pnext) {5457switch ((int32_t)pnext->sType) {5458case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:5459size += vn_sizeof_simple_pointer(pnext);5460size += vn_sizeof_VkStructureType(&pnext->sType);5461size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5462size += vn_sizeof_VkPhysicalDeviceFeatures2_self((const VkPhysicalDeviceFeatures2 *)pnext);5463return size;5464case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:5465size += vn_sizeof_simple_pointer(pnext);5466size += vn_sizeof_VkStructureType(&pnext->sType);5467size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5468size += vn_sizeof_VkPhysicalDeviceVariablePointersFeatures_self((const VkPhysicalDeviceVariablePointersFeatures *)pnext);5469return size;5470case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:5471size += vn_sizeof_simple_pointer(pnext);5472size += vn_sizeof_VkStructureType(&pnext->sType);5473size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5474size += vn_sizeof_VkPhysicalDeviceMultiviewFeatures_self((const VkPhysicalDeviceMultiviewFeatures *)pnext);5475return size;5476case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:5477size += vn_sizeof_simple_pointer(pnext);5478size += vn_sizeof_VkStructureType(&pnext->sType);5479size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5480size += vn_sizeof_VkDeviceGroupDeviceCreateInfo_self((const VkDeviceGroupDeviceCreateInfo *)pnext);5481return size;5482case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:5483size += vn_sizeof_simple_pointer(pnext);5484size += vn_sizeof_VkStructureType(&pnext->sType);5485size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5486size += vn_sizeof_VkPhysicalDevice16BitStorageFeatures_self((const VkPhysicalDevice16BitStorageFeatures *)pnext);5487return size;5488case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:5489size += vn_sizeof_simple_pointer(pnext);5490size += vn_sizeof_VkStructureType(&pnext->sType);5491size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5492size += vn_sizeof_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self((const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);5493return size;5494case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:5495size += vn_sizeof_simple_pointer(pnext);5496size += vn_sizeof_VkStructureType(&pnext->sType);5497size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5498size += vn_sizeof_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self((const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);5499return size;5500case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:5501size += vn_sizeof_simple_pointer(pnext);5502size += vn_sizeof_VkStructureType(&pnext->sType);5503size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5504size += vn_sizeof_VkPhysicalDeviceProtectedMemoryFeatures_self((const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);5505return size;5506case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:5507size += vn_sizeof_simple_pointer(pnext);5508size += vn_sizeof_VkStructureType(&pnext->sType);5509size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5510size += vn_sizeof_VkPhysicalDeviceShaderDrawParametersFeatures_self((const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);5511return size;5512case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:5513size += vn_sizeof_simple_pointer(pnext);5514size += vn_sizeof_VkStructureType(&pnext->sType);5515size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5516size += vn_sizeof_VkPhysicalDeviceShaderFloat16Int8Features_self((const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);5517return size;5518case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:5519size += vn_sizeof_simple_pointer(pnext);5520size += vn_sizeof_VkStructureType(&pnext->sType);5521size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5522size += vn_sizeof_VkPhysicalDeviceHostQueryResetFeatures_self((const VkPhysicalDeviceHostQueryResetFeatures *)pnext);5523return size;5524case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:5525size += vn_sizeof_simple_pointer(pnext);5526size += vn_sizeof_VkStructureType(&pnext->sType);5527size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5528size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingFeatures_self((const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);5529return size;5530case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:5531size += vn_sizeof_simple_pointer(pnext);5532size += vn_sizeof_VkStructureType(&pnext->sType);5533size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5534size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreFeatures_self((const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);5535return size;5536case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:5537size += vn_sizeof_simple_pointer(pnext);5538size += vn_sizeof_VkStructureType(&pnext->sType);5539size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5540size += vn_sizeof_VkPhysicalDevice8BitStorageFeatures_self((const VkPhysicalDevice8BitStorageFeatures *)pnext);5541return size;5542case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:5543size += vn_sizeof_simple_pointer(pnext);5544size += vn_sizeof_VkStructureType(&pnext->sType);5545size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5546size += vn_sizeof_VkPhysicalDeviceVulkanMemoryModelFeatures_self((const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);5547return size;5548case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:5549size += vn_sizeof_simple_pointer(pnext);5550size += vn_sizeof_VkStructureType(&pnext->sType);5551size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5552size += vn_sizeof_VkPhysicalDeviceShaderAtomicInt64Features_self((const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);5553return size;5554case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:5555size += vn_sizeof_simple_pointer(pnext);5556size += vn_sizeof_VkStructureType(&pnext->sType);5557size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5558size += vn_sizeof_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self((const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);5559return size;5560case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:5561size += vn_sizeof_simple_pointer(pnext);5562size += vn_sizeof_VkStructureType(&pnext->sType);5563size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5564size += vn_sizeof_VkPhysicalDeviceScalarBlockLayoutFeatures_self((const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);5565return size;5566case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:5567size += vn_sizeof_simple_pointer(pnext);5568size += vn_sizeof_VkStructureType(&pnext->sType);5569size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5570size += vn_sizeof_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self((const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);5571return size;5572case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:5573size += vn_sizeof_simple_pointer(pnext);5574size += vn_sizeof_VkStructureType(&pnext->sType);5575size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5576size += vn_sizeof_VkPhysicalDeviceBufferDeviceAddressFeatures_self((const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);5577return size;5578case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:5579size += vn_sizeof_simple_pointer(pnext);5580size += vn_sizeof_VkStructureType(&pnext->sType);5581size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5582size += vn_sizeof_VkPhysicalDeviceImagelessFramebufferFeatures_self((const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);5583return size;5584case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:5585size += vn_sizeof_simple_pointer(pnext);5586size += vn_sizeof_VkStructureType(&pnext->sType);5587size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5588size += vn_sizeof_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self((const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);5589return size;5590case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:5591size += vn_sizeof_simple_pointer(pnext);5592size += vn_sizeof_VkStructureType(&pnext->sType);5593size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5594size += vn_sizeof_VkPhysicalDeviceVulkan11Features_self((const VkPhysicalDeviceVulkan11Features *)pnext);5595return size;5596case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:5597size += vn_sizeof_simple_pointer(pnext);5598size += vn_sizeof_VkStructureType(&pnext->sType);5599size += vn_sizeof_VkDeviceCreateInfo_pnext(pnext->pNext);5600size += vn_sizeof_VkPhysicalDeviceVulkan12Features_self((const VkPhysicalDeviceVulkan12Features *)pnext);5601return size;5602default:5603/* ignore unknown/unsupported struct */5604break;5605}5606pnext = pnext->pNext;5607}56085609return vn_sizeof_simple_pointer(NULL);5610}56115612static inline size_t5613vn_sizeof_VkDeviceCreateInfo_self(const VkDeviceCreateInfo *val)5614{5615size_t size = 0;5616/* skip val->{sType,pNext} */5617size += vn_sizeof_VkFlags(&val->flags);5618size += vn_sizeof_uint32_t(&val->queueCreateInfoCount);5619if (val->pQueueCreateInfos) {5620size += vn_sizeof_array_size(val->queueCreateInfoCount);5621for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)5622size += vn_sizeof_VkDeviceQueueCreateInfo(&val->pQueueCreateInfos[i]);5623} else {5624size += vn_sizeof_array_size(0);5625}5626size += vn_sizeof_uint32_t(&val->enabledLayerCount);5627if (val->ppEnabledLayerNames) {5628size += vn_sizeof_array_size(val->enabledLayerCount);5629for (uint32_t i = 0; i < val->enabledLayerCount; i++) {5630const size_t string_size = strlen(val->ppEnabledLayerNames[i]) + 1;5631size += vn_sizeof_array_size(string_size);5632size += vn_sizeof_blob_array(val->ppEnabledLayerNames[i], string_size);5633}5634} else {5635size += vn_sizeof_array_size(0);5636}5637size += vn_sizeof_uint32_t(&val->enabledExtensionCount);5638if (val->ppEnabledExtensionNames) {5639size += vn_sizeof_array_size(val->enabledExtensionCount);5640for (uint32_t i = 0; i < val->enabledExtensionCount; i++) {5641const size_t string_size = strlen(val->ppEnabledExtensionNames[i]) + 1;5642size += vn_sizeof_array_size(string_size);5643size += vn_sizeof_blob_array(val->ppEnabledExtensionNames[i], string_size);5644}5645} else {5646size += vn_sizeof_array_size(0);5647}5648size += vn_sizeof_simple_pointer(val->pEnabledFeatures);5649if (val->pEnabledFeatures)5650size += vn_sizeof_VkPhysicalDeviceFeatures(val->pEnabledFeatures);5651return size;5652}56535654static inline size_t5655vn_sizeof_VkDeviceCreateInfo(const VkDeviceCreateInfo *val)5656{5657size_t size = 0;56585659size += vn_sizeof_VkStructureType(&val->sType);5660size += vn_sizeof_VkDeviceCreateInfo_pnext(val->pNext);5661size += vn_sizeof_VkDeviceCreateInfo_self(val);56625663return size;5664}56655666static inline void5667vn_encode_VkDeviceCreateInfo_pnext(struct vn_cs_encoder *enc, const void *val)5668{5669const VkBaseInStructure *pnext = val;56705671while (pnext) {5672switch ((int32_t)pnext->sType) {5673case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:5674vn_encode_simple_pointer(enc, pnext);5675vn_encode_VkStructureType(enc, &pnext->sType);5676vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5677vn_encode_VkPhysicalDeviceFeatures2_self(enc, (const VkPhysicalDeviceFeatures2 *)pnext);5678return;5679case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:5680vn_encode_simple_pointer(enc, pnext);5681vn_encode_VkStructureType(enc, &pnext->sType);5682vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5683vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);5684return;5685case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:5686vn_encode_simple_pointer(enc, pnext);5687vn_encode_VkStructureType(enc, &pnext->sType);5688vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5689vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);5690return;5691case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:5692vn_encode_simple_pointer(enc, pnext);5693vn_encode_VkStructureType(enc, &pnext->sType);5694vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5695vn_encode_VkDeviceGroupDeviceCreateInfo_self(enc, (const VkDeviceGroupDeviceCreateInfo *)pnext);5696return;5697case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:5698vn_encode_simple_pointer(enc, pnext);5699vn_encode_VkStructureType(enc, &pnext->sType);5700vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5701vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);5702return;5703case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:5704vn_encode_simple_pointer(enc, pnext);5705vn_encode_VkStructureType(enc, &pnext->sType);5706vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5707vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);5708return;5709case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:5710vn_encode_simple_pointer(enc, pnext);5711vn_encode_VkStructureType(enc, &pnext->sType);5712vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5713vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);5714return;5715case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:5716vn_encode_simple_pointer(enc, pnext);5717vn_encode_VkStructureType(enc, &pnext->sType);5718vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5719vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);5720return;5721case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:5722vn_encode_simple_pointer(enc, pnext);5723vn_encode_VkStructureType(enc, &pnext->sType);5724vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5725vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);5726return;5727case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:5728vn_encode_simple_pointer(enc, pnext);5729vn_encode_VkStructureType(enc, &pnext->sType);5730vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5731vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);5732return;5733case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:5734vn_encode_simple_pointer(enc, pnext);5735vn_encode_VkStructureType(enc, &pnext->sType);5736vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5737vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);5738return;5739case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:5740vn_encode_simple_pointer(enc, pnext);5741vn_encode_VkStructureType(enc, &pnext->sType);5742vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5743vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);5744return;5745case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:5746vn_encode_simple_pointer(enc, pnext);5747vn_encode_VkStructureType(enc, &pnext->sType);5748vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5749vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);5750return;5751case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:5752vn_encode_simple_pointer(enc, pnext);5753vn_encode_VkStructureType(enc, &pnext->sType);5754vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5755vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);5756return;5757case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:5758vn_encode_simple_pointer(enc, pnext);5759vn_encode_VkStructureType(enc, &pnext->sType);5760vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5761vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);5762return;5763case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:5764vn_encode_simple_pointer(enc, pnext);5765vn_encode_VkStructureType(enc, &pnext->sType);5766vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5767vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);5768return;5769case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:5770vn_encode_simple_pointer(enc, pnext);5771vn_encode_VkStructureType(enc, &pnext->sType);5772vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5773vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);5774return;5775case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:5776vn_encode_simple_pointer(enc, pnext);5777vn_encode_VkStructureType(enc, &pnext->sType);5778vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5779vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);5780return;5781case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:5782vn_encode_simple_pointer(enc, pnext);5783vn_encode_VkStructureType(enc, &pnext->sType);5784vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5785vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);5786return;5787case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:5788vn_encode_simple_pointer(enc, pnext);5789vn_encode_VkStructureType(enc, &pnext->sType);5790vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5791vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);5792return;5793case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:5794vn_encode_simple_pointer(enc, pnext);5795vn_encode_VkStructureType(enc, &pnext->sType);5796vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5797vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);5798return;5799case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:5800vn_encode_simple_pointer(enc, pnext);5801vn_encode_VkStructureType(enc, &pnext->sType);5802vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5803vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);5804return;5805case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:5806vn_encode_simple_pointer(enc, pnext);5807vn_encode_VkStructureType(enc, &pnext->sType);5808vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5809vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);5810return;5811case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:5812vn_encode_simple_pointer(enc, pnext);5813vn_encode_VkStructureType(enc, &pnext->sType);5814vn_encode_VkDeviceCreateInfo_pnext(enc, pnext->pNext);5815vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);5816return;5817default:5818/* ignore unknown/unsupported struct */5819break;5820}5821pnext = pnext->pNext;5822}58235824vn_encode_simple_pointer(enc, NULL);5825}58265827static inline void5828vn_encode_VkDeviceCreateInfo_self(struct vn_cs_encoder *enc, const VkDeviceCreateInfo *val)5829{5830/* skip val->{sType,pNext} */5831vn_encode_VkFlags(enc, &val->flags);5832vn_encode_uint32_t(enc, &val->queueCreateInfoCount);5833if (val->pQueueCreateInfos) {5834vn_encode_array_size(enc, val->queueCreateInfoCount);5835for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)5836vn_encode_VkDeviceQueueCreateInfo(enc, &val->pQueueCreateInfos[i]);5837} else {5838vn_encode_array_size(enc, 0);5839}5840vn_encode_uint32_t(enc, &val->enabledLayerCount);5841if (val->ppEnabledLayerNames) {5842vn_encode_array_size(enc, val->enabledLayerCount);5843for (uint32_t i = 0; i < val->enabledLayerCount; i++) {5844const size_t string_size = strlen(val->ppEnabledLayerNames[i]) + 1;5845vn_encode_array_size(enc, string_size);5846vn_encode_blob_array(enc, val->ppEnabledLayerNames[i], string_size);5847}5848} else {5849vn_encode_array_size(enc, 0);5850}5851vn_encode_uint32_t(enc, &val->enabledExtensionCount);5852if (val->ppEnabledExtensionNames) {5853vn_encode_array_size(enc, val->enabledExtensionCount);5854for (uint32_t i = 0; i < val->enabledExtensionCount; i++) {5855const size_t string_size = strlen(val->ppEnabledExtensionNames[i]) + 1;5856vn_encode_array_size(enc, string_size);5857vn_encode_blob_array(enc, val->ppEnabledExtensionNames[i], string_size);5858}5859} else {5860vn_encode_array_size(enc, 0);5861}5862if (vn_encode_simple_pointer(enc, val->pEnabledFeatures))5863vn_encode_VkPhysicalDeviceFeatures(enc, val->pEnabledFeatures);5864}58655866static inline void5867vn_encode_VkDeviceCreateInfo(struct vn_cs_encoder *enc, const VkDeviceCreateInfo *val)5868{5869assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO);5870vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO });5871vn_encode_VkDeviceCreateInfo_pnext(enc, val->pNext);5872vn_encode_VkDeviceCreateInfo_self(enc, val);5873}58745875/* struct VkConformanceVersion */58765877static inline size_t5878vn_sizeof_VkConformanceVersion(const VkConformanceVersion *val)5879{5880size_t size = 0;5881size += vn_sizeof_uint8_t(&val->major);5882size += vn_sizeof_uint8_t(&val->minor);5883size += vn_sizeof_uint8_t(&val->subminor);5884size += vn_sizeof_uint8_t(&val->patch);5885return size;5886}58875888static inline void5889vn_decode_VkConformanceVersion(struct vn_cs_decoder *dec, VkConformanceVersion *val)5890{5891vn_decode_uint8_t(dec, &val->major);5892vn_decode_uint8_t(dec, &val->minor);5893vn_decode_uint8_t(dec, &val->subminor);5894vn_decode_uint8_t(dec, &val->patch);5895}58965897static inline size_t5898vn_sizeof_VkConformanceVersion_partial(const VkConformanceVersion *val)5899{5900size_t size = 0;5901/* skip val->major */5902/* skip val->minor */5903/* skip val->subminor */5904/* skip val->patch */5905return size;5906}59075908static inline void5909vn_encode_VkConformanceVersion_partial(struct vn_cs_encoder *enc, const VkConformanceVersion *val)5910{5911/* skip val->major */5912/* skip val->minor */5913/* skip val->subminor */5914/* skip val->patch */5915}59165917/* struct VkPhysicalDeviceDriverProperties chain */59185919static inline size_t5920vn_sizeof_VkPhysicalDeviceDriverProperties_pnext(const void *val)5921{5922/* no known/supported struct */5923return vn_sizeof_simple_pointer(NULL);5924}59255926static inline size_t5927vn_sizeof_VkPhysicalDeviceDriverProperties_self(const VkPhysicalDeviceDriverProperties *val)5928{5929size_t size = 0;5930/* skip val->{sType,pNext} */5931size += vn_sizeof_VkDriverId(&val->driverID);5932size += vn_sizeof_array_size(VK_MAX_DRIVER_NAME_SIZE);5933size += vn_sizeof_blob_array(val->driverName, VK_MAX_DRIVER_NAME_SIZE);5934size += vn_sizeof_array_size(VK_MAX_DRIVER_INFO_SIZE);5935size += vn_sizeof_blob_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);5936size += vn_sizeof_VkConformanceVersion(&val->conformanceVersion);5937return size;5938}59395940static inline size_t5941vn_sizeof_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties *val)5942{5943size_t size = 0;59445945size += vn_sizeof_VkStructureType(&val->sType);5946size += vn_sizeof_VkPhysicalDeviceDriverProperties_pnext(val->pNext);5947size += vn_sizeof_VkPhysicalDeviceDriverProperties_self(val);59485949return size;5950}59515952static inline void5953vn_decode_VkPhysicalDeviceDriverProperties_pnext(struct vn_cs_decoder *dec, const void *val)5954{5955/* no known/supported struct */5956if (vn_decode_simple_pointer(dec))5957assert(false);5958}59595960static inline void5961vn_decode_VkPhysicalDeviceDriverProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)5962{5963/* skip val->{sType,pNext} */5964vn_decode_VkDriverId(dec, &val->driverID);5965{5966const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_NAME_SIZE);5967vn_decode_blob_array(dec, val->driverName, array_size);5968}5969{5970const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_INFO_SIZE);5971vn_decode_blob_array(dec, val->driverInfo, array_size);5972}5973vn_decode_VkConformanceVersion(dec, &val->conformanceVersion);5974}59755976static inline void5977vn_decode_VkPhysicalDeviceDriverProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)5978{5979VkStructureType stype;5980vn_decode_VkStructureType(dec, &stype);5981assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);59825983assert(val->sType == stype);5984vn_decode_VkPhysicalDeviceDriverProperties_pnext(dec, val->pNext);5985vn_decode_VkPhysicalDeviceDriverProperties_self(dec, val);5986}59875988static inline size_t5989vn_sizeof_VkPhysicalDeviceDriverProperties_pnext_partial(const void *val)5990{5991/* no known/supported struct */5992return vn_sizeof_simple_pointer(NULL);5993}59945995static inline size_t5996vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial(const VkPhysicalDeviceDriverProperties *val)5997{5998size_t size = 0;5999/* skip val->{sType,pNext} */6000/* skip val->driverID */6001/* skip val->driverName */6002/* skip val->driverInfo */6003size += vn_sizeof_VkConformanceVersion_partial(&val->conformanceVersion);6004return size;6005}60066007static inline size_t6008vn_sizeof_VkPhysicalDeviceDriverProperties_partial(const VkPhysicalDeviceDriverProperties *val)6009{6010size_t size = 0;60116012size += vn_sizeof_VkStructureType(&val->sType);6013size += vn_sizeof_VkPhysicalDeviceDriverProperties_pnext_partial(val->pNext);6014size += vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial(val);60156016return size;6017}60186019static inline void6020vn_encode_VkPhysicalDeviceDriverProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6021{6022/* no known/supported struct */6023vn_encode_simple_pointer(enc, NULL);6024}60256026static inline void6027vn_encode_VkPhysicalDeviceDriverProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)6028{6029/* skip val->{sType,pNext} */6030/* skip val->driverID */6031/* skip val->driverName */6032/* skip val->driverInfo */6033vn_encode_VkConformanceVersion_partial(enc, &val->conformanceVersion);6034}60356036static inline void6037vn_encode_VkPhysicalDeviceDriverProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)6038{6039assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);6040vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES });6041vn_encode_VkPhysicalDeviceDriverProperties_pnext_partial(enc, val->pNext);6042vn_encode_VkPhysicalDeviceDriverProperties_self_partial(enc, val);6043}60446045/* struct VkPhysicalDeviceIDProperties chain */60466047static inline size_t6048vn_sizeof_VkPhysicalDeviceIDProperties_pnext(const void *val)6049{6050/* no known/supported struct */6051return vn_sizeof_simple_pointer(NULL);6052}60536054static inline size_t6055vn_sizeof_VkPhysicalDeviceIDProperties_self(const VkPhysicalDeviceIDProperties *val)6056{6057size_t size = 0;6058/* skip val->{sType,pNext} */6059size += vn_sizeof_array_size(VK_UUID_SIZE);6060size += vn_sizeof_uint8_t_array(val->deviceUUID, VK_UUID_SIZE);6061size += vn_sizeof_array_size(VK_UUID_SIZE);6062size += vn_sizeof_uint8_t_array(val->driverUUID, VK_UUID_SIZE);6063size += vn_sizeof_array_size(VK_LUID_SIZE);6064size += vn_sizeof_uint8_t_array(val->deviceLUID, VK_LUID_SIZE);6065size += vn_sizeof_uint32_t(&val->deviceNodeMask);6066size += vn_sizeof_VkBool32(&val->deviceLUIDValid);6067return size;6068}60696070static inline size_t6071vn_sizeof_VkPhysicalDeviceIDProperties(const VkPhysicalDeviceIDProperties *val)6072{6073size_t size = 0;60746075size += vn_sizeof_VkStructureType(&val->sType);6076size += vn_sizeof_VkPhysicalDeviceIDProperties_pnext(val->pNext);6077size += vn_sizeof_VkPhysicalDeviceIDProperties_self(val);60786079return size;6080}60816082static inline void6083vn_decode_VkPhysicalDeviceIDProperties_pnext(struct vn_cs_decoder *dec, const void *val)6084{6085/* no known/supported struct */6086if (vn_decode_simple_pointer(dec))6087assert(false);6088}60896090static inline void6091vn_decode_VkPhysicalDeviceIDProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)6092{6093/* skip val->{sType,pNext} */6094{6095const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);6096vn_decode_uint8_t_array(dec, val->deviceUUID, array_size);6097}6098{6099const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);6100vn_decode_uint8_t_array(dec, val->driverUUID, array_size);6101}6102{6103const size_t array_size = vn_decode_array_size(dec, VK_LUID_SIZE);6104vn_decode_uint8_t_array(dec, val->deviceLUID, array_size);6105}6106vn_decode_uint32_t(dec, &val->deviceNodeMask);6107vn_decode_VkBool32(dec, &val->deviceLUIDValid);6108}61096110static inline void6111vn_decode_VkPhysicalDeviceIDProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)6112{6113VkStructureType stype;6114vn_decode_VkStructureType(dec, &stype);6115assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);61166117assert(val->sType == stype);6118vn_decode_VkPhysicalDeviceIDProperties_pnext(dec, val->pNext);6119vn_decode_VkPhysicalDeviceIDProperties_self(dec, val);6120}61216122static inline size_t6123vn_sizeof_VkPhysicalDeviceIDProperties_pnext_partial(const void *val)6124{6125/* no known/supported struct */6126return vn_sizeof_simple_pointer(NULL);6127}61286129static inline size_t6130vn_sizeof_VkPhysicalDeviceIDProperties_self_partial(const VkPhysicalDeviceIDProperties *val)6131{6132size_t size = 0;6133/* skip val->{sType,pNext} */6134/* skip val->deviceUUID */6135/* skip val->driverUUID */6136/* skip val->deviceLUID */6137/* skip val->deviceNodeMask */6138/* skip val->deviceLUIDValid */6139return size;6140}61416142static inline size_t6143vn_sizeof_VkPhysicalDeviceIDProperties_partial(const VkPhysicalDeviceIDProperties *val)6144{6145size_t size = 0;61466147size += vn_sizeof_VkStructureType(&val->sType);6148size += vn_sizeof_VkPhysicalDeviceIDProperties_pnext_partial(val->pNext);6149size += vn_sizeof_VkPhysicalDeviceIDProperties_self_partial(val);61506151return size;6152}61536154static inline void6155vn_encode_VkPhysicalDeviceIDProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6156{6157/* no known/supported struct */6158vn_encode_simple_pointer(enc, NULL);6159}61606161static inline void6162vn_encode_VkPhysicalDeviceIDProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)6163{6164/* skip val->{sType,pNext} */6165/* skip val->deviceUUID */6166/* skip val->driverUUID */6167/* skip val->deviceLUID */6168/* skip val->deviceNodeMask */6169/* skip val->deviceLUIDValid */6170}61716172static inline void6173vn_encode_VkPhysicalDeviceIDProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)6174{6175assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);6176vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES });6177vn_encode_VkPhysicalDeviceIDProperties_pnext_partial(enc, val->pNext);6178vn_encode_VkPhysicalDeviceIDProperties_self_partial(enc, val);6179}61806181/* struct VkPhysicalDeviceMultiviewProperties chain */61826183static inline size_t6184vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext(const void *val)6185{6186/* no known/supported struct */6187return vn_sizeof_simple_pointer(NULL);6188}61896190static inline size_t6191vn_sizeof_VkPhysicalDeviceMultiviewProperties_self(const VkPhysicalDeviceMultiviewProperties *val)6192{6193size_t size = 0;6194/* skip val->{sType,pNext} */6195size += vn_sizeof_uint32_t(&val->maxMultiviewViewCount);6196size += vn_sizeof_uint32_t(&val->maxMultiviewInstanceIndex);6197return size;6198}61996200static inline size_t6201vn_sizeof_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties *val)6202{6203size_t size = 0;62046205size += vn_sizeof_VkStructureType(&val->sType);6206size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext(val->pNext);6207size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self(val);62086209return size;6210}62116212static inline void6213vn_decode_VkPhysicalDeviceMultiviewProperties_pnext(struct vn_cs_decoder *dec, const void *val)6214{6215/* no known/supported struct */6216if (vn_decode_simple_pointer(dec))6217assert(false);6218}62196220static inline void6221vn_decode_VkPhysicalDeviceMultiviewProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)6222{6223/* skip val->{sType,pNext} */6224vn_decode_uint32_t(dec, &val->maxMultiviewViewCount);6225vn_decode_uint32_t(dec, &val->maxMultiviewInstanceIndex);6226}62276228static inline void6229vn_decode_VkPhysicalDeviceMultiviewProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)6230{6231VkStructureType stype;6232vn_decode_VkStructureType(dec, &stype);6233assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);62346235assert(val->sType == stype);6236vn_decode_VkPhysicalDeviceMultiviewProperties_pnext(dec, val->pNext);6237vn_decode_VkPhysicalDeviceMultiviewProperties_self(dec, val);6238}62396240static inline size_t6241vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext_partial(const void *val)6242{6243/* no known/supported struct */6244return vn_sizeof_simple_pointer(NULL);6245}62466247static inline size_t6248vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial(const VkPhysicalDeviceMultiviewProperties *val)6249{6250size_t size = 0;6251/* skip val->{sType,pNext} */6252/* skip val->maxMultiviewViewCount */6253/* skip val->maxMultiviewInstanceIndex */6254return size;6255}62566257static inline size_t6258vn_sizeof_VkPhysicalDeviceMultiviewProperties_partial(const VkPhysicalDeviceMultiviewProperties *val)6259{6260size_t size = 0;62616262size += vn_sizeof_VkStructureType(&val->sType);6263size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_pnext_partial(val->pNext);6264size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial(val);62656266return size;6267}62686269static inline void6270vn_encode_VkPhysicalDeviceMultiviewProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6271{6272/* no known/supported struct */6273vn_encode_simple_pointer(enc, NULL);6274}62756276static inline void6277vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)6278{6279/* skip val->{sType,pNext} */6280/* skip val->maxMultiviewViewCount */6281/* skip val->maxMultiviewInstanceIndex */6282}62836284static inline void6285vn_encode_VkPhysicalDeviceMultiviewProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)6286{6287assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);6288vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES });6289vn_encode_VkPhysicalDeviceMultiviewProperties_pnext_partial(enc, val->pNext);6290vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(enc, val);6291}62926293/* struct VkPhysicalDeviceSubgroupProperties chain */62946295static inline size_t6296vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext(const void *val)6297{6298/* no known/supported struct */6299return vn_sizeof_simple_pointer(NULL);6300}63016302static inline size_t6303vn_sizeof_VkPhysicalDeviceSubgroupProperties_self(const VkPhysicalDeviceSubgroupProperties *val)6304{6305size_t size = 0;6306/* skip val->{sType,pNext} */6307size += vn_sizeof_uint32_t(&val->subgroupSize);6308size += vn_sizeof_VkFlags(&val->supportedStages);6309size += vn_sizeof_VkFlags(&val->supportedOperations);6310size += vn_sizeof_VkBool32(&val->quadOperationsInAllStages);6311return size;6312}63136314static inline size_t6315vn_sizeof_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties *val)6316{6317size_t size = 0;63186319size += vn_sizeof_VkStructureType(&val->sType);6320size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext(val->pNext);6321size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self(val);63226323return size;6324}63256326static inline void6327vn_decode_VkPhysicalDeviceSubgroupProperties_pnext(struct vn_cs_decoder *dec, const void *val)6328{6329/* no known/supported struct */6330if (vn_decode_simple_pointer(dec))6331assert(false);6332}63336334static inline void6335vn_decode_VkPhysicalDeviceSubgroupProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)6336{6337/* skip val->{sType,pNext} */6338vn_decode_uint32_t(dec, &val->subgroupSize);6339vn_decode_VkFlags(dec, &val->supportedStages);6340vn_decode_VkFlags(dec, &val->supportedOperations);6341vn_decode_VkBool32(dec, &val->quadOperationsInAllStages);6342}63436344static inline void6345vn_decode_VkPhysicalDeviceSubgroupProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)6346{6347VkStructureType stype;6348vn_decode_VkStructureType(dec, &stype);6349assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);63506351assert(val->sType == stype);6352vn_decode_VkPhysicalDeviceSubgroupProperties_pnext(dec, val->pNext);6353vn_decode_VkPhysicalDeviceSubgroupProperties_self(dec, val);6354}63556356static inline size_t6357vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext_partial(const void *val)6358{6359/* no known/supported struct */6360return vn_sizeof_simple_pointer(NULL);6361}63626363static inline size_t6364vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial(const VkPhysicalDeviceSubgroupProperties *val)6365{6366size_t size = 0;6367/* skip val->{sType,pNext} */6368/* skip val->subgroupSize */6369/* skip val->supportedStages */6370/* skip val->supportedOperations */6371/* skip val->quadOperationsInAllStages */6372return size;6373}63746375static inline size_t6376vn_sizeof_VkPhysicalDeviceSubgroupProperties_partial(const VkPhysicalDeviceSubgroupProperties *val)6377{6378size_t size = 0;63796380size += vn_sizeof_VkStructureType(&val->sType);6381size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_pnext_partial(val->pNext);6382size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial(val);63836384return size;6385}63866387static inline void6388vn_encode_VkPhysicalDeviceSubgroupProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6389{6390/* no known/supported struct */6391vn_encode_simple_pointer(enc, NULL);6392}63936394static inline void6395vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)6396{6397/* skip val->{sType,pNext} */6398/* skip val->subgroupSize */6399/* skip val->supportedStages */6400/* skip val->supportedOperations */6401/* skip val->quadOperationsInAllStages */6402}64036404static inline void6405vn_encode_VkPhysicalDeviceSubgroupProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)6406{6407assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);6408vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES });6409vn_encode_VkPhysicalDeviceSubgroupProperties_pnext_partial(enc, val->pNext);6410vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(enc, val);6411}64126413/* struct VkPhysicalDevicePointClippingProperties chain */64146415static inline size_t6416vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext(const void *val)6417{6418/* no known/supported struct */6419return vn_sizeof_simple_pointer(NULL);6420}64216422static inline size_t6423vn_sizeof_VkPhysicalDevicePointClippingProperties_self(const VkPhysicalDevicePointClippingProperties *val)6424{6425size_t size = 0;6426/* skip val->{sType,pNext} */6427size += vn_sizeof_VkPointClippingBehavior(&val->pointClippingBehavior);6428return size;6429}64306431static inline size_t6432vn_sizeof_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties *val)6433{6434size_t size = 0;64356436size += vn_sizeof_VkStructureType(&val->sType);6437size += vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext(val->pNext);6438size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self(val);64396440return size;6441}64426443static inline void6444vn_decode_VkPhysicalDevicePointClippingProperties_pnext(struct vn_cs_decoder *dec, const void *val)6445{6446/* no known/supported struct */6447if (vn_decode_simple_pointer(dec))6448assert(false);6449}64506451static inline void6452vn_decode_VkPhysicalDevicePointClippingProperties_self(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)6453{6454/* skip val->{sType,pNext} */6455vn_decode_VkPointClippingBehavior(dec, &val->pointClippingBehavior);6456}64576458static inline void6459vn_decode_VkPhysicalDevicePointClippingProperties(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)6460{6461VkStructureType stype;6462vn_decode_VkStructureType(dec, &stype);6463assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);64646465assert(val->sType == stype);6466vn_decode_VkPhysicalDevicePointClippingProperties_pnext(dec, val->pNext);6467vn_decode_VkPhysicalDevicePointClippingProperties_self(dec, val);6468}64696470static inline size_t6471vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext_partial(const void *val)6472{6473/* no known/supported struct */6474return vn_sizeof_simple_pointer(NULL);6475}64766477static inline size_t6478vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial(const VkPhysicalDevicePointClippingProperties *val)6479{6480size_t size = 0;6481/* skip val->{sType,pNext} */6482/* skip val->pointClippingBehavior */6483return size;6484}64856486static inline size_t6487vn_sizeof_VkPhysicalDevicePointClippingProperties_partial(const VkPhysicalDevicePointClippingProperties *val)6488{6489size_t size = 0;64906491size += vn_sizeof_VkStructureType(&val->sType);6492size += vn_sizeof_VkPhysicalDevicePointClippingProperties_pnext_partial(val->pNext);6493size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial(val);64946495return size;6496}64976498static inline void6499vn_encode_VkPhysicalDevicePointClippingProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6500{6501/* no known/supported struct */6502vn_encode_simple_pointer(enc, NULL);6503}65046505static inline void6506vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)6507{6508/* skip val->{sType,pNext} */6509/* skip val->pointClippingBehavior */6510}65116512static inline void6513vn_encode_VkPhysicalDevicePointClippingProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)6514{6515assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);6516vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES });6517vn_encode_VkPhysicalDevicePointClippingProperties_pnext_partial(enc, val->pNext);6518vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(enc, val);6519}65206521/* struct VkPhysicalDeviceProtectedMemoryProperties chain */65226523static inline size_t6524vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext(const void *val)6525{6526/* no known/supported struct */6527return vn_sizeof_simple_pointer(NULL);6528}65296530static inline size_t6531vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self(const VkPhysicalDeviceProtectedMemoryProperties *val)6532{6533size_t size = 0;6534/* skip val->{sType,pNext} */6535size += vn_sizeof_VkBool32(&val->protectedNoFault);6536return size;6537}65386539static inline size_t6540vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties(const VkPhysicalDeviceProtectedMemoryProperties *val)6541{6542size_t size = 0;65436544size += vn_sizeof_VkStructureType(&val->sType);6545size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext(val->pNext);6546size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self(val);65476548return size;6549}65506551static inline void6552vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext(struct vn_cs_decoder *dec, const void *val)6553{6554/* no known/supported struct */6555if (vn_decode_simple_pointer(dec))6556assert(false);6557}65586559static inline void6560vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)6561{6562/* skip val->{sType,pNext} */6563vn_decode_VkBool32(dec, &val->protectedNoFault);6564}65656566static inline void6567vn_decode_VkPhysicalDeviceProtectedMemoryProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)6568{6569VkStructureType stype;6570vn_decode_VkStructureType(dec, &stype);6571assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);65726573assert(val->sType == stype);6574vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext(dec, val->pNext);6575vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(dec, val);6576}65776578static inline size_t6579vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(const void *val)6580{6581/* no known/supported struct */6582return vn_sizeof_simple_pointer(NULL);6583}65846585static inline size_t6586vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial(const VkPhysicalDeviceProtectedMemoryProperties *val)6587{6588size_t size = 0;6589/* skip val->{sType,pNext} */6590/* skip val->protectedNoFault */6591return size;6592}65936594static inline size_t6595vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_partial(const VkPhysicalDeviceProtectedMemoryProperties *val)6596{6597size_t size = 0;65986599size += vn_sizeof_VkStructureType(&val->sType);6600size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(val->pNext);6601size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial(val);66026603return size;6604}66056606static inline void6607vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6608{6609/* no known/supported struct */6610vn_encode_simple_pointer(enc, NULL);6611}66126613static inline void6614vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)6615{6616/* skip val->{sType,pNext} */6617/* skip val->protectedNoFault */6618}66196620static inline void6621vn_encode_VkPhysicalDeviceProtectedMemoryProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)6622{6623assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);6624vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES });6625vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial(enc, val->pNext);6626vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(enc, val);6627}66286629/* struct VkPhysicalDeviceSamplerFilterMinmaxProperties chain */66306631static inline size_t6632vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(const void *val)6633{6634/* no known/supported struct */6635return vn_sizeof_simple_pointer(NULL);6636}66376638static inline size_t6639vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6640{6641size_t size = 0;6642/* skip val->{sType,pNext} */6643size += vn_sizeof_VkBool32(&val->filterMinmaxSingleComponentFormats);6644size += vn_sizeof_VkBool32(&val->filterMinmaxImageComponentMapping);6645return size;6646}66476648static inline size_t6649vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6650{6651size_t size = 0;66526653size += vn_sizeof_VkStructureType(&val->sType);6654size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(val->pNext);6655size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(val);66566657return size;6658}66596660static inline void6661vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(struct vn_cs_decoder *dec, const void *val)6662{6663/* no known/supported struct */6664if (vn_decode_simple_pointer(dec))6665assert(false);6666}66676668static inline void6669vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6670{6671/* skip val->{sType,pNext} */6672vn_decode_VkBool32(dec, &val->filterMinmaxSingleComponentFormats);6673vn_decode_VkBool32(dec, &val->filterMinmaxImageComponentMapping);6674}66756676static inline void6677vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6678{6679VkStructureType stype;6680vn_decode_VkStructureType(dec, &stype);6681assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);66826683assert(val->sType == stype);6684vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(dec, val->pNext);6685vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(dec, val);6686}66876688static inline size_t6689vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(const void *val)6690{6691/* no known/supported struct */6692return vn_sizeof_simple_pointer(NULL);6693}66946695static inline size_t6696vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6697{6698size_t size = 0;6699/* skip val->{sType,pNext} */6700/* skip val->filterMinmaxSingleComponentFormats */6701/* skip val->filterMinmaxImageComponentMapping */6702return size;6703}67046705static inline size_t6706vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial(const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6707{6708size_t size = 0;67096710size += vn_sizeof_VkStructureType(&val->sType);6711size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(val->pNext);6712size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(val);67136714return size;6715}67166717static inline void6718vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6719{6720/* no known/supported struct */6721vn_encode_simple_pointer(enc, NULL);6722}67236724static inline void6725vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6726{6727/* skip val->{sType,pNext} */6728/* skip val->filterMinmaxSingleComponentFormats */6729/* skip val->filterMinmaxImageComponentMapping */6730}67316732static inline void6733vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)6734{6735assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);6736vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES });6737vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial(enc, val->pNext);6738vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(enc, val);6739}67406741/* struct VkPhysicalDeviceMaintenance3Properties chain */67426743static inline size_t6744vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext(const void *val)6745{6746/* no known/supported struct */6747return vn_sizeof_simple_pointer(NULL);6748}67496750static inline size_t6751vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self(const VkPhysicalDeviceMaintenance3Properties *val)6752{6753size_t size = 0;6754/* skip val->{sType,pNext} */6755size += vn_sizeof_uint32_t(&val->maxPerSetDescriptors);6756size += vn_sizeof_VkDeviceSize(&val->maxMemoryAllocationSize);6757return size;6758}67596760static inline size_t6761vn_sizeof_VkPhysicalDeviceMaintenance3Properties(const VkPhysicalDeviceMaintenance3Properties *val)6762{6763size_t size = 0;67646765size += vn_sizeof_VkStructureType(&val->sType);6766size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext(val->pNext);6767size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self(val);67686769return size;6770}67716772static inline void6773vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext(struct vn_cs_decoder *dec, const void *val)6774{6775/* no known/supported struct */6776if (vn_decode_simple_pointer(dec))6777assert(false);6778}67796780static inline void6781vn_decode_VkPhysicalDeviceMaintenance3Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)6782{6783/* skip val->{sType,pNext} */6784vn_decode_uint32_t(dec, &val->maxPerSetDescriptors);6785vn_decode_VkDeviceSize(dec, &val->maxMemoryAllocationSize);6786}67876788static inline void6789vn_decode_VkPhysicalDeviceMaintenance3Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)6790{6791VkStructureType stype;6792vn_decode_VkStructureType(dec, &stype);6793assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);67946795assert(val->sType == stype);6796vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext(dec, val->pNext);6797vn_decode_VkPhysicalDeviceMaintenance3Properties_self(dec, val);6798}67996800static inline size_t6801vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext_partial(const void *val)6802{6803/* no known/supported struct */6804return vn_sizeof_simple_pointer(NULL);6805}68066807static inline size_t6808vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial(const VkPhysicalDeviceMaintenance3Properties *val)6809{6810size_t size = 0;6811/* skip val->{sType,pNext} */6812/* skip val->maxPerSetDescriptors */6813/* skip val->maxMemoryAllocationSize */6814return size;6815}68166817static inline size_t6818vn_sizeof_VkPhysicalDeviceMaintenance3Properties_partial(const VkPhysicalDeviceMaintenance3Properties *val)6819{6820size_t size = 0;68216822size += vn_sizeof_VkStructureType(&val->sType);6823size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_pnext_partial(val->pNext);6824size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial(val);68256826return size;6827}68286829static inline void6830vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6831{6832/* no known/supported struct */6833vn_encode_simple_pointer(enc, NULL);6834}68356836static inline void6837vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)6838{6839/* skip val->{sType,pNext} */6840/* skip val->maxPerSetDescriptors */6841/* skip val->maxMemoryAllocationSize */6842}68436844static inline void6845vn_encode_VkPhysicalDeviceMaintenance3Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)6846{6847assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);6848vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES });6849vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext_partial(enc, val->pNext);6850vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(enc, val);6851}68526853/* struct VkPhysicalDeviceFloatControlsProperties chain */68546855static inline size_t6856vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext(const void *val)6857{6858/* no known/supported struct */6859return vn_sizeof_simple_pointer(NULL);6860}68616862static inline size_t6863vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self(const VkPhysicalDeviceFloatControlsProperties *val)6864{6865size_t size = 0;6866/* skip val->{sType,pNext} */6867size += vn_sizeof_VkShaderFloatControlsIndependence(&val->denormBehaviorIndependence);6868size += vn_sizeof_VkShaderFloatControlsIndependence(&val->roundingModeIndependence);6869size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat16);6870size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat32);6871size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat64);6872size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat16);6873size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat32);6874size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat64);6875size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat16);6876size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat32);6877size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat64);6878size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat16);6879size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat32);6880size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat64);6881size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat16);6882size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat32);6883size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat64);6884return size;6885}68866887static inline size_t6888vn_sizeof_VkPhysicalDeviceFloatControlsProperties(const VkPhysicalDeviceFloatControlsProperties *val)6889{6890size_t size = 0;68916892size += vn_sizeof_VkStructureType(&val->sType);6893size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext(val->pNext);6894size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self(val);68956896return size;6897}68986899static inline void6900vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext(struct vn_cs_decoder *dec, const void *val)6901{6902/* no known/supported struct */6903if (vn_decode_simple_pointer(dec))6904assert(false);6905}69066907static inline void6908vn_decode_VkPhysicalDeviceFloatControlsProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)6909{6910/* skip val->{sType,pNext} */6911vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);6912vn_decode_VkShaderFloatControlsIndependence(dec, &val->roundingModeIndependence);6913vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat16);6914vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat32);6915vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat64);6916vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat16);6917vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat32);6918vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat64);6919vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat16);6920vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat32);6921vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat64);6922vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat16);6923vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat32);6924vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat64);6925vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat16);6926vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat32);6927vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat64);6928}69296930static inline void6931vn_decode_VkPhysicalDeviceFloatControlsProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)6932{6933VkStructureType stype;6934vn_decode_VkStructureType(dec, &stype);6935assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);69366937assert(val->sType == stype);6938vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext(dec, val->pNext);6939vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, val);6940}69416942static inline size_t6943vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext_partial(const void *val)6944{6945/* no known/supported struct */6946return vn_sizeof_simple_pointer(NULL);6947}69486949static inline size_t6950vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial(const VkPhysicalDeviceFloatControlsProperties *val)6951{6952size_t size = 0;6953/* skip val->{sType,pNext} */6954/* skip val->denormBehaviorIndependence */6955/* skip val->roundingModeIndependence */6956/* skip val->shaderSignedZeroInfNanPreserveFloat16 */6957/* skip val->shaderSignedZeroInfNanPreserveFloat32 */6958/* skip val->shaderSignedZeroInfNanPreserveFloat64 */6959/* skip val->shaderDenormPreserveFloat16 */6960/* skip val->shaderDenormPreserveFloat32 */6961/* skip val->shaderDenormPreserveFloat64 */6962/* skip val->shaderDenormFlushToZeroFloat16 */6963/* skip val->shaderDenormFlushToZeroFloat32 */6964/* skip val->shaderDenormFlushToZeroFloat64 */6965/* skip val->shaderRoundingModeRTEFloat16 */6966/* skip val->shaderRoundingModeRTEFloat32 */6967/* skip val->shaderRoundingModeRTEFloat64 */6968/* skip val->shaderRoundingModeRTZFloat16 */6969/* skip val->shaderRoundingModeRTZFloat32 */6970/* skip val->shaderRoundingModeRTZFloat64 */6971return size;6972}69736974static inline size_t6975vn_sizeof_VkPhysicalDeviceFloatControlsProperties_partial(const VkPhysicalDeviceFloatControlsProperties *val)6976{6977size_t size = 0;69786979size += vn_sizeof_VkStructureType(&val->sType);6980size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_pnext_partial(val->pNext);6981size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial(val);69826983return size;6984}69856986static inline void6987vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)6988{6989/* no known/supported struct */6990vn_encode_simple_pointer(enc, NULL);6991}69926993static inline void6994vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)6995{6996/* skip val->{sType,pNext} */6997/* skip val->denormBehaviorIndependence */6998/* skip val->roundingModeIndependence */6999/* skip val->shaderSignedZeroInfNanPreserveFloat16 */7000/* skip val->shaderSignedZeroInfNanPreserveFloat32 */7001/* skip val->shaderSignedZeroInfNanPreserveFloat64 */7002/* skip val->shaderDenormPreserveFloat16 */7003/* skip val->shaderDenormPreserveFloat32 */7004/* skip val->shaderDenormPreserveFloat64 */7005/* skip val->shaderDenormFlushToZeroFloat16 */7006/* skip val->shaderDenormFlushToZeroFloat32 */7007/* skip val->shaderDenormFlushToZeroFloat64 */7008/* skip val->shaderRoundingModeRTEFloat16 */7009/* skip val->shaderRoundingModeRTEFloat32 */7010/* skip val->shaderRoundingModeRTEFloat64 */7011/* skip val->shaderRoundingModeRTZFloat16 */7012/* skip val->shaderRoundingModeRTZFloat32 */7013/* skip val->shaderRoundingModeRTZFloat64 */7014}70157016static inline void7017vn_encode_VkPhysicalDeviceFloatControlsProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)7018{7019assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);7020vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES });7021vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext_partial(enc, val->pNext);7022vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, val);7023}70247025/* struct VkPhysicalDeviceDescriptorIndexingProperties chain */70267027static inline size_t7028vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext(const void *val)7029{7030/* no known/supported struct */7031return vn_sizeof_simple_pointer(NULL);7032}70337034static inline size_t7035vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self(const VkPhysicalDeviceDescriptorIndexingProperties *val)7036{7037size_t size = 0;7038/* skip val->{sType,pNext} */7039size += vn_sizeof_uint32_t(&val->maxUpdateAfterBindDescriptorsInAllPools);7040size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexingNative);7041size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexingNative);7042size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexingNative);7043size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexingNative);7044size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexingNative);7045size += vn_sizeof_VkBool32(&val->robustBufferAccessUpdateAfterBind);7046size += vn_sizeof_VkBool32(&val->quadDivergentImplicitLod);7047size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSamplers);7048size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);7049size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);7050size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSampledImages);7051size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageImages);7052size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindInputAttachments);7053size += vn_sizeof_uint32_t(&val->maxPerStageUpdateAfterBindResources);7054size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSamplers);7055size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffers);7056size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);7057size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffers);7058size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);7059size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSampledImages);7060size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageImages);7061size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindInputAttachments);7062return size;7063}70647065static inline size_t7066vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties(const VkPhysicalDeviceDescriptorIndexingProperties *val)7067{7068size_t size = 0;70697070size += vn_sizeof_VkStructureType(&val->sType);7071size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext(val->pNext);7072size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self(val);70737074return size;7075}70767077static inline void7078vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(struct vn_cs_decoder *dec, const void *val)7079{7080/* no known/supported struct */7081if (vn_decode_simple_pointer(dec))7082assert(false);7083}70847085static inline void7086vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)7087{7088/* skip val->{sType,pNext} */7089vn_decode_uint32_t(dec, &val->maxUpdateAfterBindDescriptorsInAllPools);7090vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexingNative);7091vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexingNative);7092vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexingNative);7093vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexingNative);7094vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexingNative);7095vn_decode_VkBool32(dec, &val->robustBufferAccessUpdateAfterBind);7096vn_decode_VkBool32(dec, &val->quadDivergentImplicitLod);7097vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSamplers);7098vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);7099vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);7100vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);7101vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);7102vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);7103vn_decode_uint32_t(dec, &val->maxPerStageUpdateAfterBindResources);7104vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSamplers);7105vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);7106vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);7107vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);7108vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);7109vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSampledImages);7110vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageImages);7111vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindInputAttachments);7112}71137114static inline void7115vn_decode_VkPhysicalDeviceDescriptorIndexingProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)7116{7117VkStructureType stype;7118vn_decode_VkStructureType(dec, &stype);7119assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);71207121assert(val->sType == stype);7122vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(dec, val->pNext);7123vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, val);7124}71257126static inline size_t7127vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(const void *val)7128{7129/* no known/supported struct */7130return vn_sizeof_simple_pointer(NULL);7131}71327133static inline size_t7134vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(const VkPhysicalDeviceDescriptorIndexingProperties *val)7135{7136size_t size = 0;7137/* skip val->{sType,pNext} */7138/* skip val->maxUpdateAfterBindDescriptorsInAllPools */7139/* skip val->shaderUniformBufferArrayNonUniformIndexingNative */7140/* skip val->shaderSampledImageArrayNonUniformIndexingNative */7141/* skip val->shaderStorageBufferArrayNonUniformIndexingNative */7142/* skip val->shaderStorageImageArrayNonUniformIndexingNative */7143/* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */7144/* skip val->robustBufferAccessUpdateAfterBind */7145/* skip val->quadDivergentImplicitLod */7146/* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */7147/* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */7148/* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */7149/* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */7150/* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */7151/* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */7152/* skip val->maxPerStageUpdateAfterBindResources */7153/* skip val->maxDescriptorSetUpdateAfterBindSamplers */7154/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */7155/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */7156/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */7157/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */7158/* skip val->maxDescriptorSetUpdateAfterBindSampledImages */7159/* skip val->maxDescriptorSetUpdateAfterBindStorageImages */7160/* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */7161return size;7162}71637164static inline size_t7165vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_partial(const VkPhysicalDeviceDescriptorIndexingProperties *val)7166{7167size_t size = 0;71687169size += vn_sizeof_VkStructureType(&val->sType);7170size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(val->pNext);7171size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(val);71727173return size;7174}71757176static inline void7177vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)7178{7179/* no known/supported struct */7180vn_encode_simple_pointer(enc, NULL);7181}71827183static inline void7184vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)7185{7186/* skip val->{sType,pNext} */7187/* skip val->maxUpdateAfterBindDescriptorsInAllPools */7188/* skip val->shaderUniformBufferArrayNonUniformIndexingNative */7189/* skip val->shaderSampledImageArrayNonUniformIndexingNative */7190/* skip val->shaderStorageBufferArrayNonUniformIndexingNative */7191/* skip val->shaderStorageImageArrayNonUniformIndexingNative */7192/* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */7193/* skip val->robustBufferAccessUpdateAfterBind */7194/* skip val->quadDivergentImplicitLod */7195/* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */7196/* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */7197/* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */7198/* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */7199/* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */7200/* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */7201/* skip val->maxPerStageUpdateAfterBindResources */7202/* skip val->maxDescriptorSetUpdateAfterBindSamplers */7203/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */7204/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */7205/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */7206/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */7207/* skip val->maxDescriptorSetUpdateAfterBindSampledImages */7208/* skip val->maxDescriptorSetUpdateAfterBindStorageImages */7209/* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */7210}72117212static inline void7213vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)7214{7215assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);7216vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES });7217vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial(enc, val->pNext);7218vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(enc, val);7219}72207221/* struct VkPhysicalDeviceTimelineSemaphoreProperties chain */72227223static inline size_t7224vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(const void *val)7225{7226/* no known/supported struct */7227return vn_sizeof_simple_pointer(NULL);7228}72297230static inline size_t7231vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self(const VkPhysicalDeviceTimelineSemaphoreProperties *val)7232{7233size_t size = 0;7234/* skip val->{sType,pNext} */7235size += vn_sizeof_uint64_t(&val->maxTimelineSemaphoreValueDifference);7236return size;7237}72387239static inline size_t7240vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties(const VkPhysicalDeviceTimelineSemaphoreProperties *val)7241{7242size_t size = 0;72437244size += vn_sizeof_VkStructureType(&val->sType);7245size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(val->pNext);7246size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self(val);72477248return size;7249}72507251static inline void7252vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(struct vn_cs_decoder *dec, const void *val)7253{7254/* no known/supported struct */7255if (vn_decode_simple_pointer(dec))7256assert(false);7257}72587259static inline void7260vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)7261{7262/* skip val->{sType,pNext} */7263vn_decode_uint64_t(dec, &val->maxTimelineSemaphoreValueDifference);7264}72657266static inline void7267vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)7268{7269VkStructureType stype;7270vn_decode_VkStructureType(dec, &stype);7271assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);72727273assert(val->sType == stype);7274vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(dec, val->pNext);7275vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, val);7276}72777278static inline size_t7279vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(const void *val)7280{7281/* no known/supported struct */7282return vn_sizeof_simple_pointer(NULL);7283}72847285static inline size_t7286vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(const VkPhysicalDeviceTimelineSemaphoreProperties *val)7287{7288size_t size = 0;7289/* skip val->{sType,pNext} */7290/* skip val->maxTimelineSemaphoreValueDifference */7291return size;7292}72937294static inline size_t7295vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_partial(const VkPhysicalDeviceTimelineSemaphoreProperties *val)7296{7297size_t size = 0;72987299size += vn_sizeof_VkStructureType(&val->sType);7300size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(val->pNext);7301size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(val);73027303return size;7304}73057306static inline void7307vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)7308{7309/* no known/supported struct */7310vn_encode_simple_pointer(enc, NULL);7311}73127313static inline void7314vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)7315{7316/* skip val->{sType,pNext} */7317/* skip val->maxTimelineSemaphoreValueDifference */7318}73197320static inline void7321vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)7322{7323assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);7324vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES });7325vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial(enc, val->pNext);7326vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, val);7327}73287329/* struct VkPhysicalDeviceDepthStencilResolveProperties chain */73307331static inline size_t7332vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext(const void *val)7333{7334/* no known/supported struct */7335return vn_sizeof_simple_pointer(NULL);7336}73377338static inline size_t7339vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self(const VkPhysicalDeviceDepthStencilResolveProperties *val)7340{7341size_t size = 0;7342/* skip val->{sType,pNext} */7343size += vn_sizeof_VkFlags(&val->supportedDepthResolveModes);7344size += vn_sizeof_VkFlags(&val->supportedStencilResolveModes);7345size += vn_sizeof_VkBool32(&val->independentResolveNone);7346size += vn_sizeof_VkBool32(&val->independentResolve);7347return size;7348}73497350static inline size_t7351vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties(const VkPhysicalDeviceDepthStencilResolveProperties *val)7352{7353size_t size = 0;73547355size += vn_sizeof_VkStructureType(&val->sType);7356size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext(val->pNext);7357size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self(val);73587359return size;7360}73617362static inline void7363vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(struct vn_cs_decoder *dec, const void *val)7364{7365/* no known/supported struct */7366if (vn_decode_simple_pointer(dec))7367assert(false);7368}73697370static inline void7371vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)7372{7373/* skip val->{sType,pNext} */7374vn_decode_VkFlags(dec, &val->supportedDepthResolveModes);7375vn_decode_VkFlags(dec, &val->supportedStencilResolveModes);7376vn_decode_VkBool32(dec, &val->independentResolveNone);7377vn_decode_VkBool32(dec, &val->independentResolve);7378}73797380static inline void7381vn_decode_VkPhysicalDeviceDepthStencilResolveProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)7382{7383VkStructureType stype;7384vn_decode_VkStructureType(dec, &stype);7385assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);73867387assert(val->sType == stype);7388vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(dec, val->pNext);7389vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, val);7390}73917392static inline size_t7393vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(const void *val)7394{7395/* no known/supported struct */7396return vn_sizeof_simple_pointer(NULL);7397}73987399static inline size_t7400vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(const VkPhysicalDeviceDepthStencilResolveProperties *val)7401{7402size_t size = 0;7403/* skip val->{sType,pNext} */7404/* skip val->supportedDepthResolveModes */7405/* skip val->supportedStencilResolveModes */7406/* skip val->independentResolveNone */7407/* skip val->independentResolve */7408return size;7409}74107411static inline size_t7412vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_partial(const VkPhysicalDeviceDepthStencilResolveProperties *val)7413{7414size_t size = 0;74157416size += vn_sizeof_VkStructureType(&val->sType);7417size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(val->pNext);7418size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(val);74197420return size;7421}74227423static inline void7424vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)7425{7426/* no known/supported struct */7427vn_encode_simple_pointer(enc, NULL);7428}74297430static inline void7431vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)7432{7433/* skip val->{sType,pNext} */7434/* skip val->supportedDepthResolveModes */7435/* skip val->supportedStencilResolveModes */7436/* skip val->independentResolveNone */7437/* skip val->independentResolve */7438}74397440static inline void7441vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)7442{7443assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);7444vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES });7445vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial(enc, val->pNext);7446vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(enc, val);7447}74487449/* struct VkPhysicalDeviceTransformFeedbackPropertiesEXT chain */74507451static inline size_t7452vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(const void *val)7453{7454/* no known/supported struct */7455return vn_sizeof_simple_pointer(NULL);7456}74577458static inline size_t7459vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7460{7461size_t size = 0;7462/* skip val->{sType,pNext} */7463size += vn_sizeof_uint32_t(&val->maxTransformFeedbackStreams);7464size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBuffers);7465size += vn_sizeof_VkDeviceSize(&val->maxTransformFeedbackBufferSize);7466size += vn_sizeof_uint32_t(&val->maxTransformFeedbackStreamDataSize);7467size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBufferDataSize);7468size += vn_sizeof_uint32_t(&val->maxTransformFeedbackBufferDataStride);7469size += vn_sizeof_VkBool32(&val->transformFeedbackQueries);7470size += vn_sizeof_VkBool32(&val->transformFeedbackStreamsLinesTriangles);7471size += vn_sizeof_VkBool32(&val->transformFeedbackRasterizationStreamSelect);7472size += vn_sizeof_VkBool32(&val->transformFeedbackDraw);7473return size;7474}74757476static inline size_t7477vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7478{7479size_t size = 0;74807481size += vn_sizeof_VkStructureType(&val->sType);7482size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(val->pNext);7483size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(val);74847485return size;7486}74877488static inline void7489vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(struct vn_cs_decoder *dec, const void *val)7490{7491/* no known/supported struct */7492if (vn_decode_simple_pointer(dec))7493assert(false);7494}74957496static inline void7497vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7498{7499/* skip val->{sType,pNext} */7500vn_decode_uint32_t(dec, &val->maxTransformFeedbackStreams);7501vn_decode_uint32_t(dec, &val->maxTransformFeedbackBuffers);7502vn_decode_VkDeviceSize(dec, &val->maxTransformFeedbackBufferSize);7503vn_decode_uint32_t(dec, &val->maxTransformFeedbackStreamDataSize);7504vn_decode_uint32_t(dec, &val->maxTransformFeedbackBufferDataSize);7505vn_decode_uint32_t(dec, &val->maxTransformFeedbackBufferDataStride);7506vn_decode_VkBool32(dec, &val->transformFeedbackQueries);7507vn_decode_VkBool32(dec, &val->transformFeedbackStreamsLinesTriangles);7508vn_decode_VkBool32(dec, &val->transformFeedbackRasterizationStreamSelect);7509vn_decode_VkBool32(dec, &val->transformFeedbackDraw);7510}75117512static inline void7513vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7514{7515VkStructureType stype;7516vn_decode_VkStructureType(dec, &stype);7517assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);75187519assert(val->sType == stype);7520vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(dec, val->pNext);7521vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(dec, val);7522}75237524static inline size_t7525vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(const void *val)7526{7527/* no known/supported struct */7528return vn_sizeof_simple_pointer(NULL);7529}75307531static inline size_t7532vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7533{7534size_t size = 0;7535/* skip val->{sType,pNext} */7536/* skip val->maxTransformFeedbackStreams */7537/* skip val->maxTransformFeedbackBuffers */7538/* skip val->maxTransformFeedbackBufferSize */7539/* skip val->maxTransformFeedbackStreamDataSize */7540/* skip val->maxTransformFeedbackBufferDataSize */7541/* skip val->maxTransformFeedbackBufferDataStride */7542/* skip val->transformFeedbackQueries */7543/* skip val->transformFeedbackStreamsLinesTriangles */7544/* skip val->transformFeedbackRasterizationStreamSelect */7545/* skip val->transformFeedbackDraw */7546return size;7547}75487549static inline size_t7550vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial(const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7551{7552size_t size = 0;75537554size += vn_sizeof_VkStructureType(&val->sType);7555size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(val->pNext);7556size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(val);75577558return size;7559}75607561static inline void7562vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)7563{7564/* no known/supported struct */7565vn_encode_simple_pointer(enc, NULL);7566}75677568static inline void7569vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7570{7571/* skip val->{sType,pNext} */7572/* skip val->maxTransformFeedbackStreams */7573/* skip val->maxTransformFeedbackBuffers */7574/* skip val->maxTransformFeedbackBufferSize */7575/* skip val->maxTransformFeedbackStreamDataSize */7576/* skip val->maxTransformFeedbackBufferDataSize */7577/* skip val->maxTransformFeedbackBufferDataStride */7578/* skip val->transformFeedbackQueries */7579/* skip val->transformFeedbackStreamsLinesTriangles */7580/* skip val->transformFeedbackRasterizationStreamSelect */7581/* skip val->transformFeedbackDraw */7582}75837584static inline void7585vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)7586{7587assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);7588vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT });7589vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial(enc, val->pNext);7590vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(enc, val);7591}75927593/* struct VkPhysicalDeviceVulkan11Properties chain */75947595static inline size_t7596vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext(const void *val)7597{7598/* no known/supported struct */7599return vn_sizeof_simple_pointer(NULL);7600}76017602static inline size_t7603vn_sizeof_VkPhysicalDeviceVulkan11Properties_self(const VkPhysicalDeviceVulkan11Properties *val)7604{7605size_t size = 0;7606/* skip val->{sType,pNext} */7607size += vn_sizeof_array_size(VK_UUID_SIZE);7608size += vn_sizeof_uint8_t_array(val->deviceUUID, VK_UUID_SIZE);7609size += vn_sizeof_array_size(VK_UUID_SIZE);7610size += vn_sizeof_uint8_t_array(val->driverUUID, VK_UUID_SIZE);7611size += vn_sizeof_array_size(VK_LUID_SIZE);7612size += vn_sizeof_uint8_t_array(val->deviceLUID, VK_LUID_SIZE);7613size += vn_sizeof_uint32_t(&val->deviceNodeMask);7614size += vn_sizeof_VkBool32(&val->deviceLUIDValid);7615size += vn_sizeof_uint32_t(&val->subgroupSize);7616size += vn_sizeof_VkFlags(&val->subgroupSupportedStages);7617size += vn_sizeof_VkFlags(&val->subgroupSupportedOperations);7618size += vn_sizeof_VkBool32(&val->subgroupQuadOperationsInAllStages);7619size += vn_sizeof_VkPointClippingBehavior(&val->pointClippingBehavior);7620size += vn_sizeof_uint32_t(&val->maxMultiviewViewCount);7621size += vn_sizeof_uint32_t(&val->maxMultiviewInstanceIndex);7622size += vn_sizeof_VkBool32(&val->protectedNoFault);7623size += vn_sizeof_uint32_t(&val->maxPerSetDescriptors);7624size += vn_sizeof_VkDeviceSize(&val->maxMemoryAllocationSize);7625return size;7626}76277628static inline size_t7629vn_sizeof_VkPhysicalDeviceVulkan11Properties(const VkPhysicalDeviceVulkan11Properties *val)7630{7631size_t size = 0;76327633size += vn_sizeof_VkStructureType(&val->sType);7634size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext(val->pNext);7635size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self(val);76367637return size;7638}76397640static inline void7641vn_decode_VkPhysicalDeviceVulkan11Properties_pnext(struct vn_cs_decoder *dec, const void *val)7642{7643/* no known/supported struct */7644if (vn_decode_simple_pointer(dec))7645assert(false);7646}76477648static inline void7649vn_decode_VkPhysicalDeviceVulkan11Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)7650{7651/* skip val->{sType,pNext} */7652{7653const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);7654vn_decode_uint8_t_array(dec, val->deviceUUID, array_size);7655}7656{7657const size_t array_size = vn_decode_array_size(dec, VK_UUID_SIZE);7658vn_decode_uint8_t_array(dec, val->driverUUID, array_size);7659}7660{7661const size_t array_size = vn_decode_array_size(dec, VK_LUID_SIZE);7662vn_decode_uint8_t_array(dec, val->deviceLUID, array_size);7663}7664vn_decode_uint32_t(dec, &val->deviceNodeMask);7665vn_decode_VkBool32(dec, &val->deviceLUIDValid);7666vn_decode_uint32_t(dec, &val->subgroupSize);7667vn_decode_VkFlags(dec, &val->subgroupSupportedStages);7668vn_decode_VkFlags(dec, &val->subgroupSupportedOperations);7669vn_decode_VkBool32(dec, &val->subgroupQuadOperationsInAllStages);7670vn_decode_VkPointClippingBehavior(dec, &val->pointClippingBehavior);7671vn_decode_uint32_t(dec, &val->maxMultiviewViewCount);7672vn_decode_uint32_t(dec, &val->maxMultiviewInstanceIndex);7673vn_decode_VkBool32(dec, &val->protectedNoFault);7674vn_decode_uint32_t(dec, &val->maxPerSetDescriptors);7675vn_decode_VkDeviceSize(dec, &val->maxMemoryAllocationSize);7676}76777678static inline void7679vn_decode_VkPhysicalDeviceVulkan11Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)7680{7681VkStructureType stype;7682vn_decode_VkStructureType(dec, &stype);7683assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);76847685assert(val->sType == stype);7686vn_decode_VkPhysicalDeviceVulkan11Properties_pnext(dec, val->pNext);7687vn_decode_VkPhysicalDeviceVulkan11Properties_self(dec, val);7688}76897690static inline size_t7691vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext_partial(const void *val)7692{7693/* no known/supported struct */7694return vn_sizeof_simple_pointer(NULL);7695}76967697static inline size_t7698vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial(const VkPhysicalDeviceVulkan11Properties *val)7699{7700size_t size = 0;7701/* skip val->{sType,pNext} */7702/* skip val->deviceUUID */7703/* skip val->driverUUID */7704/* skip val->deviceLUID */7705/* skip val->deviceNodeMask */7706/* skip val->deviceLUIDValid */7707/* skip val->subgroupSize */7708/* skip val->subgroupSupportedStages */7709/* skip val->subgroupSupportedOperations */7710/* skip val->subgroupQuadOperationsInAllStages */7711/* skip val->pointClippingBehavior */7712/* skip val->maxMultiviewViewCount */7713/* skip val->maxMultiviewInstanceIndex */7714/* skip val->protectedNoFault */7715/* skip val->maxPerSetDescriptors */7716/* skip val->maxMemoryAllocationSize */7717return size;7718}77197720static inline size_t7721vn_sizeof_VkPhysicalDeviceVulkan11Properties_partial(const VkPhysicalDeviceVulkan11Properties *val)7722{7723size_t size = 0;77247725size += vn_sizeof_VkStructureType(&val->sType);7726size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_pnext_partial(val->pNext);7727size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial(val);77287729return size;7730}77317732static inline void7733vn_encode_VkPhysicalDeviceVulkan11Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)7734{7735/* no known/supported struct */7736vn_encode_simple_pointer(enc, NULL);7737}77387739static inline void7740vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)7741{7742/* skip val->{sType,pNext} */7743/* skip val->deviceUUID */7744/* skip val->driverUUID */7745/* skip val->deviceLUID */7746/* skip val->deviceNodeMask */7747/* skip val->deviceLUIDValid */7748/* skip val->subgroupSize */7749/* skip val->subgroupSupportedStages */7750/* skip val->subgroupSupportedOperations */7751/* skip val->subgroupQuadOperationsInAllStages */7752/* skip val->pointClippingBehavior */7753/* skip val->maxMultiviewViewCount */7754/* skip val->maxMultiviewInstanceIndex */7755/* skip val->protectedNoFault */7756/* skip val->maxPerSetDescriptors */7757/* skip val->maxMemoryAllocationSize */7758}77597760static inline void7761vn_encode_VkPhysicalDeviceVulkan11Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)7762{7763assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);7764vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES });7765vn_encode_VkPhysicalDeviceVulkan11Properties_pnext_partial(enc, val->pNext);7766vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(enc, val);7767}77687769/* struct VkPhysicalDeviceVulkan12Properties chain */77707771static inline size_t7772vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext(const void *val)7773{7774/* no known/supported struct */7775return vn_sizeof_simple_pointer(NULL);7776}77777778static inline size_t7779vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(const VkPhysicalDeviceVulkan12Properties *val)7780{7781size_t size = 0;7782/* skip val->{sType,pNext} */7783size += vn_sizeof_VkDriverId(&val->driverID);7784size += vn_sizeof_array_size(VK_MAX_DRIVER_NAME_SIZE);7785size += vn_sizeof_blob_array(val->driverName, VK_MAX_DRIVER_NAME_SIZE);7786size += vn_sizeof_array_size(VK_MAX_DRIVER_INFO_SIZE);7787size += vn_sizeof_blob_array(val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);7788size += vn_sizeof_VkConformanceVersion(&val->conformanceVersion);7789size += vn_sizeof_VkShaderFloatControlsIndependence(&val->denormBehaviorIndependence);7790size += vn_sizeof_VkShaderFloatControlsIndependence(&val->roundingModeIndependence);7791size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat16);7792size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat32);7793size += vn_sizeof_VkBool32(&val->shaderSignedZeroInfNanPreserveFloat64);7794size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat16);7795size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat32);7796size += vn_sizeof_VkBool32(&val->shaderDenormPreserveFloat64);7797size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat16);7798size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat32);7799size += vn_sizeof_VkBool32(&val->shaderDenormFlushToZeroFloat64);7800size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat16);7801size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat32);7802size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTEFloat64);7803size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat16);7804size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat32);7805size += vn_sizeof_VkBool32(&val->shaderRoundingModeRTZFloat64);7806size += vn_sizeof_uint32_t(&val->maxUpdateAfterBindDescriptorsInAllPools);7807size += vn_sizeof_VkBool32(&val->shaderUniformBufferArrayNonUniformIndexingNative);7808size += vn_sizeof_VkBool32(&val->shaderSampledImageArrayNonUniformIndexingNative);7809size += vn_sizeof_VkBool32(&val->shaderStorageBufferArrayNonUniformIndexingNative);7810size += vn_sizeof_VkBool32(&val->shaderStorageImageArrayNonUniformIndexingNative);7811size += vn_sizeof_VkBool32(&val->shaderInputAttachmentArrayNonUniformIndexingNative);7812size += vn_sizeof_VkBool32(&val->robustBufferAccessUpdateAfterBind);7813size += vn_sizeof_VkBool32(&val->quadDivergentImplicitLod);7814size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSamplers);7815size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);7816size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);7817size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindSampledImages);7818size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindStorageImages);7819size += vn_sizeof_uint32_t(&val->maxPerStageDescriptorUpdateAfterBindInputAttachments);7820size += vn_sizeof_uint32_t(&val->maxPerStageUpdateAfterBindResources);7821size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSamplers);7822size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffers);7823size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);7824size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffers);7825size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);7826size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindSampledImages);7827size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindStorageImages);7828size += vn_sizeof_uint32_t(&val->maxDescriptorSetUpdateAfterBindInputAttachments);7829size += vn_sizeof_VkFlags(&val->supportedDepthResolveModes);7830size += vn_sizeof_VkFlags(&val->supportedStencilResolveModes);7831size += vn_sizeof_VkBool32(&val->independentResolveNone);7832size += vn_sizeof_VkBool32(&val->independentResolve);7833size += vn_sizeof_VkBool32(&val->filterMinmaxSingleComponentFormats);7834size += vn_sizeof_VkBool32(&val->filterMinmaxImageComponentMapping);7835size += vn_sizeof_uint64_t(&val->maxTimelineSemaphoreValueDifference);7836size += vn_sizeof_VkFlags(&val->framebufferIntegerColorSampleCounts);7837return size;7838}78397840static inline size_t7841vn_sizeof_VkPhysicalDeviceVulkan12Properties(const VkPhysicalDeviceVulkan12Properties *val)7842{7843size_t size = 0;78447845size += vn_sizeof_VkStructureType(&val->sType);7846size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext(val->pNext);7847size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self(val);78487849return size;7850}78517852static inline void7853vn_decode_VkPhysicalDeviceVulkan12Properties_pnext(struct vn_cs_decoder *dec, const void *val)7854{7855/* no known/supported struct */7856if (vn_decode_simple_pointer(dec))7857assert(false);7858}78597860static inline void7861vn_decode_VkPhysicalDeviceVulkan12Properties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)7862{7863/* skip val->{sType,pNext} */7864vn_decode_VkDriverId(dec, &val->driverID);7865{7866const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_NAME_SIZE);7867vn_decode_blob_array(dec, val->driverName, array_size);7868}7869{7870const size_t array_size = vn_decode_array_size(dec, VK_MAX_DRIVER_INFO_SIZE);7871vn_decode_blob_array(dec, val->driverInfo, array_size);7872}7873vn_decode_VkConformanceVersion(dec, &val->conformanceVersion);7874vn_decode_VkShaderFloatControlsIndependence(dec, &val->denormBehaviorIndependence);7875vn_decode_VkShaderFloatControlsIndependence(dec, &val->roundingModeIndependence);7876vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat16);7877vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat32);7878vn_decode_VkBool32(dec, &val->shaderSignedZeroInfNanPreserveFloat64);7879vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat16);7880vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat32);7881vn_decode_VkBool32(dec, &val->shaderDenormPreserveFloat64);7882vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat16);7883vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat32);7884vn_decode_VkBool32(dec, &val->shaderDenormFlushToZeroFloat64);7885vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat16);7886vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat32);7887vn_decode_VkBool32(dec, &val->shaderRoundingModeRTEFloat64);7888vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat16);7889vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat32);7890vn_decode_VkBool32(dec, &val->shaderRoundingModeRTZFloat64);7891vn_decode_uint32_t(dec, &val->maxUpdateAfterBindDescriptorsInAllPools);7892vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexingNative);7893vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexingNative);7894vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexingNative);7895vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexingNative);7896vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexingNative);7897vn_decode_VkBool32(dec, &val->robustBufferAccessUpdateAfterBind);7898vn_decode_VkBool32(dec, &val->quadDivergentImplicitLod);7899vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSamplers);7900vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);7901vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);7902vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);7903vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);7904vn_decode_uint32_t(dec, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);7905vn_decode_uint32_t(dec, &val->maxPerStageUpdateAfterBindResources);7906vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSamplers);7907vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);7908vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);7909vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);7910vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);7911vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindSampledImages);7912vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindStorageImages);7913vn_decode_uint32_t(dec, &val->maxDescriptorSetUpdateAfterBindInputAttachments);7914vn_decode_VkFlags(dec, &val->supportedDepthResolveModes);7915vn_decode_VkFlags(dec, &val->supportedStencilResolveModes);7916vn_decode_VkBool32(dec, &val->independentResolveNone);7917vn_decode_VkBool32(dec, &val->independentResolve);7918vn_decode_VkBool32(dec, &val->filterMinmaxSingleComponentFormats);7919vn_decode_VkBool32(dec, &val->filterMinmaxImageComponentMapping);7920vn_decode_uint64_t(dec, &val->maxTimelineSemaphoreValueDifference);7921vn_decode_VkFlags(dec, &val->framebufferIntegerColorSampleCounts);7922}79237924static inline void7925vn_decode_VkPhysicalDeviceVulkan12Properties(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)7926{7927VkStructureType stype;7928vn_decode_VkStructureType(dec, &stype);7929assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);79307931assert(val->sType == stype);7932vn_decode_VkPhysicalDeviceVulkan12Properties_pnext(dec, val->pNext);7933vn_decode_VkPhysicalDeviceVulkan12Properties_self(dec, val);7934}79357936static inline size_t7937vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext_partial(const void *val)7938{7939/* no known/supported struct */7940return vn_sizeof_simple_pointer(NULL);7941}79427943static inline size_t7944vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial(const VkPhysicalDeviceVulkan12Properties *val)7945{7946size_t size = 0;7947/* skip val->{sType,pNext} */7948/* skip val->driverID */7949/* skip val->driverName */7950/* skip val->driverInfo */7951size += vn_sizeof_VkConformanceVersion_partial(&val->conformanceVersion);7952/* skip val->denormBehaviorIndependence */7953/* skip val->roundingModeIndependence */7954/* skip val->shaderSignedZeroInfNanPreserveFloat16 */7955/* skip val->shaderSignedZeroInfNanPreserveFloat32 */7956/* skip val->shaderSignedZeroInfNanPreserveFloat64 */7957/* skip val->shaderDenormPreserveFloat16 */7958/* skip val->shaderDenormPreserveFloat32 */7959/* skip val->shaderDenormPreserveFloat64 */7960/* skip val->shaderDenormFlushToZeroFloat16 */7961/* skip val->shaderDenormFlushToZeroFloat32 */7962/* skip val->shaderDenormFlushToZeroFloat64 */7963/* skip val->shaderRoundingModeRTEFloat16 */7964/* skip val->shaderRoundingModeRTEFloat32 */7965/* skip val->shaderRoundingModeRTEFloat64 */7966/* skip val->shaderRoundingModeRTZFloat16 */7967/* skip val->shaderRoundingModeRTZFloat32 */7968/* skip val->shaderRoundingModeRTZFloat64 */7969/* skip val->maxUpdateAfterBindDescriptorsInAllPools */7970/* skip val->shaderUniformBufferArrayNonUniformIndexingNative */7971/* skip val->shaderSampledImageArrayNonUniformIndexingNative */7972/* skip val->shaderStorageBufferArrayNonUniformIndexingNative */7973/* skip val->shaderStorageImageArrayNonUniformIndexingNative */7974/* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */7975/* skip val->robustBufferAccessUpdateAfterBind */7976/* skip val->quadDivergentImplicitLod */7977/* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */7978/* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */7979/* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */7980/* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */7981/* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */7982/* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */7983/* skip val->maxPerStageUpdateAfterBindResources */7984/* skip val->maxDescriptorSetUpdateAfterBindSamplers */7985/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */7986/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */7987/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */7988/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */7989/* skip val->maxDescriptorSetUpdateAfterBindSampledImages */7990/* skip val->maxDescriptorSetUpdateAfterBindStorageImages */7991/* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */7992/* skip val->supportedDepthResolveModes */7993/* skip val->supportedStencilResolveModes */7994/* skip val->independentResolveNone */7995/* skip val->independentResolve */7996/* skip val->filterMinmaxSingleComponentFormats */7997/* skip val->filterMinmaxImageComponentMapping */7998/* skip val->maxTimelineSemaphoreValueDifference */7999/* skip val->framebufferIntegerColorSampleCounts */8000return size;8001}80028003static inline size_t8004vn_sizeof_VkPhysicalDeviceVulkan12Properties_partial(const VkPhysicalDeviceVulkan12Properties *val)8005{8006size_t size = 0;80078008size += vn_sizeof_VkStructureType(&val->sType);8009size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_pnext_partial(val->pNext);8010size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial(val);80118012return size;8013}80148015static inline void8016vn_encode_VkPhysicalDeviceVulkan12Properties_pnext_partial(struct vn_cs_encoder *enc, const void *val)8017{8018/* no known/supported struct */8019vn_encode_simple_pointer(enc, NULL);8020}80218022static inline void8023vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)8024{8025/* skip val->{sType,pNext} */8026/* skip val->driverID */8027/* skip val->driverName */8028/* skip val->driverInfo */8029vn_encode_VkConformanceVersion_partial(enc, &val->conformanceVersion);8030/* skip val->denormBehaviorIndependence */8031/* skip val->roundingModeIndependence */8032/* skip val->shaderSignedZeroInfNanPreserveFloat16 */8033/* skip val->shaderSignedZeroInfNanPreserveFloat32 */8034/* skip val->shaderSignedZeroInfNanPreserveFloat64 */8035/* skip val->shaderDenormPreserveFloat16 */8036/* skip val->shaderDenormPreserveFloat32 */8037/* skip val->shaderDenormPreserveFloat64 */8038/* skip val->shaderDenormFlushToZeroFloat16 */8039/* skip val->shaderDenormFlushToZeroFloat32 */8040/* skip val->shaderDenormFlushToZeroFloat64 */8041/* skip val->shaderRoundingModeRTEFloat16 */8042/* skip val->shaderRoundingModeRTEFloat32 */8043/* skip val->shaderRoundingModeRTEFloat64 */8044/* skip val->shaderRoundingModeRTZFloat16 */8045/* skip val->shaderRoundingModeRTZFloat32 */8046/* skip val->shaderRoundingModeRTZFloat64 */8047/* skip val->maxUpdateAfterBindDescriptorsInAllPools */8048/* skip val->shaderUniformBufferArrayNonUniformIndexingNative */8049/* skip val->shaderSampledImageArrayNonUniformIndexingNative */8050/* skip val->shaderStorageBufferArrayNonUniformIndexingNative */8051/* skip val->shaderStorageImageArrayNonUniformIndexingNative */8052/* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */8053/* skip val->robustBufferAccessUpdateAfterBind */8054/* skip val->quadDivergentImplicitLod */8055/* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */8056/* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */8057/* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */8058/* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */8059/* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */8060/* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */8061/* skip val->maxPerStageUpdateAfterBindResources */8062/* skip val->maxDescriptorSetUpdateAfterBindSamplers */8063/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */8064/* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */8065/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */8066/* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */8067/* skip val->maxDescriptorSetUpdateAfterBindSampledImages */8068/* skip val->maxDescriptorSetUpdateAfterBindStorageImages */8069/* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */8070/* skip val->supportedDepthResolveModes */8071/* skip val->supportedStencilResolveModes */8072/* skip val->independentResolveNone */8073/* skip val->independentResolve */8074/* skip val->filterMinmaxSingleComponentFormats */8075/* skip val->filterMinmaxImageComponentMapping */8076/* skip val->maxTimelineSemaphoreValueDifference */8077/* skip val->framebufferIntegerColorSampleCounts */8078}80798080static inline void8081vn_encode_VkPhysicalDeviceVulkan12Properties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)8082{8083assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);8084vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES });8085vn_encode_VkPhysicalDeviceVulkan12Properties_pnext_partial(enc, val->pNext);8086vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(enc, val);8087}80888089/* struct VkPhysicalDeviceProperties2 chain */80908091static inline size_t8092vn_sizeof_VkPhysicalDeviceProperties2_pnext(const void *val)8093{8094const VkBaseInStructure *pnext = val;8095size_t size = 0;80968097while (pnext) {8098switch ((int32_t)pnext->sType) {8099case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:8100size += vn_sizeof_simple_pointer(pnext);8101size += vn_sizeof_VkStructureType(&pnext->sType);8102size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8103size += vn_sizeof_VkPhysicalDeviceDriverProperties_self((const VkPhysicalDeviceDriverProperties *)pnext);8104return size;8105case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:8106size += vn_sizeof_simple_pointer(pnext);8107size += vn_sizeof_VkStructureType(&pnext->sType);8108size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8109size += vn_sizeof_VkPhysicalDeviceIDProperties_self((const VkPhysicalDeviceIDProperties *)pnext);8110return size;8111case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:8112size += vn_sizeof_simple_pointer(pnext);8113size += vn_sizeof_VkStructureType(&pnext->sType);8114size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8115size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self((const VkPhysicalDeviceMultiviewProperties *)pnext);8116return size;8117case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:8118size += vn_sizeof_simple_pointer(pnext);8119size += vn_sizeof_VkStructureType(&pnext->sType);8120size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8121size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self((const VkPhysicalDeviceSubgroupProperties *)pnext);8122return size;8123case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:8124size += vn_sizeof_simple_pointer(pnext);8125size += vn_sizeof_VkStructureType(&pnext->sType);8126size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8127size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self((const VkPhysicalDevicePointClippingProperties *)pnext);8128return size;8129case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:8130size += vn_sizeof_simple_pointer(pnext);8131size += vn_sizeof_VkStructureType(&pnext->sType);8132size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8133size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self((const VkPhysicalDeviceProtectedMemoryProperties *)pnext);8134return size;8135case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:8136size += vn_sizeof_simple_pointer(pnext);8137size += vn_sizeof_VkStructureType(&pnext->sType);8138size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8139size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self((const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);8140return size;8141case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:8142size += vn_sizeof_simple_pointer(pnext);8143size += vn_sizeof_VkStructureType(&pnext->sType);8144size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8145size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self((const VkPhysicalDeviceMaintenance3Properties *)pnext);8146return size;8147case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:8148size += vn_sizeof_simple_pointer(pnext);8149size += vn_sizeof_VkStructureType(&pnext->sType);8150size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8151size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self((const VkPhysicalDeviceFloatControlsProperties *)pnext);8152return size;8153case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:8154size += vn_sizeof_simple_pointer(pnext);8155size += vn_sizeof_VkStructureType(&pnext->sType);8156size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8157size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self((const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);8158return size;8159case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:8160size += vn_sizeof_simple_pointer(pnext);8161size += vn_sizeof_VkStructureType(&pnext->sType);8162size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8163size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);8164return size;8165case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:8166size += vn_sizeof_simple_pointer(pnext);8167size += vn_sizeof_VkStructureType(&pnext->sType);8168size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8169size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self((const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);8170return size;8171case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:8172size += vn_sizeof_simple_pointer(pnext);8173size += vn_sizeof_VkStructureType(&pnext->sType);8174size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8175size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self((const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);8176return size;8177case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:8178size += vn_sizeof_simple_pointer(pnext);8179size += vn_sizeof_VkStructureType(&pnext->sType);8180size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8181size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self((const VkPhysicalDeviceVulkan11Properties *)pnext);8182return size;8183case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:8184size += vn_sizeof_simple_pointer(pnext);8185size += vn_sizeof_VkStructureType(&pnext->sType);8186size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(pnext->pNext);8187size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self((const VkPhysicalDeviceVulkan12Properties *)pnext);8188return size;8189default:8190/* ignore unknown/unsupported struct */8191break;8192}8193pnext = pnext->pNext;8194}81958196return vn_sizeof_simple_pointer(NULL);8197}81988199static inline size_t8200vn_sizeof_VkPhysicalDeviceProperties2_self(const VkPhysicalDeviceProperties2 *val)8201{8202size_t size = 0;8203/* skip val->{sType,pNext} */8204size += vn_sizeof_VkPhysicalDeviceProperties(&val->properties);8205return size;8206}82078208static inline size_t8209vn_sizeof_VkPhysicalDeviceProperties2(const VkPhysicalDeviceProperties2 *val)8210{8211size_t size = 0;82128213size += vn_sizeof_VkStructureType(&val->sType);8214size += vn_sizeof_VkPhysicalDeviceProperties2_pnext(val->pNext);8215size += vn_sizeof_VkPhysicalDeviceProperties2_self(val);82168217return size;8218}82198220static inline void8221vn_decode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_decoder *dec, const void *val)8222{8223VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;8224VkStructureType stype;82258226if (!vn_decode_simple_pointer(dec))8227return;82288229vn_decode_VkStructureType(dec, &stype);8230while (true) {8231assert(pnext);8232if (pnext->sType == stype)8233break;8234}82358236switch ((int32_t)pnext->sType) {8237case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:8238vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8239vn_decode_VkPhysicalDeviceDriverProperties_self(dec, (VkPhysicalDeviceDriverProperties *)pnext);8240break;8241case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:8242vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8243vn_decode_VkPhysicalDeviceIDProperties_self(dec, (VkPhysicalDeviceIDProperties *)pnext);8244break;8245case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:8246vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8247vn_decode_VkPhysicalDeviceMultiviewProperties_self(dec, (VkPhysicalDeviceMultiviewProperties *)pnext);8248break;8249case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:8250vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8251vn_decode_VkPhysicalDeviceSubgroupProperties_self(dec, (VkPhysicalDeviceSubgroupProperties *)pnext);8252break;8253case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:8254vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8255vn_decode_VkPhysicalDevicePointClippingProperties_self(dec, (VkPhysicalDevicePointClippingProperties *)pnext);8256break;8257case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:8258vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8259vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self(dec, (VkPhysicalDeviceProtectedMemoryProperties *)pnext);8260break;8261case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:8262vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8263vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(dec, (VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);8264break;8265case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:8266vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8267vn_decode_VkPhysicalDeviceMaintenance3Properties_self(dec, (VkPhysicalDeviceMaintenance3Properties *)pnext);8268break;8269case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:8270vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8271vn_decode_VkPhysicalDeviceFloatControlsProperties_self(dec, (VkPhysicalDeviceFloatControlsProperties *)pnext);8272break;8273case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:8274vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8275vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self(dec, (VkPhysicalDeviceDescriptorIndexingProperties *)pnext);8276break;8277case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:8278vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8279vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self(dec, (VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);8280break;8281case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:8282vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8283vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self(dec, (VkPhysicalDeviceDepthStencilResolveProperties *)pnext);8284break;8285case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:8286vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8287vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(dec, (VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);8288break;8289case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:8290vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8291vn_decode_VkPhysicalDeviceVulkan11Properties_self(dec, (VkPhysicalDeviceVulkan11Properties *)pnext);8292break;8293case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:8294vn_decode_VkPhysicalDeviceProperties2_pnext(dec, pnext->pNext);8295vn_decode_VkPhysicalDeviceVulkan12Properties_self(dec, (VkPhysicalDeviceVulkan12Properties *)pnext);8296break;8297default:8298assert(false);8299break;8300}8301}83028303static inline void8304vn_decode_VkPhysicalDeviceProperties2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)8305{8306/* skip val->{sType,pNext} */8307vn_decode_VkPhysicalDeviceProperties(dec, &val->properties);8308}83098310static inline void8311vn_decode_VkPhysicalDeviceProperties2(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)8312{8313VkStructureType stype;8314vn_decode_VkStructureType(dec, &stype);8315assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);83168317assert(val->sType == stype);8318vn_decode_VkPhysicalDeviceProperties2_pnext(dec, val->pNext);8319vn_decode_VkPhysicalDeviceProperties2_self(dec, val);8320}83218322static inline size_t8323vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(const void *val)8324{8325const VkBaseInStructure *pnext = val;8326size_t size = 0;83278328while (pnext) {8329switch ((int32_t)pnext->sType) {8330case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:8331size += vn_sizeof_simple_pointer(pnext);8332size += vn_sizeof_VkStructureType(&pnext->sType);8333size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8334size += vn_sizeof_VkPhysicalDeviceDriverProperties_self_partial((const VkPhysicalDeviceDriverProperties *)pnext);8335return size;8336case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:8337size += vn_sizeof_simple_pointer(pnext);8338size += vn_sizeof_VkStructureType(&pnext->sType);8339size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8340size += vn_sizeof_VkPhysicalDeviceIDProperties_self_partial((const VkPhysicalDeviceIDProperties *)pnext);8341return size;8342case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:8343size += vn_sizeof_simple_pointer(pnext);8344size += vn_sizeof_VkStructureType(&pnext->sType);8345size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8346size += vn_sizeof_VkPhysicalDeviceMultiviewProperties_self_partial((const VkPhysicalDeviceMultiviewProperties *)pnext);8347return size;8348case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:8349size += vn_sizeof_simple_pointer(pnext);8350size += vn_sizeof_VkStructureType(&pnext->sType);8351size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8352size += vn_sizeof_VkPhysicalDeviceSubgroupProperties_self_partial((const VkPhysicalDeviceSubgroupProperties *)pnext);8353return size;8354case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:8355size += vn_sizeof_simple_pointer(pnext);8356size += vn_sizeof_VkStructureType(&pnext->sType);8357size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8358size += vn_sizeof_VkPhysicalDevicePointClippingProperties_self_partial((const VkPhysicalDevicePointClippingProperties *)pnext);8359return size;8360case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:8361size += vn_sizeof_simple_pointer(pnext);8362size += vn_sizeof_VkStructureType(&pnext->sType);8363size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8364size += vn_sizeof_VkPhysicalDeviceProtectedMemoryProperties_self_partial((const VkPhysicalDeviceProtectedMemoryProperties *)pnext);8365return size;8366case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:8367size += vn_sizeof_simple_pointer(pnext);8368size += vn_sizeof_VkStructureType(&pnext->sType);8369size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8370size += vn_sizeof_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial((const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);8371return size;8372case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:8373size += vn_sizeof_simple_pointer(pnext);8374size += vn_sizeof_VkStructureType(&pnext->sType);8375size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8376size += vn_sizeof_VkPhysicalDeviceMaintenance3Properties_self_partial((const VkPhysicalDeviceMaintenance3Properties *)pnext);8377return size;8378case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:8379size += vn_sizeof_simple_pointer(pnext);8380size += vn_sizeof_VkStructureType(&pnext->sType);8381size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8382size += vn_sizeof_VkPhysicalDeviceFloatControlsProperties_self_partial((const VkPhysicalDeviceFloatControlsProperties *)pnext);8383return size;8384case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:8385size += vn_sizeof_simple_pointer(pnext);8386size += vn_sizeof_VkStructureType(&pnext->sType);8387size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8388size += vn_sizeof_VkPhysicalDeviceDescriptorIndexingProperties_self_partial((const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);8389return size;8390case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:8391size += vn_sizeof_simple_pointer(pnext);8392size += vn_sizeof_VkStructureType(&pnext->sType);8393size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8394size += vn_sizeof_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial((const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);8395return size;8396case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:8397size += vn_sizeof_simple_pointer(pnext);8398size += vn_sizeof_VkStructureType(&pnext->sType);8399size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8400size += vn_sizeof_VkPhysicalDeviceDepthStencilResolveProperties_self_partial((const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);8401return size;8402case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:8403size += vn_sizeof_simple_pointer(pnext);8404size += vn_sizeof_VkStructureType(&pnext->sType);8405size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8406size += vn_sizeof_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial((const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);8407return size;8408case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:8409size += vn_sizeof_simple_pointer(pnext);8410size += vn_sizeof_VkStructureType(&pnext->sType);8411size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8412size += vn_sizeof_VkPhysicalDeviceVulkan11Properties_self_partial((const VkPhysicalDeviceVulkan11Properties *)pnext);8413return size;8414case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:8415size += vn_sizeof_simple_pointer(pnext);8416size += vn_sizeof_VkStructureType(&pnext->sType);8417size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(pnext->pNext);8418size += vn_sizeof_VkPhysicalDeviceVulkan12Properties_self_partial((const VkPhysicalDeviceVulkan12Properties *)pnext);8419return size;8420default:8421/* ignore unknown/unsupported struct */8422break;8423}8424pnext = pnext->pNext;8425}84268427return vn_sizeof_simple_pointer(NULL);8428}84298430static inline size_t8431vn_sizeof_VkPhysicalDeviceProperties2_self_partial(const VkPhysicalDeviceProperties2 *val)8432{8433size_t size = 0;8434/* skip val->{sType,pNext} */8435size += vn_sizeof_VkPhysicalDeviceProperties_partial(&val->properties);8436return size;8437}84388439static inline size_t8440vn_sizeof_VkPhysicalDeviceProperties2_partial(const VkPhysicalDeviceProperties2 *val)8441{8442size_t size = 0;84438444size += vn_sizeof_VkStructureType(&val->sType);8445size += vn_sizeof_VkPhysicalDeviceProperties2_pnext_partial(val->pNext);8446size += vn_sizeof_VkPhysicalDeviceProperties2_self_partial(val);84478448return size;8449}84508451static inline void8452vn_encode_VkPhysicalDeviceProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)8453{8454const VkBaseInStructure *pnext = val;84558456while (pnext) {8457switch ((int32_t)pnext->sType) {8458case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:8459vn_encode_simple_pointer(enc, pnext);8460vn_encode_VkStructureType(enc, &pnext->sType);8461vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8462vn_encode_VkPhysicalDeviceDriverProperties_self_partial(enc, (const VkPhysicalDeviceDriverProperties *)pnext);8463return;8464case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:8465vn_encode_simple_pointer(enc, pnext);8466vn_encode_VkStructureType(enc, &pnext->sType);8467vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8468vn_encode_VkPhysicalDeviceIDProperties_self_partial(enc, (const VkPhysicalDeviceIDProperties *)pnext);8469return;8470case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:8471vn_encode_simple_pointer(enc, pnext);8472vn_encode_VkStructureType(enc, &pnext->sType);8473vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8474vn_encode_VkPhysicalDeviceMultiviewProperties_self_partial(enc, (const VkPhysicalDeviceMultiviewProperties *)pnext);8475return;8476case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:8477vn_encode_simple_pointer(enc, pnext);8478vn_encode_VkStructureType(enc, &pnext->sType);8479vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8480vn_encode_VkPhysicalDeviceSubgroupProperties_self_partial(enc, (const VkPhysicalDeviceSubgroupProperties *)pnext);8481return;8482case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:8483vn_encode_simple_pointer(enc, pnext);8484vn_encode_VkStructureType(enc, &pnext->sType);8485vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8486vn_encode_VkPhysicalDevicePointClippingProperties_self_partial(enc, (const VkPhysicalDevicePointClippingProperties *)pnext);8487return;8488case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:8489vn_encode_simple_pointer(enc, pnext);8490vn_encode_VkStructureType(enc, &pnext->sType);8491vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8492vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self_partial(enc, (const VkPhysicalDeviceProtectedMemoryProperties *)pnext);8493return;8494case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:8495vn_encode_simple_pointer(enc, pnext);8496vn_encode_VkStructureType(enc, &pnext->sType);8497vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8498vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial(enc, (const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);8499return;8500case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:8501vn_encode_simple_pointer(enc, pnext);8502vn_encode_VkStructureType(enc, &pnext->sType);8503vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8504vn_encode_VkPhysicalDeviceMaintenance3Properties_self_partial(enc, (const VkPhysicalDeviceMaintenance3Properties *)pnext);8505return;8506case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:8507vn_encode_simple_pointer(enc, pnext);8508vn_encode_VkStructureType(enc, &pnext->sType);8509vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8510vn_encode_VkPhysicalDeviceFloatControlsProperties_self_partial(enc, (const VkPhysicalDeviceFloatControlsProperties *)pnext);8511return;8512case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:8513vn_encode_simple_pointer(enc, pnext);8514vn_encode_VkStructureType(enc, &pnext->sType);8515vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8516vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial(enc, (const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);8517return;8518case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:8519vn_encode_simple_pointer(enc, pnext);8520vn_encode_VkStructureType(enc, &pnext->sType);8521vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8522vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial(enc, (const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);8523return;8524case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:8525vn_encode_simple_pointer(enc, pnext);8526vn_encode_VkStructureType(enc, &pnext->sType);8527vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8528vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial(enc, (const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);8529return;8530case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:8531vn_encode_simple_pointer(enc, pnext);8532vn_encode_VkStructureType(enc, &pnext->sType);8533vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8534vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial(enc, (const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);8535return;8536case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:8537vn_encode_simple_pointer(enc, pnext);8538vn_encode_VkStructureType(enc, &pnext->sType);8539vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8540vn_encode_VkPhysicalDeviceVulkan11Properties_self_partial(enc, (const VkPhysicalDeviceVulkan11Properties *)pnext);8541return;8542case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:8543vn_encode_simple_pointer(enc, pnext);8544vn_encode_VkStructureType(enc, &pnext->sType);8545vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, pnext->pNext);8546vn_encode_VkPhysicalDeviceVulkan12Properties_self_partial(enc, (const VkPhysicalDeviceVulkan12Properties *)pnext);8547return;8548default:8549/* ignore unknown/unsupported struct */8550break;8551}8552pnext = pnext->pNext;8553}85548555vn_encode_simple_pointer(enc, NULL);8556}85578558static inline void8559vn_encode_VkPhysicalDeviceProperties2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)8560{8561/* skip val->{sType,pNext} */8562vn_encode_VkPhysicalDeviceProperties_partial(enc, &val->properties);8563}85648565static inline void8566vn_encode_VkPhysicalDeviceProperties2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)8567{8568assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);8569vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 });8570vn_encode_VkPhysicalDeviceProperties2_pnext_partial(enc, val->pNext);8571vn_encode_VkPhysicalDeviceProperties2_self_partial(enc, val);8572}85738574/* struct VkDrmFormatModifierPropertiesEXT */85758576static inline size_t8577vn_sizeof_VkDrmFormatModifierPropertiesEXT(const VkDrmFormatModifierPropertiesEXT *val)8578{8579size_t size = 0;8580size += vn_sizeof_uint64_t(&val->drmFormatModifier);8581size += vn_sizeof_uint32_t(&val->drmFormatModifierPlaneCount);8582size += vn_sizeof_VkFlags(&val->drmFormatModifierTilingFeatures);8583return size;8584}85858586static inline void8587vn_decode_VkDrmFormatModifierPropertiesEXT(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesEXT *val)8588{8589vn_decode_uint64_t(dec, &val->drmFormatModifier);8590vn_decode_uint32_t(dec, &val->drmFormatModifierPlaneCount);8591vn_decode_VkFlags(dec, &val->drmFormatModifierTilingFeatures);8592}85938594static inline size_t8595vn_sizeof_VkDrmFormatModifierPropertiesEXT_partial(const VkDrmFormatModifierPropertiesEXT *val)8596{8597size_t size = 0;8598/* skip val->drmFormatModifier */8599/* skip val->drmFormatModifierPlaneCount */8600/* skip val->drmFormatModifierTilingFeatures */8601return size;8602}86038604static inline void8605vn_encode_VkDrmFormatModifierPropertiesEXT_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesEXT *val)8606{8607/* skip val->drmFormatModifier */8608/* skip val->drmFormatModifierPlaneCount */8609/* skip val->drmFormatModifierTilingFeatures */8610}86118612/* struct VkDrmFormatModifierPropertiesListEXT chain */86138614static inline size_t8615vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext(const void *val)8616{8617/* no known/supported struct */8618return vn_sizeof_simple_pointer(NULL);8619}86208621static inline size_t8622vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self(const VkDrmFormatModifierPropertiesListEXT *val)8623{8624size_t size = 0;8625/* skip val->{sType,pNext} */8626size += vn_sizeof_uint32_t(&val->drmFormatModifierCount);8627if (val->pDrmFormatModifierProperties) {8628size += vn_sizeof_array_size(val->drmFormatModifierCount);8629for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)8630size += vn_sizeof_VkDrmFormatModifierPropertiesEXT(&val->pDrmFormatModifierProperties[i]);8631} else {8632size += vn_sizeof_array_size(0);8633}8634return size;8635}86368637static inline size_t8638vn_sizeof_VkDrmFormatModifierPropertiesListEXT(const VkDrmFormatModifierPropertiesListEXT *val)8639{8640size_t size = 0;86418642size += vn_sizeof_VkStructureType(&val->sType);8643size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext(val->pNext);8644size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self(val);86458646return size;8647}86488649static inline void8650vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext(struct vn_cs_decoder *dec, const void *val)8651{8652/* no known/supported struct */8653if (vn_decode_simple_pointer(dec))8654assert(false);8655}86568657static inline void8658vn_decode_VkDrmFormatModifierPropertiesListEXT_self(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)8659{8660/* skip val->{sType,pNext} */8661vn_decode_uint32_t(dec, &val->drmFormatModifierCount);8662if (vn_peek_array_size(dec)) {8663vn_decode_array_size(dec, val->drmFormatModifierCount);8664for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)8665vn_decode_VkDrmFormatModifierPropertiesEXT(dec, &val->pDrmFormatModifierProperties[i]);8666} else {8667vn_decode_array_size(dec, 0);8668val->pDrmFormatModifierProperties = NULL;8669}8670}86718672static inline void8673vn_decode_VkDrmFormatModifierPropertiesListEXT(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)8674{8675VkStructureType stype;8676vn_decode_VkStructureType(dec, &stype);8677assert(stype == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);86788679assert(val->sType == stype);8680vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext(dec, val->pNext);8681vn_decode_VkDrmFormatModifierPropertiesListEXT_self(dec, val);8682}86838684static inline size_t8685vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext_partial(const void *val)8686{8687/* no known/supported struct */8688return vn_sizeof_simple_pointer(NULL);8689}86908691static inline size_t8692vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(const VkDrmFormatModifierPropertiesListEXT *val)8693{8694size_t size = 0;8695/* skip val->{sType,pNext} */8696/* skip val->drmFormatModifierCount */8697if (val->pDrmFormatModifierProperties) {8698size += vn_sizeof_array_size(val->drmFormatModifierCount);8699for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)8700size += vn_sizeof_VkDrmFormatModifierPropertiesEXT_partial(&val->pDrmFormatModifierProperties[i]);8701} else {8702size += vn_sizeof_array_size(0);8703}8704return size;8705}87068707static inline size_t8708vn_sizeof_VkDrmFormatModifierPropertiesListEXT_partial(const VkDrmFormatModifierPropertiesListEXT *val)8709{8710size_t size = 0;87118712size += vn_sizeof_VkStructureType(&val->sType);8713size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_pnext_partial(val->pNext);8714size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial(val);87158716return size;8717}87188719static inline void8720vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext_partial(struct vn_cs_encoder *enc, const void *val)8721{8722/* no known/supported struct */8723vn_encode_simple_pointer(enc, NULL);8724}87258726static inline void8727vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)8728{8729/* skip val->{sType,pNext} */8730/* skip val->drmFormatModifierCount */8731if (val->pDrmFormatModifierProperties) {8732vn_encode_array_size(enc, val->drmFormatModifierCount);8733for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)8734vn_encode_VkDrmFormatModifierPropertiesEXT_partial(enc, &val->pDrmFormatModifierProperties[i]);8735} else {8736vn_encode_array_size(enc, 0);8737}8738}87398740static inline void8741vn_encode_VkDrmFormatModifierPropertiesListEXT_partial(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)8742{8743assert(val->sType == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);8744vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT });8745vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext_partial(enc, val->pNext);8746vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(enc, val);8747}87488749/* struct VkFormatProperties2 chain */87508751static inline size_t8752vn_sizeof_VkFormatProperties2_pnext(const void *val)8753{8754const VkBaseInStructure *pnext = val;8755size_t size = 0;87568757while (pnext) {8758switch ((int32_t)pnext->sType) {8759case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:8760size += vn_sizeof_simple_pointer(pnext);8761size += vn_sizeof_VkStructureType(&pnext->sType);8762size += vn_sizeof_VkFormatProperties2_pnext(pnext->pNext);8763size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self((const VkDrmFormatModifierPropertiesListEXT *)pnext);8764return size;8765default:8766/* ignore unknown/unsupported struct */8767break;8768}8769pnext = pnext->pNext;8770}87718772return vn_sizeof_simple_pointer(NULL);8773}87748775static inline size_t8776vn_sizeof_VkFormatProperties2_self(const VkFormatProperties2 *val)8777{8778size_t size = 0;8779/* skip val->{sType,pNext} */8780size += vn_sizeof_VkFormatProperties(&val->formatProperties);8781return size;8782}87838784static inline size_t8785vn_sizeof_VkFormatProperties2(const VkFormatProperties2 *val)8786{8787size_t size = 0;87888789size += vn_sizeof_VkStructureType(&val->sType);8790size += vn_sizeof_VkFormatProperties2_pnext(val->pNext);8791size += vn_sizeof_VkFormatProperties2_self(val);87928793return size;8794}87958796static inline void8797vn_decode_VkFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)8798{8799VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;8800VkStructureType stype;88018802if (!vn_decode_simple_pointer(dec))8803return;88048805vn_decode_VkStructureType(dec, &stype);8806while (true) {8807assert(pnext);8808if (pnext->sType == stype)8809break;8810}88118812switch ((int32_t)pnext->sType) {8813case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:8814vn_decode_VkFormatProperties2_pnext(dec, pnext->pNext);8815vn_decode_VkDrmFormatModifierPropertiesListEXT_self(dec, (VkDrmFormatModifierPropertiesListEXT *)pnext);8816break;8817default:8818assert(false);8819break;8820}8821}88228823static inline void8824vn_decode_VkFormatProperties2_self(struct vn_cs_decoder *dec, VkFormatProperties2 *val)8825{8826/* skip val->{sType,pNext} */8827vn_decode_VkFormatProperties(dec, &val->formatProperties);8828}88298830static inline void8831vn_decode_VkFormatProperties2(struct vn_cs_decoder *dec, VkFormatProperties2 *val)8832{8833VkStructureType stype;8834vn_decode_VkStructureType(dec, &stype);8835assert(stype == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);88368837assert(val->sType == stype);8838vn_decode_VkFormatProperties2_pnext(dec, val->pNext);8839vn_decode_VkFormatProperties2_self(dec, val);8840}88418842static inline size_t8843vn_sizeof_VkFormatProperties2_pnext_partial(const void *val)8844{8845const VkBaseInStructure *pnext = val;8846size_t size = 0;88478848while (pnext) {8849switch ((int32_t)pnext->sType) {8850case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:8851size += vn_sizeof_simple_pointer(pnext);8852size += vn_sizeof_VkStructureType(&pnext->sType);8853size += vn_sizeof_VkFormatProperties2_pnext_partial(pnext->pNext);8854size += vn_sizeof_VkDrmFormatModifierPropertiesListEXT_self_partial((const VkDrmFormatModifierPropertiesListEXT *)pnext);8855return size;8856default:8857/* ignore unknown/unsupported struct */8858break;8859}8860pnext = pnext->pNext;8861}88628863return vn_sizeof_simple_pointer(NULL);8864}88658866static inline size_t8867vn_sizeof_VkFormatProperties2_self_partial(const VkFormatProperties2 *val)8868{8869size_t size = 0;8870/* skip val->{sType,pNext} */8871size += vn_sizeof_VkFormatProperties_partial(&val->formatProperties);8872return size;8873}88748875static inline size_t8876vn_sizeof_VkFormatProperties2_partial(const VkFormatProperties2 *val)8877{8878size_t size = 0;88798880size += vn_sizeof_VkStructureType(&val->sType);8881size += vn_sizeof_VkFormatProperties2_pnext_partial(val->pNext);8882size += vn_sizeof_VkFormatProperties2_self_partial(val);88838884return size;8885}88868887static inline void8888vn_encode_VkFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)8889{8890const VkBaseInStructure *pnext = val;88918892while (pnext) {8893switch ((int32_t)pnext->sType) {8894case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:8895vn_encode_simple_pointer(enc, pnext);8896vn_encode_VkStructureType(enc, &pnext->sType);8897vn_encode_VkFormatProperties2_pnext_partial(enc, pnext->pNext);8898vn_encode_VkDrmFormatModifierPropertiesListEXT_self_partial(enc, (const VkDrmFormatModifierPropertiesListEXT *)pnext);8899return;8900default:8901/* ignore unknown/unsupported struct */8902break;8903}8904pnext = pnext->pNext;8905}89068907vn_encode_simple_pointer(enc, NULL);8908}89098910static inline void8911vn_encode_VkFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)8912{8913/* skip val->{sType,pNext} */8914vn_encode_VkFormatProperties_partial(enc, &val->formatProperties);8915}89168917static inline void8918vn_encode_VkFormatProperties2_partial(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)8919{8920assert(val->sType == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);8921vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 });8922vn_encode_VkFormatProperties2_pnext_partial(enc, val->pNext);8923vn_encode_VkFormatProperties2_self_partial(enc, val);8924}89258926/* struct VkPhysicalDeviceExternalImageFormatInfo chain */89278928static inline size_t8929vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_pnext(const void *val)8930{8931/* no known/supported struct */8932return vn_sizeof_simple_pointer(NULL);8933}89348935static inline size_t8936vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self(const VkPhysicalDeviceExternalImageFormatInfo *val)8937{8938size_t size = 0;8939/* skip val->{sType,pNext} */8940size += vn_sizeof_VkExternalMemoryHandleTypeFlagBits(&val->handleType);8941return size;8942}89438944static inline size_t8945vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo(const VkPhysicalDeviceExternalImageFormatInfo *val)8946{8947size_t size = 0;89488949size += vn_sizeof_VkStructureType(&val->sType);8950size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_pnext(val->pNext);8951size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self(val);89528953return size;8954}89558956static inline void8957vn_encode_VkPhysicalDeviceExternalImageFormatInfo_pnext(struct vn_cs_encoder *enc, const void *val)8958{8959/* no known/supported struct */8960vn_encode_simple_pointer(enc, NULL);8961}89628963static inline void8964vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalImageFormatInfo *val)8965{8966/* skip val->{sType,pNext} */8967vn_encode_VkExternalMemoryHandleTypeFlagBits(enc, &val->handleType);8968}89698970static inline void8971vn_encode_VkPhysicalDeviceExternalImageFormatInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalImageFormatInfo *val)8972{8973assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO);8974vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO });8975vn_encode_VkPhysicalDeviceExternalImageFormatInfo_pnext(enc, val->pNext);8976vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(enc, val);8977}89788979/* struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT chain */89808981static inline size_t8982vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(const void *val)8983{8984/* no known/supported struct */8985return vn_sizeof_simple_pointer(NULL);8986}89878988static inline size_t8989vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)8990{8991size_t size = 0;8992/* skip val->{sType,pNext} */8993size += vn_sizeof_uint64_t(&val->drmFormatModifier);8994size += vn_sizeof_VkSharingMode(&val->sharingMode);8995size += vn_sizeof_uint32_t(&val->queueFamilyIndexCount);8996if (val->pQueueFamilyIndices) {8997size += vn_sizeof_array_size(val->queueFamilyIndexCount);8998size += vn_sizeof_uint32_t_array(val->pQueueFamilyIndices, val->queueFamilyIndexCount);8999} else {9000size += vn_sizeof_array_size(0);9001}9002return size;9003}90049005static inline size_t9006vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)9007{9008size_t size = 0;90099010size += vn_sizeof_VkStructureType(&val->sType);9011size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(val->pNext);9012size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(val);90139014return size;9015}90169017static inline void9018vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(struct vn_cs_encoder *enc, const void *val)9019{9020/* no known/supported struct */9021vn_encode_simple_pointer(enc, NULL);9022}90239024static inline void9025vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)9026{9027/* skip val->{sType,pNext} */9028vn_encode_uint64_t(enc, &val->drmFormatModifier);9029vn_encode_VkSharingMode(enc, &val->sharingMode);9030vn_encode_uint32_t(enc, &val->queueFamilyIndexCount);9031if (val->pQueueFamilyIndices) {9032vn_encode_array_size(enc, val->queueFamilyIndexCount);9033vn_encode_uint32_t_array(enc, val->pQueueFamilyIndices, val->queueFamilyIndexCount);9034} else {9035vn_encode_array_size(enc, 0);9036}9037}90389039static inline void9040vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)9041{9042assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT);9043vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT });9044vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext(enc, val->pNext);9045vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(enc, val);9046}90479048/* struct VkPhysicalDeviceImageFormatInfo2 chain */90499050static inline size_t9051vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(const void *val)9052{9053const VkBaseInStructure *pnext = val;9054size_t size = 0;90559056while (pnext) {9057switch ((int32_t)pnext->sType) {9058case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:9059size += vn_sizeof_simple_pointer(pnext);9060size += vn_sizeof_VkStructureType(&pnext->sType);9061size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);9062size += vn_sizeof_VkPhysicalDeviceExternalImageFormatInfo_self((const VkPhysicalDeviceExternalImageFormatInfo *)pnext);9063return size;9064case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:9065size += vn_sizeof_simple_pointer(pnext);9066size += vn_sizeof_VkStructureType(&pnext->sType);9067size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);9068size += vn_sizeof_VkImageFormatListCreateInfo_self((const VkImageFormatListCreateInfo *)pnext);9069return size;9070case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:9071size += vn_sizeof_simple_pointer(pnext);9072size += vn_sizeof_VkStructureType(&pnext->sType);9073size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);9074size += vn_sizeof_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self((const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);9075return size;9076case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:9077size += vn_sizeof_simple_pointer(pnext);9078size += vn_sizeof_VkStructureType(&pnext->sType);9079size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(pnext->pNext);9080size += vn_sizeof_VkImageStencilUsageCreateInfo_self((const VkImageStencilUsageCreateInfo *)pnext);9081return size;9082default:9083/* ignore unknown/unsupported struct */9084break;9085}9086pnext = pnext->pNext;9087}90889089return vn_sizeof_simple_pointer(NULL);9090}90919092static inline size_t9093vn_sizeof_VkPhysicalDeviceImageFormatInfo2_self(const VkPhysicalDeviceImageFormatInfo2 *val)9094{9095size_t size = 0;9096/* skip val->{sType,pNext} */9097size += vn_sizeof_VkFormat(&val->format);9098size += vn_sizeof_VkImageType(&val->type);9099size += vn_sizeof_VkImageTiling(&val->tiling);9100size += vn_sizeof_VkFlags(&val->usage);9101size += vn_sizeof_VkFlags(&val->flags);9102return size;9103}91049105static inline size_t9106vn_sizeof_VkPhysicalDeviceImageFormatInfo2(const VkPhysicalDeviceImageFormatInfo2 *val)9107{9108size_t size = 0;91099110size += vn_sizeof_VkStructureType(&val->sType);9111size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_pnext(val->pNext);9112size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2_self(val);91139114return size;9115}91169117static inline void9118vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(struct vn_cs_encoder *enc, const void *val)9119{9120const VkBaseInStructure *pnext = val;91219122while (pnext) {9123switch ((int32_t)pnext->sType) {9124case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:9125vn_encode_simple_pointer(enc, pnext);9126vn_encode_VkStructureType(enc, &pnext->sType);9127vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);9128vn_encode_VkPhysicalDeviceExternalImageFormatInfo_self(enc, (const VkPhysicalDeviceExternalImageFormatInfo *)pnext);9129return;9130case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:9131vn_encode_simple_pointer(enc, pnext);9132vn_encode_VkStructureType(enc, &pnext->sType);9133vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);9134vn_encode_VkImageFormatListCreateInfo_self(enc, (const VkImageFormatListCreateInfo *)pnext);9135return;9136case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:9137vn_encode_simple_pointer(enc, pnext);9138vn_encode_VkStructureType(enc, &pnext->sType);9139vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);9140vn_encode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self(enc, (const VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);9141return;9142case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:9143vn_encode_simple_pointer(enc, pnext);9144vn_encode_VkStructureType(enc, &pnext->sType);9145vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, pnext->pNext);9146vn_encode_VkImageStencilUsageCreateInfo_self(enc, (const VkImageStencilUsageCreateInfo *)pnext);9147return;9148default:9149/* ignore unknown/unsupported struct */9150break;9151}9152pnext = pnext->pNext;9153}91549155vn_encode_simple_pointer(enc, NULL);9156}91579158static inline void9159vn_encode_VkPhysicalDeviceImageFormatInfo2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageFormatInfo2 *val)9160{9161/* skip val->{sType,pNext} */9162vn_encode_VkFormat(enc, &val->format);9163vn_encode_VkImageType(enc, &val->type);9164vn_encode_VkImageTiling(enc, &val->tiling);9165vn_encode_VkFlags(enc, &val->usage);9166vn_encode_VkFlags(enc, &val->flags);9167}91689169static inline void9170vn_encode_VkPhysicalDeviceImageFormatInfo2(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageFormatInfo2 *val)9171{9172assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2);9173vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 });9174vn_encode_VkPhysicalDeviceImageFormatInfo2_pnext(enc, val->pNext);9175vn_encode_VkPhysicalDeviceImageFormatInfo2_self(enc, val);9176}91779178/* struct VkExternalMemoryProperties */91799180static inline size_t9181vn_sizeof_VkExternalMemoryProperties(const VkExternalMemoryProperties *val)9182{9183size_t size = 0;9184size += vn_sizeof_VkFlags(&val->externalMemoryFeatures);9185size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);9186size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);9187return size;9188}91899190static inline void9191vn_decode_VkExternalMemoryProperties(struct vn_cs_decoder *dec, VkExternalMemoryProperties *val)9192{9193vn_decode_VkFlags(dec, &val->externalMemoryFeatures);9194vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);9195vn_decode_VkFlags(dec, &val->compatibleHandleTypes);9196}91979198static inline size_t9199vn_sizeof_VkExternalMemoryProperties_partial(const VkExternalMemoryProperties *val)9200{9201size_t size = 0;9202/* skip val->externalMemoryFeatures */9203/* skip val->exportFromImportedHandleTypes */9204/* skip val->compatibleHandleTypes */9205return size;9206}92079208static inline void9209vn_encode_VkExternalMemoryProperties_partial(struct vn_cs_encoder *enc, const VkExternalMemoryProperties *val)9210{9211/* skip val->externalMemoryFeatures */9212/* skip val->exportFromImportedHandleTypes */9213/* skip val->compatibleHandleTypes */9214}92159216/* struct VkExternalImageFormatProperties chain */92179218static inline size_t9219vn_sizeof_VkExternalImageFormatProperties_pnext(const void *val)9220{9221/* no known/supported struct */9222return vn_sizeof_simple_pointer(NULL);9223}92249225static inline size_t9226vn_sizeof_VkExternalImageFormatProperties_self(const VkExternalImageFormatProperties *val)9227{9228size_t size = 0;9229/* skip val->{sType,pNext} */9230size += vn_sizeof_VkExternalMemoryProperties(&val->externalMemoryProperties);9231return size;9232}92339234static inline size_t9235vn_sizeof_VkExternalImageFormatProperties(const VkExternalImageFormatProperties *val)9236{9237size_t size = 0;92389239size += vn_sizeof_VkStructureType(&val->sType);9240size += vn_sizeof_VkExternalImageFormatProperties_pnext(val->pNext);9241size += vn_sizeof_VkExternalImageFormatProperties_self(val);92429243return size;9244}92459246static inline void9247vn_decode_VkExternalImageFormatProperties_pnext(struct vn_cs_decoder *dec, const void *val)9248{9249/* no known/supported struct */9250if (vn_decode_simple_pointer(dec))9251assert(false);9252}92539254static inline void9255vn_decode_VkExternalImageFormatProperties_self(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)9256{9257/* skip val->{sType,pNext} */9258vn_decode_VkExternalMemoryProperties(dec, &val->externalMemoryProperties);9259}92609261static inline void9262vn_decode_VkExternalImageFormatProperties(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)9263{9264VkStructureType stype;9265vn_decode_VkStructureType(dec, &stype);9266assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);92679268assert(val->sType == stype);9269vn_decode_VkExternalImageFormatProperties_pnext(dec, val->pNext);9270vn_decode_VkExternalImageFormatProperties_self(dec, val);9271}92729273static inline size_t9274vn_sizeof_VkExternalImageFormatProperties_pnext_partial(const void *val)9275{9276/* no known/supported struct */9277return vn_sizeof_simple_pointer(NULL);9278}92799280static inline size_t9281vn_sizeof_VkExternalImageFormatProperties_self_partial(const VkExternalImageFormatProperties *val)9282{9283size_t size = 0;9284/* skip val->{sType,pNext} */9285size += vn_sizeof_VkExternalMemoryProperties_partial(&val->externalMemoryProperties);9286return size;9287}92889289static inline size_t9290vn_sizeof_VkExternalImageFormatProperties_partial(const VkExternalImageFormatProperties *val)9291{9292size_t size = 0;92939294size += vn_sizeof_VkStructureType(&val->sType);9295size += vn_sizeof_VkExternalImageFormatProperties_pnext_partial(val->pNext);9296size += vn_sizeof_VkExternalImageFormatProperties_self_partial(val);92979298return size;9299}93009301static inline void9302vn_encode_VkExternalImageFormatProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)9303{9304/* no known/supported struct */9305vn_encode_simple_pointer(enc, NULL);9306}93079308static inline void9309vn_encode_VkExternalImageFormatProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)9310{9311/* skip val->{sType,pNext} */9312vn_encode_VkExternalMemoryProperties_partial(enc, &val->externalMemoryProperties);9313}93149315static inline void9316vn_encode_VkExternalImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)9317{9318assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);9319vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES });9320vn_encode_VkExternalImageFormatProperties_pnext_partial(enc, val->pNext);9321vn_encode_VkExternalImageFormatProperties_self_partial(enc, val);9322}93239324/* struct VkSamplerYcbcrConversionImageFormatProperties chain */93259326static inline size_t9327vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext(const void *val)9328{9329/* no known/supported struct */9330return vn_sizeof_simple_pointer(NULL);9331}93329333static inline size_t9334vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self(const VkSamplerYcbcrConversionImageFormatProperties *val)9335{9336size_t size = 0;9337/* skip val->{sType,pNext} */9338size += vn_sizeof_uint32_t(&val->combinedImageSamplerDescriptorCount);9339return size;9340}93419342static inline size_t9343vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties *val)9344{9345size_t size = 0;93469347size += vn_sizeof_VkStructureType(&val->sType);9348size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext(val->pNext);9349size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self(val);93509351return size;9352}93539354static inline void9355vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext(struct vn_cs_decoder *dec, const void *val)9356{9357/* no known/supported struct */9358if (vn_decode_simple_pointer(dec))9359assert(false);9360}93619362static inline void9363vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)9364{9365/* skip val->{sType,pNext} */9366vn_decode_uint32_t(dec, &val->combinedImageSamplerDescriptorCount);9367}93689369static inline void9370vn_decode_VkSamplerYcbcrConversionImageFormatProperties(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)9371{9372VkStructureType stype;9373vn_decode_VkStructureType(dec, &stype);9374assert(stype == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);93759376assert(val->sType == stype);9377vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext(dec, val->pNext);9378vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, val);9379}93809381static inline size_t9382vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(const void *val)9383{9384/* no known/supported struct */9385return vn_sizeof_simple_pointer(NULL);9386}93879388static inline size_t9389vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial(const VkSamplerYcbcrConversionImageFormatProperties *val)9390{9391size_t size = 0;9392/* skip val->{sType,pNext} */9393/* skip val->combinedImageSamplerDescriptorCount */9394return size;9395}93969397static inline size_t9398vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_partial(const VkSamplerYcbcrConversionImageFormatProperties *val)9399{9400size_t size = 0;94019402size += vn_sizeof_VkStructureType(&val->sType);9403size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(val->pNext);9404size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial(val);94059406return size;9407}94089409static inline void9410vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)9411{9412/* no known/supported struct */9413vn_encode_simple_pointer(enc, NULL);9414}94159416static inline void9417vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)9418{9419/* skip val->{sType,pNext} */9420/* skip val->combinedImageSamplerDescriptorCount */9421}94229423static inline void9424vn_encode_VkSamplerYcbcrConversionImageFormatProperties_partial(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)9425{9426assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);9427vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES });9428vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial(enc, val->pNext);9429vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, val);9430}94319432/* struct VkImageFormatProperties2 chain */94339434static inline size_t9435vn_sizeof_VkImageFormatProperties2_pnext(const void *val)9436{9437const VkBaseInStructure *pnext = val;9438size_t size = 0;94399440while (pnext) {9441switch ((int32_t)pnext->sType) {9442case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:9443size += vn_sizeof_simple_pointer(pnext);9444size += vn_sizeof_VkStructureType(&pnext->sType);9445size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext);9446size += vn_sizeof_VkExternalImageFormatProperties_self((const VkExternalImageFormatProperties *)pnext);9447return size;9448case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:9449size += vn_sizeof_simple_pointer(pnext);9450size += vn_sizeof_VkStructureType(&pnext->sType);9451size += vn_sizeof_VkImageFormatProperties2_pnext(pnext->pNext);9452size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self((const VkSamplerYcbcrConversionImageFormatProperties *)pnext);9453return size;9454default:9455/* ignore unknown/unsupported struct */9456break;9457}9458pnext = pnext->pNext;9459}94609461return vn_sizeof_simple_pointer(NULL);9462}94639464static inline size_t9465vn_sizeof_VkImageFormatProperties2_self(const VkImageFormatProperties2 *val)9466{9467size_t size = 0;9468/* skip val->{sType,pNext} */9469size += vn_sizeof_VkImageFormatProperties(&val->imageFormatProperties);9470return size;9471}94729473static inline size_t9474vn_sizeof_VkImageFormatProperties2(const VkImageFormatProperties2 *val)9475{9476size_t size = 0;94779478size += vn_sizeof_VkStructureType(&val->sType);9479size += vn_sizeof_VkImageFormatProperties2_pnext(val->pNext);9480size += vn_sizeof_VkImageFormatProperties2_self(val);94819482return size;9483}94849485static inline void9486vn_decode_VkImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)9487{9488VkBaseOutStructure *pnext = (VkBaseOutStructure *)val;9489VkStructureType stype;94909491if (!vn_decode_simple_pointer(dec))9492return;94939494vn_decode_VkStructureType(dec, &stype);9495while (true) {9496assert(pnext);9497if (pnext->sType == stype)9498break;9499}95009501switch ((int32_t)pnext->sType) {9502case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:9503vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext);9504vn_decode_VkExternalImageFormatProperties_self(dec, (VkExternalImageFormatProperties *)pnext);9505break;9506case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:9507vn_decode_VkImageFormatProperties2_pnext(dec, pnext->pNext);9508vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self(dec, (VkSamplerYcbcrConversionImageFormatProperties *)pnext);9509break;9510default:9511assert(false);9512break;9513}9514}95159516static inline void9517vn_decode_VkImageFormatProperties2_self(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)9518{9519/* skip val->{sType,pNext} */9520vn_decode_VkImageFormatProperties(dec, &val->imageFormatProperties);9521}95229523static inline void9524vn_decode_VkImageFormatProperties2(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)9525{9526VkStructureType stype;9527vn_decode_VkStructureType(dec, &stype);9528assert(stype == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);95299530assert(val->sType == stype);9531vn_decode_VkImageFormatProperties2_pnext(dec, val->pNext);9532vn_decode_VkImageFormatProperties2_self(dec, val);9533}95349535static inline size_t9536vn_sizeof_VkImageFormatProperties2_pnext_partial(const void *val)9537{9538const VkBaseInStructure *pnext = val;9539size_t size = 0;95409541while (pnext) {9542switch ((int32_t)pnext->sType) {9543case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:9544size += vn_sizeof_simple_pointer(pnext);9545size += vn_sizeof_VkStructureType(&pnext->sType);9546size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext);9547size += vn_sizeof_VkExternalImageFormatProperties_self_partial((const VkExternalImageFormatProperties *)pnext);9548return size;9549case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:9550size += vn_sizeof_simple_pointer(pnext);9551size += vn_sizeof_VkStructureType(&pnext->sType);9552size += vn_sizeof_VkImageFormatProperties2_pnext_partial(pnext->pNext);9553size += vn_sizeof_VkSamplerYcbcrConversionImageFormatProperties_self_partial((const VkSamplerYcbcrConversionImageFormatProperties *)pnext);9554return size;9555default:9556/* ignore unknown/unsupported struct */9557break;9558}9559pnext = pnext->pNext;9560}95619562return vn_sizeof_simple_pointer(NULL);9563}95649565static inline size_t9566vn_sizeof_VkImageFormatProperties2_self_partial(const VkImageFormatProperties2 *val)9567{9568size_t size = 0;9569/* skip val->{sType,pNext} */9570size += vn_sizeof_VkImageFormatProperties_partial(&val->imageFormatProperties);9571return size;9572}95739574static inline size_t9575vn_sizeof_VkImageFormatProperties2_partial(const VkImageFormatProperties2 *val)9576{9577size_t size = 0;95789579size += vn_sizeof_VkStructureType(&val->sType);9580size += vn_sizeof_VkImageFormatProperties2_pnext_partial(val->pNext);9581size += vn_sizeof_VkImageFormatProperties2_self_partial(val);95829583return size;9584}95859586static inline void9587vn_encode_VkImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)9588{9589const VkBaseInStructure *pnext = val;95909591while (pnext) {9592switch ((int32_t)pnext->sType) {9593case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:9594vn_encode_simple_pointer(enc, pnext);9595vn_encode_VkStructureType(enc, &pnext->sType);9596vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext);9597vn_encode_VkExternalImageFormatProperties_self_partial(enc, (const VkExternalImageFormatProperties *)pnext);9598return;9599case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:9600vn_encode_simple_pointer(enc, pnext);9601vn_encode_VkStructureType(enc, &pnext->sType);9602vn_encode_VkImageFormatProperties2_pnext_partial(enc, pnext->pNext);9603vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self_partial(enc, (const VkSamplerYcbcrConversionImageFormatProperties *)pnext);9604return;9605default:9606/* ignore unknown/unsupported struct */9607break;9608}9609pnext = pnext->pNext;9610}96119612vn_encode_simple_pointer(enc, NULL);9613}96149615static inline void9616vn_encode_VkImageFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)9617{9618/* skip val->{sType,pNext} */9619vn_encode_VkImageFormatProperties_partial(enc, &val->imageFormatProperties);9620}96219622static inline void9623vn_encode_VkImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)9624{9625assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);9626vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 });9627vn_encode_VkImageFormatProperties2_pnext_partial(enc, val->pNext);9628vn_encode_VkImageFormatProperties2_self_partial(enc, val);9629}96309631/* struct VkQueueFamilyProperties2 chain */96329633static inline size_t9634vn_sizeof_VkQueueFamilyProperties2_pnext(const void *val)9635{9636/* no known/supported struct */9637return vn_sizeof_simple_pointer(NULL);9638}96399640static inline size_t9641vn_sizeof_VkQueueFamilyProperties2_self(const VkQueueFamilyProperties2 *val)9642{9643size_t size = 0;9644/* skip val->{sType,pNext} */9645size += vn_sizeof_VkQueueFamilyProperties(&val->queueFamilyProperties);9646return size;9647}96489649static inline size_t9650vn_sizeof_VkQueueFamilyProperties2(const VkQueueFamilyProperties2 *val)9651{9652size_t size = 0;96539654size += vn_sizeof_VkStructureType(&val->sType);9655size += vn_sizeof_VkQueueFamilyProperties2_pnext(val->pNext);9656size += vn_sizeof_VkQueueFamilyProperties2_self(val);96579658return size;9659}96609661static inline void9662vn_decode_VkQueueFamilyProperties2_pnext(struct vn_cs_decoder *dec, const void *val)9663{9664/* no known/supported struct */9665if (vn_decode_simple_pointer(dec))9666assert(false);9667}96689669static inline void9670vn_decode_VkQueueFamilyProperties2_self(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)9671{9672/* skip val->{sType,pNext} */9673vn_decode_VkQueueFamilyProperties(dec, &val->queueFamilyProperties);9674}96759676static inline void9677vn_decode_VkQueueFamilyProperties2(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)9678{9679VkStructureType stype;9680vn_decode_VkStructureType(dec, &stype);9681assert(stype == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);96829683assert(val->sType == stype);9684vn_decode_VkQueueFamilyProperties2_pnext(dec, val->pNext);9685vn_decode_VkQueueFamilyProperties2_self(dec, val);9686}96879688static inline size_t9689vn_sizeof_VkQueueFamilyProperties2_pnext_partial(const void *val)9690{9691/* no known/supported struct */9692return vn_sizeof_simple_pointer(NULL);9693}96949695static inline size_t9696vn_sizeof_VkQueueFamilyProperties2_self_partial(const VkQueueFamilyProperties2 *val)9697{9698size_t size = 0;9699/* skip val->{sType,pNext} */9700size += vn_sizeof_VkQueueFamilyProperties_partial(&val->queueFamilyProperties);9701return size;9702}97039704static inline size_t9705vn_sizeof_VkQueueFamilyProperties2_partial(const VkQueueFamilyProperties2 *val)9706{9707size_t size = 0;97089709size += vn_sizeof_VkStructureType(&val->sType);9710size += vn_sizeof_VkQueueFamilyProperties2_pnext_partial(val->pNext);9711size += vn_sizeof_VkQueueFamilyProperties2_self_partial(val);97129713return size;9714}97159716static inline void9717vn_encode_VkQueueFamilyProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)9718{9719/* no known/supported struct */9720vn_encode_simple_pointer(enc, NULL);9721}97229723static inline void9724vn_encode_VkQueueFamilyProperties2_self_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)9725{9726/* skip val->{sType,pNext} */9727vn_encode_VkQueueFamilyProperties_partial(enc, &val->queueFamilyProperties);9728}97299730static inline void9731vn_encode_VkQueueFamilyProperties2_partial(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)9732{9733assert(val->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);9734vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 });9735vn_encode_VkQueueFamilyProperties2_pnext_partial(enc, val->pNext);9736vn_encode_VkQueueFamilyProperties2_self_partial(enc, val);9737}97389739/* struct VkPhysicalDeviceMemoryProperties2 chain */97409741static inline size_t9742vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext(const void *val)9743{9744/* no known/supported struct */9745return vn_sizeof_simple_pointer(NULL);9746}97479748static inline size_t9749vn_sizeof_VkPhysicalDeviceMemoryProperties2_self(const VkPhysicalDeviceMemoryProperties2 *val)9750{9751size_t size = 0;9752/* skip val->{sType,pNext} */9753size += vn_sizeof_VkPhysicalDeviceMemoryProperties(&val->memoryProperties);9754return size;9755}97569757static inline size_t9758vn_sizeof_VkPhysicalDeviceMemoryProperties2(const VkPhysicalDeviceMemoryProperties2 *val)9759{9760size_t size = 0;97619762size += vn_sizeof_VkStructureType(&val->sType);9763size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext(val->pNext);9764size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_self(val);97659766return size;9767}97689769static inline void9770vn_decode_VkPhysicalDeviceMemoryProperties2_pnext(struct vn_cs_decoder *dec, const void *val)9771{9772/* no known/supported struct */9773if (vn_decode_simple_pointer(dec))9774assert(false);9775}97769777static inline void9778vn_decode_VkPhysicalDeviceMemoryProperties2_self(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)9779{9780/* skip val->{sType,pNext} */9781vn_decode_VkPhysicalDeviceMemoryProperties(dec, &val->memoryProperties);9782}97839784static inline void9785vn_decode_VkPhysicalDeviceMemoryProperties2(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)9786{9787VkStructureType stype;9788vn_decode_VkStructureType(dec, &stype);9789assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);97909791assert(val->sType == stype);9792vn_decode_VkPhysicalDeviceMemoryProperties2_pnext(dec, val->pNext);9793vn_decode_VkPhysicalDeviceMemoryProperties2_self(dec, val);9794}97959796static inline size_t9797vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext_partial(const void *val)9798{9799/* no known/supported struct */9800return vn_sizeof_simple_pointer(NULL);9801}98029803static inline size_t9804vn_sizeof_VkPhysicalDeviceMemoryProperties2_self_partial(const VkPhysicalDeviceMemoryProperties2 *val)9805{9806size_t size = 0;9807/* skip val->{sType,pNext} */9808size += vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(&val->memoryProperties);9809return size;9810}98119812static inline size_t9813vn_sizeof_VkPhysicalDeviceMemoryProperties2_partial(const VkPhysicalDeviceMemoryProperties2 *val)9814{9815size_t size = 0;98169817size += vn_sizeof_VkStructureType(&val->sType);9818size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_pnext_partial(val->pNext);9819size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_self_partial(val);98209821return size;9822}98239824static inline void9825vn_encode_VkPhysicalDeviceMemoryProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)9826{9827/* no known/supported struct */9828vn_encode_simple_pointer(enc, NULL);9829}98309831static inline void9832vn_encode_VkPhysicalDeviceMemoryProperties2_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)9833{9834/* skip val->{sType,pNext} */9835vn_encode_VkPhysicalDeviceMemoryProperties_partial(enc, &val->memoryProperties);9836}98379838static inline void9839vn_encode_VkPhysicalDeviceMemoryProperties2_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)9840{9841assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);9842vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 });9843vn_encode_VkPhysicalDeviceMemoryProperties2_pnext_partial(enc, val->pNext);9844vn_encode_VkPhysicalDeviceMemoryProperties2_self_partial(enc, val);9845}98469847/* struct VkPhysicalDeviceSparseImageFormatInfo2 chain */98489849static inline size_t9850vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_pnext(const void *val)9851{9852/* no known/supported struct */9853return vn_sizeof_simple_pointer(NULL);9854}98559856static inline size_t9857vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_self(const VkPhysicalDeviceSparseImageFormatInfo2 *val)9858{9859size_t size = 0;9860/* skip val->{sType,pNext} */9861size += vn_sizeof_VkFormat(&val->format);9862size += vn_sizeof_VkImageType(&val->type);9863size += vn_sizeof_VkSampleCountFlagBits(&val->samples);9864size += vn_sizeof_VkFlags(&val->usage);9865size += vn_sizeof_VkImageTiling(&val->tiling);9866return size;9867}98689869static inline size_t9870vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2(const VkPhysicalDeviceSparseImageFormatInfo2 *val)9871{9872size_t size = 0;98739874size += vn_sizeof_VkStructureType(&val->sType);9875size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_pnext(val->pNext);9876size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2_self(val);98779878return size;9879}98809881static inline void9882vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_pnext(struct vn_cs_encoder *enc, const void *val)9883{9884/* no known/supported struct */9885vn_encode_simple_pointer(enc, NULL);9886}98879888static inline void9889vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseImageFormatInfo2 *val)9890{9891/* skip val->{sType,pNext} */9892vn_encode_VkFormat(enc, &val->format);9893vn_encode_VkImageType(enc, &val->type);9894vn_encode_VkSampleCountFlagBits(enc, &val->samples);9895vn_encode_VkFlags(enc, &val->usage);9896vn_encode_VkImageTiling(enc, &val->tiling);9897}98989899static inline void9900vn_encode_VkPhysicalDeviceSparseImageFormatInfo2(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseImageFormatInfo2 *val)9901{9902assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2);9903vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 });9904vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_pnext(enc, val->pNext);9905vn_encode_VkPhysicalDeviceSparseImageFormatInfo2_self(enc, val);9906}99079908/* struct VkSparseImageFormatProperties2 chain */99099910static inline size_t9911vn_sizeof_VkSparseImageFormatProperties2_pnext(const void *val)9912{9913/* no known/supported struct */9914return vn_sizeof_simple_pointer(NULL);9915}99169917static inline size_t9918vn_sizeof_VkSparseImageFormatProperties2_self(const VkSparseImageFormatProperties2 *val)9919{9920size_t size = 0;9921/* skip val->{sType,pNext} */9922size += vn_sizeof_VkSparseImageFormatProperties(&val->properties);9923return size;9924}99259926static inline size_t9927vn_sizeof_VkSparseImageFormatProperties2(const VkSparseImageFormatProperties2 *val)9928{9929size_t size = 0;99309931size += vn_sizeof_VkStructureType(&val->sType);9932size += vn_sizeof_VkSparseImageFormatProperties2_pnext(val->pNext);9933size += vn_sizeof_VkSparseImageFormatProperties2_self(val);99349935return size;9936}99379938static inline void9939vn_decode_VkSparseImageFormatProperties2_pnext(struct vn_cs_decoder *dec, const void *val)9940{9941/* no known/supported struct */9942if (vn_decode_simple_pointer(dec))9943assert(false);9944}99459946static inline void9947vn_decode_VkSparseImageFormatProperties2_self(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)9948{9949/* skip val->{sType,pNext} */9950vn_decode_VkSparseImageFormatProperties(dec, &val->properties);9951}99529953static inline void9954vn_decode_VkSparseImageFormatProperties2(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)9955{9956VkStructureType stype;9957vn_decode_VkStructureType(dec, &stype);9958assert(stype == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);99599960assert(val->sType == stype);9961vn_decode_VkSparseImageFormatProperties2_pnext(dec, val->pNext);9962vn_decode_VkSparseImageFormatProperties2_self(dec, val);9963}99649965static inline size_t9966vn_sizeof_VkSparseImageFormatProperties2_pnext_partial(const void *val)9967{9968/* no known/supported struct */9969return vn_sizeof_simple_pointer(NULL);9970}99719972static inline size_t9973vn_sizeof_VkSparseImageFormatProperties2_self_partial(const VkSparseImageFormatProperties2 *val)9974{9975size_t size = 0;9976/* skip val->{sType,pNext} */9977size += vn_sizeof_VkSparseImageFormatProperties_partial(&val->properties);9978return size;9979}99809981static inline size_t9982vn_sizeof_VkSparseImageFormatProperties2_partial(const VkSparseImageFormatProperties2 *val)9983{9984size_t size = 0;99859986size += vn_sizeof_VkStructureType(&val->sType);9987size += vn_sizeof_VkSparseImageFormatProperties2_pnext_partial(val->pNext);9988size += vn_sizeof_VkSparseImageFormatProperties2_self_partial(val);99899990return size;9991}99929993static inline void9994vn_encode_VkSparseImageFormatProperties2_pnext_partial(struct vn_cs_encoder *enc, const void *val)9995{9996/* no known/supported struct */9997vn_encode_simple_pointer(enc, NULL);9998}999910000static inline void10001vn_encode_VkSparseImageFormatProperties2_self_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)10002{10003/* skip val->{sType,pNext} */10004vn_encode_VkSparseImageFormatProperties_partial(enc, &val->properties);10005}1000610007static inline void10008vn_encode_VkSparseImageFormatProperties2_partial(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)10009{10010assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);10011vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 });10012vn_encode_VkSparseImageFormatProperties2_pnext_partial(enc, val->pNext);10013vn_encode_VkSparseImageFormatProperties2_self_partial(enc, val);10014}1001510016/* struct VkPhysicalDeviceExternalBufferInfo chain */1001710018static inline size_t10019vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(const void *val)10020{10021/* no known/supported struct */10022return vn_sizeof_simple_pointer(NULL);10023}1002410025static inline size_t10026vn_sizeof_VkPhysicalDeviceExternalBufferInfo_self(const VkPhysicalDeviceExternalBufferInfo *val)10027{10028size_t size = 0;10029/* skip val->{sType,pNext} */10030size += vn_sizeof_VkFlags(&val->flags);10031size += vn_sizeof_VkFlags(&val->usage);10032size += vn_sizeof_VkExternalMemoryHandleTypeFlagBits(&val->handleType);10033return size;10034}1003510036static inline size_t10037vn_sizeof_VkPhysicalDeviceExternalBufferInfo(const VkPhysicalDeviceExternalBufferInfo *val)10038{10039size_t size = 0;1004010041size += vn_sizeof_VkStructureType(&val->sType);10042size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_pnext(val->pNext);10043size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo_self(val);1004410045return size;10046}1004710048static inline void10049vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(struct vn_cs_encoder *enc, const void *val)10050{10051/* no known/supported struct */10052vn_encode_simple_pointer(enc, NULL);10053}1005410055static inline void10056vn_encode_VkPhysicalDeviceExternalBufferInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalBufferInfo *val)10057{10058/* skip val->{sType,pNext} */10059vn_encode_VkFlags(enc, &val->flags);10060vn_encode_VkFlags(enc, &val->usage);10061vn_encode_VkExternalMemoryHandleTypeFlagBits(enc, &val->handleType);10062}1006310064static inline void10065vn_encode_VkPhysicalDeviceExternalBufferInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalBufferInfo *val)10066{10067assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO);10068vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO });10069vn_encode_VkPhysicalDeviceExternalBufferInfo_pnext(enc, val->pNext);10070vn_encode_VkPhysicalDeviceExternalBufferInfo_self(enc, val);10071}1007210073/* struct VkExternalBufferProperties chain */1007410075static inline size_t10076vn_sizeof_VkExternalBufferProperties_pnext(const void *val)10077{10078/* no known/supported struct */10079return vn_sizeof_simple_pointer(NULL);10080}1008110082static inline size_t10083vn_sizeof_VkExternalBufferProperties_self(const VkExternalBufferProperties *val)10084{10085size_t size = 0;10086/* skip val->{sType,pNext} */10087size += vn_sizeof_VkExternalMemoryProperties(&val->externalMemoryProperties);10088return size;10089}1009010091static inline size_t10092vn_sizeof_VkExternalBufferProperties(const VkExternalBufferProperties *val)10093{10094size_t size = 0;1009510096size += vn_sizeof_VkStructureType(&val->sType);10097size += vn_sizeof_VkExternalBufferProperties_pnext(val->pNext);10098size += vn_sizeof_VkExternalBufferProperties_self(val);1009910100return size;10101}1010210103static inline void10104vn_decode_VkExternalBufferProperties_pnext(struct vn_cs_decoder *dec, const void *val)10105{10106/* no known/supported struct */10107if (vn_decode_simple_pointer(dec))10108assert(false);10109}1011010111static inline void10112vn_decode_VkExternalBufferProperties_self(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)10113{10114/* skip val->{sType,pNext} */10115vn_decode_VkExternalMemoryProperties(dec, &val->externalMemoryProperties);10116}1011710118static inline void10119vn_decode_VkExternalBufferProperties(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)10120{10121VkStructureType stype;10122vn_decode_VkStructureType(dec, &stype);10123assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);1012410125assert(val->sType == stype);10126vn_decode_VkExternalBufferProperties_pnext(dec, val->pNext);10127vn_decode_VkExternalBufferProperties_self(dec, val);10128}1012910130static inline size_t10131vn_sizeof_VkExternalBufferProperties_pnext_partial(const void *val)10132{10133/* no known/supported struct */10134return vn_sizeof_simple_pointer(NULL);10135}1013610137static inline size_t10138vn_sizeof_VkExternalBufferProperties_self_partial(const VkExternalBufferProperties *val)10139{10140size_t size = 0;10141/* skip val->{sType,pNext} */10142size += vn_sizeof_VkExternalMemoryProperties_partial(&val->externalMemoryProperties);10143return size;10144}1014510146static inline size_t10147vn_sizeof_VkExternalBufferProperties_partial(const VkExternalBufferProperties *val)10148{10149size_t size = 0;1015010151size += vn_sizeof_VkStructureType(&val->sType);10152size += vn_sizeof_VkExternalBufferProperties_pnext_partial(val->pNext);10153size += vn_sizeof_VkExternalBufferProperties_self_partial(val);1015410155return size;10156}1015710158static inline void10159vn_encode_VkExternalBufferProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)10160{10161/* no known/supported struct */10162vn_encode_simple_pointer(enc, NULL);10163}1016410165static inline void10166vn_encode_VkExternalBufferProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)10167{10168/* skip val->{sType,pNext} */10169vn_encode_VkExternalMemoryProperties_partial(enc, &val->externalMemoryProperties);10170}1017110172static inline void10173vn_encode_VkExternalBufferProperties_partial(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)10174{10175assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);10176vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES });10177vn_encode_VkExternalBufferProperties_pnext_partial(enc, val->pNext);10178vn_encode_VkExternalBufferProperties_self_partial(enc, val);10179}1018010181/* struct VkPhysicalDeviceExternalSemaphoreInfo chain */1018210183static inline size_t10184vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(const void *val)10185{10186const VkBaseInStructure *pnext = val;10187size_t size = 0;1018810189while (pnext) {10190switch ((int32_t)pnext->sType) {10191case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:10192size += vn_sizeof_simple_pointer(pnext);10193size += vn_sizeof_VkStructureType(&pnext->sType);10194size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(pnext->pNext);10195size += vn_sizeof_VkSemaphoreTypeCreateInfo_self((const VkSemaphoreTypeCreateInfo *)pnext);10196return size;10197default:10198/* ignore unknown/unsupported struct */10199break;10200}10201pnext = pnext->pNext;10202}1020310204return vn_sizeof_simple_pointer(NULL);10205}1020610207static inline size_t10208vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_self(const VkPhysicalDeviceExternalSemaphoreInfo *val)10209{10210size_t size = 0;10211/* skip val->{sType,pNext} */10212size += vn_sizeof_VkExternalSemaphoreHandleTypeFlagBits(&val->handleType);10213return size;10214}1021510216static inline size_t10217vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo(const VkPhysicalDeviceExternalSemaphoreInfo *val)10218{10219size_t size = 0;1022010221size += vn_sizeof_VkStructureType(&val->sType);10222size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_pnext(val->pNext);10223size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo_self(val);1022410225return size;10226}1022710228static inline void10229vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(struct vn_cs_encoder *enc, const void *val)10230{10231const VkBaseInStructure *pnext = val;1023210233while (pnext) {10234switch ((int32_t)pnext->sType) {10235case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:10236vn_encode_simple_pointer(enc, pnext);10237vn_encode_VkStructureType(enc, &pnext->sType);10238vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(enc, pnext->pNext);10239vn_encode_VkSemaphoreTypeCreateInfo_self(enc, (const VkSemaphoreTypeCreateInfo *)pnext);10240return;10241default:10242/* ignore unknown/unsupported struct */10243break;10244}10245pnext = pnext->pNext;10246}1024710248vn_encode_simple_pointer(enc, NULL);10249}1025010251static inline void10252vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalSemaphoreInfo *val)10253{10254/* skip val->{sType,pNext} */10255vn_encode_VkExternalSemaphoreHandleTypeFlagBits(enc, &val->handleType);10256}1025710258static inline void10259vn_encode_VkPhysicalDeviceExternalSemaphoreInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalSemaphoreInfo *val)10260{10261assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO);10262vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO });10263vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_pnext(enc, val->pNext);10264vn_encode_VkPhysicalDeviceExternalSemaphoreInfo_self(enc, val);10265}1026610267/* struct VkExternalSemaphoreProperties chain */1026810269static inline size_t10270vn_sizeof_VkExternalSemaphoreProperties_pnext(const void *val)10271{10272/* no known/supported struct */10273return vn_sizeof_simple_pointer(NULL);10274}1027510276static inline size_t10277vn_sizeof_VkExternalSemaphoreProperties_self(const VkExternalSemaphoreProperties *val)10278{10279size_t size = 0;10280/* skip val->{sType,pNext} */10281size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);10282size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);10283size += vn_sizeof_VkFlags(&val->externalSemaphoreFeatures);10284return size;10285}1028610287static inline size_t10288vn_sizeof_VkExternalSemaphoreProperties(const VkExternalSemaphoreProperties *val)10289{10290size_t size = 0;1029110292size += vn_sizeof_VkStructureType(&val->sType);10293size += vn_sizeof_VkExternalSemaphoreProperties_pnext(val->pNext);10294size += vn_sizeof_VkExternalSemaphoreProperties_self(val);1029510296return size;10297}1029810299static inline void10300vn_decode_VkExternalSemaphoreProperties_pnext(struct vn_cs_decoder *dec, const void *val)10301{10302/* no known/supported struct */10303if (vn_decode_simple_pointer(dec))10304assert(false);10305}1030610307static inline void10308vn_decode_VkExternalSemaphoreProperties_self(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)10309{10310/* skip val->{sType,pNext} */10311vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);10312vn_decode_VkFlags(dec, &val->compatibleHandleTypes);10313vn_decode_VkFlags(dec, &val->externalSemaphoreFeatures);10314}1031510316static inline void10317vn_decode_VkExternalSemaphoreProperties(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)10318{10319VkStructureType stype;10320vn_decode_VkStructureType(dec, &stype);10321assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);1032210323assert(val->sType == stype);10324vn_decode_VkExternalSemaphoreProperties_pnext(dec, val->pNext);10325vn_decode_VkExternalSemaphoreProperties_self(dec, val);10326}1032710328static inline size_t10329vn_sizeof_VkExternalSemaphoreProperties_pnext_partial(const void *val)10330{10331/* no known/supported struct */10332return vn_sizeof_simple_pointer(NULL);10333}1033410335static inline size_t10336vn_sizeof_VkExternalSemaphoreProperties_self_partial(const VkExternalSemaphoreProperties *val)10337{10338size_t size = 0;10339/* skip val->{sType,pNext} */10340/* skip val->exportFromImportedHandleTypes */10341/* skip val->compatibleHandleTypes */10342/* skip val->externalSemaphoreFeatures */10343return size;10344}1034510346static inline size_t10347vn_sizeof_VkExternalSemaphoreProperties_partial(const VkExternalSemaphoreProperties *val)10348{10349size_t size = 0;1035010351size += vn_sizeof_VkStructureType(&val->sType);10352size += vn_sizeof_VkExternalSemaphoreProperties_pnext_partial(val->pNext);10353size += vn_sizeof_VkExternalSemaphoreProperties_self_partial(val);1035410355return size;10356}1035710358static inline void10359vn_encode_VkExternalSemaphoreProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)10360{10361/* no known/supported struct */10362vn_encode_simple_pointer(enc, NULL);10363}1036410365static inline void10366vn_encode_VkExternalSemaphoreProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)10367{10368/* skip val->{sType,pNext} */10369/* skip val->exportFromImportedHandleTypes */10370/* skip val->compatibleHandleTypes */10371/* skip val->externalSemaphoreFeatures */10372}1037310374static inline void10375vn_encode_VkExternalSemaphoreProperties_partial(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)10376{10377assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);10378vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES });10379vn_encode_VkExternalSemaphoreProperties_pnext_partial(enc, val->pNext);10380vn_encode_VkExternalSemaphoreProperties_self_partial(enc, val);10381}1038210383/* struct VkPhysicalDeviceExternalFenceInfo chain */1038410385static inline size_t10386vn_sizeof_VkPhysicalDeviceExternalFenceInfo_pnext(const void *val)10387{10388/* no known/supported struct */10389return vn_sizeof_simple_pointer(NULL);10390}1039110392static inline size_t10393vn_sizeof_VkPhysicalDeviceExternalFenceInfo_self(const VkPhysicalDeviceExternalFenceInfo *val)10394{10395size_t size = 0;10396/* skip val->{sType,pNext} */10397size += vn_sizeof_VkExternalFenceHandleTypeFlagBits(&val->handleType);10398return size;10399}1040010401static inline size_t10402vn_sizeof_VkPhysicalDeviceExternalFenceInfo(const VkPhysicalDeviceExternalFenceInfo *val)10403{10404size_t size = 0;1040510406size += vn_sizeof_VkStructureType(&val->sType);10407size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo_pnext(val->pNext);10408size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo_self(val);1040910410return size;10411}1041210413static inline void10414vn_encode_VkPhysicalDeviceExternalFenceInfo_pnext(struct vn_cs_encoder *enc, const void *val)10415{10416/* no known/supported struct */10417vn_encode_simple_pointer(enc, NULL);10418}1041910420static inline void10421vn_encode_VkPhysicalDeviceExternalFenceInfo_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalFenceInfo *val)10422{10423/* skip val->{sType,pNext} */10424vn_encode_VkExternalFenceHandleTypeFlagBits(enc, &val->handleType);10425}1042610427static inline void10428vn_encode_VkPhysicalDeviceExternalFenceInfo(struct vn_cs_encoder *enc, const VkPhysicalDeviceExternalFenceInfo *val)10429{10430assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO);10431vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO });10432vn_encode_VkPhysicalDeviceExternalFenceInfo_pnext(enc, val->pNext);10433vn_encode_VkPhysicalDeviceExternalFenceInfo_self(enc, val);10434}1043510436/* struct VkExternalFenceProperties chain */1043710438static inline size_t10439vn_sizeof_VkExternalFenceProperties_pnext(const void *val)10440{10441/* no known/supported struct */10442return vn_sizeof_simple_pointer(NULL);10443}1044410445static inline size_t10446vn_sizeof_VkExternalFenceProperties_self(const VkExternalFenceProperties *val)10447{10448size_t size = 0;10449/* skip val->{sType,pNext} */10450size += vn_sizeof_VkFlags(&val->exportFromImportedHandleTypes);10451size += vn_sizeof_VkFlags(&val->compatibleHandleTypes);10452size += vn_sizeof_VkFlags(&val->externalFenceFeatures);10453return size;10454}1045510456static inline size_t10457vn_sizeof_VkExternalFenceProperties(const VkExternalFenceProperties *val)10458{10459size_t size = 0;1046010461size += vn_sizeof_VkStructureType(&val->sType);10462size += vn_sizeof_VkExternalFenceProperties_pnext(val->pNext);10463size += vn_sizeof_VkExternalFenceProperties_self(val);1046410465return size;10466}1046710468static inline void10469vn_decode_VkExternalFenceProperties_pnext(struct vn_cs_decoder *dec, const void *val)10470{10471/* no known/supported struct */10472if (vn_decode_simple_pointer(dec))10473assert(false);10474}1047510476static inline void10477vn_decode_VkExternalFenceProperties_self(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)10478{10479/* skip val->{sType,pNext} */10480vn_decode_VkFlags(dec, &val->exportFromImportedHandleTypes);10481vn_decode_VkFlags(dec, &val->compatibleHandleTypes);10482vn_decode_VkFlags(dec, &val->externalFenceFeatures);10483}1048410485static inline void10486vn_decode_VkExternalFenceProperties(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)10487{10488VkStructureType stype;10489vn_decode_VkStructureType(dec, &stype);10490assert(stype == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);1049110492assert(val->sType == stype);10493vn_decode_VkExternalFenceProperties_pnext(dec, val->pNext);10494vn_decode_VkExternalFenceProperties_self(dec, val);10495}1049610497static inline size_t10498vn_sizeof_VkExternalFenceProperties_pnext_partial(const void *val)10499{10500/* no known/supported struct */10501return vn_sizeof_simple_pointer(NULL);10502}1050310504static inline size_t10505vn_sizeof_VkExternalFenceProperties_self_partial(const VkExternalFenceProperties *val)10506{10507size_t size = 0;10508/* skip val->{sType,pNext} */10509/* skip val->exportFromImportedHandleTypes */10510/* skip val->compatibleHandleTypes */10511/* skip val->externalFenceFeatures */10512return size;10513}1051410515static inline size_t10516vn_sizeof_VkExternalFenceProperties_partial(const VkExternalFenceProperties *val)10517{10518size_t size = 0;1051910520size += vn_sizeof_VkStructureType(&val->sType);10521size += vn_sizeof_VkExternalFenceProperties_pnext_partial(val->pNext);10522size += vn_sizeof_VkExternalFenceProperties_self_partial(val);1052310524return size;10525}1052610527static inline void10528vn_encode_VkExternalFenceProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)10529{10530/* no known/supported struct */10531vn_encode_simple_pointer(enc, NULL);10532}1053310534static inline void10535vn_encode_VkExternalFenceProperties_self_partial(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)10536{10537/* skip val->{sType,pNext} */10538/* skip val->exportFromImportedHandleTypes */10539/* skip val->compatibleHandleTypes */10540/* skip val->externalFenceFeatures */10541}1054210543static inline void10544vn_encode_VkExternalFenceProperties_partial(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)10545{10546assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);10547vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES });10548vn_encode_VkExternalFenceProperties_pnext_partial(enc, val->pNext);10549vn_encode_VkExternalFenceProperties_self_partial(enc, val);10550}1055110552/* struct VkPhysicalDeviceGroupProperties chain */1055310554static inline size_t10555vn_sizeof_VkPhysicalDeviceGroupProperties_pnext(const void *val)10556{10557/* no known/supported struct */10558return vn_sizeof_simple_pointer(NULL);10559}1056010561static inline size_t10562vn_sizeof_VkPhysicalDeviceGroupProperties_self(const VkPhysicalDeviceGroupProperties *val)10563{10564size_t size = 0;10565/* skip val->{sType,pNext} */10566size += vn_sizeof_uint32_t(&val->physicalDeviceCount);10567size += vn_sizeof_array_size(VK_MAX_DEVICE_GROUP_SIZE);10568for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)10569size += vn_sizeof_VkPhysicalDevice(&val->physicalDevices[i]);10570size += vn_sizeof_VkBool32(&val->subsetAllocation);10571return size;10572}1057310574static inline size_t10575vn_sizeof_VkPhysicalDeviceGroupProperties(const VkPhysicalDeviceGroupProperties *val)10576{10577size_t size = 0;1057810579size += vn_sizeof_VkStructureType(&val->sType);10580size += vn_sizeof_VkPhysicalDeviceGroupProperties_pnext(val->pNext);10581size += vn_sizeof_VkPhysicalDeviceGroupProperties_self(val);1058210583return size;10584}1058510586static inline void10587vn_decode_VkPhysicalDeviceGroupProperties_pnext(struct vn_cs_decoder *dec, const void *val)10588{10589/* no known/supported struct */10590if (vn_decode_simple_pointer(dec))10591assert(false);10592}1059310594static inline void10595vn_decode_VkPhysicalDeviceGroupProperties_self(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)10596{10597/* skip val->{sType,pNext} */10598vn_decode_uint32_t(dec, &val->physicalDeviceCount);10599{10600vn_decode_array_size(dec, VK_MAX_DEVICE_GROUP_SIZE);10601for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)10602vn_decode_VkPhysicalDevice(dec, &val->physicalDevices[i]);10603}10604vn_decode_VkBool32(dec, &val->subsetAllocation);10605}1060610607static inline void10608vn_decode_VkPhysicalDeviceGroupProperties(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)10609{10610VkStructureType stype;10611vn_decode_VkStructureType(dec, &stype);10612assert(stype == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);1061310614assert(val->sType == stype);10615vn_decode_VkPhysicalDeviceGroupProperties_pnext(dec, val->pNext);10616vn_decode_VkPhysicalDeviceGroupProperties_self(dec, val);10617}1061810619static inline size_t10620vn_sizeof_VkPhysicalDeviceGroupProperties_pnext_partial(const void *val)10621{10622/* no known/supported struct */10623return vn_sizeof_simple_pointer(NULL);10624}1062510626static inline size_t10627vn_sizeof_VkPhysicalDeviceGroupProperties_self_partial(const VkPhysicalDeviceGroupProperties *val)10628{10629size_t size = 0;10630/* skip val->{sType,pNext} */10631/* skip val->physicalDeviceCount */10632size += vn_sizeof_array_size(VK_MAX_DEVICE_GROUP_SIZE);10633for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)10634size += vn_sizeof_VkPhysicalDevice(&val->physicalDevices[i]);10635/* skip val->subsetAllocation */10636return size;10637}1063810639static inline size_t10640vn_sizeof_VkPhysicalDeviceGroupProperties_partial(const VkPhysicalDeviceGroupProperties *val)10641{10642size_t size = 0;1064310644size += vn_sizeof_VkStructureType(&val->sType);10645size += vn_sizeof_VkPhysicalDeviceGroupProperties_pnext_partial(val->pNext);10646size += vn_sizeof_VkPhysicalDeviceGroupProperties_self_partial(val);1064710648return size;10649}1065010651static inline void10652vn_encode_VkPhysicalDeviceGroupProperties_pnext_partial(struct vn_cs_encoder *enc, const void *val)10653{10654/* no known/supported struct */10655vn_encode_simple_pointer(enc, NULL);10656}1065710658static inline void10659vn_encode_VkPhysicalDeviceGroupProperties_self_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)10660{10661/* skip val->{sType,pNext} */10662/* skip val->physicalDeviceCount */10663vn_encode_array_size(enc, VK_MAX_DEVICE_GROUP_SIZE);10664for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)10665vn_encode_VkPhysicalDevice(enc, &val->physicalDevices[i]);10666/* skip val->subsetAllocation */10667}1066810669static inline void10670vn_encode_VkPhysicalDeviceGroupProperties_partial(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)10671{10672assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);10673vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES });10674vn_encode_VkPhysicalDeviceGroupProperties_pnext_partial(enc, val->pNext);10675vn_encode_VkPhysicalDeviceGroupProperties_self_partial(enc, val);10676}1067710678/* struct VkDeviceQueueInfo2 chain */1067910680static inline size_t10681vn_sizeof_VkDeviceQueueInfo2_pnext(const void *val)10682{10683/* no known/supported struct */10684return vn_sizeof_simple_pointer(NULL);10685}1068610687static inline size_t10688vn_sizeof_VkDeviceQueueInfo2_self(const VkDeviceQueueInfo2 *val)10689{10690size_t size = 0;10691/* skip val->{sType,pNext} */10692size += vn_sizeof_VkFlags(&val->flags);10693size += vn_sizeof_uint32_t(&val->queueFamilyIndex);10694size += vn_sizeof_uint32_t(&val->queueIndex);10695return size;10696}1069710698static inline size_t10699vn_sizeof_VkDeviceQueueInfo2(const VkDeviceQueueInfo2 *val)10700{10701size_t size = 0;1070210703size += vn_sizeof_VkStructureType(&val->sType);10704size += vn_sizeof_VkDeviceQueueInfo2_pnext(val->pNext);10705size += vn_sizeof_VkDeviceQueueInfo2_self(val);1070610707return size;10708}1070910710static inline void10711vn_encode_VkDeviceQueueInfo2_pnext(struct vn_cs_encoder *enc, const void *val)10712{10713/* no known/supported struct */10714vn_encode_simple_pointer(enc, NULL);10715}1071610717static inline void10718vn_encode_VkDeviceQueueInfo2_self(struct vn_cs_encoder *enc, const VkDeviceQueueInfo2 *val)10719{10720/* skip val->{sType,pNext} */10721vn_encode_VkFlags(enc, &val->flags);10722vn_encode_uint32_t(enc, &val->queueFamilyIndex);10723vn_encode_uint32_t(enc, &val->queueIndex);10724}1072510726static inline void10727vn_encode_VkDeviceQueueInfo2(struct vn_cs_encoder *enc, const VkDeviceQueueInfo2 *val)10728{10729assert(val->sType == VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2);10730vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 });10731vn_encode_VkDeviceQueueInfo2_pnext(enc, val->pNext);10732vn_encode_VkDeviceQueueInfo2_self(enc, val);10733}1073410735static inline size_t vn_sizeof_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)10736{10737const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;10738const VkFlags cmd_flags = 0;10739size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1074010741cmd_size += vn_sizeof_VkInstance(&instance);10742cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceCount);10743if (pPhysicalDeviceCount)10744cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceCount);10745if (pPhysicalDevices) {10746cmd_size += vn_sizeof_array_size(*pPhysicalDeviceCount);10747for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++)10748cmd_size += vn_sizeof_VkPhysicalDevice(&pPhysicalDevices[i]);10749} else {10750cmd_size += vn_sizeof_array_size(0);10751}1075210753return cmd_size;10754}1075510756static inline void vn_encode_vkEnumeratePhysicalDevices(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)10757{10758const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;1075910760vn_encode_VkCommandTypeEXT(enc, &cmd_type);10761vn_encode_VkFlags(enc, &cmd_flags);1076210763vn_encode_VkInstance(enc, &instance);10764if (vn_encode_simple_pointer(enc, pPhysicalDeviceCount))10765vn_encode_uint32_t(enc, pPhysicalDeviceCount);10766if (pPhysicalDevices) {10767vn_encode_array_size(enc, *pPhysicalDeviceCount);10768for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++)10769vn_encode_VkPhysicalDevice(enc, &pPhysicalDevices[i]);10770} else {10771vn_encode_array_size(enc, 0);10772}10773}1077410775static inline size_t vn_sizeof_vkEnumeratePhysicalDevices_reply(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)10776{10777const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT;10778size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1077910780VkResult ret;10781cmd_size += vn_sizeof_VkResult(&ret);10782/* skip instance */10783cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceCount);10784if (pPhysicalDeviceCount)10785cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceCount);10786if (pPhysicalDevices) {10787cmd_size += vn_sizeof_array_size(*pPhysicalDeviceCount);10788for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++)10789cmd_size += vn_sizeof_VkPhysicalDevice(&pPhysicalDevices[i]);10790} else {10791cmd_size += vn_sizeof_array_size(0);10792}1079310794return cmd_size;10795}1079610797static inline VkResult vn_decode_vkEnumeratePhysicalDevices_reply(struct vn_cs_decoder *dec, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)10798{10799VkCommandTypeEXT command_type;10800vn_decode_VkCommandTypeEXT(dec, &command_type);10801assert(command_type == VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT);1080210803VkResult ret;10804vn_decode_VkResult(dec, &ret);10805/* skip instance */10806if (vn_decode_simple_pointer(dec)) {10807vn_decode_uint32_t(dec, pPhysicalDeviceCount);10808} else {10809pPhysicalDeviceCount = NULL;10810}10811if (vn_peek_array_size(dec)) {10812vn_decode_array_size(dec, *pPhysicalDeviceCount);10813for (uint32_t i = 0; i < *pPhysicalDeviceCount; i++)10814vn_decode_VkPhysicalDevice(dec, &pPhysicalDevices[i]);10815} else {10816vn_decode_array_size(dec, 0);10817pPhysicalDevices = NULL;10818}1081910820return ret;10821}1082210823static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)10824{10825const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;10826const VkFlags cmd_flags = 0;10827size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1082810829cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);10830cmd_size += vn_sizeof_simple_pointer(pProperties);10831if (pProperties)10832cmd_size += vn_sizeof_VkPhysicalDeviceProperties_partial(pProperties);1083310834return cmd_size;10835}1083610837static inline void vn_encode_vkGetPhysicalDeviceProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)10838{10839const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;1084010841vn_encode_VkCommandTypeEXT(enc, &cmd_type);10842vn_encode_VkFlags(enc, &cmd_flags);1084310844vn_encode_VkPhysicalDevice(enc, &physicalDevice);10845if (vn_encode_simple_pointer(enc, pProperties))10846vn_encode_VkPhysicalDeviceProperties_partial(enc, pProperties);10847}1084810849static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)10850{10851const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT;10852size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1085310854/* skip physicalDevice */10855cmd_size += vn_sizeof_simple_pointer(pProperties);10856if (pProperties)10857cmd_size += vn_sizeof_VkPhysicalDeviceProperties(pProperties);1085810859return cmd_size;10860}1086110862static inline void vn_decode_vkGetPhysicalDeviceProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)10863{10864VkCommandTypeEXT command_type;10865vn_decode_VkCommandTypeEXT(dec, &command_type);10866assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT);1086710868/* skip physicalDevice */10869if (vn_decode_simple_pointer(dec)) {10870vn_decode_VkPhysicalDeviceProperties(dec, pProperties);10871} else {10872pProperties = NULL;10873}10874}1087510876static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)10877{10878const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;10879const VkFlags cmd_flags = 0;10880size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1088110882cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);10883cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);10884if (pQueueFamilyPropertyCount)10885cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount);10886if (pQueueFamilyProperties) {10887cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount);10888for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)10889cmd_size += vn_sizeof_VkQueueFamilyProperties_partial(&pQueueFamilyProperties[i]);10890} else {10891cmd_size += vn_sizeof_array_size(0);10892}1089310894return cmd_size;10895}1089610897static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)10898{10899const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;1090010901vn_encode_VkCommandTypeEXT(enc, &cmd_type);10902vn_encode_VkFlags(enc, &cmd_flags);1090310904vn_encode_VkPhysicalDevice(enc, &physicalDevice);10905if (vn_encode_simple_pointer(enc, pQueueFamilyPropertyCount))10906vn_encode_uint32_t(enc, pQueueFamilyPropertyCount);10907if (pQueueFamilyProperties) {10908vn_encode_array_size(enc, *pQueueFamilyPropertyCount);10909for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)10910vn_encode_VkQueueFamilyProperties_partial(enc, &pQueueFamilyProperties[i]);10911} else {10912vn_encode_array_size(enc, 0);10913}10914}1091510916static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)10917{10918const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT;10919size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1092010921/* skip physicalDevice */10922cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);10923if (pQueueFamilyPropertyCount)10924cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount);10925if (pQueueFamilyProperties) {10926cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount);10927for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)10928cmd_size += vn_sizeof_VkQueueFamilyProperties(&pQueueFamilyProperties[i]);10929} else {10930cmd_size += vn_sizeof_array_size(0);10931}1093210933return cmd_size;10934}1093510936static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)10937{10938VkCommandTypeEXT command_type;10939vn_decode_VkCommandTypeEXT(dec, &command_type);10940assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT);1094110942/* skip physicalDevice */10943if (vn_decode_simple_pointer(dec)) {10944vn_decode_uint32_t(dec, pQueueFamilyPropertyCount);10945} else {10946pQueueFamilyPropertyCount = NULL;10947}10948if (vn_peek_array_size(dec)) {10949vn_decode_array_size(dec, *pQueueFamilyPropertyCount);10950for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)10951vn_decode_VkQueueFamilyProperties(dec, &pQueueFamilyProperties[i]);10952} else {10953vn_decode_array_size(dec, 0);10954pQueueFamilyProperties = NULL;10955}10956}1095710958static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)10959{10960const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;10961const VkFlags cmd_flags = 0;10962size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1096310964cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);10965cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);10966if (pMemoryProperties)10967cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties_partial(pMemoryProperties);1096810969return cmd_size;10970}1097110972static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)10973{10974const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;1097510976vn_encode_VkCommandTypeEXT(enc, &cmd_type);10977vn_encode_VkFlags(enc, &cmd_flags);1097810979vn_encode_VkPhysicalDevice(enc, &physicalDevice);10980if (vn_encode_simple_pointer(enc, pMemoryProperties))10981vn_encode_VkPhysicalDeviceMemoryProperties_partial(enc, pMemoryProperties);10982}1098310984static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)10985{10986const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT;10987size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1098810989/* skip physicalDevice */10990cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);10991if (pMemoryProperties)10992cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties(pMemoryProperties);1099310994return cmd_size;10995}1099610997static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)10998{10999VkCommandTypeEXT command_type;11000vn_decode_VkCommandTypeEXT(dec, &command_type);11001assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT);1100211003/* skip physicalDevice */11004if (vn_decode_simple_pointer(dec)) {11005vn_decode_VkPhysicalDeviceMemoryProperties(dec, pMemoryProperties);11006} else {11007pMemoryProperties = NULL;11008}11009}1101011011static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)11012{11013const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;11014const VkFlags cmd_flags = 0;11015size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1101611017cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11018cmd_size += vn_sizeof_simple_pointer(pFeatures);11019if (pFeatures)11020cmd_size += vn_sizeof_VkPhysicalDeviceFeatures_partial(pFeatures);1102111022return cmd_size;11023}1102411025static inline void vn_encode_vkGetPhysicalDeviceFeatures(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)11026{11027const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;1102811029vn_encode_VkCommandTypeEXT(enc, &cmd_type);11030vn_encode_VkFlags(enc, &cmd_flags);1103111032vn_encode_VkPhysicalDevice(enc, &physicalDevice);11033if (vn_encode_simple_pointer(enc, pFeatures))11034vn_encode_VkPhysicalDeviceFeatures_partial(enc, pFeatures);11035}1103611037static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)11038{11039const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT;11040size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1104111042/* skip physicalDevice */11043cmd_size += vn_sizeof_simple_pointer(pFeatures);11044if (pFeatures)11045cmd_size += vn_sizeof_VkPhysicalDeviceFeatures(pFeatures);1104611047return cmd_size;11048}1104911050static inline void vn_decode_vkGetPhysicalDeviceFeatures_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)11051{11052VkCommandTypeEXT command_type;11053vn_decode_VkCommandTypeEXT(dec, &command_type);11054assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT);1105511056/* skip physicalDevice */11057if (vn_decode_simple_pointer(dec)) {11058vn_decode_VkPhysicalDeviceFeatures(dec, pFeatures);11059} else {11060pFeatures = NULL;11061}11062}1106311064static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)11065{11066const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;11067const VkFlags cmd_flags = 0;11068size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1106911070cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11071cmd_size += vn_sizeof_VkFormat(&format);11072cmd_size += vn_sizeof_simple_pointer(pFormatProperties);11073if (pFormatProperties)11074cmd_size += vn_sizeof_VkFormatProperties_partial(pFormatProperties);1107511076return cmd_size;11077}1107811079static inline void vn_encode_vkGetPhysicalDeviceFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)11080{11081const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;1108211083vn_encode_VkCommandTypeEXT(enc, &cmd_type);11084vn_encode_VkFlags(enc, &cmd_flags);1108511086vn_encode_VkPhysicalDevice(enc, &physicalDevice);11087vn_encode_VkFormat(enc, &format);11088if (vn_encode_simple_pointer(enc, pFormatProperties))11089vn_encode_VkFormatProperties_partial(enc, pFormatProperties);11090}1109111092static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)11093{11094const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT;11095size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1109611097/* skip physicalDevice */11098/* skip format */11099cmd_size += vn_sizeof_simple_pointer(pFormatProperties);11100if (pFormatProperties)11101cmd_size += vn_sizeof_VkFormatProperties(pFormatProperties);1110211103return cmd_size;11104}1110511106static inline void vn_decode_vkGetPhysicalDeviceFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)11107{11108VkCommandTypeEXT command_type;11109vn_decode_VkCommandTypeEXT(dec, &command_type);11110assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT);1111111112/* skip physicalDevice */11113/* skip format */11114if (vn_decode_simple_pointer(dec)) {11115vn_decode_VkFormatProperties(dec, pFormatProperties);11116} else {11117pFormatProperties = NULL;11118}11119}1112011121static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)11122{11123const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;11124const VkFlags cmd_flags = 0;11125size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1112611127cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11128cmd_size += vn_sizeof_VkFormat(&format);11129cmd_size += vn_sizeof_VkImageType(&type);11130cmd_size += vn_sizeof_VkImageTiling(&tiling);11131cmd_size += vn_sizeof_VkFlags(&usage);11132cmd_size += vn_sizeof_VkFlags(&flags);11133cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);11134if (pImageFormatProperties)11135cmd_size += vn_sizeof_VkImageFormatProperties_partial(pImageFormatProperties);1113611137return cmd_size;11138}1113911140static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)11141{11142const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;1114311144vn_encode_VkCommandTypeEXT(enc, &cmd_type);11145vn_encode_VkFlags(enc, &cmd_flags);1114611147vn_encode_VkPhysicalDevice(enc, &physicalDevice);11148vn_encode_VkFormat(enc, &format);11149vn_encode_VkImageType(enc, &type);11150vn_encode_VkImageTiling(enc, &tiling);11151vn_encode_VkFlags(enc, &usage);11152vn_encode_VkFlags(enc, &flags);11153if (vn_encode_simple_pointer(enc, pImageFormatProperties))11154vn_encode_VkImageFormatProperties_partial(enc, pImageFormatProperties);11155}1115611157static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)11158{11159const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT;11160size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1116111162VkResult ret;11163cmd_size += vn_sizeof_VkResult(&ret);11164/* skip physicalDevice */11165/* skip format */11166/* skip type */11167/* skip tiling */11168/* skip usage */11169/* skip flags */11170cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);11171if (pImageFormatProperties)11172cmd_size += vn_sizeof_VkImageFormatProperties(pImageFormatProperties);1117311174return cmd_size;11175}1117611177static inline VkResult vn_decode_vkGetPhysicalDeviceImageFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)11178{11179VkCommandTypeEXT command_type;11180vn_decode_VkCommandTypeEXT(dec, &command_type);11181assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT);1118211183VkResult ret;11184vn_decode_VkResult(dec, &ret);11185/* skip physicalDevice */11186/* skip format */11187/* skip type */11188/* skip tiling */11189/* skip usage */11190/* skip flags */11191if (vn_decode_simple_pointer(dec)) {11192vn_decode_VkImageFormatProperties(dec, pImageFormatProperties);11193} else {11194pImageFormatProperties = NULL;11195}1119611197return ret;11198}1119911200static inline size_t vn_sizeof_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)11201{11202const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;11203const VkFlags cmd_flags = 0;11204size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1120511206cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11207cmd_size += vn_sizeof_simple_pointer(pCreateInfo);11208if (pCreateInfo)11209cmd_size += vn_sizeof_VkDeviceCreateInfo(pCreateInfo);11210cmd_size += vn_sizeof_simple_pointer(pAllocator);11211if (pAllocator)11212assert(false);11213cmd_size += vn_sizeof_simple_pointer(pDevice);11214if (pDevice)11215cmd_size += vn_sizeof_VkDevice(pDevice);1121611217return cmd_size;11218}1121911220static inline void vn_encode_vkCreateDevice(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)11221{11222const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;1122311224vn_encode_VkCommandTypeEXT(enc, &cmd_type);11225vn_encode_VkFlags(enc, &cmd_flags);1122611227vn_encode_VkPhysicalDevice(enc, &physicalDevice);11228if (vn_encode_simple_pointer(enc, pCreateInfo))11229vn_encode_VkDeviceCreateInfo(enc, pCreateInfo);11230if (vn_encode_simple_pointer(enc, pAllocator))11231assert(false);11232if (vn_encode_simple_pointer(enc, pDevice))11233vn_encode_VkDevice(enc, pDevice);11234}1123511236static inline size_t vn_sizeof_vkCreateDevice_reply(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)11237{11238const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkCreateDevice_EXT;11239size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1124011241VkResult ret;11242cmd_size += vn_sizeof_VkResult(&ret);11243/* skip physicalDevice */11244/* skip pCreateInfo */11245/* skip pAllocator */11246cmd_size += vn_sizeof_simple_pointer(pDevice);11247if (pDevice)11248cmd_size += vn_sizeof_VkDevice(pDevice);1124911250return cmd_size;11251}1125211253static inline VkResult vn_decode_vkCreateDevice_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)11254{11255VkCommandTypeEXT command_type;11256vn_decode_VkCommandTypeEXT(dec, &command_type);11257assert(command_type == VK_COMMAND_TYPE_vkCreateDevice_EXT);1125811259VkResult ret;11260vn_decode_VkResult(dec, &ret);11261/* skip physicalDevice */11262/* skip pCreateInfo */11263/* skip pAllocator */11264if (vn_decode_simple_pointer(dec)) {11265vn_decode_VkDevice(dec, pDevice);11266} else {11267pDevice = NULL;11268}1126911270return ret;11271}1127211273static inline size_t vn_sizeof_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator)11274{11275const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;11276const VkFlags cmd_flags = 0;11277size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1127811279cmd_size += vn_sizeof_VkDevice(&device);11280cmd_size += vn_sizeof_simple_pointer(pAllocator);11281if (pAllocator)11282assert(false);1128311284return cmd_size;11285}1128611287static inline void vn_encode_vkDestroyDevice(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkAllocationCallbacks* pAllocator)11288{11289const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;1129011291vn_encode_VkCommandTypeEXT(enc, &cmd_type);11292vn_encode_VkFlags(enc, &cmd_flags);1129311294vn_encode_VkDevice(enc, &device);11295if (vn_encode_simple_pointer(enc, pAllocator))11296assert(false);11297}1129811299static inline size_t vn_sizeof_vkDestroyDevice_reply(VkDevice device, const VkAllocationCallbacks* pAllocator)11300{11301const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDestroyDevice_EXT;11302size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1130311304/* skip device */11305/* skip pAllocator */1130611307return cmd_size;11308}1130911310static inline void vn_decode_vkDestroyDevice_reply(struct vn_cs_decoder *dec, VkDevice device, const VkAllocationCallbacks* pAllocator)11311{11312VkCommandTypeEXT command_type;11313vn_decode_VkCommandTypeEXT(dec, &command_type);11314assert(command_type == VK_COMMAND_TYPE_vkDestroyDevice_EXT);1131511316/* skip device */11317/* skip pAllocator */11318}1131911320static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)11321{11322const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;11323const VkFlags cmd_flags = 0;11324size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1132511326cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11327cmd_size += vn_sizeof_simple_pointer(pPropertyCount);11328if (pPropertyCount)11329cmd_size += vn_sizeof_uint32_t(pPropertyCount);11330if (pProperties) {11331cmd_size += vn_sizeof_array_size(*pPropertyCount);11332for (uint32_t i = 0; i < *pPropertyCount; i++)11333cmd_size += vn_sizeof_VkLayerProperties_partial(&pProperties[i]);11334} else {11335cmd_size += vn_sizeof_array_size(0);11336}1133711338return cmd_size;11339}1134011341static inline void vn_encode_vkEnumerateDeviceLayerProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)11342{11343const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;1134411345vn_encode_VkCommandTypeEXT(enc, &cmd_type);11346vn_encode_VkFlags(enc, &cmd_flags);1134711348vn_encode_VkPhysicalDevice(enc, &physicalDevice);11349if (vn_encode_simple_pointer(enc, pPropertyCount))11350vn_encode_uint32_t(enc, pPropertyCount);11351if (pProperties) {11352vn_encode_array_size(enc, *pPropertyCount);11353for (uint32_t i = 0; i < *pPropertyCount; i++)11354vn_encode_VkLayerProperties_partial(enc, &pProperties[i]);11355} else {11356vn_encode_array_size(enc, 0);11357}11358}1135911360static inline size_t vn_sizeof_vkEnumerateDeviceLayerProperties_reply(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)11361{11362const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT;11363size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1136411365VkResult ret;11366cmd_size += vn_sizeof_VkResult(&ret);11367/* skip physicalDevice */11368cmd_size += vn_sizeof_simple_pointer(pPropertyCount);11369if (pPropertyCount)11370cmd_size += vn_sizeof_uint32_t(pPropertyCount);11371if (pProperties) {11372cmd_size += vn_sizeof_array_size(*pPropertyCount);11373for (uint32_t i = 0; i < *pPropertyCount; i++)11374cmd_size += vn_sizeof_VkLayerProperties(&pProperties[i]);11375} else {11376cmd_size += vn_sizeof_array_size(0);11377}1137811379return cmd_size;11380}1138111382static inline VkResult vn_decode_vkEnumerateDeviceLayerProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)11383{11384VkCommandTypeEXT command_type;11385vn_decode_VkCommandTypeEXT(dec, &command_type);11386assert(command_type == VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT);1138711388VkResult ret;11389vn_decode_VkResult(dec, &ret);11390/* skip physicalDevice */11391if (vn_decode_simple_pointer(dec)) {11392vn_decode_uint32_t(dec, pPropertyCount);11393} else {11394pPropertyCount = NULL;11395}11396if (vn_peek_array_size(dec)) {11397vn_decode_array_size(dec, *pPropertyCount);11398for (uint32_t i = 0; i < *pPropertyCount; i++)11399vn_decode_VkLayerProperties(dec, &pProperties[i]);11400} else {11401vn_decode_array_size(dec, 0);11402pProperties = NULL;11403}1140411405return ret;11406}1140711408static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)11409{11410const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;11411const VkFlags cmd_flags = 0;11412size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1141311414cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11415if (pLayerName) {11416const size_t string_size = strlen(pLayerName) + 1;11417cmd_size += vn_sizeof_array_size(string_size);11418cmd_size += vn_sizeof_blob_array(pLayerName, string_size);11419} else {11420cmd_size += vn_sizeof_array_size(0);11421}11422cmd_size += vn_sizeof_simple_pointer(pPropertyCount);11423if (pPropertyCount)11424cmd_size += vn_sizeof_uint32_t(pPropertyCount);11425if (pProperties) {11426cmd_size += vn_sizeof_array_size(*pPropertyCount);11427for (uint32_t i = 0; i < *pPropertyCount; i++)11428cmd_size += vn_sizeof_VkExtensionProperties_partial(&pProperties[i]);11429} else {11430cmd_size += vn_sizeof_array_size(0);11431}1143211433return cmd_size;11434}1143511436static inline void vn_encode_vkEnumerateDeviceExtensionProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)11437{11438const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;1143911440vn_encode_VkCommandTypeEXT(enc, &cmd_type);11441vn_encode_VkFlags(enc, &cmd_flags);1144211443vn_encode_VkPhysicalDevice(enc, &physicalDevice);11444if (pLayerName) {11445const size_t string_size = strlen(pLayerName) + 1;11446vn_encode_array_size(enc, string_size);11447vn_encode_blob_array(enc, pLayerName, string_size);11448} else {11449vn_encode_array_size(enc, 0);11450}11451if (vn_encode_simple_pointer(enc, pPropertyCount))11452vn_encode_uint32_t(enc, pPropertyCount);11453if (pProperties) {11454vn_encode_array_size(enc, *pPropertyCount);11455for (uint32_t i = 0; i < *pPropertyCount; i++)11456vn_encode_VkExtensionProperties_partial(enc, &pProperties[i]);11457} else {11458vn_encode_array_size(enc, 0);11459}11460}1146111462static inline size_t vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)11463{11464const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT;11465size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1146611467VkResult ret;11468cmd_size += vn_sizeof_VkResult(&ret);11469/* skip physicalDevice */11470/* skip pLayerName */11471cmd_size += vn_sizeof_simple_pointer(pPropertyCount);11472if (pPropertyCount)11473cmd_size += vn_sizeof_uint32_t(pPropertyCount);11474if (pProperties) {11475cmd_size += vn_sizeof_array_size(*pPropertyCount);11476for (uint32_t i = 0; i < *pPropertyCount; i++)11477cmd_size += vn_sizeof_VkExtensionProperties(&pProperties[i]);11478} else {11479cmd_size += vn_sizeof_array_size(0);11480}1148111482return cmd_size;11483}1148411485static inline VkResult vn_decode_vkEnumerateDeviceExtensionProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)11486{11487VkCommandTypeEXT command_type;11488vn_decode_VkCommandTypeEXT(dec, &command_type);11489assert(command_type == VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT);1149011491VkResult ret;11492vn_decode_VkResult(dec, &ret);11493/* skip physicalDevice */11494/* skip pLayerName */11495if (vn_decode_simple_pointer(dec)) {11496vn_decode_uint32_t(dec, pPropertyCount);11497} else {11498pPropertyCount = NULL;11499}11500if (vn_peek_array_size(dec)) {11501vn_decode_array_size(dec, *pPropertyCount);11502for (uint32_t i = 0; i < *pPropertyCount; i++)11503vn_decode_VkExtensionProperties(dec, &pProperties[i]);11504} else {11505vn_decode_array_size(dec, 0);11506pProperties = NULL;11507}1150811509return ret;11510}1151111512static inline size_t vn_sizeof_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)11513{11514const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;11515const VkFlags cmd_flags = 0;11516size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1151711518cmd_size += vn_sizeof_VkDevice(&device);11519cmd_size += vn_sizeof_uint32_t(&queueFamilyIndex);11520cmd_size += vn_sizeof_uint32_t(&queueIndex);11521cmd_size += vn_sizeof_simple_pointer(pQueue);11522if (pQueue)11523cmd_size += vn_sizeof_VkQueue(pQueue);1152411525return cmd_size;11526}1152711528static inline void vn_encode_vkGetDeviceQueue(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)11529{11530const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;1153111532vn_encode_VkCommandTypeEXT(enc, &cmd_type);11533vn_encode_VkFlags(enc, &cmd_flags);1153411535vn_encode_VkDevice(enc, &device);11536vn_encode_uint32_t(enc, &queueFamilyIndex);11537vn_encode_uint32_t(enc, &queueIndex);11538if (vn_encode_simple_pointer(enc, pQueue))11539vn_encode_VkQueue(enc, pQueue);11540}1154111542static inline size_t vn_sizeof_vkGetDeviceQueue_reply(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)11543{11544const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue_EXT;11545size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1154611547/* skip device */11548/* skip queueFamilyIndex */11549/* skip queueIndex */11550cmd_size += vn_sizeof_simple_pointer(pQueue);11551if (pQueue)11552cmd_size += vn_sizeof_VkQueue(pQueue);1155311554return cmd_size;11555}1155611557static inline void vn_decode_vkGetDeviceQueue_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)11558{11559VkCommandTypeEXT command_type;11560vn_decode_VkCommandTypeEXT(dec, &command_type);11561assert(command_type == VK_COMMAND_TYPE_vkGetDeviceQueue_EXT);1156211563/* skip device */11564/* skip queueFamilyIndex */11565/* skip queueIndex */11566if (vn_decode_simple_pointer(dec)) {11567vn_decode_VkQueue(dec, pQueue);11568} else {11569pQueue = NULL;11570}11571}1157211573static inline size_t vn_sizeof_vkDeviceWaitIdle(VkDevice device)11574{11575const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;11576const VkFlags cmd_flags = 0;11577size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1157811579cmd_size += vn_sizeof_VkDevice(&device);1158011581return cmd_size;11582}1158311584static inline void vn_encode_vkDeviceWaitIdle(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device)11585{11586const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;1158711588vn_encode_VkCommandTypeEXT(enc, &cmd_type);11589vn_encode_VkFlags(enc, &cmd_flags);1159011591vn_encode_VkDevice(enc, &device);11592}1159311594static inline size_t vn_sizeof_vkDeviceWaitIdle_reply(VkDevice device)11595{11596const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT;11597size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1159811599VkResult ret;11600cmd_size += vn_sizeof_VkResult(&ret);11601/* skip device */1160211603return cmd_size;11604}1160511606static inline VkResult vn_decode_vkDeviceWaitIdle_reply(struct vn_cs_decoder *dec, VkDevice device)11607{11608VkCommandTypeEXT command_type;11609vn_decode_VkCommandTypeEXT(dec, &command_type);11610assert(command_type == VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT);1161111612VkResult ret;11613vn_decode_VkResult(dec, &ret);11614/* skip device */1161511616return ret;11617}1161811619static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)11620{11621const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;11622const VkFlags cmd_flags = 0;11623size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1162411625cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11626cmd_size += vn_sizeof_VkFormat(&format);11627cmd_size += vn_sizeof_VkImageType(&type);11628cmd_size += vn_sizeof_VkSampleCountFlagBits(&samples);11629cmd_size += vn_sizeof_VkFlags(&usage);11630cmd_size += vn_sizeof_VkImageTiling(&tiling);11631cmd_size += vn_sizeof_simple_pointer(pPropertyCount);11632if (pPropertyCount)11633cmd_size += vn_sizeof_uint32_t(pPropertyCount);11634if (pProperties) {11635cmd_size += vn_sizeof_array_size(*pPropertyCount);11636for (uint32_t i = 0; i < *pPropertyCount; i++)11637cmd_size += vn_sizeof_VkSparseImageFormatProperties_partial(&pProperties[i]);11638} else {11639cmd_size += vn_sizeof_array_size(0);11640}1164111642return cmd_size;11643}1164411645static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)11646{11647const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;1164811649vn_encode_VkCommandTypeEXT(enc, &cmd_type);11650vn_encode_VkFlags(enc, &cmd_flags);1165111652vn_encode_VkPhysicalDevice(enc, &physicalDevice);11653vn_encode_VkFormat(enc, &format);11654vn_encode_VkImageType(enc, &type);11655vn_encode_VkSampleCountFlagBits(enc, &samples);11656vn_encode_VkFlags(enc, &usage);11657vn_encode_VkImageTiling(enc, &tiling);11658if (vn_encode_simple_pointer(enc, pPropertyCount))11659vn_encode_uint32_t(enc, pPropertyCount);11660if (pProperties) {11661vn_encode_array_size(enc, *pPropertyCount);11662for (uint32_t i = 0; i < *pPropertyCount; i++)11663vn_encode_VkSparseImageFormatProperties_partial(enc, &pProperties[i]);11664} else {11665vn_encode_array_size(enc, 0);11666}11667}1166811669static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)11670{11671const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT;11672size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1167311674/* skip physicalDevice */11675/* skip format */11676/* skip type */11677/* skip samples */11678/* skip usage */11679/* skip tiling */11680cmd_size += vn_sizeof_simple_pointer(pPropertyCount);11681if (pPropertyCount)11682cmd_size += vn_sizeof_uint32_t(pPropertyCount);11683if (pProperties) {11684cmd_size += vn_sizeof_array_size(*pPropertyCount);11685for (uint32_t i = 0; i < *pPropertyCount; i++)11686cmd_size += vn_sizeof_VkSparseImageFormatProperties(&pProperties[i]);11687} else {11688cmd_size += vn_sizeof_array_size(0);11689}1169011691return cmd_size;11692}1169311694static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)11695{11696VkCommandTypeEXT command_type;11697vn_decode_VkCommandTypeEXT(dec, &command_type);11698assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT);1169911700/* skip physicalDevice */11701/* skip format */11702/* skip type */11703/* skip samples */11704/* skip usage */11705/* skip tiling */11706if (vn_decode_simple_pointer(dec)) {11707vn_decode_uint32_t(dec, pPropertyCount);11708} else {11709pPropertyCount = NULL;11710}11711if (vn_peek_array_size(dec)) {11712vn_decode_array_size(dec, *pPropertyCount);11713for (uint32_t i = 0; i < *pPropertyCount; i++)11714vn_decode_VkSparseImageFormatProperties(dec, &pProperties[i]);11715} else {11716vn_decode_array_size(dec, 0);11717pProperties = NULL;11718}11719}1172011721static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)11722{11723const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;11724const VkFlags cmd_flags = 0;11725size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1172611727cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11728cmd_size += vn_sizeof_simple_pointer(pFeatures);11729if (pFeatures)11730cmd_size += vn_sizeof_VkPhysicalDeviceFeatures2_partial(pFeatures);1173111732return cmd_size;11733}1173411735static inline void vn_encode_vkGetPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)11736{11737const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;1173811739vn_encode_VkCommandTypeEXT(enc, &cmd_type);11740vn_encode_VkFlags(enc, &cmd_flags);1174111742vn_encode_VkPhysicalDevice(enc, &physicalDevice);11743if (vn_encode_simple_pointer(enc, pFeatures))11744vn_encode_VkPhysicalDeviceFeatures2_partial(enc, pFeatures);11745}1174611747static inline size_t vn_sizeof_vkGetPhysicalDeviceFeatures2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)11748{11749const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT;11750size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1175111752/* skip physicalDevice */11753cmd_size += vn_sizeof_simple_pointer(pFeatures);11754if (pFeatures)11755cmd_size += vn_sizeof_VkPhysicalDeviceFeatures2(pFeatures);1175611757return cmd_size;11758}1175911760static inline void vn_decode_vkGetPhysicalDeviceFeatures2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)11761{11762VkCommandTypeEXT command_type;11763vn_decode_VkCommandTypeEXT(dec, &command_type);11764assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT);1176511766/* skip physicalDevice */11767if (vn_decode_simple_pointer(dec)) {11768vn_decode_VkPhysicalDeviceFeatures2(dec, pFeatures);11769} else {11770pFeatures = NULL;11771}11772}1177311774static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)11775{11776const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;11777const VkFlags cmd_flags = 0;11778size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1177911780cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11781cmd_size += vn_sizeof_simple_pointer(pProperties);11782if (pProperties)11783cmd_size += vn_sizeof_VkPhysicalDeviceProperties2_partial(pProperties);1178411785return cmd_size;11786}1178711788static inline void vn_encode_vkGetPhysicalDeviceProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)11789{11790const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;1179111792vn_encode_VkCommandTypeEXT(enc, &cmd_type);11793vn_encode_VkFlags(enc, &cmd_flags);1179411795vn_encode_VkPhysicalDevice(enc, &physicalDevice);11796if (vn_encode_simple_pointer(enc, pProperties))11797vn_encode_VkPhysicalDeviceProperties2_partial(enc, pProperties);11798}1179911800static inline size_t vn_sizeof_vkGetPhysicalDeviceProperties2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)11801{11802const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT;11803size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1180411805/* skip physicalDevice */11806cmd_size += vn_sizeof_simple_pointer(pProperties);11807if (pProperties)11808cmd_size += vn_sizeof_VkPhysicalDeviceProperties2(pProperties);1180911810return cmd_size;11811}1181211813static inline void vn_decode_vkGetPhysicalDeviceProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)11814{11815VkCommandTypeEXT command_type;11816vn_decode_VkCommandTypeEXT(dec, &command_type);11817assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT);1181811819/* skip physicalDevice */11820if (vn_decode_simple_pointer(dec)) {11821vn_decode_VkPhysicalDeviceProperties2(dec, pProperties);11822} else {11823pProperties = NULL;11824}11825}1182611827static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)11828{11829const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;11830const VkFlags cmd_flags = 0;11831size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1183211833cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11834cmd_size += vn_sizeof_VkFormat(&format);11835cmd_size += vn_sizeof_simple_pointer(pFormatProperties);11836if (pFormatProperties)11837cmd_size += vn_sizeof_VkFormatProperties2_partial(pFormatProperties);1183811839return cmd_size;11840}1184111842static inline void vn_encode_vkGetPhysicalDeviceFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)11843{11844const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;1184511846vn_encode_VkCommandTypeEXT(enc, &cmd_type);11847vn_encode_VkFlags(enc, &cmd_flags);1184811849vn_encode_VkPhysicalDevice(enc, &physicalDevice);11850vn_encode_VkFormat(enc, &format);11851if (vn_encode_simple_pointer(enc, pFormatProperties))11852vn_encode_VkFormatProperties2_partial(enc, pFormatProperties);11853}1185411855static inline size_t vn_sizeof_vkGetPhysicalDeviceFormatProperties2_reply(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)11856{11857const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT;11858size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1185911860/* skip physicalDevice */11861/* skip format */11862cmd_size += vn_sizeof_simple_pointer(pFormatProperties);11863if (pFormatProperties)11864cmd_size += vn_sizeof_VkFormatProperties2(pFormatProperties);1186511866return cmd_size;11867}1186811869static inline void vn_decode_vkGetPhysicalDeviceFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)11870{11871VkCommandTypeEXT command_type;11872vn_decode_VkCommandTypeEXT(dec, &command_type);11873assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT);1187411875/* skip physicalDevice */11876/* skip format */11877if (vn_decode_simple_pointer(dec)) {11878vn_decode_VkFormatProperties2(dec, pFormatProperties);11879} else {11880pFormatProperties = NULL;11881}11882}1188311884static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)11885{11886const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;11887const VkFlags cmd_flags = 0;11888size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1188911890cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11891cmd_size += vn_sizeof_simple_pointer(pImageFormatInfo);11892if (pImageFormatInfo)11893cmd_size += vn_sizeof_VkPhysicalDeviceImageFormatInfo2(pImageFormatInfo);11894cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);11895if (pImageFormatProperties)11896cmd_size += vn_sizeof_VkImageFormatProperties2_partial(pImageFormatProperties);1189711898return cmd_size;11899}1190011901static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)11902{11903const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;1190411905vn_encode_VkCommandTypeEXT(enc, &cmd_type);11906vn_encode_VkFlags(enc, &cmd_flags);1190711908vn_encode_VkPhysicalDevice(enc, &physicalDevice);11909if (vn_encode_simple_pointer(enc, pImageFormatInfo))11910vn_encode_VkPhysicalDeviceImageFormatInfo2(enc, pImageFormatInfo);11911if (vn_encode_simple_pointer(enc, pImageFormatProperties))11912vn_encode_VkImageFormatProperties2_partial(enc, pImageFormatProperties);11913}1191411915static inline size_t vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)11916{11917const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT;11918size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1191911920VkResult ret;11921cmd_size += vn_sizeof_VkResult(&ret);11922/* skip physicalDevice */11923/* skip pImageFormatInfo */11924cmd_size += vn_sizeof_simple_pointer(pImageFormatProperties);11925if (pImageFormatProperties)11926cmd_size += vn_sizeof_VkImageFormatProperties2(pImageFormatProperties);1192711928return cmd_size;11929}1193011931static inline VkResult vn_decode_vkGetPhysicalDeviceImageFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)11932{11933VkCommandTypeEXT command_type;11934vn_decode_VkCommandTypeEXT(dec, &command_type);11935assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT);1193611937VkResult ret;11938vn_decode_VkResult(dec, &ret);11939/* skip physicalDevice */11940/* skip pImageFormatInfo */11941if (vn_decode_simple_pointer(dec)) {11942vn_decode_VkImageFormatProperties2(dec, pImageFormatProperties);11943} else {11944pImageFormatProperties = NULL;11945}1194611947return ret;11948}1194911950static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)11951{11952const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;11953const VkFlags cmd_flags = 0;11954size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1195511956cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);11957cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);11958if (pQueueFamilyPropertyCount)11959cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount);11960if (pQueueFamilyProperties) {11961cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount);11962for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)11963cmd_size += vn_sizeof_VkQueueFamilyProperties2_partial(&pQueueFamilyProperties[i]);11964} else {11965cmd_size += vn_sizeof_array_size(0);11966}1196711968return cmd_size;11969}1197011971static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)11972{11973const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;1197411975vn_encode_VkCommandTypeEXT(enc, &cmd_type);11976vn_encode_VkFlags(enc, &cmd_flags);1197711978vn_encode_VkPhysicalDevice(enc, &physicalDevice);11979if (vn_encode_simple_pointer(enc, pQueueFamilyPropertyCount))11980vn_encode_uint32_t(enc, pQueueFamilyPropertyCount);11981if (pQueueFamilyProperties) {11982vn_encode_array_size(enc, *pQueueFamilyPropertyCount);11983for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)11984vn_encode_VkQueueFamilyProperties2_partial(enc, &pQueueFamilyProperties[i]);11985} else {11986vn_encode_array_size(enc, 0);11987}11988}1198911990static inline size_t vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)11991{11992const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT;11993size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1199411995/* skip physicalDevice */11996cmd_size += vn_sizeof_simple_pointer(pQueueFamilyPropertyCount);11997if (pQueueFamilyPropertyCount)11998cmd_size += vn_sizeof_uint32_t(pQueueFamilyPropertyCount);11999if (pQueueFamilyProperties) {12000cmd_size += vn_sizeof_array_size(*pQueueFamilyPropertyCount);12001for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)12002cmd_size += vn_sizeof_VkQueueFamilyProperties2(&pQueueFamilyProperties[i]);12003} else {12004cmd_size += vn_sizeof_array_size(0);12005}1200612007return cmd_size;12008}1200912010static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)12011{12012VkCommandTypeEXT command_type;12013vn_decode_VkCommandTypeEXT(dec, &command_type);12014assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT);1201512016/* skip physicalDevice */12017if (vn_decode_simple_pointer(dec)) {12018vn_decode_uint32_t(dec, pQueueFamilyPropertyCount);12019} else {12020pQueueFamilyPropertyCount = NULL;12021}12022if (vn_peek_array_size(dec)) {12023vn_decode_array_size(dec, *pQueueFamilyPropertyCount);12024for (uint32_t i = 0; i < *pQueueFamilyPropertyCount; i++)12025vn_decode_VkQueueFamilyProperties2(dec, &pQueueFamilyProperties[i]);12026} else {12027vn_decode_array_size(dec, 0);12028pQueueFamilyProperties = NULL;12029}12030}1203112032static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)12033{12034const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;12035const VkFlags cmd_flags = 0;12036size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1203712038cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);12039cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);12040if (pMemoryProperties)12041cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties2_partial(pMemoryProperties);1204212043return cmd_size;12044}1204512046static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)12047{12048const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;1204912050vn_encode_VkCommandTypeEXT(enc, &cmd_type);12051vn_encode_VkFlags(enc, &cmd_flags);1205212053vn_encode_VkPhysicalDevice(enc, &physicalDevice);12054if (vn_encode_simple_pointer(enc, pMemoryProperties))12055vn_encode_VkPhysicalDeviceMemoryProperties2_partial(enc, pMemoryProperties);12056}1205712058static inline size_t vn_sizeof_vkGetPhysicalDeviceMemoryProperties2_reply(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)12059{12060const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT;12061size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1206212063/* skip physicalDevice */12064cmd_size += vn_sizeof_simple_pointer(pMemoryProperties);12065if (pMemoryProperties)12066cmd_size += vn_sizeof_VkPhysicalDeviceMemoryProperties2(pMemoryProperties);1206712068return cmd_size;12069}1207012071static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)12072{12073VkCommandTypeEXT command_type;12074vn_decode_VkCommandTypeEXT(dec, &command_type);12075assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT);1207612077/* skip physicalDevice */12078if (vn_decode_simple_pointer(dec)) {12079vn_decode_VkPhysicalDeviceMemoryProperties2(dec, pMemoryProperties);12080} else {12081pMemoryProperties = NULL;12082}12083}1208412085static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)12086{12087const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;12088const VkFlags cmd_flags = 0;12089size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1209012091cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);12092cmd_size += vn_sizeof_simple_pointer(pFormatInfo);12093if (pFormatInfo)12094cmd_size += vn_sizeof_VkPhysicalDeviceSparseImageFormatInfo2(pFormatInfo);12095cmd_size += vn_sizeof_simple_pointer(pPropertyCount);12096if (pPropertyCount)12097cmd_size += vn_sizeof_uint32_t(pPropertyCount);12098if (pProperties) {12099cmd_size += vn_sizeof_array_size(*pPropertyCount);12100for (uint32_t i = 0; i < *pPropertyCount; i++)12101cmd_size += vn_sizeof_VkSparseImageFormatProperties2_partial(&pProperties[i]);12102} else {12103cmd_size += vn_sizeof_array_size(0);12104}1210512106return cmd_size;12107}1210812109static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)12110{12111const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;1211212113vn_encode_VkCommandTypeEXT(enc, &cmd_type);12114vn_encode_VkFlags(enc, &cmd_flags);1211512116vn_encode_VkPhysicalDevice(enc, &physicalDevice);12117if (vn_encode_simple_pointer(enc, pFormatInfo))12118vn_encode_VkPhysicalDeviceSparseImageFormatInfo2(enc, pFormatInfo);12119if (vn_encode_simple_pointer(enc, pPropertyCount))12120vn_encode_uint32_t(enc, pPropertyCount);12121if (pProperties) {12122vn_encode_array_size(enc, *pPropertyCount);12123for (uint32_t i = 0; i < *pPropertyCount; i++)12124vn_encode_VkSparseImageFormatProperties2_partial(enc, &pProperties[i]);12125} else {12126vn_encode_array_size(enc, 0);12127}12128}1212912130static inline size_t vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)12131{12132const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT;12133size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1213412135/* skip physicalDevice */12136/* skip pFormatInfo */12137cmd_size += vn_sizeof_simple_pointer(pPropertyCount);12138if (pPropertyCount)12139cmd_size += vn_sizeof_uint32_t(pPropertyCount);12140if (pProperties) {12141cmd_size += vn_sizeof_array_size(*pPropertyCount);12142for (uint32_t i = 0; i < *pPropertyCount; i++)12143cmd_size += vn_sizeof_VkSparseImageFormatProperties2(&pProperties[i]);12144} else {12145cmd_size += vn_sizeof_array_size(0);12146}1214712148return cmd_size;12149}1215012151static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)12152{12153VkCommandTypeEXT command_type;12154vn_decode_VkCommandTypeEXT(dec, &command_type);12155assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT);1215612157/* skip physicalDevice */12158/* skip pFormatInfo */12159if (vn_decode_simple_pointer(dec)) {12160vn_decode_uint32_t(dec, pPropertyCount);12161} else {12162pPropertyCount = NULL;12163}12164if (vn_peek_array_size(dec)) {12165vn_decode_array_size(dec, *pPropertyCount);12166for (uint32_t i = 0; i < *pPropertyCount; i++)12167vn_decode_VkSparseImageFormatProperties2(dec, &pProperties[i]);12168} else {12169vn_decode_array_size(dec, 0);12170pProperties = NULL;12171}12172}1217312174static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)12175{12176const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;12177const VkFlags cmd_flags = 0;12178size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1217912180cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);12181cmd_size += vn_sizeof_simple_pointer(pExternalBufferInfo);12182if (pExternalBufferInfo)12183cmd_size += vn_sizeof_VkPhysicalDeviceExternalBufferInfo(pExternalBufferInfo);12184cmd_size += vn_sizeof_simple_pointer(pExternalBufferProperties);12185if (pExternalBufferProperties)12186cmd_size += vn_sizeof_VkExternalBufferProperties_partial(pExternalBufferProperties);1218712188return cmd_size;12189}1219012191static inline void vn_encode_vkGetPhysicalDeviceExternalBufferProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)12192{12193const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;1219412195vn_encode_VkCommandTypeEXT(enc, &cmd_type);12196vn_encode_VkFlags(enc, &cmd_flags);1219712198vn_encode_VkPhysicalDevice(enc, &physicalDevice);12199if (vn_encode_simple_pointer(enc, pExternalBufferInfo))12200vn_encode_VkPhysicalDeviceExternalBufferInfo(enc, pExternalBufferInfo);12201if (vn_encode_simple_pointer(enc, pExternalBufferProperties))12202vn_encode_VkExternalBufferProperties_partial(enc, pExternalBufferProperties);12203}1220412205static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)12206{12207const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT;12208size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1220912210/* skip physicalDevice */12211/* skip pExternalBufferInfo */12212cmd_size += vn_sizeof_simple_pointer(pExternalBufferProperties);12213if (pExternalBufferProperties)12214cmd_size += vn_sizeof_VkExternalBufferProperties(pExternalBufferProperties);1221512216return cmd_size;12217}1221812219static inline void vn_decode_vkGetPhysicalDeviceExternalBufferProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)12220{12221VkCommandTypeEXT command_type;12222vn_decode_VkCommandTypeEXT(dec, &command_type);12223assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT);1222412225/* skip physicalDevice */12226/* skip pExternalBufferInfo */12227if (vn_decode_simple_pointer(dec)) {12228vn_decode_VkExternalBufferProperties(dec, pExternalBufferProperties);12229} else {12230pExternalBufferProperties = NULL;12231}12232}1223312234static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)12235{12236const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;12237const VkFlags cmd_flags = 0;12238size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1223912240cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);12241cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreInfo);12242if (pExternalSemaphoreInfo)12243cmd_size += vn_sizeof_VkPhysicalDeviceExternalSemaphoreInfo(pExternalSemaphoreInfo);12244cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreProperties);12245if (pExternalSemaphoreProperties)12246cmd_size += vn_sizeof_VkExternalSemaphoreProperties_partial(pExternalSemaphoreProperties);1224712248return cmd_size;12249}1225012251static inline void vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)12252{12253const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;1225412255vn_encode_VkCommandTypeEXT(enc, &cmd_type);12256vn_encode_VkFlags(enc, &cmd_flags);1225712258vn_encode_VkPhysicalDevice(enc, &physicalDevice);12259if (vn_encode_simple_pointer(enc, pExternalSemaphoreInfo))12260vn_encode_VkPhysicalDeviceExternalSemaphoreInfo(enc, pExternalSemaphoreInfo);12261if (vn_encode_simple_pointer(enc, pExternalSemaphoreProperties))12262vn_encode_VkExternalSemaphoreProperties_partial(enc, pExternalSemaphoreProperties);12263}1226412265static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)12266{12267const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT;12268size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1226912270/* skip physicalDevice */12271/* skip pExternalSemaphoreInfo */12272cmd_size += vn_sizeof_simple_pointer(pExternalSemaphoreProperties);12273if (pExternalSemaphoreProperties)12274cmd_size += vn_sizeof_VkExternalSemaphoreProperties(pExternalSemaphoreProperties);1227512276return cmd_size;12277}1227812279static inline void vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)12280{12281VkCommandTypeEXT command_type;12282vn_decode_VkCommandTypeEXT(dec, &command_type);12283assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT);1228412285/* skip physicalDevice */12286/* skip pExternalSemaphoreInfo */12287if (vn_decode_simple_pointer(dec)) {12288vn_decode_VkExternalSemaphoreProperties(dec, pExternalSemaphoreProperties);12289} else {12290pExternalSemaphoreProperties = NULL;12291}12292}1229312294static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)12295{12296const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;12297const VkFlags cmd_flags = 0;12298size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1229912300cmd_size += vn_sizeof_VkPhysicalDevice(&physicalDevice);12301cmd_size += vn_sizeof_simple_pointer(pExternalFenceInfo);12302if (pExternalFenceInfo)12303cmd_size += vn_sizeof_VkPhysicalDeviceExternalFenceInfo(pExternalFenceInfo);12304cmd_size += vn_sizeof_simple_pointer(pExternalFenceProperties);12305if (pExternalFenceProperties)12306cmd_size += vn_sizeof_VkExternalFenceProperties_partial(pExternalFenceProperties);1230712308return cmd_size;12309}1231012311static inline void vn_encode_vkGetPhysicalDeviceExternalFenceProperties(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)12312{12313const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;1231412315vn_encode_VkCommandTypeEXT(enc, &cmd_type);12316vn_encode_VkFlags(enc, &cmd_flags);1231712318vn_encode_VkPhysicalDevice(enc, &physicalDevice);12319if (vn_encode_simple_pointer(enc, pExternalFenceInfo))12320vn_encode_VkPhysicalDeviceExternalFenceInfo(enc, pExternalFenceInfo);12321if (vn_encode_simple_pointer(enc, pExternalFenceProperties))12322vn_encode_VkExternalFenceProperties_partial(enc, pExternalFenceProperties);12323}1232412325static inline size_t vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties_reply(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)12326{12327const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT;12328size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1232912330/* skip physicalDevice */12331/* skip pExternalFenceInfo */12332cmd_size += vn_sizeof_simple_pointer(pExternalFenceProperties);12333if (pExternalFenceProperties)12334cmd_size += vn_sizeof_VkExternalFenceProperties(pExternalFenceProperties);1233512336return cmd_size;12337}1233812339static inline void vn_decode_vkGetPhysicalDeviceExternalFenceProperties_reply(struct vn_cs_decoder *dec, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)12340{12341VkCommandTypeEXT command_type;12342vn_decode_VkCommandTypeEXT(dec, &command_type);12343assert(command_type == VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT);1234412345/* skip physicalDevice */12346/* skip pExternalFenceInfo */12347if (vn_decode_simple_pointer(dec)) {12348vn_decode_VkExternalFenceProperties(dec, pExternalFenceProperties);12349} else {12350pExternalFenceProperties = NULL;12351}12352}1235312354static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)12355{12356const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;12357const VkFlags cmd_flags = 0;12358size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1235912360cmd_size += vn_sizeof_VkInstance(&instance);12361cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceGroupCount);12362if (pPhysicalDeviceGroupCount)12363cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceGroupCount);12364if (pPhysicalDeviceGroupProperties) {12365cmd_size += vn_sizeof_array_size(*pPhysicalDeviceGroupCount);12366for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++)12367cmd_size += vn_sizeof_VkPhysicalDeviceGroupProperties_partial(&pPhysicalDeviceGroupProperties[i]);12368} else {12369cmd_size += vn_sizeof_array_size(0);12370}1237112372return cmd_size;12373}1237412375static inline void vn_encode_vkEnumeratePhysicalDeviceGroups(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)12376{12377const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;1237812379vn_encode_VkCommandTypeEXT(enc, &cmd_type);12380vn_encode_VkFlags(enc, &cmd_flags);1238112382vn_encode_VkInstance(enc, &instance);12383if (vn_encode_simple_pointer(enc, pPhysicalDeviceGroupCount))12384vn_encode_uint32_t(enc, pPhysicalDeviceGroupCount);12385if (pPhysicalDeviceGroupProperties) {12386vn_encode_array_size(enc, *pPhysicalDeviceGroupCount);12387for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++)12388vn_encode_VkPhysicalDeviceGroupProperties_partial(enc, &pPhysicalDeviceGroupProperties[i]);12389} else {12390vn_encode_array_size(enc, 0);12391}12392}1239312394static inline size_t vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)12395{12396const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT;12397size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1239812399VkResult ret;12400cmd_size += vn_sizeof_VkResult(&ret);12401/* skip instance */12402cmd_size += vn_sizeof_simple_pointer(pPhysicalDeviceGroupCount);12403if (pPhysicalDeviceGroupCount)12404cmd_size += vn_sizeof_uint32_t(pPhysicalDeviceGroupCount);12405if (pPhysicalDeviceGroupProperties) {12406cmd_size += vn_sizeof_array_size(*pPhysicalDeviceGroupCount);12407for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++)12408cmd_size += vn_sizeof_VkPhysicalDeviceGroupProperties(&pPhysicalDeviceGroupProperties[i]);12409} else {12410cmd_size += vn_sizeof_array_size(0);12411}1241212413return cmd_size;12414}1241512416static inline VkResult vn_decode_vkEnumeratePhysicalDeviceGroups_reply(struct vn_cs_decoder *dec, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)12417{12418VkCommandTypeEXT command_type;12419vn_decode_VkCommandTypeEXT(dec, &command_type);12420assert(command_type == VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT);1242112422VkResult ret;12423vn_decode_VkResult(dec, &ret);12424/* skip instance */12425if (vn_decode_simple_pointer(dec)) {12426vn_decode_uint32_t(dec, pPhysicalDeviceGroupCount);12427} else {12428pPhysicalDeviceGroupCount = NULL;12429}12430if (vn_peek_array_size(dec)) {12431vn_decode_array_size(dec, *pPhysicalDeviceGroupCount);12432for (uint32_t i = 0; i < *pPhysicalDeviceGroupCount; i++)12433vn_decode_VkPhysicalDeviceGroupProperties(dec, &pPhysicalDeviceGroupProperties[i]);12434} else {12435vn_decode_array_size(dec, 0);12436pPhysicalDeviceGroupProperties = NULL;12437}1243812439return ret;12440}1244112442static inline size_t vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)12443{12444const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;12445const VkFlags cmd_flags = 0;12446size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1244712448cmd_size += vn_sizeof_VkDevice(&device);12449cmd_size += vn_sizeof_uint32_t(&heapIndex);12450cmd_size += vn_sizeof_uint32_t(&localDeviceIndex);12451cmd_size += vn_sizeof_uint32_t(&remoteDeviceIndex);12452cmd_size += vn_sizeof_simple_pointer(pPeerMemoryFeatures); /* out */1245312454return cmd_size;12455}1245612457static inline void vn_encode_vkGetDeviceGroupPeerMemoryFeatures(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)12458{12459const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;1246012461vn_encode_VkCommandTypeEXT(enc, &cmd_type);12462vn_encode_VkFlags(enc, &cmd_flags);1246312464vn_encode_VkDevice(enc, &device);12465vn_encode_uint32_t(enc, &heapIndex);12466vn_encode_uint32_t(enc, &localDeviceIndex);12467vn_encode_uint32_t(enc, &remoteDeviceIndex);12468vn_encode_simple_pointer(enc, pPeerMemoryFeatures); /* out */12469}1247012471static inline size_t vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures_reply(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)12472{12473const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT;12474size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1247512476/* skip device */12477/* skip heapIndex */12478/* skip localDeviceIndex */12479/* skip remoteDeviceIndex */12480cmd_size += vn_sizeof_simple_pointer(pPeerMemoryFeatures);12481if (pPeerMemoryFeatures)12482cmd_size += vn_sizeof_VkFlags(pPeerMemoryFeatures);1248312484return cmd_size;12485}1248612487static inline void vn_decode_vkGetDeviceGroupPeerMemoryFeatures_reply(struct vn_cs_decoder *dec, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)12488{12489VkCommandTypeEXT command_type;12490vn_decode_VkCommandTypeEXT(dec, &command_type);12491assert(command_type == VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT);1249212493/* skip device */12494/* skip heapIndex */12495/* skip localDeviceIndex */12496/* skip remoteDeviceIndex */12497if (vn_decode_simple_pointer(dec)) {12498vn_decode_VkFlags(dec, pPeerMemoryFeatures);12499} else {12500pPeerMemoryFeatures = NULL;12501}12502}1250312504static inline size_t vn_sizeof_vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)12505{12506const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;12507const VkFlags cmd_flags = 0;12508size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type) + vn_sizeof_VkFlags(&cmd_flags);1250912510cmd_size += vn_sizeof_VkDevice(&device);12511cmd_size += vn_sizeof_simple_pointer(pQueueInfo);12512if (pQueueInfo)12513cmd_size += vn_sizeof_VkDeviceQueueInfo2(pQueueInfo);12514cmd_size += vn_sizeof_simple_pointer(pQueue);12515if (pQueue)12516cmd_size += vn_sizeof_VkQueue(pQueue);1251712518return cmd_size;12519}1252012521static inline void vn_encode_vkGetDeviceQueue2(struct vn_cs_encoder *enc, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)12522{12523const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;1252412525vn_encode_VkCommandTypeEXT(enc, &cmd_type);12526vn_encode_VkFlags(enc, &cmd_flags);1252712528vn_encode_VkDevice(enc, &device);12529if (vn_encode_simple_pointer(enc, pQueueInfo))12530vn_encode_VkDeviceQueueInfo2(enc, pQueueInfo);12531if (vn_encode_simple_pointer(enc, pQueue))12532vn_encode_VkQueue(enc, pQueue);12533}1253412535static inline size_t vn_sizeof_vkGetDeviceQueue2_reply(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)12536{12537const VkCommandTypeEXT cmd_type = VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT;12538size_t cmd_size = vn_sizeof_VkCommandTypeEXT(&cmd_type);1253912540/* skip device */12541/* skip pQueueInfo */12542cmd_size += vn_sizeof_simple_pointer(pQueue);12543if (pQueue)12544cmd_size += vn_sizeof_VkQueue(pQueue);1254512546return cmd_size;12547}1254812549static inline void vn_decode_vkGetDeviceQueue2_reply(struct vn_cs_decoder *dec, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)12550{12551VkCommandTypeEXT command_type;12552vn_decode_VkCommandTypeEXT(dec, &command_type);12553assert(command_type == VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT);1255412555/* skip device */12556/* skip pQueueInfo */12557if (vn_decode_simple_pointer(dec)) {12558vn_decode_VkQueue(dec, pQueue);12559} else {12560pQueue = NULL;12561}12562}1256312564static inline void vn_submit_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices, struct vn_instance_submit_command *submit)12565{12566uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12567void *cmd_data = local_cmd_data;12568size_t cmd_size = vn_sizeof_vkEnumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices);12569if (cmd_size > sizeof(local_cmd_data)) {12570cmd_data = malloc(cmd_size);12571if (!cmd_data)12572cmd_size = 0;12573}12574const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumeratePhysicalDevices_reply(instance, pPhysicalDeviceCount, pPhysicalDevices) : 0;1257512576struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12577if (cmd_size) {12578vn_encode_vkEnumeratePhysicalDevices(enc, cmd_flags, instance, pPhysicalDeviceCount, pPhysicalDevices);12579vn_instance_submit_command(vn_instance, submit);12580if (cmd_data != local_cmd_data)12581free(cmd_data);12582}12583}1258412585static inline void vn_submit_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties, struct vn_instance_submit_command *submit)12586{12587uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12588void *cmd_data = local_cmd_data;12589size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceProperties(physicalDevice, pProperties);12590if (cmd_size > sizeof(local_cmd_data)) {12591cmd_data = malloc(cmd_size);12592if (!cmd_data)12593cmd_size = 0;12594}12595const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceProperties_reply(physicalDevice, pProperties) : 0;1259612597struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12598if (cmd_size) {12599vn_encode_vkGetPhysicalDeviceProperties(enc, cmd_flags, physicalDevice, pProperties);12600vn_instance_submit_command(vn_instance, submit);12601if (cmd_data != local_cmd_data)12602free(cmd_data);12603}12604}1260512606static inline void vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties, struct vn_instance_submit_command *submit)12607{12608uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12609void *cmd_data = local_cmd_data;12610size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);12611if (cmd_size > sizeof(local_cmd_data)) {12612cmd_data = malloc(cmd_size);12613if (!cmd_data)12614cmd_size = 0;12615}12616const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties_reply(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties) : 0;1261712618struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12619if (cmd_size) {12620vn_encode_vkGetPhysicalDeviceQueueFamilyProperties(enc, cmd_flags, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);12621vn_instance_submit_command(vn_instance, submit);12622if (cmd_data != local_cmd_data)12623free(cmd_data);12624}12625}1262612627static inline void vn_submit_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties, struct vn_instance_submit_command *submit)12628{12629uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12630void *cmd_data = local_cmd_data;12631size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);12632if (cmd_size > sizeof(local_cmd_data)) {12633cmd_data = malloc(cmd_size);12634if (!cmd_data)12635cmd_size = 0;12636}12637const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceMemoryProperties_reply(physicalDevice, pMemoryProperties) : 0;1263812639struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12640if (cmd_size) {12641vn_encode_vkGetPhysicalDeviceMemoryProperties(enc, cmd_flags, physicalDevice, pMemoryProperties);12642vn_instance_submit_command(vn_instance, submit);12643if (cmd_data != local_cmd_data)12644free(cmd_data);12645}12646}1264712648static inline void vn_submit_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures, struct vn_instance_submit_command *submit)12649{12650uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12651void *cmd_data = local_cmd_data;12652size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);12653if (cmd_size > sizeof(local_cmd_data)) {12654cmd_data = malloc(cmd_size);12655if (!cmd_data)12656cmd_size = 0;12657}12658const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFeatures_reply(physicalDevice, pFeatures) : 0;1265912660struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12661if (cmd_size) {12662vn_encode_vkGetPhysicalDeviceFeatures(enc, cmd_flags, physicalDevice, pFeatures);12663vn_instance_submit_command(vn_instance, submit);12664if (cmd_data != local_cmd_data)12665free(cmd_data);12666}12667}1266812669static inline void vn_submit_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties, struct vn_instance_submit_command *submit)12670{12671uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12672void *cmd_data = local_cmd_data;12673size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);12674if (cmd_size > sizeof(local_cmd_data)) {12675cmd_data = malloc(cmd_size);12676if (!cmd_data)12677cmd_size = 0;12678}12679const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFormatProperties_reply(physicalDevice, format, pFormatProperties) : 0;1268012681struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12682if (cmd_size) {12683vn_encode_vkGetPhysicalDeviceFormatProperties(enc, cmd_flags, physicalDevice, format, pFormatProperties);12684vn_instance_submit_command(vn_instance, submit);12685if (cmd_data != local_cmd_data)12686free(cmd_data);12687}12688}1268912690static inline void vn_submit_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties, struct vn_instance_submit_command *submit)12691{12692uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12693void *cmd_data = local_cmd_data;12694size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);12695if (cmd_size > sizeof(local_cmd_data)) {12696cmd_data = malloc(cmd_size);12697if (!cmd_data)12698cmd_size = 0;12699}12700const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceImageFormatProperties_reply(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties) : 0;1270112702struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12703if (cmd_size) {12704vn_encode_vkGetPhysicalDeviceImageFormatProperties(enc, cmd_flags, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);12705vn_instance_submit_command(vn_instance, submit);12706if (cmd_data != local_cmd_data)12707free(cmd_data);12708}12709}1271012711static inline void vn_submit_vkCreateDevice(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice, struct vn_instance_submit_command *submit)12712{12713uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12714void *cmd_data = local_cmd_data;12715size_t cmd_size = vn_sizeof_vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);12716if (cmd_size > sizeof(local_cmd_data)) {12717cmd_data = malloc(cmd_size);12718if (!cmd_data)12719cmd_size = 0;12720}12721const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkCreateDevice_reply(physicalDevice, pCreateInfo, pAllocator, pDevice) : 0;1272212723struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12724if (cmd_size) {12725vn_encode_vkCreateDevice(enc, cmd_flags, physicalDevice, pCreateInfo, pAllocator, pDevice);12726vn_instance_submit_command(vn_instance, submit);12727if (cmd_data != local_cmd_data)12728free(cmd_data);12729}12730}1273112732static inline void vn_submit_vkDestroyDevice(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkAllocationCallbacks* pAllocator, struct vn_instance_submit_command *submit)12733{12734uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12735void *cmd_data = local_cmd_data;12736size_t cmd_size = vn_sizeof_vkDestroyDevice(device, pAllocator);12737if (cmd_size > sizeof(local_cmd_data)) {12738cmd_data = malloc(cmd_size);12739if (!cmd_data)12740cmd_size = 0;12741}12742const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDestroyDevice_reply(device, pAllocator) : 0;1274312744struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12745if (cmd_size) {12746vn_encode_vkDestroyDevice(enc, cmd_flags, device, pAllocator);12747vn_instance_submit_command(vn_instance, submit);12748if (cmd_data != local_cmd_data)12749free(cmd_data);12750}12751}1275212753static inline void vn_submit_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties, struct vn_instance_submit_command *submit)12754{12755uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12756void *cmd_data = local_cmd_data;12757size_t cmd_size = vn_sizeof_vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);12758if (cmd_size > sizeof(local_cmd_data)) {12759cmd_data = malloc(cmd_size);12760if (!cmd_data)12761cmd_size = 0;12762}12763const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateDeviceLayerProperties_reply(physicalDevice, pPropertyCount, pProperties) : 0;1276412765struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12766if (cmd_size) {12767vn_encode_vkEnumerateDeviceLayerProperties(enc, cmd_flags, physicalDevice, pPropertyCount, pProperties);12768vn_instance_submit_command(vn_instance, submit);12769if (cmd_data != local_cmd_data)12770free(cmd_data);12771}12772}1277312774static inline void vn_submit_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties, struct vn_instance_submit_command *submit)12775{12776uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12777void *cmd_data = local_cmd_data;12778size_t cmd_size = vn_sizeof_vkEnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);12779if (cmd_size > sizeof(local_cmd_data)) {12780cmd_data = malloc(cmd_size);12781if (!cmd_data)12782cmd_size = 0;12783}12784const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumerateDeviceExtensionProperties_reply(physicalDevice, pLayerName, pPropertyCount, pProperties) : 0;1278512786struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12787if (cmd_size) {12788vn_encode_vkEnumerateDeviceExtensionProperties(enc, cmd_flags, physicalDevice, pLayerName, pPropertyCount, pProperties);12789vn_instance_submit_command(vn_instance, submit);12790if (cmd_data != local_cmd_data)12791free(cmd_data);12792}12793}1279412795static inline void vn_submit_vkGetDeviceQueue(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue, struct vn_instance_submit_command *submit)12796{12797uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12798void *cmd_data = local_cmd_data;12799size_t cmd_size = vn_sizeof_vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);12800if (cmd_size > sizeof(local_cmd_data)) {12801cmd_data = malloc(cmd_size);12802if (!cmd_data)12803cmd_size = 0;12804}12805const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceQueue_reply(device, queueFamilyIndex, queueIndex, pQueue) : 0;1280612807struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12808if (cmd_size) {12809vn_encode_vkGetDeviceQueue(enc, cmd_flags, device, queueFamilyIndex, queueIndex, pQueue);12810vn_instance_submit_command(vn_instance, submit);12811if (cmd_data != local_cmd_data)12812free(cmd_data);12813}12814}1281512816static inline void vn_submit_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, struct vn_instance_submit_command *submit)12817{12818uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12819void *cmd_data = local_cmd_data;12820size_t cmd_size = vn_sizeof_vkDeviceWaitIdle(device);12821if (cmd_size > sizeof(local_cmd_data)) {12822cmd_data = malloc(cmd_size);12823if (!cmd_data)12824cmd_size = 0;12825}12826const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkDeviceWaitIdle_reply(device) : 0;1282712828struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12829if (cmd_size) {12830vn_encode_vkDeviceWaitIdle(enc, cmd_flags, device);12831vn_instance_submit_command(vn_instance, submit);12832if (cmd_data != local_cmd_data)12833free(cmd_data);12834}12835}1283612837static inline void vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties, struct vn_instance_submit_command *submit)12838{12839uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12840void *cmd_data = local_cmd_data;12841size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);12842if (cmd_size > sizeof(local_cmd_data)) {12843cmd_data = malloc(cmd_size);12844if (!cmd_data)12845cmd_size = 0;12846}12847const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties_reply(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties) : 0;1284812849struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12850if (cmd_size) {12851vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties(enc, cmd_flags, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);12852vn_instance_submit_command(vn_instance, submit);12853if (cmd_data != local_cmd_data)12854free(cmd_data);12855}12856}1285712858static inline void vn_submit_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures, struct vn_instance_submit_command *submit)12859{12860uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12861void *cmd_data = local_cmd_data;12862size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);12863if (cmd_size > sizeof(local_cmd_data)) {12864cmd_data = malloc(cmd_size);12865if (!cmd_data)12866cmd_size = 0;12867}12868const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFeatures2_reply(physicalDevice, pFeatures) : 0;1286912870struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12871if (cmd_size) {12872vn_encode_vkGetPhysicalDeviceFeatures2(enc, cmd_flags, physicalDevice, pFeatures);12873vn_instance_submit_command(vn_instance, submit);12874if (cmd_data != local_cmd_data)12875free(cmd_data);12876}12877}1287812879static inline void vn_submit_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties, struct vn_instance_submit_command *submit)12880{12881uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12882void *cmd_data = local_cmd_data;12883size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);12884if (cmd_size > sizeof(local_cmd_data)) {12885cmd_data = malloc(cmd_size);12886if (!cmd_data)12887cmd_size = 0;12888}12889const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceProperties2_reply(physicalDevice, pProperties) : 0;1289012891struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12892if (cmd_size) {12893vn_encode_vkGetPhysicalDeviceProperties2(enc, cmd_flags, physicalDevice, pProperties);12894vn_instance_submit_command(vn_instance, submit);12895if (cmd_data != local_cmd_data)12896free(cmd_data);12897}12898}1289912900static inline void vn_submit_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties, struct vn_instance_submit_command *submit)12901{12902uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12903void *cmd_data = local_cmd_data;12904size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);12905if (cmd_size > sizeof(local_cmd_data)) {12906cmd_data = malloc(cmd_size);12907if (!cmd_data)12908cmd_size = 0;12909}12910const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceFormatProperties2_reply(physicalDevice, format, pFormatProperties) : 0;1291112912struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12913if (cmd_size) {12914vn_encode_vkGetPhysicalDeviceFormatProperties2(enc, cmd_flags, physicalDevice, format, pFormatProperties);12915vn_instance_submit_command(vn_instance, submit);12916if (cmd_data != local_cmd_data)12917free(cmd_data);12918}12919}1292012921static inline void vn_submit_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties, struct vn_instance_submit_command *submit)12922{12923uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12924void *cmd_data = local_cmd_data;12925size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties);12926if (cmd_size > sizeof(local_cmd_data)) {12927cmd_data = malloc(cmd_size);12928if (!cmd_data)12929cmd_size = 0;12930}12931const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceImageFormatProperties2_reply(physicalDevice, pImageFormatInfo, pImageFormatProperties) : 0;1293212933struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12934if (cmd_size) {12935vn_encode_vkGetPhysicalDeviceImageFormatProperties2(enc, cmd_flags, physicalDevice, pImageFormatInfo, pImageFormatProperties);12936vn_instance_submit_command(vn_instance, submit);12937if (cmd_data != local_cmd_data)12938free(cmd_data);12939}12940}1294112942static inline void vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties, struct vn_instance_submit_command *submit)12943{12944uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12945void *cmd_data = local_cmd_data;12946size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);12947if (cmd_size > sizeof(local_cmd_data)) {12948cmd_data = malloc(cmd_size);12949if (!cmd_data)12950cmd_size = 0;12951}12952const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceQueueFamilyProperties2_reply(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties) : 0;1295312954struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12955if (cmd_size) {12956vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2(enc, cmd_flags, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);12957vn_instance_submit_command(vn_instance, submit);12958if (cmd_data != local_cmd_data)12959free(cmd_data);12960}12961}1296212963static inline void vn_submit_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties, struct vn_instance_submit_command *submit)12964{12965uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12966void *cmd_data = local_cmd_data;12967size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);12968if (cmd_size > sizeof(local_cmd_data)) {12969cmd_data = malloc(cmd_size);12970if (!cmd_data)12971cmd_size = 0;12972}12973const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceMemoryProperties2_reply(physicalDevice, pMemoryProperties) : 0;1297412975struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12976if (cmd_size) {12977vn_encode_vkGetPhysicalDeviceMemoryProperties2(enc, cmd_flags, physicalDevice, pMemoryProperties);12978vn_instance_submit_command(vn_instance, submit);12979if (cmd_data != local_cmd_data)12980free(cmd_data);12981}12982}1298312984static inline void vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties, struct vn_instance_submit_command *submit)12985{12986uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];12987void *cmd_data = local_cmd_data;12988size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);12989if (cmd_size > sizeof(local_cmd_data)) {12990cmd_data = malloc(cmd_size);12991if (!cmd_data)12992cmd_size = 0;12993}12994const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(physicalDevice, pFormatInfo, pPropertyCount, pProperties) : 0;1299512996struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);12997if (cmd_size) {12998vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2(enc, cmd_flags, physicalDevice, pFormatInfo, pPropertyCount, pProperties);12999vn_instance_submit_command(vn_instance, submit);13000if (cmd_data != local_cmd_data)13001free(cmd_data);13002}13003}1300413005static inline void vn_submit_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties, struct vn_instance_submit_command *submit)13006{13007uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];13008void *cmd_data = local_cmd_data;13009size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);13010if (cmd_size > sizeof(local_cmd_data)) {13011cmd_data = malloc(cmd_size);13012if (!cmd_data)13013cmd_size = 0;13014}13015const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalBufferProperties_reply(physicalDevice, pExternalBufferInfo, pExternalBufferProperties) : 0;1301613017struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);13018if (cmd_size) {13019vn_encode_vkGetPhysicalDeviceExternalBufferProperties(enc, cmd_flags, physicalDevice, pExternalBufferInfo, pExternalBufferProperties);13020vn_instance_submit_command(vn_instance, submit);13021if (cmd_data != local_cmd_data)13022free(cmd_data);13023}13024}1302513026static inline void vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties, struct vn_instance_submit_command *submit)13027{13028uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];13029void *cmd_data = local_cmd_data;13030size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);13031if (cmd_size > sizeof(local_cmd_data)) {13032cmd_data = malloc(cmd_size);13033if (!cmd_data)13034cmd_size = 0;13035}13036const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties) : 0;1303713038struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);13039if (cmd_size) {13040vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties(enc, cmd_flags, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);13041vn_instance_submit_command(vn_instance, submit);13042if (cmd_data != local_cmd_data)13043free(cmd_data);13044}13045}1304613047static inline void vn_submit_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties, struct vn_instance_submit_command *submit)13048{13049uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];13050void *cmd_data = local_cmd_data;13051size_t cmd_size = vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties);13052if (cmd_size > sizeof(local_cmd_data)) {13053cmd_data = malloc(cmd_size);13054if (!cmd_data)13055cmd_size = 0;13056}13057const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetPhysicalDeviceExternalFenceProperties_reply(physicalDevice, pExternalFenceInfo, pExternalFenceProperties) : 0;1305813059struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);13060if (cmd_size) {13061vn_encode_vkGetPhysicalDeviceExternalFenceProperties(enc, cmd_flags, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);13062vn_instance_submit_command(vn_instance, submit);13063if (cmd_data != local_cmd_data)13064free(cmd_data);13065}13066}1306713068static inline void vn_submit_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, struct vn_instance_submit_command *submit)13069{13070uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];13071void *cmd_data = local_cmd_data;13072size_t cmd_size = vn_sizeof_vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);13073if (cmd_size > sizeof(local_cmd_data)) {13074cmd_data = malloc(cmd_size);13075if (!cmd_data)13076cmd_size = 0;13077}13078const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkEnumeratePhysicalDeviceGroups_reply(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties) : 0;1307913080struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);13081if (cmd_size) {13082vn_encode_vkEnumeratePhysicalDeviceGroups(enc, cmd_flags, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);13083vn_instance_submit_command(vn_instance, submit);13084if (cmd_data != local_cmd_data)13085free(cmd_data);13086}13087}1308813089static inline void vn_submit_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures, struct vn_instance_submit_command *submit)13090{13091uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];13092void *cmd_data = local_cmd_data;13093size_t cmd_size = vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);13094if (cmd_size > sizeof(local_cmd_data)) {13095cmd_data = malloc(cmd_size);13096if (!cmd_data)13097cmd_size = 0;13098}13099const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceGroupPeerMemoryFeatures_reply(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures) : 0;1310013101struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);13102if (cmd_size) {13103vn_encode_vkGetDeviceGroupPeerMemoryFeatures(enc, cmd_flags, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);13104vn_instance_submit_command(vn_instance, submit);13105if (cmd_data != local_cmd_data)13106free(cmd_data);13107}13108}1310913110static inline void vn_submit_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkCommandFlagsEXT cmd_flags, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue, struct vn_instance_submit_command *submit)13111{13112uint8_t local_cmd_data[VN_SUBMIT_LOCAL_CMD_SIZE];13113void *cmd_data = local_cmd_data;13114size_t cmd_size = vn_sizeof_vkGetDeviceQueue2(device, pQueueInfo, pQueue);13115if (cmd_size > sizeof(local_cmd_data)) {13116cmd_data = malloc(cmd_size);13117if (!cmd_data)13118cmd_size = 0;13119}13120const size_t reply_size = cmd_flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT ? vn_sizeof_vkGetDeviceQueue2_reply(device, pQueueInfo, pQueue) : 0;1312113122struct vn_cs_encoder *enc = vn_instance_submit_command_init(vn_instance, submit, cmd_data, cmd_size, reply_size);13123if (cmd_size) {13124vn_encode_vkGetDeviceQueue2(enc, cmd_flags, device, pQueueInfo, pQueue);13125vn_instance_submit_command(vn_instance, submit);13126if (cmd_data != local_cmd_data)13127free(cmd_data);13128}13129}1313013131static inline VkResult vn_call_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)13132{13133struct vn_instance_submit_command submit;13134vn_submit_vkEnumeratePhysicalDevices(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pPhysicalDeviceCount, pPhysicalDevices, &submit);13135struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13136if (dec) {13137const VkResult ret = vn_decode_vkEnumeratePhysicalDevices_reply(dec, instance, pPhysicalDeviceCount, pPhysicalDevices);13138vn_instance_free_command_reply(vn_instance, &submit);13139return ret;13140} else {13141return VK_ERROR_OUT_OF_HOST_MEMORY;13142}13143}1314413145static inline void vn_async_vkEnumeratePhysicalDevices(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices)13146{13147struct vn_instance_submit_command submit;13148vn_submit_vkEnumeratePhysicalDevices(vn_instance, 0, instance, pPhysicalDeviceCount, pPhysicalDevices, &submit);13149}1315013151static inline void vn_call_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)13152{13153struct vn_instance_submit_command submit;13154vn_submit_vkGetPhysicalDeviceProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pProperties, &submit);13155struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13156if (dec) {13157vn_decode_vkGetPhysicalDeviceProperties_reply(dec, physicalDevice, pProperties);13158vn_instance_free_command_reply(vn_instance, &submit);13159}13160}1316113162static inline void vn_async_vkGetPhysicalDeviceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties)13163{13164struct vn_instance_submit_command submit;13165vn_submit_vkGetPhysicalDeviceProperties(vn_instance, 0, physicalDevice, pProperties, &submit);13166}1316713168static inline void vn_call_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)13169{13170struct vn_instance_submit_command submit;13171vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);13172struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13173if (dec) {13174vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_reply(dec, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);13175vn_instance_free_command_reply(vn_instance, &submit);13176}13177}1317813179static inline void vn_async_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties)13180{13181struct vn_instance_submit_command submit;13182vn_submit_vkGetPhysicalDeviceQueueFamilyProperties(vn_instance, 0, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);13183}1318413185static inline void vn_call_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)13186{13187struct vn_instance_submit_command submit;13188vn_submit_vkGetPhysicalDeviceMemoryProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pMemoryProperties, &submit);13189struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13190if (dec) {13191vn_decode_vkGetPhysicalDeviceMemoryProperties_reply(dec, physicalDevice, pMemoryProperties);13192vn_instance_free_command_reply(vn_instance, &submit);13193}13194}1319513196static inline void vn_async_vkGetPhysicalDeviceMemoryProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties)13197{13198struct vn_instance_submit_command submit;13199vn_submit_vkGetPhysicalDeviceMemoryProperties(vn_instance, 0, physicalDevice, pMemoryProperties, &submit);13200}1320113202static inline void vn_call_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)13203{13204struct vn_instance_submit_command submit;13205vn_submit_vkGetPhysicalDeviceFeatures(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFeatures, &submit);13206struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13207if (dec) {13208vn_decode_vkGetPhysicalDeviceFeatures_reply(dec, physicalDevice, pFeatures);13209vn_instance_free_command_reply(vn_instance, &submit);13210}13211}1321213213static inline void vn_async_vkGetPhysicalDeviceFeatures(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)13214{13215struct vn_instance_submit_command submit;13216vn_submit_vkGetPhysicalDeviceFeatures(vn_instance, 0, physicalDevice, pFeatures, &submit);13217}1321813219static inline void vn_call_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)13220{13221struct vn_instance_submit_command submit;13222vn_submit_vkGetPhysicalDeviceFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, pFormatProperties, &submit);13223struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13224if (dec) {13225vn_decode_vkGetPhysicalDeviceFormatProperties_reply(dec, physicalDevice, format, pFormatProperties);13226vn_instance_free_command_reply(vn_instance, &submit);13227}13228}1322913230static inline void vn_async_vkGetPhysicalDeviceFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties)13231{13232struct vn_instance_submit_command submit;13233vn_submit_vkGetPhysicalDeviceFormatProperties(vn_instance, 0, physicalDevice, format, pFormatProperties, &submit);13234}1323513236static inline VkResult vn_call_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)13237{13238struct vn_instance_submit_command submit;13239vn_submit_vkGetPhysicalDeviceImageFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, &submit);13240struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13241if (dec) {13242const VkResult ret = vn_decode_vkGetPhysicalDeviceImageFormatProperties_reply(dec, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);13243vn_instance_free_command_reply(vn_instance, &submit);13244return ret;13245} else {13246return VK_ERROR_OUT_OF_HOST_MEMORY;13247}13248}1324913250static inline void vn_async_vkGetPhysicalDeviceImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)13251{13252struct vn_instance_submit_command submit;13253vn_submit_vkGetPhysicalDeviceImageFormatProperties(vn_instance, 0, physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties, &submit);13254}1325513256static inline VkResult vn_call_vkCreateDevice(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)13257{13258struct vn_instance_submit_command submit;13259vn_submit_vkCreateDevice(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pCreateInfo, pAllocator, pDevice, &submit);13260struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13261if (dec) {13262const VkResult ret = vn_decode_vkCreateDevice_reply(dec, physicalDevice, pCreateInfo, pAllocator, pDevice);13263vn_instance_free_command_reply(vn_instance, &submit);13264return ret;13265} else {13266return VK_ERROR_OUT_OF_HOST_MEMORY;13267}13268}1326913270static inline void vn_async_vkCreateDevice(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)13271{13272struct vn_instance_submit_command submit;13273vn_submit_vkCreateDevice(vn_instance, 0, physicalDevice, pCreateInfo, pAllocator, pDevice, &submit);13274}1327513276static inline void vn_call_vkDestroyDevice(struct vn_instance *vn_instance, VkDevice device, const VkAllocationCallbacks* pAllocator)13277{13278struct vn_instance_submit_command submit;13279vn_submit_vkDestroyDevice(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pAllocator, &submit);13280struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13281if (dec) {13282vn_decode_vkDestroyDevice_reply(dec, device, pAllocator);13283vn_instance_free_command_reply(vn_instance, &submit);13284}13285}1328613287static inline void vn_async_vkDestroyDevice(struct vn_instance *vn_instance, VkDevice device, const VkAllocationCallbacks* pAllocator)13288{13289struct vn_instance_submit_command submit;13290vn_submit_vkDestroyDevice(vn_instance, 0, device, pAllocator, &submit);13291}1329213293static inline VkResult vn_call_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)13294{13295struct vn_instance_submit_command submit;13296vn_submit_vkEnumerateDeviceLayerProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pPropertyCount, pProperties, &submit);13297struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13298if (dec) {13299const VkResult ret = vn_decode_vkEnumerateDeviceLayerProperties_reply(dec, physicalDevice, pPropertyCount, pProperties);13300vn_instance_free_command_reply(vn_instance, &submit);13301return ret;13302} else {13303return VK_ERROR_OUT_OF_HOST_MEMORY;13304}13305}1330613307static inline void vn_async_vkEnumerateDeviceLayerProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties)13308{13309struct vn_instance_submit_command submit;13310vn_submit_vkEnumerateDeviceLayerProperties(vn_instance, 0, physicalDevice, pPropertyCount, pProperties, &submit);13311}1331213313static inline VkResult vn_call_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)13314{13315struct vn_instance_submit_command submit;13316vn_submit_vkEnumerateDeviceExtensionProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pLayerName, pPropertyCount, pProperties, &submit);13317struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13318if (dec) {13319const VkResult ret = vn_decode_vkEnumerateDeviceExtensionProperties_reply(dec, physicalDevice, pLayerName, pPropertyCount, pProperties);13320vn_instance_free_command_reply(vn_instance, &submit);13321return ret;13322} else {13323return VK_ERROR_OUT_OF_HOST_MEMORY;13324}13325}1332613327static inline void vn_async_vkEnumerateDeviceExtensionProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties)13328{13329struct vn_instance_submit_command submit;13330vn_submit_vkEnumerateDeviceExtensionProperties(vn_instance, 0, physicalDevice, pLayerName, pPropertyCount, pProperties, &submit);13331}1333213333static inline void vn_call_vkGetDeviceQueue(struct vn_instance *vn_instance, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)13334{13335struct vn_instance_submit_command submit;13336vn_submit_vkGetDeviceQueue(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, queueFamilyIndex, queueIndex, pQueue, &submit);13337struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13338if (dec) {13339vn_decode_vkGetDeviceQueue_reply(dec, device, queueFamilyIndex, queueIndex, pQueue);13340vn_instance_free_command_reply(vn_instance, &submit);13341}13342}1334313344static inline void vn_async_vkGetDeviceQueue(struct vn_instance *vn_instance, VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue)13345{13346struct vn_instance_submit_command submit;13347vn_submit_vkGetDeviceQueue(vn_instance, 0, device, queueFamilyIndex, queueIndex, pQueue, &submit);13348}1334913350static inline VkResult vn_call_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkDevice device)13351{13352struct vn_instance_submit_command submit;13353vn_submit_vkDeviceWaitIdle(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, &submit);13354struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13355if (dec) {13356const VkResult ret = vn_decode_vkDeviceWaitIdle_reply(dec, device);13357vn_instance_free_command_reply(vn_instance, &submit);13358return ret;13359} else {13360return VK_ERROR_OUT_OF_HOST_MEMORY;13361}13362}1336313364static inline void vn_async_vkDeviceWaitIdle(struct vn_instance *vn_instance, VkDevice device)13365{13366struct vn_instance_submit_command submit;13367vn_submit_vkDeviceWaitIdle(vn_instance, 0, device, &submit);13368}1336913370static inline void vn_call_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)13371{13372struct vn_instance_submit_command submit;13373vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties, &submit);13374struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13375if (dec) {13376vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(dec, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);13377vn_instance_free_command_reply(vn_instance, &submit);13378}13379}1338013381static inline void vn_async_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)13382{13383struct vn_instance_submit_command submit;13384vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties(vn_instance, 0, physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties, &submit);13385}1338613387static inline void vn_call_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)13388{13389struct vn_instance_submit_command submit;13390vn_submit_vkGetPhysicalDeviceFeatures2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFeatures, &submit);13391struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13392if (dec) {13393vn_decode_vkGetPhysicalDeviceFeatures2_reply(dec, physicalDevice, pFeatures);13394vn_instance_free_command_reply(vn_instance, &submit);13395}13396}1339713398static inline void vn_async_vkGetPhysicalDeviceFeatures2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures)13399{13400struct vn_instance_submit_command submit;13401vn_submit_vkGetPhysicalDeviceFeatures2(vn_instance, 0, physicalDevice, pFeatures, &submit);13402}1340313404static inline void vn_call_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)13405{13406struct vn_instance_submit_command submit;13407vn_submit_vkGetPhysicalDeviceProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pProperties, &submit);13408struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13409if (dec) {13410vn_decode_vkGetPhysicalDeviceProperties2_reply(dec, physicalDevice, pProperties);13411vn_instance_free_command_reply(vn_instance, &submit);13412}13413}1341413415static inline void vn_async_vkGetPhysicalDeviceProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties)13416{13417struct vn_instance_submit_command submit;13418vn_submit_vkGetPhysicalDeviceProperties2(vn_instance, 0, physicalDevice, pProperties, &submit);13419}1342013421static inline void vn_call_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)13422{13423struct vn_instance_submit_command submit;13424vn_submit_vkGetPhysicalDeviceFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, format, pFormatProperties, &submit);13425struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13426if (dec) {13427vn_decode_vkGetPhysicalDeviceFormatProperties2_reply(dec, physicalDevice, format, pFormatProperties);13428vn_instance_free_command_reply(vn_instance, &submit);13429}13430}1343113432static inline void vn_async_vkGetPhysicalDeviceFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties)13433{13434struct vn_instance_submit_command submit;13435vn_submit_vkGetPhysicalDeviceFormatProperties2(vn_instance, 0, physicalDevice, format, pFormatProperties, &submit);13436}1343713438static inline VkResult vn_call_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)13439{13440struct vn_instance_submit_command submit;13441vn_submit_vkGetPhysicalDeviceImageFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pImageFormatInfo, pImageFormatProperties, &submit);13442struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13443if (dec) {13444const VkResult ret = vn_decode_vkGetPhysicalDeviceImageFormatProperties2_reply(dec, physicalDevice, pImageFormatInfo, pImageFormatProperties);13445vn_instance_free_command_reply(vn_instance, &submit);13446return ret;13447} else {13448return VK_ERROR_OUT_OF_HOST_MEMORY;13449}13450}1345113452static inline void vn_async_vkGetPhysicalDeviceImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties)13453{13454struct vn_instance_submit_command submit;13455vn_submit_vkGetPhysicalDeviceImageFormatProperties2(vn_instance, 0, physicalDevice, pImageFormatInfo, pImageFormatProperties, &submit);13456}1345713458static inline void vn_call_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)13459{13460struct vn_instance_submit_command submit;13461vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);13462struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13463if (dec) {13464vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(dec, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);13465vn_instance_free_command_reply(vn_instance, &submit);13466}13467}1346813469static inline void vn_async_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties)13470{13471struct vn_instance_submit_command submit;13472vn_submit_vkGetPhysicalDeviceQueueFamilyProperties2(vn_instance, 0, physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties, &submit);13473}1347413475static inline void vn_call_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)13476{13477struct vn_instance_submit_command submit;13478vn_submit_vkGetPhysicalDeviceMemoryProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pMemoryProperties, &submit);13479struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13480if (dec) {13481vn_decode_vkGetPhysicalDeviceMemoryProperties2_reply(dec, physicalDevice, pMemoryProperties);13482vn_instance_free_command_reply(vn_instance, &submit);13483}13484}1348513486static inline void vn_async_vkGetPhysicalDeviceMemoryProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties)13487{13488struct vn_instance_submit_command submit;13489vn_submit_vkGetPhysicalDeviceMemoryProperties2(vn_instance, 0, physicalDevice, pMemoryProperties, &submit);13490}1349113492static inline void vn_call_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)13493{13494struct vn_instance_submit_command submit;13495vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pFormatInfo, pPropertyCount, pProperties, &submit);13496struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13497if (dec) {13498vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(dec, physicalDevice, pFormatInfo, pPropertyCount, pProperties);13499vn_instance_free_command_reply(vn_instance, &submit);13500}13501}1350213503static inline void vn_async_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties)13504{13505struct vn_instance_submit_command submit;13506vn_submit_vkGetPhysicalDeviceSparseImageFormatProperties2(vn_instance, 0, physicalDevice, pFormatInfo, pPropertyCount, pProperties, &submit);13507}1350813509static inline void vn_call_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)13510{13511struct vn_instance_submit_command submit;13512vn_submit_vkGetPhysicalDeviceExternalBufferProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalBufferInfo, pExternalBufferProperties, &submit);13513struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13514if (dec) {13515vn_decode_vkGetPhysicalDeviceExternalBufferProperties_reply(dec, physicalDevice, pExternalBufferInfo, pExternalBufferProperties);13516vn_instance_free_command_reply(vn_instance, &submit);13517}13518}1351913520static inline void vn_async_vkGetPhysicalDeviceExternalBufferProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties)13521{13522struct vn_instance_submit_command submit;13523vn_submit_vkGetPhysicalDeviceExternalBufferProperties(vn_instance, 0, physicalDevice, pExternalBufferInfo, pExternalBufferProperties, &submit);13524}1352513526static inline void vn_call_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)13527{13528struct vn_instance_submit_command submit;13529vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties, &submit);13530struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13531if (dec) {13532vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(dec, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);13533vn_instance_free_command_reply(vn_instance, &submit);13534}13535}1353613537static inline void vn_async_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties)13538{13539struct vn_instance_submit_command submit;13540vn_submit_vkGetPhysicalDeviceExternalSemaphoreProperties(vn_instance, 0, physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties, &submit);13541}1354213543static inline void vn_call_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)13544{13545struct vn_instance_submit_command submit;13546vn_submit_vkGetPhysicalDeviceExternalFenceProperties(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, physicalDevice, pExternalFenceInfo, pExternalFenceProperties, &submit);13547struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13548if (dec) {13549vn_decode_vkGetPhysicalDeviceExternalFenceProperties_reply(dec, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);13550vn_instance_free_command_reply(vn_instance, &submit);13551}13552}1355313554static inline void vn_async_vkGetPhysicalDeviceExternalFenceProperties(struct vn_instance *vn_instance, VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties)13555{13556struct vn_instance_submit_command submit;13557vn_submit_vkGetPhysicalDeviceExternalFenceProperties(vn_instance, 0, physicalDevice, pExternalFenceInfo, pExternalFenceProperties, &submit);13558}1355913560static inline VkResult vn_call_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)13561{13562struct vn_instance_submit_command submit;13563vn_submit_vkEnumeratePhysicalDeviceGroups(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties, &submit);13564struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13565if (dec) {13566const VkResult ret = vn_decode_vkEnumeratePhysicalDeviceGroups_reply(dec, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);13567vn_instance_free_command_reply(vn_instance, &submit);13568return ret;13569} else {13570return VK_ERROR_OUT_OF_HOST_MEMORY;13571}13572}1357313574static inline void vn_async_vkEnumeratePhysicalDeviceGroups(struct vn_instance *vn_instance, VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)13575{13576struct vn_instance_submit_command submit;13577vn_submit_vkEnumeratePhysicalDeviceGroups(vn_instance, 0, instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties, &submit);13578}1357913580static inline void vn_call_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)13581{13582struct vn_instance_submit_command submit;13583vn_submit_vkGetDeviceGroupPeerMemoryFeatures(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures, &submit);13584struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13585if (dec) {13586vn_decode_vkGetDeviceGroupPeerMemoryFeatures_reply(dec, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);13587vn_instance_free_command_reply(vn_instance, &submit);13588}13589}1359013591static inline void vn_async_vkGetDeviceGroupPeerMemoryFeatures(struct vn_instance *vn_instance, VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)13592{13593struct vn_instance_submit_command submit;13594vn_submit_vkGetDeviceGroupPeerMemoryFeatures(vn_instance, 0, device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures, &submit);13595}1359613597static inline void vn_call_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)13598{13599struct vn_instance_submit_command submit;13600vn_submit_vkGetDeviceQueue2(vn_instance, VK_COMMAND_GENERATE_REPLY_BIT_EXT, device, pQueueInfo, pQueue, &submit);13601struct vn_cs_decoder *dec = vn_instance_get_command_reply(vn_instance, &submit);13602if (dec) {13603vn_decode_vkGetDeviceQueue2_reply(dec, device, pQueueInfo, pQueue);13604vn_instance_free_command_reply(vn_instance, &submit);13605}13606}1360713608static inline void vn_async_vkGetDeviceQueue2(struct vn_instance *vn_instance, VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue)13609{13610struct vn_instance_submit_command submit;13611vn_submit_vkGetDeviceQueue2(vn_instance, 0, device, pQueueInfo, pQueue, &submit);13612}1361313614#endif /* VN_PROTOCOL_DRIVER_DEVICE_H */136151361613617