1 /* This file is generated by venus-protocol. See vn_protocol_renderer.h. */
2
3 /*
4 * Copyright 2020 Google LLC
5 * SPDX-License-Identifier: MIT
6 */
7
8 #ifndef VN_PROTOCOL_RENDERER_DEVICE_H
9 #define VN_PROTOCOL_RENDERER_DEVICE_H
10
11 #include "vn_protocol_renderer_structs.h"
12
13 #pragma GCC diagnostic push
14 #pragma GCC diagnostic ignored "-Wpointer-arith"
15 #pragma GCC diagnostic ignored "-Wunused-parameter"
16
17 /*
18 * These structs/unions/commands are not included
19 *
20 * vkGetDeviceProcAddr
21 */
22
23 /* struct VkPhysicalDeviceLimits */
24
25 static inline void
vn_encode_VkPhysicalDeviceLimits(struct vn_cs_encoder * enc,const VkPhysicalDeviceLimits * val)26 vn_encode_VkPhysicalDeviceLimits(struct vn_cs_encoder *enc, const VkPhysicalDeviceLimits *val)
27 {
28 vn_encode_uint32_t(enc, &val->maxImageDimension1D);
29 vn_encode_uint32_t(enc, &val->maxImageDimension2D);
30 vn_encode_uint32_t(enc, &val->maxImageDimension3D);
31 vn_encode_uint32_t(enc, &val->maxImageDimensionCube);
32 vn_encode_uint32_t(enc, &val->maxImageArrayLayers);
33 vn_encode_uint32_t(enc, &val->maxTexelBufferElements);
34 vn_encode_uint32_t(enc, &val->maxUniformBufferRange);
35 vn_encode_uint32_t(enc, &val->maxStorageBufferRange);
36 vn_encode_uint32_t(enc, &val->maxPushConstantsSize);
37 vn_encode_uint32_t(enc, &val->maxMemoryAllocationCount);
38 vn_encode_uint32_t(enc, &val->maxSamplerAllocationCount);
39 vn_encode_VkDeviceSize(enc, &val->bufferImageGranularity);
40 vn_encode_VkDeviceSize(enc, &val->sparseAddressSpaceSize);
41 vn_encode_uint32_t(enc, &val->maxBoundDescriptorSets);
42 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorSamplers);
43 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUniformBuffers);
44 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorStorageBuffers);
45 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorSampledImages);
46 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorStorageImages);
47 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorInputAttachments);
48 vn_encode_uint32_t(enc, &val->maxPerStageResources);
49 vn_encode_uint32_t(enc, &val->maxDescriptorSetSamplers);
50 vn_encode_uint32_t(enc, &val->maxDescriptorSetUniformBuffers);
51 vn_encode_uint32_t(enc, &val->maxDescriptorSetUniformBuffersDynamic);
52 vn_encode_uint32_t(enc, &val->maxDescriptorSetStorageBuffers);
53 vn_encode_uint32_t(enc, &val->maxDescriptorSetStorageBuffersDynamic);
54 vn_encode_uint32_t(enc, &val->maxDescriptorSetSampledImages);
55 vn_encode_uint32_t(enc, &val->maxDescriptorSetStorageImages);
56 vn_encode_uint32_t(enc, &val->maxDescriptorSetInputAttachments);
57 vn_encode_uint32_t(enc, &val->maxVertexInputAttributes);
58 vn_encode_uint32_t(enc, &val->maxVertexInputBindings);
59 vn_encode_uint32_t(enc, &val->maxVertexInputAttributeOffset);
60 vn_encode_uint32_t(enc, &val->maxVertexInputBindingStride);
61 vn_encode_uint32_t(enc, &val->maxVertexOutputComponents);
62 vn_encode_uint32_t(enc, &val->maxTessellationGenerationLevel);
63 vn_encode_uint32_t(enc, &val->maxTessellationPatchSize);
64 vn_encode_uint32_t(enc, &val->maxTessellationControlPerVertexInputComponents);
65 vn_encode_uint32_t(enc, &val->maxTessellationControlPerVertexOutputComponents);
66 vn_encode_uint32_t(enc, &val->maxTessellationControlPerPatchOutputComponents);
67 vn_encode_uint32_t(enc, &val->maxTessellationControlTotalOutputComponents);
68 vn_encode_uint32_t(enc, &val->maxTessellationEvaluationInputComponents);
69 vn_encode_uint32_t(enc, &val->maxTessellationEvaluationOutputComponents);
70 vn_encode_uint32_t(enc, &val->maxGeometryShaderInvocations);
71 vn_encode_uint32_t(enc, &val->maxGeometryInputComponents);
72 vn_encode_uint32_t(enc, &val->maxGeometryOutputComponents);
73 vn_encode_uint32_t(enc, &val->maxGeometryOutputVertices);
74 vn_encode_uint32_t(enc, &val->maxGeometryTotalOutputComponents);
75 vn_encode_uint32_t(enc, &val->maxFragmentInputComponents);
76 vn_encode_uint32_t(enc, &val->maxFragmentOutputAttachments);
77 vn_encode_uint32_t(enc, &val->maxFragmentDualSrcAttachments);
78 vn_encode_uint32_t(enc, &val->maxFragmentCombinedOutputResources);
79 vn_encode_uint32_t(enc, &val->maxComputeSharedMemorySize);
80 vn_encode_array_size(enc, 3);
81 vn_encode_uint32_t_array(enc, val->maxComputeWorkGroupCount, 3);
82 vn_encode_uint32_t(enc, &val->maxComputeWorkGroupInvocations);
83 vn_encode_array_size(enc, 3);
84 vn_encode_uint32_t_array(enc, val->maxComputeWorkGroupSize, 3);
85 vn_encode_uint32_t(enc, &val->subPixelPrecisionBits);
86 vn_encode_uint32_t(enc, &val->subTexelPrecisionBits);
87 vn_encode_uint32_t(enc, &val->mipmapPrecisionBits);
88 vn_encode_uint32_t(enc, &val->maxDrawIndexedIndexValue);
89 vn_encode_uint32_t(enc, &val->maxDrawIndirectCount);
90 vn_encode_float(enc, &val->maxSamplerLodBias);
91 vn_encode_float(enc, &val->maxSamplerAnisotropy);
92 vn_encode_uint32_t(enc, &val->maxViewports);
93 vn_encode_array_size(enc, 2);
94 vn_encode_uint32_t_array(enc, val->maxViewportDimensions, 2);
95 vn_encode_array_size(enc, 2);
96 vn_encode_float_array(enc, val->viewportBoundsRange, 2);
97 vn_encode_uint32_t(enc, &val->viewportSubPixelBits);
98 vn_encode_size_t(enc, &val->minMemoryMapAlignment);
99 vn_encode_VkDeviceSize(enc, &val->minTexelBufferOffsetAlignment);
100 vn_encode_VkDeviceSize(enc, &val->minUniformBufferOffsetAlignment);
101 vn_encode_VkDeviceSize(enc, &val->minStorageBufferOffsetAlignment);
102 vn_encode_int32_t(enc, &val->minTexelOffset);
103 vn_encode_uint32_t(enc, &val->maxTexelOffset);
104 vn_encode_int32_t(enc, &val->minTexelGatherOffset);
105 vn_encode_uint32_t(enc, &val->maxTexelGatherOffset);
106 vn_encode_float(enc, &val->minInterpolationOffset);
107 vn_encode_float(enc, &val->maxInterpolationOffset);
108 vn_encode_uint32_t(enc, &val->subPixelInterpolationOffsetBits);
109 vn_encode_uint32_t(enc, &val->maxFramebufferWidth);
110 vn_encode_uint32_t(enc, &val->maxFramebufferHeight);
111 vn_encode_uint32_t(enc, &val->maxFramebufferLayers);
112 vn_encode_VkFlags(enc, &val->framebufferColorSampleCounts);
113 vn_encode_VkFlags(enc, &val->framebufferDepthSampleCounts);
114 vn_encode_VkFlags(enc, &val->framebufferStencilSampleCounts);
115 vn_encode_VkFlags(enc, &val->framebufferNoAttachmentsSampleCounts);
116 vn_encode_uint32_t(enc, &val->maxColorAttachments);
117 vn_encode_VkFlags(enc, &val->sampledImageColorSampleCounts);
118 vn_encode_VkFlags(enc, &val->sampledImageIntegerSampleCounts);
119 vn_encode_VkFlags(enc, &val->sampledImageDepthSampleCounts);
120 vn_encode_VkFlags(enc, &val->sampledImageStencilSampleCounts);
121 vn_encode_VkFlags(enc, &val->storageImageSampleCounts);
122 vn_encode_uint32_t(enc, &val->maxSampleMaskWords);
123 vn_encode_VkBool32(enc, &val->timestampComputeAndGraphics);
124 vn_encode_float(enc, &val->timestampPeriod);
125 vn_encode_uint32_t(enc, &val->maxClipDistances);
126 vn_encode_uint32_t(enc, &val->maxCullDistances);
127 vn_encode_uint32_t(enc, &val->maxCombinedClipAndCullDistances);
128 vn_encode_uint32_t(enc, &val->discreteQueuePriorities);
129 vn_encode_array_size(enc, 2);
130 vn_encode_float_array(enc, val->pointSizeRange, 2);
131 vn_encode_array_size(enc, 2);
132 vn_encode_float_array(enc, val->lineWidthRange, 2);
133 vn_encode_float(enc, &val->pointSizeGranularity);
134 vn_encode_float(enc, &val->lineWidthGranularity);
135 vn_encode_VkBool32(enc, &val->strictLines);
136 vn_encode_VkBool32(enc, &val->standardSampleLocations);
137 vn_encode_VkDeviceSize(enc, &val->optimalBufferCopyOffsetAlignment);
138 vn_encode_VkDeviceSize(enc, &val->optimalBufferCopyRowPitchAlignment);
139 vn_encode_VkDeviceSize(enc, &val->nonCoherentAtomSize);
140 }
141
142 static inline void
vn_decode_VkPhysicalDeviceLimits_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLimits * val)143 vn_decode_VkPhysicalDeviceLimits_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLimits *val)
144 {
145 /* skip val->maxImageDimension1D */
146 /* skip val->maxImageDimension2D */
147 /* skip val->maxImageDimension3D */
148 /* skip val->maxImageDimensionCube */
149 /* skip val->maxImageArrayLayers */
150 /* skip val->maxTexelBufferElements */
151 /* skip val->maxUniformBufferRange */
152 /* skip val->maxStorageBufferRange */
153 /* skip val->maxPushConstantsSize */
154 /* skip val->maxMemoryAllocationCount */
155 /* skip val->maxSamplerAllocationCount */
156 /* skip val->bufferImageGranularity */
157 /* skip val->sparseAddressSpaceSize */
158 /* skip val->maxBoundDescriptorSets */
159 /* skip val->maxPerStageDescriptorSamplers */
160 /* skip val->maxPerStageDescriptorUniformBuffers */
161 /* skip val->maxPerStageDescriptorStorageBuffers */
162 /* skip val->maxPerStageDescriptorSampledImages */
163 /* skip val->maxPerStageDescriptorStorageImages */
164 /* skip val->maxPerStageDescriptorInputAttachments */
165 /* skip val->maxPerStageResources */
166 /* skip val->maxDescriptorSetSamplers */
167 /* skip val->maxDescriptorSetUniformBuffers */
168 /* skip val->maxDescriptorSetUniformBuffersDynamic */
169 /* skip val->maxDescriptorSetStorageBuffers */
170 /* skip val->maxDescriptorSetStorageBuffersDynamic */
171 /* skip val->maxDescriptorSetSampledImages */
172 /* skip val->maxDescriptorSetStorageImages */
173 /* skip val->maxDescriptorSetInputAttachments */
174 /* skip val->maxVertexInputAttributes */
175 /* skip val->maxVertexInputBindings */
176 /* skip val->maxVertexInputAttributeOffset */
177 /* skip val->maxVertexInputBindingStride */
178 /* skip val->maxVertexOutputComponents */
179 /* skip val->maxTessellationGenerationLevel */
180 /* skip val->maxTessellationPatchSize */
181 /* skip val->maxTessellationControlPerVertexInputComponents */
182 /* skip val->maxTessellationControlPerVertexOutputComponents */
183 /* skip val->maxTessellationControlPerPatchOutputComponents */
184 /* skip val->maxTessellationControlTotalOutputComponents */
185 /* skip val->maxTessellationEvaluationInputComponents */
186 /* skip val->maxTessellationEvaluationOutputComponents */
187 /* skip val->maxGeometryShaderInvocations */
188 /* skip val->maxGeometryInputComponents */
189 /* skip val->maxGeometryOutputComponents */
190 /* skip val->maxGeometryOutputVertices */
191 /* skip val->maxGeometryTotalOutputComponents */
192 /* skip val->maxFragmentInputComponents */
193 /* skip val->maxFragmentOutputAttachments */
194 /* skip val->maxFragmentDualSrcAttachments */
195 /* skip val->maxFragmentCombinedOutputResources */
196 /* skip val->maxComputeSharedMemorySize */
197 /* skip val->maxComputeWorkGroupCount */
198 /* skip val->maxComputeWorkGroupInvocations */
199 /* skip val->maxComputeWorkGroupSize */
200 /* skip val->subPixelPrecisionBits */
201 /* skip val->subTexelPrecisionBits */
202 /* skip val->mipmapPrecisionBits */
203 /* skip val->maxDrawIndexedIndexValue */
204 /* skip val->maxDrawIndirectCount */
205 /* skip val->maxSamplerLodBias */
206 /* skip val->maxSamplerAnisotropy */
207 /* skip val->maxViewports */
208 /* skip val->maxViewportDimensions */
209 /* skip val->viewportBoundsRange */
210 /* skip val->viewportSubPixelBits */
211 /* skip val->minMemoryMapAlignment */
212 /* skip val->minTexelBufferOffsetAlignment */
213 /* skip val->minUniformBufferOffsetAlignment */
214 /* skip val->minStorageBufferOffsetAlignment */
215 /* skip val->minTexelOffset */
216 /* skip val->maxTexelOffset */
217 /* skip val->minTexelGatherOffset */
218 /* skip val->maxTexelGatherOffset */
219 /* skip val->minInterpolationOffset */
220 /* skip val->maxInterpolationOffset */
221 /* skip val->subPixelInterpolationOffsetBits */
222 /* skip val->maxFramebufferWidth */
223 /* skip val->maxFramebufferHeight */
224 /* skip val->maxFramebufferLayers */
225 /* skip val->framebufferColorSampleCounts */
226 /* skip val->framebufferDepthSampleCounts */
227 /* skip val->framebufferStencilSampleCounts */
228 /* skip val->framebufferNoAttachmentsSampleCounts */
229 /* skip val->maxColorAttachments */
230 /* skip val->sampledImageColorSampleCounts */
231 /* skip val->sampledImageIntegerSampleCounts */
232 /* skip val->sampledImageDepthSampleCounts */
233 /* skip val->sampledImageStencilSampleCounts */
234 /* skip val->storageImageSampleCounts */
235 /* skip val->maxSampleMaskWords */
236 /* skip val->timestampComputeAndGraphics */
237 /* skip val->timestampPeriod */
238 /* skip val->maxClipDistances */
239 /* skip val->maxCullDistances */
240 /* skip val->maxCombinedClipAndCullDistances */
241 /* skip val->discreteQueuePriorities */
242 /* skip val->pointSizeRange */
243 /* skip val->lineWidthRange */
244 /* skip val->pointSizeGranularity */
245 /* skip val->lineWidthGranularity */
246 /* skip val->strictLines */
247 /* skip val->standardSampleLocations */
248 /* skip val->optimalBufferCopyOffsetAlignment */
249 /* skip val->optimalBufferCopyRowPitchAlignment */
250 /* skip val->nonCoherentAtomSize */
251 }
252
253 /* struct VkPhysicalDeviceSparseProperties */
254
255 static inline void
vn_encode_VkPhysicalDeviceSparseProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceSparseProperties * val)256 vn_encode_VkPhysicalDeviceSparseProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceSparseProperties *val)
257 {
258 vn_encode_VkBool32(enc, &val->residencyStandard2DBlockShape);
259 vn_encode_VkBool32(enc, &val->residencyStandard2DMultisampleBlockShape);
260 vn_encode_VkBool32(enc, &val->residencyStandard3DBlockShape);
261 vn_encode_VkBool32(enc, &val->residencyAlignedMipSize);
262 vn_encode_VkBool32(enc, &val->residencyNonResidentStrict);
263 }
264
265 static inline void
vn_decode_VkPhysicalDeviceSparseProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSparseProperties * val)266 vn_decode_VkPhysicalDeviceSparseProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSparseProperties *val)
267 {
268 /* skip val->residencyStandard2DBlockShape */
269 /* skip val->residencyStandard2DMultisampleBlockShape */
270 /* skip val->residencyStandard3DBlockShape */
271 /* skip val->residencyAlignedMipSize */
272 /* skip val->residencyNonResidentStrict */
273 }
274
275 /* struct VkPhysicalDeviceProperties */
276
277 static inline void
vn_encode_VkPhysicalDeviceProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceProperties * val)278 vn_encode_VkPhysicalDeviceProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties *val)
279 {
280 vn_encode_uint32_t(enc, &val->apiVersion);
281 vn_encode_uint32_t(enc, &val->driverVersion);
282 vn_encode_uint32_t(enc, &val->vendorID);
283 vn_encode_uint32_t(enc, &val->deviceID);
284 vn_encode_VkPhysicalDeviceType(enc, &val->deviceType);
285 vn_encode_array_size(enc, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
286 vn_encode_char_array(enc, val->deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
287 vn_encode_array_size(enc, VK_UUID_SIZE);
288 vn_encode_uint8_t_array(enc, val->pipelineCacheUUID, VK_UUID_SIZE);
289 vn_encode_VkPhysicalDeviceLimits(enc, &val->limits);
290 vn_encode_VkPhysicalDeviceSparseProperties(enc, &val->sparseProperties);
291 }
292
293 static inline void
vn_decode_VkPhysicalDeviceProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProperties * val)294 vn_decode_VkPhysicalDeviceProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties *val)
295 {
296 /* skip val->apiVersion */
297 /* skip val->driverVersion */
298 /* skip val->vendorID */
299 /* skip val->deviceID */
300 /* skip val->deviceType */
301 /* skip val->deviceName */
302 /* skip val->pipelineCacheUUID */
303 vn_decode_VkPhysicalDeviceLimits_partial_temp(dec, &val->limits);
304 vn_decode_VkPhysicalDeviceSparseProperties_partial_temp(dec, &val->sparseProperties);
305 }
306
307 /* struct VkQueueFamilyProperties */
308
309 static inline void
vn_encode_VkQueueFamilyProperties(struct vn_cs_encoder * enc,const VkQueueFamilyProperties * val)310 vn_encode_VkQueueFamilyProperties(struct vn_cs_encoder *enc, const VkQueueFamilyProperties *val)
311 {
312 vn_encode_VkFlags(enc, &val->queueFlags);
313 vn_encode_uint32_t(enc, &val->queueCount);
314 vn_encode_uint32_t(enc, &val->timestampValidBits);
315 vn_encode_VkExtent3D(enc, &val->minImageTransferGranularity);
316 }
317
318 static inline void
vn_decode_VkQueueFamilyProperties_partial_temp(struct vn_cs_decoder * dec,VkQueueFamilyProperties * val)319 vn_decode_VkQueueFamilyProperties_partial_temp(struct vn_cs_decoder *dec, VkQueueFamilyProperties *val)
320 {
321 /* skip val->queueFlags */
322 /* skip val->queueCount */
323 /* skip val->timestampValidBits */
324 vn_decode_VkExtent3D_partial_temp(dec, &val->minImageTransferGranularity);
325 }
326
327 /* struct VkMemoryType */
328
329 static inline void
vn_encode_VkMemoryType(struct vn_cs_encoder * enc,const VkMemoryType * val)330 vn_encode_VkMemoryType(struct vn_cs_encoder *enc, const VkMemoryType *val)
331 {
332 vn_encode_VkFlags(enc, &val->propertyFlags);
333 vn_encode_uint32_t(enc, &val->heapIndex);
334 }
335
336 static inline void
vn_decode_VkMemoryType_partial_temp(struct vn_cs_decoder * dec,VkMemoryType * val)337 vn_decode_VkMemoryType_partial_temp(struct vn_cs_decoder *dec, VkMemoryType *val)
338 {
339 /* skip val->propertyFlags */
340 /* skip val->heapIndex */
341 }
342
343 /* struct VkMemoryHeap */
344
345 static inline void
vn_encode_VkMemoryHeap(struct vn_cs_encoder * enc,const VkMemoryHeap * val)346 vn_encode_VkMemoryHeap(struct vn_cs_encoder *enc, const VkMemoryHeap *val)
347 {
348 vn_encode_VkDeviceSize(enc, &val->size);
349 vn_encode_VkFlags(enc, &val->flags);
350 }
351
352 static inline void
vn_decode_VkMemoryHeap_partial_temp(struct vn_cs_decoder * dec,VkMemoryHeap * val)353 vn_decode_VkMemoryHeap_partial_temp(struct vn_cs_decoder *dec, VkMemoryHeap *val)
354 {
355 /* skip val->size */
356 /* skip val->flags */
357 }
358
359 /* struct VkPhysicalDeviceMemoryProperties */
360
361 static inline void
vn_encode_VkPhysicalDeviceMemoryProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceMemoryProperties * val)362 vn_encode_VkPhysicalDeviceMemoryProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties *val)
363 {
364 vn_encode_uint32_t(enc, &val->memoryTypeCount);
365 vn_encode_array_size(enc, VK_MAX_MEMORY_TYPES);
366 for (uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; i++)
367 vn_encode_VkMemoryType(enc, &val->memoryTypes[i]);
368 vn_encode_uint32_t(enc, &val->memoryHeapCount);
369 vn_encode_array_size(enc, VK_MAX_MEMORY_HEAPS);
370 for (uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; i++)
371 vn_encode_VkMemoryHeap(enc, &val->memoryHeaps[i]);
372 }
373
374 static inline void
vn_decode_VkPhysicalDeviceMemoryProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMemoryProperties * val)375 vn_decode_VkPhysicalDeviceMemoryProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties *val)
376 {
377 /* skip val->memoryTypeCount */
378 {
379 const uint32_t iter_count = vn_decode_array_size(dec, VK_MAX_MEMORY_TYPES);
380 for (uint32_t i = 0; i < iter_count; i++)
381 vn_decode_VkMemoryType_partial_temp(dec, &val->memoryTypes[i]);
382 }
383 /* skip val->memoryHeapCount */
384 {
385 const uint32_t iter_count = vn_decode_array_size(dec, VK_MAX_MEMORY_HEAPS);
386 for (uint32_t i = 0; i < iter_count; i++)
387 vn_decode_VkMemoryHeap_partial_temp(dec, &val->memoryHeaps[i]);
388 }
389 }
390
391 /* struct VkPhysicalDeviceFeatures */
392
393 static inline void
vn_encode_VkPhysicalDeviceFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceFeatures * val)394 vn_encode_VkPhysicalDeviceFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures *val)
395 {
396 vn_encode_VkBool32(enc, &val->robustBufferAccess);
397 vn_encode_VkBool32(enc, &val->fullDrawIndexUint32);
398 vn_encode_VkBool32(enc, &val->imageCubeArray);
399 vn_encode_VkBool32(enc, &val->independentBlend);
400 vn_encode_VkBool32(enc, &val->geometryShader);
401 vn_encode_VkBool32(enc, &val->tessellationShader);
402 vn_encode_VkBool32(enc, &val->sampleRateShading);
403 vn_encode_VkBool32(enc, &val->dualSrcBlend);
404 vn_encode_VkBool32(enc, &val->logicOp);
405 vn_encode_VkBool32(enc, &val->multiDrawIndirect);
406 vn_encode_VkBool32(enc, &val->drawIndirectFirstInstance);
407 vn_encode_VkBool32(enc, &val->depthClamp);
408 vn_encode_VkBool32(enc, &val->depthBiasClamp);
409 vn_encode_VkBool32(enc, &val->fillModeNonSolid);
410 vn_encode_VkBool32(enc, &val->depthBounds);
411 vn_encode_VkBool32(enc, &val->wideLines);
412 vn_encode_VkBool32(enc, &val->largePoints);
413 vn_encode_VkBool32(enc, &val->alphaToOne);
414 vn_encode_VkBool32(enc, &val->multiViewport);
415 vn_encode_VkBool32(enc, &val->samplerAnisotropy);
416 vn_encode_VkBool32(enc, &val->textureCompressionETC2);
417 vn_encode_VkBool32(enc, &val->textureCompressionASTC_LDR);
418 vn_encode_VkBool32(enc, &val->textureCompressionBC);
419 vn_encode_VkBool32(enc, &val->occlusionQueryPrecise);
420 vn_encode_VkBool32(enc, &val->pipelineStatisticsQuery);
421 vn_encode_VkBool32(enc, &val->vertexPipelineStoresAndAtomics);
422 vn_encode_VkBool32(enc, &val->fragmentStoresAndAtomics);
423 vn_encode_VkBool32(enc, &val->shaderTessellationAndGeometryPointSize);
424 vn_encode_VkBool32(enc, &val->shaderImageGatherExtended);
425 vn_encode_VkBool32(enc, &val->shaderStorageImageExtendedFormats);
426 vn_encode_VkBool32(enc, &val->shaderStorageImageMultisample);
427 vn_encode_VkBool32(enc, &val->shaderStorageImageReadWithoutFormat);
428 vn_encode_VkBool32(enc, &val->shaderStorageImageWriteWithoutFormat);
429 vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayDynamicIndexing);
430 vn_encode_VkBool32(enc, &val->shaderSampledImageArrayDynamicIndexing);
431 vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayDynamicIndexing);
432 vn_encode_VkBool32(enc, &val->shaderStorageImageArrayDynamicIndexing);
433 vn_encode_VkBool32(enc, &val->shaderClipDistance);
434 vn_encode_VkBool32(enc, &val->shaderCullDistance);
435 vn_encode_VkBool32(enc, &val->shaderFloat64);
436 vn_encode_VkBool32(enc, &val->shaderInt64);
437 vn_encode_VkBool32(enc, &val->shaderInt16);
438 vn_encode_VkBool32(enc, &val->shaderResourceResidency);
439 vn_encode_VkBool32(enc, &val->shaderResourceMinLod);
440 vn_encode_VkBool32(enc, &val->sparseBinding);
441 vn_encode_VkBool32(enc, &val->sparseResidencyBuffer);
442 vn_encode_VkBool32(enc, &val->sparseResidencyImage2D);
443 vn_encode_VkBool32(enc, &val->sparseResidencyImage3D);
444 vn_encode_VkBool32(enc, &val->sparseResidency2Samples);
445 vn_encode_VkBool32(enc, &val->sparseResidency4Samples);
446 vn_encode_VkBool32(enc, &val->sparseResidency8Samples);
447 vn_encode_VkBool32(enc, &val->sparseResidency16Samples);
448 vn_encode_VkBool32(enc, &val->sparseResidencyAliased);
449 vn_encode_VkBool32(enc, &val->variableMultisampleRate);
450 vn_encode_VkBool32(enc, &val->inheritedQueries);
451 }
452
453 static inline void
vn_decode_VkPhysicalDeviceFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFeatures * val)454 vn_decode_VkPhysicalDeviceFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures *val)
455 {
456 vn_decode_VkBool32(dec, &val->robustBufferAccess);
457 vn_decode_VkBool32(dec, &val->fullDrawIndexUint32);
458 vn_decode_VkBool32(dec, &val->imageCubeArray);
459 vn_decode_VkBool32(dec, &val->independentBlend);
460 vn_decode_VkBool32(dec, &val->geometryShader);
461 vn_decode_VkBool32(dec, &val->tessellationShader);
462 vn_decode_VkBool32(dec, &val->sampleRateShading);
463 vn_decode_VkBool32(dec, &val->dualSrcBlend);
464 vn_decode_VkBool32(dec, &val->logicOp);
465 vn_decode_VkBool32(dec, &val->multiDrawIndirect);
466 vn_decode_VkBool32(dec, &val->drawIndirectFirstInstance);
467 vn_decode_VkBool32(dec, &val->depthClamp);
468 vn_decode_VkBool32(dec, &val->depthBiasClamp);
469 vn_decode_VkBool32(dec, &val->fillModeNonSolid);
470 vn_decode_VkBool32(dec, &val->depthBounds);
471 vn_decode_VkBool32(dec, &val->wideLines);
472 vn_decode_VkBool32(dec, &val->largePoints);
473 vn_decode_VkBool32(dec, &val->alphaToOne);
474 vn_decode_VkBool32(dec, &val->multiViewport);
475 vn_decode_VkBool32(dec, &val->samplerAnisotropy);
476 vn_decode_VkBool32(dec, &val->textureCompressionETC2);
477 vn_decode_VkBool32(dec, &val->textureCompressionASTC_LDR);
478 vn_decode_VkBool32(dec, &val->textureCompressionBC);
479 vn_decode_VkBool32(dec, &val->occlusionQueryPrecise);
480 vn_decode_VkBool32(dec, &val->pipelineStatisticsQuery);
481 vn_decode_VkBool32(dec, &val->vertexPipelineStoresAndAtomics);
482 vn_decode_VkBool32(dec, &val->fragmentStoresAndAtomics);
483 vn_decode_VkBool32(dec, &val->shaderTessellationAndGeometryPointSize);
484 vn_decode_VkBool32(dec, &val->shaderImageGatherExtended);
485 vn_decode_VkBool32(dec, &val->shaderStorageImageExtendedFormats);
486 vn_decode_VkBool32(dec, &val->shaderStorageImageMultisample);
487 vn_decode_VkBool32(dec, &val->shaderStorageImageReadWithoutFormat);
488 vn_decode_VkBool32(dec, &val->shaderStorageImageWriteWithoutFormat);
489 vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayDynamicIndexing);
490 vn_decode_VkBool32(dec, &val->shaderSampledImageArrayDynamicIndexing);
491 vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayDynamicIndexing);
492 vn_decode_VkBool32(dec, &val->shaderStorageImageArrayDynamicIndexing);
493 vn_decode_VkBool32(dec, &val->shaderClipDistance);
494 vn_decode_VkBool32(dec, &val->shaderCullDistance);
495 vn_decode_VkBool32(dec, &val->shaderFloat64);
496 vn_decode_VkBool32(dec, &val->shaderInt64);
497 vn_decode_VkBool32(dec, &val->shaderInt16);
498 vn_decode_VkBool32(dec, &val->shaderResourceResidency);
499 vn_decode_VkBool32(dec, &val->shaderResourceMinLod);
500 vn_decode_VkBool32(dec, &val->sparseBinding);
501 vn_decode_VkBool32(dec, &val->sparseResidencyBuffer);
502 vn_decode_VkBool32(dec, &val->sparseResidencyImage2D);
503 vn_decode_VkBool32(dec, &val->sparseResidencyImage3D);
504 vn_decode_VkBool32(dec, &val->sparseResidency2Samples);
505 vn_decode_VkBool32(dec, &val->sparseResidency4Samples);
506 vn_decode_VkBool32(dec, &val->sparseResidency8Samples);
507 vn_decode_VkBool32(dec, &val->sparseResidency16Samples);
508 vn_decode_VkBool32(dec, &val->sparseResidencyAliased);
509 vn_decode_VkBool32(dec, &val->variableMultisampleRate);
510 vn_decode_VkBool32(dec, &val->inheritedQueries);
511 }
512
513 static inline void
vn_decode_VkPhysicalDeviceFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFeatures * val)514 vn_decode_VkPhysicalDeviceFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures *val)
515 {
516 /* skip val->robustBufferAccess */
517 /* skip val->fullDrawIndexUint32 */
518 /* skip val->imageCubeArray */
519 /* skip val->independentBlend */
520 /* skip val->geometryShader */
521 /* skip val->tessellationShader */
522 /* skip val->sampleRateShading */
523 /* skip val->dualSrcBlend */
524 /* skip val->logicOp */
525 /* skip val->multiDrawIndirect */
526 /* skip val->drawIndirectFirstInstance */
527 /* skip val->depthClamp */
528 /* skip val->depthBiasClamp */
529 /* skip val->fillModeNonSolid */
530 /* skip val->depthBounds */
531 /* skip val->wideLines */
532 /* skip val->largePoints */
533 /* skip val->alphaToOne */
534 /* skip val->multiViewport */
535 /* skip val->samplerAnisotropy */
536 /* skip val->textureCompressionETC2 */
537 /* skip val->textureCompressionASTC_LDR */
538 /* skip val->textureCompressionBC */
539 /* skip val->occlusionQueryPrecise */
540 /* skip val->pipelineStatisticsQuery */
541 /* skip val->vertexPipelineStoresAndAtomics */
542 /* skip val->fragmentStoresAndAtomics */
543 /* skip val->shaderTessellationAndGeometryPointSize */
544 /* skip val->shaderImageGatherExtended */
545 /* skip val->shaderStorageImageExtendedFormats */
546 /* skip val->shaderStorageImageMultisample */
547 /* skip val->shaderStorageImageReadWithoutFormat */
548 /* skip val->shaderStorageImageWriteWithoutFormat */
549 /* skip val->shaderUniformBufferArrayDynamicIndexing */
550 /* skip val->shaderSampledImageArrayDynamicIndexing */
551 /* skip val->shaderStorageBufferArrayDynamicIndexing */
552 /* skip val->shaderStorageImageArrayDynamicIndexing */
553 /* skip val->shaderClipDistance */
554 /* skip val->shaderCullDistance */
555 /* skip val->shaderFloat64 */
556 /* skip val->shaderInt64 */
557 /* skip val->shaderInt16 */
558 /* skip val->shaderResourceResidency */
559 /* skip val->shaderResourceMinLod */
560 /* skip val->sparseBinding */
561 /* skip val->sparseResidencyBuffer */
562 /* skip val->sparseResidencyImage2D */
563 /* skip val->sparseResidencyImage3D */
564 /* skip val->sparseResidency2Samples */
565 /* skip val->sparseResidency4Samples */
566 /* skip val->sparseResidency8Samples */
567 /* skip val->sparseResidency16Samples */
568 /* skip val->sparseResidencyAliased */
569 /* skip val->variableMultisampleRate */
570 /* skip val->inheritedQueries */
571 }
572
573 static inline void
vn_replace_VkPhysicalDeviceFeatures_handle(VkPhysicalDeviceFeatures * val)574 vn_replace_VkPhysicalDeviceFeatures_handle(VkPhysicalDeviceFeatures *val)
575 {
576 /* skip val->robustBufferAccess */
577 /* skip val->fullDrawIndexUint32 */
578 /* skip val->imageCubeArray */
579 /* skip val->independentBlend */
580 /* skip val->geometryShader */
581 /* skip val->tessellationShader */
582 /* skip val->sampleRateShading */
583 /* skip val->dualSrcBlend */
584 /* skip val->logicOp */
585 /* skip val->multiDrawIndirect */
586 /* skip val->drawIndirectFirstInstance */
587 /* skip val->depthClamp */
588 /* skip val->depthBiasClamp */
589 /* skip val->fillModeNonSolid */
590 /* skip val->depthBounds */
591 /* skip val->wideLines */
592 /* skip val->largePoints */
593 /* skip val->alphaToOne */
594 /* skip val->multiViewport */
595 /* skip val->samplerAnisotropy */
596 /* skip val->textureCompressionETC2 */
597 /* skip val->textureCompressionASTC_LDR */
598 /* skip val->textureCompressionBC */
599 /* skip val->occlusionQueryPrecise */
600 /* skip val->pipelineStatisticsQuery */
601 /* skip val->vertexPipelineStoresAndAtomics */
602 /* skip val->fragmentStoresAndAtomics */
603 /* skip val->shaderTessellationAndGeometryPointSize */
604 /* skip val->shaderImageGatherExtended */
605 /* skip val->shaderStorageImageExtendedFormats */
606 /* skip val->shaderStorageImageMultisample */
607 /* skip val->shaderStorageImageReadWithoutFormat */
608 /* skip val->shaderStorageImageWriteWithoutFormat */
609 /* skip val->shaderUniformBufferArrayDynamicIndexing */
610 /* skip val->shaderSampledImageArrayDynamicIndexing */
611 /* skip val->shaderStorageBufferArrayDynamicIndexing */
612 /* skip val->shaderStorageImageArrayDynamicIndexing */
613 /* skip val->shaderClipDistance */
614 /* skip val->shaderCullDistance */
615 /* skip val->shaderFloat64 */
616 /* skip val->shaderInt64 */
617 /* skip val->shaderInt16 */
618 /* skip val->shaderResourceResidency */
619 /* skip val->shaderResourceMinLod */
620 /* skip val->sparseBinding */
621 /* skip val->sparseResidencyBuffer */
622 /* skip val->sparseResidencyImage2D */
623 /* skip val->sparseResidencyImage3D */
624 /* skip val->sparseResidency2Samples */
625 /* skip val->sparseResidency4Samples */
626 /* skip val->sparseResidency8Samples */
627 /* skip val->sparseResidency16Samples */
628 /* skip val->sparseResidencyAliased */
629 /* skip val->variableMultisampleRate */
630 /* skip val->inheritedQueries */
631 }
632
633 /* struct VkFormatProperties */
634
635 static inline void
vn_encode_VkFormatProperties(struct vn_cs_encoder * enc,const VkFormatProperties * val)636 vn_encode_VkFormatProperties(struct vn_cs_encoder *enc, const VkFormatProperties *val)
637 {
638 vn_encode_VkFlags(enc, &val->linearTilingFeatures);
639 vn_encode_VkFlags(enc, &val->optimalTilingFeatures);
640 vn_encode_VkFlags(enc, &val->bufferFeatures);
641 }
642
643 static inline void
vn_decode_VkFormatProperties_partial_temp(struct vn_cs_decoder * dec,VkFormatProperties * val)644 vn_decode_VkFormatProperties_partial_temp(struct vn_cs_decoder *dec, VkFormatProperties *val)
645 {
646 /* skip val->linearTilingFeatures */
647 /* skip val->optimalTilingFeatures */
648 /* skip val->bufferFeatures */
649 }
650
651 /* struct VkImageFormatProperties */
652
653 static inline void
vn_encode_VkImageFormatProperties(struct vn_cs_encoder * enc,const VkImageFormatProperties * val)654 vn_encode_VkImageFormatProperties(struct vn_cs_encoder *enc, const VkImageFormatProperties *val)
655 {
656 vn_encode_VkExtent3D(enc, &val->maxExtent);
657 vn_encode_uint32_t(enc, &val->maxMipLevels);
658 vn_encode_uint32_t(enc, &val->maxArrayLayers);
659 vn_encode_VkFlags(enc, &val->sampleCounts);
660 vn_encode_VkDeviceSize(enc, &val->maxResourceSize);
661 }
662
663 static inline void
vn_decode_VkImageFormatProperties_partial_temp(struct vn_cs_decoder * dec,VkImageFormatProperties * val)664 vn_decode_VkImageFormatProperties_partial_temp(struct vn_cs_decoder *dec, VkImageFormatProperties *val)
665 {
666 vn_decode_VkExtent3D_partial_temp(dec, &val->maxExtent);
667 /* skip val->maxMipLevels */
668 /* skip val->maxArrayLayers */
669 /* skip val->sampleCounts */
670 /* skip val->maxResourceSize */
671 }
672
673 /* struct VkDeviceQueueCreateInfo chain */
674
675 static inline void *
vn_decode_VkDeviceQueueCreateInfo_pnext_temp(struct vn_cs_decoder * dec)676 vn_decode_VkDeviceQueueCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
677 {
678 /* no known/supported struct */
679 if (vn_decode_simple_pointer(dec))
680 vn_cs_decoder_set_fatal(dec);
681 return NULL;
682 }
683
684 static inline void
vn_decode_VkDeviceQueueCreateInfo_self_temp(struct vn_cs_decoder * dec,VkDeviceQueueCreateInfo * val)685 vn_decode_VkDeviceQueueCreateInfo_self_temp(struct vn_cs_decoder *dec, VkDeviceQueueCreateInfo *val)
686 {
687 /* skip val->{sType,pNext} */
688 vn_decode_VkFlags(dec, &val->flags);
689 vn_decode_uint32_t(dec, &val->queueFamilyIndex);
690 vn_decode_uint32_t(dec, &val->queueCount);
691 if (vn_peek_array_size(dec)) {
692 const size_t array_size = vn_decode_array_size(dec, val->queueCount);
693 val->pQueuePriorities = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pQueuePriorities) * array_size);
694 if (!val->pQueuePriorities) return;
695 vn_decode_float_array(dec, (float *)val->pQueuePriorities, array_size);
696 } else {
697 vn_decode_array_size(dec, val->queueCount);
698 val->pQueuePriorities = NULL;
699 }
700 }
701
702 static inline void
vn_decode_VkDeviceQueueCreateInfo_temp(struct vn_cs_decoder * dec,VkDeviceQueueCreateInfo * val)703 vn_decode_VkDeviceQueueCreateInfo_temp(struct vn_cs_decoder *dec, VkDeviceQueueCreateInfo *val)
704 {
705 VkStructureType stype;
706 vn_decode_VkStructureType(dec, &stype);
707 if (stype != VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO)
708 vn_cs_decoder_set_fatal(dec);
709
710 val->sType = stype;
711 val->pNext = vn_decode_VkDeviceQueueCreateInfo_pnext_temp(dec);
712 vn_decode_VkDeviceQueueCreateInfo_self_temp(dec, val);
713 }
714
715 static inline void
vn_replace_VkDeviceQueueCreateInfo_handle_self(VkDeviceQueueCreateInfo * val)716 vn_replace_VkDeviceQueueCreateInfo_handle_self(VkDeviceQueueCreateInfo *val)
717 {
718 /* skip val->sType */
719 /* skip val->pNext */
720 /* skip val->flags */
721 /* skip val->queueFamilyIndex */
722 /* skip val->queueCount */
723 /* skip val->pQueuePriorities */
724 }
725
726 static inline void
vn_replace_VkDeviceQueueCreateInfo_handle(VkDeviceQueueCreateInfo * val)727 vn_replace_VkDeviceQueueCreateInfo_handle(VkDeviceQueueCreateInfo *val)
728 {
729 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
730
731 do {
732 switch ((int32_t)pnext->sType) {
733 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO:
734 vn_replace_VkDeviceQueueCreateInfo_handle_self((VkDeviceQueueCreateInfo *)pnext);
735 break;
736 default:
737 /* ignore unknown/unsupported struct */
738 break;
739 }
740 pnext = pnext->pNext;
741 } while (pnext);
742 }
743
744 /* struct VkDevicePrivateDataCreateInfo chain */
745
746 static inline void *
vn_decode_VkDevicePrivateDataCreateInfo_pnext_temp(struct vn_cs_decoder * dec)747 vn_decode_VkDevicePrivateDataCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
748 {
749 /* no known/supported struct */
750 if (vn_decode_simple_pointer(dec))
751 vn_cs_decoder_set_fatal(dec);
752 return NULL;
753 }
754
755 static inline void
vn_decode_VkDevicePrivateDataCreateInfo_self_temp(struct vn_cs_decoder * dec,VkDevicePrivateDataCreateInfo * val)756 vn_decode_VkDevicePrivateDataCreateInfo_self_temp(struct vn_cs_decoder *dec, VkDevicePrivateDataCreateInfo *val)
757 {
758 /* skip val->{sType,pNext} */
759 vn_decode_uint32_t(dec, &val->privateDataSlotRequestCount);
760 }
761
762 static inline void
vn_decode_VkDevicePrivateDataCreateInfo_temp(struct vn_cs_decoder * dec,VkDevicePrivateDataCreateInfo * val)763 vn_decode_VkDevicePrivateDataCreateInfo_temp(struct vn_cs_decoder *dec, VkDevicePrivateDataCreateInfo *val)
764 {
765 VkStructureType stype;
766 vn_decode_VkStructureType(dec, &stype);
767 if (stype != VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO)
768 vn_cs_decoder_set_fatal(dec);
769
770 val->sType = stype;
771 val->pNext = vn_decode_VkDevicePrivateDataCreateInfo_pnext_temp(dec);
772 vn_decode_VkDevicePrivateDataCreateInfo_self_temp(dec, val);
773 }
774
775 static inline void
vn_replace_VkDevicePrivateDataCreateInfo_handle_self(VkDevicePrivateDataCreateInfo * val)776 vn_replace_VkDevicePrivateDataCreateInfo_handle_self(VkDevicePrivateDataCreateInfo *val)
777 {
778 /* skip val->sType */
779 /* skip val->pNext */
780 /* skip val->privateDataSlotRequestCount */
781 }
782
783 static inline void
vn_replace_VkDevicePrivateDataCreateInfo_handle(VkDevicePrivateDataCreateInfo * val)784 vn_replace_VkDevicePrivateDataCreateInfo_handle(VkDevicePrivateDataCreateInfo *val)
785 {
786 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
787
788 do {
789 switch ((int32_t)pnext->sType) {
790 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
791 vn_replace_VkDevicePrivateDataCreateInfo_handle_self((VkDevicePrivateDataCreateInfo *)pnext);
792 break;
793 default:
794 /* ignore unknown/unsupported struct */
795 break;
796 }
797 pnext = pnext->pNext;
798 } while (pnext);
799 }
800
801 /* struct VkPhysicalDevicePrivateDataFeatures chain */
802
803 static inline void
vn_encode_VkPhysicalDevicePrivateDataFeatures_pnext(struct vn_cs_encoder * enc,const void * val)804 vn_encode_VkPhysicalDevicePrivateDataFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
805 {
806 /* no known/supported struct */
807 vn_encode_simple_pointer(enc, NULL);
808 }
809
810 static inline void
vn_encode_VkPhysicalDevicePrivateDataFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePrivateDataFeatures * val)811 vn_encode_VkPhysicalDevicePrivateDataFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePrivateDataFeatures *val)
812 {
813 /* skip val->{sType,pNext} */
814 vn_encode_VkBool32(enc, &val->privateData);
815 }
816
817 static inline void
vn_encode_VkPhysicalDevicePrivateDataFeatures(struct vn_cs_encoder * enc,const VkPhysicalDevicePrivateDataFeatures * val)818 vn_encode_VkPhysicalDevicePrivateDataFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevicePrivateDataFeatures *val)
819 {
820 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES);
821 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES });
822 vn_encode_VkPhysicalDevicePrivateDataFeatures_pnext(enc, val->pNext);
823 vn_encode_VkPhysicalDevicePrivateDataFeatures_self(enc, val);
824 }
825
826 static inline void *
vn_decode_VkPhysicalDevicePrivateDataFeatures_pnext_temp(struct vn_cs_decoder * dec)827 vn_decode_VkPhysicalDevicePrivateDataFeatures_pnext_temp(struct vn_cs_decoder *dec)
828 {
829 /* no known/supported struct */
830 if (vn_decode_simple_pointer(dec))
831 vn_cs_decoder_set_fatal(dec);
832 return NULL;
833 }
834
835 static inline void
vn_decode_VkPhysicalDevicePrivateDataFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrivateDataFeatures * val)836 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrivateDataFeatures *val)
837 {
838 /* skip val->{sType,pNext} */
839 vn_decode_VkBool32(dec, &val->privateData);
840 }
841
842 static inline void
vn_decode_VkPhysicalDevicePrivateDataFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrivateDataFeatures * val)843 vn_decode_VkPhysicalDevicePrivateDataFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrivateDataFeatures *val)
844 {
845 VkStructureType stype;
846 vn_decode_VkStructureType(dec, &stype);
847 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES)
848 vn_cs_decoder_set_fatal(dec);
849
850 val->sType = stype;
851 val->pNext = vn_decode_VkPhysicalDevicePrivateDataFeatures_pnext_temp(dec);
852 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_temp(dec, val);
853 }
854
855 static inline void *
vn_decode_VkPhysicalDevicePrivateDataFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)856 vn_decode_VkPhysicalDevicePrivateDataFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
857 {
858 /* no known/supported struct */
859 if (vn_decode_simple_pointer(dec))
860 vn_cs_decoder_set_fatal(dec);
861 return NULL;
862 }
863
864 static inline void
vn_decode_VkPhysicalDevicePrivateDataFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrivateDataFeatures * val)865 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrivateDataFeatures *val)
866 {
867 /* skip val->{sType,pNext} */
868 /* skip val->privateData */
869 }
870
871 static inline void
vn_decode_VkPhysicalDevicePrivateDataFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrivateDataFeatures * val)872 vn_decode_VkPhysicalDevicePrivateDataFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrivateDataFeatures *val)
873 {
874 VkStructureType stype;
875 vn_decode_VkStructureType(dec, &stype);
876 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES)
877 vn_cs_decoder_set_fatal(dec);
878
879 val->sType = stype;
880 val->pNext = vn_decode_VkPhysicalDevicePrivateDataFeatures_pnext_partial_temp(dec);
881 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_partial_temp(dec, val);
882 }
883
884 static inline void
vn_replace_VkPhysicalDevicePrivateDataFeatures_handle_self(VkPhysicalDevicePrivateDataFeatures * val)885 vn_replace_VkPhysicalDevicePrivateDataFeatures_handle_self(VkPhysicalDevicePrivateDataFeatures *val)
886 {
887 /* skip val->sType */
888 /* skip val->pNext */
889 /* skip val->privateData */
890 }
891
892 static inline void
vn_replace_VkPhysicalDevicePrivateDataFeatures_handle(VkPhysicalDevicePrivateDataFeatures * val)893 vn_replace_VkPhysicalDevicePrivateDataFeatures_handle(VkPhysicalDevicePrivateDataFeatures *val)
894 {
895 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
896
897 do {
898 switch ((int32_t)pnext->sType) {
899 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
900 vn_replace_VkPhysicalDevicePrivateDataFeatures_handle_self((VkPhysicalDevicePrivateDataFeatures *)pnext);
901 break;
902 default:
903 /* ignore unknown/unsupported struct */
904 break;
905 }
906 pnext = pnext->pNext;
907 } while (pnext);
908 }
909
910 /* struct VkPhysicalDeviceVariablePointersFeatures chain */
911
912 static inline void
vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_encoder * enc,const void * val)913 vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
914 {
915 /* no known/supported struct */
916 vn_encode_simple_pointer(enc, NULL);
917 }
918
919 static inline void
vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVariablePointersFeatures * val)920 vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
921 {
922 /* skip val->{sType,pNext} */
923 vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);
924 vn_encode_VkBool32(enc, &val->variablePointers);
925 }
926
927 static inline void
vn_encode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceVariablePointersFeatures * val)928 vn_encode_VkPhysicalDeviceVariablePointersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVariablePointersFeatures *val)
929 {
930 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES);
931 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES });
932 vn_encode_VkPhysicalDeviceVariablePointersFeatures_pnext(enc, val->pNext);
933 vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, val);
934 }
935
936 static inline void *
vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext_temp(struct vn_cs_decoder * dec)937 vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext_temp(struct vn_cs_decoder *dec)
938 {
939 /* no known/supported struct */
940 if (vn_decode_simple_pointer(dec))
941 vn_cs_decoder_set_fatal(dec);
942 return NULL;
943 }
944
945 static inline void
vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVariablePointersFeatures * val)946 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
947 {
948 /* skip val->{sType,pNext} */
949 vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);
950 vn_decode_VkBool32(dec, &val->variablePointers);
951 }
952
953 static inline void
vn_decode_VkPhysicalDeviceVariablePointersFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVariablePointersFeatures * val)954 vn_decode_VkPhysicalDeviceVariablePointersFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
955 {
956 VkStructureType stype;
957 vn_decode_VkStructureType(dec, &stype);
958 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES)
959 vn_cs_decoder_set_fatal(dec);
960
961 val->sType = stype;
962 val->pNext = vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext_temp(dec);
963 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_temp(dec, val);
964 }
965
966 static inline void *
vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)967 vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
968 {
969 /* no known/supported struct */
970 if (vn_decode_simple_pointer(dec))
971 vn_cs_decoder_set_fatal(dec);
972 return NULL;
973 }
974
975 static inline void
vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVariablePointersFeatures * val)976 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
977 {
978 /* skip val->{sType,pNext} */
979 /* skip val->variablePointersStorageBuffer */
980 /* skip val->variablePointers */
981 }
982
983 static inline void
vn_decode_VkPhysicalDeviceVariablePointersFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVariablePointersFeatures * val)984 vn_decode_VkPhysicalDeviceVariablePointersFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVariablePointersFeatures *val)
985 {
986 VkStructureType stype;
987 vn_decode_VkStructureType(dec, &stype);
988 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES)
989 vn_cs_decoder_set_fatal(dec);
990
991 val->sType = stype;
992 val->pNext = vn_decode_VkPhysicalDeviceVariablePointersFeatures_pnext_partial_temp(dec);
993 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_partial_temp(dec, val);
994 }
995
996 static inline void
vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle_self(VkPhysicalDeviceVariablePointersFeatures * val)997 vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle_self(VkPhysicalDeviceVariablePointersFeatures *val)
998 {
999 /* skip val->sType */
1000 /* skip val->pNext */
1001 /* skip val->variablePointersStorageBuffer */
1002 /* skip val->variablePointers */
1003 }
1004
1005 static inline void
vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle(VkPhysicalDeviceVariablePointersFeatures * val)1006 vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle(VkPhysicalDeviceVariablePointersFeatures *val)
1007 {
1008 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1009
1010 do {
1011 switch ((int32_t)pnext->sType) {
1012 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
1013 vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle_self((VkPhysicalDeviceVariablePointersFeatures *)pnext);
1014 break;
1015 default:
1016 /* ignore unknown/unsupported struct */
1017 break;
1018 }
1019 pnext = pnext->pNext;
1020 } while (pnext);
1021 }
1022
1023 /* struct VkPhysicalDeviceMultiviewFeatures chain */
1024
1025 static inline void
vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1026 vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1027 {
1028 /* no known/supported struct */
1029 vn_encode_simple_pointer(enc, NULL);
1030 }
1031
1032 static inline void
vn_encode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiviewFeatures * val)1033 vn_encode_VkPhysicalDeviceMultiviewFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
1034 {
1035 /* skip val->{sType,pNext} */
1036 vn_encode_VkBool32(enc, &val->multiview);
1037 vn_encode_VkBool32(enc, &val->multiviewGeometryShader);
1038 vn_encode_VkBool32(enc, &val->multiviewTessellationShader);
1039 }
1040
1041 static inline void
vn_encode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiviewFeatures * val)1042 vn_encode_VkPhysicalDeviceMultiviewFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewFeatures *val)
1043 {
1044 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES);
1045 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES });
1046 vn_encode_VkPhysicalDeviceMultiviewFeatures_pnext(enc, val->pNext);
1047 vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, val);
1048 }
1049
1050 static inline void *
vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext_temp(struct vn_cs_decoder * dec)1051 vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext_temp(struct vn_cs_decoder *dec)
1052 {
1053 /* no known/supported struct */
1054 if (vn_decode_simple_pointer(dec))
1055 vn_cs_decoder_set_fatal(dec);
1056 return NULL;
1057 }
1058
1059 static inline void
vn_decode_VkPhysicalDeviceMultiviewFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiviewFeatures * val)1060 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
1061 {
1062 /* skip val->{sType,pNext} */
1063 vn_decode_VkBool32(dec, &val->multiview);
1064 vn_decode_VkBool32(dec, &val->multiviewGeometryShader);
1065 vn_decode_VkBool32(dec, &val->multiviewTessellationShader);
1066 }
1067
1068 static inline void
vn_decode_VkPhysicalDeviceMultiviewFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiviewFeatures * val)1069 vn_decode_VkPhysicalDeviceMultiviewFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
1070 {
1071 VkStructureType stype;
1072 vn_decode_VkStructureType(dec, &stype);
1073 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES)
1074 vn_cs_decoder_set_fatal(dec);
1075
1076 val->sType = stype;
1077 val->pNext = vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext_temp(dec);
1078 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_temp(dec, val);
1079 }
1080
1081 static inline void *
vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1082 vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1083 {
1084 /* no known/supported struct */
1085 if (vn_decode_simple_pointer(dec))
1086 vn_cs_decoder_set_fatal(dec);
1087 return NULL;
1088 }
1089
1090 static inline void
vn_decode_VkPhysicalDeviceMultiviewFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiviewFeatures * val)1091 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
1092 {
1093 /* skip val->{sType,pNext} */
1094 /* skip val->multiview */
1095 /* skip val->multiviewGeometryShader */
1096 /* skip val->multiviewTessellationShader */
1097 }
1098
1099 static inline void
vn_decode_VkPhysicalDeviceMultiviewFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiviewFeatures * val)1100 vn_decode_VkPhysicalDeviceMultiviewFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewFeatures *val)
1101 {
1102 VkStructureType stype;
1103 vn_decode_VkStructureType(dec, &stype);
1104 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES)
1105 vn_cs_decoder_set_fatal(dec);
1106
1107 val->sType = stype;
1108 val->pNext = vn_decode_VkPhysicalDeviceMultiviewFeatures_pnext_partial_temp(dec);
1109 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_partial_temp(dec, val);
1110 }
1111
1112 static inline void
vn_replace_VkPhysicalDeviceMultiviewFeatures_handle_self(VkPhysicalDeviceMultiviewFeatures * val)1113 vn_replace_VkPhysicalDeviceMultiviewFeatures_handle_self(VkPhysicalDeviceMultiviewFeatures *val)
1114 {
1115 /* skip val->sType */
1116 /* skip val->pNext */
1117 /* skip val->multiview */
1118 /* skip val->multiviewGeometryShader */
1119 /* skip val->multiviewTessellationShader */
1120 }
1121
1122 static inline void
vn_replace_VkPhysicalDeviceMultiviewFeatures_handle(VkPhysicalDeviceMultiviewFeatures * val)1123 vn_replace_VkPhysicalDeviceMultiviewFeatures_handle(VkPhysicalDeviceMultiviewFeatures *val)
1124 {
1125 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1126
1127 do {
1128 switch ((int32_t)pnext->sType) {
1129 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
1130 vn_replace_VkPhysicalDeviceMultiviewFeatures_handle_self((VkPhysicalDeviceMultiviewFeatures *)pnext);
1131 break;
1132 default:
1133 /* ignore unknown/unsupported struct */
1134 break;
1135 }
1136 pnext = pnext->pNext;
1137 } while (pnext);
1138 }
1139
1140 /* struct VkPhysicalDevice16BitStorageFeatures chain */
1141
1142 static inline void
vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1143 vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1144 {
1145 /* no known/supported struct */
1146 vn_encode_simple_pointer(enc, NULL);
1147 }
1148
1149 static inline void
vn_encode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDevice16BitStorageFeatures * val)1150 vn_encode_VkPhysicalDevice16BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
1151 {
1152 /* skip val->{sType,pNext} */
1153 vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);
1154 vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);
1155 vn_encode_VkBool32(enc, &val->storagePushConstant16);
1156 vn_encode_VkBool32(enc, &val->storageInputOutput16);
1157 }
1158
1159 static inline void
vn_encode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_encoder * enc,const VkPhysicalDevice16BitStorageFeatures * val)1160 vn_encode_VkPhysicalDevice16BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice16BitStorageFeatures *val)
1161 {
1162 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES);
1163 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES });
1164 vn_encode_VkPhysicalDevice16BitStorageFeatures_pnext(enc, val->pNext);
1165 vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, val);
1166 }
1167
1168 static inline void *
vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext_temp(struct vn_cs_decoder * dec)1169 vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext_temp(struct vn_cs_decoder *dec)
1170 {
1171 /* no known/supported struct */
1172 if (vn_decode_simple_pointer(dec))
1173 vn_cs_decoder_set_fatal(dec);
1174 return NULL;
1175 }
1176
1177 static inline void
vn_decode_VkPhysicalDevice16BitStorageFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevice16BitStorageFeatures * val)1178 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
1179 {
1180 /* skip val->{sType,pNext} */
1181 vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);
1182 vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);
1183 vn_decode_VkBool32(dec, &val->storagePushConstant16);
1184 vn_decode_VkBool32(dec, &val->storageInputOutput16);
1185 }
1186
1187 static inline void
vn_decode_VkPhysicalDevice16BitStorageFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDevice16BitStorageFeatures * val)1188 vn_decode_VkPhysicalDevice16BitStorageFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
1189 {
1190 VkStructureType stype;
1191 vn_decode_VkStructureType(dec, &stype);
1192 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES)
1193 vn_cs_decoder_set_fatal(dec);
1194
1195 val->sType = stype;
1196 val->pNext = vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext_temp(dec);
1197 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_temp(dec, val);
1198 }
1199
1200 static inline void *
vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1201 vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1202 {
1203 /* no known/supported struct */
1204 if (vn_decode_simple_pointer(dec))
1205 vn_cs_decoder_set_fatal(dec);
1206 return NULL;
1207 }
1208
1209 static inline void
vn_decode_VkPhysicalDevice16BitStorageFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevice16BitStorageFeatures * val)1210 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
1211 {
1212 /* skip val->{sType,pNext} */
1213 /* skip val->storageBuffer16BitAccess */
1214 /* skip val->uniformAndStorageBuffer16BitAccess */
1215 /* skip val->storagePushConstant16 */
1216 /* skip val->storageInputOutput16 */
1217 }
1218
1219 static inline void
vn_decode_VkPhysicalDevice16BitStorageFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevice16BitStorageFeatures * val)1220 vn_decode_VkPhysicalDevice16BitStorageFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevice16BitStorageFeatures *val)
1221 {
1222 VkStructureType stype;
1223 vn_decode_VkStructureType(dec, &stype);
1224 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES)
1225 vn_cs_decoder_set_fatal(dec);
1226
1227 val->sType = stype;
1228 val->pNext = vn_decode_VkPhysicalDevice16BitStorageFeatures_pnext_partial_temp(dec);
1229 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_partial_temp(dec, val);
1230 }
1231
1232 static inline void
vn_replace_VkPhysicalDevice16BitStorageFeatures_handle_self(VkPhysicalDevice16BitStorageFeatures * val)1233 vn_replace_VkPhysicalDevice16BitStorageFeatures_handle_self(VkPhysicalDevice16BitStorageFeatures *val)
1234 {
1235 /* skip val->sType */
1236 /* skip val->pNext */
1237 /* skip val->storageBuffer16BitAccess */
1238 /* skip val->uniformAndStorageBuffer16BitAccess */
1239 /* skip val->storagePushConstant16 */
1240 /* skip val->storageInputOutput16 */
1241 }
1242
1243 static inline void
vn_replace_VkPhysicalDevice16BitStorageFeatures_handle(VkPhysicalDevice16BitStorageFeatures * val)1244 vn_replace_VkPhysicalDevice16BitStorageFeatures_handle(VkPhysicalDevice16BitStorageFeatures *val)
1245 {
1246 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1247
1248 do {
1249 switch ((int32_t)pnext->sType) {
1250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
1251 vn_replace_VkPhysicalDevice16BitStorageFeatures_handle_self((VkPhysicalDevice16BitStorageFeatures *)pnext);
1252 break;
1253 default:
1254 /* ignore unknown/unsupported struct */
1255 break;
1256 }
1257 pnext = pnext->pNext;
1258 } while (pnext);
1259 }
1260
1261 /* struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures chain */
1262
1263 static inline void
vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1264 vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1265 {
1266 /* no known/supported struct */
1267 vn_encode_simple_pointer(enc, NULL);
1268 }
1269
1270 static inline void
vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1271 vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1272 {
1273 /* skip val->{sType,pNext} */
1274 vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);
1275 }
1276
1277 static inline void
vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1278 vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1279 {
1280 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES);
1281 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES });
1282 vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext(enc, val->pNext);
1283 vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, val);
1284 }
1285
1286 static inline void *
vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_temp(struct vn_cs_decoder * dec)1287 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_temp(struct vn_cs_decoder *dec)
1288 {
1289 /* no known/supported struct */
1290 if (vn_decode_simple_pointer(dec))
1291 vn_cs_decoder_set_fatal(dec);
1292 return NULL;
1293 }
1294
1295 static inline void
vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1296 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1297 {
1298 /* skip val->{sType,pNext} */
1299 vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);
1300 }
1301
1302 static inline void
vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1303 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1304 {
1305 VkStructureType stype;
1306 vn_decode_VkStructureType(dec, &stype);
1307 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES)
1308 vn_cs_decoder_set_fatal(dec);
1309
1310 val->sType = stype;
1311 val->pNext = vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_temp(dec);
1312 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_temp(dec, val);
1313 }
1314
1315 static inline void *
vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1316 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1317 {
1318 /* no known/supported struct */
1319 if (vn_decode_simple_pointer(dec))
1320 vn_cs_decoder_set_fatal(dec);
1321 return NULL;
1322 }
1323
1324 static inline void
vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1325 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1326 {
1327 /* skip val->{sType,pNext} */
1328 /* skip val->shaderSubgroupExtendedTypes */
1329 }
1330
1331 static inline void
vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1332 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1333 {
1334 VkStructureType stype;
1335 vn_decode_VkStructureType(dec, &stype);
1336 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES)
1337 vn_cs_decoder_set_fatal(dec);
1338
1339 val->sType = stype;
1340 val->pNext = vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_pnext_partial_temp(dec);
1341 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial_temp(dec, val);
1342 }
1343
1344 static inline void
vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle_self(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1345 vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle_self(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1346 {
1347 /* skip val->sType */
1348 /* skip val->pNext */
1349 /* skip val->shaderSubgroupExtendedTypes */
1350 }
1351
1352 static inline void
vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * val)1353 vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *val)
1354 {
1355 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1356
1357 do {
1358 switch ((int32_t)pnext->sType) {
1359 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
1360 vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle_self((VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
1361 break;
1362 default:
1363 /* ignore unknown/unsupported struct */
1364 break;
1365 }
1366 pnext = pnext->pNext;
1367 } while (pnext);
1368 }
1369
1370 /* struct VkPhysicalDeviceSamplerYcbcrConversionFeatures chain */
1371
1372 static inline void
vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1373 vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1374 {
1375 /* no known/supported struct */
1376 vn_encode_simple_pointer(enc, NULL);
1377 }
1378
1379 static inline void
vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1380 vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1381 {
1382 /* skip val->{sType,pNext} */
1383 vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);
1384 }
1385
1386 static inline void
vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1387 vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1388 {
1389 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES);
1390 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES });
1391 vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext(enc, val->pNext);
1392 vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, val);
1393 }
1394
1395 static inline void *
vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_temp(struct vn_cs_decoder * dec)1396 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_temp(struct vn_cs_decoder *dec)
1397 {
1398 /* no known/supported struct */
1399 if (vn_decode_simple_pointer(dec))
1400 vn_cs_decoder_set_fatal(dec);
1401 return NULL;
1402 }
1403
1404 static inline void
vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1405 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1406 {
1407 /* skip val->{sType,pNext} */
1408 vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);
1409 }
1410
1411 static inline void
vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1412 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1413 {
1414 VkStructureType stype;
1415 vn_decode_VkStructureType(dec, &stype);
1416 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES)
1417 vn_cs_decoder_set_fatal(dec);
1418
1419 val->sType = stype;
1420 val->pNext = vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_temp(dec);
1421 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_temp(dec, val);
1422 }
1423
1424 static inline void *
vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1425 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1426 {
1427 /* no known/supported struct */
1428 if (vn_decode_simple_pointer(dec))
1429 vn_cs_decoder_set_fatal(dec);
1430 return NULL;
1431 }
1432
1433 static inline void
vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1434 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1435 {
1436 /* skip val->{sType,pNext} */
1437 /* skip val->samplerYcbcrConversion */
1438 }
1439
1440 static inline void
vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1441 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1442 {
1443 VkStructureType stype;
1444 vn_decode_VkStructureType(dec, &stype);
1445 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES)
1446 vn_cs_decoder_set_fatal(dec);
1447
1448 val->sType = stype;
1449 val->pNext = vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_pnext_partial_temp(dec);
1450 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial_temp(dec, val);
1451 }
1452
1453 static inline void
vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle_self(VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1454 vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle_self(VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1455 {
1456 /* skip val->sType */
1457 /* skip val->pNext */
1458 /* skip val->samplerYcbcrConversion */
1459 }
1460
1461 static inline void
vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle(VkPhysicalDeviceSamplerYcbcrConversionFeatures * val)1462 vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle(VkPhysicalDeviceSamplerYcbcrConversionFeatures *val)
1463 {
1464 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1465
1466 do {
1467 switch ((int32_t)pnext->sType) {
1468 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
1469 vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle_self((VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
1470 break;
1471 default:
1472 /* ignore unknown/unsupported struct */
1473 break;
1474 }
1475 pnext = pnext->pNext;
1476 } while (pnext);
1477 }
1478
1479 /* struct VkPhysicalDeviceProtectedMemoryFeatures chain */
1480
1481 static inline void
vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1482 vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1483 {
1484 /* no known/supported struct */
1485 vn_encode_simple_pointer(enc, NULL);
1486 }
1487
1488 static inline void
vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceProtectedMemoryFeatures * val)1489 vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
1490 {
1491 /* skip val->{sType,pNext} */
1492 vn_encode_VkBool32(enc, &val->protectedMemory);
1493 }
1494
1495 static inline void
vn_encode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceProtectedMemoryFeatures * val)1496 vn_encode_VkPhysicalDeviceProtectedMemoryFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryFeatures *val)
1497 {
1498 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES);
1499 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES });
1500 vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_pnext(enc, val->pNext);
1501 vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, val);
1502 }
1503
1504 static inline void *
vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_temp(struct vn_cs_decoder * dec)1505 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_temp(struct vn_cs_decoder *dec)
1506 {
1507 /* no known/supported struct */
1508 if (vn_decode_simple_pointer(dec))
1509 vn_cs_decoder_set_fatal(dec);
1510 return NULL;
1511 }
1512
1513 static inline void
vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProtectedMemoryFeatures * val)1514 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
1515 {
1516 /* skip val->{sType,pNext} */
1517 vn_decode_VkBool32(dec, &val->protectedMemory);
1518 }
1519
1520 static inline void
vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProtectedMemoryFeatures * val)1521 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
1522 {
1523 VkStructureType stype;
1524 vn_decode_VkStructureType(dec, &stype);
1525 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES)
1526 vn_cs_decoder_set_fatal(dec);
1527
1528 val->sType = stype;
1529 val->pNext = vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_temp(dec);
1530 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_temp(dec, val);
1531 }
1532
1533 static inline void *
vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1534 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1535 {
1536 /* no known/supported struct */
1537 if (vn_decode_simple_pointer(dec))
1538 vn_cs_decoder_set_fatal(dec);
1539 return NULL;
1540 }
1541
1542 static inline void
vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProtectedMemoryFeatures * val)1543 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
1544 {
1545 /* skip val->{sType,pNext} */
1546 /* skip val->protectedMemory */
1547 }
1548
1549 static inline void
vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProtectedMemoryFeatures * val)1550 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryFeatures *val)
1551 {
1552 VkStructureType stype;
1553 vn_decode_VkStructureType(dec, &stype);
1554 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES)
1555 vn_cs_decoder_set_fatal(dec);
1556
1557 val->sType = stype;
1558 val->pNext = vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_pnext_partial_temp(dec);
1559 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial_temp(dec, val);
1560 }
1561
1562 static inline void
vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle_self(VkPhysicalDeviceProtectedMemoryFeatures * val)1563 vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle_self(VkPhysicalDeviceProtectedMemoryFeatures *val)
1564 {
1565 /* skip val->sType */
1566 /* skip val->pNext */
1567 /* skip val->protectedMemory */
1568 }
1569
1570 static inline void
vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle(VkPhysicalDeviceProtectedMemoryFeatures * val)1571 vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle(VkPhysicalDeviceProtectedMemoryFeatures *val)
1572 {
1573 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1574
1575 do {
1576 switch ((int32_t)pnext->sType) {
1577 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
1578 vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle_self((VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
1579 break;
1580 default:
1581 /* ignore unknown/unsupported struct */
1582 break;
1583 }
1584 pnext = pnext->pNext;
1585 } while (pnext);
1586 }
1587
1588 /* struct VkPhysicalDeviceMultiDrawFeaturesEXT chain */
1589
1590 static inline void
vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)1591 vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
1592 {
1593 /* no known/supported struct */
1594 vn_encode_simple_pointer(enc, NULL);
1595 }
1596
1597 static inline void
vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiDrawFeaturesEXT * val)1598 vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1599 {
1600 /* skip val->{sType,pNext} */
1601 vn_encode_VkBool32(enc, &val->multiDraw);
1602 }
1603
1604 static inline void
vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiDrawFeaturesEXT * val)1605 vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1606 {
1607 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT);
1608 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT });
1609 vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext(enc, val->pNext);
1610 vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_self(enc, val);
1611 }
1612
1613 static inline void *
vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)1614 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
1615 {
1616 /* no known/supported struct */
1617 if (vn_decode_simple_pointer(dec))
1618 vn_cs_decoder_set_fatal(dec);
1619 return NULL;
1620 }
1621
1622 static inline void
vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiDrawFeaturesEXT * val)1623 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1624 {
1625 /* skip val->{sType,pNext} */
1626 vn_decode_VkBool32(dec, &val->multiDraw);
1627 }
1628
1629 static inline void
vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiDrawFeaturesEXT * val)1630 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1631 {
1632 VkStructureType stype;
1633 vn_decode_VkStructureType(dec, &stype);
1634 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT)
1635 vn_cs_decoder_set_fatal(dec);
1636
1637 val->sType = stype;
1638 val->pNext = vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext_temp(dec);
1639 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_temp(dec, val);
1640 }
1641
1642 static inline void *
vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)1643 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
1644 {
1645 /* no known/supported struct */
1646 if (vn_decode_simple_pointer(dec))
1647 vn_cs_decoder_set_fatal(dec);
1648 return NULL;
1649 }
1650
1651 static inline void
vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiDrawFeaturesEXT * val)1652 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1653 {
1654 /* skip val->{sType,pNext} */
1655 /* skip val->multiDraw */
1656 }
1657
1658 static inline void
vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiDrawFeaturesEXT * val)1659 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1660 {
1661 VkStructureType stype;
1662 vn_decode_VkStructureType(dec, &stype);
1663 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT)
1664 vn_cs_decoder_set_fatal(dec);
1665
1666 val->sType = stype;
1667 val->pNext = vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_pnext_partial_temp(dec);
1668 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_partial_temp(dec, val);
1669 }
1670
1671 static inline void
vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle_self(VkPhysicalDeviceMultiDrawFeaturesEXT * val)1672 vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle_self(VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1673 {
1674 /* skip val->sType */
1675 /* skip val->pNext */
1676 /* skip val->multiDraw */
1677 }
1678
1679 static inline void
vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle(VkPhysicalDeviceMultiDrawFeaturesEXT * val)1680 vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle(VkPhysicalDeviceMultiDrawFeaturesEXT *val)
1681 {
1682 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1683
1684 do {
1685 switch ((int32_t)pnext->sType) {
1686 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
1687 vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle_self((VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
1688 break;
1689 default:
1690 /* ignore unknown/unsupported struct */
1691 break;
1692 }
1693 pnext = pnext->pNext;
1694 } while (pnext);
1695 }
1696
1697 /* struct VkPhysicalDeviceInlineUniformBlockFeatures chain */
1698
1699 static inline void
vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1700 vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1701 {
1702 /* no known/supported struct */
1703 vn_encode_simple_pointer(enc, NULL);
1704 }
1705
1706 static inline void
vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceInlineUniformBlockFeatures * val)1707 vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceInlineUniformBlockFeatures *val)
1708 {
1709 /* skip val->{sType,pNext} */
1710 vn_encode_VkBool32(enc, &val->inlineUniformBlock);
1711 vn_encode_VkBool32(enc, &val->descriptorBindingInlineUniformBlockUpdateAfterBind);
1712 }
1713
1714 static inline void
vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceInlineUniformBlockFeatures * val)1715 vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceInlineUniformBlockFeatures *val)
1716 {
1717 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES);
1718 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES });
1719 vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext(enc, val->pNext);
1720 vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_self(enc, val);
1721 }
1722
1723 static inline void *
vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext_temp(struct vn_cs_decoder * dec)1724 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext_temp(struct vn_cs_decoder *dec)
1725 {
1726 /* no known/supported struct */
1727 if (vn_decode_simple_pointer(dec))
1728 vn_cs_decoder_set_fatal(dec);
1729 return NULL;
1730 }
1731
1732 static inline void
vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceInlineUniformBlockFeatures * val)1733 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceInlineUniformBlockFeatures *val)
1734 {
1735 /* skip val->{sType,pNext} */
1736 vn_decode_VkBool32(dec, &val->inlineUniformBlock);
1737 vn_decode_VkBool32(dec, &val->descriptorBindingInlineUniformBlockUpdateAfterBind);
1738 }
1739
1740 static inline void
vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceInlineUniformBlockFeatures * val)1741 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceInlineUniformBlockFeatures *val)
1742 {
1743 VkStructureType stype;
1744 vn_decode_VkStructureType(dec, &stype);
1745 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES)
1746 vn_cs_decoder_set_fatal(dec);
1747
1748 val->sType = stype;
1749 val->pNext = vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext_temp(dec);
1750 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_temp(dec, val);
1751 }
1752
1753 static inline void *
vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1754 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1755 {
1756 /* no known/supported struct */
1757 if (vn_decode_simple_pointer(dec))
1758 vn_cs_decoder_set_fatal(dec);
1759 return NULL;
1760 }
1761
1762 static inline void
vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceInlineUniformBlockFeatures * val)1763 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceInlineUniformBlockFeatures *val)
1764 {
1765 /* skip val->{sType,pNext} */
1766 /* skip val->inlineUniformBlock */
1767 /* skip val->descriptorBindingInlineUniformBlockUpdateAfterBind */
1768 }
1769
1770 static inline void
vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceInlineUniformBlockFeatures * val)1771 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceInlineUniformBlockFeatures *val)
1772 {
1773 VkStructureType stype;
1774 vn_decode_VkStructureType(dec, &stype);
1775 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES)
1776 vn_cs_decoder_set_fatal(dec);
1777
1778 val->sType = stype;
1779 val->pNext = vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_pnext_partial_temp(dec);
1780 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_partial_temp(dec, val);
1781 }
1782
1783 static inline void
vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle_self(VkPhysicalDeviceInlineUniformBlockFeatures * val)1784 vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle_self(VkPhysicalDeviceInlineUniformBlockFeatures *val)
1785 {
1786 /* skip val->sType */
1787 /* skip val->pNext */
1788 /* skip val->inlineUniformBlock */
1789 /* skip val->descriptorBindingInlineUniformBlockUpdateAfterBind */
1790 }
1791
1792 static inline void
vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle(VkPhysicalDeviceInlineUniformBlockFeatures * val)1793 vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle(VkPhysicalDeviceInlineUniformBlockFeatures *val)
1794 {
1795 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1796
1797 do {
1798 switch ((int32_t)pnext->sType) {
1799 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
1800 vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle_self((VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
1801 break;
1802 default:
1803 /* ignore unknown/unsupported struct */
1804 break;
1805 }
1806 pnext = pnext->pNext;
1807 } while (pnext);
1808 }
1809
1810 /* struct VkPhysicalDeviceMaintenance4Features chain */
1811
1812 static inline void
vn_encode_VkPhysicalDeviceMaintenance4Features_pnext(struct vn_cs_encoder * enc,const void * val)1813 vn_encode_VkPhysicalDeviceMaintenance4Features_pnext(struct vn_cs_encoder *enc, const void *val)
1814 {
1815 /* no known/supported struct */
1816 vn_encode_simple_pointer(enc, NULL);
1817 }
1818
1819 static inline void
vn_encode_VkPhysicalDeviceMaintenance4Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMaintenance4Features * val)1820 vn_encode_VkPhysicalDeviceMaintenance4Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance4Features *val)
1821 {
1822 /* skip val->{sType,pNext} */
1823 vn_encode_VkBool32(enc, &val->maintenance4);
1824 }
1825
1826 static inline void
vn_encode_VkPhysicalDeviceMaintenance4Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceMaintenance4Features * val)1827 vn_encode_VkPhysicalDeviceMaintenance4Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance4Features *val)
1828 {
1829 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES);
1830 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES });
1831 vn_encode_VkPhysicalDeviceMaintenance4Features_pnext(enc, val->pNext);
1832 vn_encode_VkPhysicalDeviceMaintenance4Features_self(enc, val);
1833 }
1834
1835 static inline void *
vn_decode_VkPhysicalDeviceMaintenance4Features_pnext_temp(struct vn_cs_decoder * dec)1836 vn_decode_VkPhysicalDeviceMaintenance4Features_pnext_temp(struct vn_cs_decoder *dec)
1837 {
1838 /* no known/supported struct */
1839 if (vn_decode_simple_pointer(dec))
1840 vn_cs_decoder_set_fatal(dec);
1841 return NULL;
1842 }
1843
1844 static inline void
vn_decode_VkPhysicalDeviceMaintenance4Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance4Features * val)1845 vn_decode_VkPhysicalDeviceMaintenance4Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance4Features *val)
1846 {
1847 /* skip val->{sType,pNext} */
1848 vn_decode_VkBool32(dec, &val->maintenance4);
1849 }
1850
1851 static inline void
vn_decode_VkPhysicalDeviceMaintenance4Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance4Features * val)1852 vn_decode_VkPhysicalDeviceMaintenance4Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance4Features *val)
1853 {
1854 VkStructureType stype;
1855 vn_decode_VkStructureType(dec, &stype);
1856 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES)
1857 vn_cs_decoder_set_fatal(dec);
1858
1859 val->sType = stype;
1860 val->pNext = vn_decode_VkPhysicalDeviceMaintenance4Features_pnext_temp(dec);
1861 vn_decode_VkPhysicalDeviceMaintenance4Features_self_temp(dec, val);
1862 }
1863
1864 static inline void *
vn_decode_VkPhysicalDeviceMaintenance4Features_pnext_partial_temp(struct vn_cs_decoder * dec)1865 vn_decode_VkPhysicalDeviceMaintenance4Features_pnext_partial_temp(struct vn_cs_decoder *dec)
1866 {
1867 /* no known/supported struct */
1868 if (vn_decode_simple_pointer(dec))
1869 vn_cs_decoder_set_fatal(dec);
1870 return NULL;
1871 }
1872
1873 static inline void
vn_decode_VkPhysicalDeviceMaintenance4Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance4Features * val)1874 vn_decode_VkPhysicalDeviceMaintenance4Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance4Features *val)
1875 {
1876 /* skip val->{sType,pNext} */
1877 /* skip val->maintenance4 */
1878 }
1879
1880 static inline void
vn_decode_VkPhysicalDeviceMaintenance4Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance4Features * val)1881 vn_decode_VkPhysicalDeviceMaintenance4Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance4Features *val)
1882 {
1883 VkStructureType stype;
1884 vn_decode_VkStructureType(dec, &stype);
1885 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES)
1886 vn_cs_decoder_set_fatal(dec);
1887
1888 val->sType = stype;
1889 val->pNext = vn_decode_VkPhysicalDeviceMaintenance4Features_pnext_partial_temp(dec);
1890 vn_decode_VkPhysicalDeviceMaintenance4Features_self_partial_temp(dec, val);
1891 }
1892
1893 static inline void
vn_replace_VkPhysicalDeviceMaintenance4Features_handle_self(VkPhysicalDeviceMaintenance4Features * val)1894 vn_replace_VkPhysicalDeviceMaintenance4Features_handle_self(VkPhysicalDeviceMaintenance4Features *val)
1895 {
1896 /* skip val->sType */
1897 /* skip val->pNext */
1898 /* skip val->maintenance4 */
1899 }
1900
1901 static inline void
vn_replace_VkPhysicalDeviceMaintenance4Features_handle(VkPhysicalDeviceMaintenance4Features * val)1902 vn_replace_VkPhysicalDeviceMaintenance4Features_handle(VkPhysicalDeviceMaintenance4Features *val)
1903 {
1904 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
1905
1906 do {
1907 switch ((int32_t)pnext->sType) {
1908 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
1909 vn_replace_VkPhysicalDeviceMaintenance4Features_handle_self((VkPhysicalDeviceMaintenance4Features *)pnext);
1910 break;
1911 default:
1912 /* ignore unknown/unsupported struct */
1913 break;
1914 }
1915 pnext = pnext->pNext;
1916 } while (pnext);
1917 }
1918
1919 /* struct VkPhysicalDeviceShaderDrawParametersFeatures chain */
1920
1921 static inline void
vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_encoder * enc,const void * val)1922 vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
1923 {
1924 /* no known/supported struct */
1925 vn_encode_simple_pointer(enc, NULL);
1926 }
1927
1928 static inline void
vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderDrawParametersFeatures * val)1929 vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
1930 {
1931 /* skip val->{sType,pNext} */
1932 vn_encode_VkBool32(enc, &val->shaderDrawParameters);
1933 }
1934
1935 static inline void
vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderDrawParametersFeatures * val)1936 vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDrawParametersFeatures *val)
1937 {
1938 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES);
1939 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES });
1940 vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext(enc, val->pNext);
1941 vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, val);
1942 }
1943
1944 static inline void *
vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_temp(struct vn_cs_decoder * dec)1945 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_temp(struct vn_cs_decoder *dec)
1946 {
1947 /* no known/supported struct */
1948 if (vn_decode_simple_pointer(dec))
1949 vn_cs_decoder_set_fatal(dec);
1950 return NULL;
1951 }
1952
1953 static inline void
vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDrawParametersFeatures * val)1954 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
1955 {
1956 /* skip val->{sType,pNext} */
1957 vn_decode_VkBool32(dec, &val->shaderDrawParameters);
1958 }
1959
1960 static inline void
vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDrawParametersFeatures * val)1961 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
1962 {
1963 VkStructureType stype;
1964 vn_decode_VkStructureType(dec, &stype);
1965 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES)
1966 vn_cs_decoder_set_fatal(dec);
1967
1968 val->sType = stype;
1969 val->pNext = vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_temp(dec);
1970 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_temp(dec, val);
1971 }
1972
1973 static inline void *
vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)1974 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
1975 {
1976 /* no known/supported struct */
1977 if (vn_decode_simple_pointer(dec))
1978 vn_cs_decoder_set_fatal(dec);
1979 return NULL;
1980 }
1981
1982 static inline void
vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDrawParametersFeatures * val)1983 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
1984 {
1985 /* skip val->{sType,pNext} */
1986 /* skip val->shaderDrawParameters */
1987 }
1988
1989 static inline void
vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDrawParametersFeatures * val)1990 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDrawParametersFeatures *val)
1991 {
1992 VkStructureType stype;
1993 vn_decode_VkStructureType(dec, &stype);
1994 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES)
1995 vn_cs_decoder_set_fatal(dec);
1996
1997 val->sType = stype;
1998 val->pNext = vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_pnext_partial_temp(dec);
1999 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial_temp(dec, val);
2000 }
2001
2002 static inline void
vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle_self(VkPhysicalDeviceShaderDrawParametersFeatures * val)2003 vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle_self(VkPhysicalDeviceShaderDrawParametersFeatures *val)
2004 {
2005 /* skip val->sType */
2006 /* skip val->pNext */
2007 /* skip val->shaderDrawParameters */
2008 }
2009
2010 static inline void
vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle(VkPhysicalDeviceShaderDrawParametersFeatures * val)2011 vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle(VkPhysicalDeviceShaderDrawParametersFeatures *val)
2012 {
2013 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2014
2015 do {
2016 switch ((int32_t)pnext->sType) {
2017 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
2018 vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle_self((VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
2019 break;
2020 default:
2021 /* ignore unknown/unsupported struct */
2022 break;
2023 }
2024 pnext = pnext->pNext;
2025 } while (pnext);
2026 }
2027
2028 /* struct VkPhysicalDeviceShaderFloat16Int8Features chain */
2029
2030 static inline void
vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_encoder * enc,const void * val)2031 vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(struct vn_cs_encoder *enc, const void *val)
2032 {
2033 /* no known/supported struct */
2034 vn_encode_simple_pointer(enc, NULL);
2035 }
2036
2037 static inline void
vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderFloat16Int8Features * val)2038 vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
2039 {
2040 /* skip val->{sType,pNext} */
2041 vn_encode_VkBool32(enc, &val->shaderFloat16);
2042 vn_encode_VkBool32(enc, &val->shaderInt8);
2043 }
2044
2045 static inline void
vn_encode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderFloat16Int8Features * val)2046 vn_encode_VkPhysicalDeviceShaderFloat16Int8Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderFloat16Int8Features *val)
2047 {
2048 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES);
2049 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES });
2050 vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_pnext(enc, val->pNext);
2051 vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, val);
2052 }
2053
2054 static inline void *
vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_temp(struct vn_cs_decoder * dec)2055 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_temp(struct vn_cs_decoder *dec)
2056 {
2057 /* no known/supported struct */
2058 if (vn_decode_simple_pointer(dec))
2059 vn_cs_decoder_set_fatal(dec);
2060 return NULL;
2061 }
2062
2063 static inline void
vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderFloat16Int8Features * val)2064 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
2065 {
2066 /* skip val->{sType,pNext} */
2067 vn_decode_VkBool32(dec, &val->shaderFloat16);
2068 vn_decode_VkBool32(dec, &val->shaderInt8);
2069 }
2070
2071 static inline void
vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderFloat16Int8Features * val)2072 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
2073 {
2074 VkStructureType stype;
2075 vn_decode_VkStructureType(dec, &stype);
2076 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES)
2077 vn_cs_decoder_set_fatal(dec);
2078
2079 val->sType = stype;
2080 val->pNext = vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_temp(dec);
2081 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_temp(dec, val);
2082 }
2083
2084 static inline void *
vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial_temp(struct vn_cs_decoder * dec)2085 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial_temp(struct vn_cs_decoder *dec)
2086 {
2087 /* no known/supported struct */
2088 if (vn_decode_simple_pointer(dec))
2089 vn_cs_decoder_set_fatal(dec);
2090 return NULL;
2091 }
2092
2093 static inline void
vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderFloat16Int8Features * val)2094 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
2095 {
2096 /* skip val->{sType,pNext} */
2097 /* skip val->shaderFloat16 */
2098 /* skip val->shaderInt8 */
2099 }
2100
2101 static inline void
vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderFloat16Int8Features * val)2102 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderFloat16Int8Features *val)
2103 {
2104 VkStructureType stype;
2105 vn_decode_VkStructureType(dec, &stype);
2106 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES)
2107 vn_cs_decoder_set_fatal(dec);
2108
2109 val->sType = stype;
2110 val->pNext = vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_pnext_partial_temp(dec);
2111 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial_temp(dec, val);
2112 }
2113
2114 static inline void
vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle_self(VkPhysicalDeviceShaderFloat16Int8Features * val)2115 vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle_self(VkPhysicalDeviceShaderFloat16Int8Features *val)
2116 {
2117 /* skip val->sType */
2118 /* skip val->pNext */
2119 /* skip val->shaderFloat16 */
2120 /* skip val->shaderInt8 */
2121 }
2122
2123 static inline void
vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle(VkPhysicalDeviceShaderFloat16Int8Features * val)2124 vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle(VkPhysicalDeviceShaderFloat16Int8Features *val)
2125 {
2126 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2127
2128 do {
2129 switch ((int32_t)pnext->sType) {
2130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
2131 vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle_self((VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
2132 break;
2133 default:
2134 /* ignore unknown/unsupported struct */
2135 break;
2136 }
2137 pnext = pnext->pNext;
2138 } while (pnext);
2139 }
2140
2141 /* struct VkPhysicalDeviceHostQueryResetFeatures chain */
2142
2143 static inline void
vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_encoder * enc,const void * val)2144 vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
2145 {
2146 /* no known/supported struct */
2147 vn_encode_simple_pointer(enc, NULL);
2148 }
2149
2150 static inline void
vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceHostQueryResetFeatures * val)2151 vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
2152 {
2153 /* skip val->{sType,pNext} */
2154 vn_encode_VkBool32(enc, &val->hostQueryReset);
2155 }
2156
2157 static inline void
vn_encode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceHostQueryResetFeatures * val)2158 vn_encode_VkPhysicalDeviceHostQueryResetFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceHostQueryResetFeatures *val)
2159 {
2160 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES);
2161 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES });
2162 vn_encode_VkPhysicalDeviceHostQueryResetFeatures_pnext(enc, val->pNext);
2163 vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, val);
2164 }
2165
2166 static inline void *
vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext_temp(struct vn_cs_decoder * dec)2167 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext_temp(struct vn_cs_decoder *dec)
2168 {
2169 /* no known/supported struct */
2170 if (vn_decode_simple_pointer(dec))
2171 vn_cs_decoder_set_fatal(dec);
2172 return NULL;
2173 }
2174
2175 static inline void
vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceHostQueryResetFeatures * val)2176 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
2177 {
2178 /* skip val->{sType,pNext} */
2179 vn_decode_VkBool32(dec, &val->hostQueryReset);
2180 }
2181
2182 static inline void
vn_decode_VkPhysicalDeviceHostQueryResetFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceHostQueryResetFeatures * val)2183 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
2184 {
2185 VkStructureType stype;
2186 vn_decode_VkStructureType(dec, &stype);
2187 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES)
2188 vn_cs_decoder_set_fatal(dec);
2189
2190 val->sType = stype;
2191 val->pNext = vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext_temp(dec);
2192 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_temp(dec, val);
2193 }
2194
2195 static inline void *
vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)2196 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
2197 {
2198 /* no known/supported struct */
2199 if (vn_decode_simple_pointer(dec))
2200 vn_cs_decoder_set_fatal(dec);
2201 return NULL;
2202 }
2203
2204 static inline void
vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceHostQueryResetFeatures * val)2205 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
2206 {
2207 /* skip val->{sType,pNext} */
2208 /* skip val->hostQueryReset */
2209 }
2210
2211 static inline void
vn_decode_VkPhysicalDeviceHostQueryResetFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceHostQueryResetFeatures * val)2212 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceHostQueryResetFeatures *val)
2213 {
2214 VkStructureType stype;
2215 vn_decode_VkStructureType(dec, &stype);
2216 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES)
2217 vn_cs_decoder_set_fatal(dec);
2218
2219 val->sType = stype;
2220 val->pNext = vn_decode_VkPhysicalDeviceHostQueryResetFeatures_pnext_partial_temp(dec);
2221 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_partial_temp(dec, val);
2222 }
2223
2224 static inline void
vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle_self(VkPhysicalDeviceHostQueryResetFeatures * val)2225 vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle_self(VkPhysicalDeviceHostQueryResetFeatures *val)
2226 {
2227 /* skip val->sType */
2228 /* skip val->pNext */
2229 /* skip val->hostQueryReset */
2230 }
2231
2232 static inline void
vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle(VkPhysicalDeviceHostQueryResetFeatures * val)2233 vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle(VkPhysicalDeviceHostQueryResetFeatures *val)
2234 {
2235 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2236
2237 do {
2238 switch ((int32_t)pnext->sType) {
2239 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
2240 vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle_self((VkPhysicalDeviceHostQueryResetFeatures *)pnext);
2241 break;
2242 default:
2243 /* ignore unknown/unsupported struct */
2244 break;
2245 }
2246 pnext = pnext->pNext;
2247 } while (pnext);
2248 }
2249
2250 /* struct VkPhysicalDeviceDescriptorIndexingFeatures chain */
2251
2252 static inline void
vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_encoder * enc,const void * val)2253 vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
2254 {
2255 /* no known/supported struct */
2256 vn_encode_simple_pointer(enc, NULL);
2257 }
2258
2259 static inline void
vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDescriptorIndexingFeatures * val)2260 vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
2261 {
2262 /* skip val->{sType,pNext} */
2263 vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);
2264 vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);
2265 vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);
2266 vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);
2267 vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);
2268 vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);
2269 vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);
2270 vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);
2271 vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
2272 vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
2273 vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);
2274 vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);
2275 vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);
2276 vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);
2277 vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
2278 vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
2279 vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);
2280 vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);
2281 vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);
2282 vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);
2283 }
2284
2285 static inline void
vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceDescriptorIndexingFeatures * val)2286 vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingFeatures *val)
2287 {
2288 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES);
2289 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES });
2290 vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext(enc, val->pNext);
2291 vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, val);
2292 }
2293
2294 static inline void *
vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_temp(struct vn_cs_decoder * dec)2295 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_temp(struct vn_cs_decoder *dec)
2296 {
2297 /* no known/supported struct */
2298 if (vn_decode_simple_pointer(dec))
2299 vn_cs_decoder_set_fatal(dec);
2300 return NULL;
2301 }
2302
2303 static inline void
vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDescriptorIndexingFeatures * val)2304 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
2305 {
2306 /* skip val->{sType,pNext} */
2307 vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);
2308 vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);
2309 vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);
2310 vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);
2311 vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);
2312 vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);
2313 vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);
2314 vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);
2315 vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
2316 vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
2317 vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);
2318 vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);
2319 vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);
2320 vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);
2321 vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
2322 vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
2323 vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);
2324 vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);
2325 vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);
2326 vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);
2327 }
2328
2329 static inline void
vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDescriptorIndexingFeatures * val)2330 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
2331 {
2332 VkStructureType stype;
2333 vn_decode_VkStructureType(dec, &stype);
2334 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES)
2335 vn_cs_decoder_set_fatal(dec);
2336
2337 val->sType = stype;
2338 val->pNext = vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_temp(dec);
2339 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_temp(dec, val);
2340 }
2341
2342 static inline void *
vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)2343 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
2344 {
2345 /* no known/supported struct */
2346 if (vn_decode_simple_pointer(dec))
2347 vn_cs_decoder_set_fatal(dec);
2348 return NULL;
2349 }
2350
2351 static inline void
vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDescriptorIndexingFeatures * val)2352 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
2353 {
2354 /* skip val->{sType,pNext} */
2355 /* skip val->shaderInputAttachmentArrayDynamicIndexing */
2356 /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
2357 /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
2358 /* skip val->shaderUniformBufferArrayNonUniformIndexing */
2359 /* skip val->shaderSampledImageArrayNonUniformIndexing */
2360 /* skip val->shaderStorageBufferArrayNonUniformIndexing */
2361 /* skip val->shaderStorageImageArrayNonUniformIndexing */
2362 /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
2363 /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
2364 /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
2365 /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
2366 /* skip val->descriptorBindingSampledImageUpdateAfterBind */
2367 /* skip val->descriptorBindingStorageImageUpdateAfterBind */
2368 /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
2369 /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
2370 /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
2371 /* skip val->descriptorBindingUpdateUnusedWhilePending */
2372 /* skip val->descriptorBindingPartiallyBound */
2373 /* skip val->descriptorBindingVariableDescriptorCount */
2374 /* skip val->runtimeDescriptorArray */
2375 }
2376
2377 static inline void
vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDescriptorIndexingFeatures * val)2378 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingFeatures *val)
2379 {
2380 VkStructureType stype;
2381 vn_decode_VkStructureType(dec, &stype);
2382 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES)
2383 vn_cs_decoder_set_fatal(dec);
2384
2385 val->sType = stype;
2386 val->pNext = vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_pnext_partial_temp(dec);
2387 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial_temp(dec, val);
2388 }
2389
2390 static inline void
vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle_self(VkPhysicalDeviceDescriptorIndexingFeatures * val)2391 vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle_self(VkPhysicalDeviceDescriptorIndexingFeatures *val)
2392 {
2393 /* skip val->sType */
2394 /* skip val->pNext */
2395 /* skip val->shaderInputAttachmentArrayDynamicIndexing */
2396 /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
2397 /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
2398 /* skip val->shaderUniformBufferArrayNonUniformIndexing */
2399 /* skip val->shaderSampledImageArrayNonUniformIndexing */
2400 /* skip val->shaderStorageBufferArrayNonUniformIndexing */
2401 /* skip val->shaderStorageImageArrayNonUniformIndexing */
2402 /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
2403 /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
2404 /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
2405 /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
2406 /* skip val->descriptorBindingSampledImageUpdateAfterBind */
2407 /* skip val->descriptorBindingStorageImageUpdateAfterBind */
2408 /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
2409 /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
2410 /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
2411 /* skip val->descriptorBindingUpdateUnusedWhilePending */
2412 /* skip val->descriptorBindingPartiallyBound */
2413 /* skip val->descriptorBindingVariableDescriptorCount */
2414 /* skip val->runtimeDescriptorArray */
2415 }
2416
2417 static inline void
vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle(VkPhysicalDeviceDescriptorIndexingFeatures * val)2418 vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle(VkPhysicalDeviceDescriptorIndexingFeatures *val)
2419 {
2420 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2421
2422 do {
2423 switch ((int32_t)pnext->sType) {
2424 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
2425 vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle_self((VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
2426 break;
2427 default:
2428 /* ignore unknown/unsupported struct */
2429 break;
2430 }
2431 pnext = pnext->pNext;
2432 } while (pnext);
2433 }
2434
2435 /* struct VkPhysicalDeviceTimelineSemaphoreFeatures chain */
2436
2437 static inline void
vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_encoder * enc,const void * val)2438 vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
2439 {
2440 /* no known/supported struct */
2441 vn_encode_simple_pointer(enc, NULL);
2442 }
2443
2444 static inline void
vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTimelineSemaphoreFeatures * val)2445 vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2446 {
2447 /* skip val->{sType,pNext} */
2448 vn_encode_VkBool32(enc, &val->timelineSemaphore);
2449 }
2450
2451 static inline void
vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceTimelineSemaphoreFeatures * val)2452 vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2453 {
2454 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES);
2455 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES });
2456 vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext(enc, val->pNext);
2457 vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, val);
2458 }
2459
2460 static inline void *
vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_temp(struct vn_cs_decoder * dec)2461 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_temp(struct vn_cs_decoder *dec)
2462 {
2463 /* no known/supported struct */
2464 if (vn_decode_simple_pointer(dec))
2465 vn_cs_decoder_set_fatal(dec);
2466 return NULL;
2467 }
2468
2469 static inline void
vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTimelineSemaphoreFeatures * val)2470 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2471 {
2472 /* skip val->{sType,pNext} */
2473 vn_decode_VkBool32(dec, &val->timelineSemaphore);
2474 }
2475
2476 static inline void
vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTimelineSemaphoreFeatures * val)2477 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2478 {
2479 VkStructureType stype;
2480 vn_decode_VkStructureType(dec, &stype);
2481 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES)
2482 vn_cs_decoder_set_fatal(dec);
2483
2484 val->sType = stype;
2485 val->pNext = vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_temp(dec);
2486 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_temp(dec, val);
2487 }
2488
2489 static inline void *
vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)2490 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
2491 {
2492 /* no known/supported struct */
2493 if (vn_decode_simple_pointer(dec))
2494 vn_cs_decoder_set_fatal(dec);
2495 return NULL;
2496 }
2497
2498 static inline void
vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTimelineSemaphoreFeatures * val)2499 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2500 {
2501 /* skip val->{sType,pNext} */
2502 /* skip val->timelineSemaphore */
2503 }
2504
2505 static inline void
vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTimelineSemaphoreFeatures * val)2506 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2507 {
2508 VkStructureType stype;
2509 vn_decode_VkStructureType(dec, &stype);
2510 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES)
2511 vn_cs_decoder_set_fatal(dec);
2512
2513 val->sType = stype;
2514 val->pNext = vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_pnext_partial_temp(dec);
2515 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial_temp(dec, val);
2516 }
2517
2518 static inline void
vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle_self(VkPhysicalDeviceTimelineSemaphoreFeatures * val)2519 vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle_self(VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2520 {
2521 /* skip val->sType */
2522 /* skip val->pNext */
2523 /* skip val->timelineSemaphore */
2524 }
2525
2526 static inline void
vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle(VkPhysicalDeviceTimelineSemaphoreFeatures * val)2527 vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle(VkPhysicalDeviceTimelineSemaphoreFeatures *val)
2528 {
2529 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2530
2531 do {
2532 switch ((int32_t)pnext->sType) {
2533 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
2534 vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle_self((VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
2535 break;
2536 default:
2537 /* ignore unknown/unsupported struct */
2538 break;
2539 }
2540 pnext = pnext->pNext;
2541 } while (pnext);
2542 }
2543
2544 /* struct VkPhysicalDevice8BitStorageFeatures chain */
2545
2546 static inline void
vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_encoder * enc,const void * val)2547 vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
2548 {
2549 /* no known/supported struct */
2550 vn_encode_simple_pointer(enc, NULL);
2551 }
2552
2553 static inline void
vn_encode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDevice8BitStorageFeatures * val)2554 vn_encode_VkPhysicalDevice8BitStorageFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
2555 {
2556 /* skip val->{sType,pNext} */
2557 vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);
2558 vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);
2559 vn_encode_VkBool32(enc, &val->storagePushConstant8);
2560 }
2561
2562 static inline void
vn_encode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_encoder * enc,const VkPhysicalDevice8BitStorageFeatures * val)2563 vn_encode_VkPhysicalDevice8BitStorageFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevice8BitStorageFeatures *val)
2564 {
2565 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES);
2566 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES });
2567 vn_encode_VkPhysicalDevice8BitStorageFeatures_pnext(enc, val->pNext);
2568 vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, val);
2569 }
2570
2571 static inline void *
vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext_temp(struct vn_cs_decoder * dec)2572 vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext_temp(struct vn_cs_decoder *dec)
2573 {
2574 /* no known/supported struct */
2575 if (vn_decode_simple_pointer(dec))
2576 vn_cs_decoder_set_fatal(dec);
2577 return NULL;
2578 }
2579
2580 static inline void
vn_decode_VkPhysicalDevice8BitStorageFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevice8BitStorageFeatures * val)2581 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
2582 {
2583 /* skip val->{sType,pNext} */
2584 vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);
2585 vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);
2586 vn_decode_VkBool32(dec, &val->storagePushConstant8);
2587 }
2588
2589 static inline void
vn_decode_VkPhysicalDevice8BitStorageFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDevice8BitStorageFeatures * val)2590 vn_decode_VkPhysicalDevice8BitStorageFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
2591 {
2592 VkStructureType stype;
2593 vn_decode_VkStructureType(dec, &stype);
2594 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES)
2595 vn_cs_decoder_set_fatal(dec);
2596
2597 val->sType = stype;
2598 val->pNext = vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext_temp(dec);
2599 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_temp(dec, val);
2600 }
2601
2602 static inline void *
vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)2603 vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
2604 {
2605 /* no known/supported struct */
2606 if (vn_decode_simple_pointer(dec))
2607 vn_cs_decoder_set_fatal(dec);
2608 return NULL;
2609 }
2610
2611 static inline void
vn_decode_VkPhysicalDevice8BitStorageFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevice8BitStorageFeatures * val)2612 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
2613 {
2614 /* skip val->{sType,pNext} */
2615 /* skip val->storageBuffer8BitAccess */
2616 /* skip val->uniformAndStorageBuffer8BitAccess */
2617 /* skip val->storagePushConstant8 */
2618 }
2619
2620 static inline void
vn_decode_VkPhysicalDevice8BitStorageFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevice8BitStorageFeatures * val)2621 vn_decode_VkPhysicalDevice8BitStorageFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevice8BitStorageFeatures *val)
2622 {
2623 VkStructureType stype;
2624 vn_decode_VkStructureType(dec, &stype);
2625 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES)
2626 vn_cs_decoder_set_fatal(dec);
2627
2628 val->sType = stype;
2629 val->pNext = vn_decode_VkPhysicalDevice8BitStorageFeatures_pnext_partial_temp(dec);
2630 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_partial_temp(dec, val);
2631 }
2632
2633 static inline void
vn_replace_VkPhysicalDevice8BitStorageFeatures_handle_self(VkPhysicalDevice8BitStorageFeatures * val)2634 vn_replace_VkPhysicalDevice8BitStorageFeatures_handle_self(VkPhysicalDevice8BitStorageFeatures *val)
2635 {
2636 /* skip val->sType */
2637 /* skip val->pNext */
2638 /* skip val->storageBuffer8BitAccess */
2639 /* skip val->uniformAndStorageBuffer8BitAccess */
2640 /* skip val->storagePushConstant8 */
2641 }
2642
2643 static inline void
vn_replace_VkPhysicalDevice8BitStorageFeatures_handle(VkPhysicalDevice8BitStorageFeatures * val)2644 vn_replace_VkPhysicalDevice8BitStorageFeatures_handle(VkPhysicalDevice8BitStorageFeatures *val)
2645 {
2646 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2647
2648 do {
2649 switch ((int32_t)pnext->sType) {
2650 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
2651 vn_replace_VkPhysicalDevice8BitStorageFeatures_handle_self((VkPhysicalDevice8BitStorageFeatures *)pnext);
2652 break;
2653 default:
2654 /* ignore unknown/unsupported struct */
2655 break;
2656 }
2657 pnext = pnext->pNext;
2658 } while (pnext);
2659 }
2660
2661 /* struct VkPhysicalDeviceConditionalRenderingFeaturesEXT chain */
2662
2663 static inline void
vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)2664 vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
2665 {
2666 /* no known/supported struct */
2667 vn_encode_simple_pointer(enc, NULL);
2668 }
2669
2670 static inline void
vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2671 vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2672 {
2673 /* skip val->{sType,pNext} */
2674 vn_encode_VkBool32(enc, &val->conditionalRendering);
2675 vn_encode_VkBool32(enc, &val->inheritedConditionalRendering);
2676 }
2677
2678 static inline void
vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2679 vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2680 {
2681 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT);
2682 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT });
2683 vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext(enc, val->pNext);
2684 vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self(enc, val);
2685 }
2686
2687 static inline void *
vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)2688 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
2689 {
2690 /* no known/supported struct */
2691 if (vn_decode_simple_pointer(dec))
2692 vn_cs_decoder_set_fatal(dec);
2693 return NULL;
2694 }
2695
2696 static inline void
vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2697 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2698 {
2699 /* skip val->{sType,pNext} */
2700 vn_decode_VkBool32(dec, &val->conditionalRendering);
2701 vn_decode_VkBool32(dec, &val->inheritedConditionalRendering);
2702 }
2703
2704 static inline void
vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2705 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2706 {
2707 VkStructureType stype;
2708 vn_decode_VkStructureType(dec, &stype);
2709 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT)
2710 vn_cs_decoder_set_fatal(dec);
2711
2712 val->sType = stype;
2713 val->pNext = vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext_temp(dec);
2714 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_temp(dec, val);
2715 }
2716
2717 static inline void *
vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)2718 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
2719 {
2720 /* no known/supported struct */
2721 if (vn_decode_simple_pointer(dec))
2722 vn_cs_decoder_set_fatal(dec);
2723 return NULL;
2724 }
2725
2726 static inline void
vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2727 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2728 {
2729 /* skip val->{sType,pNext} */
2730 /* skip val->conditionalRendering */
2731 /* skip val->inheritedConditionalRendering */
2732 }
2733
2734 static inline void
vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2735 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2736 {
2737 VkStructureType stype;
2738 vn_decode_VkStructureType(dec, &stype);
2739 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT)
2740 vn_cs_decoder_set_fatal(dec);
2741
2742 val->sType = stype;
2743 val->pNext = vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_pnext_partial_temp(dec);
2744 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_partial_temp(dec, val);
2745 }
2746
2747 static inline void
vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle_self(VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2748 vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle_self(VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2749 {
2750 /* skip val->sType */
2751 /* skip val->pNext */
2752 /* skip val->conditionalRendering */
2753 /* skip val->inheritedConditionalRendering */
2754 }
2755
2756 static inline void
vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle(VkPhysicalDeviceConditionalRenderingFeaturesEXT * val)2757 vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle(VkPhysicalDeviceConditionalRenderingFeaturesEXT *val)
2758 {
2759 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2760
2761 do {
2762 switch ((int32_t)pnext->sType) {
2763 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
2764 vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle_self((VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
2765 break;
2766 default:
2767 /* ignore unknown/unsupported struct */
2768 break;
2769 }
2770 pnext = pnext->pNext;
2771 } while (pnext);
2772 }
2773
2774 /* struct VkPhysicalDeviceVulkanMemoryModelFeatures chain */
2775
2776 static inline void
vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_encoder * enc,const void * val)2777 vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
2778 {
2779 /* no known/supported struct */
2780 vn_encode_simple_pointer(enc, NULL);
2781 }
2782
2783 static inline void
vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkanMemoryModelFeatures * val)2784 vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2785 {
2786 /* skip val->{sType,pNext} */
2787 vn_encode_VkBool32(enc, &val->vulkanMemoryModel);
2788 vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);
2789 vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);
2790 }
2791
2792 static inline void
vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkanMemoryModelFeatures * val)2793 vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2794 {
2795 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES);
2796 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES });
2797 vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext(enc, val->pNext);
2798 vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, val);
2799 }
2800
2801 static inline void *
vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_temp(struct vn_cs_decoder * dec)2802 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_temp(struct vn_cs_decoder *dec)
2803 {
2804 /* no known/supported struct */
2805 if (vn_decode_simple_pointer(dec))
2806 vn_cs_decoder_set_fatal(dec);
2807 return NULL;
2808 }
2809
2810 static inline void
vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkanMemoryModelFeatures * val)2811 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2812 {
2813 /* skip val->{sType,pNext} */
2814 vn_decode_VkBool32(dec, &val->vulkanMemoryModel);
2815 vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);
2816 vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);
2817 }
2818
2819 static inline void
vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkanMemoryModelFeatures * val)2820 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2821 {
2822 VkStructureType stype;
2823 vn_decode_VkStructureType(dec, &stype);
2824 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES)
2825 vn_cs_decoder_set_fatal(dec);
2826
2827 val->sType = stype;
2828 val->pNext = vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_temp(dec);
2829 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_temp(dec, val);
2830 }
2831
2832 static inline void *
vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)2833 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
2834 {
2835 /* no known/supported struct */
2836 if (vn_decode_simple_pointer(dec))
2837 vn_cs_decoder_set_fatal(dec);
2838 return NULL;
2839 }
2840
2841 static inline void
vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkanMemoryModelFeatures * val)2842 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2843 {
2844 /* skip val->{sType,pNext} */
2845 /* skip val->vulkanMemoryModel */
2846 /* skip val->vulkanMemoryModelDeviceScope */
2847 /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
2848 }
2849
2850 static inline void
vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkanMemoryModelFeatures * val)2851 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2852 {
2853 VkStructureType stype;
2854 vn_decode_VkStructureType(dec, &stype);
2855 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES)
2856 vn_cs_decoder_set_fatal(dec);
2857
2858 val->sType = stype;
2859 val->pNext = vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_pnext_partial_temp(dec);
2860 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial_temp(dec, val);
2861 }
2862
2863 static inline void
vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle_self(VkPhysicalDeviceVulkanMemoryModelFeatures * val)2864 vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle_self(VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2865 {
2866 /* skip val->sType */
2867 /* skip val->pNext */
2868 /* skip val->vulkanMemoryModel */
2869 /* skip val->vulkanMemoryModelDeviceScope */
2870 /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
2871 }
2872
2873 static inline void
vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle(VkPhysicalDeviceVulkanMemoryModelFeatures * val)2874 vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle(VkPhysicalDeviceVulkanMemoryModelFeatures *val)
2875 {
2876 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2877
2878 do {
2879 switch ((int32_t)pnext->sType) {
2880 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
2881 vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle_self((VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
2882 break;
2883 default:
2884 /* ignore unknown/unsupported struct */
2885 break;
2886 }
2887 pnext = pnext->pNext;
2888 } while (pnext);
2889 }
2890
2891 /* struct VkPhysicalDeviceShaderAtomicInt64Features chain */
2892
2893 static inline void
vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_encoder * enc,const void * val)2894 vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(struct vn_cs_encoder *enc, const void *val)
2895 {
2896 /* no known/supported struct */
2897 vn_encode_simple_pointer(enc, NULL);
2898 }
2899
2900 static inline void
vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderAtomicInt64Features * val)2901 vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
2902 {
2903 /* skip val->{sType,pNext} */
2904 vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);
2905 vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);
2906 }
2907
2908 static inline void
vn_encode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderAtomicInt64Features * val)2909 vn_encode_VkPhysicalDeviceShaderAtomicInt64Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderAtomicInt64Features *val)
2910 {
2911 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES);
2912 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES });
2913 vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_pnext(enc, val->pNext);
2914 vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, val);
2915 }
2916
2917 static inline void *
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_temp(struct vn_cs_decoder * dec)2918 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_temp(struct vn_cs_decoder *dec)
2919 {
2920 /* no known/supported struct */
2921 if (vn_decode_simple_pointer(dec))
2922 vn_cs_decoder_set_fatal(dec);
2923 return NULL;
2924 }
2925
2926 static inline void
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderAtomicInt64Features * val)2927 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
2928 {
2929 /* skip val->{sType,pNext} */
2930 vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);
2931 vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);
2932 }
2933
2934 static inline void
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderAtomicInt64Features * val)2935 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
2936 {
2937 VkStructureType stype;
2938 vn_decode_VkStructureType(dec, &stype);
2939 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES)
2940 vn_cs_decoder_set_fatal(dec);
2941
2942 val->sType = stype;
2943 val->pNext = vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_temp(dec);
2944 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_temp(dec, val);
2945 }
2946
2947 static inline void *
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial_temp(struct vn_cs_decoder * dec)2948 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial_temp(struct vn_cs_decoder *dec)
2949 {
2950 /* no known/supported struct */
2951 if (vn_decode_simple_pointer(dec))
2952 vn_cs_decoder_set_fatal(dec);
2953 return NULL;
2954 }
2955
2956 static inline void
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderAtomicInt64Features * val)2957 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
2958 {
2959 /* skip val->{sType,pNext} */
2960 /* skip val->shaderBufferInt64Atomics */
2961 /* skip val->shaderSharedInt64Atomics */
2962 }
2963
2964 static inline void
vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderAtomicInt64Features * val)2965 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderAtomicInt64Features *val)
2966 {
2967 VkStructureType stype;
2968 vn_decode_VkStructureType(dec, &stype);
2969 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES)
2970 vn_cs_decoder_set_fatal(dec);
2971
2972 val->sType = stype;
2973 val->pNext = vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_pnext_partial_temp(dec);
2974 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial_temp(dec, val);
2975 }
2976
2977 static inline void
vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle_self(VkPhysicalDeviceShaderAtomicInt64Features * val)2978 vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle_self(VkPhysicalDeviceShaderAtomicInt64Features *val)
2979 {
2980 /* skip val->sType */
2981 /* skip val->pNext */
2982 /* skip val->shaderBufferInt64Atomics */
2983 /* skip val->shaderSharedInt64Atomics */
2984 }
2985
2986 static inline void
vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle(VkPhysicalDeviceShaderAtomicInt64Features * val)2987 vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle(VkPhysicalDeviceShaderAtomicInt64Features *val)
2988 {
2989 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
2990
2991 do {
2992 switch ((int32_t)pnext->sType) {
2993 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
2994 vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle_self((VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
2995 break;
2996 default:
2997 /* ignore unknown/unsupported struct */
2998 break;
2999 }
3000 pnext = pnext->pNext;
3001 } while (pnext);
3002 }
3003
3004 /* struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT chain */
3005
3006 static inline void
vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)3007 vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
3008 {
3009 /* no known/supported struct */
3010 vn_encode_simple_pointer(enc, NULL);
3011 }
3012
3013 static inline void
vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3014 vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3015 {
3016 /* skip val->{sType,pNext} */
3017 vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateDivisor);
3018 vn_encode_VkBool32(enc, &val->vertexAttributeInstanceRateZeroDivisor);
3019 }
3020
3021 static inline void
vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3022 vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3023 {
3024 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT);
3025 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT });
3026 vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext(enc, val->pNext);
3027 vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(enc, val);
3028 }
3029
3030 static inline void *
vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)3031 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
3032 {
3033 /* no known/supported struct */
3034 if (vn_decode_simple_pointer(dec))
3035 vn_cs_decoder_set_fatal(dec);
3036 return NULL;
3037 }
3038
3039 static inline void
vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3040 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3041 {
3042 /* skip val->{sType,pNext} */
3043 vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateDivisor);
3044 vn_decode_VkBool32(dec, &val->vertexAttributeInstanceRateZeroDivisor);
3045 }
3046
3047 static inline void
vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3048 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3049 {
3050 VkStructureType stype;
3051 vn_decode_VkStructureType(dec, &stype);
3052 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT)
3053 vn_cs_decoder_set_fatal(dec);
3054
3055 val->sType = stype;
3056 val->pNext = vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_temp(dec);
3057 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_temp(dec, val);
3058 }
3059
3060 static inline void *
vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)3061 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
3062 {
3063 /* no known/supported struct */
3064 if (vn_decode_simple_pointer(dec))
3065 vn_cs_decoder_set_fatal(dec);
3066 return NULL;
3067 }
3068
3069 static inline void
vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3070 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3071 {
3072 /* skip val->{sType,pNext} */
3073 /* skip val->vertexAttributeInstanceRateDivisor */
3074 /* skip val->vertexAttributeInstanceRateZeroDivisor */
3075 }
3076
3077 static inline void
vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3078 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3079 {
3080 VkStructureType stype;
3081 vn_decode_VkStructureType(dec, &stype);
3082 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT)
3083 vn_cs_decoder_set_fatal(dec);
3084
3085 val->sType = stype;
3086 val->pNext = vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_pnext_partial_temp(dec);
3087 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial_temp(dec, val);
3088 }
3089
3090 static inline void
vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle_self(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3091 vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle_self(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3092 {
3093 /* skip val->sType */
3094 /* skip val->pNext */
3095 /* skip val->vertexAttributeInstanceRateDivisor */
3096 /* skip val->vertexAttributeInstanceRateZeroDivisor */
3097 }
3098
3099 static inline void
vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * val)3100 vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *val)
3101 {
3102 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3103
3104 do {
3105 switch ((int32_t)pnext->sType) {
3106 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
3107 vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle_self((VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
3108 break;
3109 default:
3110 /* ignore unknown/unsupported struct */
3111 break;
3112 }
3113 pnext = pnext->pNext;
3114 } while (pnext);
3115 }
3116
3117 /* struct VkPhysicalDeviceTransformFeedbackFeaturesEXT chain */
3118
3119 static inline void
vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)3120 vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
3121 {
3122 /* no known/supported struct */
3123 vn_encode_simple_pointer(enc, NULL);
3124 }
3125
3126 static inline void
vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3127 vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3128 {
3129 /* skip val->{sType,pNext} */
3130 vn_encode_VkBool32(enc, &val->transformFeedback);
3131 vn_encode_VkBool32(enc, &val->geometryStreams);
3132 }
3133
3134 static inline void
vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3135 vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3136 {
3137 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT);
3138 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT });
3139 vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext(enc, val->pNext);
3140 vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, val);
3141 }
3142
3143 static inline void *
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)3144 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
3145 {
3146 /* no known/supported struct */
3147 if (vn_decode_simple_pointer(dec))
3148 vn_cs_decoder_set_fatal(dec);
3149 return NULL;
3150 }
3151
3152 static inline void
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3153 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3154 {
3155 /* skip val->{sType,pNext} */
3156 vn_decode_VkBool32(dec, &val->transformFeedback);
3157 vn_decode_VkBool32(dec, &val->geometryStreams);
3158 }
3159
3160 static inline void
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3161 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3162 {
3163 VkStructureType stype;
3164 vn_decode_VkStructureType(dec, &stype);
3165 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT)
3166 vn_cs_decoder_set_fatal(dec);
3167
3168 val->sType = stype;
3169 val->pNext = vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_temp(dec);
3170 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_temp(dec, val);
3171 }
3172
3173 static inline void *
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)3174 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
3175 {
3176 /* no known/supported struct */
3177 if (vn_decode_simple_pointer(dec))
3178 vn_cs_decoder_set_fatal(dec);
3179 return NULL;
3180 }
3181
3182 static inline void
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3183 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3184 {
3185 /* skip val->{sType,pNext} */
3186 /* skip val->transformFeedback */
3187 /* skip val->geometryStreams */
3188 }
3189
3190 static inline void
vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3191 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3192 {
3193 VkStructureType stype;
3194 vn_decode_VkStructureType(dec, &stype);
3195 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT)
3196 vn_cs_decoder_set_fatal(dec);
3197
3198 val->sType = stype;
3199 val->pNext = vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_pnext_partial_temp(dec);
3200 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial_temp(dec, val);
3201 }
3202
3203 static inline void
vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle_self(VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3204 vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle_self(VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3205 {
3206 /* skip val->sType */
3207 /* skip val->pNext */
3208 /* skip val->transformFeedback */
3209 /* skip val->geometryStreams */
3210 }
3211
3212 static inline void
vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle(VkPhysicalDeviceTransformFeedbackFeaturesEXT * val)3213 vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle(VkPhysicalDeviceTransformFeedbackFeaturesEXT *val)
3214 {
3215 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3216
3217 do {
3218 switch ((int32_t)pnext->sType) {
3219 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
3220 vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle_self((VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
3221 break;
3222 default:
3223 /* ignore unknown/unsupported struct */
3224 break;
3225 }
3226 pnext = pnext->pNext;
3227 } while (pnext);
3228 }
3229
3230 /* struct VkPhysicalDeviceScalarBlockLayoutFeatures chain */
3231
3232 static inline void
vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_encoder * enc,const void * val)3233 vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
3234 {
3235 /* no known/supported struct */
3236 vn_encode_simple_pointer(enc, NULL);
3237 }
3238
3239 static inline void
vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceScalarBlockLayoutFeatures * val)3240 vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3241 {
3242 /* skip val->{sType,pNext} */
3243 vn_encode_VkBool32(enc, &val->scalarBlockLayout);
3244 }
3245
3246 static inline void
vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceScalarBlockLayoutFeatures * val)3247 vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3248 {
3249 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES);
3250 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES });
3251 vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext(enc, val->pNext);
3252 vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, val);
3253 }
3254
3255 static inline void *
vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_temp(struct vn_cs_decoder * dec)3256 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_temp(struct vn_cs_decoder *dec)
3257 {
3258 /* no known/supported struct */
3259 if (vn_decode_simple_pointer(dec))
3260 vn_cs_decoder_set_fatal(dec);
3261 return NULL;
3262 }
3263
3264 static inline void
vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceScalarBlockLayoutFeatures * val)3265 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3266 {
3267 /* skip val->{sType,pNext} */
3268 vn_decode_VkBool32(dec, &val->scalarBlockLayout);
3269 }
3270
3271 static inline void
vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceScalarBlockLayoutFeatures * val)3272 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3273 {
3274 VkStructureType stype;
3275 vn_decode_VkStructureType(dec, &stype);
3276 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES)
3277 vn_cs_decoder_set_fatal(dec);
3278
3279 val->sType = stype;
3280 val->pNext = vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_temp(dec);
3281 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_temp(dec, val);
3282 }
3283
3284 static inline void *
vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)3285 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
3286 {
3287 /* no known/supported struct */
3288 if (vn_decode_simple_pointer(dec))
3289 vn_cs_decoder_set_fatal(dec);
3290 return NULL;
3291 }
3292
3293 static inline void
vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceScalarBlockLayoutFeatures * val)3294 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3295 {
3296 /* skip val->{sType,pNext} */
3297 /* skip val->scalarBlockLayout */
3298 }
3299
3300 static inline void
vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceScalarBlockLayoutFeatures * val)3301 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3302 {
3303 VkStructureType stype;
3304 vn_decode_VkStructureType(dec, &stype);
3305 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES)
3306 vn_cs_decoder_set_fatal(dec);
3307
3308 val->sType = stype;
3309 val->pNext = vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_pnext_partial_temp(dec);
3310 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial_temp(dec, val);
3311 }
3312
3313 static inline void
vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle_self(VkPhysicalDeviceScalarBlockLayoutFeatures * val)3314 vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle_self(VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3315 {
3316 /* skip val->sType */
3317 /* skip val->pNext */
3318 /* skip val->scalarBlockLayout */
3319 }
3320
3321 static inline void
vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle(VkPhysicalDeviceScalarBlockLayoutFeatures * val)3322 vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle(VkPhysicalDeviceScalarBlockLayoutFeatures *val)
3323 {
3324 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3325
3326 do {
3327 switch ((int32_t)pnext->sType) {
3328 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
3329 vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle_self((VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
3330 break;
3331 default:
3332 /* ignore unknown/unsupported struct */
3333 break;
3334 }
3335 pnext = pnext->pNext;
3336 } while (pnext);
3337 }
3338
3339 /* struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures chain */
3340
3341 static inline void
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_encoder * enc,const void * val)3342 vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
3343 {
3344 /* no known/supported struct */
3345 vn_encode_simple_pointer(enc, NULL);
3346 }
3347
3348 static inline void
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3349 vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3350 {
3351 /* skip val->{sType,pNext} */
3352 vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);
3353 }
3354
3355 static inline void
vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3356 vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3357 {
3358 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES);
3359 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES });
3360 vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext(enc, val->pNext);
3361 vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, val);
3362 }
3363
3364 static inline void *
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_temp(struct vn_cs_decoder * dec)3365 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_temp(struct vn_cs_decoder *dec)
3366 {
3367 /* no known/supported struct */
3368 if (vn_decode_simple_pointer(dec))
3369 vn_cs_decoder_set_fatal(dec);
3370 return NULL;
3371 }
3372
3373 static inline void
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3374 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3375 {
3376 /* skip val->{sType,pNext} */
3377 vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);
3378 }
3379
3380 static inline void
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3381 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3382 {
3383 VkStructureType stype;
3384 vn_decode_VkStructureType(dec, &stype);
3385 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES)
3386 vn_cs_decoder_set_fatal(dec);
3387
3388 val->sType = stype;
3389 val->pNext = vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_temp(dec);
3390 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_temp(dec, val);
3391 }
3392
3393 static inline void *
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)3394 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
3395 {
3396 /* no known/supported struct */
3397 if (vn_decode_simple_pointer(dec))
3398 vn_cs_decoder_set_fatal(dec);
3399 return NULL;
3400 }
3401
3402 static inline void
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3403 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3404 {
3405 /* skip val->{sType,pNext} */
3406 /* skip val->uniformBufferStandardLayout */
3407 }
3408
3409 static inline void
vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3410 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3411 {
3412 VkStructureType stype;
3413 vn_decode_VkStructureType(dec, &stype);
3414 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES)
3415 vn_cs_decoder_set_fatal(dec);
3416
3417 val->sType = stype;
3418 val->pNext = vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_pnext_partial_temp(dec);
3419 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial_temp(dec, val);
3420 }
3421
3422 static inline void
vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle_self(VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3423 vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle_self(VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3424 {
3425 /* skip val->sType */
3426 /* skip val->pNext */
3427 /* skip val->uniformBufferStandardLayout */
3428 }
3429
3430 static inline void
vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle(VkPhysicalDeviceUniformBufferStandardLayoutFeatures * val)3431 vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle(VkPhysicalDeviceUniformBufferStandardLayoutFeatures *val)
3432 {
3433 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3434
3435 do {
3436 switch ((int32_t)pnext->sType) {
3437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
3438 vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle_self((VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
3439 break;
3440 default:
3441 /* ignore unknown/unsupported struct */
3442 break;
3443 }
3444 pnext = pnext->pNext;
3445 } while (pnext);
3446 }
3447
3448 /* struct VkPhysicalDeviceDepthClipEnableFeaturesEXT chain */
3449
3450 static inline void
vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)3451 vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
3452 {
3453 /* no known/supported struct */
3454 vn_encode_simple_pointer(enc, NULL);
3455 }
3456
3457 static inline void
vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3458 vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3459 {
3460 /* skip val->{sType,pNext} */
3461 vn_encode_VkBool32(enc, &val->depthClipEnable);
3462 }
3463
3464 static inline void
vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3465 vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3466 {
3467 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT);
3468 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT });
3469 vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext(enc, val->pNext);
3470 vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(enc, val);
3471 }
3472
3473 static inline void *
vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)3474 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
3475 {
3476 /* no known/supported struct */
3477 if (vn_decode_simple_pointer(dec))
3478 vn_cs_decoder_set_fatal(dec);
3479 return NULL;
3480 }
3481
3482 static inline void
vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3483 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3484 {
3485 /* skip val->{sType,pNext} */
3486 vn_decode_VkBool32(dec, &val->depthClipEnable);
3487 }
3488
3489 static inline void
vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3490 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3491 {
3492 VkStructureType stype;
3493 vn_decode_VkStructureType(dec, &stype);
3494 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT)
3495 vn_cs_decoder_set_fatal(dec);
3496
3497 val->sType = stype;
3498 val->pNext = vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_temp(dec);
3499 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_temp(dec, val);
3500 }
3501
3502 static inline void *
vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)3503 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
3504 {
3505 /* no known/supported struct */
3506 if (vn_decode_simple_pointer(dec))
3507 vn_cs_decoder_set_fatal(dec);
3508 return NULL;
3509 }
3510
3511 static inline void
vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3512 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3513 {
3514 /* skip val->{sType,pNext} */
3515 /* skip val->depthClipEnable */
3516 }
3517
3518 static inline void
vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3519 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3520 {
3521 VkStructureType stype;
3522 vn_decode_VkStructureType(dec, &stype);
3523 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT)
3524 vn_cs_decoder_set_fatal(dec);
3525
3526 val->sType = stype;
3527 val->pNext = vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_pnext_partial_temp(dec);
3528 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial_temp(dec, val);
3529 }
3530
3531 static inline void
vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle_self(VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3532 vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle_self(VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3533 {
3534 /* skip val->sType */
3535 /* skip val->pNext */
3536 /* skip val->depthClipEnable */
3537 }
3538
3539 static inline void
vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle(VkPhysicalDeviceDepthClipEnableFeaturesEXT * val)3540 vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle(VkPhysicalDeviceDepthClipEnableFeaturesEXT *val)
3541 {
3542 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3543
3544 do {
3545 switch ((int32_t)pnext->sType) {
3546 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
3547 vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle_self((VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
3548 break;
3549 default:
3550 /* ignore unknown/unsupported struct */
3551 break;
3552 }
3553 pnext = pnext->pNext;
3554 } while (pnext);
3555 }
3556
3557 /* struct VkPhysicalDeviceBufferDeviceAddressFeatures chain */
3558
3559 static inline void
vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_encoder * enc,const void * val)3560 vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
3561 {
3562 /* no known/supported struct */
3563 vn_encode_simple_pointer(enc, NULL);
3564 }
3565
3566 static inline void
vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceBufferDeviceAddressFeatures * val)3567 vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3568 {
3569 /* skip val->{sType,pNext} */
3570 vn_encode_VkBool32(enc, &val->bufferDeviceAddress);
3571 vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);
3572 vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);
3573 }
3574
3575 static inline void
vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceBufferDeviceAddressFeatures * val)3576 vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3577 {
3578 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES);
3579 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES });
3580 vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext(enc, val->pNext);
3581 vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, val);
3582 }
3583
3584 static inline void *
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_temp(struct vn_cs_decoder * dec)3585 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_temp(struct vn_cs_decoder *dec)
3586 {
3587 /* no known/supported struct */
3588 if (vn_decode_simple_pointer(dec))
3589 vn_cs_decoder_set_fatal(dec);
3590 return NULL;
3591 }
3592
3593 static inline void
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceBufferDeviceAddressFeatures * val)3594 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3595 {
3596 /* skip val->{sType,pNext} */
3597 vn_decode_VkBool32(dec, &val->bufferDeviceAddress);
3598 vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);
3599 vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);
3600 }
3601
3602 static inline void
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceBufferDeviceAddressFeatures * val)3603 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3604 {
3605 VkStructureType stype;
3606 vn_decode_VkStructureType(dec, &stype);
3607 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES)
3608 vn_cs_decoder_set_fatal(dec);
3609
3610 val->sType = stype;
3611 val->pNext = vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_temp(dec);
3612 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_temp(dec, val);
3613 }
3614
3615 static inline void *
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)3616 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
3617 {
3618 /* no known/supported struct */
3619 if (vn_decode_simple_pointer(dec))
3620 vn_cs_decoder_set_fatal(dec);
3621 return NULL;
3622 }
3623
3624 static inline void
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceBufferDeviceAddressFeatures * val)3625 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3626 {
3627 /* skip val->{sType,pNext} */
3628 /* skip val->bufferDeviceAddress */
3629 /* skip val->bufferDeviceAddressCaptureReplay */
3630 /* skip val->bufferDeviceAddressMultiDevice */
3631 }
3632
3633 static inline void
vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceBufferDeviceAddressFeatures * val)3634 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3635 {
3636 VkStructureType stype;
3637 vn_decode_VkStructureType(dec, &stype);
3638 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES)
3639 vn_cs_decoder_set_fatal(dec);
3640
3641 val->sType = stype;
3642 val->pNext = vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_pnext_partial_temp(dec);
3643 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial_temp(dec, val);
3644 }
3645
3646 static inline void
vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle_self(VkPhysicalDeviceBufferDeviceAddressFeatures * val)3647 vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle_self(VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3648 {
3649 /* skip val->sType */
3650 /* skip val->pNext */
3651 /* skip val->bufferDeviceAddress */
3652 /* skip val->bufferDeviceAddressCaptureReplay */
3653 /* skip val->bufferDeviceAddressMultiDevice */
3654 }
3655
3656 static inline void
vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle(VkPhysicalDeviceBufferDeviceAddressFeatures * val)3657 vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle(VkPhysicalDeviceBufferDeviceAddressFeatures *val)
3658 {
3659 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3660
3661 do {
3662 switch ((int32_t)pnext->sType) {
3663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
3664 vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle_self((VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
3665 break;
3666 default:
3667 /* ignore unknown/unsupported struct */
3668 break;
3669 }
3670 pnext = pnext->pNext;
3671 } while (pnext);
3672 }
3673
3674 /* struct VkPhysicalDeviceImagelessFramebufferFeatures chain */
3675
3676 static inline void
vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_encoder * enc,const void * val)3677 vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
3678 {
3679 /* no known/supported struct */
3680 vn_encode_simple_pointer(enc, NULL);
3681 }
3682
3683 static inline void
vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceImagelessFramebufferFeatures * val)3684 vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
3685 {
3686 /* skip val->{sType,pNext} */
3687 vn_encode_VkBool32(enc, &val->imagelessFramebuffer);
3688 }
3689
3690 static inline void
vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceImagelessFramebufferFeatures * val)3691 vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImagelessFramebufferFeatures *val)
3692 {
3693 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES);
3694 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES });
3695 vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext(enc, val->pNext);
3696 vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, val);
3697 }
3698
3699 static inline void *
vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_temp(struct vn_cs_decoder * dec)3700 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_temp(struct vn_cs_decoder *dec)
3701 {
3702 /* no known/supported struct */
3703 if (vn_decode_simple_pointer(dec))
3704 vn_cs_decoder_set_fatal(dec);
3705 return NULL;
3706 }
3707
3708 static inline void
vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImagelessFramebufferFeatures * val)3709 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
3710 {
3711 /* skip val->{sType,pNext} */
3712 vn_decode_VkBool32(dec, &val->imagelessFramebuffer);
3713 }
3714
3715 static inline void
vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImagelessFramebufferFeatures * val)3716 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
3717 {
3718 VkStructureType stype;
3719 vn_decode_VkStructureType(dec, &stype);
3720 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES)
3721 vn_cs_decoder_set_fatal(dec);
3722
3723 val->sType = stype;
3724 val->pNext = vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_temp(dec);
3725 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_temp(dec, val);
3726 }
3727
3728 static inline void *
vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)3729 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
3730 {
3731 /* no known/supported struct */
3732 if (vn_decode_simple_pointer(dec))
3733 vn_cs_decoder_set_fatal(dec);
3734 return NULL;
3735 }
3736
3737 static inline void
vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImagelessFramebufferFeatures * val)3738 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
3739 {
3740 /* skip val->{sType,pNext} */
3741 /* skip val->imagelessFramebuffer */
3742 }
3743
3744 static inline void
vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImagelessFramebufferFeatures * val)3745 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImagelessFramebufferFeatures *val)
3746 {
3747 VkStructureType stype;
3748 vn_decode_VkStructureType(dec, &stype);
3749 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES)
3750 vn_cs_decoder_set_fatal(dec);
3751
3752 val->sType = stype;
3753 val->pNext = vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_pnext_partial_temp(dec);
3754 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial_temp(dec, val);
3755 }
3756
3757 static inline void
vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle_self(VkPhysicalDeviceImagelessFramebufferFeatures * val)3758 vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle_self(VkPhysicalDeviceImagelessFramebufferFeatures *val)
3759 {
3760 /* skip val->sType */
3761 /* skip val->pNext */
3762 /* skip val->imagelessFramebuffer */
3763 }
3764
3765 static inline void
vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle(VkPhysicalDeviceImagelessFramebufferFeatures * val)3766 vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle(VkPhysicalDeviceImagelessFramebufferFeatures *val)
3767 {
3768 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3769
3770 do {
3771 switch ((int32_t)pnext->sType) {
3772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
3773 vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle_self((VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
3774 break;
3775 default:
3776 /* ignore unknown/unsupported struct */
3777 break;
3778 }
3779 pnext = pnext->pNext;
3780 } while (pnext);
3781 }
3782
3783 /* struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures chain */
3784
3785 static inline void
vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext(struct vn_cs_encoder * enc,const void * val)3786 vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
3787 {
3788 /* no known/supported struct */
3789 vn_encode_simple_pointer(enc, NULL);
3790 }
3791
3792 static inline void
vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3793 vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3794 {
3795 /* skip val->{sType,pNext} */
3796 vn_encode_VkBool32(enc, &val->textureCompressionASTC_HDR);
3797 }
3798
3799 static inline void
vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3800 vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3801 {
3802 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES);
3803 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES });
3804 vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext(enc, val->pNext);
3805 vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self(enc, val);
3806 }
3807
3808 static inline void *
vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext_temp(struct vn_cs_decoder * dec)3809 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext_temp(struct vn_cs_decoder *dec)
3810 {
3811 /* no known/supported struct */
3812 if (vn_decode_simple_pointer(dec))
3813 vn_cs_decoder_set_fatal(dec);
3814 return NULL;
3815 }
3816
3817 static inline void
vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3818 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3819 {
3820 /* skip val->{sType,pNext} */
3821 vn_decode_VkBool32(dec, &val->textureCompressionASTC_HDR);
3822 }
3823
3824 static inline void
vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3825 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3826 {
3827 VkStructureType stype;
3828 vn_decode_VkStructureType(dec, &stype);
3829 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES)
3830 vn_cs_decoder_set_fatal(dec);
3831
3832 val->sType = stype;
3833 val->pNext = vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext_temp(dec);
3834 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_temp(dec, val);
3835 }
3836
3837 static inline void *
vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)3838 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
3839 {
3840 /* no known/supported struct */
3841 if (vn_decode_simple_pointer(dec))
3842 vn_cs_decoder_set_fatal(dec);
3843 return NULL;
3844 }
3845
3846 static inline void
vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3847 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3848 {
3849 /* skip val->{sType,pNext} */
3850 /* skip val->textureCompressionASTC_HDR */
3851 }
3852
3853 static inline void
vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3854 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3855 {
3856 VkStructureType stype;
3857 vn_decode_VkStructureType(dec, &stype);
3858 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES)
3859 vn_cs_decoder_set_fatal(dec);
3860
3861 val->sType = stype;
3862 val->pNext = vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_pnext_partial_temp(dec);
3863 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_partial_temp(dec, val);
3864 }
3865
3866 static inline void
vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle_self(VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3867 vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle_self(VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3868 {
3869 /* skip val->sType */
3870 /* skip val->pNext */
3871 /* skip val->textureCompressionASTC_HDR */
3872 }
3873
3874 static inline void
vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle(VkPhysicalDeviceTextureCompressionASTCHDRFeatures * val)3875 vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle(VkPhysicalDeviceTextureCompressionASTCHDRFeatures *val)
3876 {
3877 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3878
3879 do {
3880 switch ((int32_t)pnext->sType) {
3881 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
3882 vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle_self((VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
3883 break;
3884 default:
3885 /* ignore unknown/unsupported struct */
3886 break;
3887 }
3888 pnext = pnext->pNext;
3889 } while (pnext);
3890 }
3891
3892 /* struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT chain */
3893
3894 static inline void
vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)3895 vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
3896 {
3897 /* no known/supported struct */
3898 vn_encode_simple_pointer(enc, NULL);
3899 }
3900
3901 static inline void
vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3902 vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3903 {
3904 /* skip val->{sType,pNext} */
3905 vn_encode_VkBool32(enc, &val->indexTypeUint8);
3906 }
3907
3908 static inline void
vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3909 vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3910 {
3911 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT);
3912 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT });
3913 vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext(enc, val->pNext);
3914 vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self(enc, val);
3915 }
3916
3917 static inline void *
vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)3918 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
3919 {
3920 /* no known/supported struct */
3921 if (vn_decode_simple_pointer(dec))
3922 vn_cs_decoder_set_fatal(dec);
3923 return NULL;
3924 }
3925
3926 static inline void
vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3927 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3928 {
3929 /* skip val->{sType,pNext} */
3930 vn_decode_VkBool32(dec, &val->indexTypeUint8);
3931 }
3932
3933 static inline void
vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3934 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3935 {
3936 VkStructureType stype;
3937 vn_decode_VkStructureType(dec, &stype);
3938 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT)
3939 vn_cs_decoder_set_fatal(dec);
3940
3941 val->sType = stype;
3942 val->pNext = vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext_temp(dec);
3943 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_temp(dec, val);
3944 }
3945
3946 static inline void *
vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)3947 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
3948 {
3949 /* no known/supported struct */
3950 if (vn_decode_simple_pointer(dec))
3951 vn_cs_decoder_set_fatal(dec);
3952 return NULL;
3953 }
3954
3955 static inline void
vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3956 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3957 {
3958 /* skip val->{sType,pNext} */
3959 /* skip val->indexTypeUint8 */
3960 }
3961
3962 static inline void
vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3963 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3964 {
3965 VkStructureType stype;
3966 vn_decode_VkStructureType(dec, &stype);
3967 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT)
3968 vn_cs_decoder_set_fatal(dec);
3969
3970 val->sType = stype;
3971 val->pNext = vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_pnext_partial_temp(dec);
3972 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_partial_temp(dec, val);
3973 }
3974
3975 static inline void
vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle_self(VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3976 vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle_self(VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3977 {
3978 /* skip val->sType */
3979 /* skip val->pNext */
3980 /* skip val->indexTypeUint8 */
3981 }
3982
3983 static inline void
vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle(VkPhysicalDeviceIndexTypeUint8FeaturesEXT * val)3984 vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle(VkPhysicalDeviceIndexTypeUint8FeaturesEXT *val)
3985 {
3986 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
3987
3988 do {
3989 switch ((int32_t)pnext->sType) {
3990 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
3991 vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle_self((VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
3992 break;
3993 default:
3994 /* ignore unknown/unsupported struct */
3995 break;
3996 }
3997 pnext = pnext->pNext;
3998 } while (pnext);
3999 }
4000
4001 /* struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures chain */
4002
4003 static inline void
vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_encoder * enc,const void * val)4004 vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
4005 {
4006 /* no known/supported struct */
4007 vn_encode_simple_pointer(enc, NULL);
4008 }
4009
4010 static inline void
vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4011 vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4012 {
4013 /* skip val->{sType,pNext} */
4014 vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);
4015 }
4016
4017 static inline void
vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4018 vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4019 {
4020 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES);
4021 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES });
4022 vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext(enc, val->pNext);
4023 vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, val);
4024 }
4025
4026 static inline void *
vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_temp(struct vn_cs_decoder * dec)4027 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_temp(struct vn_cs_decoder *dec)
4028 {
4029 /* no known/supported struct */
4030 if (vn_decode_simple_pointer(dec))
4031 vn_cs_decoder_set_fatal(dec);
4032 return NULL;
4033 }
4034
4035 static inline void
vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4036 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4037 {
4038 /* skip val->{sType,pNext} */
4039 vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);
4040 }
4041
4042 static inline void
vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4043 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4044 {
4045 VkStructureType stype;
4046 vn_decode_VkStructureType(dec, &stype);
4047 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES)
4048 vn_cs_decoder_set_fatal(dec);
4049
4050 val->sType = stype;
4051 val->pNext = vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_temp(dec);
4052 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_temp(dec, val);
4053 }
4054
4055 static inline void *
vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)4056 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
4057 {
4058 /* no known/supported struct */
4059 if (vn_decode_simple_pointer(dec))
4060 vn_cs_decoder_set_fatal(dec);
4061 return NULL;
4062 }
4063
4064 static inline void
vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4065 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4066 {
4067 /* skip val->{sType,pNext} */
4068 /* skip val->separateDepthStencilLayouts */
4069 }
4070
4071 static inline void
vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4072 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4073 {
4074 VkStructureType stype;
4075 vn_decode_VkStructureType(dec, &stype);
4076 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES)
4077 vn_cs_decoder_set_fatal(dec);
4078
4079 val->sType = stype;
4080 val->pNext = vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_pnext_partial_temp(dec);
4081 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial_temp(dec, val);
4082 }
4083
4084 static inline void
vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle_self(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4085 vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle_self(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4086 {
4087 /* skip val->sType */
4088 /* skip val->pNext */
4089 /* skip val->separateDepthStencilLayouts */
4090 }
4091
4092 static inline void
vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * val)4093 vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *val)
4094 {
4095 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4096
4097 do {
4098 switch ((int32_t)pnext->sType) {
4099 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
4100 vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle_self((VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
4101 break;
4102 default:
4103 /* ignore unknown/unsupported struct */
4104 break;
4105 }
4106 pnext = pnext->pNext;
4107 } while (pnext);
4108 }
4109
4110 /* struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT chain */
4111
4112 static inline void
vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)4113 vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
4114 {
4115 /* no known/supported struct */
4116 vn_encode_simple_pointer(enc, NULL);
4117 }
4118
4119 static inline void
vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4120 vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4121 {
4122 /* skip val->{sType,pNext} */
4123 vn_encode_VkBool32(enc, &val->primitiveTopologyListRestart);
4124 vn_encode_VkBool32(enc, &val->primitiveTopologyPatchListRestart);
4125 }
4126
4127 static inline void
vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4128 vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4129 {
4130 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT);
4131 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT });
4132 vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext(enc, val->pNext);
4133 vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self(enc, val);
4134 }
4135
4136 static inline void *
vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)4137 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
4138 {
4139 /* no known/supported struct */
4140 if (vn_decode_simple_pointer(dec))
4141 vn_cs_decoder_set_fatal(dec);
4142 return NULL;
4143 }
4144
4145 static inline void
vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4146 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4147 {
4148 /* skip val->{sType,pNext} */
4149 vn_decode_VkBool32(dec, &val->primitiveTopologyListRestart);
4150 vn_decode_VkBool32(dec, &val->primitiveTopologyPatchListRestart);
4151 }
4152
4153 static inline void
vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4154 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4155 {
4156 VkStructureType stype;
4157 vn_decode_VkStructureType(dec, &stype);
4158 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT)
4159 vn_cs_decoder_set_fatal(dec);
4160
4161 val->sType = stype;
4162 val->pNext = vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext_temp(dec);
4163 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_temp(dec, val);
4164 }
4165
4166 static inline void *
vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)4167 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
4168 {
4169 /* no known/supported struct */
4170 if (vn_decode_simple_pointer(dec))
4171 vn_cs_decoder_set_fatal(dec);
4172 return NULL;
4173 }
4174
4175 static inline void
vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4176 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4177 {
4178 /* skip val->{sType,pNext} */
4179 /* skip val->primitiveTopologyListRestart */
4180 /* skip val->primitiveTopologyPatchListRestart */
4181 }
4182
4183 static inline void
vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4184 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4185 {
4186 VkStructureType stype;
4187 vn_decode_VkStructureType(dec, &stype);
4188 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT)
4189 vn_cs_decoder_set_fatal(dec);
4190
4191 val->sType = stype;
4192 val->pNext = vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_pnext_partial_temp(dec);
4193 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_partial_temp(dec, val);
4194 }
4195
4196 static inline void
vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle_self(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4197 vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle_self(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4198 {
4199 /* skip val->sType */
4200 /* skip val->pNext */
4201 /* skip val->primitiveTopologyListRestart */
4202 /* skip val->primitiveTopologyPatchListRestart */
4203 }
4204
4205 static inline void
vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * val)4206 vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *val)
4207 {
4208 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4209
4210 do {
4211 switch ((int32_t)pnext->sType) {
4212 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
4213 vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle_self((VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
4214 break;
4215 default:
4216 /* ignore unknown/unsupported struct */
4217 break;
4218 }
4219 pnext = pnext->pNext;
4220 } while (pnext);
4221 }
4222
4223 /* struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures chain */
4224
4225 static inline void
vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext(struct vn_cs_encoder * enc,const void * val)4226 vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
4227 {
4228 /* no known/supported struct */
4229 vn_encode_simple_pointer(enc, NULL);
4230 }
4231
4232 static inline void
vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4233 vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4234 {
4235 /* skip val->{sType,pNext} */
4236 vn_encode_VkBool32(enc, &val->shaderDemoteToHelperInvocation);
4237 }
4238
4239 static inline void
vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4240 vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4241 {
4242 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES);
4243 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES });
4244 vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext(enc, val->pNext);
4245 vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self(enc, val);
4246 }
4247
4248 static inline void *
vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext_temp(struct vn_cs_decoder * dec)4249 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext_temp(struct vn_cs_decoder *dec)
4250 {
4251 /* no known/supported struct */
4252 if (vn_decode_simple_pointer(dec))
4253 vn_cs_decoder_set_fatal(dec);
4254 return NULL;
4255 }
4256
4257 static inline void
vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4258 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4259 {
4260 /* skip val->{sType,pNext} */
4261 vn_decode_VkBool32(dec, &val->shaderDemoteToHelperInvocation);
4262 }
4263
4264 static inline void
vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4265 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4266 {
4267 VkStructureType stype;
4268 vn_decode_VkStructureType(dec, &stype);
4269 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES)
4270 vn_cs_decoder_set_fatal(dec);
4271
4272 val->sType = stype;
4273 val->pNext = vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext_temp(dec);
4274 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_temp(dec, val);
4275 }
4276
4277 static inline void *
vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)4278 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
4279 {
4280 /* no known/supported struct */
4281 if (vn_decode_simple_pointer(dec))
4282 vn_cs_decoder_set_fatal(dec);
4283 return NULL;
4284 }
4285
4286 static inline void
vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4287 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4288 {
4289 /* skip val->{sType,pNext} */
4290 /* skip val->shaderDemoteToHelperInvocation */
4291 }
4292
4293 static inline void
vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4294 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4295 {
4296 VkStructureType stype;
4297 vn_decode_VkStructureType(dec, &stype);
4298 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES)
4299 vn_cs_decoder_set_fatal(dec);
4300
4301 val->sType = stype;
4302 val->pNext = vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_pnext_partial_temp(dec);
4303 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_partial_temp(dec, val);
4304 }
4305
4306 static inline void
vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle_self(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4307 vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle_self(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4308 {
4309 /* skip val->sType */
4310 /* skip val->pNext */
4311 /* skip val->shaderDemoteToHelperInvocation */
4312 }
4313
4314 static inline void
vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * val)4315 vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *val)
4316 {
4317 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4318
4319 do {
4320 switch ((int32_t)pnext->sType) {
4321 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
4322 vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle_self((VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
4323 break;
4324 default:
4325 /* ignore unknown/unsupported struct */
4326 break;
4327 }
4328 pnext = pnext->pNext;
4329 } while (pnext);
4330 }
4331
4332 /* struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT chain */
4333
4334 static inline void
vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)4335 vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
4336 {
4337 /* no known/supported struct */
4338 vn_encode_simple_pointer(enc, NULL);
4339 }
4340
4341 static inline void
vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4342 vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4343 {
4344 /* skip val->{sType,pNext} */
4345 vn_encode_VkBool32(enc, &val->texelBufferAlignment);
4346 }
4347
4348 static inline void
vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4349 vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4350 {
4351 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT);
4352 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT });
4353 vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext(enc, val->pNext);
4354 vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self(enc, val);
4355 }
4356
4357 static inline void *
vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)4358 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
4359 {
4360 /* no known/supported struct */
4361 if (vn_decode_simple_pointer(dec))
4362 vn_cs_decoder_set_fatal(dec);
4363 return NULL;
4364 }
4365
4366 static inline void
vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4367 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4368 {
4369 /* skip val->{sType,pNext} */
4370 vn_decode_VkBool32(dec, &val->texelBufferAlignment);
4371 }
4372
4373 static inline void
vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4374 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4375 {
4376 VkStructureType stype;
4377 vn_decode_VkStructureType(dec, &stype);
4378 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT)
4379 vn_cs_decoder_set_fatal(dec);
4380
4381 val->sType = stype;
4382 val->pNext = vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext_temp(dec);
4383 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_temp(dec, val);
4384 }
4385
4386 static inline void *
vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)4387 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
4388 {
4389 /* no known/supported struct */
4390 if (vn_decode_simple_pointer(dec))
4391 vn_cs_decoder_set_fatal(dec);
4392 return NULL;
4393 }
4394
4395 static inline void
vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4396 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4397 {
4398 /* skip val->{sType,pNext} */
4399 /* skip val->texelBufferAlignment */
4400 }
4401
4402 static inline void
vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4403 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4404 {
4405 VkStructureType stype;
4406 vn_decode_VkStructureType(dec, &stype);
4407 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT)
4408 vn_cs_decoder_set_fatal(dec);
4409
4410 val->sType = stype;
4411 val->pNext = vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_pnext_partial_temp(dec);
4412 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_partial_temp(dec, val);
4413 }
4414
4415 static inline void
vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle_self(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4416 vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle_self(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4417 {
4418 /* skip val->sType */
4419 /* skip val->pNext */
4420 /* skip val->texelBufferAlignment */
4421 }
4422
4423 static inline void
vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * val)4424 vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *val)
4425 {
4426 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4427
4428 do {
4429 switch ((int32_t)pnext->sType) {
4430 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
4431 vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle_self((VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
4432 break;
4433 default:
4434 /* ignore unknown/unsupported struct */
4435 break;
4436 }
4437 pnext = pnext->pNext;
4438 } while (pnext);
4439 }
4440
4441 /* struct VkPhysicalDeviceSubgroupSizeControlFeatures chain */
4442
4443 static inline void
vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext(struct vn_cs_encoder * enc,const void * val)4444 vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
4445 {
4446 /* no known/supported struct */
4447 vn_encode_simple_pointer(enc, NULL);
4448 }
4449
4450 static inline void
vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSubgroupSizeControlFeatures * val)4451 vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4452 {
4453 /* skip val->{sType,pNext} */
4454 vn_encode_VkBool32(enc, &val->subgroupSizeControl);
4455 vn_encode_VkBool32(enc, &val->computeFullSubgroups);
4456 }
4457
4458 static inline void
vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceSubgroupSizeControlFeatures * val)4459 vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4460 {
4461 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES);
4462 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES });
4463 vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext(enc, val->pNext);
4464 vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(enc, val);
4465 }
4466
4467 static inline void *
vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext_temp(struct vn_cs_decoder * dec)4468 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext_temp(struct vn_cs_decoder *dec)
4469 {
4470 /* no known/supported struct */
4471 if (vn_decode_simple_pointer(dec))
4472 vn_cs_decoder_set_fatal(dec);
4473 return NULL;
4474 }
4475
4476 static inline void
vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupSizeControlFeatures * val)4477 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4478 {
4479 /* skip val->{sType,pNext} */
4480 vn_decode_VkBool32(dec, &val->subgroupSizeControl);
4481 vn_decode_VkBool32(dec, &val->computeFullSubgroups);
4482 }
4483
4484 static inline void
vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupSizeControlFeatures * val)4485 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4486 {
4487 VkStructureType stype;
4488 vn_decode_VkStructureType(dec, &stype);
4489 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES)
4490 vn_cs_decoder_set_fatal(dec);
4491
4492 val->sType = stype;
4493 val->pNext = vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext_temp(dec);
4494 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_temp(dec, val);
4495 }
4496
4497 static inline void *
vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)4498 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
4499 {
4500 /* no known/supported struct */
4501 if (vn_decode_simple_pointer(dec))
4502 vn_cs_decoder_set_fatal(dec);
4503 return NULL;
4504 }
4505
4506 static inline void
vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupSizeControlFeatures * val)4507 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4508 {
4509 /* skip val->{sType,pNext} */
4510 /* skip val->subgroupSizeControl */
4511 /* skip val->computeFullSubgroups */
4512 }
4513
4514 static inline void
vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupSizeControlFeatures * val)4515 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4516 {
4517 VkStructureType stype;
4518 vn_decode_VkStructureType(dec, &stype);
4519 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES)
4520 vn_cs_decoder_set_fatal(dec);
4521
4522 val->sType = stype;
4523 val->pNext = vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_pnext_partial_temp(dec);
4524 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial_temp(dec, val);
4525 }
4526
4527 static inline void
vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle_self(VkPhysicalDeviceSubgroupSizeControlFeatures * val)4528 vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle_self(VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4529 {
4530 /* skip val->sType */
4531 /* skip val->pNext */
4532 /* skip val->subgroupSizeControl */
4533 /* skip val->computeFullSubgroups */
4534 }
4535
4536 static inline void
vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle(VkPhysicalDeviceSubgroupSizeControlFeatures * val)4537 vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle(VkPhysicalDeviceSubgroupSizeControlFeatures *val)
4538 {
4539 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4540
4541 do {
4542 switch ((int32_t)pnext->sType) {
4543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
4544 vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle_self((VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
4545 break;
4546 default:
4547 /* ignore unknown/unsupported struct */
4548 break;
4549 }
4550 pnext = pnext->pNext;
4551 } while (pnext);
4552 }
4553
4554 /* struct VkPhysicalDeviceLineRasterizationFeaturesEXT chain */
4555
4556 static inline void
vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)4557 vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
4558 {
4559 /* no known/supported struct */
4560 vn_encode_simple_pointer(enc, NULL);
4561 }
4562
4563 static inline void
vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4564 vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4565 {
4566 /* skip val->{sType,pNext} */
4567 vn_encode_VkBool32(enc, &val->rectangularLines);
4568 vn_encode_VkBool32(enc, &val->bresenhamLines);
4569 vn_encode_VkBool32(enc, &val->smoothLines);
4570 vn_encode_VkBool32(enc, &val->stippledRectangularLines);
4571 vn_encode_VkBool32(enc, &val->stippledBresenhamLines);
4572 vn_encode_VkBool32(enc, &val->stippledSmoothLines);
4573 }
4574
4575 static inline void
vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4576 vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4577 {
4578 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT);
4579 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT });
4580 vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext(enc, val->pNext);
4581 vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self(enc, val);
4582 }
4583
4584 static inline void *
vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)4585 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
4586 {
4587 /* no known/supported struct */
4588 if (vn_decode_simple_pointer(dec))
4589 vn_cs_decoder_set_fatal(dec);
4590 return NULL;
4591 }
4592
4593 static inline void
vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4594 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4595 {
4596 /* skip val->{sType,pNext} */
4597 vn_decode_VkBool32(dec, &val->rectangularLines);
4598 vn_decode_VkBool32(dec, &val->bresenhamLines);
4599 vn_decode_VkBool32(dec, &val->smoothLines);
4600 vn_decode_VkBool32(dec, &val->stippledRectangularLines);
4601 vn_decode_VkBool32(dec, &val->stippledBresenhamLines);
4602 vn_decode_VkBool32(dec, &val->stippledSmoothLines);
4603 }
4604
4605 static inline void
vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4606 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4607 {
4608 VkStructureType stype;
4609 vn_decode_VkStructureType(dec, &stype);
4610 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT)
4611 vn_cs_decoder_set_fatal(dec);
4612
4613 val->sType = stype;
4614 val->pNext = vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext_temp(dec);
4615 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_temp(dec, val);
4616 }
4617
4618 static inline void *
vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)4619 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
4620 {
4621 /* no known/supported struct */
4622 if (vn_decode_simple_pointer(dec))
4623 vn_cs_decoder_set_fatal(dec);
4624 return NULL;
4625 }
4626
4627 static inline void
vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4628 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4629 {
4630 /* skip val->{sType,pNext} */
4631 /* skip val->rectangularLines */
4632 /* skip val->bresenhamLines */
4633 /* skip val->smoothLines */
4634 /* skip val->stippledRectangularLines */
4635 /* skip val->stippledBresenhamLines */
4636 /* skip val->stippledSmoothLines */
4637 }
4638
4639 static inline void
vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4640 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4641 {
4642 VkStructureType stype;
4643 vn_decode_VkStructureType(dec, &stype);
4644 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT)
4645 vn_cs_decoder_set_fatal(dec);
4646
4647 val->sType = stype;
4648 val->pNext = vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_pnext_partial_temp(dec);
4649 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_partial_temp(dec, val);
4650 }
4651
4652 static inline void
vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle_self(VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4653 vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle_self(VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4654 {
4655 /* skip val->sType */
4656 /* skip val->pNext */
4657 /* skip val->rectangularLines */
4658 /* skip val->bresenhamLines */
4659 /* skip val->smoothLines */
4660 /* skip val->stippledRectangularLines */
4661 /* skip val->stippledBresenhamLines */
4662 /* skip val->stippledSmoothLines */
4663 }
4664
4665 static inline void
vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle(VkPhysicalDeviceLineRasterizationFeaturesEXT * val)4666 vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle(VkPhysicalDeviceLineRasterizationFeaturesEXT *val)
4667 {
4668 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4669
4670 do {
4671 switch ((int32_t)pnext->sType) {
4672 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
4673 vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle_self((VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
4674 break;
4675 default:
4676 /* ignore unknown/unsupported struct */
4677 break;
4678 }
4679 pnext = pnext->pNext;
4680 } while (pnext);
4681 }
4682
4683 /* struct VkPhysicalDevicePipelineCreationCacheControlFeatures chain */
4684
4685 static inline void
vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext(struct vn_cs_encoder * enc,const void * val)4686 vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
4687 {
4688 /* no known/supported struct */
4689 vn_encode_simple_pointer(enc, NULL);
4690 }
4691
4692 static inline void
vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4693 vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4694 {
4695 /* skip val->{sType,pNext} */
4696 vn_encode_VkBool32(enc, &val->pipelineCreationCacheControl);
4697 }
4698
4699 static inline void
vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures(struct vn_cs_encoder * enc,const VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4700 vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures(struct vn_cs_encoder *enc, const VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4701 {
4702 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES);
4703 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES });
4704 vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext(enc, val->pNext);
4705 vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self(enc, val);
4706 }
4707
4708 static inline void *
vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext_temp(struct vn_cs_decoder * dec)4709 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext_temp(struct vn_cs_decoder *dec)
4710 {
4711 /* no known/supported struct */
4712 if (vn_decode_simple_pointer(dec))
4713 vn_cs_decoder_set_fatal(dec);
4714 return NULL;
4715 }
4716
4717 static inline void
vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4718 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4719 {
4720 /* skip val->{sType,pNext} */
4721 vn_decode_VkBool32(dec, &val->pipelineCreationCacheControl);
4722 }
4723
4724 static inline void
vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4725 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4726 {
4727 VkStructureType stype;
4728 vn_decode_VkStructureType(dec, &stype);
4729 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES)
4730 vn_cs_decoder_set_fatal(dec);
4731
4732 val->sType = stype;
4733 val->pNext = vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext_temp(dec);
4734 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_temp(dec, val);
4735 }
4736
4737 static inline void *
vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)4738 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
4739 {
4740 /* no known/supported struct */
4741 if (vn_decode_simple_pointer(dec))
4742 vn_cs_decoder_set_fatal(dec);
4743 return NULL;
4744 }
4745
4746 static inline void
vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4747 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4748 {
4749 /* skip val->{sType,pNext} */
4750 /* skip val->pipelineCreationCacheControl */
4751 }
4752
4753 static inline void
vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4754 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4755 {
4756 VkStructureType stype;
4757 vn_decode_VkStructureType(dec, &stype);
4758 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES)
4759 vn_cs_decoder_set_fatal(dec);
4760
4761 val->sType = stype;
4762 val->pNext = vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_pnext_partial_temp(dec);
4763 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_partial_temp(dec, val);
4764 }
4765
4766 static inline void
vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle_self(VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4767 vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle_self(VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4768 {
4769 /* skip val->sType */
4770 /* skip val->pNext */
4771 /* skip val->pipelineCreationCacheControl */
4772 }
4773
4774 static inline void
vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle(VkPhysicalDevicePipelineCreationCacheControlFeatures * val)4775 vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle(VkPhysicalDevicePipelineCreationCacheControlFeatures *val)
4776 {
4777 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4778
4779 do {
4780 switch ((int32_t)pnext->sType) {
4781 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
4782 vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle_self((VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
4783 break;
4784 default:
4785 /* ignore unknown/unsupported struct */
4786 break;
4787 }
4788 pnext = pnext->pNext;
4789 } while (pnext);
4790 }
4791
4792 /* struct VkPhysicalDeviceVulkan11Features chain */
4793
4794 static inline void
vn_encode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_encoder * enc,const void * val)4795 vn_encode_VkPhysicalDeviceVulkan11Features_pnext(struct vn_cs_encoder *enc, const void *val)
4796 {
4797 /* no known/supported struct */
4798 vn_encode_simple_pointer(enc, NULL);
4799 }
4800
4801 static inline void
vn_encode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan11Features * val)4802 vn_encode_VkPhysicalDeviceVulkan11Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
4803 {
4804 /* skip val->{sType,pNext} */
4805 vn_encode_VkBool32(enc, &val->storageBuffer16BitAccess);
4806 vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer16BitAccess);
4807 vn_encode_VkBool32(enc, &val->storagePushConstant16);
4808 vn_encode_VkBool32(enc, &val->storageInputOutput16);
4809 vn_encode_VkBool32(enc, &val->multiview);
4810 vn_encode_VkBool32(enc, &val->multiviewGeometryShader);
4811 vn_encode_VkBool32(enc, &val->multiviewTessellationShader);
4812 vn_encode_VkBool32(enc, &val->variablePointersStorageBuffer);
4813 vn_encode_VkBool32(enc, &val->variablePointers);
4814 vn_encode_VkBool32(enc, &val->protectedMemory);
4815 vn_encode_VkBool32(enc, &val->samplerYcbcrConversion);
4816 vn_encode_VkBool32(enc, &val->shaderDrawParameters);
4817 }
4818
4819 static inline void
vn_encode_VkPhysicalDeviceVulkan11Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan11Features * val)4820 vn_encode_VkPhysicalDeviceVulkan11Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Features *val)
4821 {
4822 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES);
4823 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES });
4824 vn_encode_VkPhysicalDeviceVulkan11Features_pnext(enc, val->pNext);
4825 vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, val);
4826 }
4827
4828 static inline void *
vn_decode_VkPhysicalDeviceVulkan11Features_pnext_temp(struct vn_cs_decoder * dec)4829 vn_decode_VkPhysicalDeviceVulkan11Features_pnext_temp(struct vn_cs_decoder *dec)
4830 {
4831 /* no known/supported struct */
4832 if (vn_decode_simple_pointer(dec))
4833 vn_cs_decoder_set_fatal(dec);
4834 return NULL;
4835 }
4836
4837 static inline void
vn_decode_VkPhysicalDeviceVulkan11Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan11Features * val)4838 vn_decode_VkPhysicalDeviceVulkan11Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
4839 {
4840 /* skip val->{sType,pNext} */
4841 vn_decode_VkBool32(dec, &val->storageBuffer16BitAccess);
4842 vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer16BitAccess);
4843 vn_decode_VkBool32(dec, &val->storagePushConstant16);
4844 vn_decode_VkBool32(dec, &val->storageInputOutput16);
4845 vn_decode_VkBool32(dec, &val->multiview);
4846 vn_decode_VkBool32(dec, &val->multiviewGeometryShader);
4847 vn_decode_VkBool32(dec, &val->multiviewTessellationShader);
4848 vn_decode_VkBool32(dec, &val->variablePointersStorageBuffer);
4849 vn_decode_VkBool32(dec, &val->variablePointers);
4850 vn_decode_VkBool32(dec, &val->protectedMemory);
4851 vn_decode_VkBool32(dec, &val->samplerYcbcrConversion);
4852 vn_decode_VkBool32(dec, &val->shaderDrawParameters);
4853 }
4854
4855 static inline void
vn_decode_VkPhysicalDeviceVulkan11Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan11Features * val)4856 vn_decode_VkPhysicalDeviceVulkan11Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
4857 {
4858 VkStructureType stype;
4859 vn_decode_VkStructureType(dec, &stype);
4860 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES)
4861 vn_cs_decoder_set_fatal(dec);
4862
4863 val->sType = stype;
4864 val->pNext = vn_decode_VkPhysicalDeviceVulkan11Features_pnext_temp(dec);
4865 vn_decode_VkPhysicalDeviceVulkan11Features_self_temp(dec, val);
4866 }
4867
4868 static inline void *
vn_decode_VkPhysicalDeviceVulkan11Features_pnext_partial_temp(struct vn_cs_decoder * dec)4869 vn_decode_VkPhysicalDeviceVulkan11Features_pnext_partial_temp(struct vn_cs_decoder *dec)
4870 {
4871 /* no known/supported struct */
4872 if (vn_decode_simple_pointer(dec))
4873 vn_cs_decoder_set_fatal(dec);
4874 return NULL;
4875 }
4876
4877 static inline void
vn_decode_VkPhysicalDeviceVulkan11Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan11Features * val)4878 vn_decode_VkPhysicalDeviceVulkan11Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
4879 {
4880 /* skip val->{sType,pNext} */
4881 /* skip val->storageBuffer16BitAccess */
4882 /* skip val->uniformAndStorageBuffer16BitAccess */
4883 /* skip val->storagePushConstant16 */
4884 /* skip val->storageInputOutput16 */
4885 /* skip val->multiview */
4886 /* skip val->multiviewGeometryShader */
4887 /* skip val->multiviewTessellationShader */
4888 /* skip val->variablePointersStorageBuffer */
4889 /* skip val->variablePointers */
4890 /* skip val->protectedMemory */
4891 /* skip val->samplerYcbcrConversion */
4892 /* skip val->shaderDrawParameters */
4893 }
4894
4895 static inline void
vn_decode_VkPhysicalDeviceVulkan11Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan11Features * val)4896 vn_decode_VkPhysicalDeviceVulkan11Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Features *val)
4897 {
4898 VkStructureType stype;
4899 vn_decode_VkStructureType(dec, &stype);
4900 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES)
4901 vn_cs_decoder_set_fatal(dec);
4902
4903 val->sType = stype;
4904 val->pNext = vn_decode_VkPhysicalDeviceVulkan11Features_pnext_partial_temp(dec);
4905 vn_decode_VkPhysicalDeviceVulkan11Features_self_partial_temp(dec, val);
4906 }
4907
4908 static inline void
vn_replace_VkPhysicalDeviceVulkan11Features_handle_self(VkPhysicalDeviceVulkan11Features * val)4909 vn_replace_VkPhysicalDeviceVulkan11Features_handle_self(VkPhysicalDeviceVulkan11Features *val)
4910 {
4911 /* skip val->sType */
4912 /* skip val->pNext */
4913 /* skip val->storageBuffer16BitAccess */
4914 /* skip val->uniformAndStorageBuffer16BitAccess */
4915 /* skip val->storagePushConstant16 */
4916 /* skip val->storageInputOutput16 */
4917 /* skip val->multiview */
4918 /* skip val->multiviewGeometryShader */
4919 /* skip val->multiviewTessellationShader */
4920 /* skip val->variablePointersStorageBuffer */
4921 /* skip val->variablePointers */
4922 /* skip val->protectedMemory */
4923 /* skip val->samplerYcbcrConversion */
4924 /* skip val->shaderDrawParameters */
4925 }
4926
4927 static inline void
vn_replace_VkPhysicalDeviceVulkan11Features_handle(VkPhysicalDeviceVulkan11Features * val)4928 vn_replace_VkPhysicalDeviceVulkan11Features_handle(VkPhysicalDeviceVulkan11Features *val)
4929 {
4930 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
4931
4932 do {
4933 switch ((int32_t)pnext->sType) {
4934 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
4935 vn_replace_VkPhysicalDeviceVulkan11Features_handle_self((VkPhysicalDeviceVulkan11Features *)pnext);
4936 break;
4937 default:
4938 /* ignore unknown/unsupported struct */
4939 break;
4940 }
4941 pnext = pnext->pNext;
4942 } while (pnext);
4943 }
4944
4945 /* struct VkPhysicalDeviceVulkan12Features chain */
4946
4947 static inline void
vn_encode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_encoder * enc,const void * val)4948 vn_encode_VkPhysicalDeviceVulkan12Features_pnext(struct vn_cs_encoder *enc, const void *val)
4949 {
4950 /* no known/supported struct */
4951 vn_encode_simple_pointer(enc, NULL);
4952 }
4953
4954 static inline void
vn_encode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan12Features * val)4955 vn_encode_VkPhysicalDeviceVulkan12Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
4956 {
4957 /* skip val->{sType,pNext} */
4958 vn_encode_VkBool32(enc, &val->samplerMirrorClampToEdge);
4959 vn_encode_VkBool32(enc, &val->drawIndirectCount);
4960 vn_encode_VkBool32(enc, &val->storageBuffer8BitAccess);
4961 vn_encode_VkBool32(enc, &val->uniformAndStorageBuffer8BitAccess);
4962 vn_encode_VkBool32(enc, &val->storagePushConstant8);
4963 vn_encode_VkBool32(enc, &val->shaderBufferInt64Atomics);
4964 vn_encode_VkBool32(enc, &val->shaderSharedInt64Atomics);
4965 vn_encode_VkBool32(enc, &val->shaderFloat16);
4966 vn_encode_VkBool32(enc, &val->shaderInt8);
4967 vn_encode_VkBool32(enc, &val->descriptorIndexing);
4968 vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayDynamicIndexing);
4969 vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayDynamicIndexing);
4970 vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayDynamicIndexing);
4971 vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexing);
4972 vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexing);
4973 vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexing);
4974 vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexing);
4975 vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexing);
4976 vn_encode_VkBool32(enc, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
4977 vn_encode_VkBool32(enc, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
4978 vn_encode_VkBool32(enc, &val->descriptorBindingUniformBufferUpdateAfterBind);
4979 vn_encode_VkBool32(enc, &val->descriptorBindingSampledImageUpdateAfterBind);
4980 vn_encode_VkBool32(enc, &val->descriptorBindingStorageImageUpdateAfterBind);
4981 vn_encode_VkBool32(enc, &val->descriptorBindingStorageBufferUpdateAfterBind);
4982 vn_encode_VkBool32(enc, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
4983 vn_encode_VkBool32(enc, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
4984 vn_encode_VkBool32(enc, &val->descriptorBindingUpdateUnusedWhilePending);
4985 vn_encode_VkBool32(enc, &val->descriptorBindingPartiallyBound);
4986 vn_encode_VkBool32(enc, &val->descriptorBindingVariableDescriptorCount);
4987 vn_encode_VkBool32(enc, &val->runtimeDescriptorArray);
4988 vn_encode_VkBool32(enc, &val->samplerFilterMinmax);
4989 vn_encode_VkBool32(enc, &val->scalarBlockLayout);
4990 vn_encode_VkBool32(enc, &val->imagelessFramebuffer);
4991 vn_encode_VkBool32(enc, &val->uniformBufferStandardLayout);
4992 vn_encode_VkBool32(enc, &val->shaderSubgroupExtendedTypes);
4993 vn_encode_VkBool32(enc, &val->separateDepthStencilLayouts);
4994 vn_encode_VkBool32(enc, &val->hostQueryReset);
4995 vn_encode_VkBool32(enc, &val->timelineSemaphore);
4996 vn_encode_VkBool32(enc, &val->bufferDeviceAddress);
4997 vn_encode_VkBool32(enc, &val->bufferDeviceAddressCaptureReplay);
4998 vn_encode_VkBool32(enc, &val->bufferDeviceAddressMultiDevice);
4999 vn_encode_VkBool32(enc, &val->vulkanMemoryModel);
5000 vn_encode_VkBool32(enc, &val->vulkanMemoryModelDeviceScope);
5001 vn_encode_VkBool32(enc, &val->vulkanMemoryModelAvailabilityVisibilityChains);
5002 vn_encode_VkBool32(enc, &val->shaderOutputViewportIndex);
5003 vn_encode_VkBool32(enc, &val->shaderOutputLayer);
5004 vn_encode_VkBool32(enc, &val->subgroupBroadcastDynamicId);
5005 }
5006
5007 static inline void
vn_encode_VkPhysicalDeviceVulkan12Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan12Features * val)5008 vn_encode_VkPhysicalDeviceVulkan12Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Features *val)
5009 {
5010 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES);
5011 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES });
5012 vn_encode_VkPhysicalDeviceVulkan12Features_pnext(enc, val->pNext);
5013 vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, val);
5014 }
5015
5016 static inline void *
vn_decode_VkPhysicalDeviceVulkan12Features_pnext_temp(struct vn_cs_decoder * dec)5017 vn_decode_VkPhysicalDeviceVulkan12Features_pnext_temp(struct vn_cs_decoder *dec)
5018 {
5019 /* no known/supported struct */
5020 if (vn_decode_simple_pointer(dec))
5021 vn_cs_decoder_set_fatal(dec);
5022 return NULL;
5023 }
5024
5025 static inline void
vn_decode_VkPhysicalDeviceVulkan12Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan12Features * val)5026 vn_decode_VkPhysicalDeviceVulkan12Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
5027 {
5028 /* skip val->{sType,pNext} */
5029 vn_decode_VkBool32(dec, &val->samplerMirrorClampToEdge);
5030 vn_decode_VkBool32(dec, &val->drawIndirectCount);
5031 vn_decode_VkBool32(dec, &val->storageBuffer8BitAccess);
5032 vn_decode_VkBool32(dec, &val->uniformAndStorageBuffer8BitAccess);
5033 vn_decode_VkBool32(dec, &val->storagePushConstant8);
5034 vn_decode_VkBool32(dec, &val->shaderBufferInt64Atomics);
5035 vn_decode_VkBool32(dec, &val->shaderSharedInt64Atomics);
5036 vn_decode_VkBool32(dec, &val->shaderFloat16);
5037 vn_decode_VkBool32(dec, &val->shaderInt8);
5038 vn_decode_VkBool32(dec, &val->descriptorIndexing);
5039 vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayDynamicIndexing);
5040 vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayDynamicIndexing);
5041 vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayDynamicIndexing);
5042 vn_decode_VkBool32(dec, &val->shaderUniformBufferArrayNonUniformIndexing);
5043 vn_decode_VkBool32(dec, &val->shaderSampledImageArrayNonUniformIndexing);
5044 vn_decode_VkBool32(dec, &val->shaderStorageBufferArrayNonUniformIndexing);
5045 vn_decode_VkBool32(dec, &val->shaderStorageImageArrayNonUniformIndexing);
5046 vn_decode_VkBool32(dec, &val->shaderInputAttachmentArrayNonUniformIndexing);
5047 vn_decode_VkBool32(dec, &val->shaderUniformTexelBufferArrayNonUniformIndexing);
5048 vn_decode_VkBool32(dec, &val->shaderStorageTexelBufferArrayNonUniformIndexing);
5049 vn_decode_VkBool32(dec, &val->descriptorBindingUniformBufferUpdateAfterBind);
5050 vn_decode_VkBool32(dec, &val->descriptorBindingSampledImageUpdateAfterBind);
5051 vn_decode_VkBool32(dec, &val->descriptorBindingStorageImageUpdateAfterBind);
5052 vn_decode_VkBool32(dec, &val->descriptorBindingStorageBufferUpdateAfterBind);
5053 vn_decode_VkBool32(dec, &val->descriptorBindingUniformTexelBufferUpdateAfterBind);
5054 vn_decode_VkBool32(dec, &val->descriptorBindingStorageTexelBufferUpdateAfterBind);
5055 vn_decode_VkBool32(dec, &val->descriptorBindingUpdateUnusedWhilePending);
5056 vn_decode_VkBool32(dec, &val->descriptorBindingPartiallyBound);
5057 vn_decode_VkBool32(dec, &val->descriptorBindingVariableDescriptorCount);
5058 vn_decode_VkBool32(dec, &val->runtimeDescriptorArray);
5059 vn_decode_VkBool32(dec, &val->samplerFilterMinmax);
5060 vn_decode_VkBool32(dec, &val->scalarBlockLayout);
5061 vn_decode_VkBool32(dec, &val->imagelessFramebuffer);
5062 vn_decode_VkBool32(dec, &val->uniformBufferStandardLayout);
5063 vn_decode_VkBool32(dec, &val->shaderSubgroupExtendedTypes);
5064 vn_decode_VkBool32(dec, &val->separateDepthStencilLayouts);
5065 vn_decode_VkBool32(dec, &val->hostQueryReset);
5066 vn_decode_VkBool32(dec, &val->timelineSemaphore);
5067 vn_decode_VkBool32(dec, &val->bufferDeviceAddress);
5068 vn_decode_VkBool32(dec, &val->bufferDeviceAddressCaptureReplay);
5069 vn_decode_VkBool32(dec, &val->bufferDeviceAddressMultiDevice);
5070 vn_decode_VkBool32(dec, &val->vulkanMemoryModel);
5071 vn_decode_VkBool32(dec, &val->vulkanMemoryModelDeviceScope);
5072 vn_decode_VkBool32(dec, &val->vulkanMemoryModelAvailabilityVisibilityChains);
5073 vn_decode_VkBool32(dec, &val->shaderOutputViewportIndex);
5074 vn_decode_VkBool32(dec, &val->shaderOutputLayer);
5075 vn_decode_VkBool32(dec, &val->subgroupBroadcastDynamicId);
5076 }
5077
5078 static inline void
vn_decode_VkPhysicalDeviceVulkan12Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan12Features * val)5079 vn_decode_VkPhysicalDeviceVulkan12Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
5080 {
5081 VkStructureType stype;
5082 vn_decode_VkStructureType(dec, &stype);
5083 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES)
5084 vn_cs_decoder_set_fatal(dec);
5085
5086 val->sType = stype;
5087 val->pNext = vn_decode_VkPhysicalDeviceVulkan12Features_pnext_temp(dec);
5088 vn_decode_VkPhysicalDeviceVulkan12Features_self_temp(dec, val);
5089 }
5090
5091 static inline void *
vn_decode_VkPhysicalDeviceVulkan12Features_pnext_partial_temp(struct vn_cs_decoder * dec)5092 vn_decode_VkPhysicalDeviceVulkan12Features_pnext_partial_temp(struct vn_cs_decoder *dec)
5093 {
5094 /* no known/supported struct */
5095 if (vn_decode_simple_pointer(dec))
5096 vn_cs_decoder_set_fatal(dec);
5097 return NULL;
5098 }
5099
5100 static inline void
vn_decode_VkPhysicalDeviceVulkan12Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan12Features * val)5101 vn_decode_VkPhysicalDeviceVulkan12Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
5102 {
5103 /* skip val->{sType,pNext} */
5104 /* skip val->samplerMirrorClampToEdge */
5105 /* skip val->drawIndirectCount */
5106 /* skip val->storageBuffer8BitAccess */
5107 /* skip val->uniformAndStorageBuffer8BitAccess */
5108 /* skip val->storagePushConstant8 */
5109 /* skip val->shaderBufferInt64Atomics */
5110 /* skip val->shaderSharedInt64Atomics */
5111 /* skip val->shaderFloat16 */
5112 /* skip val->shaderInt8 */
5113 /* skip val->descriptorIndexing */
5114 /* skip val->shaderInputAttachmentArrayDynamicIndexing */
5115 /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
5116 /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
5117 /* skip val->shaderUniformBufferArrayNonUniformIndexing */
5118 /* skip val->shaderSampledImageArrayNonUniformIndexing */
5119 /* skip val->shaderStorageBufferArrayNonUniformIndexing */
5120 /* skip val->shaderStorageImageArrayNonUniformIndexing */
5121 /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
5122 /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
5123 /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
5124 /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
5125 /* skip val->descriptorBindingSampledImageUpdateAfterBind */
5126 /* skip val->descriptorBindingStorageImageUpdateAfterBind */
5127 /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
5128 /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
5129 /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
5130 /* skip val->descriptorBindingUpdateUnusedWhilePending */
5131 /* skip val->descriptorBindingPartiallyBound */
5132 /* skip val->descriptorBindingVariableDescriptorCount */
5133 /* skip val->runtimeDescriptorArray */
5134 /* skip val->samplerFilterMinmax */
5135 /* skip val->scalarBlockLayout */
5136 /* skip val->imagelessFramebuffer */
5137 /* skip val->uniformBufferStandardLayout */
5138 /* skip val->shaderSubgroupExtendedTypes */
5139 /* skip val->separateDepthStencilLayouts */
5140 /* skip val->hostQueryReset */
5141 /* skip val->timelineSemaphore */
5142 /* skip val->bufferDeviceAddress */
5143 /* skip val->bufferDeviceAddressCaptureReplay */
5144 /* skip val->bufferDeviceAddressMultiDevice */
5145 /* skip val->vulkanMemoryModel */
5146 /* skip val->vulkanMemoryModelDeviceScope */
5147 /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
5148 /* skip val->shaderOutputViewportIndex */
5149 /* skip val->shaderOutputLayer */
5150 /* skip val->subgroupBroadcastDynamicId */
5151 }
5152
5153 static inline void
vn_decode_VkPhysicalDeviceVulkan12Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan12Features * val)5154 vn_decode_VkPhysicalDeviceVulkan12Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Features *val)
5155 {
5156 VkStructureType stype;
5157 vn_decode_VkStructureType(dec, &stype);
5158 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES)
5159 vn_cs_decoder_set_fatal(dec);
5160
5161 val->sType = stype;
5162 val->pNext = vn_decode_VkPhysicalDeviceVulkan12Features_pnext_partial_temp(dec);
5163 vn_decode_VkPhysicalDeviceVulkan12Features_self_partial_temp(dec, val);
5164 }
5165
5166 static inline void
vn_replace_VkPhysicalDeviceVulkan12Features_handle_self(VkPhysicalDeviceVulkan12Features * val)5167 vn_replace_VkPhysicalDeviceVulkan12Features_handle_self(VkPhysicalDeviceVulkan12Features *val)
5168 {
5169 /* skip val->sType */
5170 /* skip val->pNext */
5171 /* skip val->samplerMirrorClampToEdge */
5172 /* skip val->drawIndirectCount */
5173 /* skip val->storageBuffer8BitAccess */
5174 /* skip val->uniformAndStorageBuffer8BitAccess */
5175 /* skip val->storagePushConstant8 */
5176 /* skip val->shaderBufferInt64Atomics */
5177 /* skip val->shaderSharedInt64Atomics */
5178 /* skip val->shaderFloat16 */
5179 /* skip val->shaderInt8 */
5180 /* skip val->descriptorIndexing */
5181 /* skip val->shaderInputAttachmentArrayDynamicIndexing */
5182 /* skip val->shaderUniformTexelBufferArrayDynamicIndexing */
5183 /* skip val->shaderStorageTexelBufferArrayDynamicIndexing */
5184 /* skip val->shaderUniformBufferArrayNonUniformIndexing */
5185 /* skip val->shaderSampledImageArrayNonUniformIndexing */
5186 /* skip val->shaderStorageBufferArrayNonUniformIndexing */
5187 /* skip val->shaderStorageImageArrayNonUniformIndexing */
5188 /* skip val->shaderInputAttachmentArrayNonUniformIndexing */
5189 /* skip val->shaderUniformTexelBufferArrayNonUniformIndexing */
5190 /* skip val->shaderStorageTexelBufferArrayNonUniformIndexing */
5191 /* skip val->descriptorBindingUniformBufferUpdateAfterBind */
5192 /* skip val->descriptorBindingSampledImageUpdateAfterBind */
5193 /* skip val->descriptorBindingStorageImageUpdateAfterBind */
5194 /* skip val->descriptorBindingStorageBufferUpdateAfterBind */
5195 /* skip val->descriptorBindingUniformTexelBufferUpdateAfterBind */
5196 /* skip val->descriptorBindingStorageTexelBufferUpdateAfterBind */
5197 /* skip val->descriptorBindingUpdateUnusedWhilePending */
5198 /* skip val->descriptorBindingPartiallyBound */
5199 /* skip val->descriptorBindingVariableDescriptorCount */
5200 /* skip val->runtimeDescriptorArray */
5201 /* skip val->samplerFilterMinmax */
5202 /* skip val->scalarBlockLayout */
5203 /* skip val->imagelessFramebuffer */
5204 /* skip val->uniformBufferStandardLayout */
5205 /* skip val->shaderSubgroupExtendedTypes */
5206 /* skip val->separateDepthStencilLayouts */
5207 /* skip val->hostQueryReset */
5208 /* skip val->timelineSemaphore */
5209 /* skip val->bufferDeviceAddress */
5210 /* skip val->bufferDeviceAddressCaptureReplay */
5211 /* skip val->bufferDeviceAddressMultiDevice */
5212 /* skip val->vulkanMemoryModel */
5213 /* skip val->vulkanMemoryModelDeviceScope */
5214 /* skip val->vulkanMemoryModelAvailabilityVisibilityChains */
5215 /* skip val->shaderOutputViewportIndex */
5216 /* skip val->shaderOutputLayer */
5217 /* skip val->subgroupBroadcastDynamicId */
5218 }
5219
5220 static inline void
vn_replace_VkPhysicalDeviceVulkan12Features_handle(VkPhysicalDeviceVulkan12Features * val)5221 vn_replace_VkPhysicalDeviceVulkan12Features_handle(VkPhysicalDeviceVulkan12Features *val)
5222 {
5223 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5224
5225 do {
5226 switch ((int32_t)pnext->sType) {
5227 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
5228 vn_replace_VkPhysicalDeviceVulkan12Features_handle_self((VkPhysicalDeviceVulkan12Features *)pnext);
5229 break;
5230 default:
5231 /* ignore unknown/unsupported struct */
5232 break;
5233 }
5234 pnext = pnext->pNext;
5235 } while (pnext);
5236 }
5237
5238 /* struct VkPhysicalDeviceVulkan13Features chain */
5239
5240 static inline void
vn_encode_VkPhysicalDeviceVulkan13Features_pnext(struct vn_cs_encoder * enc,const void * val)5241 vn_encode_VkPhysicalDeviceVulkan13Features_pnext(struct vn_cs_encoder *enc, const void *val)
5242 {
5243 /* no known/supported struct */
5244 vn_encode_simple_pointer(enc, NULL);
5245 }
5246
5247 static inline void
vn_encode_VkPhysicalDeviceVulkan13Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan13Features * val)5248 vn_encode_VkPhysicalDeviceVulkan13Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan13Features *val)
5249 {
5250 /* skip val->{sType,pNext} */
5251 vn_encode_VkBool32(enc, &val->robustImageAccess);
5252 vn_encode_VkBool32(enc, &val->inlineUniformBlock);
5253 vn_encode_VkBool32(enc, &val->descriptorBindingInlineUniformBlockUpdateAfterBind);
5254 vn_encode_VkBool32(enc, &val->pipelineCreationCacheControl);
5255 vn_encode_VkBool32(enc, &val->privateData);
5256 vn_encode_VkBool32(enc, &val->shaderDemoteToHelperInvocation);
5257 vn_encode_VkBool32(enc, &val->shaderTerminateInvocation);
5258 vn_encode_VkBool32(enc, &val->subgroupSizeControl);
5259 vn_encode_VkBool32(enc, &val->computeFullSubgroups);
5260 vn_encode_VkBool32(enc, &val->synchronization2);
5261 vn_encode_VkBool32(enc, &val->textureCompressionASTC_HDR);
5262 vn_encode_VkBool32(enc, &val->shaderZeroInitializeWorkgroupMemory);
5263 vn_encode_VkBool32(enc, &val->dynamicRendering);
5264 vn_encode_VkBool32(enc, &val->shaderIntegerDotProduct);
5265 vn_encode_VkBool32(enc, &val->maintenance4);
5266 }
5267
5268 static inline void
vn_encode_VkPhysicalDeviceVulkan13Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan13Features * val)5269 vn_encode_VkPhysicalDeviceVulkan13Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan13Features *val)
5270 {
5271 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES);
5272 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES });
5273 vn_encode_VkPhysicalDeviceVulkan13Features_pnext(enc, val->pNext);
5274 vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, val);
5275 }
5276
5277 static inline void *
vn_decode_VkPhysicalDeviceVulkan13Features_pnext_temp(struct vn_cs_decoder * dec)5278 vn_decode_VkPhysicalDeviceVulkan13Features_pnext_temp(struct vn_cs_decoder *dec)
5279 {
5280 /* no known/supported struct */
5281 if (vn_decode_simple_pointer(dec))
5282 vn_cs_decoder_set_fatal(dec);
5283 return NULL;
5284 }
5285
5286 static inline void
vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan13Features * val)5287 vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan13Features *val)
5288 {
5289 /* skip val->{sType,pNext} */
5290 vn_decode_VkBool32(dec, &val->robustImageAccess);
5291 vn_decode_VkBool32(dec, &val->inlineUniformBlock);
5292 vn_decode_VkBool32(dec, &val->descriptorBindingInlineUniformBlockUpdateAfterBind);
5293 vn_decode_VkBool32(dec, &val->pipelineCreationCacheControl);
5294 vn_decode_VkBool32(dec, &val->privateData);
5295 vn_decode_VkBool32(dec, &val->shaderDemoteToHelperInvocation);
5296 vn_decode_VkBool32(dec, &val->shaderTerminateInvocation);
5297 vn_decode_VkBool32(dec, &val->subgroupSizeControl);
5298 vn_decode_VkBool32(dec, &val->computeFullSubgroups);
5299 vn_decode_VkBool32(dec, &val->synchronization2);
5300 vn_decode_VkBool32(dec, &val->textureCompressionASTC_HDR);
5301 vn_decode_VkBool32(dec, &val->shaderZeroInitializeWorkgroupMemory);
5302 vn_decode_VkBool32(dec, &val->dynamicRendering);
5303 vn_decode_VkBool32(dec, &val->shaderIntegerDotProduct);
5304 vn_decode_VkBool32(dec, &val->maintenance4);
5305 }
5306
5307 static inline void
vn_decode_VkPhysicalDeviceVulkan13Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan13Features * val)5308 vn_decode_VkPhysicalDeviceVulkan13Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan13Features *val)
5309 {
5310 VkStructureType stype;
5311 vn_decode_VkStructureType(dec, &stype);
5312 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES)
5313 vn_cs_decoder_set_fatal(dec);
5314
5315 val->sType = stype;
5316 val->pNext = vn_decode_VkPhysicalDeviceVulkan13Features_pnext_temp(dec);
5317 vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(dec, val);
5318 }
5319
5320 static inline void *
vn_decode_VkPhysicalDeviceVulkan13Features_pnext_partial_temp(struct vn_cs_decoder * dec)5321 vn_decode_VkPhysicalDeviceVulkan13Features_pnext_partial_temp(struct vn_cs_decoder *dec)
5322 {
5323 /* no known/supported struct */
5324 if (vn_decode_simple_pointer(dec))
5325 vn_cs_decoder_set_fatal(dec);
5326 return NULL;
5327 }
5328
5329 static inline void
vn_decode_VkPhysicalDeviceVulkan13Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan13Features * val)5330 vn_decode_VkPhysicalDeviceVulkan13Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan13Features *val)
5331 {
5332 /* skip val->{sType,pNext} */
5333 /* skip val->robustImageAccess */
5334 /* skip val->inlineUniformBlock */
5335 /* skip val->descriptorBindingInlineUniformBlockUpdateAfterBind */
5336 /* skip val->pipelineCreationCacheControl */
5337 /* skip val->privateData */
5338 /* skip val->shaderDemoteToHelperInvocation */
5339 /* skip val->shaderTerminateInvocation */
5340 /* skip val->subgroupSizeControl */
5341 /* skip val->computeFullSubgroups */
5342 /* skip val->synchronization2 */
5343 /* skip val->textureCompressionASTC_HDR */
5344 /* skip val->shaderZeroInitializeWorkgroupMemory */
5345 /* skip val->dynamicRendering */
5346 /* skip val->shaderIntegerDotProduct */
5347 /* skip val->maintenance4 */
5348 }
5349
5350 static inline void
vn_decode_VkPhysicalDeviceVulkan13Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan13Features * val)5351 vn_decode_VkPhysicalDeviceVulkan13Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan13Features *val)
5352 {
5353 VkStructureType stype;
5354 vn_decode_VkStructureType(dec, &stype);
5355 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES)
5356 vn_cs_decoder_set_fatal(dec);
5357
5358 val->sType = stype;
5359 val->pNext = vn_decode_VkPhysicalDeviceVulkan13Features_pnext_partial_temp(dec);
5360 vn_decode_VkPhysicalDeviceVulkan13Features_self_partial_temp(dec, val);
5361 }
5362
5363 static inline void
vn_replace_VkPhysicalDeviceVulkan13Features_handle_self(VkPhysicalDeviceVulkan13Features * val)5364 vn_replace_VkPhysicalDeviceVulkan13Features_handle_self(VkPhysicalDeviceVulkan13Features *val)
5365 {
5366 /* skip val->sType */
5367 /* skip val->pNext */
5368 /* skip val->robustImageAccess */
5369 /* skip val->inlineUniformBlock */
5370 /* skip val->descriptorBindingInlineUniformBlockUpdateAfterBind */
5371 /* skip val->pipelineCreationCacheControl */
5372 /* skip val->privateData */
5373 /* skip val->shaderDemoteToHelperInvocation */
5374 /* skip val->shaderTerminateInvocation */
5375 /* skip val->subgroupSizeControl */
5376 /* skip val->computeFullSubgroups */
5377 /* skip val->synchronization2 */
5378 /* skip val->textureCompressionASTC_HDR */
5379 /* skip val->shaderZeroInitializeWorkgroupMemory */
5380 /* skip val->dynamicRendering */
5381 /* skip val->shaderIntegerDotProduct */
5382 /* skip val->maintenance4 */
5383 }
5384
5385 static inline void
vn_replace_VkPhysicalDeviceVulkan13Features_handle(VkPhysicalDeviceVulkan13Features * val)5386 vn_replace_VkPhysicalDeviceVulkan13Features_handle(VkPhysicalDeviceVulkan13Features *val)
5387 {
5388 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5389
5390 do {
5391 switch ((int32_t)pnext->sType) {
5392 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
5393 vn_replace_VkPhysicalDeviceVulkan13Features_handle_self((VkPhysicalDeviceVulkan13Features *)pnext);
5394 break;
5395 default:
5396 /* ignore unknown/unsupported struct */
5397 break;
5398 }
5399 pnext = pnext->pNext;
5400 } while (pnext);
5401 }
5402
5403 /* struct VkPhysicalDeviceCustomBorderColorFeaturesEXT chain */
5404
5405 static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)5406 vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
5407 {
5408 /* no known/supported struct */
5409 vn_encode_simple_pointer(enc, NULL);
5410 }
5411
5412 static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5413 vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5414 {
5415 /* skip val->{sType,pNext} */
5416 vn_encode_VkBool32(enc, &val->customBorderColors);
5417 vn_encode_VkBool32(enc, &val->customBorderColorWithoutFormat);
5418 }
5419
5420 static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5421 vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5422 {
5423 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT);
5424 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT });
5425 vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext(enc, val->pNext);
5426 vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(enc, val);
5427 }
5428
5429 static inline void *
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)5430 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
5431 {
5432 /* no known/supported struct */
5433 if (vn_decode_simple_pointer(dec))
5434 vn_cs_decoder_set_fatal(dec);
5435 return NULL;
5436 }
5437
5438 static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5439 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5440 {
5441 /* skip val->{sType,pNext} */
5442 vn_decode_VkBool32(dec, &val->customBorderColors);
5443 vn_decode_VkBool32(dec, &val->customBorderColorWithoutFormat);
5444 }
5445
5446 static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5447 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5448 {
5449 VkStructureType stype;
5450 vn_decode_VkStructureType(dec, &stype);
5451 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT)
5452 vn_cs_decoder_set_fatal(dec);
5453
5454 val->sType = stype;
5455 val->pNext = vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_temp(dec);
5456 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(dec, val);
5457 }
5458
5459 static inline void *
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)5460 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
5461 {
5462 /* no known/supported struct */
5463 if (vn_decode_simple_pointer(dec))
5464 vn_cs_decoder_set_fatal(dec);
5465 return NULL;
5466 }
5467
5468 static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5469 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5470 {
5471 /* skip val->{sType,pNext} */
5472 /* skip val->customBorderColors */
5473 /* skip val->customBorderColorWithoutFormat */
5474 }
5475
5476 static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5477 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5478 {
5479 VkStructureType stype;
5480 vn_decode_VkStructureType(dec, &stype);
5481 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT)
5482 vn_cs_decoder_set_fatal(dec);
5483
5484 val->sType = stype;
5485 val->pNext = vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_pnext_partial_temp(dec);
5486 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(dec, val);
5487 }
5488
5489 static inline void
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self(VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5490 vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self(VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5491 {
5492 /* skip val->sType */
5493 /* skip val->pNext */
5494 /* skip val->customBorderColors */
5495 /* skip val->customBorderColorWithoutFormat */
5496 }
5497
5498 static inline void
vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle(VkPhysicalDeviceCustomBorderColorFeaturesEXT * val)5499 vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle(VkPhysicalDeviceCustomBorderColorFeaturesEXT *val)
5500 {
5501 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5502
5503 do {
5504 switch ((int32_t)pnext->sType) {
5505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
5506 vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self((VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
5507 break;
5508 default:
5509 /* ignore unknown/unsupported struct */
5510 break;
5511 }
5512 pnext = pnext->pNext;
5513 } while (pnext);
5514 }
5515
5516 /* struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT chain */
5517
5518 static inline void
vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)5519 vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
5520 {
5521 /* no known/supported struct */
5522 vn_encode_simple_pointer(enc, NULL);
5523 }
5524
5525 static inline void
vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5526 vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5527 {
5528 /* skip val->{sType,pNext} */
5529 vn_encode_VkBool32(enc, &val->extendedDynamicState);
5530 }
5531
5532 static inline void
vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5533 vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5534 {
5535 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT);
5536 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT });
5537 vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext(enc, val->pNext);
5538 vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self(enc, val);
5539 }
5540
5541 static inline void *
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)5542 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
5543 {
5544 /* no known/supported struct */
5545 if (vn_decode_simple_pointer(dec))
5546 vn_cs_decoder_set_fatal(dec);
5547 return NULL;
5548 }
5549
5550 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5551 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5552 {
5553 /* skip val->{sType,pNext} */
5554 vn_decode_VkBool32(dec, &val->extendedDynamicState);
5555 }
5556
5557 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5558 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5559 {
5560 VkStructureType stype;
5561 vn_decode_VkStructureType(dec, &stype);
5562 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT)
5563 vn_cs_decoder_set_fatal(dec);
5564
5565 val->sType = stype;
5566 val->pNext = vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext_temp(dec);
5567 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_temp(dec, val);
5568 }
5569
5570 static inline void *
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)5571 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
5572 {
5573 /* no known/supported struct */
5574 if (vn_decode_simple_pointer(dec))
5575 vn_cs_decoder_set_fatal(dec);
5576 return NULL;
5577 }
5578
5579 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5580 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5581 {
5582 /* skip val->{sType,pNext} */
5583 /* skip val->extendedDynamicState */
5584 }
5585
5586 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5587 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5588 {
5589 VkStructureType stype;
5590 vn_decode_VkStructureType(dec, &stype);
5591 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT)
5592 vn_cs_decoder_set_fatal(dec);
5593
5594 val->sType = stype;
5595 val->pNext = vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_pnext_partial_temp(dec);
5596 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_partial_temp(dec, val);
5597 }
5598
5599 static inline void
vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5600 vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5601 {
5602 /* skip val->sType */
5603 /* skip val->pNext */
5604 /* skip val->extendedDynamicState */
5605 }
5606
5607 static inline void
vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * val)5608 vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *val)
5609 {
5610 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5611
5612 do {
5613 switch ((int32_t)pnext->sType) {
5614 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
5615 vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
5616 break;
5617 default:
5618 /* ignore unknown/unsupported struct */
5619 break;
5620 }
5621 pnext = pnext->pNext;
5622 } while (pnext);
5623 }
5624
5625 /* struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT chain */
5626
5627 static inline void
vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)5628 vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
5629 {
5630 /* no known/supported struct */
5631 vn_encode_simple_pointer(enc, NULL);
5632 }
5633
5634 static inline void
vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5635 vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5636 {
5637 /* skip val->{sType,pNext} */
5638 vn_encode_VkBool32(enc, &val->extendedDynamicState2);
5639 vn_encode_VkBool32(enc, &val->extendedDynamicState2LogicOp);
5640 vn_encode_VkBool32(enc, &val->extendedDynamicState2PatchControlPoints);
5641 }
5642
5643 static inline void
vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5644 vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5645 {
5646 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT);
5647 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT });
5648 vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext(enc, val->pNext);
5649 vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self(enc, val);
5650 }
5651
5652 static inline void *
vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)5653 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
5654 {
5655 /* no known/supported struct */
5656 if (vn_decode_simple_pointer(dec))
5657 vn_cs_decoder_set_fatal(dec);
5658 return NULL;
5659 }
5660
5661 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5662 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5663 {
5664 /* skip val->{sType,pNext} */
5665 vn_decode_VkBool32(dec, &val->extendedDynamicState2);
5666 vn_decode_VkBool32(dec, &val->extendedDynamicState2LogicOp);
5667 vn_decode_VkBool32(dec, &val->extendedDynamicState2PatchControlPoints);
5668 }
5669
5670 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5671 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5672 {
5673 VkStructureType stype;
5674 vn_decode_VkStructureType(dec, &stype);
5675 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT)
5676 vn_cs_decoder_set_fatal(dec);
5677
5678 val->sType = stype;
5679 val->pNext = vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext_temp(dec);
5680 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_temp(dec, val);
5681 }
5682
5683 static inline void *
vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)5684 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
5685 {
5686 /* no known/supported struct */
5687 if (vn_decode_simple_pointer(dec))
5688 vn_cs_decoder_set_fatal(dec);
5689 return NULL;
5690 }
5691
5692 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5693 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5694 {
5695 /* skip val->{sType,pNext} */
5696 /* skip val->extendedDynamicState2 */
5697 /* skip val->extendedDynamicState2LogicOp */
5698 /* skip val->extendedDynamicState2PatchControlPoints */
5699 }
5700
5701 static inline void
vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5702 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5703 {
5704 VkStructureType stype;
5705 vn_decode_VkStructureType(dec, &stype);
5706 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT)
5707 vn_cs_decoder_set_fatal(dec);
5708
5709 val->sType = stype;
5710 val->pNext = vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_pnext_partial_temp(dec);
5711 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_partial_temp(dec, val);
5712 }
5713
5714 static inline void
vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle_self(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5715 vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle_self(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5716 {
5717 /* skip val->sType */
5718 /* skip val->pNext */
5719 /* skip val->extendedDynamicState2 */
5720 /* skip val->extendedDynamicState2LogicOp */
5721 /* skip val->extendedDynamicState2PatchControlPoints */
5722 }
5723
5724 static inline void
vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * val)5725 vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *val)
5726 {
5727 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5728
5729 do {
5730 switch ((int32_t)pnext->sType) {
5731 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
5732 vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
5733 break;
5734 default:
5735 /* ignore unknown/unsupported struct */
5736 break;
5737 }
5738 pnext = pnext->pNext;
5739 } while (pnext);
5740 }
5741
5742 /* struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures chain */
5743
5744 static inline void
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext(struct vn_cs_encoder * enc,const void * val)5745 vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
5746 {
5747 /* no known/supported struct */
5748 vn_encode_simple_pointer(enc, NULL);
5749 }
5750
5751 static inline void
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5752 vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5753 {
5754 /* skip val->{sType,pNext} */
5755 vn_encode_VkBool32(enc, &val->shaderZeroInitializeWorkgroupMemory);
5756 }
5757
5758 static inline void
vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5759 vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5760 {
5761 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES);
5762 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES });
5763 vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext(enc, val->pNext);
5764 vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(enc, val);
5765 }
5766
5767 static inline void *
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext_temp(struct vn_cs_decoder * dec)5768 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext_temp(struct vn_cs_decoder *dec)
5769 {
5770 /* no known/supported struct */
5771 if (vn_decode_simple_pointer(dec))
5772 vn_cs_decoder_set_fatal(dec);
5773 return NULL;
5774 }
5775
5776 static inline void
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5777 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5778 {
5779 /* skip val->{sType,pNext} */
5780 vn_decode_VkBool32(dec, &val->shaderZeroInitializeWorkgroupMemory);
5781 }
5782
5783 static inline void
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5784 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5785 {
5786 VkStructureType stype;
5787 vn_decode_VkStructureType(dec, &stype);
5788 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES)
5789 vn_cs_decoder_set_fatal(dec);
5790
5791 val->sType = stype;
5792 val->pNext = vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext_temp(dec);
5793 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_temp(dec, val);
5794 }
5795
5796 static inline void *
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)5797 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
5798 {
5799 /* no known/supported struct */
5800 if (vn_decode_simple_pointer(dec))
5801 vn_cs_decoder_set_fatal(dec);
5802 return NULL;
5803 }
5804
5805 static inline void
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5806 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5807 {
5808 /* skip val->{sType,pNext} */
5809 /* skip val->shaderZeroInitializeWorkgroupMemory */
5810 }
5811
5812 static inline void
vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5813 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5814 {
5815 VkStructureType stype;
5816 vn_decode_VkStructureType(dec, &stype);
5817 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES)
5818 vn_cs_decoder_set_fatal(dec);
5819
5820 val->sType = stype;
5821 val->pNext = vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_pnext_partial_temp(dec);
5822 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial_temp(dec, val);
5823 }
5824
5825 static inline void
vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle_self(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5826 vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle_self(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5827 {
5828 /* skip val->sType */
5829 /* skip val->pNext */
5830 /* skip val->shaderZeroInitializeWorkgroupMemory */
5831 }
5832
5833 static inline void
vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * val)5834 vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *val)
5835 {
5836 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5837
5838 do {
5839 switch ((int32_t)pnext->sType) {
5840 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
5841 vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle_self((VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
5842 break;
5843 default:
5844 /* ignore unknown/unsupported struct */
5845 break;
5846 }
5847 pnext = pnext->pNext;
5848 } while (pnext);
5849 }
5850
5851 /* struct VkPhysicalDeviceRobustness2FeaturesEXT chain */
5852
5853 static inline void
vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)5854 vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
5855 {
5856 /* no known/supported struct */
5857 vn_encode_simple_pointer(enc, NULL);
5858 }
5859
5860 static inline void
vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceRobustness2FeaturesEXT * val)5861 vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2FeaturesEXT *val)
5862 {
5863 /* skip val->{sType,pNext} */
5864 vn_encode_VkBool32(enc, &val->robustBufferAccess2);
5865 vn_encode_VkBool32(enc, &val->robustImageAccess2);
5866 vn_encode_VkBool32(enc, &val->nullDescriptor);
5867 }
5868
5869 static inline void
vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceRobustness2FeaturesEXT * val)5870 vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2FeaturesEXT *val)
5871 {
5872 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT);
5873 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT });
5874 vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext(enc, val->pNext);
5875 vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(enc, val);
5876 }
5877
5878 static inline void *
vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)5879 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
5880 {
5881 /* no known/supported struct */
5882 if (vn_decode_simple_pointer(dec))
5883 vn_cs_decoder_set_fatal(dec);
5884 return NULL;
5885 }
5886
5887 static inline void
vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceRobustness2FeaturesEXT * val)5888 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2FeaturesEXT *val)
5889 {
5890 /* skip val->{sType,pNext} */
5891 vn_decode_VkBool32(dec, &val->robustBufferAccess2);
5892 vn_decode_VkBool32(dec, &val->robustImageAccess2);
5893 vn_decode_VkBool32(dec, &val->nullDescriptor);
5894 }
5895
5896 static inline void
vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceRobustness2FeaturesEXT * val)5897 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2FeaturesEXT *val)
5898 {
5899 VkStructureType stype;
5900 vn_decode_VkStructureType(dec, &stype);
5901 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT)
5902 vn_cs_decoder_set_fatal(dec);
5903
5904 val->sType = stype;
5905 val->pNext = vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_temp(dec);
5906 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_temp(dec, val);
5907 }
5908
5909 static inline void *
vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)5910 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
5911 {
5912 /* no known/supported struct */
5913 if (vn_decode_simple_pointer(dec))
5914 vn_cs_decoder_set_fatal(dec);
5915 return NULL;
5916 }
5917
5918 static inline void
vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceRobustness2FeaturesEXT * val)5919 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2FeaturesEXT *val)
5920 {
5921 /* skip val->{sType,pNext} */
5922 /* skip val->robustBufferAccess2 */
5923 /* skip val->robustImageAccess2 */
5924 /* skip val->nullDescriptor */
5925 }
5926
5927 static inline void
vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceRobustness2FeaturesEXT * val)5928 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2FeaturesEXT *val)
5929 {
5930 VkStructureType stype;
5931 vn_decode_VkStructureType(dec, &stype);
5932 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT)
5933 vn_cs_decoder_set_fatal(dec);
5934
5935 val->sType = stype;
5936 val->pNext = vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_pnext_partial_temp(dec);
5937 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial_temp(dec, val);
5938 }
5939
5940 static inline void
vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle_self(VkPhysicalDeviceRobustness2FeaturesEXT * val)5941 vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle_self(VkPhysicalDeviceRobustness2FeaturesEXT *val)
5942 {
5943 /* skip val->sType */
5944 /* skip val->pNext */
5945 /* skip val->robustBufferAccess2 */
5946 /* skip val->robustImageAccess2 */
5947 /* skip val->nullDescriptor */
5948 }
5949
5950 static inline void
vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle(VkPhysicalDeviceRobustness2FeaturesEXT * val)5951 vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle(VkPhysicalDeviceRobustness2FeaturesEXT *val)
5952 {
5953 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
5954
5955 do {
5956 switch ((int32_t)pnext->sType) {
5957 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
5958 vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle_self((VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
5959 break;
5960 default:
5961 /* ignore unknown/unsupported struct */
5962 break;
5963 }
5964 pnext = pnext->pNext;
5965 } while (pnext);
5966 }
5967
5968 /* struct VkPhysicalDeviceImageRobustnessFeatures chain */
5969
5970 static inline void
vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(struct vn_cs_encoder * enc,const void * val)5971 vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
5972 {
5973 /* no known/supported struct */
5974 vn_encode_simple_pointer(enc, NULL);
5975 }
5976
5977 static inline void
vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceImageRobustnessFeatures * val)5978 vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
5979 {
5980 /* skip val->{sType,pNext} */
5981 vn_encode_VkBool32(enc, &val->robustImageAccess);
5982 }
5983
5984 static inline void
vn_encode_VkPhysicalDeviceImageRobustnessFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceImageRobustnessFeatures * val)5985 vn_encode_VkPhysicalDeviceImageRobustnessFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageRobustnessFeatures *val)
5986 {
5987 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES);
5988 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES });
5989 vn_encode_VkPhysicalDeviceImageRobustnessFeatures_pnext(enc, val->pNext);
5990 vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(enc, val);
5991 }
5992
5993 static inline void *
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext_temp(struct vn_cs_decoder * dec)5994 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext_temp(struct vn_cs_decoder *dec)
5995 {
5996 /* no known/supported struct */
5997 if (vn_decode_simple_pointer(dec))
5998 vn_cs_decoder_set_fatal(dec);
5999 return NULL;
6000 }
6001
6002 static inline void
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageRobustnessFeatures * val)6003 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
6004 {
6005 /* skip val->{sType,pNext} */
6006 vn_decode_VkBool32(dec, &val->robustImageAccess);
6007 }
6008
6009 static inline void
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageRobustnessFeatures * val)6010 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
6011 {
6012 VkStructureType stype;
6013 vn_decode_VkStructureType(dec, &stype);
6014 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES)
6015 vn_cs_decoder_set_fatal(dec);
6016
6017 val->sType = stype;
6018 val->pNext = vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext_temp(dec);
6019 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_temp(dec, val);
6020 }
6021
6022 static inline void *
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)6023 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
6024 {
6025 /* no known/supported struct */
6026 if (vn_decode_simple_pointer(dec))
6027 vn_cs_decoder_set_fatal(dec);
6028 return NULL;
6029 }
6030
6031 static inline void
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageRobustnessFeatures * val)6032 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
6033 {
6034 /* skip val->{sType,pNext} */
6035 /* skip val->robustImageAccess */
6036 }
6037
6038 static inline void
vn_decode_VkPhysicalDeviceImageRobustnessFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageRobustnessFeatures * val)6039 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageRobustnessFeatures *val)
6040 {
6041 VkStructureType stype;
6042 vn_decode_VkStructureType(dec, &stype);
6043 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES)
6044 vn_cs_decoder_set_fatal(dec);
6045
6046 val->sType = stype;
6047 val->pNext = vn_decode_VkPhysicalDeviceImageRobustnessFeatures_pnext_partial_temp(dec);
6048 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_partial_temp(dec, val);
6049 }
6050
6051 static inline void
vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle_self(VkPhysicalDeviceImageRobustnessFeatures * val)6052 vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle_self(VkPhysicalDeviceImageRobustnessFeatures *val)
6053 {
6054 /* skip val->sType */
6055 /* skip val->pNext */
6056 /* skip val->robustImageAccess */
6057 }
6058
6059 static inline void
vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle(VkPhysicalDeviceImageRobustnessFeatures * val)6060 vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle(VkPhysicalDeviceImageRobustnessFeatures *val)
6061 {
6062 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6063
6064 do {
6065 switch ((int32_t)pnext->sType) {
6066 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
6067 vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle_self((VkPhysicalDeviceImageRobustnessFeatures *)pnext);
6068 break;
6069 default:
6070 /* ignore unknown/unsupported struct */
6071 break;
6072 }
6073 pnext = pnext->pNext;
6074 } while (pnext);
6075 }
6076
6077 /* struct VkPhysicalDevice4444FormatsFeaturesEXT chain */
6078
6079 static inline void
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)6080 vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
6081 {
6082 /* no known/supported struct */
6083 vn_encode_simple_pointer(enc, NULL);
6084 }
6085
6086 static inline void
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDevice4444FormatsFeaturesEXT * val)6087 vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDevice4444FormatsFeaturesEXT *val)
6088 {
6089 /* skip val->{sType,pNext} */
6090 vn_encode_VkBool32(enc, &val->formatA4R4G4B4);
6091 vn_encode_VkBool32(enc, &val->formatA4B4G4R4);
6092 }
6093
6094 static inline void
vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDevice4444FormatsFeaturesEXT * val)6095 vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDevice4444FormatsFeaturesEXT *val)
6096 {
6097 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT);
6098 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT });
6099 vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext(enc, val->pNext);
6100 vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(enc, val);
6101 }
6102
6103 static inline void *
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)6104 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
6105 {
6106 /* no known/supported struct */
6107 if (vn_decode_simple_pointer(dec))
6108 vn_cs_decoder_set_fatal(dec);
6109 return NULL;
6110 }
6111
6112 static inline void
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevice4444FormatsFeaturesEXT * val)6113 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevice4444FormatsFeaturesEXT *val)
6114 {
6115 /* skip val->{sType,pNext} */
6116 vn_decode_VkBool32(dec, &val->formatA4R4G4B4);
6117 vn_decode_VkBool32(dec, &val->formatA4B4G4R4);
6118 }
6119
6120 static inline void
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDevice4444FormatsFeaturesEXT * val)6121 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDevice4444FormatsFeaturesEXT *val)
6122 {
6123 VkStructureType stype;
6124 vn_decode_VkStructureType(dec, &stype);
6125 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT)
6126 vn_cs_decoder_set_fatal(dec);
6127
6128 val->sType = stype;
6129 val->pNext = vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext_temp(dec);
6130 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_temp(dec, val);
6131 }
6132
6133 static inline void *
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)6134 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
6135 {
6136 /* no known/supported struct */
6137 if (vn_decode_simple_pointer(dec))
6138 vn_cs_decoder_set_fatal(dec);
6139 return NULL;
6140 }
6141
6142 static inline void
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevice4444FormatsFeaturesEXT * val)6143 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevice4444FormatsFeaturesEXT *val)
6144 {
6145 /* skip val->{sType,pNext} */
6146 /* skip val->formatA4R4G4B4 */
6147 /* skip val->formatA4B4G4R4 */
6148 }
6149
6150 static inline void
vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevice4444FormatsFeaturesEXT * val)6151 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevice4444FormatsFeaturesEXT *val)
6152 {
6153 VkStructureType stype;
6154 vn_decode_VkStructureType(dec, &stype);
6155 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT)
6156 vn_cs_decoder_set_fatal(dec);
6157
6158 val->sType = stype;
6159 val->pNext = vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_pnext_partial_temp(dec);
6160 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial_temp(dec, val);
6161 }
6162
6163 static inline void
vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle_self(VkPhysicalDevice4444FormatsFeaturesEXT * val)6164 vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle_self(VkPhysicalDevice4444FormatsFeaturesEXT *val)
6165 {
6166 /* skip val->sType */
6167 /* skip val->pNext */
6168 /* skip val->formatA4R4G4B4 */
6169 /* skip val->formatA4B4G4R4 */
6170 }
6171
6172 static inline void
vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle(VkPhysicalDevice4444FormatsFeaturesEXT * val)6173 vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle(VkPhysicalDevice4444FormatsFeaturesEXT *val)
6174 {
6175 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6176
6177 do {
6178 switch ((int32_t)pnext->sType) {
6179 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
6180 vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle_self((VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
6181 break;
6182 default:
6183 /* ignore unknown/unsupported struct */
6184 break;
6185 }
6186 pnext = pnext->pNext;
6187 } while (pnext);
6188 }
6189
6190 /* struct VkPhysicalDeviceShaderTerminateInvocationFeatures chain */
6191
6192 static inline void
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext(struct vn_cs_encoder * enc,const void * val)6193 vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
6194 {
6195 /* no known/supported struct */
6196 vn_encode_simple_pointer(enc, NULL);
6197 }
6198
6199 static inline void
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6200 vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6201 {
6202 /* skip val->{sType,pNext} */
6203 vn_encode_VkBool32(enc, &val->shaderTerminateInvocation);
6204 }
6205
6206 static inline void
vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6207 vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6208 {
6209 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES);
6210 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES });
6211 vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext(enc, val->pNext);
6212 vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(enc, val);
6213 }
6214
6215 static inline void *
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext_temp(struct vn_cs_decoder * dec)6216 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext_temp(struct vn_cs_decoder *dec)
6217 {
6218 /* no known/supported struct */
6219 if (vn_decode_simple_pointer(dec))
6220 vn_cs_decoder_set_fatal(dec);
6221 return NULL;
6222 }
6223
6224 static inline void
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6225 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6226 {
6227 /* skip val->{sType,pNext} */
6228 vn_decode_VkBool32(dec, &val->shaderTerminateInvocation);
6229 }
6230
6231 static inline void
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6232 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6233 {
6234 VkStructureType stype;
6235 vn_decode_VkStructureType(dec, &stype);
6236 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES)
6237 vn_cs_decoder_set_fatal(dec);
6238
6239 val->sType = stype;
6240 val->pNext = vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext_temp(dec);
6241 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_temp(dec, val);
6242 }
6243
6244 static inline void *
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)6245 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
6246 {
6247 /* no known/supported struct */
6248 if (vn_decode_simple_pointer(dec))
6249 vn_cs_decoder_set_fatal(dec);
6250 return NULL;
6251 }
6252
6253 static inline void
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6254 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6255 {
6256 /* skip val->{sType,pNext} */
6257 /* skip val->shaderTerminateInvocation */
6258 }
6259
6260 static inline void
vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6261 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6262 {
6263 VkStructureType stype;
6264 vn_decode_VkStructureType(dec, &stype);
6265 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES)
6266 vn_cs_decoder_set_fatal(dec);
6267
6268 val->sType = stype;
6269 val->pNext = vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_pnext_partial_temp(dec);
6270 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial_temp(dec, val);
6271 }
6272
6273 static inline void
vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle_self(VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6274 vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle_self(VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6275 {
6276 /* skip val->sType */
6277 /* skip val->pNext */
6278 /* skip val->shaderTerminateInvocation */
6279 }
6280
6281 static inline void
vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle(VkPhysicalDeviceShaderTerminateInvocationFeatures * val)6282 vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle(VkPhysicalDeviceShaderTerminateInvocationFeatures *val)
6283 {
6284 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6285
6286 do {
6287 switch ((int32_t)pnext->sType) {
6288 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
6289 vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle_self((VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
6290 break;
6291 default:
6292 /* ignore unknown/unsupported struct */
6293 break;
6294 }
6295 pnext = pnext->pNext;
6296 } while (pnext);
6297 }
6298
6299 /* struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT chain */
6300
6301 static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)6302 vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
6303 {
6304 /* no known/supported struct */
6305 vn_encode_simple_pointer(enc, NULL);
6306 }
6307
6308 static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6309 vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6310 {
6311 /* skip val->{sType,pNext} */
6312 vn_encode_VkBool32(enc, &val->mutableDescriptorType);
6313 }
6314
6315 static inline void
vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6316 vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6317 {
6318 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT);
6319 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT });
6320 vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext(enc, val->pNext);
6321 vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self(enc, val);
6322 }
6323
6324 static inline void *
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)6325 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
6326 {
6327 /* no known/supported struct */
6328 if (vn_decode_simple_pointer(dec))
6329 vn_cs_decoder_set_fatal(dec);
6330 return NULL;
6331 }
6332
6333 static inline void
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6334 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6335 {
6336 /* skip val->{sType,pNext} */
6337 vn_decode_VkBool32(dec, &val->mutableDescriptorType);
6338 }
6339
6340 static inline void
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6341 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6342 {
6343 VkStructureType stype;
6344 vn_decode_VkStructureType(dec, &stype);
6345 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT)
6346 vn_cs_decoder_set_fatal(dec);
6347
6348 val->sType = stype;
6349 val->pNext = vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext_temp(dec);
6350 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_temp(dec, val);
6351 }
6352
6353 static inline void *
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)6354 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
6355 {
6356 /* no known/supported struct */
6357 if (vn_decode_simple_pointer(dec))
6358 vn_cs_decoder_set_fatal(dec);
6359 return NULL;
6360 }
6361
6362 static inline void
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6363 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6364 {
6365 /* skip val->{sType,pNext} */
6366 /* skip val->mutableDescriptorType */
6367 }
6368
6369 static inline void
vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6370 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6371 {
6372 VkStructureType stype;
6373 vn_decode_VkStructureType(dec, &stype);
6374 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT)
6375 vn_cs_decoder_set_fatal(dec);
6376
6377 val->sType = stype;
6378 val->pNext = vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_pnext_partial_temp(dec);
6379 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_partial_temp(dec, val);
6380 }
6381
6382 static inline void
vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle_self(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6383 vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle_self(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6384 {
6385 /* skip val->sType */
6386 /* skip val->pNext */
6387 /* skip val->mutableDescriptorType */
6388 }
6389
6390 static inline void
vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * val)6391 vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *val)
6392 {
6393 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6394
6395 do {
6396 switch ((int32_t)pnext->sType) {
6397 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
6398 vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle_self((VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
6399 break;
6400 default:
6401 /* ignore unknown/unsupported struct */
6402 break;
6403 }
6404 pnext = pnext->pNext;
6405 } while (pnext);
6406 }
6407
6408 /* struct VkPhysicalDeviceDepthClipControlFeaturesEXT chain */
6409
6410 static inline void
vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)6411 vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
6412 {
6413 /* no known/supported struct */
6414 vn_encode_simple_pointer(enc, NULL);
6415 }
6416
6417 static inline void
vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6418 vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6419 {
6420 /* skip val->{sType,pNext} */
6421 vn_encode_VkBool32(enc, &val->depthClipControl);
6422 }
6423
6424 static inline void
vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6425 vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6426 {
6427 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT);
6428 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT });
6429 vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext(enc, val->pNext);
6430 vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self(enc, val);
6431 }
6432
6433 static inline void *
vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)6434 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
6435 {
6436 /* no known/supported struct */
6437 if (vn_decode_simple_pointer(dec))
6438 vn_cs_decoder_set_fatal(dec);
6439 return NULL;
6440 }
6441
6442 static inline void
vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6443 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6444 {
6445 /* skip val->{sType,pNext} */
6446 vn_decode_VkBool32(dec, &val->depthClipControl);
6447 }
6448
6449 static inline void
vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6450 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6451 {
6452 VkStructureType stype;
6453 vn_decode_VkStructureType(dec, &stype);
6454 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT)
6455 vn_cs_decoder_set_fatal(dec);
6456
6457 val->sType = stype;
6458 val->pNext = vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext_temp(dec);
6459 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_temp(dec, val);
6460 }
6461
6462 static inline void *
vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)6463 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
6464 {
6465 /* no known/supported struct */
6466 if (vn_decode_simple_pointer(dec))
6467 vn_cs_decoder_set_fatal(dec);
6468 return NULL;
6469 }
6470
6471 static inline void
vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6472 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6473 {
6474 /* skip val->{sType,pNext} */
6475 /* skip val->depthClipControl */
6476 }
6477
6478 static inline void
vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6479 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6480 {
6481 VkStructureType stype;
6482 vn_decode_VkStructureType(dec, &stype);
6483 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT)
6484 vn_cs_decoder_set_fatal(dec);
6485
6486 val->sType = stype;
6487 val->pNext = vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_pnext_partial_temp(dec);
6488 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_partial_temp(dec, val);
6489 }
6490
6491 static inline void
vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle_self(VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6492 vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle_self(VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6493 {
6494 /* skip val->sType */
6495 /* skip val->pNext */
6496 /* skip val->depthClipControl */
6497 }
6498
6499 static inline void
vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle(VkPhysicalDeviceDepthClipControlFeaturesEXT * val)6500 vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle(VkPhysicalDeviceDepthClipControlFeaturesEXT *val)
6501 {
6502 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6503
6504 do {
6505 switch ((int32_t)pnext->sType) {
6506 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
6507 vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle_self((VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
6508 break;
6509 default:
6510 /* ignore unknown/unsupported struct */
6511 break;
6512 }
6513 pnext = pnext->pNext;
6514 } while (pnext);
6515 }
6516
6517 /* struct VkPhysicalDeviceSynchronization2Features chain */
6518
6519 static inline void
vn_encode_VkPhysicalDeviceSynchronization2Features_pnext(struct vn_cs_encoder * enc,const void * val)6520 vn_encode_VkPhysicalDeviceSynchronization2Features_pnext(struct vn_cs_encoder *enc, const void *val)
6521 {
6522 /* no known/supported struct */
6523 vn_encode_simple_pointer(enc, NULL);
6524 }
6525
6526 static inline void
vn_encode_VkPhysicalDeviceSynchronization2Features_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSynchronization2Features * val)6527 vn_encode_VkPhysicalDeviceSynchronization2Features_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSynchronization2Features *val)
6528 {
6529 /* skip val->{sType,pNext} */
6530 vn_encode_VkBool32(enc, &val->synchronization2);
6531 }
6532
6533 static inline void
vn_encode_VkPhysicalDeviceSynchronization2Features(struct vn_cs_encoder * enc,const VkPhysicalDeviceSynchronization2Features * val)6534 vn_encode_VkPhysicalDeviceSynchronization2Features(struct vn_cs_encoder *enc, const VkPhysicalDeviceSynchronization2Features *val)
6535 {
6536 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES);
6537 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES });
6538 vn_encode_VkPhysicalDeviceSynchronization2Features_pnext(enc, val->pNext);
6539 vn_encode_VkPhysicalDeviceSynchronization2Features_self(enc, val);
6540 }
6541
6542 static inline void *
vn_decode_VkPhysicalDeviceSynchronization2Features_pnext_temp(struct vn_cs_decoder * dec)6543 vn_decode_VkPhysicalDeviceSynchronization2Features_pnext_temp(struct vn_cs_decoder *dec)
6544 {
6545 /* no known/supported struct */
6546 if (vn_decode_simple_pointer(dec))
6547 vn_cs_decoder_set_fatal(dec);
6548 return NULL;
6549 }
6550
6551 static inline void
vn_decode_VkPhysicalDeviceSynchronization2Features_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSynchronization2Features * val)6552 vn_decode_VkPhysicalDeviceSynchronization2Features_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSynchronization2Features *val)
6553 {
6554 /* skip val->{sType,pNext} */
6555 vn_decode_VkBool32(dec, &val->synchronization2);
6556 }
6557
6558 static inline void
vn_decode_VkPhysicalDeviceSynchronization2Features_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSynchronization2Features * val)6559 vn_decode_VkPhysicalDeviceSynchronization2Features_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSynchronization2Features *val)
6560 {
6561 VkStructureType stype;
6562 vn_decode_VkStructureType(dec, &stype);
6563 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES)
6564 vn_cs_decoder_set_fatal(dec);
6565
6566 val->sType = stype;
6567 val->pNext = vn_decode_VkPhysicalDeviceSynchronization2Features_pnext_temp(dec);
6568 vn_decode_VkPhysicalDeviceSynchronization2Features_self_temp(dec, val);
6569 }
6570
6571 static inline void *
vn_decode_VkPhysicalDeviceSynchronization2Features_pnext_partial_temp(struct vn_cs_decoder * dec)6572 vn_decode_VkPhysicalDeviceSynchronization2Features_pnext_partial_temp(struct vn_cs_decoder *dec)
6573 {
6574 /* no known/supported struct */
6575 if (vn_decode_simple_pointer(dec))
6576 vn_cs_decoder_set_fatal(dec);
6577 return NULL;
6578 }
6579
6580 static inline void
vn_decode_VkPhysicalDeviceSynchronization2Features_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSynchronization2Features * val)6581 vn_decode_VkPhysicalDeviceSynchronization2Features_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSynchronization2Features *val)
6582 {
6583 /* skip val->{sType,pNext} */
6584 /* skip val->synchronization2 */
6585 }
6586
6587 static inline void
vn_decode_VkPhysicalDeviceSynchronization2Features_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSynchronization2Features * val)6588 vn_decode_VkPhysicalDeviceSynchronization2Features_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSynchronization2Features *val)
6589 {
6590 VkStructureType stype;
6591 vn_decode_VkStructureType(dec, &stype);
6592 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES)
6593 vn_cs_decoder_set_fatal(dec);
6594
6595 val->sType = stype;
6596 val->pNext = vn_decode_VkPhysicalDeviceSynchronization2Features_pnext_partial_temp(dec);
6597 vn_decode_VkPhysicalDeviceSynchronization2Features_self_partial_temp(dec, val);
6598 }
6599
6600 static inline void
vn_replace_VkPhysicalDeviceSynchronization2Features_handle_self(VkPhysicalDeviceSynchronization2Features * val)6601 vn_replace_VkPhysicalDeviceSynchronization2Features_handle_self(VkPhysicalDeviceSynchronization2Features *val)
6602 {
6603 /* skip val->sType */
6604 /* skip val->pNext */
6605 /* skip val->synchronization2 */
6606 }
6607
6608 static inline void
vn_replace_VkPhysicalDeviceSynchronization2Features_handle(VkPhysicalDeviceSynchronization2Features * val)6609 vn_replace_VkPhysicalDeviceSynchronization2Features_handle(VkPhysicalDeviceSynchronization2Features *val)
6610 {
6611 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6612
6613 do {
6614 switch ((int32_t)pnext->sType) {
6615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
6616 vn_replace_VkPhysicalDeviceSynchronization2Features_handle_self((VkPhysicalDeviceSynchronization2Features *)pnext);
6617 break;
6618 default:
6619 /* ignore unknown/unsupported struct */
6620 break;
6621 }
6622 pnext = pnext->pNext;
6623 } while (pnext);
6624 }
6625
6626 /* struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT chain */
6627
6628 static inline void
vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)6629 vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
6630 {
6631 /* no known/supported struct */
6632 vn_encode_simple_pointer(enc, NULL);
6633 }
6634
6635 static inline void
vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6636 vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6637 {
6638 /* skip val->{sType,pNext} */
6639 vn_encode_VkBool32(enc, &val->primitivesGeneratedQuery);
6640 vn_encode_VkBool32(enc, &val->primitivesGeneratedQueryWithRasterizerDiscard);
6641 vn_encode_VkBool32(enc, &val->primitivesGeneratedQueryWithNonZeroStreams);
6642 }
6643
6644 static inline void
vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6645 vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6646 {
6647 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT);
6648 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT });
6649 vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext(enc, val->pNext);
6650 vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(enc, val);
6651 }
6652
6653 static inline void *
vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)6654 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
6655 {
6656 /* no known/supported struct */
6657 if (vn_decode_simple_pointer(dec))
6658 vn_cs_decoder_set_fatal(dec);
6659 return NULL;
6660 }
6661
6662 static inline void
vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6663 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6664 {
6665 /* skip val->{sType,pNext} */
6666 vn_decode_VkBool32(dec, &val->primitivesGeneratedQuery);
6667 vn_decode_VkBool32(dec, &val->primitivesGeneratedQueryWithRasterizerDiscard);
6668 vn_decode_VkBool32(dec, &val->primitivesGeneratedQueryWithNonZeroStreams);
6669 }
6670
6671 static inline void
vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6672 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6673 {
6674 VkStructureType stype;
6675 vn_decode_VkStructureType(dec, &stype);
6676 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT)
6677 vn_cs_decoder_set_fatal(dec);
6678
6679 val->sType = stype;
6680 val->pNext = vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext_temp(dec);
6681 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_temp(dec, val);
6682 }
6683
6684 static inline void *
vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)6685 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
6686 {
6687 /* no known/supported struct */
6688 if (vn_decode_simple_pointer(dec))
6689 vn_cs_decoder_set_fatal(dec);
6690 return NULL;
6691 }
6692
6693 static inline void
vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6694 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6695 {
6696 /* skip val->{sType,pNext} */
6697 /* skip val->primitivesGeneratedQuery */
6698 /* skip val->primitivesGeneratedQueryWithRasterizerDiscard */
6699 /* skip val->primitivesGeneratedQueryWithNonZeroStreams */
6700 }
6701
6702 static inline void
vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6703 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6704 {
6705 VkStructureType stype;
6706 vn_decode_VkStructureType(dec, &stype);
6707 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT)
6708 vn_cs_decoder_set_fatal(dec);
6709
6710 val->sType = stype;
6711 val->pNext = vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_pnext_partial_temp(dec);
6712 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial_temp(dec, val);
6713 }
6714
6715 static inline void
vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle_self(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6716 vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle_self(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6717 {
6718 /* skip val->sType */
6719 /* skip val->pNext */
6720 /* skip val->primitivesGeneratedQuery */
6721 /* skip val->primitivesGeneratedQueryWithRasterizerDiscard */
6722 /* skip val->primitivesGeneratedQueryWithNonZeroStreams */
6723 }
6724
6725 static inline void
vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * val)6726 vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *val)
6727 {
6728 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6729
6730 do {
6731 switch ((int32_t)pnext->sType) {
6732 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
6733 vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle_self((VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
6734 break;
6735 default:
6736 /* ignore unknown/unsupported struct */
6737 break;
6738 }
6739 pnext = pnext->pNext;
6740 } while (pnext);
6741 }
6742
6743 /* struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT chain */
6744
6745 static inline void
vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)6746 vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
6747 {
6748 /* no known/supported struct */
6749 vn_encode_simple_pointer(enc, NULL);
6750 }
6751
6752 static inline void
vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6753 vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6754 {
6755 /* skip val->{sType,pNext} */
6756 vn_encode_VkBool32(enc, &val->ycbcr2plane444Formats);
6757 }
6758
6759 static inline void
vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6760 vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6761 {
6762 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT);
6763 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT });
6764 vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext(enc, val->pNext);
6765 vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self(enc, val);
6766 }
6767
6768 static inline void *
vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)6769 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
6770 {
6771 /* no known/supported struct */
6772 if (vn_decode_simple_pointer(dec))
6773 vn_cs_decoder_set_fatal(dec);
6774 return NULL;
6775 }
6776
6777 static inline void
vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6778 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6779 {
6780 /* skip val->{sType,pNext} */
6781 vn_decode_VkBool32(dec, &val->ycbcr2plane444Formats);
6782 }
6783
6784 static inline void
vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6785 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6786 {
6787 VkStructureType stype;
6788 vn_decode_VkStructureType(dec, &stype);
6789 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT)
6790 vn_cs_decoder_set_fatal(dec);
6791
6792 val->sType = stype;
6793 val->pNext = vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext_temp(dec);
6794 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_temp(dec, val);
6795 }
6796
6797 static inline void *
vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)6798 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
6799 {
6800 /* no known/supported struct */
6801 if (vn_decode_simple_pointer(dec))
6802 vn_cs_decoder_set_fatal(dec);
6803 return NULL;
6804 }
6805
6806 static inline void
vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6807 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6808 {
6809 /* skip val->{sType,pNext} */
6810 /* skip val->ycbcr2plane444Formats */
6811 }
6812
6813 static inline void
vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6814 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6815 {
6816 VkStructureType stype;
6817 vn_decode_VkStructureType(dec, &stype);
6818 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT)
6819 vn_cs_decoder_set_fatal(dec);
6820
6821 val->sType = stype;
6822 val->pNext = vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_pnext_partial_temp(dec);
6823 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_partial_temp(dec, val);
6824 }
6825
6826 static inline void
vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle_self(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6827 vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle_self(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6828 {
6829 /* skip val->sType */
6830 /* skip val->pNext */
6831 /* skip val->ycbcr2plane444Formats */
6832 }
6833
6834 static inline void
vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * val)6835 vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *val)
6836 {
6837 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6838
6839 do {
6840 switch ((int32_t)pnext->sType) {
6841 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
6842 vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle_self((VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
6843 break;
6844 default:
6845 /* ignore unknown/unsupported struct */
6846 break;
6847 }
6848 pnext = pnext->pNext;
6849 } while (pnext);
6850 }
6851
6852 /* struct VkPhysicalDeviceProvokingVertexFeaturesEXT chain */
6853
6854 static inline void
vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)6855 vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
6856 {
6857 /* no known/supported struct */
6858 vn_encode_simple_pointer(enc, NULL);
6859 }
6860
6861 static inline void
vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6862 vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6863 {
6864 /* skip val->{sType,pNext} */
6865 vn_encode_VkBool32(enc, &val->provokingVertexLast);
6866 vn_encode_VkBool32(enc, &val->transformFeedbackPreservesProvokingVertex);
6867 }
6868
6869 static inline void
vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6870 vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6871 {
6872 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT);
6873 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT });
6874 vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext(enc, val->pNext);
6875 vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self(enc, val);
6876 }
6877
6878 static inline void *
vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)6879 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
6880 {
6881 /* no known/supported struct */
6882 if (vn_decode_simple_pointer(dec))
6883 vn_cs_decoder_set_fatal(dec);
6884 return NULL;
6885 }
6886
6887 static inline void
vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6888 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6889 {
6890 /* skip val->{sType,pNext} */
6891 vn_decode_VkBool32(dec, &val->provokingVertexLast);
6892 vn_decode_VkBool32(dec, &val->transformFeedbackPreservesProvokingVertex);
6893 }
6894
6895 static inline void
vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6896 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6897 {
6898 VkStructureType stype;
6899 vn_decode_VkStructureType(dec, &stype);
6900 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT)
6901 vn_cs_decoder_set_fatal(dec);
6902
6903 val->sType = stype;
6904 val->pNext = vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext_temp(dec);
6905 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_temp(dec, val);
6906 }
6907
6908 static inline void *
vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)6909 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
6910 {
6911 /* no known/supported struct */
6912 if (vn_decode_simple_pointer(dec))
6913 vn_cs_decoder_set_fatal(dec);
6914 return NULL;
6915 }
6916
6917 static inline void
vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6918 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6919 {
6920 /* skip val->{sType,pNext} */
6921 /* skip val->provokingVertexLast */
6922 /* skip val->transformFeedbackPreservesProvokingVertex */
6923 }
6924
6925 static inline void
vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6926 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6927 {
6928 VkStructureType stype;
6929 vn_decode_VkStructureType(dec, &stype);
6930 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT)
6931 vn_cs_decoder_set_fatal(dec);
6932
6933 val->sType = stype;
6934 val->pNext = vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_pnext_partial_temp(dec);
6935 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_partial_temp(dec, val);
6936 }
6937
6938 static inline void
vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle_self(VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6939 vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle_self(VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6940 {
6941 /* skip val->sType */
6942 /* skip val->pNext */
6943 /* skip val->provokingVertexLast */
6944 /* skip val->transformFeedbackPreservesProvokingVertex */
6945 }
6946
6947 static inline void
vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle(VkPhysicalDeviceProvokingVertexFeaturesEXT * val)6948 vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle(VkPhysicalDeviceProvokingVertexFeaturesEXT *val)
6949 {
6950 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
6951
6952 do {
6953 switch ((int32_t)pnext->sType) {
6954 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
6955 vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle_self((VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
6956 break;
6957 default:
6958 /* ignore unknown/unsupported struct */
6959 break;
6960 }
6961 pnext = pnext->pNext;
6962 } while (pnext);
6963 }
6964
6965 /* struct VkPhysicalDeviceShaderIntegerDotProductFeatures chain */
6966
6967 static inline void
vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext(struct vn_cs_encoder * enc,const void * val)6968 vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
6969 {
6970 /* no known/supported struct */
6971 vn_encode_simple_pointer(enc, NULL);
6972 }
6973
6974 static inline void
vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderIntegerDotProductFeatures * val)6975 vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
6976 {
6977 /* skip val->{sType,pNext} */
6978 vn_encode_VkBool32(enc, &val->shaderIntegerDotProduct);
6979 }
6980
6981 static inline void
vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderIntegerDotProductFeatures * val)6982 vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
6983 {
6984 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES);
6985 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES });
6986 vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext(enc, val->pNext);
6987 vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self(enc, val);
6988 }
6989
6990 static inline void *
vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext_temp(struct vn_cs_decoder * dec)6991 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext_temp(struct vn_cs_decoder *dec)
6992 {
6993 /* no known/supported struct */
6994 if (vn_decode_simple_pointer(dec))
6995 vn_cs_decoder_set_fatal(dec);
6996 return NULL;
6997 }
6998
6999 static inline void
vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderIntegerDotProductFeatures * val)7000 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
7001 {
7002 /* skip val->{sType,pNext} */
7003 vn_decode_VkBool32(dec, &val->shaderIntegerDotProduct);
7004 }
7005
7006 static inline void
vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderIntegerDotProductFeatures * val)7007 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
7008 {
7009 VkStructureType stype;
7010 vn_decode_VkStructureType(dec, &stype);
7011 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES)
7012 vn_cs_decoder_set_fatal(dec);
7013
7014 val->sType = stype;
7015 val->pNext = vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext_temp(dec);
7016 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_temp(dec, val);
7017 }
7018
7019 static inline void *
vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)7020 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
7021 {
7022 /* no known/supported struct */
7023 if (vn_decode_simple_pointer(dec))
7024 vn_cs_decoder_set_fatal(dec);
7025 return NULL;
7026 }
7027
7028 static inline void
vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderIntegerDotProductFeatures * val)7029 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
7030 {
7031 /* skip val->{sType,pNext} */
7032 /* skip val->shaderIntegerDotProduct */
7033 }
7034
7035 static inline void
vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderIntegerDotProductFeatures * val)7036 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
7037 {
7038 VkStructureType stype;
7039 vn_decode_VkStructureType(dec, &stype);
7040 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES)
7041 vn_cs_decoder_set_fatal(dec);
7042
7043 val->sType = stype;
7044 val->pNext = vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_pnext_partial_temp(dec);
7045 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_partial_temp(dec, val);
7046 }
7047
7048 static inline void
vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle_self(VkPhysicalDeviceShaderIntegerDotProductFeatures * val)7049 vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle_self(VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
7050 {
7051 /* skip val->sType */
7052 /* skip val->pNext */
7053 /* skip val->shaderIntegerDotProduct */
7054 }
7055
7056 static inline void
vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle(VkPhysicalDeviceShaderIntegerDotProductFeatures * val)7057 vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle(VkPhysicalDeviceShaderIntegerDotProductFeatures *val)
7058 {
7059 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
7060
7061 do {
7062 switch ((int32_t)pnext->sType) {
7063 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
7064 vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle_self((VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
7065 break;
7066 default:
7067 /* ignore unknown/unsupported struct */
7068 break;
7069 }
7070 pnext = pnext->pNext;
7071 } while (pnext);
7072 }
7073
7074 /* struct VkPhysicalDeviceDynamicRenderingFeatures chain */
7075
7076 static inline void
vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_pnext(struct vn_cs_encoder * enc,const void * val)7077 vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_pnext(struct vn_cs_encoder *enc, const void *val)
7078 {
7079 /* no known/supported struct */
7080 vn_encode_simple_pointer(enc, NULL);
7081 }
7082
7083 static inline void
vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDynamicRenderingFeatures * val)7084 vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDynamicRenderingFeatures *val)
7085 {
7086 /* skip val->{sType,pNext} */
7087 vn_encode_VkBool32(enc, &val->dynamicRendering);
7088 }
7089
7090 static inline void
vn_encode_VkPhysicalDeviceDynamicRenderingFeatures(struct vn_cs_encoder * enc,const VkPhysicalDeviceDynamicRenderingFeatures * val)7091 vn_encode_VkPhysicalDeviceDynamicRenderingFeatures(struct vn_cs_encoder *enc, const VkPhysicalDeviceDynamicRenderingFeatures *val)
7092 {
7093 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES);
7094 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES });
7095 vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_pnext(enc, val->pNext);
7096 vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_self(enc, val);
7097 }
7098
7099 static inline void *
vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_pnext_temp(struct vn_cs_decoder * dec)7100 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_pnext_temp(struct vn_cs_decoder *dec)
7101 {
7102 /* no known/supported struct */
7103 if (vn_decode_simple_pointer(dec))
7104 vn_cs_decoder_set_fatal(dec);
7105 return NULL;
7106 }
7107
7108 static inline void
vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDynamicRenderingFeatures * val)7109 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDynamicRenderingFeatures *val)
7110 {
7111 /* skip val->{sType,pNext} */
7112 vn_decode_VkBool32(dec, &val->dynamicRendering);
7113 }
7114
7115 static inline void
vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDynamicRenderingFeatures * val)7116 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDynamicRenderingFeatures *val)
7117 {
7118 VkStructureType stype;
7119 vn_decode_VkStructureType(dec, &stype);
7120 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES)
7121 vn_cs_decoder_set_fatal(dec);
7122
7123 val->sType = stype;
7124 val->pNext = vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_pnext_temp(dec);
7125 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_temp(dec, val);
7126 }
7127
7128 static inline void *
vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_pnext_partial_temp(struct vn_cs_decoder * dec)7129 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_pnext_partial_temp(struct vn_cs_decoder *dec)
7130 {
7131 /* no known/supported struct */
7132 if (vn_decode_simple_pointer(dec))
7133 vn_cs_decoder_set_fatal(dec);
7134 return NULL;
7135 }
7136
7137 static inline void
vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDynamicRenderingFeatures * val)7138 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDynamicRenderingFeatures *val)
7139 {
7140 /* skip val->{sType,pNext} */
7141 /* skip val->dynamicRendering */
7142 }
7143
7144 static inline void
vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDynamicRenderingFeatures * val)7145 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDynamicRenderingFeatures *val)
7146 {
7147 VkStructureType stype;
7148 vn_decode_VkStructureType(dec, &stype);
7149 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES)
7150 vn_cs_decoder_set_fatal(dec);
7151
7152 val->sType = stype;
7153 val->pNext = vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_pnext_partial_temp(dec);
7154 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_partial_temp(dec, val);
7155 }
7156
7157 static inline void
vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle_self(VkPhysicalDeviceDynamicRenderingFeatures * val)7158 vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle_self(VkPhysicalDeviceDynamicRenderingFeatures *val)
7159 {
7160 /* skip val->sType */
7161 /* skip val->pNext */
7162 /* skip val->dynamicRendering */
7163 }
7164
7165 static inline void
vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle(VkPhysicalDeviceDynamicRenderingFeatures * val)7166 vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle(VkPhysicalDeviceDynamicRenderingFeatures *val)
7167 {
7168 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
7169
7170 do {
7171 switch ((int32_t)pnext->sType) {
7172 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
7173 vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle_self((VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
7174 break;
7175 default:
7176 /* ignore unknown/unsupported struct */
7177 break;
7178 }
7179 pnext = pnext->pNext;
7180 } while (pnext);
7181 }
7182
7183 /* struct VkPhysicalDeviceImageViewMinLodFeaturesEXT chain */
7184
7185 static inline void
vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext(struct vn_cs_encoder * enc,const void * val)7186 vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
7187 {
7188 /* no known/supported struct */
7189 vn_encode_simple_pointer(enc, NULL);
7190 }
7191
7192 static inline void
vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7193 vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7194 {
7195 /* skip val->{sType,pNext} */
7196 vn_encode_VkBool32(enc, &val->minLod);
7197 }
7198
7199 static inline void
vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7200 vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7201 {
7202 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT);
7203 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT });
7204 vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext(enc, val->pNext);
7205 vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self(enc, val);
7206 }
7207
7208 static inline void *
vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext_temp(struct vn_cs_decoder * dec)7209 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext_temp(struct vn_cs_decoder *dec)
7210 {
7211 /* no known/supported struct */
7212 if (vn_decode_simple_pointer(dec))
7213 vn_cs_decoder_set_fatal(dec);
7214 return NULL;
7215 }
7216
7217 static inline void
vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7218 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7219 {
7220 /* skip val->{sType,pNext} */
7221 vn_decode_VkBool32(dec, &val->minLod);
7222 }
7223
7224 static inline void
vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7225 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7226 {
7227 VkStructureType stype;
7228 vn_decode_VkStructureType(dec, &stype);
7229 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT)
7230 vn_cs_decoder_set_fatal(dec);
7231
7232 val->sType = stype;
7233 val->pNext = vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext_temp(dec);
7234 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_temp(dec, val);
7235 }
7236
7237 static inline void *
vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)7238 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
7239 {
7240 /* no known/supported struct */
7241 if (vn_decode_simple_pointer(dec))
7242 vn_cs_decoder_set_fatal(dec);
7243 return NULL;
7244 }
7245
7246 static inline void
vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7247 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7248 {
7249 /* skip val->{sType,pNext} */
7250 /* skip val->minLod */
7251 }
7252
7253 static inline void
vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7254 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7255 {
7256 VkStructureType stype;
7257 vn_decode_VkStructureType(dec, &stype);
7258 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT)
7259 vn_cs_decoder_set_fatal(dec);
7260
7261 val->sType = stype;
7262 val->pNext = vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_pnext_partial_temp(dec);
7263 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_partial_temp(dec, val);
7264 }
7265
7266 static inline void
vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle_self(VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7267 vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle_self(VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7268 {
7269 /* skip val->sType */
7270 /* skip val->pNext */
7271 /* skip val->minLod */
7272 }
7273
7274 static inline void
vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle(VkPhysicalDeviceImageViewMinLodFeaturesEXT * val)7275 vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle(VkPhysicalDeviceImageViewMinLodFeaturesEXT *val)
7276 {
7277 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
7278
7279 do {
7280 switch ((int32_t)pnext->sType) {
7281 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
7282 vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle_self((VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
7283 break;
7284 default:
7285 /* ignore unknown/unsupported struct */
7286 break;
7287 }
7288 pnext = pnext->pNext;
7289 } while (pnext);
7290 }
7291
7292 /* struct VkPhysicalDeviceFeatures2 chain */
7293
7294 static inline void
vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder * enc,const void * val)7295 vn_encode_VkPhysicalDeviceFeatures2_pnext(struct vn_cs_encoder *enc, const void *val)
7296 {
7297 const VkBaseInStructure *pnext = val;
7298
7299 while (pnext) {
7300 switch ((int32_t)pnext->sType) {
7301 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
7302 vn_encode_simple_pointer(enc, pnext);
7303 vn_encode_VkStructureType(enc, &pnext->sType);
7304 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7305 vn_encode_VkPhysicalDevicePrivateDataFeatures_self(enc, (const VkPhysicalDevicePrivateDataFeatures *)pnext);
7306 return;
7307 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
7308 vn_encode_simple_pointer(enc, pnext);
7309 vn_encode_VkStructureType(enc, &pnext->sType);
7310 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7311 vn_encode_VkPhysicalDeviceVariablePointersFeatures_self(enc, (const VkPhysicalDeviceVariablePointersFeatures *)pnext);
7312 return;
7313 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
7314 vn_encode_simple_pointer(enc, pnext);
7315 vn_encode_VkStructureType(enc, &pnext->sType);
7316 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7317 vn_encode_VkPhysicalDeviceMultiviewFeatures_self(enc, (const VkPhysicalDeviceMultiviewFeatures *)pnext);
7318 return;
7319 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
7320 vn_encode_simple_pointer(enc, pnext);
7321 vn_encode_VkStructureType(enc, &pnext->sType);
7322 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7323 vn_encode_VkPhysicalDevice16BitStorageFeatures_self(enc, (const VkPhysicalDevice16BitStorageFeatures *)pnext);
7324 return;
7325 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
7326 vn_encode_simple_pointer(enc, pnext);
7327 vn_encode_VkStructureType(enc, &pnext->sType);
7328 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7329 vn_encode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self(enc, (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
7330 return;
7331 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
7332 vn_encode_simple_pointer(enc, pnext);
7333 vn_encode_VkStructureType(enc, &pnext->sType);
7334 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7335 vn_encode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self(enc, (const VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
7336 return;
7337 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
7338 vn_encode_simple_pointer(enc, pnext);
7339 vn_encode_VkStructureType(enc, &pnext->sType);
7340 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7341 vn_encode_VkPhysicalDeviceProtectedMemoryFeatures_self(enc, (const VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
7342 return;
7343 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
7344 vn_encode_simple_pointer(enc, pnext);
7345 vn_encode_VkStructureType(enc, &pnext->sType);
7346 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7347 vn_encode_VkPhysicalDeviceMultiDrawFeaturesEXT_self(enc, (const VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
7348 return;
7349 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
7350 vn_encode_simple_pointer(enc, pnext);
7351 vn_encode_VkStructureType(enc, &pnext->sType);
7352 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7353 vn_encode_VkPhysicalDeviceInlineUniformBlockFeatures_self(enc, (const VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
7354 return;
7355 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
7356 vn_encode_simple_pointer(enc, pnext);
7357 vn_encode_VkStructureType(enc, &pnext->sType);
7358 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7359 vn_encode_VkPhysicalDeviceMaintenance4Features_self(enc, (const VkPhysicalDeviceMaintenance4Features *)pnext);
7360 return;
7361 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
7362 vn_encode_simple_pointer(enc, pnext);
7363 vn_encode_VkStructureType(enc, &pnext->sType);
7364 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7365 vn_encode_VkPhysicalDeviceShaderDrawParametersFeatures_self(enc, (const VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
7366 return;
7367 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
7368 vn_encode_simple_pointer(enc, pnext);
7369 vn_encode_VkStructureType(enc, &pnext->sType);
7370 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7371 vn_encode_VkPhysicalDeviceShaderFloat16Int8Features_self(enc, (const VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
7372 return;
7373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
7374 vn_encode_simple_pointer(enc, pnext);
7375 vn_encode_VkStructureType(enc, &pnext->sType);
7376 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7377 vn_encode_VkPhysicalDeviceHostQueryResetFeatures_self(enc, (const VkPhysicalDeviceHostQueryResetFeatures *)pnext);
7378 return;
7379 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
7380 vn_encode_simple_pointer(enc, pnext);
7381 vn_encode_VkStructureType(enc, &pnext->sType);
7382 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7383 vn_encode_VkPhysicalDeviceDescriptorIndexingFeatures_self(enc, (const VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
7384 return;
7385 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
7386 vn_encode_simple_pointer(enc, pnext);
7387 vn_encode_VkStructureType(enc, &pnext->sType);
7388 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7389 vn_encode_VkPhysicalDeviceTimelineSemaphoreFeatures_self(enc, (const VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
7390 return;
7391 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
7392 vn_encode_simple_pointer(enc, pnext);
7393 vn_encode_VkStructureType(enc, &pnext->sType);
7394 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7395 vn_encode_VkPhysicalDevice8BitStorageFeatures_self(enc, (const VkPhysicalDevice8BitStorageFeatures *)pnext);
7396 return;
7397 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
7398 vn_encode_simple_pointer(enc, pnext);
7399 vn_encode_VkStructureType(enc, &pnext->sType);
7400 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7401 vn_encode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self(enc, (const VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
7402 return;
7403 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
7404 vn_encode_simple_pointer(enc, pnext);
7405 vn_encode_VkStructureType(enc, &pnext->sType);
7406 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7407 vn_encode_VkPhysicalDeviceVulkanMemoryModelFeatures_self(enc, (const VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
7408 return;
7409 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
7410 vn_encode_simple_pointer(enc, pnext);
7411 vn_encode_VkStructureType(enc, &pnext->sType);
7412 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7413 vn_encode_VkPhysicalDeviceShaderAtomicInt64Features_self(enc, (const VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
7414 return;
7415 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
7416 vn_encode_simple_pointer(enc, pnext);
7417 vn_encode_VkStructureType(enc, &pnext->sType);
7418 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7419 vn_encode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
7420 return;
7421 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
7422 vn_encode_simple_pointer(enc, pnext);
7423 vn_encode_VkStructureType(enc, &pnext->sType);
7424 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7425 vn_encode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
7426 return;
7427 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
7428 vn_encode_simple_pointer(enc, pnext);
7429 vn_encode_VkStructureType(enc, &pnext->sType);
7430 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7431 vn_encode_VkPhysicalDeviceScalarBlockLayoutFeatures_self(enc, (const VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
7432 return;
7433 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
7434 vn_encode_simple_pointer(enc, pnext);
7435 vn_encode_VkStructureType(enc, &pnext->sType);
7436 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7437 vn_encode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self(enc, (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
7438 return;
7439 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
7440 vn_encode_simple_pointer(enc, pnext);
7441 vn_encode_VkStructureType(enc, &pnext->sType);
7442 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7443 vn_encode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self(enc, (const VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
7444 return;
7445 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
7446 vn_encode_simple_pointer(enc, pnext);
7447 vn_encode_VkStructureType(enc, &pnext->sType);
7448 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7449 vn_encode_VkPhysicalDeviceBufferDeviceAddressFeatures_self(enc, (const VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
7450 return;
7451 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
7452 vn_encode_simple_pointer(enc, pnext);
7453 vn_encode_VkStructureType(enc, &pnext->sType);
7454 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7455 vn_encode_VkPhysicalDeviceImagelessFramebufferFeatures_self(enc, (const VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
7456 return;
7457 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
7458 vn_encode_simple_pointer(enc, pnext);
7459 vn_encode_VkStructureType(enc, &pnext->sType);
7460 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7461 vn_encode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self(enc, (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
7462 return;
7463 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
7464 vn_encode_simple_pointer(enc, pnext);
7465 vn_encode_VkStructureType(enc, &pnext->sType);
7466 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7467 vn_encode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self(enc, (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
7468 return;
7469 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
7470 vn_encode_simple_pointer(enc, pnext);
7471 vn_encode_VkStructureType(enc, &pnext->sType);
7472 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7473 vn_encode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self(enc, (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
7474 return;
7475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
7476 vn_encode_simple_pointer(enc, pnext);
7477 vn_encode_VkStructureType(enc, &pnext->sType);
7478 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7479 vn_encode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self(enc, (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
7480 return;
7481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
7482 vn_encode_simple_pointer(enc, pnext);
7483 vn_encode_VkStructureType(enc, &pnext->sType);
7484 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7485 vn_encode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self(enc, (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
7486 return;
7487 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
7488 vn_encode_simple_pointer(enc, pnext);
7489 vn_encode_VkStructureType(enc, &pnext->sType);
7490 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7491 vn_encode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self(enc, (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
7492 return;
7493 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
7494 vn_encode_simple_pointer(enc, pnext);
7495 vn_encode_VkStructureType(enc, &pnext->sType);
7496 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7497 vn_encode_VkPhysicalDeviceSubgroupSizeControlFeatures_self(enc, (const VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
7498 return;
7499 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
7500 vn_encode_simple_pointer(enc, pnext);
7501 vn_encode_VkStructureType(enc, &pnext->sType);
7502 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7503 vn_encode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self(enc, (const VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
7504 return;
7505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
7506 vn_encode_simple_pointer(enc, pnext);
7507 vn_encode_VkStructureType(enc, &pnext->sType);
7508 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7509 vn_encode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self(enc, (const VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
7510 return;
7511 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
7512 vn_encode_simple_pointer(enc, pnext);
7513 vn_encode_VkStructureType(enc, &pnext->sType);
7514 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7515 vn_encode_VkPhysicalDeviceVulkan11Features_self(enc, (const VkPhysicalDeviceVulkan11Features *)pnext);
7516 return;
7517 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
7518 vn_encode_simple_pointer(enc, pnext);
7519 vn_encode_VkStructureType(enc, &pnext->sType);
7520 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7521 vn_encode_VkPhysicalDeviceVulkan12Features_self(enc, (const VkPhysicalDeviceVulkan12Features *)pnext);
7522 return;
7523 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
7524 vn_encode_simple_pointer(enc, pnext);
7525 vn_encode_VkStructureType(enc, &pnext->sType);
7526 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7527 vn_encode_VkPhysicalDeviceVulkan13Features_self(enc, (const VkPhysicalDeviceVulkan13Features *)pnext);
7528 return;
7529 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
7530 vn_encode_simple_pointer(enc, pnext);
7531 vn_encode_VkStructureType(enc, &pnext->sType);
7532 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7533 vn_encode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self(enc, (const VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
7534 return;
7535 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
7536 vn_encode_simple_pointer(enc, pnext);
7537 vn_encode_VkStructureType(enc, &pnext->sType);
7538 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7539 vn_encode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self(enc, (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
7540 return;
7541 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
7542 vn_encode_simple_pointer(enc, pnext);
7543 vn_encode_VkStructureType(enc, &pnext->sType);
7544 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7545 vn_encode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self(enc, (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
7546 return;
7547 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
7548 vn_encode_simple_pointer(enc, pnext);
7549 vn_encode_VkStructureType(enc, &pnext->sType);
7550 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7551 vn_encode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self(enc, (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
7552 return;
7553 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
7554 vn_encode_simple_pointer(enc, pnext);
7555 vn_encode_VkStructureType(enc, &pnext->sType);
7556 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7557 vn_encode_VkPhysicalDeviceRobustness2FeaturesEXT_self(enc, (const VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
7558 return;
7559 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
7560 vn_encode_simple_pointer(enc, pnext);
7561 vn_encode_VkStructureType(enc, &pnext->sType);
7562 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7563 vn_encode_VkPhysicalDeviceImageRobustnessFeatures_self(enc, (const VkPhysicalDeviceImageRobustnessFeatures *)pnext);
7564 return;
7565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
7566 vn_encode_simple_pointer(enc, pnext);
7567 vn_encode_VkStructureType(enc, &pnext->sType);
7568 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7569 vn_encode_VkPhysicalDevice4444FormatsFeaturesEXT_self(enc, (const VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
7570 return;
7571 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
7572 vn_encode_simple_pointer(enc, pnext);
7573 vn_encode_VkStructureType(enc, &pnext->sType);
7574 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7575 vn_encode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self(enc, (const VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
7576 return;
7577 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
7578 vn_encode_simple_pointer(enc, pnext);
7579 vn_encode_VkStructureType(enc, &pnext->sType);
7580 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7581 vn_encode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self(enc, (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
7582 return;
7583 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
7584 vn_encode_simple_pointer(enc, pnext);
7585 vn_encode_VkStructureType(enc, &pnext->sType);
7586 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7587 vn_encode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self(enc, (const VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
7588 return;
7589 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
7590 vn_encode_simple_pointer(enc, pnext);
7591 vn_encode_VkStructureType(enc, &pnext->sType);
7592 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7593 vn_encode_VkPhysicalDeviceSynchronization2Features_self(enc, (const VkPhysicalDeviceSynchronization2Features *)pnext);
7594 return;
7595 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
7596 vn_encode_simple_pointer(enc, pnext);
7597 vn_encode_VkStructureType(enc, &pnext->sType);
7598 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7599 vn_encode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self(enc, (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
7600 return;
7601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
7602 vn_encode_simple_pointer(enc, pnext);
7603 vn_encode_VkStructureType(enc, &pnext->sType);
7604 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7605 vn_encode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self(enc, (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
7606 return;
7607 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
7608 vn_encode_simple_pointer(enc, pnext);
7609 vn_encode_VkStructureType(enc, &pnext->sType);
7610 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7611 vn_encode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self(enc, (const VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
7612 return;
7613 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
7614 vn_encode_simple_pointer(enc, pnext);
7615 vn_encode_VkStructureType(enc, &pnext->sType);
7616 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7617 vn_encode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self(enc, (const VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
7618 return;
7619 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
7620 vn_encode_simple_pointer(enc, pnext);
7621 vn_encode_VkStructureType(enc, &pnext->sType);
7622 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7623 vn_encode_VkPhysicalDeviceDynamicRenderingFeatures_self(enc, (const VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
7624 return;
7625 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
7626 vn_encode_simple_pointer(enc, pnext);
7627 vn_encode_VkStructureType(enc, &pnext->sType);
7628 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, pnext->pNext);
7629 vn_encode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self(enc, (const VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
7630 return;
7631 default:
7632 /* ignore unknown/unsupported struct */
7633 break;
7634 }
7635 pnext = pnext->pNext;
7636 }
7637
7638 vn_encode_simple_pointer(enc, NULL);
7639 }
7640
7641 static inline void
vn_encode_VkPhysicalDeviceFeatures2_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceFeatures2 * val)7642 vn_encode_VkPhysicalDeviceFeatures2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
7643 {
7644 /* skip val->{sType,pNext} */
7645 vn_encode_VkPhysicalDeviceFeatures(enc, &val->features);
7646 }
7647
7648 static inline void
vn_encode_VkPhysicalDeviceFeatures2(struct vn_cs_encoder * enc,const VkPhysicalDeviceFeatures2 * val)7649 vn_encode_VkPhysicalDeviceFeatures2(struct vn_cs_encoder *enc, const VkPhysicalDeviceFeatures2 *val)
7650 {
7651 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2);
7652 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 });
7653 vn_encode_VkPhysicalDeviceFeatures2_pnext(enc, val->pNext);
7654 vn_encode_VkPhysicalDeviceFeatures2_self(enc, val);
7655 }
7656
7657 static inline void *
vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(struct vn_cs_decoder * dec)7658 vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(struct vn_cs_decoder *dec)
7659 {
7660 VkBaseOutStructure *pnext;
7661 VkStructureType stype;
7662
7663 if (!vn_decode_simple_pointer(dec))
7664 return NULL;
7665
7666 vn_decode_VkStructureType(dec, &stype);
7667 switch ((int32_t)stype) {
7668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
7669 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrivateDataFeatures));
7670 if (pnext) {
7671 pnext->sType = stype;
7672 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7673 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_temp(dec, (VkPhysicalDevicePrivateDataFeatures *)pnext);
7674 }
7675 break;
7676 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
7677 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVariablePointersFeatures));
7678 if (pnext) {
7679 pnext->sType = stype;
7680 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7681 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_temp(dec, (VkPhysicalDeviceVariablePointersFeatures *)pnext);
7682 }
7683 break;
7684 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
7685 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiviewFeatures));
7686 if (pnext) {
7687 pnext->sType = stype;
7688 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7689 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_temp(dec, (VkPhysicalDeviceMultiviewFeatures *)pnext);
7690 }
7691 break;
7692 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
7693 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice16BitStorageFeatures));
7694 if (pnext) {
7695 pnext->sType = stype;
7696 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7697 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_temp(dec, (VkPhysicalDevice16BitStorageFeatures *)pnext);
7698 }
7699 break;
7700 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
7701 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures));
7702 if (pnext) {
7703 pnext->sType = stype;
7704 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7705 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_temp(dec, (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
7706 }
7707 break;
7708 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
7709 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures));
7710 if (pnext) {
7711 pnext->sType = stype;
7712 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7713 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_temp(dec, (VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
7714 }
7715 break;
7716 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
7717 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProtectedMemoryFeatures));
7718 if (pnext) {
7719 pnext->sType = stype;
7720 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7721 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_temp(dec, (VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
7722 }
7723 break;
7724 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
7725 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT));
7726 if (pnext) {
7727 pnext->sType = stype;
7728 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7729 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_temp(dec, (VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
7730 }
7731 break;
7732 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
7733 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceInlineUniformBlockFeatures));
7734 if (pnext) {
7735 pnext->sType = stype;
7736 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7737 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_temp(dec, (VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
7738 }
7739 break;
7740 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
7741 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMaintenance4Features));
7742 if (pnext) {
7743 pnext->sType = stype;
7744 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7745 vn_decode_VkPhysicalDeviceMaintenance4Features_self_temp(dec, (VkPhysicalDeviceMaintenance4Features *)pnext);
7746 }
7747 break;
7748 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
7749 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderDrawParametersFeatures));
7750 if (pnext) {
7751 pnext->sType = stype;
7752 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7753 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_temp(dec, (VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
7754 }
7755 break;
7756 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
7757 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderFloat16Int8Features));
7758 if (pnext) {
7759 pnext->sType = stype;
7760 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7761 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_temp(dec, (VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
7762 }
7763 break;
7764 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
7765 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceHostQueryResetFeatures));
7766 if (pnext) {
7767 pnext->sType = stype;
7768 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7769 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_temp(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext);
7770 }
7771 break;
7772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
7773 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDescriptorIndexingFeatures));
7774 if (pnext) {
7775 pnext->sType = stype;
7776 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7777 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_temp(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
7778 }
7779 break;
7780 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
7781 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures));
7782 if (pnext) {
7783 pnext->sType = stype;
7784 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7785 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_temp(dec, (VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
7786 }
7787 break;
7788 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
7789 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice8BitStorageFeatures));
7790 if (pnext) {
7791 pnext->sType = stype;
7792 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7793 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_temp(dec, (VkPhysicalDevice8BitStorageFeatures *)pnext);
7794 }
7795 break;
7796 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
7797 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT));
7798 if (pnext) {
7799 pnext->sType = stype;
7800 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7801 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_temp(dec, (VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
7802 }
7803 break;
7804 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
7805 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures));
7806 if (pnext) {
7807 pnext->sType = stype;
7808 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7809 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_temp(dec, (VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
7810 }
7811 break;
7812 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
7813 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderAtomicInt64Features));
7814 if (pnext) {
7815 pnext->sType = stype;
7816 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7817 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_temp(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
7818 }
7819 break;
7820 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
7821 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT));
7822 if (pnext) {
7823 pnext->sType = stype;
7824 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7825 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_temp(dec, (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
7826 }
7827 break;
7828 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
7829 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT));
7830 if (pnext) {
7831 pnext->sType = stype;
7832 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7833 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_temp(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
7834 }
7835 break;
7836 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
7837 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures));
7838 if (pnext) {
7839 pnext->sType = stype;
7840 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7841 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_temp(dec, (VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
7842 }
7843 break;
7844 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
7845 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures));
7846 if (pnext) {
7847 pnext->sType = stype;
7848 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7849 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_temp(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
7850 }
7851 break;
7852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
7853 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT));
7854 if (pnext) {
7855 pnext->sType = stype;
7856 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7857 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_temp(dec, (VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
7858 }
7859 break;
7860 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
7861 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures));
7862 if (pnext) {
7863 pnext->sType = stype;
7864 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7865 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_temp(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
7866 }
7867 break;
7868 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
7869 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImagelessFramebufferFeatures));
7870 if (pnext) {
7871 pnext->sType = stype;
7872 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7873 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_temp(dec, (VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
7874 }
7875 break;
7876 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
7877 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures));
7878 if (pnext) {
7879 pnext->sType = stype;
7880 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7881 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_temp(dec, (VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
7882 }
7883 break;
7884 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
7885 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT));
7886 if (pnext) {
7887 pnext->sType = stype;
7888 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7889 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_temp(dec, (VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
7890 }
7891 break;
7892 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
7893 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures));
7894 if (pnext) {
7895 pnext->sType = stype;
7896 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7897 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_temp(dec, (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
7898 }
7899 break;
7900 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
7901 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT));
7902 if (pnext) {
7903 pnext->sType = stype;
7904 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7905 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_temp(dec, (VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
7906 }
7907 break;
7908 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
7909 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures));
7910 if (pnext) {
7911 pnext->sType = stype;
7912 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7913 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_temp(dec, (VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
7914 }
7915 break;
7916 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
7917 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT));
7918 if (pnext) {
7919 pnext->sType = stype;
7920 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7921 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_temp(dec, (VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
7922 }
7923 break;
7924 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
7925 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures));
7926 if (pnext) {
7927 pnext->sType = stype;
7928 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7929 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_temp(dec, (VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
7930 }
7931 break;
7932 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
7933 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT));
7934 if (pnext) {
7935 pnext->sType = stype;
7936 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7937 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_temp(dec, (VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
7938 }
7939 break;
7940 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
7941 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures));
7942 if (pnext) {
7943 pnext->sType = stype;
7944 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7945 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_temp(dec, (VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
7946 }
7947 break;
7948 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
7949 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan11Features));
7950 if (pnext) {
7951 pnext->sType = stype;
7952 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7953 vn_decode_VkPhysicalDeviceVulkan11Features_self_temp(dec, (VkPhysicalDeviceVulkan11Features *)pnext);
7954 }
7955 break;
7956 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
7957 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan12Features));
7958 if (pnext) {
7959 pnext->sType = stype;
7960 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7961 vn_decode_VkPhysicalDeviceVulkan12Features_self_temp(dec, (VkPhysicalDeviceVulkan12Features *)pnext);
7962 }
7963 break;
7964 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
7965 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan13Features));
7966 if (pnext) {
7967 pnext->sType = stype;
7968 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7969 vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
7970 }
7971 break;
7972 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
7973 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
7974 if (pnext) {
7975 pnext->sType = stype;
7976 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7977 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
7978 }
7979 break;
7980 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
7981 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT));
7982 if (pnext) {
7983 pnext->sType = stype;
7984 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7985 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_temp(dec, (VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
7986 }
7987 break;
7988 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
7989 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT));
7990 if (pnext) {
7991 pnext->sType = stype;
7992 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
7993 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_temp(dec, (VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
7994 }
7995 break;
7996 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
7997 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures));
7998 if (pnext) {
7999 pnext->sType = stype;
8000 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8001 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_temp(dec, (VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
8002 }
8003 break;
8004 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
8005 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceRobustness2FeaturesEXT));
8006 if (pnext) {
8007 pnext->sType = stype;
8008 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8009 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_temp(dec, (VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
8010 }
8011 break;
8012 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
8013 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageRobustnessFeatures));
8014 if (pnext) {
8015 pnext->sType = stype;
8016 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8017 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_temp(dec, (VkPhysicalDeviceImageRobustnessFeatures *)pnext);
8018 }
8019 break;
8020 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
8021 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice4444FormatsFeaturesEXT));
8022 if (pnext) {
8023 pnext->sType = stype;
8024 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8025 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_temp(dec, (VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
8026 }
8027 break;
8028 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
8029 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures));
8030 if (pnext) {
8031 pnext->sType = stype;
8032 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8033 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_temp(dec, (VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
8034 }
8035 break;
8036 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
8037 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT));
8038 if (pnext) {
8039 pnext->sType = stype;
8040 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8041 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_temp(dec, (VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
8042 }
8043 break;
8044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
8045 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT));
8046 if (pnext) {
8047 pnext->sType = stype;
8048 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8049 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_temp(dec, (VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
8050 }
8051 break;
8052 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
8053 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSynchronization2Features));
8054 if (pnext) {
8055 pnext->sType = stype;
8056 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8057 vn_decode_VkPhysicalDeviceSynchronization2Features_self_temp(dec, (VkPhysicalDeviceSynchronization2Features *)pnext);
8058 }
8059 break;
8060 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
8061 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT));
8062 if (pnext) {
8063 pnext->sType = stype;
8064 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8065 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_temp(dec, (VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
8066 }
8067 break;
8068 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
8069 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT));
8070 if (pnext) {
8071 pnext->sType = stype;
8072 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8073 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_temp(dec, (VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
8074 }
8075 break;
8076 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
8077 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT));
8078 if (pnext) {
8079 pnext->sType = stype;
8080 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8081 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_temp(dec, (VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
8082 }
8083 break;
8084 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
8085 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures));
8086 if (pnext) {
8087 pnext->sType = stype;
8088 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8089 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_temp(dec, (VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
8090 }
8091 break;
8092 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
8093 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDynamicRenderingFeatures));
8094 if (pnext) {
8095 pnext->sType = stype;
8096 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8097 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_temp(dec, (VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
8098 }
8099 break;
8100 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
8101 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT));
8102 if (pnext) {
8103 pnext->sType = stype;
8104 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8105 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_temp(dec, (VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
8106 }
8107 break;
8108 default:
8109 /* unexpected struct */
8110 pnext = NULL;
8111 vn_cs_decoder_set_fatal(dec);
8112 break;
8113 }
8114
8115 return pnext;
8116 }
8117
8118 static inline void
vn_decode_VkPhysicalDeviceFeatures2_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFeatures2 * val)8119 vn_decode_VkPhysicalDeviceFeatures2_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
8120 {
8121 /* skip val->{sType,pNext} */
8122 vn_decode_VkPhysicalDeviceFeatures_temp(dec, &val->features);
8123 }
8124
8125 static inline void
vn_decode_VkPhysicalDeviceFeatures2_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFeatures2 * val)8126 vn_decode_VkPhysicalDeviceFeatures2_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
8127 {
8128 VkStructureType stype;
8129 vn_decode_VkStructureType(dec, &stype);
8130 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2)
8131 vn_cs_decoder_set_fatal(dec);
8132
8133 val->sType = stype;
8134 val->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_temp(dec);
8135 vn_decode_VkPhysicalDeviceFeatures2_self_temp(dec, val);
8136 }
8137
8138 static inline void *
vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(struct vn_cs_decoder * dec)8139 vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(struct vn_cs_decoder *dec)
8140 {
8141 VkBaseOutStructure *pnext;
8142 VkStructureType stype;
8143
8144 if (!vn_decode_simple_pointer(dec))
8145 return NULL;
8146
8147 vn_decode_VkStructureType(dec, &stype);
8148 switch ((int32_t)stype) {
8149 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
8150 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrivateDataFeatures));
8151 if (pnext) {
8152 pnext->sType = stype;
8153 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8154 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_partial_temp(dec, (VkPhysicalDevicePrivateDataFeatures *)pnext);
8155 }
8156 break;
8157 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
8158 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVariablePointersFeatures));
8159 if (pnext) {
8160 pnext->sType = stype;
8161 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8162 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_partial_temp(dec, (VkPhysicalDeviceVariablePointersFeatures *)pnext);
8163 }
8164 break;
8165 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
8166 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiviewFeatures));
8167 if (pnext) {
8168 pnext->sType = stype;
8169 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8170 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_partial_temp(dec, (VkPhysicalDeviceMultiviewFeatures *)pnext);
8171 }
8172 break;
8173 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
8174 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice16BitStorageFeatures));
8175 if (pnext) {
8176 pnext->sType = stype;
8177 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8178 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_partial_temp(dec, (VkPhysicalDevice16BitStorageFeatures *)pnext);
8179 }
8180 break;
8181 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
8182 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures));
8183 if (pnext) {
8184 pnext->sType = stype;
8185 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8186 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_partial_temp(dec, (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
8187 }
8188 break;
8189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
8190 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures));
8191 if (pnext) {
8192 pnext->sType = stype;
8193 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8194 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_partial_temp(dec, (VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
8195 }
8196 break;
8197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
8198 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProtectedMemoryFeatures));
8199 if (pnext) {
8200 pnext->sType = stype;
8201 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8202 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_partial_temp(dec, (VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
8203 }
8204 break;
8205 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
8206 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT));
8207 if (pnext) {
8208 pnext->sType = stype;
8209 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8210 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
8211 }
8212 break;
8213 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
8214 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceInlineUniformBlockFeatures));
8215 if (pnext) {
8216 pnext->sType = stype;
8217 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8218 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_partial_temp(dec, (VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
8219 }
8220 break;
8221 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
8222 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMaintenance4Features));
8223 if (pnext) {
8224 pnext->sType = stype;
8225 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8226 vn_decode_VkPhysicalDeviceMaintenance4Features_self_partial_temp(dec, (VkPhysicalDeviceMaintenance4Features *)pnext);
8227 }
8228 break;
8229 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
8230 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderDrawParametersFeatures));
8231 if (pnext) {
8232 pnext->sType = stype;
8233 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8234 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_partial_temp(dec, (VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
8235 }
8236 break;
8237 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
8238 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderFloat16Int8Features));
8239 if (pnext) {
8240 pnext->sType = stype;
8241 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8242 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_partial_temp(dec, (VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
8243 }
8244 break;
8245 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
8246 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceHostQueryResetFeatures));
8247 if (pnext) {
8248 pnext->sType = stype;
8249 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8250 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_partial_temp(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext);
8251 }
8252 break;
8253 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
8254 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDescriptorIndexingFeatures));
8255 if (pnext) {
8256 pnext->sType = stype;
8257 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8258 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_partial_temp(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
8259 }
8260 break;
8261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
8262 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures));
8263 if (pnext) {
8264 pnext->sType = stype;
8265 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8266 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_partial_temp(dec, (VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
8267 }
8268 break;
8269 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
8270 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice8BitStorageFeatures));
8271 if (pnext) {
8272 pnext->sType = stype;
8273 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8274 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_partial_temp(dec, (VkPhysicalDevice8BitStorageFeatures *)pnext);
8275 }
8276 break;
8277 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
8278 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT));
8279 if (pnext) {
8280 pnext->sType = stype;
8281 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8282 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
8283 }
8284 break;
8285 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
8286 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures));
8287 if (pnext) {
8288 pnext->sType = stype;
8289 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8290 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_partial_temp(dec, (VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
8291 }
8292 break;
8293 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
8294 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderAtomicInt64Features));
8295 if (pnext) {
8296 pnext->sType = stype;
8297 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8298 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_partial_temp(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
8299 }
8300 break;
8301 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
8302 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT));
8303 if (pnext) {
8304 pnext->sType = stype;
8305 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8306 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
8307 }
8308 break;
8309 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
8310 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT));
8311 if (pnext) {
8312 pnext->sType = stype;
8313 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8314 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
8315 }
8316 break;
8317 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
8318 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures));
8319 if (pnext) {
8320 pnext->sType = stype;
8321 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8322 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_partial_temp(dec, (VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
8323 }
8324 break;
8325 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
8326 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures));
8327 if (pnext) {
8328 pnext->sType = stype;
8329 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8330 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_partial_temp(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
8331 }
8332 break;
8333 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
8334 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT));
8335 if (pnext) {
8336 pnext->sType = stype;
8337 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8338 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
8339 }
8340 break;
8341 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
8342 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures));
8343 if (pnext) {
8344 pnext->sType = stype;
8345 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8346 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_partial_temp(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
8347 }
8348 break;
8349 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
8350 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImagelessFramebufferFeatures));
8351 if (pnext) {
8352 pnext->sType = stype;
8353 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8354 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_partial_temp(dec, (VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
8355 }
8356 break;
8357 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
8358 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures));
8359 if (pnext) {
8360 pnext->sType = stype;
8361 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8362 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_partial_temp(dec, (VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
8363 }
8364 break;
8365 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
8366 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT));
8367 if (pnext) {
8368 pnext->sType = stype;
8369 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8370 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
8371 }
8372 break;
8373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
8374 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures));
8375 if (pnext) {
8376 pnext->sType = stype;
8377 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8378 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_partial_temp(dec, (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
8379 }
8380 break;
8381 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
8382 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT));
8383 if (pnext) {
8384 pnext->sType = stype;
8385 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8386 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_partial_temp(dec, (VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
8387 }
8388 break;
8389 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
8390 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures));
8391 if (pnext) {
8392 pnext->sType = stype;
8393 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8394 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_partial_temp(dec, (VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
8395 }
8396 break;
8397 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
8398 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT));
8399 if (pnext) {
8400 pnext->sType = stype;
8401 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8402 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
8403 }
8404 break;
8405 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
8406 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures));
8407 if (pnext) {
8408 pnext->sType = stype;
8409 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8410 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_partial_temp(dec, (VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
8411 }
8412 break;
8413 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
8414 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT));
8415 if (pnext) {
8416 pnext->sType = stype;
8417 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8418 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
8419 }
8420 break;
8421 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
8422 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures));
8423 if (pnext) {
8424 pnext->sType = stype;
8425 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8426 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_partial_temp(dec, (VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
8427 }
8428 break;
8429 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
8430 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan11Features));
8431 if (pnext) {
8432 pnext->sType = stype;
8433 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8434 vn_decode_VkPhysicalDeviceVulkan11Features_self_partial_temp(dec, (VkPhysicalDeviceVulkan11Features *)pnext);
8435 }
8436 break;
8437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
8438 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan12Features));
8439 if (pnext) {
8440 pnext->sType = stype;
8441 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8442 vn_decode_VkPhysicalDeviceVulkan12Features_self_partial_temp(dec, (VkPhysicalDeviceVulkan12Features *)pnext);
8443 }
8444 break;
8445 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
8446 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan13Features));
8447 if (pnext) {
8448 pnext->sType = stype;
8449 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8450 vn_decode_VkPhysicalDeviceVulkan13Features_self_partial_temp(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
8451 }
8452 break;
8453 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
8454 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
8455 if (pnext) {
8456 pnext->sType = stype;
8457 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8458 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
8459 }
8460 break;
8461 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
8462 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT));
8463 if (pnext) {
8464 pnext->sType = stype;
8465 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8466 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
8467 }
8468 break;
8469 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
8470 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT));
8471 if (pnext) {
8472 pnext->sType = stype;
8473 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8474 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
8475 }
8476 break;
8477 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
8478 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures));
8479 if (pnext) {
8480 pnext->sType = stype;
8481 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8482 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_partial_temp(dec, (VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
8483 }
8484 break;
8485 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
8486 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceRobustness2FeaturesEXT));
8487 if (pnext) {
8488 pnext->sType = stype;
8489 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8490 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
8491 }
8492 break;
8493 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
8494 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageRobustnessFeatures));
8495 if (pnext) {
8496 pnext->sType = stype;
8497 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8498 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_partial_temp(dec, (VkPhysicalDeviceImageRobustnessFeatures *)pnext);
8499 }
8500 break;
8501 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
8502 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice4444FormatsFeaturesEXT));
8503 if (pnext) {
8504 pnext->sType = stype;
8505 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8506 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_partial_temp(dec, (VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
8507 }
8508 break;
8509 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
8510 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures));
8511 if (pnext) {
8512 pnext->sType = stype;
8513 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8514 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_partial_temp(dec, (VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
8515 }
8516 break;
8517 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
8518 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT));
8519 if (pnext) {
8520 pnext->sType = stype;
8521 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8522 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
8523 }
8524 break;
8525 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
8526 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT));
8527 if (pnext) {
8528 pnext->sType = stype;
8529 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8530 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
8531 }
8532 break;
8533 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
8534 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSynchronization2Features));
8535 if (pnext) {
8536 pnext->sType = stype;
8537 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8538 vn_decode_VkPhysicalDeviceSynchronization2Features_self_partial_temp(dec, (VkPhysicalDeviceSynchronization2Features *)pnext);
8539 }
8540 break;
8541 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
8542 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT));
8543 if (pnext) {
8544 pnext->sType = stype;
8545 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8546 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_partial_temp(dec, (VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
8547 }
8548 break;
8549 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
8550 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT));
8551 if (pnext) {
8552 pnext->sType = stype;
8553 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8554 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
8555 }
8556 break;
8557 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
8558 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT));
8559 if (pnext) {
8560 pnext->sType = stype;
8561 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8562 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
8563 }
8564 break;
8565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
8566 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures));
8567 if (pnext) {
8568 pnext->sType = stype;
8569 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8570 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_partial_temp(dec, (VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
8571 }
8572 break;
8573 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
8574 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDynamicRenderingFeatures));
8575 if (pnext) {
8576 pnext->sType = stype;
8577 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8578 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_partial_temp(dec, (VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
8579 }
8580 break;
8581 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
8582 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT));
8583 if (pnext) {
8584 pnext->sType = stype;
8585 pnext->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8586 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_partial_temp(dec, (VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
8587 }
8588 break;
8589 default:
8590 /* unexpected struct */
8591 pnext = NULL;
8592 vn_cs_decoder_set_fatal(dec);
8593 break;
8594 }
8595
8596 return pnext;
8597 }
8598
8599 static inline void
vn_decode_VkPhysicalDeviceFeatures2_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFeatures2 * val)8600 vn_decode_VkPhysicalDeviceFeatures2_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
8601 {
8602 /* skip val->{sType,pNext} */
8603 vn_decode_VkPhysicalDeviceFeatures_partial_temp(dec, &val->features);
8604 }
8605
8606 static inline void
vn_decode_VkPhysicalDeviceFeatures2_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFeatures2 * val)8607 vn_decode_VkPhysicalDeviceFeatures2_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFeatures2 *val)
8608 {
8609 VkStructureType stype;
8610 vn_decode_VkStructureType(dec, &stype);
8611 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2)
8612 vn_cs_decoder_set_fatal(dec);
8613
8614 val->sType = stype;
8615 val->pNext = vn_decode_VkPhysicalDeviceFeatures2_pnext_partial_temp(dec);
8616 vn_decode_VkPhysicalDeviceFeatures2_self_partial_temp(dec, val);
8617 }
8618
8619 static inline void
vn_replace_VkPhysicalDeviceFeatures2_handle_self(VkPhysicalDeviceFeatures2 * val)8620 vn_replace_VkPhysicalDeviceFeatures2_handle_self(VkPhysicalDeviceFeatures2 *val)
8621 {
8622 /* skip val->sType */
8623 /* skip val->pNext */
8624 vn_replace_VkPhysicalDeviceFeatures_handle(&val->features);
8625 }
8626
8627 static inline void
vn_replace_VkPhysicalDeviceFeatures2_handle(VkPhysicalDeviceFeatures2 * val)8628 vn_replace_VkPhysicalDeviceFeatures2_handle(VkPhysicalDeviceFeatures2 *val)
8629 {
8630 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
8631
8632 do {
8633 switch ((int32_t)pnext->sType) {
8634 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
8635 vn_replace_VkPhysicalDeviceFeatures2_handle_self((VkPhysicalDeviceFeatures2 *)pnext);
8636 break;
8637 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
8638 vn_replace_VkPhysicalDevicePrivateDataFeatures_handle_self((VkPhysicalDevicePrivateDataFeatures *)pnext);
8639 break;
8640 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
8641 vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle_self((VkPhysicalDeviceVariablePointersFeatures *)pnext);
8642 break;
8643 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
8644 vn_replace_VkPhysicalDeviceMultiviewFeatures_handle_self((VkPhysicalDeviceMultiviewFeatures *)pnext);
8645 break;
8646 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
8647 vn_replace_VkPhysicalDevice16BitStorageFeatures_handle_self((VkPhysicalDevice16BitStorageFeatures *)pnext);
8648 break;
8649 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
8650 vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle_self((VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
8651 break;
8652 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
8653 vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle_self((VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
8654 break;
8655 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
8656 vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle_self((VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
8657 break;
8658 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
8659 vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle_self((VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
8660 break;
8661 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
8662 vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle_self((VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
8663 break;
8664 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
8665 vn_replace_VkPhysicalDeviceMaintenance4Features_handle_self((VkPhysicalDeviceMaintenance4Features *)pnext);
8666 break;
8667 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
8668 vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle_self((VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
8669 break;
8670 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
8671 vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle_self((VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
8672 break;
8673 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
8674 vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle_self((VkPhysicalDeviceHostQueryResetFeatures *)pnext);
8675 break;
8676 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
8677 vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle_self((VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
8678 break;
8679 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
8680 vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle_self((VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
8681 break;
8682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
8683 vn_replace_VkPhysicalDevice8BitStorageFeatures_handle_self((VkPhysicalDevice8BitStorageFeatures *)pnext);
8684 break;
8685 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
8686 vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle_self((VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
8687 break;
8688 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
8689 vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle_self((VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
8690 break;
8691 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
8692 vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle_self((VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
8693 break;
8694 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
8695 vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle_self((VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
8696 break;
8697 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
8698 vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle_self((VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
8699 break;
8700 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
8701 vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle_self((VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
8702 break;
8703 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
8704 vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle_self((VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
8705 break;
8706 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
8707 vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle_self((VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
8708 break;
8709 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
8710 vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle_self((VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
8711 break;
8712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
8713 vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle_self((VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
8714 break;
8715 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
8716 vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle_self((VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
8717 break;
8718 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
8719 vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle_self((VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
8720 break;
8721 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
8722 vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle_self((VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
8723 break;
8724 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
8725 vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle_self((VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
8726 break;
8727 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
8728 vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle_self((VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
8729 break;
8730 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
8731 vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle_self((VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
8732 break;
8733 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
8734 vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle_self((VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
8735 break;
8736 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
8737 vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle_self((VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
8738 break;
8739 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
8740 vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle_self((VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
8741 break;
8742 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
8743 vn_replace_VkPhysicalDeviceVulkan11Features_handle_self((VkPhysicalDeviceVulkan11Features *)pnext);
8744 break;
8745 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
8746 vn_replace_VkPhysicalDeviceVulkan12Features_handle_self((VkPhysicalDeviceVulkan12Features *)pnext);
8747 break;
8748 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
8749 vn_replace_VkPhysicalDeviceVulkan13Features_handle_self((VkPhysicalDeviceVulkan13Features *)pnext);
8750 break;
8751 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
8752 vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self((VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
8753 break;
8754 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
8755 vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
8756 break;
8757 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
8758 vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
8759 break;
8760 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
8761 vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle_self((VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
8762 break;
8763 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
8764 vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle_self((VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
8765 break;
8766 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
8767 vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle_self((VkPhysicalDeviceImageRobustnessFeatures *)pnext);
8768 break;
8769 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
8770 vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle_self((VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
8771 break;
8772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
8773 vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle_self((VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
8774 break;
8775 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
8776 vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle_self((VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
8777 break;
8778 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
8779 vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle_self((VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
8780 break;
8781 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
8782 vn_replace_VkPhysicalDeviceSynchronization2Features_handle_self((VkPhysicalDeviceSynchronization2Features *)pnext);
8783 break;
8784 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
8785 vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle_self((VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
8786 break;
8787 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
8788 vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle_self((VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
8789 break;
8790 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
8791 vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle_self((VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
8792 break;
8793 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
8794 vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle_self((VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
8795 break;
8796 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
8797 vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle_self((VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
8798 break;
8799 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
8800 vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle_self((VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
8801 break;
8802 default:
8803 /* ignore unknown/unsupported struct */
8804 break;
8805 }
8806 pnext = pnext->pNext;
8807 } while (pnext);
8808 }
8809
8810 /* struct VkDeviceGroupDeviceCreateInfo chain */
8811
8812 static inline void *
vn_decode_VkDeviceGroupDeviceCreateInfo_pnext_temp(struct vn_cs_decoder * dec)8813 vn_decode_VkDeviceGroupDeviceCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
8814 {
8815 /* no known/supported struct */
8816 if (vn_decode_simple_pointer(dec))
8817 vn_cs_decoder_set_fatal(dec);
8818 return NULL;
8819 }
8820
8821 static inline void
vn_decode_VkDeviceGroupDeviceCreateInfo_self_temp(struct vn_cs_decoder * dec,VkDeviceGroupDeviceCreateInfo * val)8822 vn_decode_VkDeviceGroupDeviceCreateInfo_self_temp(struct vn_cs_decoder *dec, VkDeviceGroupDeviceCreateInfo *val)
8823 {
8824 /* skip val->{sType,pNext} */
8825 vn_decode_uint32_t(dec, &val->physicalDeviceCount);
8826 if (vn_peek_array_size(dec)) {
8827 const uint32_t iter_count = vn_decode_array_size(dec, val->physicalDeviceCount);
8828 val->pPhysicalDevices = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pPhysicalDevices) * iter_count);
8829 if (!val->pPhysicalDevices) return;
8830 for (uint32_t i = 0; i < iter_count; i++)
8831 vn_decode_VkPhysicalDevice_lookup(dec, &((VkPhysicalDevice *)val->pPhysicalDevices)[i]);
8832 } else {
8833 vn_decode_array_size(dec, val->physicalDeviceCount);
8834 val->pPhysicalDevices = NULL;
8835 }
8836 }
8837
8838 static inline void
vn_decode_VkDeviceGroupDeviceCreateInfo_temp(struct vn_cs_decoder * dec,VkDeviceGroupDeviceCreateInfo * val)8839 vn_decode_VkDeviceGroupDeviceCreateInfo_temp(struct vn_cs_decoder *dec, VkDeviceGroupDeviceCreateInfo *val)
8840 {
8841 VkStructureType stype;
8842 vn_decode_VkStructureType(dec, &stype);
8843 if (stype != VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO)
8844 vn_cs_decoder_set_fatal(dec);
8845
8846 val->sType = stype;
8847 val->pNext = vn_decode_VkDeviceGroupDeviceCreateInfo_pnext_temp(dec);
8848 vn_decode_VkDeviceGroupDeviceCreateInfo_self_temp(dec, val);
8849 }
8850
8851 static inline void
vn_replace_VkDeviceGroupDeviceCreateInfo_handle_self(VkDeviceGroupDeviceCreateInfo * val)8852 vn_replace_VkDeviceGroupDeviceCreateInfo_handle_self(VkDeviceGroupDeviceCreateInfo *val)
8853 {
8854 /* skip val->sType */
8855 /* skip val->pNext */
8856 /* skip val->physicalDeviceCount */
8857 if (val->pPhysicalDevices) {
8858 for (uint32_t i = 0; i < val->physicalDeviceCount; i++)
8859 vn_replace_VkPhysicalDevice_handle(&((VkPhysicalDevice *)val->pPhysicalDevices)[i]);
8860 }
8861 }
8862
8863 static inline void
vn_replace_VkDeviceGroupDeviceCreateInfo_handle(VkDeviceGroupDeviceCreateInfo * val)8864 vn_replace_VkDeviceGroupDeviceCreateInfo_handle(VkDeviceGroupDeviceCreateInfo *val)
8865 {
8866 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
8867
8868 do {
8869 switch ((int32_t)pnext->sType) {
8870 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
8871 vn_replace_VkDeviceGroupDeviceCreateInfo_handle_self((VkDeviceGroupDeviceCreateInfo *)pnext);
8872 break;
8873 default:
8874 /* ignore unknown/unsupported struct */
8875 break;
8876 }
8877 pnext = pnext->pNext;
8878 } while (pnext);
8879 }
8880
8881 /* struct VkDeviceCreateInfo chain */
8882
8883 static inline void *
vn_decode_VkDeviceCreateInfo_pnext_temp(struct vn_cs_decoder * dec)8884 vn_decode_VkDeviceCreateInfo_pnext_temp(struct vn_cs_decoder *dec)
8885 {
8886 VkBaseOutStructure *pnext;
8887 VkStructureType stype;
8888
8889 if (!vn_decode_simple_pointer(dec))
8890 return NULL;
8891
8892 vn_decode_VkStructureType(dec, &stype);
8893 switch ((int32_t)stype) {
8894 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
8895 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDevicePrivateDataCreateInfo));
8896 if (pnext) {
8897 pnext->sType = stype;
8898 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8899 vn_decode_VkDevicePrivateDataCreateInfo_self_temp(dec, (VkDevicePrivateDataCreateInfo *)pnext);
8900 }
8901 break;
8902 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
8903 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrivateDataFeatures));
8904 if (pnext) {
8905 pnext->sType = stype;
8906 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8907 vn_decode_VkPhysicalDevicePrivateDataFeatures_self_temp(dec, (VkPhysicalDevicePrivateDataFeatures *)pnext);
8908 }
8909 break;
8910 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
8911 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceFeatures2));
8912 if (pnext) {
8913 pnext->sType = stype;
8914 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8915 vn_decode_VkPhysicalDeviceFeatures2_self_temp(dec, (VkPhysicalDeviceFeatures2 *)pnext);
8916 }
8917 break;
8918 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
8919 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVariablePointersFeatures));
8920 if (pnext) {
8921 pnext->sType = stype;
8922 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8923 vn_decode_VkPhysicalDeviceVariablePointersFeatures_self_temp(dec, (VkPhysicalDeviceVariablePointersFeatures *)pnext);
8924 }
8925 break;
8926 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
8927 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiviewFeatures));
8928 if (pnext) {
8929 pnext->sType = stype;
8930 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8931 vn_decode_VkPhysicalDeviceMultiviewFeatures_self_temp(dec, (VkPhysicalDeviceMultiviewFeatures *)pnext);
8932 }
8933 break;
8934 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
8935 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDeviceGroupDeviceCreateInfo));
8936 if (pnext) {
8937 pnext->sType = stype;
8938 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8939 vn_decode_VkDeviceGroupDeviceCreateInfo_self_temp(dec, (VkDeviceGroupDeviceCreateInfo *)pnext);
8940 }
8941 break;
8942 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
8943 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice16BitStorageFeatures));
8944 if (pnext) {
8945 pnext->sType = stype;
8946 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8947 vn_decode_VkPhysicalDevice16BitStorageFeatures_self_temp(dec, (VkPhysicalDevice16BitStorageFeatures *)pnext);
8948 }
8949 break;
8950 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
8951 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures));
8952 if (pnext) {
8953 pnext->sType = stype;
8954 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8955 vn_decode_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_self_temp(dec, (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
8956 }
8957 break;
8958 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
8959 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures));
8960 if (pnext) {
8961 pnext->sType = stype;
8962 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8963 vn_decode_VkPhysicalDeviceSamplerYcbcrConversionFeatures_self_temp(dec, (VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
8964 }
8965 break;
8966 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
8967 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProtectedMemoryFeatures));
8968 if (pnext) {
8969 pnext->sType = stype;
8970 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8971 vn_decode_VkPhysicalDeviceProtectedMemoryFeatures_self_temp(dec, (VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
8972 }
8973 break;
8974 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
8975 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT));
8976 if (pnext) {
8977 pnext->sType = stype;
8978 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8979 vn_decode_VkPhysicalDeviceMultiDrawFeaturesEXT_self_temp(dec, (VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
8980 }
8981 break;
8982 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
8983 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceInlineUniformBlockFeatures));
8984 if (pnext) {
8985 pnext->sType = stype;
8986 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8987 vn_decode_VkPhysicalDeviceInlineUniformBlockFeatures_self_temp(dec, (VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
8988 }
8989 break;
8990 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
8991 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMaintenance4Features));
8992 if (pnext) {
8993 pnext->sType = stype;
8994 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
8995 vn_decode_VkPhysicalDeviceMaintenance4Features_self_temp(dec, (VkPhysicalDeviceMaintenance4Features *)pnext);
8996 }
8997 break;
8998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
8999 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderDrawParametersFeatures));
9000 if (pnext) {
9001 pnext->sType = stype;
9002 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9003 vn_decode_VkPhysicalDeviceShaderDrawParametersFeatures_self_temp(dec, (VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
9004 }
9005 break;
9006 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
9007 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderFloat16Int8Features));
9008 if (pnext) {
9009 pnext->sType = stype;
9010 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9011 vn_decode_VkPhysicalDeviceShaderFloat16Int8Features_self_temp(dec, (VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
9012 }
9013 break;
9014 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
9015 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceHostQueryResetFeatures));
9016 if (pnext) {
9017 pnext->sType = stype;
9018 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9019 vn_decode_VkPhysicalDeviceHostQueryResetFeatures_self_temp(dec, (VkPhysicalDeviceHostQueryResetFeatures *)pnext);
9020 }
9021 break;
9022 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
9023 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDescriptorIndexingFeatures));
9024 if (pnext) {
9025 pnext->sType = stype;
9026 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9027 vn_decode_VkPhysicalDeviceDescriptorIndexingFeatures_self_temp(dec, (VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
9028 }
9029 break;
9030 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
9031 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures));
9032 if (pnext) {
9033 pnext->sType = stype;
9034 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9035 vn_decode_VkPhysicalDeviceTimelineSemaphoreFeatures_self_temp(dec, (VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
9036 }
9037 break;
9038 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
9039 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice8BitStorageFeatures));
9040 if (pnext) {
9041 pnext->sType = stype;
9042 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9043 vn_decode_VkPhysicalDevice8BitStorageFeatures_self_temp(dec, (VkPhysicalDevice8BitStorageFeatures *)pnext);
9044 }
9045 break;
9046 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
9047 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT));
9048 if (pnext) {
9049 pnext->sType = stype;
9050 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9051 vn_decode_VkPhysicalDeviceConditionalRenderingFeaturesEXT_self_temp(dec, (VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
9052 }
9053 break;
9054 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
9055 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures));
9056 if (pnext) {
9057 pnext->sType = stype;
9058 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9059 vn_decode_VkPhysicalDeviceVulkanMemoryModelFeatures_self_temp(dec, (VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
9060 }
9061 break;
9062 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
9063 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderAtomicInt64Features));
9064 if (pnext) {
9065 pnext->sType = stype;
9066 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9067 vn_decode_VkPhysicalDeviceShaderAtomicInt64Features_self_temp(dec, (VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
9068 }
9069 break;
9070 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
9071 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT));
9072 if (pnext) {
9073 pnext->sType = stype;
9074 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9075 vn_decode_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_self_temp(dec, (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
9076 }
9077 break;
9078 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
9079 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT));
9080 if (pnext) {
9081 pnext->sType = stype;
9082 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9083 vn_decode_VkPhysicalDeviceTransformFeedbackFeaturesEXT_self_temp(dec, (VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
9084 }
9085 break;
9086 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
9087 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures));
9088 if (pnext) {
9089 pnext->sType = stype;
9090 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9091 vn_decode_VkPhysicalDeviceScalarBlockLayoutFeatures_self_temp(dec, (VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
9092 }
9093 break;
9094 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
9095 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures));
9096 if (pnext) {
9097 pnext->sType = stype;
9098 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9099 vn_decode_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_self_temp(dec, (VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
9100 }
9101 break;
9102 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
9103 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT));
9104 if (pnext) {
9105 pnext->sType = stype;
9106 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9107 vn_decode_VkPhysicalDeviceDepthClipEnableFeaturesEXT_self_temp(dec, (VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
9108 }
9109 break;
9110 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
9111 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures));
9112 if (pnext) {
9113 pnext->sType = stype;
9114 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9115 vn_decode_VkPhysicalDeviceBufferDeviceAddressFeatures_self_temp(dec, (VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
9116 }
9117 break;
9118 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
9119 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImagelessFramebufferFeatures));
9120 if (pnext) {
9121 pnext->sType = stype;
9122 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9123 vn_decode_VkPhysicalDeviceImagelessFramebufferFeatures_self_temp(dec, (VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
9124 }
9125 break;
9126 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
9127 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures));
9128 if (pnext) {
9129 pnext->sType = stype;
9130 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9131 vn_decode_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_self_temp(dec, (VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
9132 }
9133 break;
9134 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
9135 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT));
9136 if (pnext) {
9137 pnext->sType = stype;
9138 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9139 vn_decode_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_self_temp(dec, (VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
9140 }
9141 break;
9142 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
9143 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures));
9144 if (pnext) {
9145 pnext->sType = stype;
9146 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9147 vn_decode_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_self_temp(dec, (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
9148 }
9149 break;
9150 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
9151 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT));
9152 if (pnext) {
9153 pnext->sType = stype;
9154 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9155 vn_decode_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_self_temp(dec, (VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
9156 }
9157 break;
9158 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
9159 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures));
9160 if (pnext) {
9161 pnext->sType = stype;
9162 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9163 vn_decode_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_self_temp(dec, (VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
9164 }
9165 break;
9166 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
9167 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT));
9168 if (pnext) {
9169 pnext->sType = stype;
9170 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9171 vn_decode_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_self_temp(dec, (VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
9172 }
9173 break;
9174 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
9175 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures));
9176 if (pnext) {
9177 pnext->sType = stype;
9178 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9179 vn_decode_VkPhysicalDeviceSubgroupSizeControlFeatures_self_temp(dec, (VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
9180 }
9181 break;
9182 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
9183 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT));
9184 if (pnext) {
9185 pnext->sType = stype;
9186 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9187 vn_decode_VkPhysicalDeviceLineRasterizationFeaturesEXT_self_temp(dec, (VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
9188 }
9189 break;
9190 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
9191 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures));
9192 if (pnext) {
9193 pnext->sType = stype;
9194 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9195 vn_decode_VkPhysicalDevicePipelineCreationCacheControlFeatures_self_temp(dec, (VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
9196 }
9197 break;
9198 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
9199 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan11Features));
9200 if (pnext) {
9201 pnext->sType = stype;
9202 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9203 vn_decode_VkPhysicalDeviceVulkan11Features_self_temp(dec, (VkPhysicalDeviceVulkan11Features *)pnext);
9204 }
9205 break;
9206 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
9207 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan12Features));
9208 if (pnext) {
9209 pnext->sType = stype;
9210 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9211 vn_decode_VkPhysicalDeviceVulkan12Features_self_temp(dec, (VkPhysicalDeviceVulkan12Features *)pnext);
9212 }
9213 break;
9214 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
9215 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan13Features));
9216 if (pnext) {
9217 pnext->sType = stype;
9218 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9219 vn_decode_VkPhysicalDeviceVulkan13Features_self_temp(dec, (VkPhysicalDeviceVulkan13Features *)pnext);
9220 }
9221 break;
9222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
9223 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
9224 if (pnext) {
9225 pnext->sType = stype;
9226 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9227 vn_decode_VkPhysicalDeviceCustomBorderColorFeaturesEXT_self_temp(dec, (VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
9228 }
9229 break;
9230 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
9231 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT));
9232 if (pnext) {
9233 pnext->sType = stype;
9234 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9235 vn_decode_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_self_temp(dec, (VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
9236 }
9237 break;
9238 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
9239 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT));
9240 if (pnext) {
9241 pnext->sType = stype;
9242 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9243 vn_decode_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_self_temp(dec, (VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
9244 }
9245 break;
9246 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
9247 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures));
9248 if (pnext) {
9249 pnext->sType = stype;
9250 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9251 vn_decode_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_self_temp(dec, (VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
9252 }
9253 break;
9254 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
9255 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceRobustness2FeaturesEXT));
9256 if (pnext) {
9257 pnext->sType = stype;
9258 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9259 vn_decode_VkPhysicalDeviceRobustness2FeaturesEXT_self_temp(dec, (VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
9260 }
9261 break;
9262 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
9263 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageRobustnessFeatures));
9264 if (pnext) {
9265 pnext->sType = stype;
9266 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9267 vn_decode_VkPhysicalDeviceImageRobustnessFeatures_self_temp(dec, (VkPhysicalDeviceImageRobustnessFeatures *)pnext);
9268 }
9269 break;
9270 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
9271 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevice4444FormatsFeaturesEXT));
9272 if (pnext) {
9273 pnext->sType = stype;
9274 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9275 vn_decode_VkPhysicalDevice4444FormatsFeaturesEXT_self_temp(dec, (VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
9276 }
9277 break;
9278 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
9279 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures));
9280 if (pnext) {
9281 pnext->sType = stype;
9282 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9283 vn_decode_VkPhysicalDeviceShaderTerminateInvocationFeatures_self_temp(dec, (VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
9284 }
9285 break;
9286 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
9287 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT));
9288 if (pnext) {
9289 pnext->sType = stype;
9290 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9291 vn_decode_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_self_temp(dec, (VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
9292 }
9293 break;
9294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
9295 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT));
9296 if (pnext) {
9297 pnext->sType = stype;
9298 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9299 vn_decode_VkPhysicalDeviceDepthClipControlFeaturesEXT_self_temp(dec, (VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
9300 }
9301 break;
9302 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
9303 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSynchronization2Features));
9304 if (pnext) {
9305 pnext->sType = stype;
9306 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9307 vn_decode_VkPhysicalDeviceSynchronization2Features_self_temp(dec, (VkPhysicalDeviceSynchronization2Features *)pnext);
9308 }
9309 break;
9310 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
9311 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT));
9312 if (pnext) {
9313 pnext->sType = stype;
9314 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9315 vn_decode_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_self_temp(dec, (VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
9316 }
9317 break;
9318 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
9319 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT));
9320 if (pnext) {
9321 pnext->sType = stype;
9322 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9323 vn_decode_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_self_temp(dec, (VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
9324 }
9325 break;
9326 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
9327 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT));
9328 if (pnext) {
9329 pnext->sType = stype;
9330 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9331 vn_decode_VkPhysicalDeviceProvokingVertexFeaturesEXT_self_temp(dec, (VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
9332 }
9333 break;
9334 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
9335 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures));
9336 if (pnext) {
9337 pnext->sType = stype;
9338 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9339 vn_decode_VkPhysicalDeviceShaderIntegerDotProductFeatures_self_temp(dec, (VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
9340 }
9341 break;
9342 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
9343 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDynamicRenderingFeatures));
9344 if (pnext) {
9345 pnext->sType = stype;
9346 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9347 vn_decode_VkPhysicalDeviceDynamicRenderingFeatures_self_temp(dec, (VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
9348 }
9349 break;
9350 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
9351 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT));
9352 if (pnext) {
9353 pnext->sType = stype;
9354 pnext->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9355 vn_decode_VkPhysicalDeviceImageViewMinLodFeaturesEXT_self_temp(dec, (VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
9356 }
9357 break;
9358 default:
9359 /* unexpected struct */
9360 pnext = NULL;
9361 vn_cs_decoder_set_fatal(dec);
9362 break;
9363 }
9364
9365 return pnext;
9366 }
9367
9368 static inline void
vn_decode_VkDeviceCreateInfo_self_temp(struct vn_cs_decoder * dec,VkDeviceCreateInfo * val)9369 vn_decode_VkDeviceCreateInfo_self_temp(struct vn_cs_decoder *dec, VkDeviceCreateInfo *val)
9370 {
9371 /* skip val->{sType,pNext} */
9372 vn_decode_VkFlags(dec, &val->flags);
9373 vn_decode_uint32_t(dec, &val->queueCreateInfoCount);
9374 if (vn_peek_array_size(dec)) {
9375 const uint32_t iter_count = vn_decode_array_size(dec, val->queueCreateInfoCount);
9376 val->pQueueCreateInfos = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pQueueCreateInfos) * iter_count);
9377 if (!val->pQueueCreateInfos) return;
9378 for (uint32_t i = 0; i < iter_count; i++)
9379 vn_decode_VkDeviceQueueCreateInfo_temp(dec, &((VkDeviceQueueCreateInfo *)val->pQueueCreateInfos)[i]);
9380 } else {
9381 vn_decode_array_size(dec, val->queueCreateInfoCount);
9382 val->pQueueCreateInfos = NULL;
9383 }
9384 vn_decode_uint32_t(dec, &val->enabledLayerCount);
9385 if (vn_peek_array_size(dec)) {
9386 const uint32_t iter_count = vn_decode_array_size(dec, val->enabledLayerCount);
9387 val->ppEnabledLayerNames = vn_cs_decoder_alloc_temp(dec, sizeof(*val->ppEnabledLayerNames) * iter_count);
9388 if (!val->ppEnabledLayerNames) return;
9389 for (uint32_t i = 0; i < iter_count; i++) {
9390 const size_t string_size = vn_decode_array_size_unchecked(dec);
9391 ((char **)val->ppEnabledLayerNames)[i] = vn_cs_decoder_alloc_temp(dec, sizeof(*val->ppEnabledLayerNames[i]) * string_size);
9392 if (!val->ppEnabledLayerNames[i]) return;
9393 vn_decode_char_array(dec, ((char **)val->ppEnabledLayerNames)[i], string_size);
9394 }
9395 } else {
9396 vn_decode_array_size(dec, val->enabledLayerCount);
9397 val->ppEnabledLayerNames = NULL;
9398 }
9399 vn_decode_uint32_t(dec, &val->enabledExtensionCount);
9400 if (vn_peek_array_size(dec)) {
9401 const uint32_t iter_count = vn_decode_array_size(dec, val->enabledExtensionCount);
9402 val->ppEnabledExtensionNames = vn_cs_decoder_alloc_temp(dec, sizeof(*val->ppEnabledExtensionNames) * iter_count);
9403 if (!val->ppEnabledExtensionNames) return;
9404 for (uint32_t i = 0; i < iter_count; i++) {
9405 const size_t string_size = vn_decode_array_size_unchecked(dec);
9406 ((char **)val->ppEnabledExtensionNames)[i] = vn_cs_decoder_alloc_temp(dec, sizeof(*val->ppEnabledExtensionNames[i]) * string_size);
9407 if (!val->ppEnabledExtensionNames[i]) return;
9408 vn_decode_char_array(dec, ((char **)val->ppEnabledExtensionNames)[i], string_size);
9409 }
9410 } else {
9411 vn_decode_array_size(dec, val->enabledExtensionCount);
9412 val->ppEnabledExtensionNames = NULL;
9413 }
9414 if (vn_decode_simple_pointer(dec)) {
9415 val->pEnabledFeatures = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pEnabledFeatures));
9416 if (!val->pEnabledFeatures) return;
9417 vn_decode_VkPhysicalDeviceFeatures_temp(dec, (VkPhysicalDeviceFeatures *)val->pEnabledFeatures);
9418 } else {
9419 val->pEnabledFeatures = NULL;
9420 }
9421 }
9422
9423 static inline void
vn_decode_VkDeviceCreateInfo_temp(struct vn_cs_decoder * dec,VkDeviceCreateInfo * val)9424 vn_decode_VkDeviceCreateInfo_temp(struct vn_cs_decoder *dec, VkDeviceCreateInfo *val)
9425 {
9426 VkStructureType stype;
9427 vn_decode_VkStructureType(dec, &stype);
9428 if (stype != VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO)
9429 vn_cs_decoder_set_fatal(dec);
9430
9431 val->sType = stype;
9432 val->pNext = vn_decode_VkDeviceCreateInfo_pnext_temp(dec);
9433 vn_decode_VkDeviceCreateInfo_self_temp(dec, val);
9434 }
9435
9436 static inline void
vn_replace_VkDeviceCreateInfo_handle_self(VkDeviceCreateInfo * val)9437 vn_replace_VkDeviceCreateInfo_handle_self(VkDeviceCreateInfo *val)
9438 {
9439 /* skip val->sType */
9440 /* skip val->pNext */
9441 /* skip val->flags */
9442 /* skip val->queueCreateInfoCount */
9443 if (val->pQueueCreateInfos) {
9444 for (uint32_t i = 0; i < val->queueCreateInfoCount; i++)
9445 vn_replace_VkDeviceQueueCreateInfo_handle(&((VkDeviceQueueCreateInfo *)val->pQueueCreateInfos)[i]);
9446 }
9447 /* skip val->enabledLayerCount */
9448 /* skip val->ppEnabledLayerNames */
9449 /* skip val->enabledExtensionCount */
9450 /* skip val->ppEnabledExtensionNames */
9451 if (val->pEnabledFeatures)
9452 vn_replace_VkPhysicalDeviceFeatures_handle((VkPhysicalDeviceFeatures *)val->pEnabledFeatures);
9453 }
9454
9455 static inline void
vn_replace_VkDeviceCreateInfo_handle(VkDeviceCreateInfo * val)9456 vn_replace_VkDeviceCreateInfo_handle(VkDeviceCreateInfo *val)
9457 {
9458 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
9459
9460 do {
9461 switch ((int32_t)pnext->sType) {
9462 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO:
9463 vn_replace_VkDeviceCreateInfo_handle_self((VkDeviceCreateInfo *)pnext);
9464 break;
9465 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO:
9466 vn_replace_VkDevicePrivateDataCreateInfo_handle_self((VkDevicePrivateDataCreateInfo *)pnext);
9467 break;
9468 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:
9469 vn_replace_VkPhysicalDevicePrivateDataFeatures_handle_self((VkPhysicalDevicePrivateDataFeatures *)pnext);
9470 break;
9471 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2:
9472 vn_replace_VkPhysicalDeviceFeatures2_handle_self((VkPhysicalDeviceFeatures2 *)pnext);
9473 break;
9474 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
9475 vn_replace_VkPhysicalDeviceVariablePointersFeatures_handle_self((VkPhysicalDeviceVariablePointersFeatures *)pnext);
9476 break;
9477 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES:
9478 vn_replace_VkPhysicalDeviceMultiviewFeatures_handle_self((VkPhysicalDeviceMultiviewFeatures *)pnext);
9479 break;
9480 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO:
9481 vn_replace_VkDeviceGroupDeviceCreateInfo_handle_self((VkDeviceGroupDeviceCreateInfo *)pnext);
9482 break;
9483 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES:
9484 vn_replace_VkPhysicalDevice16BitStorageFeatures_handle_self((VkPhysicalDevice16BitStorageFeatures *)pnext);
9485 break;
9486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES:
9487 vn_replace_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures_handle_self((VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *)pnext);
9488 break;
9489 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES:
9490 vn_replace_VkPhysicalDeviceSamplerYcbcrConversionFeatures_handle_self((VkPhysicalDeviceSamplerYcbcrConversionFeatures *)pnext);
9491 break;
9492 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES:
9493 vn_replace_VkPhysicalDeviceProtectedMemoryFeatures_handle_self((VkPhysicalDeviceProtectedMemoryFeatures *)pnext);
9494 break;
9495 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:
9496 vn_replace_VkPhysicalDeviceMultiDrawFeaturesEXT_handle_self((VkPhysicalDeviceMultiDrawFeaturesEXT *)pnext);
9497 break;
9498 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES:
9499 vn_replace_VkPhysicalDeviceInlineUniformBlockFeatures_handle_self((VkPhysicalDeviceInlineUniformBlockFeatures *)pnext);
9500 break;
9501 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES:
9502 vn_replace_VkPhysicalDeviceMaintenance4Features_handle_self((VkPhysicalDeviceMaintenance4Features *)pnext);
9503 break;
9504 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES:
9505 vn_replace_VkPhysicalDeviceShaderDrawParametersFeatures_handle_self((VkPhysicalDeviceShaderDrawParametersFeatures *)pnext);
9506 break;
9507 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES:
9508 vn_replace_VkPhysicalDeviceShaderFloat16Int8Features_handle_self((VkPhysicalDeviceShaderFloat16Int8Features *)pnext);
9509 break;
9510 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES:
9511 vn_replace_VkPhysicalDeviceHostQueryResetFeatures_handle_self((VkPhysicalDeviceHostQueryResetFeatures *)pnext);
9512 break;
9513 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES:
9514 vn_replace_VkPhysicalDeviceDescriptorIndexingFeatures_handle_self((VkPhysicalDeviceDescriptorIndexingFeatures *)pnext);
9515 break;
9516 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES:
9517 vn_replace_VkPhysicalDeviceTimelineSemaphoreFeatures_handle_self((VkPhysicalDeviceTimelineSemaphoreFeatures *)pnext);
9518 break;
9519 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES:
9520 vn_replace_VkPhysicalDevice8BitStorageFeatures_handle_self((VkPhysicalDevice8BitStorageFeatures *)pnext);
9521 break;
9522 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT:
9523 vn_replace_VkPhysicalDeviceConditionalRenderingFeaturesEXT_handle_self((VkPhysicalDeviceConditionalRenderingFeaturesEXT *)pnext);
9524 break;
9525 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES:
9526 vn_replace_VkPhysicalDeviceVulkanMemoryModelFeatures_handle_self((VkPhysicalDeviceVulkanMemoryModelFeatures *)pnext);
9527 break;
9528 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES:
9529 vn_replace_VkPhysicalDeviceShaderAtomicInt64Features_handle_self((VkPhysicalDeviceShaderAtomicInt64Features *)pnext);
9530 break;
9531 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT:
9532 vn_replace_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT_handle_self((VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT *)pnext);
9533 break;
9534 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT:
9535 vn_replace_VkPhysicalDeviceTransformFeedbackFeaturesEXT_handle_self((VkPhysicalDeviceTransformFeedbackFeaturesEXT *)pnext);
9536 break;
9537 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES:
9538 vn_replace_VkPhysicalDeviceScalarBlockLayoutFeatures_handle_self((VkPhysicalDeviceScalarBlockLayoutFeatures *)pnext);
9539 break;
9540 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES:
9541 vn_replace_VkPhysicalDeviceUniformBufferStandardLayoutFeatures_handle_self((VkPhysicalDeviceUniformBufferStandardLayoutFeatures *)pnext);
9542 break;
9543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT:
9544 vn_replace_VkPhysicalDeviceDepthClipEnableFeaturesEXT_handle_self((VkPhysicalDeviceDepthClipEnableFeaturesEXT *)pnext);
9545 break;
9546 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES:
9547 vn_replace_VkPhysicalDeviceBufferDeviceAddressFeatures_handle_self((VkPhysicalDeviceBufferDeviceAddressFeatures *)pnext);
9548 break;
9549 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES:
9550 vn_replace_VkPhysicalDeviceImagelessFramebufferFeatures_handle_self((VkPhysicalDeviceImagelessFramebufferFeatures *)pnext);
9551 break;
9552 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES:
9553 vn_replace_VkPhysicalDeviceTextureCompressionASTCHDRFeatures_handle_self((VkPhysicalDeviceTextureCompressionASTCHDRFeatures *)pnext);
9554 break;
9555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:
9556 vn_replace_VkPhysicalDeviceIndexTypeUint8FeaturesEXT_handle_self((VkPhysicalDeviceIndexTypeUint8FeaturesEXT *)pnext);
9557 break;
9558 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES:
9559 vn_replace_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures_handle_self((VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *)pnext);
9560 break;
9561 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:
9562 vn_replace_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT_handle_self((VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *)pnext);
9563 break;
9564 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES:
9565 vn_replace_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures_handle_self((VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *)pnext);
9566 break;
9567 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:
9568 vn_replace_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT_handle_self((VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)pnext);
9569 break;
9570 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES:
9571 vn_replace_VkPhysicalDeviceSubgroupSizeControlFeatures_handle_self((VkPhysicalDeviceSubgroupSizeControlFeatures *)pnext);
9572 break;
9573 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:
9574 vn_replace_VkPhysicalDeviceLineRasterizationFeaturesEXT_handle_self((VkPhysicalDeviceLineRasterizationFeaturesEXT *)pnext);
9575 break;
9576 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES:
9577 vn_replace_VkPhysicalDevicePipelineCreationCacheControlFeatures_handle_self((VkPhysicalDevicePipelineCreationCacheControlFeatures *)pnext);
9578 break;
9579 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES:
9580 vn_replace_VkPhysicalDeviceVulkan11Features_handle_self((VkPhysicalDeviceVulkan11Features *)pnext);
9581 break;
9582 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES:
9583 vn_replace_VkPhysicalDeviceVulkan12Features_handle_self((VkPhysicalDeviceVulkan12Features *)pnext);
9584 break;
9585 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES:
9586 vn_replace_VkPhysicalDeviceVulkan13Features_handle_self((VkPhysicalDeviceVulkan13Features *)pnext);
9587 break;
9588 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:
9589 vn_replace_VkPhysicalDeviceCustomBorderColorFeaturesEXT_handle_self((VkPhysicalDeviceCustomBorderColorFeaturesEXT *)pnext);
9590 break;
9591 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT:
9592 vn_replace_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *)pnext);
9593 break;
9594 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:
9595 vn_replace_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT_handle_self((VkPhysicalDeviceExtendedDynamicState2FeaturesEXT *)pnext);
9596 break;
9597 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES:
9598 vn_replace_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures_handle_self((VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *)pnext);
9599 break;
9600 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT:
9601 vn_replace_VkPhysicalDeviceRobustness2FeaturesEXT_handle_self((VkPhysicalDeviceRobustness2FeaturesEXT *)pnext);
9602 break;
9603 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES:
9604 vn_replace_VkPhysicalDeviceImageRobustnessFeatures_handle_self((VkPhysicalDeviceImageRobustnessFeatures *)pnext);
9605 break;
9606 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:
9607 vn_replace_VkPhysicalDevice4444FormatsFeaturesEXT_handle_self((VkPhysicalDevice4444FormatsFeaturesEXT *)pnext);
9608 break;
9609 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES:
9610 vn_replace_VkPhysicalDeviceShaderTerminateInvocationFeatures_handle_self((VkPhysicalDeviceShaderTerminateInvocationFeatures *)pnext);
9611 break;
9612 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:
9613 vn_replace_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT_handle_self((VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT *)pnext);
9614 break;
9615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:
9616 vn_replace_VkPhysicalDeviceDepthClipControlFeaturesEXT_handle_self((VkPhysicalDeviceDepthClipControlFeaturesEXT *)pnext);
9617 break;
9618 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES:
9619 vn_replace_VkPhysicalDeviceSynchronization2Features_handle_self((VkPhysicalDeviceSynchronization2Features *)pnext);
9620 break;
9621 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:
9622 vn_replace_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT_handle_self((VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *)pnext);
9623 break;
9624 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT:
9625 vn_replace_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT_handle_self((VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT *)pnext);
9626 break;
9627 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT:
9628 vn_replace_VkPhysicalDeviceProvokingVertexFeaturesEXT_handle_self((VkPhysicalDeviceProvokingVertexFeaturesEXT *)pnext);
9629 break;
9630 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES:
9631 vn_replace_VkPhysicalDeviceShaderIntegerDotProductFeatures_handle_self((VkPhysicalDeviceShaderIntegerDotProductFeatures *)pnext);
9632 break;
9633 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES:
9634 vn_replace_VkPhysicalDeviceDynamicRenderingFeatures_handle_self((VkPhysicalDeviceDynamicRenderingFeatures *)pnext);
9635 break;
9636 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:
9637 vn_replace_VkPhysicalDeviceImageViewMinLodFeaturesEXT_handle_self((VkPhysicalDeviceImageViewMinLodFeaturesEXT *)pnext);
9638 break;
9639 default:
9640 /* ignore unknown/unsupported struct */
9641 break;
9642 }
9643 pnext = pnext->pNext;
9644 } while (pnext);
9645 }
9646
9647 /* struct VkPhysicalDeviceMultiDrawPropertiesEXT chain */
9648
9649 static inline void
vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)9650 vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
9651 {
9652 /* no known/supported struct */
9653 vn_encode_simple_pointer(enc, NULL);
9654 }
9655
9656 static inline void
vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiDrawPropertiesEXT * val)9657 vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiDrawPropertiesEXT *val)
9658 {
9659 /* skip val->{sType,pNext} */
9660 vn_encode_uint32_t(enc, &val->maxMultiDrawCount);
9661 }
9662
9663 static inline void
vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiDrawPropertiesEXT * val)9664 vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiDrawPropertiesEXT *val)
9665 {
9666 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT);
9667 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT });
9668 vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_pnext(enc, val->pNext);
9669 vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_self(enc, val);
9670 }
9671
9672 static inline void *
vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)9673 vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
9674 {
9675 /* no known/supported struct */
9676 if (vn_decode_simple_pointer(dec))
9677 vn_cs_decoder_set_fatal(dec);
9678 return NULL;
9679 }
9680
9681 static inline void
vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiDrawPropertiesEXT * val)9682 vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiDrawPropertiesEXT *val)
9683 {
9684 /* skip val->{sType,pNext} */
9685 /* skip val->maxMultiDrawCount */
9686 }
9687
9688 static inline void
vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiDrawPropertiesEXT * val)9689 vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiDrawPropertiesEXT *val)
9690 {
9691 VkStructureType stype;
9692 vn_decode_VkStructureType(dec, &stype);
9693 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT)
9694 vn_cs_decoder_set_fatal(dec);
9695
9696 val->sType = stype;
9697 val->pNext = vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_pnext_partial_temp(dec);
9698 vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial_temp(dec, val);
9699 }
9700
9701 /* struct VkPhysicalDevicePushDescriptorPropertiesKHR chain */
9702
9703 static inline void
vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(struct vn_cs_encoder * enc,const void * val)9704 vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(struct vn_cs_encoder *enc, const void *val)
9705 {
9706 /* no known/supported struct */
9707 vn_encode_simple_pointer(enc, NULL);
9708 }
9709
9710 static inline void
vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePushDescriptorPropertiesKHR * val)9711 vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePushDescriptorPropertiesKHR *val)
9712 {
9713 /* skip val->{sType,pNext} */
9714 vn_encode_uint32_t(enc, &val->maxPushDescriptors);
9715 }
9716
9717 static inline void
vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR(struct vn_cs_encoder * enc,const VkPhysicalDevicePushDescriptorPropertiesKHR * val)9718 vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR(struct vn_cs_encoder *enc, const VkPhysicalDevicePushDescriptorPropertiesKHR *val)
9719 {
9720 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR);
9721 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR });
9722 vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext(enc, val->pNext);
9723 vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(enc, val);
9724 }
9725
9726 static inline void *
vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial_temp(struct vn_cs_decoder * dec)9727 vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial_temp(struct vn_cs_decoder *dec)
9728 {
9729 /* no known/supported struct */
9730 if (vn_decode_simple_pointer(dec))
9731 vn_cs_decoder_set_fatal(dec);
9732 return NULL;
9733 }
9734
9735 static inline void
vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePushDescriptorPropertiesKHR * val)9736 vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePushDescriptorPropertiesKHR *val)
9737 {
9738 /* skip val->{sType,pNext} */
9739 /* skip val->maxPushDescriptors */
9740 }
9741
9742 static inline void
vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePushDescriptorPropertiesKHR * val)9743 vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePushDescriptorPropertiesKHR *val)
9744 {
9745 VkStructureType stype;
9746 vn_decode_VkStructureType(dec, &stype);
9747 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR)
9748 vn_cs_decoder_set_fatal(dec);
9749
9750 val->sType = stype;
9751 val->pNext = vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_pnext_partial_temp(dec);
9752 vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial_temp(dec, val);
9753 }
9754
9755 /* struct VkConformanceVersion */
9756
9757 static inline void
vn_encode_VkConformanceVersion(struct vn_cs_encoder * enc,const VkConformanceVersion * val)9758 vn_encode_VkConformanceVersion(struct vn_cs_encoder *enc, const VkConformanceVersion *val)
9759 {
9760 vn_encode_uint8_t(enc, &val->major);
9761 vn_encode_uint8_t(enc, &val->minor);
9762 vn_encode_uint8_t(enc, &val->subminor);
9763 vn_encode_uint8_t(enc, &val->patch);
9764 }
9765
9766 static inline void
vn_decode_VkConformanceVersion_partial_temp(struct vn_cs_decoder * dec,VkConformanceVersion * val)9767 vn_decode_VkConformanceVersion_partial_temp(struct vn_cs_decoder *dec, VkConformanceVersion *val)
9768 {
9769 /* skip val->major */
9770 /* skip val->minor */
9771 /* skip val->subminor */
9772 /* skip val->patch */
9773 }
9774
9775 /* struct VkPhysicalDeviceDriverProperties chain */
9776
9777 static inline void
vn_encode_VkPhysicalDeviceDriverProperties_pnext(struct vn_cs_encoder * enc,const void * val)9778 vn_encode_VkPhysicalDeviceDriverProperties_pnext(struct vn_cs_encoder *enc, const void *val)
9779 {
9780 /* no known/supported struct */
9781 vn_encode_simple_pointer(enc, NULL);
9782 }
9783
9784 static inline void
vn_encode_VkPhysicalDeviceDriverProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDriverProperties * val)9785 vn_encode_VkPhysicalDeviceDriverProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)
9786 {
9787 /* skip val->{sType,pNext} */
9788 vn_encode_VkDriverId(enc, &val->driverID);
9789 vn_encode_array_size(enc, VK_MAX_DRIVER_NAME_SIZE);
9790 vn_encode_char_array(enc, val->driverName, VK_MAX_DRIVER_NAME_SIZE);
9791 vn_encode_array_size(enc, VK_MAX_DRIVER_INFO_SIZE);
9792 vn_encode_char_array(enc, val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
9793 vn_encode_VkConformanceVersion(enc, &val->conformanceVersion);
9794 }
9795
9796 static inline void
vn_encode_VkPhysicalDeviceDriverProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceDriverProperties * val)9797 vn_encode_VkPhysicalDeviceDriverProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceDriverProperties *val)
9798 {
9799 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES);
9800 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES });
9801 vn_encode_VkPhysicalDeviceDriverProperties_pnext(enc, val->pNext);
9802 vn_encode_VkPhysicalDeviceDriverProperties_self(enc, val);
9803 }
9804
9805 static inline void *
vn_decode_VkPhysicalDeviceDriverProperties_pnext_partial_temp(struct vn_cs_decoder * dec)9806 vn_decode_VkPhysicalDeviceDriverProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
9807 {
9808 /* no known/supported struct */
9809 if (vn_decode_simple_pointer(dec))
9810 vn_cs_decoder_set_fatal(dec);
9811 return NULL;
9812 }
9813
9814 static inline void
vn_decode_VkPhysicalDeviceDriverProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDriverProperties * val)9815 vn_decode_VkPhysicalDeviceDriverProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)
9816 {
9817 /* skip val->{sType,pNext} */
9818 /* skip val->driverID */
9819 /* skip val->driverName */
9820 /* skip val->driverInfo */
9821 vn_decode_VkConformanceVersion_partial_temp(dec, &val->conformanceVersion);
9822 }
9823
9824 static inline void
vn_decode_VkPhysicalDeviceDriverProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDriverProperties * val)9825 vn_decode_VkPhysicalDeviceDriverProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDriverProperties *val)
9826 {
9827 VkStructureType stype;
9828 vn_decode_VkStructureType(dec, &stype);
9829 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES)
9830 vn_cs_decoder_set_fatal(dec);
9831
9832 val->sType = stype;
9833 val->pNext = vn_decode_VkPhysicalDeviceDriverProperties_pnext_partial_temp(dec);
9834 vn_decode_VkPhysicalDeviceDriverProperties_self_partial_temp(dec, val);
9835 }
9836
9837 /* struct VkPhysicalDeviceIDProperties chain */
9838
9839 static inline void
vn_encode_VkPhysicalDeviceIDProperties_pnext(struct vn_cs_encoder * enc,const void * val)9840 vn_encode_VkPhysicalDeviceIDProperties_pnext(struct vn_cs_encoder *enc, const void *val)
9841 {
9842 /* no known/supported struct */
9843 vn_encode_simple_pointer(enc, NULL);
9844 }
9845
9846 static inline void
vn_encode_VkPhysicalDeviceIDProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceIDProperties * val)9847 vn_encode_VkPhysicalDeviceIDProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)
9848 {
9849 /* skip val->{sType,pNext} */
9850 vn_encode_array_size(enc, VK_UUID_SIZE);
9851 vn_encode_uint8_t_array(enc, val->deviceUUID, VK_UUID_SIZE);
9852 vn_encode_array_size(enc, VK_UUID_SIZE);
9853 vn_encode_uint8_t_array(enc, val->driverUUID, VK_UUID_SIZE);
9854 vn_encode_array_size(enc, VK_LUID_SIZE);
9855 vn_encode_uint8_t_array(enc, val->deviceLUID, VK_LUID_SIZE);
9856 vn_encode_uint32_t(enc, &val->deviceNodeMask);
9857 vn_encode_VkBool32(enc, &val->deviceLUIDValid);
9858 }
9859
9860 static inline void
vn_encode_VkPhysicalDeviceIDProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceIDProperties * val)9861 vn_encode_VkPhysicalDeviceIDProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceIDProperties *val)
9862 {
9863 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES);
9864 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES });
9865 vn_encode_VkPhysicalDeviceIDProperties_pnext(enc, val->pNext);
9866 vn_encode_VkPhysicalDeviceIDProperties_self(enc, val);
9867 }
9868
9869 static inline void *
vn_decode_VkPhysicalDeviceIDProperties_pnext_partial_temp(struct vn_cs_decoder * dec)9870 vn_decode_VkPhysicalDeviceIDProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
9871 {
9872 /* no known/supported struct */
9873 if (vn_decode_simple_pointer(dec))
9874 vn_cs_decoder_set_fatal(dec);
9875 return NULL;
9876 }
9877
9878 static inline void
vn_decode_VkPhysicalDeviceIDProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceIDProperties * val)9879 vn_decode_VkPhysicalDeviceIDProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)
9880 {
9881 /* skip val->{sType,pNext} */
9882 /* skip val->deviceUUID */
9883 /* skip val->driverUUID */
9884 /* skip val->deviceLUID */
9885 /* skip val->deviceNodeMask */
9886 /* skip val->deviceLUIDValid */
9887 }
9888
9889 static inline void
vn_decode_VkPhysicalDeviceIDProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceIDProperties * val)9890 vn_decode_VkPhysicalDeviceIDProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceIDProperties *val)
9891 {
9892 VkStructureType stype;
9893 vn_decode_VkStructureType(dec, &stype);
9894 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES)
9895 vn_cs_decoder_set_fatal(dec);
9896
9897 val->sType = stype;
9898 val->pNext = vn_decode_VkPhysicalDeviceIDProperties_pnext_partial_temp(dec);
9899 vn_decode_VkPhysicalDeviceIDProperties_self_partial_temp(dec, val);
9900 }
9901
9902 /* struct VkPhysicalDeviceMultiviewProperties chain */
9903
9904 static inline void
vn_encode_VkPhysicalDeviceMultiviewProperties_pnext(struct vn_cs_encoder * enc,const void * val)9905 vn_encode_VkPhysicalDeviceMultiviewProperties_pnext(struct vn_cs_encoder *enc, const void *val)
9906 {
9907 /* no known/supported struct */
9908 vn_encode_simple_pointer(enc, NULL);
9909 }
9910
9911 static inline void
vn_encode_VkPhysicalDeviceMultiviewProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiviewProperties * val)9912 vn_encode_VkPhysicalDeviceMultiviewProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)
9913 {
9914 /* skip val->{sType,pNext} */
9915 vn_encode_uint32_t(enc, &val->maxMultiviewViewCount);
9916 vn_encode_uint32_t(enc, &val->maxMultiviewInstanceIndex);
9917 }
9918
9919 static inline void
vn_encode_VkPhysicalDeviceMultiviewProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceMultiviewProperties * val)9920 vn_encode_VkPhysicalDeviceMultiviewProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceMultiviewProperties *val)
9921 {
9922 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES);
9923 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES });
9924 vn_encode_VkPhysicalDeviceMultiviewProperties_pnext(enc, val->pNext);
9925 vn_encode_VkPhysicalDeviceMultiviewProperties_self(enc, val);
9926 }
9927
9928 static inline void *
vn_decode_VkPhysicalDeviceMultiviewProperties_pnext_partial_temp(struct vn_cs_decoder * dec)9929 vn_decode_VkPhysicalDeviceMultiviewProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
9930 {
9931 /* no known/supported struct */
9932 if (vn_decode_simple_pointer(dec))
9933 vn_cs_decoder_set_fatal(dec);
9934 return NULL;
9935 }
9936
9937 static inline void
vn_decode_VkPhysicalDeviceMultiviewProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiviewProperties * val)9938 vn_decode_VkPhysicalDeviceMultiviewProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)
9939 {
9940 /* skip val->{sType,pNext} */
9941 /* skip val->maxMultiviewViewCount */
9942 /* skip val->maxMultiviewInstanceIndex */
9943 }
9944
9945 static inline void
vn_decode_VkPhysicalDeviceMultiviewProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMultiviewProperties * val)9946 vn_decode_VkPhysicalDeviceMultiviewProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMultiviewProperties *val)
9947 {
9948 VkStructureType stype;
9949 vn_decode_VkStructureType(dec, &stype);
9950 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES)
9951 vn_cs_decoder_set_fatal(dec);
9952
9953 val->sType = stype;
9954 val->pNext = vn_decode_VkPhysicalDeviceMultiviewProperties_pnext_partial_temp(dec);
9955 vn_decode_VkPhysicalDeviceMultiviewProperties_self_partial_temp(dec, val);
9956 }
9957
9958 /* struct VkPhysicalDeviceSubgroupProperties chain */
9959
9960 static inline void
vn_encode_VkPhysicalDeviceSubgroupProperties_pnext(struct vn_cs_encoder * enc,const void * val)9961 vn_encode_VkPhysicalDeviceSubgroupProperties_pnext(struct vn_cs_encoder *enc, const void *val)
9962 {
9963 /* no known/supported struct */
9964 vn_encode_simple_pointer(enc, NULL);
9965 }
9966
9967 static inline void
vn_encode_VkPhysicalDeviceSubgroupProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSubgroupProperties * val)9968 vn_encode_VkPhysicalDeviceSubgroupProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)
9969 {
9970 /* skip val->{sType,pNext} */
9971 vn_encode_uint32_t(enc, &val->subgroupSize);
9972 vn_encode_VkFlags(enc, &val->supportedStages);
9973 vn_encode_VkFlags(enc, &val->supportedOperations);
9974 vn_encode_VkBool32(enc, &val->quadOperationsInAllStages);
9975 }
9976
9977 static inline void
vn_encode_VkPhysicalDeviceSubgroupProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceSubgroupProperties * val)9978 vn_encode_VkPhysicalDeviceSubgroupProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupProperties *val)
9979 {
9980 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES);
9981 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES });
9982 vn_encode_VkPhysicalDeviceSubgroupProperties_pnext(enc, val->pNext);
9983 vn_encode_VkPhysicalDeviceSubgroupProperties_self(enc, val);
9984 }
9985
9986 static inline void *
vn_decode_VkPhysicalDeviceSubgroupProperties_pnext_partial_temp(struct vn_cs_decoder * dec)9987 vn_decode_VkPhysicalDeviceSubgroupProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
9988 {
9989 /* no known/supported struct */
9990 if (vn_decode_simple_pointer(dec))
9991 vn_cs_decoder_set_fatal(dec);
9992 return NULL;
9993 }
9994
9995 static inline void
vn_decode_VkPhysicalDeviceSubgroupProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupProperties * val)9996 vn_decode_VkPhysicalDeviceSubgroupProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)
9997 {
9998 /* skip val->{sType,pNext} */
9999 /* skip val->subgroupSize */
10000 /* skip val->supportedStages */
10001 /* skip val->supportedOperations */
10002 /* skip val->quadOperationsInAllStages */
10003 }
10004
10005 static inline void
vn_decode_VkPhysicalDeviceSubgroupProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupProperties * val)10006 vn_decode_VkPhysicalDeviceSubgroupProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupProperties *val)
10007 {
10008 VkStructureType stype;
10009 vn_decode_VkStructureType(dec, &stype);
10010 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES)
10011 vn_cs_decoder_set_fatal(dec);
10012
10013 val->sType = stype;
10014 val->pNext = vn_decode_VkPhysicalDeviceSubgroupProperties_pnext_partial_temp(dec);
10015 vn_decode_VkPhysicalDeviceSubgroupProperties_self_partial_temp(dec, val);
10016 }
10017
10018 /* struct VkPhysicalDevicePointClippingProperties chain */
10019
10020 static inline void
vn_encode_VkPhysicalDevicePointClippingProperties_pnext(struct vn_cs_encoder * enc,const void * val)10021 vn_encode_VkPhysicalDevicePointClippingProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10022 {
10023 /* no known/supported struct */
10024 vn_encode_simple_pointer(enc, NULL);
10025 }
10026
10027 static inline void
vn_encode_VkPhysicalDevicePointClippingProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePointClippingProperties * val)10028 vn_encode_VkPhysicalDevicePointClippingProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)
10029 {
10030 /* skip val->{sType,pNext} */
10031 vn_encode_VkPointClippingBehavior(enc, &val->pointClippingBehavior);
10032 }
10033
10034 static inline void
vn_encode_VkPhysicalDevicePointClippingProperties(struct vn_cs_encoder * enc,const VkPhysicalDevicePointClippingProperties * val)10035 vn_encode_VkPhysicalDevicePointClippingProperties(struct vn_cs_encoder *enc, const VkPhysicalDevicePointClippingProperties *val)
10036 {
10037 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES);
10038 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES });
10039 vn_encode_VkPhysicalDevicePointClippingProperties_pnext(enc, val->pNext);
10040 vn_encode_VkPhysicalDevicePointClippingProperties_self(enc, val);
10041 }
10042
10043 static inline void *
vn_decode_VkPhysicalDevicePointClippingProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10044 vn_decode_VkPhysicalDevicePointClippingProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10045 {
10046 /* no known/supported struct */
10047 if (vn_decode_simple_pointer(dec))
10048 vn_cs_decoder_set_fatal(dec);
10049 return NULL;
10050 }
10051
10052 static inline void
vn_decode_VkPhysicalDevicePointClippingProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePointClippingProperties * val)10053 vn_decode_VkPhysicalDevicePointClippingProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)
10054 {
10055 /* skip val->{sType,pNext} */
10056 /* skip val->pointClippingBehavior */
10057 }
10058
10059 static inline void
vn_decode_VkPhysicalDevicePointClippingProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePointClippingProperties * val)10060 vn_decode_VkPhysicalDevicePointClippingProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePointClippingProperties *val)
10061 {
10062 VkStructureType stype;
10063 vn_decode_VkStructureType(dec, &stype);
10064 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES)
10065 vn_cs_decoder_set_fatal(dec);
10066
10067 val->sType = stype;
10068 val->pNext = vn_decode_VkPhysicalDevicePointClippingProperties_pnext_partial_temp(dec);
10069 vn_decode_VkPhysicalDevicePointClippingProperties_self_partial_temp(dec, val);
10070 }
10071
10072 /* struct VkPhysicalDeviceProtectedMemoryProperties chain */
10073
10074 static inline void
vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext(struct vn_cs_encoder * enc,const void * val)10075 vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10076 {
10077 /* no known/supported struct */
10078 vn_encode_simple_pointer(enc, NULL);
10079 }
10080
10081 static inline void
vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceProtectedMemoryProperties * val)10082 vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)
10083 {
10084 /* skip val->{sType,pNext} */
10085 vn_encode_VkBool32(enc, &val->protectedNoFault);
10086 }
10087
10088 static inline void
vn_encode_VkPhysicalDeviceProtectedMemoryProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceProtectedMemoryProperties * val)10089 vn_encode_VkPhysicalDeviceProtectedMemoryProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceProtectedMemoryProperties *val)
10090 {
10091 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES);
10092 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES });
10093 vn_encode_VkPhysicalDeviceProtectedMemoryProperties_pnext(enc, val->pNext);
10094 vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self(enc, val);
10095 }
10096
10097 static inline void *
vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10098 vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10099 {
10100 /* no known/supported struct */
10101 if (vn_decode_simple_pointer(dec))
10102 vn_cs_decoder_set_fatal(dec);
10103 return NULL;
10104 }
10105
10106 static inline void
vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProtectedMemoryProperties * val)10107 vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)
10108 {
10109 /* skip val->{sType,pNext} */
10110 /* skip val->protectedNoFault */
10111 }
10112
10113 static inline void
vn_decode_VkPhysicalDeviceProtectedMemoryProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProtectedMemoryProperties * val)10114 vn_decode_VkPhysicalDeviceProtectedMemoryProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProtectedMemoryProperties *val)
10115 {
10116 VkStructureType stype;
10117 vn_decode_VkStructureType(dec, &stype);
10118 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES)
10119 vn_cs_decoder_set_fatal(dec);
10120
10121 val->sType = stype;
10122 val->pNext = vn_decode_VkPhysicalDeviceProtectedMemoryProperties_pnext_partial_temp(dec);
10123 vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self_partial_temp(dec, val);
10124 }
10125
10126 /* struct VkPhysicalDeviceSamplerFilterMinmaxProperties chain */
10127
10128 static inline void
vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(struct vn_cs_encoder * enc,const void * val)10129 vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10130 {
10131 /* no known/supported struct */
10132 vn_encode_simple_pointer(enc, NULL);
10133 }
10134
10135 static inline void
vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSamplerFilterMinmaxProperties * val)10136 vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
10137 {
10138 /* skip val->{sType,pNext} */
10139 vn_encode_VkBool32(enc, &val->filterMinmaxSingleComponentFormats);
10140 vn_encode_VkBool32(enc, &val->filterMinmaxImageComponentMapping);
10141 }
10142
10143 static inline void
vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceSamplerFilterMinmaxProperties * val)10144 vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
10145 {
10146 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES);
10147 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES });
10148 vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext(enc, val->pNext);
10149 vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(enc, val);
10150 }
10151
10152 static inline void *
vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10153 vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10154 {
10155 /* no known/supported struct */
10156 if (vn_decode_simple_pointer(dec))
10157 vn_cs_decoder_set_fatal(dec);
10158 return NULL;
10159 }
10160
10161 static inline void
vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSamplerFilterMinmaxProperties * val)10162 vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
10163 {
10164 /* skip val->{sType,pNext} */
10165 /* skip val->filterMinmaxSingleComponentFormats */
10166 /* skip val->filterMinmaxImageComponentMapping */
10167 }
10168
10169 static inline void
vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSamplerFilterMinmaxProperties * val)10170 vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSamplerFilterMinmaxProperties *val)
10171 {
10172 VkStructureType stype;
10173 vn_decode_VkStructureType(dec, &stype);
10174 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES)
10175 vn_cs_decoder_set_fatal(dec);
10176
10177 val->sType = stype;
10178 val->pNext = vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_pnext_partial_temp(dec);
10179 vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial_temp(dec, val);
10180 }
10181
10182 /* struct VkPhysicalDeviceInlineUniformBlockProperties chain */
10183
10184 static inline void
vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_pnext(struct vn_cs_encoder * enc,const void * val)10185 vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10186 {
10187 /* no known/supported struct */
10188 vn_encode_simple_pointer(enc, NULL);
10189 }
10190
10191 static inline void
vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceInlineUniformBlockProperties * val)10192 vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceInlineUniformBlockProperties *val)
10193 {
10194 /* skip val->{sType,pNext} */
10195 vn_encode_uint32_t(enc, &val->maxInlineUniformBlockSize);
10196 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorInlineUniformBlocks);
10197 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks);
10198 vn_encode_uint32_t(enc, &val->maxDescriptorSetInlineUniformBlocks);
10199 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindInlineUniformBlocks);
10200 }
10201
10202 static inline void
vn_encode_VkPhysicalDeviceInlineUniformBlockProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceInlineUniformBlockProperties * val)10203 vn_encode_VkPhysicalDeviceInlineUniformBlockProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceInlineUniformBlockProperties *val)
10204 {
10205 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES);
10206 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES });
10207 vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_pnext(enc, val->pNext);
10208 vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_self(enc, val);
10209 }
10210
10211 static inline void *
vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10212 vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10213 {
10214 /* no known/supported struct */
10215 if (vn_decode_simple_pointer(dec))
10216 vn_cs_decoder_set_fatal(dec);
10217 return NULL;
10218 }
10219
10220 static inline void
vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceInlineUniformBlockProperties * val)10221 vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceInlineUniformBlockProperties *val)
10222 {
10223 /* skip val->{sType,pNext} */
10224 /* skip val->maxInlineUniformBlockSize */
10225 /* skip val->maxPerStageDescriptorInlineUniformBlocks */
10226 /* skip val->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks */
10227 /* skip val->maxDescriptorSetInlineUniformBlocks */
10228 /* skip val->maxDescriptorSetUpdateAfterBindInlineUniformBlocks */
10229 }
10230
10231 static inline void
vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceInlineUniformBlockProperties * val)10232 vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceInlineUniformBlockProperties *val)
10233 {
10234 VkStructureType stype;
10235 vn_decode_VkStructureType(dec, &stype);
10236 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES)
10237 vn_cs_decoder_set_fatal(dec);
10238
10239 val->sType = stype;
10240 val->pNext = vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_pnext_partial_temp(dec);
10241 vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_self_partial_temp(dec, val);
10242 }
10243
10244 /* struct VkPhysicalDeviceMaintenance3Properties chain */
10245
10246 static inline void
vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext(struct vn_cs_encoder * enc,const void * val)10247 vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext(struct vn_cs_encoder *enc, const void *val)
10248 {
10249 /* no known/supported struct */
10250 vn_encode_simple_pointer(enc, NULL);
10251 }
10252
10253 static inline void
vn_encode_VkPhysicalDeviceMaintenance3Properties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMaintenance3Properties * val)10254 vn_encode_VkPhysicalDeviceMaintenance3Properties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)
10255 {
10256 /* skip val->{sType,pNext} */
10257 vn_encode_uint32_t(enc, &val->maxPerSetDescriptors);
10258 vn_encode_VkDeviceSize(enc, &val->maxMemoryAllocationSize);
10259 }
10260
10261 static inline void
vn_encode_VkPhysicalDeviceMaintenance3Properties(struct vn_cs_encoder * enc,const VkPhysicalDeviceMaintenance3Properties * val)10262 vn_encode_VkPhysicalDeviceMaintenance3Properties(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance3Properties *val)
10263 {
10264 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES);
10265 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES });
10266 vn_encode_VkPhysicalDeviceMaintenance3Properties_pnext(enc, val->pNext);
10267 vn_encode_VkPhysicalDeviceMaintenance3Properties_self(enc, val);
10268 }
10269
10270 static inline void *
vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext_partial_temp(struct vn_cs_decoder * dec)10271 vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext_partial_temp(struct vn_cs_decoder *dec)
10272 {
10273 /* no known/supported struct */
10274 if (vn_decode_simple_pointer(dec))
10275 vn_cs_decoder_set_fatal(dec);
10276 return NULL;
10277 }
10278
10279 static inline void
vn_decode_VkPhysicalDeviceMaintenance3Properties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance3Properties * val)10280 vn_decode_VkPhysicalDeviceMaintenance3Properties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)
10281 {
10282 /* skip val->{sType,pNext} */
10283 /* skip val->maxPerSetDescriptors */
10284 /* skip val->maxMemoryAllocationSize */
10285 }
10286
10287 static inline void
vn_decode_VkPhysicalDeviceMaintenance3Properties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance3Properties * val)10288 vn_decode_VkPhysicalDeviceMaintenance3Properties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance3Properties *val)
10289 {
10290 VkStructureType stype;
10291 vn_decode_VkStructureType(dec, &stype);
10292 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES)
10293 vn_cs_decoder_set_fatal(dec);
10294
10295 val->sType = stype;
10296 val->pNext = vn_decode_VkPhysicalDeviceMaintenance3Properties_pnext_partial_temp(dec);
10297 vn_decode_VkPhysicalDeviceMaintenance3Properties_self_partial_temp(dec, val);
10298 }
10299
10300 /* struct VkPhysicalDeviceMaintenance4Properties chain */
10301
10302 static inline void
vn_encode_VkPhysicalDeviceMaintenance4Properties_pnext(struct vn_cs_encoder * enc,const void * val)10303 vn_encode_VkPhysicalDeviceMaintenance4Properties_pnext(struct vn_cs_encoder *enc, const void *val)
10304 {
10305 /* no known/supported struct */
10306 vn_encode_simple_pointer(enc, NULL);
10307 }
10308
10309 static inline void
vn_encode_VkPhysicalDeviceMaintenance4Properties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMaintenance4Properties * val)10310 vn_encode_VkPhysicalDeviceMaintenance4Properties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance4Properties *val)
10311 {
10312 /* skip val->{sType,pNext} */
10313 vn_encode_VkDeviceSize(enc, &val->maxBufferSize);
10314 }
10315
10316 static inline void
vn_encode_VkPhysicalDeviceMaintenance4Properties(struct vn_cs_encoder * enc,const VkPhysicalDeviceMaintenance4Properties * val)10317 vn_encode_VkPhysicalDeviceMaintenance4Properties(struct vn_cs_encoder *enc, const VkPhysicalDeviceMaintenance4Properties *val)
10318 {
10319 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES);
10320 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES });
10321 vn_encode_VkPhysicalDeviceMaintenance4Properties_pnext(enc, val->pNext);
10322 vn_encode_VkPhysicalDeviceMaintenance4Properties_self(enc, val);
10323 }
10324
10325 static inline void *
vn_decode_VkPhysicalDeviceMaintenance4Properties_pnext_partial_temp(struct vn_cs_decoder * dec)10326 vn_decode_VkPhysicalDeviceMaintenance4Properties_pnext_partial_temp(struct vn_cs_decoder *dec)
10327 {
10328 /* no known/supported struct */
10329 if (vn_decode_simple_pointer(dec))
10330 vn_cs_decoder_set_fatal(dec);
10331 return NULL;
10332 }
10333
10334 static inline void
vn_decode_VkPhysicalDeviceMaintenance4Properties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance4Properties * val)10335 vn_decode_VkPhysicalDeviceMaintenance4Properties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance4Properties *val)
10336 {
10337 /* skip val->{sType,pNext} */
10338 /* skip val->maxBufferSize */
10339 }
10340
10341 static inline void
vn_decode_VkPhysicalDeviceMaintenance4Properties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMaintenance4Properties * val)10342 vn_decode_VkPhysicalDeviceMaintenance4Properties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMaintenance4Properties *val)
10343 {
10344 VkStructureType stype;
10345 vn_decode_VkStructureType(dec, &stype);
10346 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES)
10347 vn_cs_decoder_set_fatal(dec);
10348
10349 val->sType = stype;
10350 val->pNext = vn_decode_VkPhysicalDeviceMaintenance4Properties_pnext_partial_temp(dec);
10351 vn_decode_VkPhysicalDeviceMaintenance4Properties_self_partial_temp(dec, val);
10352 }
10353
10354 /* struct VkPhysicalDeviceFloatControlsProperties chain */
10355
10356 static inline void
vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext(struct vn_cs_encoder * enc,const void * val)10357 vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10358 {
10359 /* no known/supported struct */
10360 vn_encode_simple_pointer(enc, NULL);
10361 }
10362
10363 static inline void
vn_encode_VkPhysicalDeviceFloatControlsProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceFloatControlsProperties * val)10364 vn_encode_VkPhysicalDeviceFloatControlsProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)
10365 {
10366 /* skip val->{sType,pNext} */
10367 vn_encode_VkShaderFloatControlsIndependence(enc, &val->denormBehaviorIndependence);
10368 vn_encode_VkShaderFloatControlsIndependence(enc, &val->roundingModeIndependence);
10369 vn_encode_VkBool32(enc, &val->shaderSignedZeroInfNanPreserveFloat16);
10370 vn_encode_VkBool32(enc, &val->shaderSignedZeroInfNanPreserveFloat32);
10371 vn_encode_VkBool32(enc, &val->shaderSignedZeroInfNanPreserveFloat64);
10372 vn_encode_VkBool32(enc, &val->shaderDenormPreserveFloat16);
10373 vn_encode_VkBool32(enc, &val->shaderDenormPreserveFloat32);
10374 vn_encode_VkBool32(enc, &val->shaderDenormPreserveFloat64);
10375 vn_encode_VkBool32(enc, &val->shaderDenormFlushToZeroFloat16);
10376 vn_encode_VkBool32(enc, &val->shaderDenormFlushToZeroFloat32);
10377 vn_encode_VkBool32(enc, &val->shaderDenormFlushToZeroFloat64);
10378 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTEFloat16);
10379 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTEFloat32);
10380 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTEFloat64);
10381 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTZFloat16);
10382 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTZFloat32);
10383 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTZFloat64);
10384 }
10385
10386 static inline void
vn_encode_VkPhysicalDeviceFloatControlsProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceFloatControlsProperties * val)10387 vn_encode_VkPhysicalDeviceFloatControlsProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceFloatControlsProperties *val)
10388 {
10389 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES);
10390 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES });
10391 vn_encode_VkPhysicalDeviceFloatControlsProperties_pnext(enc, val->pNext);
10392 vn_encode_VkPhysicalDeviceFloatControlsProperties_self(enc, val);
10393 }
10394
10395 static inline void *
vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10396 vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10397 {
10398 /* no known/supported struct */
10399 if (vn_decode_simple_pointer(dec))
10400 vn_cs_decoder_set_fatal(dec);
10401 return NULL;
10402 }
10403
10404 static inline void
vn_decode_VkPhysicalDeviceFloatControlsProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFloatControlsProperties * val)10405 vn_decode_VkPhysicalDeviceFloatControlsProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)
10406 {
10407 /* skip val->{sType,pNext} */
10408 /* skip val->denormBehaviorIndependence */
10409 /* skip val->roundingModeIndependence */
10410 /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
10411 /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
10412 /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
10413 /* skip val->shaderDenormPreserveFloat16 */
10414 /* skip val->shaderDenormPreserveFloat32 */
10415 /* skip val->shaderDenormPreserveFloat64 */
10416 /* skip val->shaderDenormFlushToZeroFloat16 */
10417 /* skip val->shaderDenormFlushToZeroFloat32 */
10418 /* skip val->shaderDenormFlushToZeroFloat64 */
10419 /* skip val->shaderRoundingModeRTEFloat16 */
10420 /* skip val->shaderRoundingModeRTEFloat32 */
10421 /* skip val->shaderRoundingModeRTEFloat64 */
10422 /* skip val->shaderRoundingModeRTZFloat16 */
10423 /* skip val->shaderRoundingModeRTZFloat32 */
10424 /* skip val->shaderRoundingModeRTZFloat64 */
10425 }
10426
10427 static inline void
vn_decode_VkPhysicalDeviceFloatControlsProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceFloatControlsProperties * val)10428 vn_decode_VkPhysicalDeviceFloatControlsProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceFloatControlsProperties *val)
10429 {
10430 VkStructureType stype;
10431 vn_decode_VkStructureType(dec, &stype);
10432 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES)
10433 vn_cs_decoder_set_fatal(dec);
10434
10435 val->sType = stype;
10436 val->pNext = vn_decode_VkPhysicalDeviceFloatControlsProperties_pnext_partial_temp(dec);
10437 vn_decode_VkPhysicalDeviceFloatControlsProperties_self_partial_temp(dec, val);
10438 }
10439
10440 /* struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT chain */
10441
10442 static inline void
vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)10443 vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
10444 {
10445 /* no known/supported struct */
10446 vn_encode_simple_pointer(enc, NULL);
10447 }
10448
10449 static inline void
vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceConservativeRasterizationPropertiesEXT * val)10450 vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
10451 {
10452 /* skip val->{sType,pNext} */
10453 vn_encode_float(enc, &val->primitiveOverestimationSize);
10454 vn_encode_float(enc, &val->maxExtraPrimitiveOverestimationSize);
10455 vn_encode_float(enc, &val->extraPrimitiveOverestimationSizeGranularity);
10456 vn_encode_VkBool32(enc, &val->primitiveUnderestimation);
10457 vn_encode_VkBool32(enc, &val->conservativePointAndLineRasterization);
10458 vn_encode_VkBool32(enc, &val->degenerateTrianglesRasterized);
10459 vn_encode_VkBool32(enc, &val->degenerateLinesRasterized);
10460 vn_encode_VkBool32(enc, &val->fullyCoveredFragmentShaderInputVariable);
10461 vn_encode_VkBool32(enc, &val->conservativeRasterizationPostDepthCoverage);
10462 }
10463
10464 static inline void
vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceConservativeRasterizationPropertiesEXT * val)10465 vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
10466 {
10467 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT);
10468 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT });
10469 vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext(enc, val->pNext);
10470 vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(enc, val);
10471 }
10472
10473 static inline void *
vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)10474 vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
10475 {
10476 /* no known/supported struct */
10477 if (vn_decode_simple_pointer(dec))
10478 vn_cs_decoder_set_fatal(dec);
10479 return NULL;
10480 }
10481
10482 static inline void
vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceConservativeRasterizationPropertiesEXT * val)10483 vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
10484 {
10485 /* skip val->{sType,pNext} */
10486 /* skip val->primitiveOverestimationSize */
10487 /* skip val->maxExtraPrimitiveOverestimationSize */
10488 /* skip val->extraPrimitiveOverestimationSizeGranularity */
10489 /* skip val->primitiveUnderestimation */
10490 /* skip val->conservativePointAndLineRasterization */
10491 /* skip val->degenerateTrianglesRasterized */
10492 /* skip val->degenerateLinesRasterized */
10493 /* skip val->fullyCoveredFragmentShaderInputVariable */
10494 /* skip val->conservativeRasterizationPostDepthCoverage */
10495 }
10496
10497 static inline void
vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceConservativeRasterizationPropertiesEXT * val)10498 vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceConservativeRasterizationPropertiesEXT *val)
10499 {
10500 VkStructureType stype;
10501 vn_decode_VkStructureType(dec, &stype);
10502 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT)
10503 vn_cs_decoder_set_fatal(dec);
10504
10505 val->sType = stype;
10506 val->pNext = vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_pnext_partial_temp(dec);
10507 vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial_temp(dec, val);
10508 }
10509
10510 /* struct VkPhysicalDeviceDescriptorIndexingProperties chain */
10511
10512 static inline void
vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(struct vn_cs_encoder * enc,const void * val)10513 vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10514 {
10515 /* no known/supported struct */
10516 vn_encode_simple_pointer(enc, NULL);
10517 }
10518
10519 static inline void
vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDescriptorIndexingProperties * val)10520 vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)
10521 {
10522 /* skip val->{sType,pNext} */
10523 vn_encode_uint32_t(enc, &val->maxUpdateAfterBindDescriptorsInAllPools);
10524 vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexingNative);
10525 vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexingNative);
10526 vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexingNative);
10527 vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexingNative);
10528 vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexingNative);
10529 vn_encode_VkBool32(enc, &val->robustBufferAccessUpdateAfterBind);
10530 vn_encode_VkBool32(enc, &val->quadDivergentImplicitLod);
10531 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindSamplers);
10532 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
10533 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
10534 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);
10535 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);
10536 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
10537 vn_encode_uint32_t(enc, &val->maxPerStageUpdateAfterBindResources);
10538 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindSamplers);
10539 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);
10540 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
10541 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);
10542 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
10543 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindSampledImages);
10544 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindStorageImages);
10545 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindInputAttachments);
10546 }
10547
10548 static inline void
vn_encode_VkPhysicalDeviceDescriptorIndexingProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceDescriptorIndexingProperties * val)10549 vn_encode_VkPhysicalDeviceDescriptorIndexingProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceDescriptorIndexingProperties *val)
10550 {
10551 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES);
10552 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES });
10553 vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_pnext(enc, val->pNext);
10554 vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self(enc, val);
10555 }
10556
10557 static inline void *
vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10558 vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10559 {
10560 /* no known/supported struct */
10561 if (vn_decode_simple_pointer(dec))
10562 vn_cs_decoder_set_fatal(dec);
10563 return NULL;
10564 }
10565
10566 static inline void
vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDescriptorIndexingProperties * val)10567 vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)
10568 {
10569 /* skip val->{sType,pNext} */
10570 /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
10571 /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
10572 /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
10573 /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
10574 /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
10575 /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
10576 /* skip val->robustBufferAccessUpdateAfterBind */
10577 /* skip val->quadDivergentImplicitLod */
10578 /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
10579 /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
10580 /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
10581 /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
10582 /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
10583 /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
10584 /* skip val->maxPerStageUpdateAfterBindResources */
10585 /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
10586 /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
10587 /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
10588 /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
10589 /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
10590 /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
10591 /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
10592 /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
10593 }
10594
10595 static inline void
vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDescriptorIndexingProperties * val)10596 vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDescriptorIndexingProperties *val)
10597 {
10598 VkStructureType stype;
10599 vn_decode_VkStructureType(dec, &stype);
10600 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES)
10601 vn_cs_decoder_set_fatal(dec);
10602
10603 val->sType = stype;
10604 val->pNext = vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_pnext_partial_temp(dec);
10605 vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial_temp(dec, val);
10606 }
10607
10608 /* struct VkPhysicalDeviceTimelineSemaphoreProperties chain */
10609
10610 static inline void
vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(struct vn_cs_encoder * enc,const void * val)10611 vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10612 {
10613 /* no known/supported struct */
10614 vn_encode_simple_pointer(enc, NULL);
10615 }
10616
10617 static inline void
vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTimelineSemaphoreProperties * val)10618 vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)
10619 {
10620 /* skip val->{sType,pNext} */
10621 vn_encode_uint64_t(enc, &val->maxTimelineSemaphoreValueDifference);
10622 }
10623
10624 static inline void
vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceTimelineSemaphoreProperties * val)10625 vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceTimelineSemaphoreProperties *val)
10626 {
10627 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES);
10628 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES });
10629 vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext(enc, val->pNext);
10630 vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self(enc, val);
10631 }
10632
10633 static inline void *
vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10634 vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10635 {
10636 /* no known/supported struct */
10637 if (vn_decode_simple_pointer(dec))
10638 vn_cs_decoder_set_fatal(dec);
10639 return NULL;
10640 }
10641
10642 static inline void
vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTimelineSemaphoreProperties * val)10643 vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)
10644 {
10645 /* skip val->{sType,pNext} */
10646 /* skip val->maxTimelineSemaphoreValueDifference */
10647 }
10648
10649 static inline void
vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTimelineSemaphoreProperties * val)10650 vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTimelineSemaphoreProperties *val)
10651 {
10652 VkStructureType stype;
10653 vn_decode_VkStructureType(dec, &stype);
10654 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES)
10655 vn_cs_decoder_set_fatal(dec);
10656
10657 val->sType = stype;
10658 val->pNext = vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_pnext_partial_temp(dec);
10659 vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial_temp(dec, val);
10660 }
10661
10662 /* struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT chain */
10663
10664 static inline void
vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)10665 vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
10666 {
10667 /* no known/supported struct */
10668 vn_encode_simple_pointer(enc, NULL);
10669 }
10670
10671 static inline void
vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * val)10672 vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
10673 {
10674 /* skip val->{sType,pNext} */
10675 vn_encode_uint32_t(enc, &val->maxVertexAttribDivisor);
10676 }
10677
10678 static inline void
vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * val)10679 vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
10680 {
10681 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT);
10682 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT });
10683 vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext(enc, val->pNext);
10684 vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(enc, val);
10685 }
10686
10687 static inline void *
vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)10688 vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
10689 {
10690 /* no known/supported struct */
10691 if (vn_decode_simple_pointer(dec))
10692 vn_cs_decoder_set_fatal(dec);
10693 return NULL;
10694 }
10695
10696 static inline void
vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * val)10697 vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
10698 {
10699 /* skip val->{sType,pNext} */
10700 /* skip val->maxVertexAttribDivisor */
10701 }
10702
10703 static inline void
vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * val)10704 vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *val)
10705 {
10706 VkStructureType stype;
10707 vn_decode_VkStructureType(dec, &stype);
10708 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT)
10709 vn_cs_decoder_set_fatal(dec);
10710
10711 val->sType = stype;
10712 val->pNext = vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_pnext_partial_temp(dec);
10713 vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial_temp(dec, val);
10714 }
10715
10716 /* struct VkPhysicalDevicePCIBusInfoPropertiesEXT chain */
10717
10718 static inline void
vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)10719 vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
10720 {
10721 /* no known/supported struct */
10722 vn_encode_simple_pointer(enc, NULL);
10723 }
10724
10725 static inline void
vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDevicePCIBusInfoPropertiesEXT * val)10726 vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDevicePCIBusInfoPropertiesEXT *val)
10727 {
10728 /* skip val->{sType,pNext} */
10729 vn_encode_uint32_t(enc, &val->pciDomain);
10730 vn_encode_uint32_t(enc, &val->pciBus);
10731 vn_encode_uint32_t(enc, &val->pciDevice);
10732 vn_encode_uint32_t(enc, &val->pciFunction);
10733 }
10734
10735 static inline void
vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDevicePCIBusInfoPropertiesEXT * val)10736 vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDevicePCIBusInfoPropertiesEXT *val)
10737 {
10738 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT);
10739 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT });
10740 vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_pnext(enc, val->pNext);
10741 vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self(enc, val);
10742 }
10743
10744 static inline void *
vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)10745 vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
10746 {
10747 /* no known/supported struct */
10748 if (vn_decode_simple_pointer(dec))
10749 vn_cs_decoder_set_fatal(dec);
10750 return NULL;
10751 }
10752
10753 static inline void
vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePCIBusInfoPropertiesEXT * val)10754 vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePCIBusInfoPropertiesEXT *val)
10755 {
10756 /* skip val->{sType,pNext} */
10757 /* skip val->pciDomain */
10758 /* skip val->pciBus */
10759 /* skip val->pciDevice */
10760 /* skip val->pciFunction */
10761 }
10762
10763 static inline void
vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDevicePCIBusInfoPropertiesEXT * val)10764 vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDevicePCIBusInfoPropertiesEXT *val)
10765 {
10766 VkStructureType stype;
10767 vn_decode_VkStructureType(dec, &stype);
10768 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT)
10769 vn_cs_decoder_set_fatal(dec);
10770
10771 val->sType = stype;
10772 val->pNext = vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_pnext_partial_temp(dec);
10773 vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self_partial_temp(dec, val);
10774 }
10775
10776 /* struct VkPhysicalDeviceDepthStencilResolveProperties chain */
10777
10778 static inline void
vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(struct vn_cs_encoder * enc,const void * val)10779 vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10780 {
10781 /* no known/supported struct */
10782 vn_encode_simple_pointer(enc, NULL);
10783 }
10784
10785 static inline void
vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceDepthStencilResolveProperties * val)10786 vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)
10787 {
10788 /* skip val->{sType,pNext} */
10789 vn_encode_VkFlags(enc, &val->supportedDepthResolveModes);
10790 vn_encode_VkFlags(enc, &val->supportedStencilResolveModes);
10791 vn_encode_VkBool32(enc, &val->independentResolveNone);
10792 vn_encode_VkBool32(enc, &val->independentResolve);
10793 }
10794
10795 static inline void
vn_encode_VkPhysicalDeviceDepthStencilResolveProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceDepthStencilResolveProperties * val)10796 vn_encode_VkPhysicalDeviceDepthStencilResolveProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceDepthStencilResolveProperties *val)
10797 {
10798 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES);
10799 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES });
10800 vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_pnext(enc, val->pNext);
10801 vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self(enc, val);
10802 }
10803
10804 static inline void *
vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10805 vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10806 {
10807 /* no known/supported struct */
10808 if (vn_decode_simple_pointer(dec))
10809 vn_cs_decoder_set_fatal(dec);
10810 return NULL;
10811 }
10812
10813 static inline void
vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthStencilResolveProperties * val)10814 vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)
10815 {
10816 /* skip val->{sType,pNext} */
10817 /* skip val->supportedDepthResolveModes */
10818 /* skip val->supportedStencilResolveModes */
10819 /* skip val->independentResolveNone */
10820 /* skip val->independentResolve */
10821 }
10822
10823 static inline void
vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceDepthStencilResolveProperties * val)10824 vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceDepthStencilResolveProperties *val)
10825 {
10826 VkStructureType stype;
10827 vn_decode_VkStructureType(dec, &stype);
10828 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES)
10829 vn_cs_decoder_set_fatal(dec);
10830
10831 val->sType = stype;
10832 val->pNext = vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_pnext_partial_temp(dec);
10833 vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial_temp(dec, val);
10834 }
10835
10836 /* struct VkPhysicalDeviceTransformFeedbackPropertiesEXT chain */
10837
10838 static inline void
vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)10839 vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
10840 {
10841 /* no known/supported struct */
10842 vn_encode_simple_pointer(enc, NULL);
10843 }
10844
10845 static inline void
vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * val)10846 vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
10847 {
10848 /* skip val->{sType,pNext} */
10849 vn_encode_uint32_t(enc, &val->maxTransformFeedbackStreams);
10850 vn_encode_uint32_t(enc, &val->maxTransformFeedbackBuffers);
10851 vn_encode_VkDeviceSize(enc, &val->maxTransformFeedbackBufferSize);
10852 vn_encode_uint32_t(enc, &val->maxTransformFeedbackStreamDataSize);
10853 vn_encode_uint32_t(enc, &val->maxTransformFeedbackBufferDataSize);
10854 vn_encode_uint32_t(enc, &val->maxTransformFeedbackBufferDataStride);
10855 vn_encode_VkBool32(enc, &val->transformFeedbackQueries);
10856 vn_encode_VkBool32(enc, &val->transformFeedbackStreamsLinesTriangles);
10857 vn_encode_VkBool32(enc, &val->transformFeedbackRasterizationStreamSelect);
10858 vn_encode_VkBool32(enc, &val->transformFeedbackDraw);
10859 }
10860
10861 static inline void
vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * val)10862 vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
10863 {
10864 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT);
10865 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT });
10866 vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext(enc, val->pNext);
10867 vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(enc, val);
10868 }
10869
10870 static inline void *
vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)10871 vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
10872 {
10873 /* no known/supported struct */
10874 if (vn_decode_simple_pointer(dec))
10875 vn_cs_decoder_set_fatal(dec);
10876 return NULL;
10877 }
10878
10879 static inline void
vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTransformFeedbackPropertiesEXT * val)10880 vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
10881 {
10882 /* skip val->{sType,pNext} */
10883 /* skip val->maxTransformFeedbackStreams */
10884 /* skip val->maxTransformFeedbackBuffers */
10885 /* skip val->maxTransformFeedbackBufferSize */
10886 /* skip val->maxTransformFeedbackStreamDataSize */
10887 /* skip val->maxTransformFeedbackBufferDataSize */
10888 /* skip val->maxTransformFeedbackBufferDataStride */
10889 /* skip val->transformFeedbackQueries */
10890 /* skip val->transformFeedbackStreamsLinesTriangles */
10891 /* skip val->transformFeedbackRasterizationStreamSelect */
10892 /* skip val->transformFeedbackDraw */
10893 }
10894
10895 static inline void
vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTransformFeedbackPropertiesEXT * val)10896 vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTransformFeedbackPropertiesEXT *val)
10897 {
10898 VkStructureType stype;
10899 vn_decode_VkStructureType(dec, &stype);
10900 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT)
10901 vn_cs_decoder_set_fatal(dec);
10902
10903 val->sType = stype;
10904 val->pNext = vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_pnext_partial_temp(dec);
10905 vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial_temp(dec, val);
10906 }
10907
10908 /* struct VkPhysicalDeviceTexelBufferAlignmentProperties chain */
10909
10910 static inline void
vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_pnext(struct vn_cs_encoder * enc,const void * val)10911 vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10912 {
10913 /* no known/supported struct */
10914 vn_encode_simple_pointer(enc, NULL);
10915 }
10916
10917 static inline void
vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceTexelBufferAlignmentProperties * val)10918 vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceTexelBufferAlignmentProperties *val)
10919 {
10920 /* skip val->{sType,pNext} */
10921 vn_encode_VkDeviceSize(enc, &val->storageTexelBufferOffsetAlignmentBytes);
10922 vn_encode_VkBool32(enc, &val->storageTexelBufferOffsetSingleTexelAlignment);
10923 vn_encode_VkDeviceSize(enc, &val->uniformTexelBufferOffsetAlignmentBytes);
10924 vn_encode_VkBool32(enc, &val->uniformTexelBufferOffsetSingleTexelAlignment);
10925 }
10926
10927 static inline void
vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceTexelBufferAlignmentProperties * val)10928 vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceTexelBufferAlignmentProperties *val)
10929 {
10930 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES);
10931 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES });
10932 vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_pnext(enc, val->pNext);
10933 vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_self(enc, val);
10934 }
10935
10936 static inline void *
vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10937 vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10938 {
10939 /* no known/supported struct */
10940 if (vn_decode_simple_pointer(dec))
10941 vn_cs_decoder_set_fatal(dec);
10942 return NULL;
10943 }
10944
10945 static inline void
vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTexelBufferAlignmentProperties * val)10946 vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTexelBufferAlignmentProperties *val)
10947 {
10948 /* skip val->{sType,pNext} */
10949 /* skip val->storageTexelBufferOffsetAlignmentBytes */
10950 /* skip val->storageTexelBufferOffsetSingleTexelAlignment */
10951 /* skip val->uniformTexelBufferOffsetAlignmentBytes */
10952 /* skip val->uniformTexelBufferOffsetSingleTexelAlignment */
10953 }
10954
10955 static inline void
vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceTexelBufferAlignmentProperties * val)10956 vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceTexelBufferAlignmentProperties *val)
10957 {
10958 VkStructureType stype;
10959 vn_decode_VkStructureType(dec, &stype);
10960 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES)
10961 vn_cs_decoder_set_fatal(dec);
10962
10963 val->sType = stype;
10964 val->pNext = vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_pnext_partial_temp(dec);
10965 vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_self_partial_temp(dec, val);
10966 }
10967
10968 /* struct VkPhysicalDeviceSubgroupSizeControlProperties chain */
10969
10970 static inline void
vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_pnext(struct vn_cs_encoder * enc,const void * val)10971 vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_pnext(struct vn_cs_encoder *enc, const void *val)
10972 {
10973 /* no known/supported struct */
10974 vn_encode_simple_pointer(enc, NULL);
10975 }
10976
10977 static inline void
vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceSubgroupSizeControlProperties * val)10978 vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupSizeControlProperties *val)
10979 {
10980 /* skip val->{sType,pNext} */
10981 vn_encode_uint32_t(enc, &val->minSubgroupSize);
10982 vn_encode_uint32_t(enc, &val->maxSubgroupSize);
10983 vn_encode_uint32_t(enc, &val->maxComputeWorkgroupSubgroups);
10984 vn_encode_VkFlags(enc, &val->requiredSubgroupSizeStages);
10985 }
10986
10987 static inline void
vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceSubgroupSizeControlProperties * val)10988 vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceSubgroupSizeControlProperties *val)
10989 {
10990 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES);
10991 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES });
10992 vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_pnext(enc, val->pNext);
10993 vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_self(enc, val);
10994 }
10995
10996 static inline void *
vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_pnext_partial_temp(struct vn_cs_decoder * dec)10997 vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
10998 {
10999 /* no known/supported struct */
11000 if (vn_decode_simple_pointer(dec))
11001 vn_cs_decoder_set_fatal(dec);
11002 return NULL;
11003 }
11004
11005 static inline void
vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupSizeControlProperties * val)11006 vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupSizeControlProperties *val)
11007 {
11008 /* skip val->{sType,pNext} */
11009 /* skip val->minSubgroupSize */
11010 /* skip val->maxSubgroupSize */
11011 /* skip val->maxComputeWorkgroupSubgroups */
11012 /* skip val->requiredSubgroupSizeStages */
11013 }
11014
11015 static inline void
vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSubgroupSizeControlProperties * val)11016 vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSubgroupSizeControlProperties *val)
11017 {
11018 VkStructureType stype;
11019 vn_decode_VkStructureType(dec, &stype);
11020 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES)
11021 vn_cs_decoder_set_fatal(dec);
11022
11023 val->sType = stype;
11024 val->pNext = vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_pnext_partial_temp(dec);
11025 vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial_temp(dec, val);
11026 }
11027
11028 /* struct VkPhysicalDeviceLineRasterizationPropertiesEXT chain */
11029
11030 static inline void
vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)11031 vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
11032 {
11033 /* no known/supported struct */
11034 vn_encode_simple_pointer(enc, NULL);
11035 }
11036
11037 static inline void
vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceLineRasterizationPropertiesEXT * val)11038 vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationPropertiesEXT *val)
11039 {
11040 /* skip val->{sType,pNext} */
11041 vn_encode_uint32_t(enc, &val->lineSubPixelPrecisionBits);
11042 }
11043
11044 static inline void
vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceLineRasterizationPropertiesEXT * val)11045 vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceLineRasterizationPropertiesEXT *val)
11046 {
11047 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT);
11048 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT });
11049 vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_pnext(enc, val->pNext);
11050 vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self(enc, val);
11051 }
11052
11053 static inline void *
vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)11054 vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
11055 {
11056 /* no known/supported struct */
11057 if (vn_decode_simple_pointer(dec))
11058 vn_cs_decoder_set_fatal(dec);
11059 return NULL;
11060 }
11061
11062 static inline void
vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLineRasterizationPropertiesEXT * val)11063 vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationPropertiesEXT *val)
11064 {
11065 /* skip val->{sType,pNext} */
11066 /* skip val->lineSubPixelPrecisionBits */
11067 }
11068
11069 static inline void
vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceLineRasterizationPropertiesEXT * val)11070 vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceLineRasterizationPropertiesEXT *val)
11071 {
11072 VkStructureType stype;
11073 vn_decode_VkStructureType(dec, &stype);
11074 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT)
11075 vn_cs_decoder_set_fatal(dec);
11076
11077 val->sType = stype;
11078 val->pNext = vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_pnext_partial_temp(dec);
11079 vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self_partial_temp(dec, val);
11080 }
11081
11082 /* struct VkPhysicalDeviceVulkan11Properties chain */
11083
11084 static inline void
vn_encode_VkPhysicalDeviceVulkan11Properties_pnext(struct vn_cs_encoder * enc,const void * val)11085 vn_encode_VkPhysicalDeviceVulkan11Properties_pnext(struct vn_cs_encoder *enc, const void *val)
11086 {
11087 /* no known/supported struct */
11088 vn_encode_simple_pointer(enc, NULL);
11089 }
11090
11091 static inline void
vn_encode_VkPhysicalDeviceVulkan11Properties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan11Properties * val)11092 vn_encode_VkPhysicalDeviceVulkan11Properties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)
11093 {
11094 /* skip val->{sType,pNext} */
11095 vn_encode_array_size(enc, VK_UUID_SIZE);
11096 vn_encode_uint8_t_array(enc, val->deviceUUID, VK_UUID_SIZE);
11097 vn_encode_array_size(enc, VK_UUID_SIZE);
11098 vn_encode_uint8_t_array(enc, val->driverUUID, VK_UUID_SIZE);
11099 vn_encode_array_size(enc, VK_LUID_SIZE);
11100 vn_encode_uint8_t_array(enc, val->deviceLUID, VK_LUID_SIZE);
11101 vn_encode_uint32_t(enc, &val->deviceNodeMask);
11102 vn_encode_VkBool32(enc, &val->deviceLUIDValid);
11103 vn_encode_uint32_t(enc, &val->subgroupSize);
11104 vn_encode_VkFlags(enc, &val->subgroupSupportedStages);
11105 vn_encode_VkFlags(enc, &val->subgroupSupportedOperations);
11106 vn_encode_VkBool32(enc, &val->subgroupQuadOperationsInAllStages);
11107 vn_encode_VkPointClippingBehavior(enc, &val->pointClippingBehavior);
11108 vn_encode_uint32_t(enc, &val->maxMultiviewViewCount);
11109 vn_encode_uint32_t(enc, &val->maxMultiviewInstanceIndex);
11110 vn_encode_VkBool32(enc, &val->protectedNoFault);
11111 vn_encode_uint32_t(enc, &val->maxPerSetDescriptors);
11112 vn_encode_VkDeviceSize(enc, &val->maxMemoryAllocationSize);
11113 }
11114
11115 static inline void
vn_encode_VkPhysicalDeviceVulkan11Properties(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan11Properties * val)11116 vn_encode_VkPhysicalDeviceVulkan11Properties(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan11Properties *val)
11117 {
11118 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES);
11119 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES });
11120 vn_encode_VkPhysicalDeviceVulkan11Properties_pnext(enc, val->pNext);
11121 vn_encode_VkPhysicalDeviceVulkan11Properties_self(enc, val);
11122 }
11123
11124 static inline void *
vn_decode_VkPhysicalDeviceVulkan11Properties_pnext_partial_temp(struct vn_cs_decoder * dec)11125 vn_decode_VkPhysicalDeviceVulkan11Properties_pnext_partial_temp(struct vn_cs_decoder *dec)
11126 {
11127 /* no known/supported struct */
11128 if (vn_decode_simple_pointer(dec))
11129 vn_cs_decoder_set_fatal(dec);
11130 return NULL;
11131 }
11132
11133 static inline void
vn_decode_VkPhysicalDeviceVulkan11Properties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan11Properties * val)11134 vn_decode_VkPhysicalDeviceVulkan11Properties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)
11135 {
11136 /* skip val->{sType,pNext} */
11137 /* skip val->deviceUUID */
11138 /* skip val->driverUUID */
11139 /* skip val->deviceLUID */
11140 /* skip val->deviceNodeMask */
11141 /* skip val->deviceLUIDValid */
11142 /* skip val->subgroupSize */
11143 /* skip val->subgroupSupportedStages */
11144 /* skip val->subgroupSupportedOperations */
11145 /* skip val->subgroupQuadOperationsInAllStages */
11146 /* skip val->pointClippingBehavior */
11147 /* skip val->maxMultiviewViewCount */
11148 /* skip val->maxMultiviewInstanceIndex */
11149 /* skip val->protectedNoFault */
11150 /* skip val->maxPerSetDescriptors */
11151 /* skip val->maxMemoryAllocationSize */
11152 }
11153
11154 static inline void
vn_decode_VkPhysicalDeviceVulkan11Properties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan11Properties * val)11155 vn_decode_VkPhysicalDeviceVulkan11Properties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan11Properties *val)
11156 {
11157 VkStructureType stype;
11158 vn_decode_VkStructureType(dec, &stype);
11159 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES)
11160 vn_cs_decoder_set_fatal(dec);
11161
11162 val->sType = stype;
11163 val->pNext = vn_decode_VkPhysicalDeviceVulkan11Properties_pnext_partial_temp(dec);
11164 vn_decode_VkPhysicalDeviceVulkan11Properties_self_partial_temp(dec, val);
11165 }
11166
11167 /* struct VkPhysicalDeviceVulkan12Properties chain */
11168
11169 static inline void
vn_encode_VkPhysicalDeviceVulkan12Properties_pnext(struct vn_cs_encoder * enc,const void * val)11170 vn_encode_VkPhysicalDeviceVulkan12Properties_pnext(struct vn_cs_encoder *enc, const void *val)
11171 {
11172 /* no known/supported struct */
11173 vn_encode_simple_pointer(enc, NULL);
11174 }
11175
11176 static inline void
vn_encode_VkPhysicalDeviceVulkan12Properties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan12Properties * val)11177 vn_encode_VkPhysicalDeviceVulkan12Properties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)
11178 {
11179 /* skip val->{sType,pNext} */
11180 vn_encode_VkDriverId(enc, &val->driverID);
11181 vn_encode_array_size(enc, VK_MAX_DRIVER_NAME_SIZE);
11182 vn_encode_char_array(enc, val->driverName, VK_MAX_DRIVER_NAME_SIZE);
11183 vn_encode_array_size(enc, VK_MAX_DRIVER_INFO_SIZE);
11184 vn_encode_char_array(enc, val->driverInfo, VK_MAX_DRIVER_INFO_SIZE);
11185 vn_encode_VkConformanceVersion(enc, &val->conformanceVersion);
11186 vn_encode_VkShaderFloatControlsIndependence(enc, &val->denormBehaviorIndependence);
11187 vn_encode_VkShaderFloatControlsIndependence(enc, &val->roundingModeIndependence);
11188 vn_encode_VkBool32(enc, &val->shaderSignedZeroInfNanPreserveFloat16);
11189 vn_encode_VkBool32(enc, &val->shaderSignedZeroInfNanPreserveFloat32);
11190 vn_encode_VkBool32(enc, &val->shaderSignedZeroInfNanPreserveFloat64);
11191 vn_encode_VkBool32(enc, &val->shaderDenormPreserveFloat16);
11192 vn_encode_VkBool32(enc, &val->shaderDenormPreserveFloat32);
11193 vn_encode_VkBool32(enc, &val->shaderDenormPreserveFloat64);
11194 vn_encode_VkBool32(enc, &val->shaderDenormFlushToZeroFloat16);
11195 vn_encode_VkBool32(enc, &val->shaderDenormFlushToZeroFloat32);
11196 vn_encode_VkBool32(enc, &val->shaderDenormFlushToZeroFloat64);
11197 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTEFloat16);
11198 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTEFloat32);
11199 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTEFloat64);
11200 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTZFloat16);
11201 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTZFloat32);
11202 vn_encode_VkBool32(enc, &val->shaderRoundingModeRTZFloat64);
11203 vn_encode_uint32_t(enc, &val->maxUpdateAfterBindDescriptorsInAllPools);
11204 vn_encode_VkBool32(enc, &val->shaderUniformBufferArrayNonUniformIndexingNative);
11205 vn_encode_VkBool32(enc, &val->shaderSampledImageArrayNonUniformIndexingNative);
11206 vn_encode_VkBool32(enc, &val->shaderStorageBufferArrayNonUniformIndexingNative);
11207 vn_encode_VkBool32(enc, &val->shaderStorageImageArrayNonUniformIndexingNative);
11208 vn_encode_VkBool32(enc, &val->shaderInputAttachmentArrayNonUniformIndexingNative);
11209 vn_encode_VkBool32(enc, &val->robustBufferAccessUpdateAfterBind);
11210 vn_encode_VkBool32(enc, &val->quadDivergentImplicitLod);
11211 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindSamplers);
11212 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindUniformBuffers);
11213 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindStorageBuffers);
11214 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindSampledImages);
11215 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindStorageImages);
11216 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindInputAttachments);
11217 vn_encode_uint32_t(enc, &val->maxPerStageUpdateAfterBindResources);
11218 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindSamplers);
11219 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindUniformBuffers);
11220 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic);
11221 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindStorageBuffers);
11222 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic);
11223 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindSampledImages);
11224 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindStorageImages);
11225 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindInputAttachments);
11226 vn_encode_VkFlags(enc, &val->supportedDepthResolveModes);
11227 vn_encode_VkFlags(enc, &val->supportedStencilResolveModes);
11228 vn_encode_VkBool32(enc, &val->independentResolveNone);
11229 vn_encode_VkBool32(enc, &val->independentResolve);
11230 vn_encode_VkBool32(enc, &val->filterMinmaxSingleComponentFormats);
11231 vn_encode_VkBool32(enc, &val->filterMinmaxImageComponentMapping);
11232 vn_encode_uint64_t(enc, &val->maxTimelineSemaphoreValueDifference);
11233 vn_encode_VkFlags(enc, &val->framebufferIntegerColorSampleCounts);
11234 }
11235
11236 static inline void
vn_encode_VkPhysicalDeviceVulkan12Properties(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan12Properties * val)11237 vn_encode_VkPhysicalDeviceVulkan12Properties(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan12Properties *val)
11238 {
11239 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES);
11240 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES });
11241 vn_encode_VkPhysicalDeviceVulkan12Properties_pnext(enc, val->pNext);
11242 vn_encode_VkPhysicalDeviceVulkan12Properties_self(enc, val);
11243 }
11244
11245 static inline void *
vn_decode_VkPhysicalDeviceVulkan12Properties_pnext_partial_temp(struct vn_cs_decoder * dec)11246 vn_decode_VkPhysicalDeviceVulkan12Properties_pnext_partial_temp(struct vn_cs_decoder *dec)
11247 {
11248 /* no known/supported struct */
11249 if (vn_decode_simple_pointer(dec))
11250 vn_cs_decoder_set_fatal(dec);
11251 return NULL;
11252 }
11253
11254 static inline void
vn_decode_VkPhysicalDeviceVulkan12Properties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan12Properties * val)11255 vn_decode_VkPhysicalDeviceVulkan12Properties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)
11256 {
11257 /* skip val->{sType,pNext} */
11258 /* skip val->driverID */
11259 /* skip val->driverName */
11260 /* skip val->driverInfo */
11261 vn_decode_VkConformanceVersion_partial_temp(dec, &val->conformanceVersion);
11262 /* skip val->denormBehaviorIndependence */
11263 /* skip val->roundingModeIndependence */
11264 /* skip val->shaderSignedZeroInfNanPreserveFloat16 */
11265 /* skip val->shaderSignedZeroInfNanPreserveFloat32 */
11266 /* skip val->shaderSignedZeroInfNanPreserveFloat64 */
11267 /* skip val->shaderDenormPreserveFloat16 */
11268 /* skip val->shaderDenormPreserveFloat32 */
11269 /* skip val->shaderDenormPreserveFloat64 */
11270 /* skip val->shaderDenormFlushToZeroFloat16 */
11271 /* skip val->shaderDenormFlushToZeroFloat32 */
11272 /* skip val->shaderDenormFlushToZeroFloat64 */
11273 /* skip val->shaderRoundingModeRTEFloat16 */
11274 /* skip val->shaderRoundingModeRTEFloat32 */
11275 /* skip val->shaderRoundingModeRTEFloat64 */
11276 /* skip val->shaderRoundingModeRTZFloat16 */
11277 /* skip val->shaderRoundingModeRTZFloat32 */
11278 /* skip val->shaderRoundingModeRTZFloat64 */
11279 /* skip val->maxUpdateAfterBindDescriptorsInAllPools */
11280 /* skip val->shaderUniformBufferArrayNonUniformIndexingNative */
11281 /* skip val->shaderSampledImageArrayNonUniformIndexingNative */
11282 /* skip val->shaderStorageBufferArrayNonUniformIndexingNative */
11283 /* skip val->shaderStorageImageArrayNonUniformIndexingNative */
11284 /* skip val->shaderInputAttachmentArrayNonUniformIndexingNative */
11285 /* skip val->robustBufferAccessUpdateAfterBind */
11286 /* skip val->quadDivergentImplicitLod */
11287 /* skip val->maxPerStageDescriptorUpdateAfterBindSamplers */
11288 /* skip val->maxPerStageDescriptorUpdateAfterBindUniformBuffers */
11289 /* skip val->maxPerStageDescriptorUpdateAfterBindStorageBuffers */
11290 /* skip val->maxPerStageDescriptorUpdateAfterBindSampledImages */
11291 /* skip val->maxPerStageDescriptorUpdateAfterBindStorageImages */
11292 /* skip val->maxPerStageDescriptorUpdateAfterBindInputAttachments */
11293 /* skip val->maxPerStageUpdateAfterBindResources */
11294 /* skip val->maxDescriptorSetUpdateAfterBindSamplers */
11295 /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffers */
11296 /* skip val->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic */
11297 /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffers */
11298 /* skip val->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic */
11299 /* skip val->maxDescriptorSetUpdateAfterBindSampledImages */
11300 /* skip val->maxDescriptorSetUpdateAfterBindStorageImages */
11301 /* skip val->maxDescriptorSetUpdateAfterBindInputAttachments */
11302 /* skip val->supportedDepthResolveModes */
11303 /* skip val->supportedStencilResolveModes */
11304 /* skip val->independentResolveNone */
11305 /* skip val->independentResolve */
11306 /* skip val->filterMinmaxSingleComponentFormats */
11307 /* skip val->filterMinmaxImageComponentMapping */
11308 /* skip val->maxTimelineSemaphoreValueDifference */
11309 /* skip val->framebufferIntegerColorSampleCounts */
11310 }
11311
11312 static inline void
vn_decode_VkPhysicalDeviceVulkan12Properties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan12Properties * val)11313 vn_decode_VkPhysicalDeviceVulkan12Properties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan12Properties *val)
11314 {
11315 VkStructureType stype;
11316 vn_decode_VkStructureType(dec, &stype);
11317 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES)
11318 vn_cs_decoder_set_fatal(dec);
11319
11320 val->sType = stype;
11321 val->pNext = vn_decode_VkPhysicalDeviceVulkan12Properties_pnext_partial_temp(dec);
11322 vn_decode_VkPhysicalDeviceVulkan12Properties_self_partial_temp(dec, val);
11323 }
11324
11325 /* struct VkPhysicalDeviceVulkan13Properties chain */
11326
11327 static inline void
vn_encode_VkPhysicalDeviceVulkan13Properties_pnext(struct vn_cs_encoder * enc,const void * val)11328 vn_encode_VkPhysicalDeviceVulkan13Properties_pnext(struct vn_cs_encoder *enc, const void *val)
11329 {
11330 /* no known/supported struct */
11331 vn_encode_simple_pointer(enc, NULL);
11332 }
11333
11334 static inline void
vn_encode_VkPhysicalDeviceVulkan13Properties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan13Properties * val)11335 vn_encode_VkPhysicalDeviceVulkan13Properties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan13Properties *val)
11336 {
11337 /* skip val->{sType,pNext} */
11338 vn_encode_uint32_t(enc, &val->minSubgroupSize);
11339 vn_encode_uint32_t(enc, &val->maxSubgroupSize);
11340 vn_encode_uint32_t(enc, &val->maxComputeWorkgroupSubgroups);
11341 vn_encode_VkFlags(enc, &val->requiredSubgroupSizeStages);
11342 vn_encode_uint32_t(enc, &val->maxInlineUniformBlockSize);
11343 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorInlineUniformBlocks);
11344 vn_encode_uint32_t(enc, &val->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks);
11345 vn_encode_uint32_t(enc, &val->maxDescriptorSetInlineUniformBlocks);
11346 vn_encode_uint32_t(enc, &val->maxDescriptorSetUpdateAfterBindInlineUniformBlocks);
11347 vn_encode_uint32_t(enc, &val->maxInlineUniformTotalSize);
11348 vn_encode_VkBool32(enc, &val->integerDotProduct8BitUnsignedAccelerated);
11349 vn_encode_VkBool32(enc, &val->integerDotProduct8BitSignedAccelerated);
11350 vn_encode_VkBool32(enc, &val->integerDotProduct8BitMixedSignednessAccelerated);
11351 vn_encode_VkBool32(enc, &val->integerDotProduct4x8BitPackedUnsignedAccelerated);
11352 vn_encode_VkBool32(enc, &val->integerDotProduct4x8BitPackedSignedAccelerated);
11353 vn_encode_VkBool32(enc, &val->integerDotProduct4x8BitPackedMixedSignednessAccelerated);
11354 vn_encode_VkBool32(enc, &val->integerDotProduct16BitUnsignedAccelerated);
11355 vn_encode_VkBool32(enc, &val->integerDotProduct16BitSignedAccelerated);
11356 vn_encode_VkBool32(enc, &val->integerDotProduct16BitMixedSignednessAccelerated);
11357 vn_encode_VkBool32(enc, &val->integerDotProduct32BitUnsignedAccelerated);
11358 vn_encode_VkBool32(enc, &val->integerDotProduct32BitSignedAccelerated);
11359 vn_encode_VkBool32(enc, &val->integerDotProduct32BitMixedSignednessAccelerated);
11360 vn_encode_VkBool32(enc, &val->integerDotProduct64BitUnsignedAccelerated);
11361 vn_encode_VkBool32(enc, &val->integerDotProduct64BitSignedAccelerated);
11362 vn_encode_VkBool32(enc, &val->integerDotProduct64BitMixedSignednessAccelerated);
11363 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated);
11364 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating8BitSignedAccelerated);
11365 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated);
11366 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated);
11367 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated);
11368 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated);
11369 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated);
11370 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating16BitSignedAccelerated);
11371 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated);
11372 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated);
11373 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating32BitSignedAccelerated);
11374 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated);
11375 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated);
11376 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating64BitSignedAccelerated);
11377 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated);
11378 vn_encode_VkDeviceSize(enc, &val->storageTexelBufferOffsetAlignmentBytes);
11379 vn_encode_VkBool32(enc, &val->storageTexelBufferOffsetSingleTexelAlignment);
11380 vn_encode_VkDeviceSize(enc, &val->uniformTexelBufferOffsetAlignmentBytes);
11381 vn_encode_VkBool32(enc, &val->uniformTexelBufferOffsetSingleTexelAlignment);
11382 vn_encode_VkDeviceSize(enc, &val->maxBufferSize);
11383 }
11384
11385 static inline void
vn_encode_VkPhysicalDeviceVulkan13Properties(struct vn_cs_encoder * enc,const VkPhysicalDeviceVulkan13Properties * val)11386 vn_encode_VkPhysicalDeviceVulkan13Properties(struct vn_cs_encoder *enc, const VkPhysicalDeviceVulkan13Properties *val)
11387 {
11388 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES);
11389 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES });
11390 vn_encode_VkPhysicalDeviceVulkan13Properties_pnext(enc, val->pNext);
11391 vn_encode_VkPhysicalDeviceVulkan13Properties_self(enc, val);
11392 }
11393
11394 static inline void *
vn_decode_VkPhysicalDeviceVulkan13Properties_pnext_partial_temp(struct vn_cs_decoder * dec)11395 vn_decode_VkPhysicalDeviceVulkan13Properties_pnext_partial_temp(struct vn_cs_decoder *dec)
11396 {
11397 /* no known/supported struct */
11398 if (vn_decode_simple_pointer(dec))
11399 vn_cs_decoder_set_fatal(dec);
11400 return NULL;
11401 }
11402
11403 static inline void
vn_decode_VkPhysicalDeviceVulkan13Properties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan13Properties * val)11404 vn_decode_VkPhysicalDeviceVulkan13Properties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan13Properties *val)
11405 {
11406 /* skip val->{sType,pNext} */
11407 /* skip val->minSubgroupSize */
11408 /* skip val->maxSubgroupSize */
11409 /* skip val->maxComputeWorkgroupSubgroups */
11410 /* skip val->requiredSubgroupSizeStages */
11411 /* skip val->maxInlineUniformBlockSize */
11412 /* skip val->maxPerStageDescriptorInlineUniformBlocks */
11413 /* skip val->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks */
11414 /* skip val->maxDescriptorSetInlineUniformBlocks */
11415 /* skip val->maxDescriptorSetUpdateAfterBindInlineUniformBlocks */
11416 /* skip val->maxInlineUniformTotalSize */
11417 /* skip val->integerDotProduct8BitUnsignedAccelerated */
11418 /* skip val->integerDotProduct8BitSignedAccelerated */
11419 /* skip val->integerDotProduct8BitMixedSignednessAccelerated */
11420 /* skip val->integerDotProduct4x8BitPackedUnsignedAccelerated */
11421 /* skip val->integerDotProduct4x8BitPackedSignedAccelerated */
11422 /* skip val->integerDotProduct4x8BitPackedMixedSignednessAccelerated */
11423 /* skip val->integerDotProduct16BitUnsignedAccelerated */
11424 /* skip val->integerDotProduct16BitSignedAccelerated */
11425 /* skip val->integerDotProduct16BitMixedSignednessAccelerated */
11426 /* skip val->integerDotProduct32BitUnsignedAccelerated */
11427 /* skip val->integerDotProduct32BitSignedAccelerated */
11428 /* skip val->integerDotProduct32BitMixedSignednessAccelerated */
11429 /* skip val->integerDotProduct64BitUnsignedAccelerated */
11430 /* skip val->integerDotProduct64BitSignedAccelerated */
11431 /* skip val->integerDotProduct64BitMixedSignednessAccelerated */
11432 /* skip val->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated */
11433 /* skip val->integerDotProductAccumulatingSaturating8BitSignedAccelerated */
11434 /* skip val->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated */
11435 /* skip val->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated */
11436 /* skip val->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated */
11437 /* skip val->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated */
11438 /* skip val->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated */
11439 /* skip val->integerDotProductAccumulatingSaturating16BitSignedAccelerated */
11440 /* skip val->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated */
11441 /* skip val->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated */
11442 /* skip val->integerDotProductAccumulatingSaturating32BitSignedAccelerated */
11443 /* skip val->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated */
11444 /* skip val->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated */
11445 /* skip val->integerDotProductAccumulatingSaturating64BitSignedAccelerated */
11446 /* skip val->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated */
11447 /* skip val->storageTexelBufferOffsetAlignmentBytes */
11448 /* skip val->storageTexelBufferOffsetSingleTexelAlignment */
11449 /* skip val->uniformTexelBufferOffsetAlignmentBytes */
11450 /* skip val->uniformTexelBufferOffsetSingleTexelAlignment */
11451 /* skip val->maxBufferSize */
11452 }
11453
11454 static inline void
vn_decode_VkPhysicalDeviceVulkan13Properties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceVulkan13Properties * val)11455 vn_decode_VkPhysicalDeviceVulkan13Properties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceVulkan13Properties *val)
11456 {
11457 VkStructureType stype;
11458 vn_decode_VkStructureType(dec, &stype);
11459 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES)
11460 vn_cs_decoder_set_fatal(dec);
11461
11462 val->sType = stype;
11463 val->pNext = vn_decode_VkPhysicalDeviceVulkan13Properties_pnext_partial_temp(dec);
11464 vn_decode_VkPhysicalDeviceVulkan13Properties_self_partial_temp(dec, val);
11465 }
11466
11467 /* struct VkPhysicalDeviceCustomBorderColorPropertiesEXT chain */
11468
11469 static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)11470 vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
11471 {
11472 /* no known/supported struct */
11473 vn_encode_simple_pointer(enc, NULL);
11474 }
11475
11476 static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * val)11477 vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
11478 {
11479 /* skip val->{sType,pNext} */
11480 vn_encode_uint32_t(enc, &val->maxCustomBorderColorSamplers);
11481 }
11482
11483 static inline void
vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * val)11484 vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
11485 {
11486 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT);
11487 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT });
11488 vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext(enc, val->pNext);
11489 vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(enc, val);
11490 }
11491
11492 static inline void *
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)11493 vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
11494 {
11495 /* no known/supported struct */
11496 if (vn_decode_simple_pointer(dec))
11497 vn_cs_decoder_set_fatal(dec);
11498 return NULL;
11499 }
11500
11501 static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceCustomBorderColorPropertiesEXT * val)11502 vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
11503 {
11504 /* skip val->{sType,pNext} */
11505 /* skip val->maxCustomBorderColorSamplers */
11506 }
11507
11508 static inline void
vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceCustomBorderColorPropertiesEXT * val)11509 vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceCustomBorderColorPropertiesEXT *val)
11510 {
11511 VkStructureType stype;
11512 vn_decode_VkStructureType(dec, &stype);
11513 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT)
11514 vn_cs_decoder_set_fatal(dec);
11515
11516 val->sType = stype;
11517 val->pNext = vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_pnext_partial_temp(dec);
11518 vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(dec, val);
11519 }
11520
11521 /* struct VkPhysicalDeviceRobustness2PropertiesEXT chain */
11522
11523 static inline void
vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)11524 vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
11525 {
11526 /* no known/supported struct */
11527 vn_encode_simple_pointer(enc, NULL);
11528 }
11529
11530 static inline void
vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceRobustness2PropertiesEXT * val)11531 vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2PropertiesEXT *val)
11532 {
11533 /* skip val->{sType,pNext} */
11534 vn_encode_VkDeviceSize(enc, &val->robustStorageBufferAccessSizeAlignment);
11535 vn_encode_VkDeviceSize(enc, &val->robustUniformBufferAccessSizeAlignment);
11536 }
11537
11538 static inline void
vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceRobustness2PropertiesEXT * val)11539 vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceRobustness2PropertiesEXT *val)
11540 {
11541 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT);
11542 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT });
11543 vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext(enc, val->pNext);
11544 vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self(enc, val);
11545 }
11546
11547 static inline void *
vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)11548 vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
11549 {
11550 /* no known/supported struct */
11551 if (vn_decode_simple_pointer(dec))
11552 vn_cs_decoder_set_fatal(dec);
11553 return NULL;
11554 }
11555
11556 static inline void
vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceRobustness2PropertiesEXT * val)11557 vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2PropertiesEXT *val)
11558 {
11559 /* skip val->{sType,pNext} */
11560 /* skip val->robustStorageBufferAccessSizeAlignment */
11561 /* skip val->robustUniformBufferAccessSizeAlignment */
11562 }
11563
11564 static inline void
vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceRobustness2PropertiesEXT * val)11565 vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceRobustness2PropertiesEXT *val)
11566 {
11567 VkStructureType stype;
11568 vn_decode_VkStructureType(dec, &stype);
11569 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT)
11570 vn_cs_decoder_set_fatal(dec);
11571
11572 val->sType = stype;
11573 val->pNext = vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_pnext_partial_temp(dec);
11574 vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial_temp(dec, val);
11575 }
11576
11577 /* struct VkPhysicalDeviceProvokingVertexPropertiesEXT chain */
11578
11579 static inline void
vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_pnext(struct vn_cs_encoder * enc,const void * val)11580 vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_pnext(struct vn_cs_encoder *enc, const void *val)
11581 {
11582 /* no known/supported struct */
11583 vn_encode_simple_pointer(enc, NULL);
11584 }
11585
11586 static inline void
vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceProvokingVertexPropertiesEXT * val)11587 vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProvokingVertexPropertiesEXT *val)
11588 {
11589 /* skip val->{sType,pNext} */
11590 vn_encode_VkBool32(enc, &val->provokingVertexModePerPipeline);
11591 vn_encode_VkBool32(enc, &val->transformFeedbackPreservesTriangleFanProvokingVertex);
11592 }
11593
11594 static inline void
vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT(struct vn_cs_encoder * enc,const VkPhysicalDeviceProvokingVertexPropertiesEXT * val)11595 vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT(struct vn_cs_encoder *enc, const VkPhysicalDeviceProvokingVertexPropertiesEXT *val)
11596 {
11597 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT);
11598 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT });
11599 vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_pnext(enc, val->pNext);
11600 vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(enc, val);
11601 }
11602
11603 static inline void *
vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder * dec)11604 vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
11605 {
11606 /* no known/supported struct */
11607 if (vn_decode_simple_pointer(dec))
11608 vn_cs_decoder_set_fatal(dec);
11609 return NULL;
11610 }
11611
11612 static inline void
vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProvokingVertexPropertiesEXT * val)11613 vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProvokingVertexPropertiesEXT *val)
11614 {
11615 /* skip val->{sType,pNext} */
11616 /* skip val->provokingVertexModePerPipeline */
11617 /* skip val->transformFeedbackPreservesTriangleFanProvokingVertex */
11618 }
11619
11620 static inline void
vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProvokingVertexPropertiesEXT * val)11621 vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProvokingVertexPropertiesEXT *val)
11622 {
11623 VkStructureType stype;
11624 vn_decode_VkStructureType(dec, &stype);
11625 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT)
11626 vn_cs_decoder_set_fatal(dec);
11627
11628 val->sType = stype;
11629 val->pNext = vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_pnext_partial_temp(dec);
11630 vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self_partial_temp(dec, val);
11631 }
11632
11633 /* struct VkPhysicalDeviceShaderIntegerDotProductProperties chain */
11634
11635 static inline void
vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_pnext(struct vn_cs_encoder * enc,const void * val)11636 vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_pnext(struct vn_cs_encoder *enc, const void *val)
11637 {
11638 /* no known/supported struct */
11639 vn_encode_simple_pointer(enc, NULL);
11640 }
11641
11642 static inline void
vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderIntegerDotProductProperties * val)11643 vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderIntegerDotProductProperties *val)
11644 {
11645 /* skip val->{sType,pNext} */
11646 vn_encode_VkBool32(enc, &val->integerDotProduct8BitUnsignedAccelerated);
11647 vn_encode_VkBool32(enc, &val->integerDotProduct8BitSignedAccelerated);
11648 vn_encode_VkBool32(enc, &val->integerDotProduct8BitMixedSignednessAccelerated);
11649 vn_encode_VkBool32(enc, &val->integerDotProduct4x8BitPackedUnsignedAccelerated);
11650 vn_encode_VkBool32(enc, &val->integerDotProduct4x8BitPackedSignedAccelerated);
11651 vn_encode_VkBool32(enc, &val->integerDotProduct4x8BitPackedMixedSignednessAccelerated);
11652 vn_encode_VkBool32(enc, &val->integerDotProduct16BitUnsignedAccelerated);
11653 vn_encode_VkBool32(enc, &val->integerDotProduct16BitSignedAccelerated);
11654 vn_encode_VkBool32(enc, &val->integerDotProduct16BitMixedSignednessAccelerated);
11655 vn_encode_VkBool32(enc, &val->integerDotProduct32BitUnsignedAccelerated);
11656 vn_encode_VkBool32(enc, &val->integerDotProduct32BitSignedAccelerated);
11657 vn_encode_VkBool32(enc, &val->integerDotProduct32BitMixedSignednessAccelerated);
11658 vn_encode_VkBool32(enc, &val->integerDotProduct64BitUnsignedAccelerated);
11659 vn_encode_VkBool32(enc, &val->integerDotProduct64BitSignedAccelerated);
11660 vn_encode_VkBool32(enc, &val->integerDotProduct64BitMixedSignednessAccelerated);
11661 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated);
11662 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating8BitSignedAccelerated);
11663 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated);
11664 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated);
11665 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated);
11666 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated);
11667 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated);
11668 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating16BitSignedAccelerated);
11669 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated);
11670 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated);
11671 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating32BitSignedAccelerated);
11672 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated);
11673 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated);
11674 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating64BitSignedAccelerated);
11675 vn_encode_VkBool32(enc, &val->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated);
11676 }
11677
11678 static inline void
vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceShaderIntegerDotProductProperties * val)11679 vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceShaderIntegerDotProductProperties *val)
11680 {
11681 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES);
11682 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES });
11683 vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_pnext(enc, val->pNext);
11684 vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_self(enc, val);
11685 }
11686
11687 static inline void *
vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_pnext_partial_temp(struct vn_cs_decoder * dec)11688 vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
11689 {
11690 /* no known/supported struct */
11691 if (vn_decode_simple_pointer(dec))
11692 vn_cs_decoder_set_fatal(dec);
11693 return NULL;
11694 }
11695
11696 static inline void
vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderIntegerDotProductProperties * val)11697 vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderIntegerDotProductProperties *val)
11698 {
11699 /* skip val->{sType,pNext} */
11700 /* skip val->integerDotProduct8BitUnsignedAccelerated */
11701 /* skip val->integerDotProduct8BitSignedAccelerated */
11702 /* skip val->integerDotProduct8BitMixedSignednessAccelerated */
11703 /* skip val->integerDotProduct4x8BitPackedUnsignedAccelerated */
11704 /* skip val->integerDotProduct4x8BitPackedSignedAccelerated */
11705 /* skip val->integerDotProduct4x8BitPackedMixedSignednessAccelerated */
11706 /* skip val->integerDotProduct16BitUnsignedAccelerated */
11707 /* skip val->integerDotProduct16BitSignedAccelerated */
11708 /* skip val->integerDotProduct16BitMixedSignednessAccelerated */
11709 /* skip val->integerDotProduct32BitUnsignedAccelerated */
11710 /* skip val->integerDotProduct32BitSignedAccelerated */
11711 /* skip val->integerDotProduct32BitMixedSignednessAccelerated */
11712 /* skip val->integerDotProduct64BitUnsignedAccelerated */
11713 /* skip val->integerDotProduct64BitSignedAccelerated */
11714 /* skip val->integerDotProduct64BitMixedSignednessAccelerated */
11715 /* skip val->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated */
11716 /* skip val->integerDotProductAccumulatingSaturating8BitSignedAccelerated */
11717 /* skip val->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated */
11718 /* skip val->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated */
11719 /* skip val->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated */
11720 /* skip val->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated */
11721 /* skip val->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated */
11722 /* skip val->integerDotProductAccumulatingSaturating16BitSignedAccelerated */
11723 /* skip val->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated */
11724 /* skip val->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated */
11725 /* skip val->integerDotProductAccumulatingSaturating32BitSignedAccelerated */
11726 /* skip val->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated */
11727 /* skip val->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated */
11728 /* skip val->integerDotProductAccumulatingSaturating64BitSignedAccelerated */
11729 /* skip val->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated */
11730 }
11731
11732 static inline void
vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceShaderIntegerDotProductProperties * val)11733 vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceShaderIntegerDotProductProperties *val)
11734 {
11735 VkStructureType stype;
11736 vn_decode_VkStructureType(dec, &stype);
11737 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES)
11738 vn_cs_decoder_set_fatal(dec);
11739
11740 val->sType = stype;
11741 val->pNext = vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_pnext_partial_temp(dec);
11742 vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_self_partial_temp(dec, val);
11743 }
11744
11745 /* struct VkPhysicalDeviceProperties2 chain */
11746
11747 static inline void
vn_encode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_encoder * enc,const void * val)11748 vn_encode_VkPhysicalDeviceProperties2_pnext(struct vn_cs_encoder *enc, const void *val)
11749 {
11750 const VkBaseInStructure *pnext = val;
11751
11752 while (pnext) {
11753 switch ((int32_t)pnext->sType) {
11754 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
11755 vn_encode_simple_pointer(enc, pnext);
11756 vn_encode_VkStructureType(enc, &pnext->sType);
11757 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11758 vn_encode_VkPhysicalDeviceMultiDrawPropertiesEXT_self(enc, (const VkPhysicalDeviceMultiDrawPropertiesEXT *)pnext);
11759 return;
11760 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
11761 vn_encode_simple_pointer(enc, pnext);
11762 vn_encode_VkStructureType(enc, &pnext->sType);
11763 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11764 vn_encode_VkPhysicalDevicePushDescriptorPropertiesKHR_self(enc, (const VkPhysicalDevicePushDescriptorPropertiesKHR *)pnext);
11765 return;
11766 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
11767 vn_encode_simple_pointer(enc, pnext);
11768 vn_encode_VkStructureType(enc, &pnext->sType);
11769 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11770 vn_encode_VkPhysicalDeviceDriverProperties_self(enc, (const VkPhysicalDeviceDriverProperties *)pnext);
11771 return;
11772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
11773 vn_encode_simple_pointer(enc, pnext);
11774 vn_encode_VkStructureType(enc, &pnext->sType);
11775 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11776 vn_encode_VkPhysicalDeviceIDProperties_self(enc, (const VkPhysicalDeviceIDProperties *)pnext);
11777 return;
11778 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
11779 vn_encode_simple_pointer(enc, pnext);
11780 vn_encode_VkStructureType(enc, &pnext->sType);
11781 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11782 vn_encode_VkPhysicalDeviceMultiviewProperties_self(enc, (const VkPhysicalDeviceMultiviewProperties *)pnext);
11783 return;
11784 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
11785 vn_encode_simple_pointer(enc, pnext);
11786 vn_encode_VkStructureType(enc, &pnext->sType);
11787 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11788 vn_encode_VkPhysicalDeviceSubgroupProperties_self(enc, (const VkPhysicalDeviceSubgroupProperties *)pnext);
11789 return;
11790 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
11791 vn_encode_simple_pointer(enc, pnext);
11792 vn_encode_VkStructureType(enc, &pnext->sType);
11793 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11794 vn_encode_VkPhysicalDevicePointClippingProperties_self(enc, (const VkPhysicalDevicePointClippingProperties *)pnext);
11795 return;
11796 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
11797 vn_encode_simple_pointer(enc, pnext);
11798 vn_encode_VkStructureType(enc, &pnext->sType);
11799 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11800 vn_encode_VkPhysicalDeviceProtectedMemoryProperties_self(enc, (const VkPhysicalDeviceProtectedMemoryProperties *)pnext);
11801 return;
11802 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
11803 vn_encode_simple_pointer(enc, pnext);
11804 vn_encode_VkStructureType(enc, &pnext->sType);
11805 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11806 vn_encode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self(enc, (const VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
11807 return;
11808 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES:
11809 vn_encode_simple_pointer(enc, pnext);
11810 vn_encode_VkStructureType(enc, &pnext->sType);
11811 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11812 vn_encode_VkPhysicalDeviceInlineUniformBlockProperties_self(enc, (const VkPhysicalDeviceInlineUniformBlockProperties *)pnext);
11813 return;
11814 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
11815 vn_encode_simple_pointer(enc, pnext);
11816 vn_encode_VkStructureType(enc, &pnext->sType);
11817 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11818 vn_encode_VkPhysicalDeviceMaintenance3Properties_self(enc, (const VkPhysicalDeviceMaintenance3Properties *)pnext);
11819 return;
11820 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES:
11821 vn_encode_simple_pointer(enc, pnext);
11822 vn_encode_VkStructureType(enc, &pnext->sType);
11823 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11824 vn_encode_VkPhysicalDeviceMaintenance4Properties_self(enc, (const VkPhysicalDeviceMaintenance4Properties *)pnext);
11825 return;
11826 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
11827 vn_encode_simple_pointer(enc, pnext);
11828 vn_encode_VkStructureType(enc, &pnext->sType);
11829 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11830 vn_encode_VkPhysicalDeviceFloatControlsProperties_self(enc, (const VkPhysicalDeviceFloatControlsProperties *)pnext);
11831 return;
11832 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
11833 vn_encode_simple_pointer(enc, pnext);
11834 vn_encode_VkStructureType(enc, &pnext->sType);
11835 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11836 vn_encode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self(enc, (const VkPhysicalDeviceConservativeRasterizationPropertiesEXT *)pnext);
11837 return;
11838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
11839 vn_encode_simple_pointer(enc, pnext);
11840 vn_encode_VkStructureType(enc, &pnext->sType);
11841 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11842 vn_encode_VkPhysicalDeviceDescriptorIndexingProperties_self(enc, (const VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
11843 return;
11844 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
11845 vn_encode_simple_pointer(enc, pnext);
11846 vn_encode_VkStructureType(enc, &pnext->sType);
11847 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11848 vn_encode_VkPhysicalDeviceTimelineSemaphoreProperties_self(enc, (const VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
11849 return;
11850 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
11851 vn_encode_simple_pointer(enc, pnext);
11852 vn_encode_VkStructureType(enc, &pnext->sType);
11853 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11854 vn_encode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self(enc, (const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext);
11855 return;
11856 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
11857 vn_encode_simple_pointer(enc, pnext);
11858 vn_encode_VkStructureType(enc, &pnext->sType);
11859 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11860 vn_encode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self(enc, (const VkPhysicalDevicePCIBusInfoPropertiesEXT *)pnext);
11861 return;
11862 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
11863 vn_encode_simple_pointer(enc, pnext);
11864 vn_encode_VkStructureType(enc, &pnext->sType);
11865 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11866 vn_encode_VkPhysicalDeviceDepthStencilResolveProperties_self(enc, (const VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
11867 return;
11868 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
11869 vn_encode_simple_pointer(enc, pnext);
11870 vn_encode_VkStructureType(enc, &pnext->sType);
11871 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11872 vn_encode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self(enc, (const VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
11873 return;
11874 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES:
11875 vn_encode_simple_pointer(enc, pnext);
11876 vn_encode_VkStructureType(enc, &pnext->sType);
11877 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11878 vn_encode_VkPhysicalDeviceTexelBufferAlignmentProperties_self(enc, (const VkPhysicalDeviceTexelBufferAlignmentProperties *)pnext);
11879 return;
11880 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES:
11881 vn_encode_simple_pointer(enc, pnext);
11882 vn_encode_VkStructureType(enc, &pnext->sType);
11883 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11884 vn_encode_VkPhysicalDeviceSubgroupSizeControlProperties_self(enc, (const VkPhysicalDeviceSubgroupSizeControlProperties *)pnext);
11885 return;
11886 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
11887 vn_encode_simple_pointer(enc, pnext);
11888 vn_encode_VkStructureType(enc, &pnext->sType);
11889 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11890 vn_encode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self(enc, (const VkPhysicalDeviceLineRasterizationPropertiesEXT *)pnext);
11891 return;
11892 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
11893 vn_encode_simple_pointer(enc, pnext);
11894 vn_encode_VkStructureType(enc, &pnext->sType);
11895 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11896 vn_encode_VkPhysicalDeviceVulkan11Properties_self(enc, (const VkPhysicalDeviceVulkan11Properties *)pnext);
11897 return;
11898 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
11899 vn_encode_simple_pointer(enc, pnext);
11900 vn_encode_VkStructureType(enc, &pnext->sType);
11901 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11902 vn_encode_VkPhysicalDeviceVulkan12Properties_self(enc, (const VkPhysicalDeviceVulkan12Properties *)pnext);
11903 return;
11904 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES:
11905 vn_encode_simple_pointer(enc, pnext);
11906 vn_encode_VkStructureType(enc, &pnext->sType);
11907 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11908 vn_encode_VkPhysicalDeviceVulkan13Properties_self(enc, (const VkPhysicalDeviceVulkan13Properties *)pnext);
11909 return;
11910 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
11911 vn_encode_simple_pointer(enc, pnext);
11912 vn_encode_VkStructureType(enc, &pnext->sType);
11913 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11914 vn_encode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self(enc, (const VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
11915 return;
11916 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT:
11917 vn_encode_simple_pointer(enc, pnext);
11918 vn_encode_VkStructureType(enc, &pnext->sType);
11919 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11920 vn_encode_VkPhysicalDeviceRobustness2PropertiesEXT_self(enc, (const VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
11921 return;
11922 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
11923 vn_encode_simple_pointer(enc, pnext);
11924 vn_encode_VkStructureType(enc, &pnext->sType);
11925 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11926 vn_encode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self(enc, (const VkPhysicalDeviceProvokingVertexPropertiesEXT *)pnext);
11927 return;
11928 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
11929 vn_encode_simple_pointer(enc, pnext);
11930 vn_encode_VkStructureType(enc, &pnext->sType);
11931 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, pnext->pNext);
11932 vn_encode_VkPhysicalDeviceShaderIntegerDotProductProperties_self(enc, (const VkPhysicalDeviceShaderIntegerDotProductProperties *)pnext);
11933 return;
11934 default:
11935 /* ignore unknown/unsupported struct */
11936 break;
11937 }
11938 pnext = pnext->pNext;
11939 }
11940
11941 vn_encode_simple_pointer(enc, NULL);
11942 }
11943
11944 static inline void
vn_encode_VkPhysicalDeviceProperties2_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceProperties2 * val)11945 vn_encode_VkPhysicalDeviceProperties2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)
11946 {
11947 /* skip val->{sType,pNext} */
11948 vn_encode_VkPhysicalDeviceProperties(enc, &val->properties);
11949 }
11950
11951 static inline void
vn_encode_VkPhysicalDeviceProperties2(struct vn_cs_encoder * enc,const VkPhysicalDeviceProperties2 * val)11952 vn_encode_VkPhysicalDeviceProperties2(struct vn_cs_encoder *enc, const VkPhysicalDeviceProperties2 *val)
11953 {
11954 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2);
11955 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 });
11956 vn_encode_VkPhysicalDeviceProperties2_pnext(enc, val->pNext);
11957 vn_encode_VkPhysicalDeviceProperties2_self(enc, val);
11958 }
11959
11960 static inline void *
vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(struct vn_cs_decoder * dec)11961 vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(struct vn_cs_decoder *dec)
11962 {
11963 VkBaseOutStructure *pnext;
11964 VkStructureType stype;
11965
11966 if (!vn_decode_simple_pointer(dec))
11967 return NULL;
11968
11969 vn_decode_VkStructureType(dec, &stype);
11970 switch ((int32_t)stype) {
11971 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:
11972 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiDrawPropertiesEXT));
11973 if (pnext) {
11974 pnext->sType = stype;
11975 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
11976 vn_decode_VkPhysicalDeviceMultiDrawPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceMultiDrawPropertiesEXT *)pnext);
11977 }
11978 break;
11979 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR:
11980 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR));
11981 if (pnext) {
11982 pnext->sType = stype;
11983 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
11984 vn_decode_VkPhysicalDevicePushDescriptorPropertiesKHR_self_partial_temp(dec, (VkPhysicalDevicePushDescriptorPropertiesKHR *)pnext);
11985 }
11986 break;
11987 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES:
11988 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDriverProperties));
11989 if (pnext) {
11990 pnext->sType = stype;
11991 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
11992 vn_decode_VkPhysicalDeviceDriverProperties_self_partial_temp(dec, (VkPhysicalDeviceDriverProperties *)pnext);
11993 }
11994 break;
11995 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES:
11996 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceIDProperties));
11997 if (pnext) {
11998 pnext->sType = stype;
11999 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12000 vn_decode_VkPhysicalDeviceIDProperties_self_partial_temp(dec, (VkPhysicalDeviceIDProperties *)pnext);
12001 }
12002 break;
12003 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES:
12004 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMultiviewProperties));
12005 if (pnext) {
12006 pnext->sType = stype;
12007 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12008 vn_decode_VkPhysicalDeviceMultiviewProperties_self_partial_temp(dec, (VkPhysicalDeviceMultiviewProperties *)pnext);
12009 }
12010 break;
12011 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES:
12012 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSubgroupProperties));
12013 if (pnext) {
12014 pnext->sType = stype;
12015 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12016 vn_decode_VkPhysicalDeviceSubgroupProperties_self_partial_temp(dec, (VkPhysicalDeviceSubgroupProperties *)pnext);
12017 }
12018 break;
12019 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES:
12020 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePointClippingProperties));
12021 if (pnext) {
12022 pnext->sType = stype;
12023 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12024 vn_decode_VkPhysicalDevicePointClippingProperties_self_partial_temp(dec, (VkPhysicalDevicePointClippingProperties *)pnext);
12025 }
12026 break;
12027 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES:
12028 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProtectedMemoryProperties));
12029 if (pnext) {
12030 pnext->sType = stype;
12031 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12032 vn_decode_VkPhysicalDeviceProtectedMemoryProperties_self_partial_temp(dec, (VkPhysicalDeviceProtectedMemoryProperties *)pnext);
12033 }
12034 break;
12035 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES:
12036 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties));
12037 if (pnext) {
12038 pnext->sType = stype;
12039 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12040 vn_decode_VkPhysicalDeviceSamplerFilterMinmaxProperties_self_partial_temp(dec, (VkPhysicalDeviceSamplerFilterMinmaxProperties *)pnext);
12041 }
12042 break;
12043 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES:
12044 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceInlineUniformBlockProperties));
12045 if (pnext) {
12046 pnext->sType = stype;
12047 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12048 vn_decode_VkPhysicalDeviceInlineUniformBlockProperties_self_partial_temp(dec, (VkPhysicalDeviceInlineUniformBlockProperties *)pnext);
12049 }
12050 break;
12051 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES:
12052 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMaintenance3Properties));
12053 if (pnext) {
12054 pnext->sType = stype;
12055 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12056 vn_decode_VkPhysicalDeviceMaintenance3Properties_self_partial_temp(dec, (VkPhysicalDeviceMaintenance3Properties *)pnext);
12057 }
12058 break;
12059 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES:
12060 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceMaintenance4Properties));
12061 if (pnext) {
12062 pnext->sType = stype;
12063 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12064 vn_decode_VkPhysicalDeviceMaintenance4Properties_self_partial_temp(dec, (VkPhysicalDeviceMaintenance4Properties *)pnext);
12065 }
12066 break;
12067 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES:
12068 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceFloatControlsProperties));
12069 if (pnext) {
12070 pnext->sType = stype;
12071 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12072 vn_decode_VkPhysicalDeviceFloatControlsProperties_self_partial_temp(dec, (VkPhysicalDeviceFloatControlsProperties *)pnext);
12073 }
12074 break;
12075 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT:
12076 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT));
12077 if (pnext) {
12078 pnext->sType = stype;
12079 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12080 vn_decode_VkPhysicalDeviceConservativeRasterizationPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceConservativeRasterizationPropertiesEXT *)pnext);
12081 }
12082 break;
12083 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES:
12084 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDescriptorIndexingProperties));
12085 if (pnext) {
12086 pnext->sType = stype;
12087 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12088 vn_decode_VkPhysicalDeviceDescriptorIndexingProperties_self_partial_temp(dec, (VkPhysicalDeviceDescriptorIndexingProperties *)pnext);
12089 }
12090 break;
12091 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES:
12092 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTimelineSemaphoreProperties));
12093 if (pnext) {
12094 pnext->sType = stype;
12095 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12096 vn_decode_VkPhysicalDeviceTimelineSemaphoreProperties_self_partial_temp(dec, (VkPhysicalDeviceTimelineSemaphoreProperties *)pnext);
12097 }
12098 break;
12099 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT:
12100 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT));
12101 if (pnext) {
12102 pnext->sType = stype;
12103 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12104 vn_decode_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)pnext);
12105 }
12106 break;
12107 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT:
12108 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT));
12109 if (pnext) {
12110 pnext->sType = stype;
12111 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12112 vn_decode_VkPhysicalDevicePCIBusInfoPropertiesEXT_self_partial_temp(dec, (VkPhysicalDevicePCIBusInfoPropertiesEXT *)pnext);
12113 }
12114 break;
12115 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES:
12116 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceDepthStencilResolveProperties));
12117 if (pnext) {
12118 pnext->sType = stype;
12119 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12120 vn_decode_VkPhysicalDeviceDepthStencilResolveProperties_self_partial_temp(dec, (VkPhysicalDeviceDepthStencilResolveProperties *)pnext);
12121 }
12122 break;
12123 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT:
12124 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT));
12125 if (pnext) {
12126 pnext->sType = stype;
12127 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12128 vn_decode_VkPhysicalDeviceTransformFeedbackPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceTransformFeedbackPropertiesEXT *)pnext);
12129 }
12130 break;
12131 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES:
12132 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceTexelBufferAlignmentProperties));
12133 if (pnext) {
12134 pnext->sType = stype;
12135 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12136 vn_decode_VkPhysicalDeviceTexelBufferAlignmentProperties_self_partial_temp(dec, (VkPhysicalDeviceTexelBufferAlignmentProperties *)pnext);
12137 }
12138 break;
12139 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES:
12140 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceSubgroupSizeControlProperties));
12141 if (pnext) {
12142 pnext->sType = stype;
12143 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12144 vn_decode_VkPhysicalDeviceSubgroupSizeControlProperties_self_partial_temp(dec, (VkPhysicalDeviceSubgroupSizeControlProperties *)pnext);
12145 }
12146 break;
12147 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:
12148 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceLineRasterizationPropertiesEXT));
12149 if (pnext) {
12150 pnext->sType = stype;
12151 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12152 vn_decode_VkPhysicalDeviceLineRasterizationPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceLineRasterizationPropertiesEXT *)pnext);
12153 }
12154 break;
12155 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES:
12156 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan11Properties));
12157 if (pnext) {
12158 pnext->sType = stype;
12159 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12160 vn_decode_VkPhysicalDeviceVulkan11Properties_self_partial_temp(dec, (VkPhysicalDeviceVulkan11Properties *)pnext);
12161 }
12162 break;
12163 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES:
12164 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan12Properties));
12165 if (pnext) {
12166 pnext->sType = stype;
12167 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12168 vn_decode_VkPhysicalDeviceVulkan12Properties_self_partial_temp(dec, (VkPhysicalDeviceVulkan12Properties *)pnext);
12169 }
12170 break;
12171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES:
12172 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceVulkan13Properties));
12173 if (pnext) {
12174 pnext->sType = stype;
12175 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12176 vn_decode_VkPhysicalDeviceVulkan13Properties_self_partial_temp(dec, (VkPhysicalDeviceVulkan13Properties *)pnext);
12177 }
12178 break;
12179 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:
12180 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT));
12181 if (pnext) {
12182 pnext->sType = stype;
12183 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12184 vn_decode_VkPhysicalDeviceCustomBorderColorPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceCustomBorderColorPropertiesEXT *)pnext);
12185 }
12186 break;
12187 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT:
12188 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceRobustness2PropertiesEXT));
12189 if (pnext) {
12190 pnext->sType = stype;
12191 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12192 vn_decode_VkPhysicalDeviceRobustness2PropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceRobustness2PropertiesEXT *)pnext);
12193 }
12194 break;
12195 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT:
12196 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceProvokingVertexPropertiesEXT));
12197 if (pnext) {
12198 pnext->sType = stype;
12199 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12200 vn_decode_VkPhysicalDeviceProvokingVertexPropertiesEXT_self_partial_temp(dec, (VkPhysicalDeviceProvokingVertexPropertiesEXT *)pnext);
12201 }
12202 break;
12203 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES:
12204 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties));
12205 if (pnext) {
12206 pnext->sType = stype;
12207 pnext->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12208 vn_decode_VkPhysicalDeviceShaderIntegerDotProductProperties_self_partial_temp(dec, (VkPhysicalDeviceShaderIntegerDotProductProperties *)pnext);
12209 }
12210 break;
12211 default:
12212 /* unexpected struct */
12213 pnext = NULL;
12214 vn_cs_decoder_set_fatal(dec);
12215 break;
12216 }
12217
12218 return pnext;
12219 }
12220
12221 static inline void
vn_decode_VkPhysicalDeviceProperties2_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProperties2 * val)12222 vn_decode_VkPhysicalDeviceProperties2_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)
12223 {
12224 /* skip val->{sType,pNext} */
12225 vn_decode_VkPhysicalDeviceProperties_partial_temp(dec, &val->properties);
12226 }
12227
12228 static inline void
vn_decode_VkPhysicalDeviceProperties2_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceProperties2 * val)12229 vn_decode_VkPhysicalDeviceProperties2_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceProperties2 *val)
12230 {
12231 VkStructureType stype;
12232 vn_decode_VkStructureType(dec, &stype);
12233 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2)
12234 vn_cs_decoder_set_fatal(dec);
12235
12236 val->sType = stype;
12237 val->pNext = vn_decode_VkPhysicalDeviceProperties2_pnext_partial_temp(dec);
12238 vn_decode_VkPhysicalDeviceProperties2_self_partial_temp(dec, val);
12239 }
12240
12241 /* struct VkDrmFormatModifierPropertiesEXT */
12242
12243 static inline void
vn_encode_VkDrmFormatModifierPropertiesEXT(struct vn_cs_encoder * enc,const VkDrmFormatModifierPropertiesEXT * val)12244 vn_encode_VkDrmFormatModifierPropertiesEXT(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesEXT *val)
12245 {
12246 vn_encode_uint64_t(enc, &val->drmFormatModifier);
12247 vn_encode_uint32_t(enc, &val->drmFormatModifierPlaneCount);
12248 vn_encode_VkFlags(enc, &val->drmFormatModifierTilingFeatures);
12249 }
12250
12251 static inline void
vn_decode_VkDrmFormatModifierPropertiesEXT_partial_temp(struct vn_cs_decoder * dec,VkDrmFormatModifierPropertiesEXT * val)12252 vn_decode_VkDrmFormatModifierPropertiesEXT_partial_temp(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesEXT *val)
12253 {
12254 /* skip val->drmFormatModifier */
12255 /* skip val->drmFormatModifierPlaneCount */
12256 /* skip val->drmFormatModifierTilingFeatures */
12257 }
12258
12259 /* struct VkDrmFormatModifierPropertiesListEXT chain */
12260
12261 static inline void
vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext(struct vn_cs_encoder * enc,const void * val)12262 vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext(struct vn_cs_encoder *enc, const void *val)
12263 {
12264 /* no known/supported struct */
12265 vn_encode_simple_pointer(enc, NULL);
12266 }
12267
12268 static inline void
vn_encode_VkDrmFormatModifierPropertiesListEXT_self(struct vn_cs_encoder * enc,const VkDrmFormatModifierPropertiesListEXT * val)12269 vn_encode_VkDrmFormatModifierPropertiesListEXT_self(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
12270 {
12271 /* skip val->{sType,pNext} */
12272 vn_encode_uint32_t(enc, &val->drmFormatModifierCount);
12273 if (val->pDrmFormatModifierProperties) {
12274 vn_encode_array_size(enc, val->drmFormatModifierCount);
12275 for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
12276 vn_encode_VkDrmFormatModifierPropertiesEXT(enc, &val->pDrmFormatModifierProperties[i]);
12277 } else {
12278 vn_encode_array_size(enc, 0);
12279 }
12280 }
12281
12282 static inline void
vn_encode_VkDrmFormatModifierPropertiesListEXT(struct vn_cs_encoder * enc,const VkDrmFormatModifierPropertiesListEXT * val)12283 vn_encode_VkDrmFormatModifierPropertiesListEXT(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesListEXT *val)
12284 {
12285 assert(val->sType == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT);
12286 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT });
12287 vn_encode_VkDrmFormatModifierPropertiesListEXT_pnext(enc, val->pNext);
12288 vn_encode_VkDrmFormatModifierPropertiesListEXT_self(enc, val);
12289 }
12290
12291 static inline void *
vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext_partial_temp(struct vn_cs_decoder * dec)12292 vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext_partial_temp(struct vn_cs_decoder *dec)
12293 {
12294 /* no known/supported struct */
12295 if (vn_decode_simple_pointer(dec))
12296 vn_cs_decoder_set_fatal(dec);
12297 return NULL;
12298 }
12299
12300 static inline void
vn_decode_VkDrmFormatModifierPropertiesListEXT_self_partial_temp(struct vn_cs_decoder * dec,VkDrmFormatModifierPropertiesListEXT * val)12301 vn_decode_VkDrmFormatModifierPropertiesListEXT_self_partial_temp(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)
12302 {
12303 /* skip val->{sType,pNext} */
12304 /* WA1 */ val->drmFormatModifierCount = vn_peek_array_size(dec);
12305 if (vn_peek_array_size(dec)) {
12306 const uint32_t iter_count = vn_decode_array_size(dec, val->drmFormatModifierCount);
12307 val->pDrmFormatModifierProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDrmFormatModifierProperties) * iter_count);
12308 if (!val->pDrmFormatModifierProperties) return;
12309 for (uint32_t i = 0; i < iter_count; i++)
12310 vn_decode_VkDrmFormatModifierPropertiesEXT_partial_temp(dec, &val->pDrmFormatModifierProperties[i]);
12311 } else {
12312 vn_decode_array_size_unchecked(dec);
12313 val->pDrmFormatModifierProperties = NULL;
12314 }
12315 }
12316
12317 static inline void
vn_decode_VkDrmFormatModifierPropertiesListEXT_partial_temp(struct vn_cs_decoder * dec,VkDrmFormatModifierPropertiesListEXT * val)12318 vn_decode_VkDrmFormatModifierPropertiesListEXT_partial_temp(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesListEXT *val)
12319 {
12320 VkStructureType stype;
12321 vn_decode_VkStructureType(dec, &stype);
12322 if (stype != VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT)
12323 vn_cs_decoder_set_fatal(dec);
12324
12325 val->sType = stype;
12326 val->pNext = vn_decode_VkDrmFormatModifierPropertiesListEXT_pnext_partial_temp(dec);
12327 vn_decode_VkDrmFormatModifierPropertiesListEXT_self_partial_temp(dec, val);
12328 }
12329
12330 /* struct VkFormatProperties3 chain */
12331
12332 static inline void
vn_encode_VkFormatProperties3_pnext(struct vn_cs_encoder * enc,const void * val)12333 vn_encode_VkFormatProperties3_pnext(struct vn_cs_encoder *enc, const void *val)
12334 {
12335 /* no known/supported struct */
12336 vn_encode_simple_pointer(enc, NULL);
12337 }
12338
12339 static inline void
vn_encode_VkFormatProperties3_self(struct vn_cs_encoder * enc,const VkFormatProperties3 * val)12340 vn_encode_VkFormatProperties3_self(struct vn_cs_encoder *enc, const VkFormatProperties3 *val)
12341 {
12342 /* skip val->{sType,pNext} */
12343 vn_encode_VkFlags64(enc, &val->linearTilingFeatures);
12344 vn_encode_VkFlags64(enc, &val->optimalTilingFeatures);
12345 vn_encode_VkFlags64(enc, &val->bufferFeatures);
12346 }
12347
12348 static inline void
vn_encode_VkFormatProperties3(struct vn_cs_encoder * enc,const VkFormatProperties3 * val)12349 vn_encode_VkFormatProperties3(struct vn_cs_encoder *enc, const VkFormatProperties3 *val)
12350 {
12351 assert(val->sType == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3);
12352 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 });
12353 vn_encode_VkFormatProperties3_pnext(enc, val->pNext);
12354 vn_encode_VkFormatProperties3_self(enc, val);
12355 }
12356
12357 static inline void *
vn_decode_VkFormatProperties3_pnext_partial_temp(struct vn_cs_decoder * dec)12358 vn_decode_VkFormatProperties3_pnext_partial_temp(struct vn_cs_decoder *dec)
12359 {
12360 /* no known/supported struct */
12361 if (vn_decode_simple_pointer(dec))
12362 vn_cs_decoder_set_fatal(dec);
12363 return NULL;
12364 }
12365
12366 static inline void
vn_decode_VkFormatProperties3_self_partial_temp(struct vn_cs_decoder * dec,VkFormatProperties3 * val)12367 vn_decode_VkFormatProperties3_self_partial_temp(struct vn_cs_decoder *dec, VkFormatProperties3 *val)
12368 {
12369 /* skip val->{sType,pNext} */
12370 /* skip val->linearTilingFeatures */
12371 /* skip val->optimalTilingFeatures */
12372 /* skip val->bufferFeatures */
12373 }
12374
12375 static inline void
vn_decode_VkFormatProperties3_partial_temp(struct vn_cs_decoder * dec,VkFormatProperties3 * val)12376 vn_decode_VkFormatProperties3_partial_temp(struct vn_cs_decoder *dec, VkFormatProperties3 *val)
12377 {
12378 VkStructureType stype;
12379 vn_decode_VkStructureType(dec, &stype);
12380 if (stype != VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3)
12381 vn_cs_decoder_set_fatal(dec);
12382
12383 val->sType = stype;
12384 val->pNext = vn_decode_VkFormatProperties3_pnext_partial_temp(dec);
12385 vn_decode_VkFormatProperties3_self_partial_temp(dec, val);
12386 }
12387
12388 /* struct VkDrmFormatModifierProperties2EXT */
12389
12390 static inline void
vn_encode_VkDrmFormatModifierProperties2EXT(struct vn_cs_encoder * enc,const VkDrmFormatModifierProperties2EXT * val)12391 vn_encode_VkDrmFormatModifierProperties2EXT(struct vn_cs_encoder *enc, const VkDrmFormatModifierProperties2EXT *val)
12392 {
12393 vn_encode_uint64_t(enc, &val->drmFormatModifier);
12394 vn_encode_uint32_t(enc, &val->drmFormatModifierPlaneCount);
12395 vn_encode_VkFlags64(enc, &val->drmFormatModifierTilingFeatures);
12396 }
12397
12398 static inline void
vn_decode_VkDrmFormatModifierProperties2EXT_partial_temp(struct vn_cs_decoder * dec,VkDrmFormatModifierProperties2EXT * val)12399 vn_decode_VkDrmFormatModifierProperties2EXT_partial_temp(struct vn_cs_decoder *dec, VkDrmFormatModifierProperties2EXT *val)
12400 {
12401 /* skip val->drmFormatModifier */
12402 /* skip val->drmFormatModifierPlaneCount */
12403 /* skip val->drmFormatModifierTilingFeatures */
12404 }
12405
12406 /* struct VkDrmFormatModifierPropertiesList2EXT chain */
12407
12408 static inline void
vn_encode_VkDrmFormatModifierPropertiesList2EXT_pnext(struct vn_cs_encoder * enc,const void * val)12409 vn_encode_VkDrmFormatModifierPropertiesList2EXT_pnext(struct vn_cs_encoder *enc, const void *val)
12410 {
12411 /* no known/supported struct */
12412 vn_encode_simple_pointer(enc, NULL);
12413 }
12414
12415 static inline void
vn_encode_VkDrmFormatModifierPropertiesList2EXT_self(struct vn_cs_encoder * enc,const VkDrmFormatModifierPropertiesList2EXT * val)12416 vn_encode_VkDrmFormatModifierPropertiesList2EXT_self(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesList2EXT *val)
12417 {
12418 /* skip val->{sType,pNext} */
12419 vn_encode_uint32_t(enc, &val->drmFormatModifierCount);
12420 if (val->pDrmFormatModifierProperties) {
12421 vn_encode_array_size(enc, val->drmFormatModifierCount);
12422 for (uint32_t i = 0; i < val->drmFormatModifierCount; i++)
12423 vn_encode_VkDrmFormatModifierProperties2EXT(enc, &val->pDrmFormatModifierProperties[i]);
12424 } else {
12425 vn_encode_array_size(enc, 0);
12426 }
12427 }
12428
12429 static inline void
vn_encode_VkDrmFormatModifierPropertiesList2EXT(struct vn_cs_encoder * enc,const VkDrmFormatModifierPropertiesList2EXT * val)12430 vn_encode_VkDrmFormatModifierPropertiesList2EXT(struct vn_cs_encoder *enc, const VkDrmFormatModifierPropertiesList2EXT *val)
12431 {
12432 assert(val->sType == VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT);
12433 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT });
12434 vn_encode_VkDrmFormatModifierPropertiesList2EXT_pnext(enc, val->pNext);
12435 vn_encode_VkDrmFormatModifierPropertiesList2EXT_self(enc, val);
12436 }
12437
12438 static inline void *
vn_decode_VkDrmFormatModifierPropertiesList2EXT_pnext_partial_temp(struct vn_cs_decoder * dec)12439 vn_decode_VkDrmFormatModifierPropertiesList2EXT_pnext_partial_temp(struct vn_cs_decoder *dec)
12440 {
12441 /* no known/supported struct */
12442 if (vn_decode_simple_pointer(dec))
12443 vn_cs_decoder_set_fatal(dec);
12444 return NULL;
12445 }
12446
12447 static inline void
vn_decode_VkDrmFormatModifierPropertiesList2EXT_self_partial_temp(struct vn_cs_decoder * dec,VkDrmFormatModifierPropertiesList2EXT * val)12448 vn_decode_VkDrmFormatModifierPropertiesList2EXT_self_partial_temp(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesList2EXT *val)
12449 {
12450 /* skip val->{sType,pNext} */
12451 /* WA1 */ val->drmFormatModifierCount = vn_peek_array_size(dec);
12452 if (vn_peek_array_size(dec)) {
12453 const uint32_t iter_count = vn_decode_array_size(dec, val->drmFormatModifierCount);
12454 val->pDrmFormatModifierProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pDrmFormatModifierProperties) * iter_count);
12455 if (!val->pDrmFormatModifierProperties) return;
12456 for (uint32_t i = 0; i < iter_count; i++)
12457 vn_decode_VkDrmFormatModifierProperties2EXT_partial_temp(dec, &val->pDrmFormatModifierProperties[i]);
12458 } else {
12459 vn_decode_array_size_unchecked(dec);
12460 val->pDrmFormatModifierProperties = NULL;
12461 }
12462 }
12463
12464 static inline void
vn_decode_VkDrmFormatModifierPropertiesList2EXT_partial_temp(struct vn_cs_decoder * dec,VkDrmFormatModifierPropertiesList2EXT * val)12465 vn_decode_VkDrmFormatModifierPropertiesList2EXT_partial_temp(struct vn_cs_decoder *dec, VkDrmFormatModifierPropertiesList2EXT *val)
12466 {
12467 VkStructureType stype;
12468 vn_decode_VkStructureType(dec, &stype);
12469 if (stype != VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT)
12470 vn_cs_decoder_set_fatal(dec);
12471
12472 val->sType = stype;
12473 val->pNext = vn_decode_VkDrmFormatModifierPropertiesList2EXT_pnext_partial_temp(dec);
12474 vn_decode_VkDrmFormatModifierPropertiesList2EXT_self_partial_temp(dec, val);
12475 }
12476
12477 /* struct VkFormatProperties2 chain */
12478
12479 static inline void
vn_encode_VkFormatProperties2_pnext(struct vn_cs_encoder * enc,const void * val)12480 vn_encode_VkFormatProperties2_pnext(struct vn_cs_encoder *enc, const void *val)
12481 {
12482 const VkBaseInStructure *pnext = val;
12483
12484 while (pnext) {
12485 switch ((int32_t)pnext->sType) {
12486 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
12487 vn_encode_simple_pointer(enc, pnext);
12488 vn_encode_VkStructureType(enc, &pnext->sType);
12489 vn_encode_VkFormatProperties2_pnext(enc, pnext->pNext);
12490 vn_encode_VkDrmFormatModifierPropertiesListEXT_self(enc, (const VkDrmFormatModifierPropertiesListEXT *)pnext);
12491 return;
12492 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3:
12493 vn_encode_simple_pointer(enc, pnext);
12494 vn_encode_VkStructureType(enc, &pnext->sType);
12495 vn_encode_VkFormatProperties2_pnext(enc, pnext->pNext);
12496 vn_encode_VkFormatProperties3_self(enc, (const VkFormatProperties3 *)pnext);
12497 return;
12498 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT:
12499 vn_encode_simple_pointer(enc, pnext);
12500 vn_encode_VkStructureType(enc, &pnext->sType);
12501 vn_encode_VkFormatProperties2_pnext(enc, pnext->pNext);
12502 vn_encode_VkDrmFormatModifierPropertiesList2EXT_self(enc, (const VkDrmFormatModifierPropertiesList2EXT *)pnext);
12503 return;
12504 default:
12505 /* ignore unknown/unsupported struct */
12506 break;
12507 }
12508 pnext = pnext->pNext;
12509 }
12510
12511 vn_encode_simple_pointer(enc, NULL);
12512 }
12513
12514 static inline void
vn_encode_VkFormatProperties2_self(struct vn_cs_encoder * enc,const VkFormatProperties2 * val)12515 vn_encode_VkFormatProperties2_self(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)
12516 {
12517 /* skip val->{sType,pNext} */
12518 vn_encode_VkFormatProperties(enc, &val->formatProperties);
12519 }
12520
12521 static inline void
vn_encode_VkFormatProperties2(struct vn_cs_encoder * enc,const VkFormatProperties2 * val)12522 vn_encode_VkFormatProperties2(struct vn_cs_encoder *enc, const VkFormatProperties2 *val)
12523 {
12524 assert(val->sType == VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2);
12525 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 });
12526 vn_encode_VkFormatProperties2_pnext(enc, val->pNext);
12527 vn_encode_VkFormatProperties2_self(enc, val);
12528 }
12529
12530 static inline void *
vn_decode_VkFormatProperties2_pnext_partial_temp(struct vn_cs_decoder * dec)12531 vn_decode_VkFormatProperties2_pnext_partial_temp(struct vn_cs_decoder *dec)
12532 {
12533 VkBaseOutStructure *pnext;
12534 VkStructureType stype;
12535
12536 if (!vn_decode_simple_pointer(dec))
12537 return NULL;
12538
12539 vn_decode_VkStructureType(dec, &stype);
12540 switch ((int32_t)stype) {
12541 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT:
12542 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDrmFormatModifierPropertiesListEXT));
12543 if (pnext) {
12544 pnext->sType = stype;
12545 pnext->pNext = vn_decode_VkFormatProperties2_pnext_partial_temp(dec);
12546 vn_decode_VkDrmFormatModifierPropertiesListEXT_self_partial_temp(dec, (VkDrmFormatModifierPropertiesListEXT *)pnext);
12547 }
12548 break;
12549 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3:
12550 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkFormatProperties3));
12551 if (pnext) {
12552 pnext->sType = stype;
12553 pnext->pNext = vn_decode_VkFormatProperties2_pnext_partial_temp(dec);
12554 vn_decode_VkFormatProperties3_self_partial_temp(dec, (VkFormatProperties3 *)pnext);
12555 }
12556 break;
12557 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT:
12558 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDrmFormatModifierPropertiesList2EXT));
12559 if (pnext) {
12560 pnext->sType = stype;
12561 pnext->pNext = vn_decode_VkFormatProperties2_pnext_partial_temp(dec);
12562 vn_decode_VkDrmFormatModifierPropertiesList2EXT_self_partial_temp(dec, (VkDrmFormatModifierPropertiesList2EXT *)pnext);
12563 }
12564 break;
12565 default:
12566 /* unexpected struct */
12567 pnext = NULL;
12568 vn_cs_decoder_set_fatal(dec);
12569 break;
12570 }
12571
12572 return pnext;
12573 }
12574
12575 static inline void
vn_decode_VkFormatProperties2_self_partial_temp(struct vn_cs_decoder * dec,VkFormatProperties2 * val)12576 vn_decode_VkFormatProperties2_self_partial_temp(struct vn_cs_decoder *dec, VkFormatProperties2 *val)
12577 {
12578 /* skip val->{sType,pNext} */
12579 vn_decode_VkFormatProperties_partial_temp(dec, &val->formatProperties);
12580 }
12581
12582 static inline void
vn_decode_VkFormatProperties2_partial_temp(struct vn_cs_decoder * dec,VkFormatProperties2 * val)12583 vn_decode_VkFormatProperties2_partial_temp(struct vn_cs_decoder *dec, VkFormatProperties2 *val)
12584 {
12585 VkStructureType stype;
12586 vn_decode_VkStructureType(dec, &stype);
12587 if (stype != VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2)
12588 vn_cs_decoder_set_fatal(dec);
12589
12590 val->sType = stype;
12591 val->pNext = vn_decode_VkFormatProperties2_pnext_partial_temp(dec);
12592 vn_decode_VkFormatProperties2_self_partial_temp(dec, val);
12593 }
12594
12595 /* struct VkPhysicalDeviceExternalImageFormatInfo chain */
12596
12597 static inline void *
vn_decode_VkPhysicalDeviceExternalImageFormatInfo_pnext_temp(struct vn_cs_decoder * dec)12598 vn_decode_VkPhysicalDeviceExternalImageFormatInfo_pnext_temp(struct vn_cs_decoder *dec)
12599 {
12600 /* no known/supported struct */
12601 if (vn_decode_simple_pointer(dec))
12602 vn_cs_decoder_set_fatal(dec);
12603 return NULL;
12604 }
12605
12606 static inline void
vn_decode_VkPhysicalDeviceExternalImageFormatInfo_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalImageFormatInfo * val)12607 vn_decode_VkPhysicalDeviceExternalImageFormatInfo_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalImageFormatInfo *val)
12608 {
12609 /* skip val->{sType,pNext} */
12610 vn_decode_VkExternalMemoryHandleTypeFlagBits(dec, &val->handleType);
12611 }
12612
12613 static inline void
vn_decode_VkPhysicalDeviceExternalImageFormatInfo_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalImageFormatInfo * val)12614 vn_decode_VkPhysicalDeviceExternalImageFormatInfo_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalImageFormatInfo *val)
12615 {
12616 VkStructureType stype;
12617 vn_decode_VkStructureType(dec, &stype);
12618 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO)
12619 vn_cs_decoder_set_fatal(dec);
12620
12621 val->sType = stype;
12622 val->pNext = vn_decode_VkPhysicalDeviceExternalImageFormatInfo_pnext_temp(dec);
12623 vn_decode_VkPhysicalDeviceExternalImageFormatInfo_self_temp(dec, val);
12624 }
12625
12626 static inline void
vn_replace_VkPhysicalDeviceExternalImageFormatInfo_handle_self(VkPhysicalDeviceExternalImageFormatInfo * val)12627 vn_replace_VkPhysicalDeviceExternalImageFormatInfo_handle_self(VkPhysicalDeviceExternalImageFormatInfo *val)
12628 {
12629 /* skip val->sType */
12630 /* skip val->pNext */
12631 /* skip val->handleType */
12632 }
12633
12634 static inline void
vn_replace_VkPhysicalDeviceExternalImageFormatInfo_handle(VkPhysicalDeviceExternalImageFormatInfo * val)12635 vn_replace_VkPhysicalDeviceExternalImageFormatInfo_handle(VkPhysicalDeviceExternalImageFormatInfo *val)
12636 {
12637 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
12638
12639 do {
12640 switch ((int32_t)pnext->sType) {
12641 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
12642 vn_replace_VkPhysicalDeviceExternalImageFormatInfo_handle_self((VkPhysicalDeviceExternalImageFormatInfo *)pnext);
12643 break;
12644 default:
12645 /* ignore unknown/unsupported struct */
12646 break;
12647 }
12648 pnext = pnext->pNext;
12649 } while (pnext);
12650 }
12651
12652 /* struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT chain */
12653
12654 static inline void *
vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext_temp(struct vn_cs_decoder * dec)12655 vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext_temp(struct vn_cs_decoder *dec)
12656 {
12657 /* no known/supported struct */
12658 if (vn_decode_simple_pointer(dec))
12659 vn_cs_decoder_set_fatal(dec);
12660 return NULL;
12661 }
12662
12663 static inline void
vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageDrmFormatModifierInfoEXT * val)12664 vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
12665 {
12666 /* skip val->{sType,pNext} */
12667 vn_decode_uint64_t(dec, &val->drmFormatModifier);
12668 vn_decode_VkSharingMode(dec, &val->sharingMode);
12669 vn_decode_uint32_t(dec, &val->queueFamilyIndexCount);
12670 if (vn_peek_array_size(dec)) {
12671 const size_t array_size = vn_decode_array_size(dec, val->queueFamilyIndexCount);
12672 val->pQueueFamilyIndices = vn_cs_decoder_alloc_temp(dec, sizeof(*val->pQueueFamilyIndices) * array_size);
12673 if (!val->pQueueFamilyIndices) return;
12674 vn_decode_uint32_t_array(dec, (uint32_t *)val->pQueueFamilyIndices, array_size);
12675 } else {
12676 vn_decode_array_size_unchecked(dec);
12677 val->pQueueFamilyIndices = NULL;
12678 }
12679 }
12680
12681 static inline void
vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageDrmFormatModifierInfoEXT * val)12682 vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
12683 {
12684 VkStructureType stype;
12685 vn_decode_VkStructureType(dec, &stype);
12686 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT)
12687 vn_cs_decoder_set_fatal(dec);
12688
12689 val->sType = stype;
12690 val->pNext = vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_pnext_temp(dec);
12691 vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self_temp(dec, val);
12692 }
12693
12694 static inline void
vn_replace_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_handle_self(VkPhysicalDeviceImageDrmFormatModifierInfoEXT * val)12695 vn_replace_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_handle_self(VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
12696 {
12697 /* skip val->sType */
12698 /* skip val->pNext */
12699 /* skip val->drmFormatModifier */
12700 /* skip val->sharingMode */
12701 /* skip val->queueFamilyIndexCount */
12702 /* skip val->pQueueFamilyIndices */
12703 }
12704
12705 static inline void
vn_replace_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_handle(VkPhysicalDeviceImageDrmFormatModifierInfoEXT * val)12706 vn_replace_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_handle(VkPhysicalDeviceImageDrmFormatModifierInfoEXT *val)
12707 {
12708 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
12709
12710 do {
12711 switch ((int32_t)pnext->sType) {
12712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
12713 vn_replace_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_handle_self((VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
12714 break;
12715 default:
12716 /* ignore unknown/unsupported struct */
12717 break;
12718 }
12719 pnext = pnext->pNext;
12720 } while (pnext);
12721 }
12722
12723 /* struct VkPhysicalDeviceImageFormatInfo2 chain */
12724
12725 static inline void *
vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(struct vn_cs_decoder * dec)12726 vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(struct vn_cs_decoder *dec)
12727 {
12728 VkBaseOutStructure *pnext;
12729 VkStructureType stype;
12730
12731 if (!vn_decode_simple_pointer(dec))
12732 return NULL;
12733
12734 vn_decode_VkStructureType(dec, &stype);
12735 switch ((int32_t)stype) {
12736 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
12737 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceExternalImageFormatInfo));
12738 if (pnext) {
12739 pnext->sType = stype;
12740 pnext->pNext = vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(dec);
12741 vn_decode_VkPhysicalDeviceExternalImageFormatInfo_self_temp(dec, (VkPhysicalDeviceExternalImageFormatInfo *)pnext);
12742 }
12743 break;
12744 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
12745 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkImageFormatListCreateInfo));
12746 if (pnext) {
12747 pnext->sType = stype;
12748 pnext->pNext = vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(dec);
12749 vn_decode_VkImageFormatListCreateInfo_self_temp(dec, (VkImageFormatListCreateInfo *)pnext);
12750 }
12751 break;
12752 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
12753 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT));
12754 if (pnext) {
12755 pnext->sType = stype;
12756 pnext->pNext = vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(dec);
12757 vn_decode_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_self_temp(dec, (VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
12758 }
12759 break;
12760 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
12761 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkImageStencilUsageCreateInfo));
12762 if (pnext) {
12763 pnext->sType = stype;
12764 pnext->pNext = vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(dec);
12765 vn_decode_VkImageStencilUsageCreateInfo_self_temp(dec, (VkImageStencilUsageCreateInfo *)pnext);
12766 }
12767 break;
12768 default:
12769 /* unexpected struct */
12770 pnext = NULL;
12771 vn_cs_decoder_set_fatal(dec);
12772 break;
12773 }
12774
12775 return pnext;
12776 }
12777
12778 static inline void
vn_decode_VkPhysicalDeviceImageFormatInfo2_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageFormatInfo2 * val)12779 vn_decode_VkPhysicalDeviceImageFormatInfo2_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageFormatInfo2 *val)
12780 {
12781 /* skip val->{sType,pNext} */
12782 vn_decode_VkFormat(dec, &val->format);
12783 vn_decode_VkImageType(dec, &val->type);
12784 vn_decode_VkImageTiling(dec, &val->tiling);
12785 vn_decode_VkFlags(dec, &val->usage);
12786 vn_decode_VkFlags(dec, &val->flags);
12787 }
12788
12789 static inline void
vn_decode_VkPhysicalDeviceImageFormatInfo2_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceImageFormatInfo2 * val)12790 vn_decode_VkPhysicalDeviceImageFormatInfo2_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceImageFormatInfo2 *val)
12791 {
12792 VkStructureType stype;
12793 vn_decode_VkStructureType(dec, &stype);
12794 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2)
12795 vn_cs_decoder_set_fatal(dec);
12796
12797 val->sType = stype;
12798 val->pNext = vn_decode_VkPhysicalDeviceImageFormatInfo2_pnext_temp(dec);
12799 vn_decode_VkPhysicalDeviceImageFormatInfo2_self_temp(dec, val);
12800 }
12801
12802 static inline void
vn_replace_VkPhysicalDeviceImageFormatInfo2_handle_self(VkPhysicalDeviceImageFormatInfo2 * val)12803 vn_replace_VkPhysicalDeviceImageFormatInfo2_handle_self(VkPhysicalDeviceImageFormatInfo2 *val)
12804 {
12805 /* skip val->sType */
12806 /* skip val->pNext */
12807 /* skip val->format */
12808 /* skip val->type */
12809 /* skip val->tiling */
12810 /* skip val->usage */
12811 /* skip val->flags */
12812 }
12813
12814 static inline void
vn_replace_VkPhysicalDeviceImageFormatInfo2_handle(VkPhysicalDeviceImageFormatInfo2 * val)12815 vn_replace_VkPhysicalDeviceImageFormatInfo2_handle(VkPhysicalDeviceImageFormatInfo2 *val)
12816 {
12817 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
12818
12819 do {
12820 switch ((int32_t)pnext->sType) {
12821 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2:
12822 vn_replace_VkPhysicalDeviceImageFormatInfo2_handle_self((VkPhysicalDeviceImageFormatInfo2 *)pnext);
12823 break;
12824 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO:
12825 vn_replace_VkPhysicalDeviceExternalImageFormatInfo_handle_self((VkPhysicalDeviceExternalImageFormatInfo *)pnext);
12826 break;
12827 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
12828 vn_replace_VkImageFormatListCreateInfo_handle_self((VkImageFormatListCreateInfo *)pnext);
12829 break;
12830 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT:
12831 vn_replace_VkPhysicalDeviceImageDrmFormatModifierInfoEXT_handle_self((VkPhysicalDeviceImageDrmFormatModifierInfoEXT *)pnext);
12832 break;
12833 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO:
12834 vn_replace_VkImageStencilUsageCreateInfo_handle_self((VkImageStencilUsageCreateInfo *)pnext);
12835 break;
12836 default:
12837 /* ignore unknown/unsupported struct */
12838 break;
12839 }
12840 pnext = pnext->pNext;
12841 } while (pnext);
12842 }
12843
12844 /* struct VkExternalMemoryProperties */
12845
12846 static inline void
vn_encode_VkExternalMemoryProperties(struct vn_cs_encoder * enc,const VkExternalMemoryProperties * val)12847 vn_encode_VkExternalMemoryProperties(struct vn_cs_encoder *enc, const VkExternalMemoryProperties *val)
12848 {
12849 vn_encode_VkFlags(enc, &val->externalMemoryFeatures);
12850 vn_encode_VkFlags(enc, &val->exportFromImportedHandleTypes);
12851 vn_encode_VkFlags(enc, &val->compatibleHandleTypes);
12852 }
12853
12854 static inline void
vn_decode_VkExternalMemoryProperties_partial_temp(struct vn_cs_decoder * dec,VkExternalMemoryProperties * val)12855 vn_decode_VkExternalMemoryProperties_partial_temp(struct vn_cs_decoder *dec, VkExternalMemoryProperties *val)
12856 {
12857 /* skip val->externalMemoryFeatures */
12858 /* skip val->exportFromImportedHandleTypes */
12859 /* skip val->compatibleHandleTypes */
12860 }
12861
12862 /* struct VkExternalImageFormatProperties chain */
12863
12864 static inline void
vn_encode_VkExternalImageFormatProperties_pnext(struct vn_cs_encoder * enc,const void * val)12865 vn_encode_VkExternalImageFormatProperties_pnext(struct vn_cs_encoder *enc, const void *val)
12866 {
12867 /* no known/supported struct */
12868 vn_encode_simple_pointer(enc, NULL);
12869 }
12870
12871 static inline void
vn_encode_VkExternalImageFormatProperties_self(struct vn_cs_encoder * enc,const VkExternalImageFormatProperties * val)12872 vn_encode_VkExternalImageFormatProperties_self(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)
12873 {
12874 /* skip val->{sType,pNext} */
12875 vn_encode_VkExternalMemoryProperties(enc, &val->externalMemoryProperties);
12876 }
12877
12878 static inline void
vn_encode_VkExternalImageFormatProperties(struct vn_cs_encoder * enc,const VkExternalImageFormatProperties * val)12879 vn_encode_VkExternalImageFormatProperties(struct vn_cs_encoder *enc, const VkExternalImageFormatProperties *val)
12880 {
12881 assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES);
12882 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES });
12883 vn_encode_VkExternalImageFormatProperties_pnext(enc, val->pNext);
12884 vn_encode_VkExternalImageFormatProperties_self(enc, val);
12885 }
12886
12887 static inline void *
vn_decode_VkExternalImageFormatProperties_pnext_partial_temp(struct vn_cs_decoder * dec)12888 vn_decode_VkExternalImageFormatProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
12889 {
12890 /* no known/supported struct */
12891 if (vn_decode_simple_pointer(dec))
12892 vn_cs_decoder_set_fatal(dec);
12893 return NULL;
12894 }
12895
12896 static inline void
vn_decode_VkExternalImageFormatProperties_self_partial_temp(struct vn_cs_decoder * dec,VkExternalImageFormatProperties * val)12897 vn_decode_VkExternalImageFormatProperties_self_partial_temp(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)
12898 {
12899 /* skip val->{sType,pNext} */
12900 vn_decode_VkExternalMemoryProperties_partial_temp(dec, &val->externalMemoryProperties);
12901 }
12902
12903 static inline void
vn_decode_VkExternalImageFormatProperties_partial_temp(struct vn_cs_decoder * dec,VkExternalImageFormatProperties * val)12904 vn_decode_VkExternalImageFormatProperties_partial_temp(struct vn_cs_decoder *dec, VkExternalImageFormatProperties *val)
12905 {
12906 VkStructureType stype;
12907 vn_decode_VkStructureType(dec, &stype);
12908 if (stype != VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES)
12909 vn_cs_decoder_set_fatal(dec);
12910
12911 val->sType = stype;
12912 val->pNext = vn_decode_VkExternalImageFormatProperties_pnext_partial_temp(dec);
12913 vn_decode_VkExternalImageFormatProperties_self_partial_temp(dec, val);
12914 }
12915
12916 /* struct VkSamplerYcbcrConversionImageFormatProperties chain */
12917
12918 static inline void
vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext(struct vn_cs_encoder * enc,const void * val)12919 vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext(struct vn_cs_encoder *enc, const void *val)
12920 {
12921 /* no known/supported struct */
12922 vn_encode_simple_pointer(enc, NULL);
12923 }
12924
12925 static inline void
vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self(struct vn_cs_encoder * enc,const VkSamplerYcbcrConversionImageFormatProperties * val)12926 vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)
12927 {
12928 /* skip val->{sType,pNext} */
12929 vn_encode_uint32_t(enc, &val->combinedImageSamplerDescriptorCount);
12930 }
12931
12932 static inline void
vn_encode_VkSamplerYcbcrConversionImageFormatProperties(struct vn_cs_encoder * enc,const VkSamplerYcbcrConversionImageFormatProperties * val)12933 vn_encode_VkSamplerYcbcrConversionImageFormatProperties(struct vn_cs_encoder *enc, const VkSamplerYcbcrConversionImageFormatProperties *val)
12934 {
12935 assert(val->sType == VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES);
12936 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES });
12937 vn_encode_VkSamplerYcbcrConversionImageFormatProperties_pnext(enc, val->pNext);
12938 vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self(enc, val);
12939 }
12940
12941 static inline void *
vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial_temp(struct vn_cs_decoder * dec)12942 vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
12943 {
12944 /* no known/supported struct */
12945 if (vn_decode_simple_pointer(dec))
12946 vn_cs_decoder_set_fatal(dec);
12947 return NULL;
12948 }
12949
12950 static inline void
vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self_partial_temp(struct vn_cs_decoder * dec,VkSamplerYcbcrConversionImageFormatProperties * val)12951 vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self_partial_temp(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)
12952 {
12953 /* skip val->{sType,pNext} */
12954 /* skip val->combinedImageSamplerDescriptorCount */
12955 }
12956
12957 static inline void
vn_decode_VkSamplerYcbcrConversionImageFormatProperties_partial_temp(struct vn_cs_decoder * dec,VkSamplerYcbcrConversionImageFormatProperties * val)12958 vn_decode_VkSamplerYcbcrConversionImageFormatProperties_partial_temp(struct vn_cs_decoder *dec, VkSamplerYcbcrConversionImageFormatProperties *val)
12959 {
12960 VkStructureType stype;
12961 vn_decode_VkStructureType(dec, &stype);
12962 if (stype != VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES)
12963 vn_cs_decoder_set_fatal(dec);
12964
12965 val->sType = stype;
12966 val->pNext = vn_decode_VkSamplerYcbcrConversionImageFormatProperties_pnext_partial_temp(dec);
12967 vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self_partial_temp(dec, val);
12968 }
12969
12970 /* struct VkImageFormatProperties2 chain */
12971
12972 static inline void
vn_encode_VkImageFormatProperties2_pnext(struct vn_cs_encoder * enc,const void * val)12973 vn_encode_VkImageFormatProperties2_pnext(struct vn_cs_encoder *enc, const void *val)
12974 {
12975 const VkBaseInStructure *pnext = val;
12976
12977 while (pnext) {
12978 switch ((int32_t)pnext->sType) {
12979 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
12980 vn_encode_simple_pointer(enc, pnext);
12981 vn_encode_VkStructureType(enc, &pnext->sType);
12982 vn_encode_VkImageFormatProperties2_pnext(enc, pnext->pNext);
12983 vn_encode_VkExternalImageFormatProperties_self(enc, (const VkExternalImageFormatProperties *)pnext);
12984 return;
12985 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
12986 vn_encode_simple_pointer(enc, pnext);
12987 vn_encode_VkStructureType(enc, &pnext->sType);
12988 vn_encode_VkImageFormatProperties2_pnext(enc, pnext->pNext);
12989 vn_encode_VkSamplerYcbcrConversionImageFormatProperties_self(enc, (const VkSamplerYcbcrConversionImageFormatProperties *)pnext);
12990 return;
12991 default:
12992 /* ignore unknown/unsupported struct */
12993 break;
12994 }
12995 pnext = pnext->pNext;
12996 }
12997
12998 vn_encode_simple_pointer(enc, NULL);
12999 }
13000
13001 static inline void
vn_encode_VkImageFormatProperties2_self(struct vn_cs_encoder * enc,const VkImageFormatProperties2 * val)13002 vn_encode_VkImageFormatProperties2_self(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)
13003 {
13004 /* skip val->{sType,pNext} */
13005 vn_encode_VkImageFormatProperties(enc, &val->imageFormatProperties);
13006 }
13007
13008 static inline void
vn_encode_VkImageFormatProperties2(struct vn_cs_encoder * enc,const VkImageFormatProperties2 * val)13009 vn_encode_VkImageFormatProperties2(struct vn_cs_encoder *enc, const VkImageFormatProperties2 *val)
13010 {
13011 assert(val->sType == VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2);
13012 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 });
13013 vn_encode_VkImageFormatProperties2_pnext(enc, val->pNext);
13014 vn_encode_VkImageFormatProperties2_self(enc, val);
13015 }
13016
13017 static inline void *
vn_decode_VkImageFormatProperties2_pnext_partial_temp(struct vn_cs_decoder * dec)13018 vn_decode_VkImageFormatProperties2_pnext_partial_temp(struct vn_cs_decoder *dec)
13019 {
13020 VkBaseOutStructure *pnext;
13021 VkStructureType stype;
13022
13023 if (!vn_decode_simple_pointer(dec))
13024 return NULL;
13025
13026 vn_decode_VkStructureType(dec, &stype);
13027 switch ((int32_t)stype) {
13028 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES:
13029 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkExternalImageFormatProperties));
13030 if (pnext) {
13031 pnext->sType = stype;
13032 pnext->pNext = vn_decode_VkImageFormatProperties2_pnext_partial_temp(dec);
13033 vn_decode_VkExternalImageFormatProperties_self_partial_temp(dec, (VkExternalImageFormatProperties *)pnext);
13034 }
13035 break;
13036 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES:
13037 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkSamplerYcbcrConversionImageFormatProperties));
13038 if (pnext) {
13039 pnext->sType = stype;
13040 pnext->pNext = vn_decode_VkImageFormatProperties2_pnext_partial_temp(dec);
13041 vn_decode_VkSamplerYcbcrConversionImageFormatProperties_self_partial_temp(dec, (VkSamplerYcbcrConversionImageFormatProperties *)pnext);
13042 }
13043 break;
13044 default:
13045 /* unexpected struct */
13046 pnext = NULL;
13047 vn_cs_decoder_set_fatal(dec);
13048 break;
13049 }
13050
13051 return pnext;
13052 }
13053
13054 static inline void
vn_decode_VkImageFormatProperties2_self_partial_temp(struct vn_cs_decoder * dec,VkImageFormatProperties2 * val)13055 vn_decode_VkImageFormatProperties2_self_partial_temp(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)
13056 {
13057 /* skip val->{sType,pNext} */
13058 vn_decode_VkImageFormatProperties_partial_temp(dec, &val->imageFormatProperties);
13059 }
13060
13061 static inline void
vn_decode_VkImageFormatProperties2_partial_temp(struct vn_cs_decoder * dec,VkImageFormatProperties2 * val)13062 vn_decode_VkImageFormatProperties2_partial_temp(struct vn_cs_decoder *dec, VkImageFormatProperties2 *val)
13063 {
13064 VkStructureType stype;
13065 vn_decode_VkStructureType(dec, &stype);
13066 if (stype != VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2)
13067 vn_cs_decoder_set_fatal(dec);
13068
13069 val->sType = stype;
13070 val->pNext = vn_decode_VkImageFormatProperties2_pnext_partial_temp(dec);
13071 vn_decode_VkImageFormatProperties2_self_partial_temp(dec, val);
13072 }
13073
13074 /* struct VkQueueFamilyProperties2 chain */
13075
13076 static inline void
vn_encode_VkQueueFamilyProperties2_pnext(struct vn_cs_encoder * enc,const void * val)13077 vn_encode_VkQueueFamilyProperties2_pnext(struct vn_cs_encoder *enc, const void *val)
13078 {
13079 /* no known/supported struct */
13080 vn_encode_simple_pointer(enc, NULL);
13081 }
13082
13083 static inline void
vn_encode_VkQueueFamilyProperties2_self(struct vn_cs_encoder * enc,const VkQueueFamilyProperties2 * val)13084 vn_encode_VkQueueFamilyProperties2_self(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)
13085 {
13086 /* skip val->{sType,pNext} */
13087 vn_encode_VkQueueFamilyProperties(enc, &val->queueFamilyProperties);
13088 }
13089
13090 static inline void
vn_encode_VkQueueFamilyProperties2(struct vn_cs_encoder * enc,const VkQueueFamilyProperties2 * val)13091 vn_encode_VkQueueFamilyProperties2(struct vn_cs_encoder *enc, const VkQueueFamilyProperties2 *val)
13092 {
13093 assert(val->sType == VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2);
13094 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 });
13095 vn_encode_VkQueueFamilyProperties2_pnext(enc, val->pNext);
13096 vn_encode_VkQueueFamilyProperties2_self(enc, val);
13097 }
13098
13099 static inline void *
vn_decode_VkQueueFamilyProperties2_pnext_partial_temp(struct vn_cs_decoder * dec)13100 vn_decode_VkQueueFamilyProperties2_pnext_partial_temp(struct vn_cs_decoder *dec)
13101 {
13102 /* no known/supported struct */
13103 if (vn_decode_simple_pointer(dec))
13104 vn_cs_decoder_set_fatal(dec);
13105 return NULL;
13106 }
13107
13108 static inline void
vn_decode_VkQueueFamilyProperties2_self_partial_temp(struct vn_cs_decoder * dec,VkQueueFamilyProperties2 * val)13109 vn_decode_VkQueueFamilyProperties2_self_partial_temp(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)
13110 {
13111 /* skip val->{sType,pNext} */
13112 vn_decode_VkQueueFamilyProperties_partial_temp(dec, &val->queueFamilyProperties);
13113 }
13114
13115 static inline void
vn_decode_VkQueueFamilyProperties2_partial_temp(struct vn_cs_decoder * dec,VkQueueFamilyProperties2 * val)13116 vn_decode_VkQueueFamilyProperties2_partial_temp(struct vn_cs_decoder *dec, VkQueueFamilyProperties2 *val)
13117 {
13118 VkStructureType stype;
13119 vn_decode_VkStructureType(dec, &stype);
13120 if (stype != VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2)
13121 vn_cs_decoder_set_fatal(dec);
13122
13123 val->sType = stype;
13124 val->pNext = vn_decode_VkQueueFamilyProperties2_pnext_partial_temp(dec);
13125 vn_decode_VkQueueFamilyProperties2_self_partial_temp(dec, val);
13126 }
13127
13128 /* struct VkPhysicalDeviceMemoryProperties2 chain */
13129
13130 static inline void
vn_encode_VkPhysicalDeviceMemoryProperties2_pnext(struct vn_cs_encoder * enc,const void * val)13131 vn_encode_VkPhysicalDeviceMemoryProperties2_pnext(struct vn_cs_encoder *enc, const void *val)
13132 {
13133 /* no known/supported struct */
13134 vn_encode_simple_pointer(enc, NULL);
13135 }
13136
13137 static inline void
vn_encode_VkPhysicalDeviceMemoryProperties2_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceMemoryProperties2 * val)13138 vn_encode_VkPhysicalDeviceMemoryProperties2_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)
13139 {
13140 /* skip val->{sType,pNext} */
13141 vn_encode_VkPhysicalDeviceMemoryProperties(enc, &val->memoryProperties);
13142 }
13143
13144 static inline void
vn_encode_VkPhysicalDeviceMemoryProperties2(struct vn_cs_encoder * enc,const VkPhysicalDeviceMemoryProperties2 * val)13145 vn_encode_VkPhysicalDeviceMemoryProperties2(struct vn_cs_encoder *enc, const VkPhysicalDeviceMemoryProperties2 *val)
13146 {
13147 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2);
13148 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 });
13149 vn_encode_VkPhysicalDeviceMemoryProperties2_pnext(enc, val->pNext);
13150 vn_encode_VkPhysicalDeviceMemoryProperties2_self(enc, val);
13151 }
13152
13153 static inline void *
vn_decode_VkPhysicalDeviceMemoryProperties2_pnext_partial_temp(struct vn_cs_decoder * dec)13154 vn_decode_VkPhysicalDeviceMemoryProperties2_pnext_partial_temp(struct vn_cs_decoder *dec)
13155 {
13156 /* no known/supported struct */
13157 if (vn_decode_simple_pointer(dec))
13158 vn_cs_decoder_set_fatal(dec);
13159 return NULL;
13160 }
13161
13162 static inline void
vn_decode_VkPhysicalDeviceMemoryProperties2_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMemoryProperties2 * val)13163 vn_decode_VkPhysicalDeviceMemoryProperties2_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)
13164 {
13165 /* skip val->{sType,pNext} */
13166 vn_decode_VkPhysicalDeviceMemoryProperties_partial_temp(dec, &val->memoryProperties);
13167 }
13168
13169 static inline void
vn_decode_VkPhysicalDeviceMemoryProperties2_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceMemoryProperties2 * val)13170 vn_decode_VkPhysicalDeviceMemoryProperties2_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceMemoryProperties2 *val)
13171 {
13172 VkStructureType stype;
13173 vn_decode_VkStructureType(dec, &stype);
13174 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2)
13175 vn_cs_decoder_set_fatal(dec);
13176
13177 val->sType = stype;
13178 val->pNext = vn_decode_VkPhysicalDeviceMemoryProperties2_pnext_partial_temp(dec);
13179 vn_decode_VkPhysicalDeviceMemoryProperties2_self_partial_temp(dec, val);
13180 }
13181
13182 /* struct VkPhysicalDeviceSparseImageFormatInfo2 chain */
13183
13184 static inline void *
vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_pnext_temp(struct vn_cs_decoder * dec)13185 vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_pnext_temp(struct vn_cs_decoder *dec)
13186 {
13187 /* no known/supported struct */
13188 if (vn_decode_simple_pointer(dec))
13189 vn_cs_decoder_set_fatal(dec);
13190 return NULL;
13191 }
13192
13193 static inline void
vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSparseImageFormatInfo2 * val)13194 vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSparseImageFormatInfo2 *val)
13195 {
13196 /* skip val->{sType,pNext} */
13197 vn_decode_VkFormat(dec, &val->format);
13198 vn_decode_VkImageType(dec, &val->type);
13199 vn_decode_VkSampleCountFlagBits(dec, &val->samples);
13200 vn_decode_VkFlags(dec, &val->usage);
13201 vn_decode_VkImageTiling(dec, &val->tiling);
13202 }
13203
13204 static inline void
vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceSparseImageFormatInfo2 * val)13205 vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceSparseImageFormatInfo2 *val)
13206 {
13207 VkStructureType stype;
13208 vn_decode_VkStructureType(dec, &stype);
13209 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2)
13210 vn_cs_decoder_set_fatal(dec);
13211
13212 val->sType = stype;
13213 val->pNext = vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_pnext_temp(dec);
13214 vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_self_temp(dec, val);
13215 }
13216
13217 static inline void
vn_replace_VkPhysicalDeviceSparseImageFormatInfo2_handle_self(VkPhysicalDeviceSparseImageFormatInfo2 * val)13218 vn_replace_VkPhysicalDeviceSparseImageFormatInfo2_handle_self(VkPhysicalDeviceSparseImageFormatInfo2 *val)
13219 {
13220 /* skip val->sType */
13221 /* skip val->pNext */
13222 /* skip val->format */
13223 /* skip val->type */
13224 /* skip val->samples */
13225 /* skip val->usage */
13226 /* skip val->tiling */
13227 }
13228
13229 static inline void
vn_replace_VkPhysicalDeviceSparseImageFormatInfo2_handle(VkPhysicalDeviceSparseImageFormatInfo2 * val)13230 vn_replace_VkPhysicalDeviceSparseImageFormatInfo2_handle(VkPhysicalDeviceSparseImageFormatInfo2 *val)
13231 {
13232 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13233
13234 do {
13235 switch ((int32_t)pnext->sType) {
13236 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2:
13237 vn_replace_VkPhysicalDeviceSparseImageFormatInfo2_handle_self((VkPhysicalDeviceSparseImageFormatInfo2 *)pnext);
13238 break;
13239 default:
13240 /* ignore unknown/unsupported struct */
13241 break;
13242 }
13243 pnext = pnext->pNext;
13244 } while (pnext);
13245 }
13246
13247 /* struct VkSparseImageFormatProperties2 chain */
13248
13249 static inline void
vn_encode_VkSparseImageFormatProperties2_pnext(struct vn_cs_encoder * enc,const void * val)13250 vn_encode_VkSparseImageFormatProperties2_pnext(struct vn_cs_encoder *enc, const void *val)
13251 {
13252 /* no known/supported struct */
13253 vn_encode_simple_pointer(enc, NULL);
13254 }
13255
13256 static inline void
vn_encode_VkSparseImageFormatProperties2_self(struct vn_cs_encoder * enc,const VkSparseImageFormatProperties2 * val)13257 vn_encode_VkSparseImageFormatProperties2_self(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)
13258 {
13259 /* skip val->{sType,pNext} */
13260 vn_encode_VkSparseImageFormatProperties(enc, &val->properties);
13261 }
13262
13263 static inline void
vn_encode_VkSparseImageFormatProperties2(struct vn_cs_encoder * enc,const VkSparseImageFormatProperties2 * val)13264 vn_encode_VkSparseImageFormatProperties2(struct vn_cs_encoder *enc, const VkSparseImageFormatProperties2 *val)
13265 {
13266 assert(val->sType == VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2);
13267 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 });
13268 vn_encode_VkSparseImageFormatProperties2_pnext(enc, val->pNext);
13269 vn_encode_VkSparseImageFormatProperties2_self(enc, val);
13270 }
13271
13272 static inline void *
vn_decode_VkSparseImageFormatProperties2_pnext_partial_temp(struct vn_cs_decoder * dec)13273 vn_decode_VkSparseImageFormatProperties2_pnext_partial_temp(struct vn_cs_decoder *dec)
13274 {
13275 /* no known/supported struct */
13276 if (vn_decode_simple_pointer(dec))
13277 vn_cs_decoder_set_fatal(dec);
13278 return NULL;
13279 }
13280
13281 static inline void
vn_decode_VkSparseImageFormatProperties2_self_partial_temp(struct vn_cs_decoder * dec,VkSparseImageFormatProperties2 * val)13282 vn_decode_VkSparseImageFormatProperties2_self_partial_temp(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)
13283 {
13284 /* skip val->{sType,pNext} */
13285 vn_decode_VkSparseImageFormatProperties_partial_temp(dec, &val->properties);
13286 }
13287
13288 static inline void
vn_decode_VkSparseImageFormatProperties2_partial_temp(struct vn_cs_decoder * dec,VkSparseImageFormatProperties2 * val)13289 vn_decode_VkSparseImageFormatProperties2_partial_temp(struct vn_cs_decoder *dec, VkSparseImageFormatProperties2 *val)
13290 {
13291 VkStructureType stype;
13292 vn_decode_VkStructureType(dec, &stype);
13293 if (stype != VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2)
13294 vn_cs_decoder_set_fatal(dec);
13295
13296 val->sType = stype;
13297 val->pNext = vn_decode_VkSparseImageFormatProperties2_pnext_partial_temp(dec);
13298 vn_decode_VkSparseImageFormatProperties2_self_partial_temp(dec, val);
13299 }
13300
13301 /* struct VkPhysicalDeviceExternalBufferInfo chain */
13302
13303 static inline void *
vn_decode_VkPhysicalDeviceExternalBufferInfo_pnext_temp(struct vn_cs_decoder * dec)13304 vn_decode_VkPhysicalDeviceExternalBufferInfo_pnext_temp(struct vn_cs_decoder *dec)
13305 {
13306 /* no known/supported struct */
13307 if (vn_decode_simple_pointer(dec))
13308 vn_cs_decoder_set_fatal(dec);
13309 return NULL;
13310 }
13311
13312 static inline void
vn_decode_VkPhysicalDeviceExternalBufferInfo_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalBufferInfo * val)13313 vn_decode_VkPhysicalDeviceExternalBufferInfo_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalBufferInfo *val)
13314 {
13315 /* skip val->{sType,pNext} */
13316 vn_decode_VkFlags(dec, &val->flags);
13317 vn_decode_VkFlags(dec, &val->usage);
13318 vn_decode_VkExternalMemoryHandleTypeFlagBits(dec, &val->handleType);
13319 }
13320
13321 static inline void
vn_decode_VkPhysicalDeviceExternalBufferInfo_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalBufferInfo * val)13322 vn_decode_VkPhysicalDeviceExternalBufferInfo_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalBufferInfo *val)
13323 {
13324 VkStructureType stype;
13325 vn_decode_VkStructureType(dec, &stype);
13326 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO)
13327 vn_cs_decoder_set_fatal(dec);
13328
13329 val->sType = stype;
13330 val->pNext = vn_decode_VkPhysicalDeviceExternalBufferInfo_pnext_temp(dec);
13331 vn_decode_VkPhysicalDeviceExternalBufferInfo_self_temp(dec, val);
13332 }
13333
13334 static inline void
vn_replace_VkPhysicalDeviceExternalBufferInfo_handle_self(VkPhysicalDeviceExternalBufferInfo * val)13335 vn_replace_VkPhysicalDeviceExternalBufferInfo_handle_self(VkPhysicalDeviceExternalBufferInfo *val)
13336 {
13337 /* skip val->sType */
13338 /* skip val->pNext */
13339 /* skip val->flags */
13340 /* skip val->usage */
13341 /* skip val->handleType */
13342 }
13343
13344 static inline void
vn_replace_VkPhysicalDeviceExternalBufferInfo_handle(VkPhysicalDeviceExternalBufferInfo * val)13345 vn_replace_VkPhysicalDeviceExternalBufferInfo_handle(VkPhysicalDeviceExternalBufferInfo *val)
13346 {
13347 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13348
13349 do {
13350 switch ((int32_t)pnext->sType) {
13351 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO:
13352 vn_replace_VkPhysicalDeviceExternalBufferInfo_handle_self((VkPhysicalDeviceExternalBufferInfo *)pnext);
13353 break;
13354 default:
13355 /* ignore unknown/unsupported struct */
13356 break;
13357 }
13358 pnext = pnext->pNext;
13359 } while (pnext);
13360 }
13361
13362 /* struct VkExternalBufferProperties chain */
13363
13364 static inline void
vn_encode_VkExternalBufferProperties_pnext(struct vn_cs_encoder * enc,const void * val)13365 vn_encode_VkExternalBufferProperties_pnext(struct vn_cs_encoder *enc, const void *val)
13366 {
13367 /* no known/supported struct */
13368 vn_encode_simple_pointer(enc, NULL);
13369 }
13370
13371 static inline void
vn_encode_VkExternalBufferProperties_self(struct vn_cs_encoder * enc,const VkExternalBufferProperties * val)13372 vn_encode_VkExternalBufferProperties_self(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)
13373 {
13374 /* skip val->{sType,pNext} */
13375 vn_encode_VkExternalMemoryProperties(enc, &val->externalMemoryProperties);
13376 }
13377
13378 static inline void
vn_encode_VkExternalBufferProperties(struct vn_cs_encoder * enc,const VkExternalBufferProperties * val)13379 vn_encode_VkExternalBufferProperties(struct vn_cs_encoder *enc, const VkExternalBufferProperties *val)
13380 {
13381 assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES);
13382 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES });
13383 vn_encode_VkExternalBufferProperties_pnext(enc, val->pNext);
13384 vn_encode_VkExternalBufferProperties_self(enc, val);
13385 }
13386
13387 static inline void *
vn_decode_VkExternalBufferProperties_pnext_partial_temp(struct vn_cs_decoder * dec)13388 vn_decode_VkExternalBufferProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
13389 {
13390 /* no known/supported struct */
13391 if (vn_decode_simple_pointer(dec))
13392 vn_cs_decoder_set_fatal(dec);
13393 return NULL;
13394 }
13395
13396 static inline void
vn_decode_VkExternalBufferProperties_self_partial_temp(struct vn_cs_decoder * dec,VkExternalBufferProperties * val)13397 vn_decode_VkExternalBufferProperties_self_partial_temp(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)
13398 {
13399 /* skip val->{sType,pNext} */
13400 vn_decode_VkExternalMemoryProperties_partial_temp(dec, &val->externalMemoryProperties);
13401 }
13402
13403 static inline void
vn_decode_VkExternalBufferProperties_partial_temp(struct vn_cs_decoder * dec,VkExternalBufferProperties * val)13404 vn_decode_VkExternalBufferProperties_partial_temp(struct vn_cs_decoder *dec, VkExternalBufferProperties *val)
13405 {
13406 VkStructureType stype;
13407 vn_decode_VkStructureType(dec, &stype);
13408 if (stype != VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES)
13409 vn_cs_decoder_set_fatal(dec);
13410
13411 val->sType = stype;
13412 val->pNext = vn_decode_VkExternalBufferProperties_pnext_partial_temp(dec);
13413 vn_decode_VkExternalBufferProperties_self_partial_temp(dec, val);
13414 }
13415
13416 /* struct VkPhysicalDeviceExternalSemaphoreInfo chain */
13417
13418 static inline void *
vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_pnext_temp(struct vn_cs_decoder * dec)13419 vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_pnext_temp(struct vn_cs_decoder *dec)
13420 {
13421 VkBaseOutStructure *pnext;
13422 VkStructureType stype;
13423
13424 if (!vn_decode_simple_pointer(dec))
13425 return NULL;
13426
13427 vn_decode_VkStructureType(dec, &stype);
13428 switch ((int32_t)stype) {
13429 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
13430 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkSemaphoreTypeCreateInfo));
13431 if (pnext) {
13432 pnext->sType = stype;
13433 pnext->pNext = vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_pnext_temp(dec);
13434 vn_decode_VkSemaphoreTypeCreateInfo_self_temp(dec, (VkSemaphoreTypeCreateInfo *)pnext);
13435 }
13436 break;
13437 default:
13438 /* unexpected struct */
13439 pnext = NULL;
13440 vn_cs_decoder_set_fatal(dec);
13441 break;
13442 }
13443
13444 return pnext;
13445 }
13446
13447 static inline void
vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalSemaphoreInfo * val)13448 vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalSemaphoreInfo *val)
13449 {
13450 /* skip val->{sType,pNext} */
13451 vn_decode_VkExternalSemaphoreHandleTypeFlagBits(dec, &val->handleType);
13452 }
13453
13454 static inline void
vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalSemaphoreInfo * val)13455 vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalSemaphoreInfo *val)
13456 {
13457 VkStructureType stype;
13458 vn_decode_VkStructureType(dec, &stype);
13459 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO)
13460 vn_cs_decoder_set_fatal(dec);
13461
13462 val->sType = stype;
13463 val->pNext = vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_pnext_temp(dec);
13464 vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_self_temp(dec, val);
13465 }
13466
13467 static inline void
vn_replace_VkPhysicalDeviceExternalSemaphoreInfo_handle_self(VkPhysicalDeviceExternalSemaphoreInfo * val)13468 vn_replace_VkPhysicalDeviceExternalSemaphoreInfo_handle_self(VkPhysicalDeviceExternalSemaphoreInfo *val)
13469 {
13470 /* skip val->sType */
13471 /* skip val->pNext */
13472 /* skip val->handleType */
13473 }
13474
13475 static inline void
vn_replace_VkPhysicalDeviceExternalSemaphoreInfo_handle(VkPhysicalDeviceExternalSemaphoreInfo * val)13476 vn_replace_VkPhysicalDeviceExternalSemaphoreInfo_handle(VkPhysicalDeviceExternalSemaphoreInfo *val)
13477 {
13478 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13479
13480 do {
13481 switch ((int32_t)pnext->sType) {
13482 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO:
13483 vn_replace_VkPhysicalDeviceExternalSemaphoreInfo_handle_self((VkPhysicalDeviceExternalSemaphoreInfo *)pnext);
13484 break;
13485 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO:
13486 vn_replace_VkSemaphoreTypeCreateInfo_handle_self((VkSemaphoreTypeCreateInfo *)pnext);
13487 break;
13488 default:
13489 /* ignore unknown/unsupported struct */
13490 break;
13491 }
13492 pnext = pnext->pNext;
13493 } while (pnext);
13494 }
13495
13496 /* struct VkExternalSemaphoreProperties chain */
13497
13498 static inline void
vn_encode_VkExternalSemaphoreProperties_pnext(struct vn_cs_encoder * enc,const void * val)13499 vn_encode_VkExternalSemaphoreProperties_pnext(struct vn_cs_encoder *enc, const void *val)
13500 {
13501 /* no known/supported struct */
13502 vn_encode_simple_pointer(enc, NULL);
13503 }
13504
13505 static inline void
vn_encode_VkExternalSemaphoreProperties_self(struct vn_cs_encoder * enc,const VkExternalSemaphoreProperties * val)13506 vn_encode_VkExternalSemaphoreProperties_self(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)
13507 {
13508 /* skip val->{sType,pNext} */
13509 vn_encode_VkFlags(enc, &val->exportFromImportedHandleTypes);
13510 vn_encode_VkFlags(enc, &val->compatibleHandleTypes);
13511 vn_encode_VkFlags(enc, &val->externalSemaphoreFeatures);
13512 }
13513
13514 static inline void
vn_encode_VkExternalSemaphoreProperties(struct vn_cs_encoder * enc,const VkExternalSemaphoreProperties * val)13515 vn_encode_VkExternalSemaphoreProperties(struct vn_cs_encoder *enc, const VkExternalSemaphoreProperties *val)
13516 {
13517 assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES);
13518 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES });
13519 vn_encode_VkExternalSemaphoreProperties_pnext(enc, val->pNext);
13520 vn_encode_VkExternalSemaphoreProperties_self(enc, val);
13521 }
13522
13523 static inline void *
vn_decode_VkExternalSemaphoreProperties_pnext_partial_temp(struct vn_cs_decoder * dec)13524 vn_decode_VkExternalSemaphoreProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
13525 {
13526 /* no known/supported struct */
13527 if (vn_decode_simple_pointer(dec))
13528 vn_cs_decoder_set_fatal(dec);
13529 return NULL;
13530 }
13531
13532 static inline void
vn_decode_VkExternalSemaphoreProperties_self_partial_temp(struct vn_cs_decoder * dec,VkExternalSemaphoreProperties * val)13533 vn_decode_VkExternalSemaphoreProperties_self_partial_temp(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)
13534 {
13535 /* skip val->{sType,pNext} */
13536 /* skip val->exportFromImportedHandleTypes */
13537 /* skip val->compatibleHandleTypes */
13538 /* skip val->externalSemaphoreFeatures */
13539 }
13540
13541 static inline void
vn_decode_VkExternalSemaphoreProperties_partial_temp(struct vn_cs_decoder * dec,VkExternalSemaphoreProperties * val)13542 vn_decode_VkExternalSemaphoreProperties_partial_temp(struct vn_cs_decoder *dec, VkExternalSemaphoreProperties *val)
13543 {
13544 VkStructureType stype;
13545 vn_decode_VkStructureType(dec, &stype);
13546 if (stype != VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES)
13547 vn_cs_decoder_set_fatal(dec);
13548
13549 val->sType = stype;
13550 val->pNext = vn_decode_VkExternalSemaphoreProperties_pnext_partial_temp(dec);
13551 vn_decode_VkExternalSemaphoreProperties_self_partial_temp(dec, val);
13552 }
13553
13554 /* struct VkPhysicalDeviceExternalFenceInfo chain */
13555
13556 static inline void *
vn_decode_VkPhysicalDeviceExternalFenceInfo_pnext_temp(struct vn_cs_decoder * dec)13557 vn_decode_VkPhysicalDeviceExternalFenceInfo_pnext_temp(struct vn_cs_decoder *dec)
13558 {
13559 /* no known/supported struct */
13560 if (vn_decode_simple_pointer(dec))
13561 vn_cs_decoder_set_fatal(dec);
13562 return NULL;
13563 }
13564
13565 static inline void
vn_decode_VkPhysicalDeviceExternalFenceInfo_self_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalFenceInfo * val)13566 vn_decode_VkPhysicalDeviceExternalFenceInfo_self_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalFenceInfo *val)
13567 {
13568 /* skip val->{sType,pNext} */
13569 vn_decode_VkExternalFenceHandleTypeFlagBits(dec, &val->handleType);
13570 }
13571
13572 static inline void
vn_decode_VkPhysicalDeviceExternalFenceInfo_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceExternalFenceInfo * val)13573 vn_decode_VkPhysicalDeviceExternalFenceInfo_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceExternalFenceInfo *val)
13574 {
13575 VkStructureType stype;
13576 vn_decode_VkStructureType(dec, &stype);
13577 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO)
13578 vn_cs_decoder_set_fatal(dec);
13579
13580 val->sType = stype;
13581 val->pNext = vn_decode_VkPhysicalDeviceExternalFenceInfo_pnext_temp(dec);
13582 vn_decode_VkPhysicalDeviceExternalFenceInfo_self_temp(dec, val);
13583 }
13584
13585 static inline void
vn_replace_VkPhysicalDeviceExternalFenceInfo_handle_self(VkPhysicalDeviceExternalFenceInfo * val)13586 vn_replace_VkPhysicalDeviceExternalFenceInfo_handle_self(VkPhysicalDeviceExternalFenceInfo *val)
13587 {
13588 /* skip val->sType */
13589 /* skip val->pNext */
13590 /* skip val->handleType */
13591 }
13592
13593 static inline void
vn_replace_VkPhysicalDeviceExternalFenceInfo_handle(VkPhysicalDeviceExternalFenceInfo * val)13594 vn_replace_VkPhysicalDeviceExternalFenceInfo_handle(VkPhysicalDeviceExternalFenceInfo *val)
13595 {
13596 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13597
13598 do {
13599 switch ((int32_t)pnext->sType) {
13600 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO:
13601 vn_replace_VkPhysicalDeviceExternalFenceInfo_handle_self((VkPhysicalDeviceExternalFenceInfo *)pnext);
13602 break;
13603 default:
13604 /* ignore unknown/unsupported struct */
13605 break;
13606 }
13607 pnext = pnext->pNext;
13608 } while (pnext);
13609 }
13610
13611 /* struct VkExternalFenceProperties chain */
13612
13613 static inline void
vn_encode_VkExternalFenceProperties_pnext(struct vn_cs_encoder * enc,const void * val)13614 vn_encode_VkExternalFenceProperties_pnext(struct vn_cs_encoder *enc, const void *val)
13615 {
13616 /* no known/supported struct */
13617 vn_encode_simple_pointer(enc, NULL);
13618 }
13619
13620 static inline void
vn_encode_VkExternalFenceProperties_self(struct vn_cs_encoder * enc,const VkExternalFenceProperties * val)13621 vn_encode_VkExternalFenceProperties_self(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)
13622 {
13623 /* skip val->{sType,pNext} */
13624 vn_encode_VkFlags(enc, &val->exportFromImportedHandleTypes);
13625 vn_encode_VkFlags(enc, &val->compatibleHandleTypes);
13626 vn_encode_VkFlags(enc, &val->externalFenceFeatures);
13627 }
13628
13629 static inline void
vn_encode_VkExternalFenceProperties(struct vn_cs_encoder * enc,const VkExternalFenceProperties * val)13630 vn_encode_VkExternalFenceProperties(struct vn_cs_encoder *enc, const VkExternalFenceProperties *val)
13631 {
13632 assert(val->sType == VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES);
13633 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES });
13634 vn_encode_VkExternalFenceProperties_pnext(enc, val->pNext);
13635 vn_encode_VkExternalFenceProperties_self(enc, val);
13636 }
13637
13638 static inline void *
vn_decode_VkExternalFenceProperties_pnext_partial_temp(struct vn_cs_decoder * dec)13639 vn_decode_VkExternalFenceProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
13640 {
13641 /* no known/supported struct */
13642 if (vn_decode_simple_pointer(dec))
13643 vn_cs_decoder_set_fatal(dec);
13644 return NULL;
13645 }
13646
13647 static inline void
vn_decode_VkExternalFenceProperties_self_partial_temp(struct vn_cs_decoder * dec,VkExternalFenceProperties * val)13648 vn_decode_VkExternalFenceProperties_self_partial_temp(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)
13649 {
13650 /* skip val->{sType,pNext} */
13651 /* skip val->exportFromImportedHandleTypes */
13652 /* skip val->compatibleHandleTypes */
13653 /* skip val->externalFenceFeatures */
13654 }
13655
13656 static inline void
vn_decode_VkExternalFenceProperties_partial_temp(struct vn_cs_decoder * dec,VkExternalFenceProperties * val)13657 vn_decode_VkExternalFenceProperties_partial_temp(struct vn_cs_decoder *dec, VkExternalFenceProperties *val)
13658 {
13659 VkStructureType stype;
13660 vn_decode_VkStructureType(dec, &stype);
13661 if (stype != VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES)
13662 vn_cs_decoder_set_fatal(dec);
13663
13664 val->sType = stype;
13665 val->pNext = vn_decode_VkExternalFenceProperties_pnext_partial_temp(dec);
13666 vn_decode_VkExternalFenceProperties_self_partial_temp(dec, val);
13667 }
13668
13669 /* struct VkPhysicalDeviceGroupProperties chain */
13670
13671 static inline void
vn_encode_VkPhysicalDeviceGroupProperties_pnext(struct vn_cs_encoder * enc,const void * val)13672 vn_encode_VkPhysicalDeviceGroupProperties_pnext(struct vn_cs_encoder *enc, const void *val)
13673 {
13674 /* no known/supported struct */
13675 vn_encode_simple_pointer(enc, NULL);
13676 }
13677
13678 static inline void
vn_encode_VkPhysicalDeviceGroupProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceGroupProperties * val)13679 vn_encode_VkPhysicalDeviceGroupProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)
13680 {
13681 /* skip val->{sType,pNext} */
13682 vn_encode_uint32_t(enc, &val->physicalDeviceCount);
13683 vn_encode_array_size(enc, VK_MAX_DEVICE_GROUP_SIZE);
13684 for (uint32_t i = 0; i < VK_MAX_DEVICE_GROUP_SIZE; i++)
13685 vn_encode_VkPhysicalDevice(enc, &val->physicalDevices[i]);
13686 vn_encode_VkBool32(enc, &val->subsetAllocation);
13687 }
13688
13689 static inline void
vn_encode_VkPhysicalDeviceGroupProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceGroupProperties * val)13690 vn_encode_VkPhysicalDeviceGroupProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceGroupProperties *val)
13691 {
13692 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES);
13693 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES });
13694 vn_encode_VkPhysicalDeviceGroupProperties_pnext(enc, val->pNext);
13695 vn_encode_VkPhysicalDeviceGroupProperties_self(enc, val);
13696 }
13697
13698 static inline void *
vn_decode_VkPhysicalDeviceGroupProperties_pnext_partial_temp(struct vn_cs_decoder * dec)13699 vn_decode_VkPhysicalDeviceGroupProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
13700 {
13701 /* no known/supported struct */
13702 if (vn_decode_simple_pointer(dec))
13703 vn_cs_decoder_set_fatal(dec);
13704 return NULL;
13705 }
13706
13707 static inline void
vn_decode_VkPhysicalDeviceGroupProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceGroupProperties * val)13708 vn_decode_VkPhysicalDeviceGroupProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)
13709 {
13710 /* skip val->{sType,pNext} */
13711 /* skip val->physicalDeviceCount */
13712 {
13713 const uint32_t iter_count = vn_decode_array_size(dec, VK_MAX_DEVICE_GROUP_SIZE);
13714 for (uint32_t i = 0; i < iter_count; i++)
13715 vn_decode_VkPhysicalDevice_temp(dec, &val->physicalDevices[i]);
13716 }
13717 /* skip val->subsetAllocation */
13718 }
13719
13720 static inline void
vn_decode_VkPhysicalDeviceGroupProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceGroupProperties * val)13721 vn_decode_VkPhysicalDeviceGroupProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceGroupProperties *val)
13722 {
13723 VkStructureType stype;
13724 vn_decode_VkStructureType(dec, &stype);
13725 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES)
13726 vn_cs_decoder_set_fatal(dec);
13727
13728 val->sType = stype;
13729 val->pNext = vn_decode_VkPhysicalDeviceGroupProperties_pnext_partial_temp(dec);
13730 vn_decode_VkPhysicalDeviceGroupProperties_self_partial_temp(dec, val);
13731 }
13732
13733 /* struct VkDeviceQueueTimelineInfoMESA chain */
13734
13735 static inline void *
vn_decode_VkDeviceQueueTimelineInfoMESA_pnext_temp(struct vn_cs_decoder * dec)13736 vn_decode_VkDeviceQueueTimelineInfoMESA_pnext_temp(struct vn_cs_decoder *dec)
13737 {
13738 /* no known/supported struct */
13739 if (vn_decode_simple_pointer(dec))
13740 vn_cs_decoder_set_fatal(dec);
13741 return NULL;
13742 }
13743
13744 static inline void
vn_decode_VkDeviceQueueTimelineInfoMESA_self_temp(struct vn_cs_decoder * dec,VkDeviceQueueTimelineInfoMESA * val)13745 vn_decode_VkDeviceQueueTimelineInfoMESA_self_temp(struct vn_cs_decoder *dec, VkDeviceQueueTimelineInfoMESA *val)
13746 {
13747 /* skip val->{sType,pNext} */
13748 vn_decode_uint32_t(dec, &val->ringIdx);
13749 }
13750
13751 static inline void
vn_decode_VkDeviceQueueTimelineInfoMESA_temp(struct vn_cs_decoder * dec,VkDeviceQueueTimelineInfoMESA * val)13752 vn_decode_VkDeviceQueueTimelineInfoMESA_temp(struct vn_cs_decoder *dec, VkDeviceQueueTimelineInfoMESA *val)
13753 {
13754 VkStructureType stype;
13755 vn_decode_VkStructureType(dec, &stype);
13756 if (stype != VK_STRUCTURE_TYPE_DEVICE_QUEUE_TIMELINE_INFO_MESA)
13757 vn_cs_decoder_set_fatal(dec);
13758
13759 val->sType = stype;
13760 val->pNext = vn_decode_VkDeviceQueueTimelineInfoMESA_pnext_temp(dec);
13761 vn_decode_VkDeviceQueueTimelineInfoMESA_self_temp(dec, val);
13762 }
13763
13764 static inline void
vn_replace_VkDeviceQueueTimelineInfoMESA_handle_self(VkDeviceQueueTimelineInfoMESA * val)13765 vn_replace_VkDeviceQueueTimelineInfoMESA_handle_self(VkDeviceQueueTimelineInfoMESA *val)
13766 {
13767 /* skip val->sType */
13768 /* skip val->pNext */
13769 /* skip val->ringIdx */
13770 }
13771
13772 static inline void
vn_replace_VkDeviceQueueTimelineInfoMESA_handle(VkDeviceQueueTimelineInfoMESA * val)13773 vn_replace_VkDeviceQueueTimelineInfoMESA_handle(VkDeviceQueueTimelineInfoMESA *val)
13774 {
13775 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13776
13777 do {
13778 switch ((int32_t)pnext->sType) {
13779 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_TIMELINE_INFO_MESA:
13780 vn_replace_VkDeviceQueueTimelineInfoMESA_handle_self((VkDeviceQueueTimelineInfoMESA *)pnext);
13781 break;
13782 default:
13783 /* ignore unknown/unsupported struct */
13784 break;
13785 }
13786 pnext = pnext->pNext;
13787 } while (pnext);
13788 }
13789
13790 /* struct VkDeviceQueueInfo2 chain */
13791
13792 static inline void *
vn_decode_VkDeviceQueueInfo2_pnext_temp(struct vn_cs_decoder * dec)13793 vn_decode_VkDeviceQueueInfo2_pnext_temp(struct vn_cs_decoder *dec)
13794 {
13795 VkBaseOutStructure *pnext;
13796 VkStructureType stype;
13797
13798 if (!vn_decode_simple_pointer(dec))
13799 return NULL;
13800
13801 vn_decode_VkStructureType(dec, &stype);
13802 switch ((int32_t)stype) {
13803 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_TIMELINE_INFO_MESA:
13804 pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkDeviceQueueTimelineInfoMESA));
13805 if (pnext) {
13806 pnext->sType = stype;
13807 pnext->pNext = vn_decode_VkDeviceQueueInfo2_pnext_temp(dec);
13808 vn_decode_VkDeviceQueueTimelineInfoMESA_self_temp(dec, (VkDeviceQueueTimelineInfoMESA *)pnext);
13809 }
13810 break;
13811 default:
13812 /* unexpected struct */
13813 pnext = NULL;
13814 vn_cs_decoder_set_fatal(dec);
13815 break;
13816 }
13817
13818 return pnext;
13819 }
13820
13821 static inline void
vn_decode_VkDeviceQueueInfo2_self_temp(struct vn_cs_decoder * dec,VkDeviceQueueInfo2 * val)13822 vn_decode_VkDeviceQueueInfo2_self_temp(struct vn_cs_decoder *dec, VkDeviceQueueInfo2 *val)
13823 {
13824 /* skip val->{sType,pNext} */
13825 vn_decode_VkFlags(dec, &val->flags);
13826 vn_decode_uint32_t(dec, &val->queueFamilyIndex);
13827 vn_decode_uint32_t(dec, &val->queueIndex);
13828 }
13829
13830 static inline void
vn_decode_VkDeviceQueueInfo2_temp(struct vn_cs_decoder * dec,VkDeviceQueueInfo2 * val)13831 vn_decode_VkDeviceQueueInfo2_temp(struct vn_cs_decoder *dec, VkDeviceQueueInfo2 *val)
13832 {
13833 VkStructureType stype;
13834 vn_decode_VkStructureType(dec, &stype);
13835 if (stype != VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2)
13836 vn_cs_decoder_set_fatal(dec);
13837
13838 val->sType = stype;
13839 val->pNext = vn_decode_VkDeviceQueueInfo2_pnext_temp(dec);
13840 vn_decode_VkDeviceQueueInfo2_self_temp(dec, val);
13841 }
13842
13843 static inline void
vn_replace_VkDeviceQueueInfo2_handle_self(VkDeviceQueueInfo2 * val)13844 vn_replace_VkDeviceQueueInfo2_handle_self(VkDeviceQueueInfo2 *val)
13845 {
13846 /* skip val->sType */
13847 /* skip val->pNext */
13848 /* skip val->flags */
13849 /* skip val->queueFamilyIndex */
13850 /* skip val->queueIndex */
13851 }
13852
13853 static inline void
vn_replace_VkDeviceQueueInfo2_handle(VkDeviceQueueInfo2 * val)13854 vn_replace_VkDeviceQueueInfo2_handle(VkDeviceQueueInfo2 *val)
13855 {
13856 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13857
13858 do {
13859 switch ((int32_t)pnext->sType) {
13860 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2:
13861 vn_replace_VkDeviceQueueInfo2_handle_self((VkDeviceQueueInfo2 *)pnext);
13862 break;
13863 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_TIMELINE_INFO_MESA:
13864 vn_replace_VkDeviceQueueTimelineInfoMESA_handle_self((VkDeviceQueueTimelineInfoMESA *)pnext);
13865 break;
13866 default:
13867 /* ignore unknown/unsupported struct */
13868 break;
13869 }
13870 pnext = pnext->pNext;
13871 } while (pnext);
13872 }
13873
13874 /* struct VkCalibratedTimestampInfoEXT chain */
13875
13876 static inline void *
vn_decode_VkCalibratedTimestampInfoEXT_pnext_temp(struct vn_cs_decoder * dec)13877 vn_decode_VkCalibratedTimestampInfoEXT_pnext_temp(struct vn_cs_decoder *dec)
13878 {
13879 /* no known/supported struct */
13880 if (vn_decode_simple_pointer(dec))
13881 vn_cs_decoder_set_fatal(dec);
13882 return NULL;
13883 }
13884
13885 static inline void
vn_decode_VkCalibratedTimestampInfoEXT_self_temp(struct vn_cs_decoder * dec,VkCalibratedTimestampInfoEXT * val)13886 vn_decode_VkCalibratedTimestampInfoEXT_self_temp(struct vn_cs_decoder *dec, VkCalibratedTimestampInfoEXT *val)
13887 {
13888 /* skip val->{sType,pNext} */
13889 vn_decode_VkTimeDomainEXT(dec, &val->timeDomain);
13890 }
13891
13892 static inline void
vn_decode_VkCalibratedTimestampInfoEXT_temp(struct vn_cs_decoder * dec,VkCalibratedTimestampInfoEXT * val)13893 vn_decode_VkCalibratedTimestampInfoEXT_temp(struct vn_cs_decoder *dec, VkCalibratedTimestampInfoEXT *val)
13894 {
13895 VkStructureType stype;
13896 vn_decode_VkStructureType(dec, &stype);
13897 if (stype != VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT)
13898 vn_cs_decoder_set_fatal(dec);
13899
13900 val->sType = stype;
13901 val->pNext = vn_decode_VkCalibratedTimestampInfoEXT_pnext_temp(dec);
13902 vn_decode_VkCalibratedTimestampInfoEXT_self_temp(dec, val);
13903 }
13904
13905 static inline void
vn_replace_VkCalibratedTimestampInfoEXT_handle_self(VkCalibratedTimestampInfoEXT * val)13906 vn_replace_VkCalibratedTimestampInfoEXT_handle_self(VkCalibratedTimestampInfoEXT *val)
13907 {
13908 /* skip val->sType */
13909 /* skip val->pNext */
13910 /* skip val->timeDomain */
13911 }
13912
13913 static inline void
vn_replace_VkCalibratedTimestampInfoEXT_handle(VkCalibratedTimestampInfoEXT * val)13914 vn_replace_VkCalibratedTimestampInfoEXT_handle(VkCalibratedTimestampInfoEXT *val)
13915 {
13916 struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
13917
13918 do {
13919 switch ((int32_t)pnext->sType) {
13920 case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT:
13921 vn_replace_VkCalibratedTimestampInfoEXT_handle_self((VkCalibratedTimestampInfoEXT *)pnext);
13922 break;
13923 default:
13924 /* ignore unknown/unsupported struct */
13925 break;
13926 }
13927 pnext = pnext->pNext;
13928 } while (pnext);
13929 }
13930
13931 /* struct VkPhysicalDeviceToolProperties chain */
13932
13933 static inline void
vn_encode_VkPhysicalDeviceToolProperties_pnext(struct vn_cs_encoder * enc,const void * val)13934 vn_encode_VkPhysicalDeviceToolProperties_pnext(struct vn_cs_encoder *enc, const void *val)
13935 {
13936 /* no known/supported struct */
13937 vn_encode_simple_pointer(enc, NULL);
13938 }
13939
13940 static inline void
vn_encode_VkPhysicalDeviceToolProperties_self(struct vn_cs_encoder * enc,const VkPhysicalDeviceToolProperties * val)13941 vn_encode_VkPhysicalDeviceToolProperties_self(struct vn_cs_encoder *enc, const VkPhysicalDeviceToolProperties *val)
13942 {
13943 /* skip val->{sType,pNext} */
13944 vn_encode_array_size(enc, VK_MAX_EXTENSION_NAME_SIZE);
13945 vn_encode_char_array(enc, val->name, VK_MAX_EXTENSION_NAME_SIZE);
13946 vn_encode_array_size(enc, VK_MAX_EXTENSION_NAME_SIZE);
13947 vn_encode_char_array(enc, val->version, VK_MAX_EXTENSION_NAME_SIZE);
13948 vn_encode_VkFlags(enc, &val->purposes);
13949 vn_encode_array_size(enc, VK_MAX_DESCRIPTION_SIZE);
13950 vn_encode_char_array(enc, val->description, VK_MAX_DESCRIPTION_SIZE);
13951 vn_encode_array_size(enc, VK_MAX_EXTENSION_NAME_SIZE);
13952 vn_encode_char_array(enc, val->layer, VK_MAX_EXTENSION_NAME_SIZE);
13953 }
13954
13955 static inline void
vn_encode_VkPhysicalDeviceToolProperties(struct vn_cs_encoder * enc,const VkPhysicalDeviceToolProperties * val)13956 vn_encode_VkPhysicalDeviceToolProperties(struct vn_cs_encoder *enc, const VkPhysicalDeviceToolProperties *val)
13957 {
13958 assert(val->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES);
13959 vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES });
13960 vn_encode_VkPhysicalDeviceToolProperties_pnext(enc, val->pNext);
13961 vn_encode_VkPhysicalDeviceToolProperties_self(enc, val);
13962 }
13963
13964 static inline void *
vn_decode_VkPhysicalDeviceToolProperties_pnext_partial_temp(struct vn_cs_decoder * dec)13965 vn_decode_VkPhysicalDeviceToolProperties_pnext_partial_temp(struct vn_cs_decoder *dec)
13966 {
13967 /* no known/supported struct */
13968 if (vn_decode_simple_pointer(dec))
13969 vn_cs_decoder_set_fatal(dec);
13970 return NULL;
13971 }
13972
13973 static inline void
vn_decode_VkPhysicalDeviceToolProperties_self_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceToolProperties * val)13974 vn_decode_VkPhysicalDeviceToolProperties_self_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceToolProperties *val)
13975 {
13976 /* skip val->{sType,pNext} */
13977 /* skip val->name */
13978 /* skip val->version */
13979 /* skip val->purposes */
13980 /* skip val->description */
13981 /* skip val->layer */
13982 }
13983
13984 static inline void
vn_decode_VkPhysicalDeviceToolProperties_partial_temp(struct vn_cs_decoder * dec,VkPhysicalDeviceToolProperties * val)13985 vn_decode_VkPhysicalDeviceToolProperties_partial_temp(struct vn_cs_decoder *dec, VkPhysicalDeviceToolProperties *val)
13986 {
13987 VkStructureType stype;
13988 vn_decode_VkStructureType(dec, &stype);
13989 if (stype != VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES)
13990 vn_cs_decoder_set_fatal(dec);
13991
13992 val->sType = stype;
13993 val->pNext = vn_decode_VkPhysicalDeviceToolProperties_pnext_partial_temp(dec);
13994 vn_decode_VkPhysicalDeviceToolProperties_self_partial_temp(dec, val);
13995 }
13996
vn_decode_vkEnumeratePhysicalDevices_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkEnumeratePhysicalDevices * args)13997 static inline void vn_decode_vkEnumeratePhysicalDevices_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkEnumeratePhysicalDevices *args)
13998 {
13999 vn_decode_VkInstance_lookup(dec, &args->instance);
14000 if (vn_decode_simple_pointer(dec)) {
14001 args->pPhysicalDeviceCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPhysicalDeviceCount));
14002 if (!args->pPhysicalDeviceCount) return;
14003 vn_decode_uint32_t(dec, args->pPhysicalDeviceCount);
14004 } else {
14005 args->pPhysicalDeviceCount = NULL;
14006 vn_cs_decoder_set_fatal(dec);
14007 }
14008 if (vn_peek_array_size(dec)) {
14009 const uint32_t iter_count = vn_decode_array_size(dec, (args->pPhysicalDeviceCount ? *args->pPhysicalDeviceCount : 0));
14010 args->pPhysicalDevices = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPhysicalDevices) * iter_count);
14011 if (!args->pPhysicalDevices) return;
14012 for (uint32_t i = 0; i < iter_count; i++)
14013 vn_decode_VkPhysicalDevice_temp(dec, &args->pPhysicalDevices[i]);
14014 } else {
14015 vn_decode_array_size_unchecked(dec);
14016 args->pPhysicalDevices = NULL;
14017 }
14018 }
14019
vn_replace_vkEnumeratePhysicalDevices_args_handle(struct vn_command_vkEnumeratePhysicalDevices * args)14020 static inline void vn_replace_vkEnumeratePhysicalDevices_args_handle(struct vn_command_vkEnumeratePhysicalDevices *args)
14021 {
14022 vn_replace_VkInstance_handle(&args->instance);
14023 /* skip args->pPhysicalDeviceCount */
14024 /* skip args->pPhysicalDevices */
14025 }
14026
vn_encode_vkEnumeratePhysicalDevices_reply(struct vn_cs_encoder * enc,const struct vn_command_vkEnumeratePhysicalDevices * args)14027 static inline void vn_encode_vkEnumeratePhysicalDevices_reply(struct vn_cs_encoder *enc, const struct vn_command_vkEnumeratePhysicalDevices *args)
14028 {
14029 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkEnumeratePhysicalDevices_EXT});
14030
14031 vn_encode_VkResult(enc, &args->ret);
14032 /* skip args->instance */
14033 if (vn_encode_simple_pointer(enc, args->pPhysicalDeviceCount))
14034 vn_encode_uint32_t(enc, args->pPhysicalDeviceCount);
14035 if (args->pPhysicalDevices) {
14036 vn_encode_array_size(enc, (args->pPhysicalDeviceCount ? *args->pPhysicalDeviceCount : 0));
14037 for (uint32_t i = 0; i < (args->pPhysicalDeviceCount ? *args->pPhysicalDeviceCount : 0); i++)
14038 vn_encode_VkPhysicalDevice(enc, &args->pPhysicalDevices[i]);
14039 } else {
14040 vn_encode_array_size(enc, 0);
14041 }
14042 }
14043
vn_decode_vkGetPhysicalDeviceProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceProperties * args)14044 static inline void vn_decode_vkGetPhysicalDeviceProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceProperties *args)
14045 {
14046 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14047 if (vn_decode_simple_pointer(dec)) {
14048 args->pProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pProperties));
14049 if (!args->pProperties) return;
14050 vn_decode_VkPhysicalDeviceProperties_partial_temp(dec, args->pProperties);
14051 } else {
14052 args->pProperties = NULL;
14053 vn_cs_decoder_set_fatal(dec);
14054 }
14055 }
14056
vn_replace_vkGetPhysicalDeviceProperties_args_handle(struct vn_command_vkGetPhysicalDeviceProperties * args)14057 static inline void vn_replace_vkGetPhysicalDeviceProperties_args_handle(struct vn_command_vkGetPhysicalDeviceProperties *args)
14058 {
14059 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14060 /* skip args->pProperties */
14061 }
14062
vn_encode_vkGetPhysicalDeviceProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceProperties * args)14063 static inline void vn_encode_vkGetPhysicalDeviceProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceProperties *args)
14064 {
14065 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties_EXT});
14066
14067 /* skip args->physicalDevice */
14068 if (vn_encode_simple_pointer(enc, args->pProperties))
14069 vn_encode_VkPhysicalDeviceProperties(enc, args->pProperties);
14070 }
14071
vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties * args)14072 static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties *args)
14073 {
14074 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14075 if (vn_decode_simple_pointer(dec)) {
14076 args->pQueueFamilyPropertyCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueueFamilyPropertyCount));
14077 if (!args->pQueueFamilyPropertyCount) return;
14078 vn_decode_uint32_t(dec, args->pQueueFamilyPropertyCount);
14079 } else {
14080 args->pQueueFamilyPropertyCount = NULL;
14081 vn_cs_decoder_set_fatal(dec);
14082 }
14083 if (vn_peek_array_size(dec)) {
14084 const uint32_t iter_count = vn_decode_array_size(dec, (args->pQueueFamilyPropertyCount ? *args->pQueueFamilyPropertyCount : 0));
14085 args->pQueueFamilyProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueueFamilyProperties) * iter_count);
14086 if (!args->pQueueFamilyProperties) return;
14087 for (uint32_t i = 0; i < iter_count; i++)
14088 vn_decode_VkQueueFamilyProperties_partial_temp(dec, &args->pQueueFamilyProperties[i]);
14089 } else {
14090 vn_decode_array_size_unchecked(dec);
14091 args->pQueueFamilyProperties = NULL;
14092 }
14093 }
14094
vn_replace_vkGetPhysicalDeviceQueueFamilyProperties_args_handle(struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties * args)14095 static inline void vn_replace_vkGetPhysicalDeviceQueueFamilyProperties_args_handle(struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties *args)
14096 {
14097 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14098 /* skip args->pQueueFamilyPropertyCount */
14099 /* skip args->pQueueFamilyProperties */
14100 }
14101
vn_encode_vkGetPhysicalDeviceQueueFamilyProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties * args)14102 static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties *args)
14103 {
14104 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties_EXT});
14105
14106 /* skip args->physicalDevice */
14107 if (vn_encode_simple_pointer(enc, args->pQueueFamilyPropertyCount))
14108 vn_encode_uint32_t(enc, args->pQueueFamilyPropertyCount);
14109 if (args->pQueueFamilyProperties) {
14110 vn_encode_array_size(enc, (args->pQueueFamilyPropertyCount ? *args->pQueueFamilyPropertyCount : 0));
14111 for (uint32_t i = 0; i < (args->pQueueFamilyPropertyCount ? *args->pQueueFamilyPropertyCount : 0); i++)
14112 vn_encode_VkQueueFamilyProperties(enc, &args->pQueueFamilyProperties[i]);
14113 } else {
14114 vn_encode_array_size(enc, 0);
14115 }
14116 }
14117
vn_decode_vkGetPhysicalDeviceMemoryProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceMemoryProperties * args)14118 static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceMemoryProperties *args)
14119 {
14120 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14121 if (vn_decode_simple_pointer(dec)) {
14122 args->pMemoryProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pMemoryProperties));
14123 if (!args->pMemoryProperties) return;
14124 vn_decode_VkPhysicalDeviceMemoryProperties_partial_temp(dec, args->pMemoryProperties);
14125 } else {
14126 args->pMemoryProperties = NULL;
14127 vn_cs_decoder_set_fatal(dec);
14128 }
14129 }
14130
vn_replace_vkGetPhysicalDeviceMemoryProperties_args_handle(struct vn_command_vkGetPhysicalDeviceMemoryProperties * args)14131 static inline void vn_replace_vkGetPhysicalDeviceMemoryProperties_args_handle(struct vn_command_vkGetPhysicalDeviceMemoryProperties *args)
14132 {
14133 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14134 /* skip args->pMemoryProperties */
14135 }
14136
vn_encode_vkGetPhysicalDeviceMemoryProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceMemoryProperties * args)14137 static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceMemoryProperties *args)
14138 {
14139 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties_EXT});
14140
14141 /* skip args->physicalDevice */
14142 if (vn_encode_simple_pointer(enc, args->pMemoryProperties))
14143 vn_encode_VkPhysicalDeviceMemoryProperties(enc, args->pMemoryProperties);
14144 }
14145
vn_decode_vkGetPhysicalDeviceFeatures_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceFeatures * args)14146 static inline void vn_decode_vkGetPhysicalDeviceFeatures_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceFeatures *args)
14147 {
14148 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14149 if (vn_decode_simple_pointer(dec)) {
14150 args->pFeatures = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pFeatures));
14151 if (!args->pFeatures) return;
14152 vn_decode_VkPhysicalDeviceFeatures_partial_temp(dec, args->pFeatures);
14153 } else {
14154 args->pFeatures = NULL;
14155 vn_cs_decoder_set_fatal(dec);
14156 }
14157 }
14158
vn_replace_vkGetPhysicalDeviceFeatures_args_handle(struct vn_command_vkGetPhysicalDeviceFeatures * args)14159 static inline void vn_replace_vkGetPhysicalDeviceFeatures_args_handle(struct vn_command_vkGetPhysicalDeviceFeatures *args)
14160 {
14161 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14162 /* skip args->pFeatures */
14163 }
14164
vn_encode_vkGetPhysicalDeviceFeatures_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceFeatures * args)14165 static inline void vn_encode_vkGetPhysicalDeviceFeatures_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceFeatures *args)
14166 {
14167 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures_EXT});
14168
14169 /* skip args->physicalDevice */
14170 if (vn_encode_simple_pointer(enc, args->pFeatures))
14171 vn_encode_VkPhysicalDeviceFeatures(enc, args->pFeatures);
14172 }
14173
vn_decode_vkGetPhysicalDeviceFormatProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceFormatProperties * args)14174 static inline void vn_decode_vkGetPhysicalDeviceFormatProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceFormatProperties *args)
14175 {
14176 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14177 vn_decode_VkFormat(dec, &args->format);
14178 if (vn_decode_simple_pointer(dec)) {
14179 args->pFormatProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pFormatProperties));
14180 if (!args->pFormatProperties) return;
14181 vn_decode_VkFormatProperties_partial_temp(dec, args->pFormatProperties);
14182 } else {
14183 args->pFormatProperties = NULL;
14184 vn_cs_decoder_set_fatal(dec);
14185 }
14186 }
14187
vn_replace_vkGetPhysicalDeviceFormatProperties_args_handle(struct vn_command_vkGetPhysicalDeviceFormatProperties * args)14188 static inline void vn_replace_vkGetPhysicalDeviceFormatProperties_args_handle(struct vn_command_vkGetPhysicalDeviceFormatProperties *args)
14189 {
14190 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14191 /* skip args->format */
14192 /* skip args->pFormatProperties */
14193 }
14194
vn_encode_vkGetPhysicalDeviceFormatProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceFormatProperties * args)14195 static inline void vn_encode_vkGetPhysicalDeviceFormatProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceFormatProperties *args)
14196 {
14197 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties_EXT});
14198
14199 /* skip args->physicalDevice */
14200 /* skip args->format */
14201 if (vn_encode_simple_pointer(enc, args->pFormatProperties))
14202 vn_encode_VkFormatProperties(enc, args->pFormatProperties);
14203 }
14204
vn_decode_vkGetPhysicalDeviceImageFormatProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceImageFormatProperties * args)14205 static inline void vn_decode_vkGetPhysicalDeviceImageFormatProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceImageFormatProperties *args)
14206 {
14207 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14208 vn_decode_VkFormat(dec, &args->format);
14209 vn_decode_VkImageType(dec, &args->type);
14210 vn_decode_VkImageTiling(dec, &args->tiling);
14211 vn_decode_VkFlags(dec, &args->usage);
14212 vn_decode_VkFlags(dec, &args->flags);
14213 if (vn_decode_simple_pointer(dec)) {
14214 args->pImageFormatProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pImageFormatProperties));
14215 if (!args->pImageFormatProperties) return;
14216 vn_decode_VkImageFormatProperties_partial_temp(dec, args->pImageFormatProperties);
14217 } else {
14218 args->pImageFormatProperties = NULL;
14219 vn_cs_decoder_set_fatal(dec);
14220 }
14221 }
14222
vn_replace_vkGetPhysicalDeviceImageFormatProperties_args_handle(struct vn_command_vkGetPhysicalDeviceImageFormatProperties * args)14223 static inline void vn_replace_vkGetPhysicalDeviceImageFormatProperties_args_handle(struct vn_command_vkGetPhysicalDeviceImageFormatProperties *args)
14224 {
14225 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14226 /* skip args->format */
14227 /* skip args->type */
14228 /* skip args->tiling */
14229 /* skip args->usage */
14230 /* skip args->flags */
14231 /* skip args->pImageFormatProperties */
14232 }
14233
vn_encode_vkGetPhysicalDeviceImageFormatProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceImageFormatProperties * args)14234 static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceImageFormatProperties *args)
14235 {
14236 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties_EXT});
14237
14238 vn_encode_VkResult(enc, &args->ret);
14239 /* skip args->physicalDevice */
14240 /* skip args->format */
14241 /* skip args->type */
14242 /* skip args->tiling */
14243 /* skip args->usage */
14244 /* skip args->flags */
14245 if (vn_encode_simple_pointer(enc, args->pImageFormatProperties))
14246 vn_encode_VkImageFormatProperties(enc, args->pImageFormatProperties);
14247 }
14248
vn_decode_vkCreateDevice_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkCreateDevice * args)14249 static inline void vn_decode_vkCreateDevice_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkCreateDevice *args)
14250 {
14251 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14252 if (vn_decode_simple_pointer(dec)) {
14253 args->pCreateInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pCreateInfo));
14254 if (!args->pCreateInfo) return;
14255 vn_decode_VkDeviceCreateInfo_temp(dec, (VkDeviceCreateInfo *)args->pCreateInfo);
14256 } else {
14257 args->pCreateInfo = NULL;
14258 vn_cs_decoder_set_fatal(dec);
14259 }
14260 if (vn_decode_simple_pointer(dec)) {
14261 vn_cs_decoder_set_fatal(dec);
14262 } else {
14263 args->pAllocator = NULL;
14264 }
14265 if (vn_decode_simple_pointer(dec)) {
14266 args->pDevice = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pDevice));
14267 if (!args->pDevice) return;
14268 vn_decode_VkDevice_temp(dec, args->pDevice);
14269 } else {
14270 args->pDevice = NULL;
14271 vn_cs_decoder_set_fatal(dec);
14272 }
14273 }
14274
vn_replace_vkCreateDevice_args_handle(struct vn_command_vkCreateDevice * args)14275 static inline void vn_replace_vkCreateDevice_args_handle(struct vn_command_vkCreateDevice *args)
14276 {
14277 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14278 if (args->pCreateInfo)
14279 vn_replace_VkDeviceCreateInfo_handle((VkDeviceCreateInfo *)args->pCreateInfo);
14280 /* skip args->pAllocator */
14281 /* skip args->pDevice */
14282 }
14283
vn_encode_vkCreateDevice_reply(struct vn_cs_encoder * enc,const struct vn_command_vkCreateDevice * args)14284 static inline void vn_encode_vkCreateDevice_reply(struct vn_cs_encoder *enc, const struct vn_command_vkCreateDevice *args)
14285 {
14286 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkCreateDevice_EXT});
14287
14288 vn_encode_VkResult(enc, &args->ret);
14289 /* skip args->physicalDevice */
14290 /* skip args->pCreateInfo */
14291 /* skip args->pAllocator */
14292 if (vn_encode_simple_pointer(enc, args->pDevice))
14293 vn_encode_VkDevice(enc, args->pDevice);
14294 }
14295
vn_decode_vkDestroyDevice_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkDestroyDevice * args)14296 static inline void vn_decode_vkDestroyDevice_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkDestroyDevice *args)
14297 {
14298 vn_decode_VkDevice_lookup(dec, &args->device);
14299 if (vn_decode_simple_pointer(dec)) {
14300 vn_cs_decoder_set_fatal(dec);
14301 } else {
14302 args->pAllocator = NULL;
14303 }
14304 }
14305
vn_replace_vkDestroyDevice_args_handle(struct vn_command_vkDestroyDevice * args)14306 static inline void vn_replace_vkDestroyDevice_args_handle(struct vn_command_vkDestroyDevice *args)
14307 {
14308 vn_replace_VkDevice_handle(&args->device);
14309 /* skip args->pAllocator */
14310 }
14311
vn_encode_vkDestroyDevice_reply(struct vn_cs_encoder * enc,const struct vn_command_vkDestroyDevice * args)14312 static inline void vn_encode_vkDestroyDevice_reply(struct vn_cs_encoder *enc, const struct vn_command_vkDestroyDevice *args)
14313 {
14314 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkDestroyDevice_EXT});
14315
14316 /* skip args->device */
14317 /* skip args->pAllocator */
14318 }
14319
vn_decode_vkEnumerateDeviceLayerProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkEnumerateDeviceLayerProperties * args)14320 static inline void vn_decode_vkEnumerateDeviceLayerProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkEnumerateDeviceLayerProperties *args)
14321 {
14322 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14323 if (vn_decode_simple_pointer(dec)) {
14324 args->pPropertyCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPropertyCount));
14325 if (!args->pPropertyCount) return;
14326 vn_decode_uint32_t(dec, args->pPropertyCount);
14327 } else {
14328 args->pPropertyCount = NULL;
14329 vn_cs_decoder_set_fatal(dec);
14330 }
14331 if (vn_peek_array_size(dec)) {
14332 const uint32_t iter_count = vn_decode_array_size(dec, (args->pPropertyCount ? *args->pPropertyCount : 0));
14333 args->pProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pProperties) * iter_count);
14334 if (!args->pProperties) return;
14335 for (uint32_t i = 0; i < iter_count; i++)
14336 vn_decode_VkLayerProperties_partial_temp(dec, &args->pProperties[i]);
14337 } else {
14338 vn_decode_array_size_unchecked(dec);
14339 args->pProperties = NULL;
14340 }
14341 }
14342
vn_replace_vkEnumerateDeviceLayerProperties_args_handle(struct vn_command_vkEnumerateDeviceLayerProperties * args)14343 static inline void vn_replace_vkEnumerateDeviceLayerProperties_args_handle(struct vn_command_vkEnumerateDeviceLayerProperties *args)
14344 {
14345 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14346 /* skip args->pPropertyCount */
14347 /* skip args->pProperties */
14348 }
14349
vn_encode_vkEnumerateDeviceLayerProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkEnumerateDeviceLayerProperties * args)14350 static inline void vn_encode_vkEnumerateDeviceLayerProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkEnumerateDeviceLayerProperties *args)
14351 {
14352 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkEnumerateDeviceLayerProperties_EXT});
14353
14354 vn_encode_VkResult(enc, &args->ret);
14355 /* skip args->physicalDevice */
14356 if (vn_encode_simple_pointer(enc, args->pPropertyCount))
14357 vn_encode_uint32_t(enc, args->pPropertyCount);
14358 if (args->pProperties) {
14359 vn_encode_array_size(enc, (args->pPropertyCount ? *args->pPropertyCount : 0));
14360 for (uint32_t i = 0; i < (args->pPropertyCount ? *args->pPropertyCount : 0); i++)
14361 vn_encode_VkLayerProperties(enc, &args->pProperties[i]);
14362 } else {
14363 vn_encode_array_size(enc, 0);
14364 }
14365 }
14366
vn_decode_vkEnumerateDeviceExtensionProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkEnumerateDeviceExtensionProperties * args)14367 static inline void vn_decode_vkEnumerateDeviceExtensionProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkEnumerateDeviceExtensionProperties *args)
14368 {
14369 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14370 if (vn_peek_array_size(dec)) {
14371 const size_t string_size = vn_decode_array_size_unchecked(dec);
14372 args->pLayerName = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pLayerName) * string_size);
14373 if (!args->pLayerName) return;
14374 vn_decode_char_array(dec, (char *)args->pLayerName, string_size);
14375 } else {
14376 vn_decode_array_size_unchecked(dec);
14377 args->pLayerName = NULL;
14378 }
14379 if (vn_decode_simple_pointer(dec)) {
14380 args->pPropertyCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPropertyCount));
14381 if (!args->pPropertyCount) return;
14382 vn_decode_uint32_t(dec, args->pPropertyCount);
14383 } else {
14384 args->pPropertyCount = NULL;
14385 vn_cs_decoder_set_fatal(dec);
14386 }
14387 if (vn_peek_array_size(dec)) {
14388 const uint32_t iter_count = vn_decode_array_size(dec, (args->pPropertyCount ? *args->pPropertyCount : 0));
14389 args->pProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pProperties) * iter_count);
14390 if (!args->pProperties) return;
14391 for (uint32_t i = 0; i < iter_count; i++)
14392 vn_decode_VkExtensionProperties_partial_temp(dec, &args->pProperties[i]);
14393 } else {
14394 vn_decode_array_size_unchecked(dec);
14395 args->pProperties = NULL;
14396 }
14397 }
14398
vn_replace_vkEnumerateDeviceExtensionProperties_args_handle(struct vn_command_vkEnumerateDeviceExtensionProperties * args)14399 static inline void vn_replace_vkEnumerateDeviceExtensionProperties_args_handle(struct vn_command_vkEnumerateDeviceExtensionProperties *args)
14400 {
14401 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14402 /* skip args->pLayerName */
14403 /* skip args->pPropertyCount */
14404 /* skip args->pProperties */
14405 }
14406
vn_encode_vkEnumerateDeviceExtensionProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkEnumerateDeviceExtensionProperties * args)14407 static inline void vn_encode_vkEnumerateDeviceExtensionProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkEnumerateDeviceExtensionProperties *args)
14408 {
14409 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkEnumerateDeviceExtensionProperties_EXT});
14410
14411 vn_encode_VkResult(enc, &args->ret);
14412 /* skip args->physicalDevice */
14413 /* skip args->pLayerName */
14414 if (vn_encode_simple_pointer(enc, args->pPropertyCount))
14415 vn_encode_uint32_t(enc, args->pPropertyCount);
14416 if (args->pProperties) {
14417 vn_encode_array_size(enc, (args->pPropertyCount ? *args->pPropertyCount : 0));
14418 for (uint32_t i = 0; i < (args->pPropertyCount ? *args->pPropertyCount : 0); i++)
14419 vn_encode_VkExtensionProperties(enc, &args->pProperties[i]);
14420 } else {
14421 vn_encode_array_size(enc, 0);
14422 }
14423 }
14424
vn_decode_vkGetDeviceQueue_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetDeviceQueue * args)14425 static inline void vn_decode_vkGetDeviceQueue_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetDeviceQueue *args)
14426 {
14427 vn_decode_VkDevice_lookup(dec, &args->device);
14428 vn_decode_uint32_t(dec, &args->queueFamilyIndex);
14429 vn_decode_uint32_t(dec, &args->queueIndex);
14430 if (vn_decode_simple_pointer(dec)) {
14431 args->pQueue = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueue));
14432 if (!args->pQueue) return;
14433 vn_decode_VkQueue_temp(dec, args->pQueue);
14434 } else {
14435 args->pQueue = NULL;
14436 vn_cs_decoder_set_fatal(dec);
14437 }
14438 }
14439
vn_replace_vkGetDeviceQueue_args_handle(struct vn_command_vkGetDeviceQueue * args)14440 static inline void vn_replace_vkGetDeviceQueue_args_handle(struct vn_command_vkGetDeviceQueue *args)
14441 {
14442 vn_replace_VkDevice_handle(&args->device);
14443 /* skip args->queueFamilyIndex */
14444 /* skip args->queueIndex */
14445 /* skip args->pQueue */
14446 }
14447
vn_encode_vkGetDeviceQueue_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetDeviceQueue * args)14448 static inline void vn_encode_vkGetDeviceQueue_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetDeviceQueue *args)
14449 {
14450 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetDeviceQueue_EXT});
14451
14452 /* skip args->device */
14453 /* skip args->queueFamilyIndex */
14454 /* skip args->queueIndex */
14455 if (vn_encode_simple_pointer(enc, args->pQueue))
14456 vn_encode_VkQueue(enc, args->pQueue);
14457 }
14458
vn_decode_vkDeviceWaitIdle_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkDeviceWaitIdle * args)14459 static inline void vn_decode_vkDeviceWaitIdle_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkDeviceWaitIdle *args)
14460 {
14461 vn_decode_VkDevice_lookup(dec, &args->device);
14462 }
14463
vn_replace_vkDeviceWaitIdle_args_handle(struct vn_command_vkDeviceWaitIdle * args)14464 static inline void vn_replace_vkDeviceWaitIdle_args_handle(struct vn_command_vkDeviceWaitIdle *args)
14465 {
14466 vn_replace_VkDevice_handle(&args->device);
14467 }
14468
vn_encode_vkDeviceWaitIdle_reply(struct vn_cs_encoder * enc,const struct vn_command_vkDeviceWaitIdle * args)14469 static inline void vn_encode_vkDeviceWaitIdle_reply(struct vn_cs_encoder *enc, const struct vn_command_vkDeviceWaitIdle *args)
14470 {
14471 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkDeviceWaitIdle_EXT});
14472
14473 vn_encode_VkResult(enc, &args->ret);
14474 /* skip args->device */
14475 }
14476
vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties * args)14477 static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties *args)
14478 {
14479 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14480 vn_decode_VkFormat(dec, &args->format);
14481 vn_decode_VkImageType(dec, &args->type);
14482 vn_decode_VkSampleCountFlagBits(dec, &args->samples);
14483 vn_decode_VkFlags(dec, &args->usage);
14484 vn_decode_VkImageTiling(dec, &args->tiling);
14485 if (vn_decode_simple_pointer(dec)) {
14486 args->pPropertyCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPropertyCount));
14487 if (!args->pPropertyCount) return;
14488 vn_decode_uint32_t(dec, args->pPropertyCount);
14489 } else {
14490 args->pPropertyCount = NULL;
14491 vn_cs_decoder_set_fatal(dec);
14492 }
14493 if (vn_peek_array_size(dec)) {
14494 const uint32_t iter_count = vn_decode_array_size(dec, (args->pPropertyCount ? *args->pPropertyCount : 0));
14495 args->pProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pProperties) * iter_count);
14496 if (!args->pProperties) return;
14497 for (uint32_t i = 0; i < iter_count; i++)
14498 vn_decode_VkSparseImageFormatProperties_partial_temp(dec, &args->pProperties[i]);
14499 } else {
14500 vn_decode_array_size_unchecked(dec);
14501 args->pProperties = NULL;
14502 }
14503 }
14504
vn_replace_vkGetPhysicalDeviceSparseImageFormatProperties_args_handle(struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties * args)14505 static inline void vn_replace_vkGetPhysicalDeviceSparseImageFormatProperties_args_handle(struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties *args)
14506 {
14507 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14508 /* skip args->format */
14509 /* skip args->type */
14510 /* skip args->samples */
14511 /* skip args->usage */
14512 /* skip args->tiling */
14513 /* skip args->pPropertyCount */
14514 /* skip args->pProperties */
14515 }
14516
vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties * args)14517 static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties *args)
14518 {
14519 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties_EXT});
14520
14521 /* skip args->physicalDevice */
14522 /* skip args->format */
14523 /* skip args->type */
14524 /* skip args->samples */
14525 /* skip args->usage */
14526 /* skip args->tiling */
14527 if (vn_encode_simple_pointer(enc, args->pPropertyCount))
14528 vn_encode_uint32_t(enc, args->pPropertyCount);
14529 if (args->pProperties) {
14530 vn_encode_array_size(enc, (args->pPropertyCount ? *args->pPropertyCount : 0));
14531 for (uint32_t i = 0; i < (args->pPropertyCount ? *args->pPropertyCount : 0); i++)
14532 vn_encode_VkSparseImageFormatProperties(enc, &args->pProperties[i]);
14533 } else {
14534 vn_encode_array_size(enc, 0);
14535 }
14536 }
14537
vn_decode_vkGetPhysicalDeviceFeatures2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceFeatures2 * args)14538 static inline void vn_decode_vkGetPhysicalDeviceFeatures2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceFeatures2 *args)
14539 {
14540 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14541 if (vn_decode_simple_pointer(dec)) {
14542 args->pFeatures = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pFeatures));
14543 if (!args->pFeatures) return;
14544 vn_decode_VkPhysicalDeviceFeatures2_partial_temp(dec, args->pFeatures);
14545 } else {
14546 args->pFeatures = NULL;
14547 vn_cs_decoder_set_fatal(dec);
14548 }
14549 }
14550
vn_replace_vkGetPhysicalDeviceFeatures2_args_handle(struct vn_command_vkGetPhysicalDeviceFeatures2 * args)14551 static inline void vn_replace_vkGetPhysicalDeviceFeatures2_args_handle(struct vn_command_vkGetPhysicalDeviceFeatures2 *args)
14552 {
14553 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14554 /* skip args->pFeatures */
14555 }
14556
vn_encode_vkGetPhysicalDeviceFeatures2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceFeatures2 * args)14557 static inline void vn_encode_vkGetPhysicalDeviceFeatures2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceFeatures2 *args)
14558 {
14559 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceFeatures2_EXT});
14560
14561 /* skip args->physicalDevice */
14562 if (vn_encode_simple_pointer(enc, args->pFeatures))
14563 vn_encode_VkPhysicalDeviceFeatures2(enc, args->pFeatures);
14564 }
14565
vn_decode_vkGetPhysicalDeviceProperties2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceProperties2 * args)14566 static inline void vn_decode_vkGetPhysicalDeviceProperties2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceProperties2 *args)
14567 {
14568 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14569 if (vn_decode_simple_pointer(dec)) {
14570 args->pProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pProperties));
14571 if (!args->pProperties) return;
14572 vn_decode_VkPhysicalDeviceProperties2_partial_temp(dec, args->pProperties);
14573 } else {
14574 args->pProperties = NULL;
14575 vn_cs_decoder_set_fatal(dec);
14576 }
14577 }
14578
vn_replace_vkGetPhysicalDeviceProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceProperties2 * args)14579 static inline void vn_replace_vkGetPhysicalDeviceProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceProperties2 *args)
14580 {
14581 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14582 /* skip args->pProperties */
14583 }
14584
vn_encode_vkGetPhysicalDeviceProperties2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceProperties2 * args)14585 static inline void vn_encode_vkGetPhysicalDeviceProperties2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceProperties2 *args)
14586 {
14587 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceProperties2_EXT});
14588
14589 /* skip args->physicalDevice */
14590 if (vn_encode_simple_pointer(enc, args->pProperties))
14591 vn_encode_VkPhysicalDeviceProperties2(enc, args->pProperties);
14592 }
14593
vn_decode_vkGetPhysicalDeviceFormatProperties2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceFormatProperties2 * args)14594 static inline void vn_decode_vkGetPhysicalDeviceFormatProperties2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceFormatProperties2 *args)
14595 {
14596 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14597 vn_decode_VkFormat(dec, &args->format);
14598 if (vn_decode_simple_pointer(dec)) {
14599 args->pFormatProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pFormatProperties));
14600 if (!args->pFormatProperties) return;
14601 vn_decode_VkFormatProperties2_partial_temp(dec, args->pFormatProperties);
14602 } else {
14603 args->pFormatProperties = NULL;
14604 vn_cs_decoder_set_fatal(dec);
14605 }
14606 }
14607
vn_replace_vkGetPhysicalDeviceFormatProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceFormatProperties2 * args)14608 static inline void vn_replace_vkGetPhysicalDeviceFormatProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceFormatProperties2 *args)
14609 {
14610 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14611 /* skip args->format */
14612 /* skip args->pFormatProperties */
14613 }
14614
vn_encode_vkGetPhysicalDeviceFormatProperties2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceFormatProperties2 * args)14615 static inline void vn_encode_vkGetPhysicalDeviceFormatProperties2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceFormatProperties2 *args)
14616 {
14617 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceFormatProperties2_EXT});
14618
14619 /* skip args->physicalDevice */
14620 /* skip args->format */
14621 if (vn_encode_simple_pointer(enc, args->pFormatProperties))
14622 vn_encode_VkFormatProperties2(enc, args->pFormatProperties);
14623 }
14624
vn_decode_vkGetPhysicalDeviceImageFormatProperties2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 * args)14625 static inline void vn_decode_vkGetPhysicalDeviceImageFormatProperties2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 *args)
14626 {
14627 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14628 if (vn_decode_simple_pointer(dec)) {
14629 args->pImageFormatInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pImageFormatInfo));
14630 if (!args->pImageFormatInfo) return;
14631 vn_decode_VkPhysicalDeviceImageFormatInfo2_temp(dec, (VkPhysicalDeviceImageFormatInfo2 *)args->pImageFormatInfo);
14632 } else {
14633 args->pImageFormatInfo = NULL;
14634 vn_cs_decoder_set_fatal(dec);
14635 }
14636 if (vn_decode_simple_pointer(dec)) {
14637 args->pImageFormatProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pImageFormatProperties));
14638 if (!args->pImageFormatProperties) return;
14639 vn_decode_VkImageFormatProperties2_partial_temp(dec, args->pImageFormatProperties);
14640 } else {
14641 args->pImageFormatProperties = NULL;
14642 vn_cs_decoder_set_fatal(dec);
14643 }
14644 }
14645
vn_replace_vkGetPhysicalDeviceImageFormatProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 * args)14646 static inline void vn_replace_vkGetPhysicalDeviceImageFormatProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 *args)
14647 {
14648 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14649 if (args->pImageFormatInfo)
14650 vn_replace_VkPhysicalDeviceImageFormatInfo2_handle((VkPhysicalDeviceImageFormatInfo2 *)args->pImageFormatInfo);
14651 /* skip args->pImageFormatProperties */
14652 }
14653
vn_encode_vkGetPhysicalDeviceImageFormatProperties2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 * args)14654 static inline void vn_encode_vkGetPhysicalDeviceImageFormatProperties2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 *args)
14655 {
14656 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceImageFormatProperties2_EXT});
14657
14658 vn_encode_VkResult(enc, &args->ret);
14659 /* skip args->physicalDevice */
14660 /* skip args->pImageFormatInfo */
14661 if (vn_encode_simple_pointer(enc, args->pImageFormatProperties))
14662 vn_encode_VkImageFormatProperties2(enc, args->pImageFormatProperties);
14663 }
14664
vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 * args)14665 static inline void vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 *args)
14666 {
14667 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14668 if (vn_decode_simple_pointer(dec)) {
14669 args->pQueueFamilyPropertyCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueueFamilyPropertyCount));
14670 if (!args->pQueueFamilyPropertyCount) return;
14671 vn_decode_uint32_t(dec, args->pQueueFamilyPropertyCount);
14672 } else {
14673 args->pQueueFamilyPropertyCount = NULL;
14674 vn_cs_decoder_set_fatal(dec);
14675 }
14676 if (vn_peek_array_size(dec)) {
14677 const uint32_t iter_count = vn_decode_array_size(dec, (args->pQueueFamilyPropertyCount ? *args->pQueueFamilyPropertyCount : 0));
14678 args->pQueueFamilyProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueueFamilyProperties) * iter_count);
14679 if (!args->pQueueFamilyProperties) return;
14680 for (uint32_t i = 0; i < iter_count; i++)
14681 vn_decode_VkQueueFamilyProperties2_partial_temp(dec, &args->pQueueFamilyProperties[i]);
14682 } else {
14683 vn_decode_array_size_unchecked(dec);
14684 args->pQueueFamilyProperties = NULL;
14685 }
14686 }
14687
vn_replace_vkGetPhysicalDeviceQueueFamilyProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 * args)14688 static inline void vn_replace_vkGetPhysicalDeviceQueueFamilyProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 *args)
14689 {
14690 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14691 /* skip args->pQueueFamilyPropertyCount */
14692 /* skip args->pQueueFamilyProperties */
14693 }
14694
vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 * args)14695 static inline void vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 *args)
14696 {
14697 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceQueueFamilyProperties2_EXT});
14698
14699 /* skip args->physicalDevice */
14700 if (vn_encode_simple_pointer(enc, args->pQueueFamilyPropertyCount))
14701 vn_encode_uint32_t(enc, args->pQueueFamilyPropertyCount);
14702 if (args->pQueueFamilyProperties) {
14703 vn_encode_array_size(enc, (args->pQueueFamilyPropertyCount ? *args->pQueueFamilyPropertyCount : 0));
14704 for (uint32_t i = 0; i < (args->pQueueFamilyPropertyCount ? *args->pQueueFamilyPropertyCount : 0); i++)
14705 vn_encode_VkQueueFamilyProperties2(enc, &args->pQueueFamilyProperties[i]);
14706 } else {
14707 vn_encode_array_size(enc, 0);
14708 }
14709 }
14710
vn_decode_vkGetPhysicalDeviceMemoryProperties2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceMemoryProperties2 * args)14711 static inline void vn_decode_vkGetPhysicalDeviceMemoryProperties2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceMemoryProperties2 *args)
14712 {
14713 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14714 if (vn_decode_simple_pointer(dec)) {
14715 args->pMemoryProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pMemoryProperties));
14716 if (!args->pMemoryProperties) return;
14717 vn_decode_VkPhysicalDeviceMemoryProperties2_partial_temp(dec, args->pMemoryProperties);
14718 } else {
14719 args->pMemoryProperties = NULL;
14720 vn_cs_decoder_set_fatal(dec);
14721 }
14722 }
14723
vn_replace_vkGetPhysicalDeviceMemoryProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceMemoryProperties2 * args)14724 static inline void vn_replace_vkGetPhysicalDeviceMemoryProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceMemoryProperties2 *args)
14725 {
14726 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14727 /* skip args->pMemoryProperties */
14728 }
14729
vn_encode_vkGetPhysicalDeviceMemoryProperties2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceMemoryProperties2 * args)14730 static inline void vn_encode_vkGetPhysicalDeviceMemoryProperties2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceMemoryProperties2 *args)
14731 {
14732 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceMemoryProperties2_EXT});
14733
14734 /* skip args->physicalDevice */
14735 if (vn_encode_simple_pointer(enc, args->pMemoryProperties))
14736 vn_encode_VkPhysicalDeviceMemoryProperties2(enc, args->pMemoryProperties);
14737 }
14738
vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 * args)14739 static inline void vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 *args)
14740 {
14741 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14742 if (vn_decode_simple_pointer(dec)) {
14743 args->pFormatInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pFormatInfo));
14744 if (!args->pFormatInfo) return;
14745 vn_decode_VkPhysicalDeviceSparseImageFormatInfo2_temp(dec, (VkPhysicalDeviceSparseImageFormatInfo2 *)args->pFormatInfo);
14746 } else {
14747 args->pFormatInfo = NULL;
14748 vn_cs_decoder_set_fatal(dec);
14749 }
14750 if (vn_decode_simple_pointer(dec)) {
14751 args->pPropertyCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPropertyCount));
14752 if (!args->pPropertyCount) return;
14753 vn_decode_uint32_t(dec, args->pPropertyCount);
14754 } else {
14755 args->pPropertyCount = NULL;
14756 vn_cs_decoder_set_fatal(dec);
14757 }
14758 if (vn_peek_array_size(dec)) {
14759 const uint32_t iter_count = vn_decode_array_size(dec, (args->pPropertyCount ? *args->pPropertyCount : 0));
14760 args->pProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pProperties) * iter_count);
14761 if (!args->pProperties) return;
14762 for (uint32_t i = 0; i < iter_count; i++)
14763 vn_decode_VkSparseImageFormatProperties2_partial_temp(dec, &args->pProperties[i]);
14764 } else {
14765 vn_decode_array_size_unchecked(dec);
14766 args->pProperties = NULL;
14767 }
14768 }
14769
vn_replace_vkGetPhysicalDeviceSparseImageFormatProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 * args)14770 static inline void vn_replace_vkGetPhysicalDeviceSparseImageFormatProperties2_args_handle(struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 *args)
14771 {
14772 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14773 if (args->pFormatInfo)
14774 vn_replace_VkPhysicalDeviceSparseImageFormatInfo2_handle((VkPhysicalDeviceSparseImageFormatInfo2 *)args->pFormatInfo);
14775 /* skip args->pPropertyCount */
14776 /* skip args->pProperties */
14777 }
14778
vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 * args)14779 static inline void vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 *args)
14780 {
14781 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceSparseImageFormatProperties2_EXT});
14782
14783 /* skip args->physicalDevice */
14784 /* skip args->pFormatInfo */
14785 if (vn_encode_simple_pointer(enc, args->pPropertyCount))
14786 vn_encode_uint32_t(enc, args->pPropertyCount);
14787 if (args->pProperties) {
14788 vn_encode_array_size(enc, (args->pPropertyCount ? *args->pPropertyCount : 0));
14789 for (uint32_t i = 0; i < (args->pPropertyCount ? *args->pPropertyCount : 0); i++)
14790 vn_encode_VkSparseImageFormatProperties2(enc, &args->pProperties[i]);
14791 } else {
14792 vn_encode_array_size(enc, 0);
14793 }
14794 }
14795
vn_decode_vkGetPhysicalDeviceExternalBufferProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceExternalBufferProperties * args)14796 static inline void vn_decode_vkGetPhysicalDeviceExternalBufferProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceExternalBufferProperties *args)
14797 {
14798 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14799 if (vn_decode_simple_pointer(dec)) {
14800 args->pExternalBufferInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pExternalBufferInfo));
14801 if (!args->pExternalBufferInfo) return;
14802 vn_decode_VkPhysicalDeviceExternalBufferInfo_temp(dec, (VkPhysicalDeviceExternalBufferInfo *)args->pExternalBufferInfo);
14803 } else {
14804 args->pExternalBufferInfo = NULL;
14805 vn_cs_decoder_set_fatal(dec);
14806 }
14807 if (vn_decode_simple_pointer(dec)) {
14808 args->pExternalBufferProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pExternalBufferProperties));
14809 if (!args->pExternalBufferProperties) return;
14810 vn_decode_VkExternalBufferProperties_partial_temp(dec, args->pExternalBufferProperties);
14811 } else {
14812 args->pExternalBufferProperties = NULL;
14813 vn_cs_decoder_set_fatal(dec);
14814 }
14815 }
14816
vn_replace_vkGetPhysicalDeviceExternalBufferProperties_args_handle(struct vn_command_vkGetPhysicalDeviceExternalBufferProperties * args)14817 static inline void vn_replace_vkGetPhysicalDeviceExternalBufferProperties_args_handle(struct vn_command_vkGetPhysicalDeviceExternalBufferProperties *args)
14818 {
14819 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14820 if (args->pExternalBufferInfo)
14821 vn_replace_VkPhysicalDeviceExternalBufferInfo_handle((VkPhysicalDeviceExternalBufferInfo *)args->pExternalBufferInfo);
14822 /* skip args->pExternalBufferProperties */
14823 }
14824
vn_encode_vkGetPhysicalDeviceExternalBufferProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceExternalBufferProperties * args)14825 static inline void vn_encode_vkGetPhysicalDeviceExternalBufferProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceExternalBufferProperties *args)
14826 {
14827 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalBufferProperties_EXT});
14828
14829 /* skip args->physicalDevice */
14830 /* skip args->pExternalBufferInfo */
14831 if (vn_encode_simple_pointer(enc, args->pExternalBufferProperties))
14832 vn_encode_VkExternalBufferProperties(enc, args->pExternalBufferProperties);
14833 }
14834
vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties * args)14835 static inline void vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties *args)
14836 {
14837 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14838 if (vn_decode_simple_pointer(dec)) {
14839 args->pExternalSemaphoreInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pExternalSemaphoreInfo));
14840 if (!args->pExternalSemaphoreInfo) return;
14841 vn_decode_VkPhysicalDeviceExternalSemaphoreInfo_temp(dec, (VkPhysicalDeviceExternalSemaphoreInfo *)args->pExternalSemaphoreInfo);
14842 } else {
14843 args->pExternalSemaphoreInfo = NULL;
14844 vn_cs_decoder_set_fatal(dec);
14845 }
14846 if (vn_decode_simple_pointer(dec)) {
14847 args->pExternalSemaphoreProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pExternalSemaphoreProperties));
14848 if (!args->pExternalSemaphoreProperties) return;
14849 vn_decode_VkExternalSemaphoreProperties_partial_temp(dec, args->pExternalSemaphoreProperties);
14850 } else {
14851 args->pExternalSemaphoreProperties = NULL;
14852 vn_cs_decoder_set_fatal(dec);
14853 }
14854 }
14855
vn_replace_vkGetPhysicalDeviceExternalSemaphoreProperties_args_handle(struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties * args)14856 static inline void vn_replace_vkGetPhysicalDeviceExternalSemaphoreProperties_args_handle(struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties *args)
14857 {
14858 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14859 if (args->pExternalSemaphoreInfo)
14860 vn_replace_VkPhysicalDeviceExternalSemaphoreInfo_handle((VkPhysicalDeviceExternalSemaphoreInfo *)args->pExternalSemaphoreInfo);
14861 /* skip args->pExternalSemaphoreProperties */
14862 }
14863
vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties * args)14864 static inline void vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties *args)
14865 {
14866 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalSemaphoreProperties_EXT});
14867
14868 /* skip args->physicalDevice */
14869 /* skip args->pExternalSemaphoreInfo */
14870 if (vn_encode_simple_pointer(enc, args->pExternalSemaphoreProperties))
14871 vn_encode_VkExternalSemaphoreProperties(enc, args->pExternalSemaphoreProperties);
14872 }
14873
vn_decode_vkGetPhysicalDeviceExternalFenceProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceExternalFenceProperties * args)14874 static inline void vn_decode_vkGetPhysicalDeviceExternalFenceProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceExternalFenceProperties *args)
14875 {
14876 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
14877 if (vn_decode_simple_pointer(dec)) {
14878 args->pExternalFenceInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pExternalFenceInfo));
14879 if (!args->pExternalFenceInfo) return;
14880 vn_decode_VkPhysicalDeviceExternalFenceInfo_temp(dec, (VkPhysicalDeviceExternalFenceInfo *)args->pExternalFenceInfo);
14881 } else {
14882 args->pExternalFenceInfo = NULL;
14883 vn_cs_decoder_set_fatal(dec);
14884 }
14885 if (vn_decode_simple_pointer(dec)) {
14886 args->pExternalFenceProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pExternalFenceProperties));
14887 if (!args->pExternalFenceProperties) return;
14888 vn_decode_VkExternalFenceProperties_partial_temp(dec, args->pExternalFenceProperties);
14889 } else {
14890 args->pExternalFenceProperties = NULL;
14891 vn_cs_decoder_set_fatal(dec);
14892 }
14893 }
14894
vn_replace_vkGetPhysicalDeviceExternalFenceProperties_args_handle(struct vn_command_vkGetPhysicalDeviceExternalFenceProperties * args)14895 static inline void vn_replace_vkGetPhysicalDeviceExternalFenceProperties_args_handle(struct vn_command_vkGetPhysicalDeviceExternalFenceProperties *args)
14896 {
14897 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
14898 if (args->pExternalFenceInfo)
14899 vn_replace_VkPhysicalDeviceExternalFenceInfo_handle((VkPhysicalDeviceExternalFenceInfo *)args->pExternalFenceInfo);
14900 /* skip args->pExternalFenceProperties */
14901 }
14902
vn_encode_vkGetPhysicalDeviceExternalFenceProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceExternalFenceProperties * args)14903 static inline void vn_encode_vkGetPhysicalDeviceExternalFenceProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceExternalFenceProperties *args)
14904 {
14905 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceExternalFenceProperties_EXT});
14906
14907 /* skip args->physicalDevice */
14908 /* skip args->pExternalFenceInfo */
14909 if (vn_encode_simple_pointer(enc, args->pExternalFenceProperties))
14910 vn_encode_VkExternalFenceProperties(enc, args->pExternalFenceProperties);
14911 }
14912
vn_decode_vkEnumeratePhysicalDeviceGroups_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkEnumeratePhysicalDeviceGroups * args)14913 static inline void vn_decode_vkEnumeratePhysicalDeviceGroups_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkEnumeratePhysicalDeviceGroups *args)
14914 {
14915 vn_decode_VkInstance_lookup(dec, &args->instance);
14916 if (vn_decode_simple_pointer(dec)) {
14917 args->pPhysicalDeviceGroupCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPhysicalDeviceGroupCount));
14918 if (!args->pPhysicalDeviceGroupCount) return;
14919 vn_decode_uint32_t(dec, args->pPhysicalDeviceGroupCount);
14920 } else {
14921 args->pPhysicalDeviceGroupCount = NULL;
14922 vn_cs_decoder_set_fatal(dec);
14923 }
14924 if (vn_peek_array_size(dec)) {
14925 const uint32_t iter_count = vn_decode_array_size(dec, (args->pPhysicalDeviceGroupCount ? *args->pPhysicalDeviceGroupCount : 0));
14926 args->pPhysicalDeviceGroupProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPhysicalDeviceGroupProperties) * iter_count);
14927 if (!args->pPhysicalDeviceGroupProperties) return;
14928 for (uint32_t i = 0; i < iter_count; i++)
14929 vn_decode_VkPhysicalDeviceGroupProperties_partial_temp(dec, &args->pPhysicalDeviceGroupProperties[i]);
14930 } else {
14931 vn_decode_array_size_unchecked(dec);
14932 args->pPhysicalDeviceGroupProperties = NULL;
14933 }
14934 }
14935
vn_replace_vkEnumeratePhysicalDeviceGroups_args_handle(struct vn_command_vkEnumeratePhysicalDeviceGroups * args)14936 static inline void vn_replace_vkEnumeratePhysicalDeviceGroups_args_handle(struct vn_command_vkEnumeratePhysicalDeviceGroups *args)
14937 {
14938 vn_replace_VkInstance_handle(&args->instance);
14939 /* skip args->pPhysicalDeviceGroupCount */
14940 /* skip args->pPhysicalDeviceGroupProperties */
14941 }
14942
vn_encode_vkEnumeratePhysicalDeviceGroups_reply(struct vn_cs_encoder * enc,const struct vn_command_vkEnumeratePhysicalDeviceGroups * args)14943 static inline void vn_encode_vkEnumeratePhysicalDeviceGroups_reply(struct vn_cs_encoder *enc, const struct vn_command_vkEnumeratePhysicalDeviceGroups *args)
14944 {
14945 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkEnumeratePhysicalDeviceGroups_EXT});
14946
14947 vn_encode_VkResult(enc, &args->ret);
14948 /* skip args->instance */
14949 if (vn_encode_simple_pointer(enc, args->pPhysicalDeviceGroupCount))
14950 vn_encode_uint32_t(enc, args->pPhysicalDeviceGroupCount);
14951 if (args->pPhysicalDeviceGroupProperties) {
14952 vn_encode_array_size(enc, (args->pPhysicalDeviceGroupCount ? *args->pPhysicalDeviceGroupCount : 0));
14953 for (uint32_t i = 0; i < (args->pPhysicalDeviceGroupCount ? *args->pPhysicalDeviceGroupCount : 0); i++)
14954 vn_encode_VkPhysicalDeviceGroupProperties(enc, &args->pPhysicalDeviceGroupProperties[i]);
14955 } else {
14956 vn_encode_array_size(enc, 0);
14957 }
14958 }
14959
vn_decode_vkGetDeviceGroupPeerMemoryFeatures_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetDeviceGroupPeerMemoryFeatures * args)14960 static inline void vn_decode_vkGetDeviceGroupPeerMemoryFeatures_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetDeviceGroupPeerMemoryFeatures *args)
14961 {
14962 vn_decode_VkDevice_lookup(dec, &args->device);
14963 vn_decode_uint32_t(dec, &args->heapIndex);
14964 vn_decode_uint32_t(dec, &args->localDeviceIndex);
14965 vn_decode_uint32_t(dec, &args->remoteDeviceIndex);
14966 if (vn_decode_simple_pointer(dec)) {
14967 args->pPeerMemoryFeatures = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pPeerMemoryFeatures));
14968 if (!args->pPeerMemoryFeatures) return;
14969 } else {
14970 args->pPeerMemoryFeatures = NULL;
14971 vn_cs_decoder_set_fatal(dec);
14972 }
14973 }
14974
vn_replace_vkGetDeviceGroupPeerMemoryFeatures_args_handle(struct vn_command_vkGetDeviceGroupPeerMemoryFeatures * args)14975 static inline void vn_replace_vkGetDeviceGroupPeerMemoryFeatures_args_handle(struct vn_command_vkGetDeviceGroupPeerMemoryFeatures *args)
14976 {
14977 vn_replace_VkDevice_handle(&args->device);
14978 /* skip args->heapIndex */
14979 /* skip args->localDeviceIndex */
14980 /* skip args->remoteDeviceIndex */
14981 /* skip args->pPeerMemoryFeatures */
14982 }
14983
vn_encode_vkGetDeviceGroupPeerMemoryFeatures_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetDeviceGroupPeerMemoryFeatures * args)14984 static inline void vn_encode_vkGetDeviceGroupPeerMemoryFeatures_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetDeviceGroupPeerMemoryFeatures *args)
14985 {
14986 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetDeviceGroupPeerMemoryFeatures_EXT});
14987
14988 /* skip args->device */
14989 /* skip args->heapIndex */
14990 /* skip args->localDeviceIndex */
14991 /* skip args->remoteDeviceIndex */
14992 if (vn_encode_simple_pointer(enc, args->pPeerMemoryFeatures))
14993 vn_encode_VkFlags(enc, args->pPeerMemoryFeatures);
14994 }
14995
vn_decode_vkGetDeviceQueue2_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetDeviceQueue2 * args)14996 static inline void vn_decode_vkGetDeviceQueue2_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetDeviceQueue2 *args)
14997 {
14998 vn_decode_VkDevice_lookup(dec, &args->device);
14999 if (vn_decode_simple_pointer(dec)) {
15000 args->pQueueInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueueInfo));
15001 if (!args->pQueueInfo) return;
15002 vn_decode_VkDeviceQueueInfo2_temp(dec, (VkDeviceQueueInfo2 *)args->pQueueInfo);
15003 } else {
15004 args->pQueueInfo = NULL;
15005 vn_cs_decoder_set_fatal(dec);
15006 }
15007 if (vn_decode_simple_pointer(dec)) {
15008 args->pQueue = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pQueue));
15009 if (!args->pQueue) return;
15010 vn_decode_VkQueue_temp(dec, args->pQueue);
15011 } else {
15012 args->pQueue = NULL;
15013 vn_cs_decoder_set_fatal(dec);
15014 }
15015 }
15016
vn_replace_vkGetDeviceQueue2_args_handle(struct vn_command_vkGetDeviceQueue2 * args)15017 static inline void vn_replace_vkGetDeviceQueue2_args_handle(struct vn_command_vkGetDeviceQueue2 *args)
15018 {
15019 vn_replace_VkDevice_handle(&args->device);
15020 if (args->pQueueInfo)
15021 vn_replace_VkDeviceQueueInfo2_handle((VkDeviceQueueInfo2 *)args->pQueueInfo);
15022 /* skip args->pQueue */
15023 }
15024
vn_encode_vkGetDeviceQueue2_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetDeviceQueue2 * args)15025 static inline void vn_encode_vkGetDeviceQueue2_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetDeviceQueue2 *args)
15026 {
15027 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetDeviceQueue2_EXT});
15028
15029 /* skip args->device */
15030 /* skip args->pQueueInfo */
15031 if (vn_encode_simple_pointer(enc, args->pQueue))
15032 vn_encode_VkQueue(enc, args->pQueue);
15033 }
15034
vn_decode_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT * args)15035 static inline void vn_decode_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT *args)
15036 {
15037 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
15038 if (vn_decode_simple_pointer(dec)) {
15039 args->pTimeDomainCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pTimeDomainCount));
15040 if (!args->pTimeDomainCount) return;
15041 vn_decode_uint32_t(dec, args->pTimeDomainCount);
15042 } else {
15043 args->pTimeDomainCount = NULL;
15044 vn_cs_decoder_set_fatal(dec);
15045 }
15046 if (vn_peek_array_size(dec)) {
15047 const size_t array_size = vn_decode_array_size(dec, (args->pTimeDomainCount ? *args->pTimeDomainCount : 0));
15048 args->pTimeDomains = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pTimeDomains) * array_size);
15049 if (!args->pTimeDomains) return;
15050 } else {
15051 vn_decode_array_size_unchecked(dec);
15052 args->pTimeDomains = NULL;
15053 }
15054 }
15055
vn_replace_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_args_handle(struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT * args)15056 static inline void vn_replace_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_args_handle(struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT *args)
15057 {
15058 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
15059 /* skip args->pTimeDomainCount */
15060 /* skip args->pTimeDomains */
15061 }
15062
vn_encode_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT * args)15063 static inline void vn_encode_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT *args)
15064 {
15065 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_EXT});
15066
15067 vn_encode_VkResult(enc, &args->ret);
15068 /* skip args->physicalDevice */
15069 if (vn_encode_simple_pointer(enc, args->pTimeDomainCount))
15070 vn_encode_uint32_t(enc, args->pTimeDomainCount);
15071 if (args->pTimeDomains) {
15072 vn_encode_array_size(enc, (args->pTimeDomainCount ? *args->pTimeDomainCount : 0));
15073 vn_encode_VkTimeDomainEXT_array(enc, args->pTimeDomains, (args->pTimeDomainCount ? *args->pTimeDomainCount : 0));
15074 } else {
15075 vn_encode_array_size(enc, 0);
15076 }
15077 }
15078
vn_decode_vkGetCalibratedTimestampsEXT_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetCalibratedTimestampsEXT * args)15079 static inline void vn_decode_vkGetCalibratedTimestampsEXT_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetCalibratedTimestampsEXT *args)
15080 {
15081 vn_decode_VkDevice_lookup(dec, &args->device);
15082 vn_decode_uint32_t(dec, &args->timestampCount);
15083 if (vn_peek_array_size(dec)) {
15084 const uint32_t iter_count = vn_decode_array_size(dec, args->timestampCount);
15085 args->pTimestampInfos = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pTimestampInfos) * iter_count);
15086 if (!args->pTimestampInfos) return;
15087 for (uint32_t i = 0; i < iter_count; i++)
15088 vn_decode_VkCalibratedTimestampInfoEXT_temp(dec, &((VkCalibratedTimestampInfoEXT *)args->pTimestampInfos)[i]);
15089 } else {
15090 vn_decode_array_size(dec, args->timestampCount);
15091 args->pTimestampInfos = NULL;
15092 }
15093 if (vn_peek_array_size(dec)) {
15094 const size_t array_size = vn_decode_array_size(dec, args->timestampCount);
15095 args->pTimestamps = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pTimestamps) * array_size);
15096 if (!args->pTimestamps) return;
15097 } else {
15098 vn_decode_array_size(dec, args->timestampCount);
15099 args->pTimestamps = NULL;
15100 }
15101 if (vn_decode_simple_pointer(dec)) {
15102 args->pMaxDeviation = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pMaxDeviation));
15103 if (!args->pMaxDeviation) return;
15104 } else {
15105 args->pMaxDeviation = NULL;
15106 vn_cs_decoder_set_fatal(dec);
15107 }
15108 }
15109
vn_replace_vkGetCalibratedTimestampsEXT_args_handle(struct vn_command_vkGetCalibratedTimestampsEXT * args)15110 static inline void vn_replace_vkGetCalibratedTimestampsEXT_args_handle(struct vn_command_vkGetCalibratedTimestampsEXT *args)
15111 {
15112 vn_replace_VkDevice_handle(&args->device);
15113 /* skip args->timestampCount */
15114 if (args->pTimestampInfos) {
15115 for (uint32_t i = 0; i < args->timestampCount; i++)
15116 vn_replace_VkCalibratedTimestampInfoEXT_handle(&((VkCalibratedTimestampInfoEXT *)args->pTimestampInfos)[i]);
15117 }
15118 /* skip args->pTimestamps */
15119 /* skip args->pMaxDeviation */
15120 }
15121
vn_encode_vkGetCalibratedTimestampsEXT_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetCalibratedTimestampsEXT * args)15122 static inline void vn_encode_vkGetCalibratedTimestampsEXT_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetCalibratedTimestampsEXT *args)
15123 {
15124 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetCalibratedTimestampsEXT_EXT});
15125
15126 vn_encode_VkResult(enc, &args->ret);
15127 /* skip args->device */
15128 /* skip args->timestampCount */
15129 /* skip args->pTimestampInfos */
15130 if (args->pTimestamps) {
15131 vn_encode_array_size(enc, args->timestampCount);
15132 vn_encode_uint64_t_array(enc, args->pTimestamps, args->timestampCount);
15133 } else {
15134 vn_encode_array_size(enc, 0);
15135 }
15136 if (vn_encode_simple_pointer(enc, args->pMaxDeviation))
15137 vn_encode_uint64_t(enc, args->pMaxDeviation);
15138 }
15139
vn_decode_vkGetPhysicalDeviceToolProperties_args_temp(struct vn_cs_decoder * dec,struct vn_command_vkGetPhysicalDeviceToolProperties * args)15140 static inline void vn_decode_vkGetPhysicalDeviceToolProperties_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetPhysicalDeviceToolProperties *args)
15141 {
15142 vn_decode_VkPhysicalDevice_lookup(dec, &args->physicalDevice);
15143 if (vn_decode_simple_pointer(dec)) {
15144 args->pToolCount = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pToolCount));
15145 if (!args->pToolCount) return;
15146 vn_decode_uint32_t(dec, args->pToolCount);
15147 } else {
15148 args->pToolCount = NULL;
15149 vn_cs_decoder_set_fatal(dec);
15150 }
15151 if (vn_peek_array_size(dec)) {
15152 const uint32_t iter_count = vn_decode_array_size(dec, (args->pToolCount ? *args->pToolCount : 0));
15153 args->pToolProperties = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pToolProperties) * iter_count);
15154 if (!args->pToolProperties) return;
15155 for (uint32_t i = 0; i < iter_count; i++)
15156 vn_decode_VkPhysicalDeviceToolProperties_partial_temp(dec, &args->pToolProperties[i]);
15157 } else {
15158 vn_decode_array_size_unchecked(dec);
15159 args->pToolProperties = NULL;
15160 }
15161 }
15162
vn_replace_vkGetPhysicalDeviceToolProperties_args_handle(struct vn_command_vkGetPhysicalDeviceToolProperties * args)15163 static inline void vn_replace_vkGetPhysicalDeviceToolProperties_args_handle(struct vn_command_vkGetPhysicalDeviceToolProperties *args)
15164 {
15165 vn_replace_VkPhysicalDevice_handle(&args->physicalDevice);
15166 /* skip args->pToolCount */
15167 /* skip args->pToolProperties */
15168 }
15169
vn_encode_vkGetPhysicalDeviceToolProperties_reply(struct vn_cs_encoder * enc,const struct vn_command_vkGetPhysicalDeviceToolProperties * args)15170 static inline void vn_encode_vkGetPhysicalDeviceToolProperties_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetPhysicalDeviceToolProperties *args)
15171 {
15172 vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetPhysicalDeviceToolProperties_EXT});
15173
15174 vn_encode_VkResult(enc, &args->ret);
15175 /* skip args->physicalDevice */
15176 if (vn_encode_simple_pointer(enc, args->pToolCount))
15177 vn_encode_uint32_t(enc, args->pToolCount);
15178 if (args->pToolProperties) {
15179 vn_encode_array_size(enc, (args->pToolCount ? *args->pToolCount : 0));
15180 for (uint32_t i = 0; i < (args->pToolCount ? *args->pToolCount : 0); i++)
15181 vn_encode_VkPhysicalDeviceToolProperties(enc, &args->pToolProperties[i]);
15182 } else {
15183 vn_encode_array_size(enc, 0);
15184 }
15185 }
15186
vn_dispatch_vkEnumeratePhysicalDevices(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15187 static inline void vn_dispatch_vkEnumeratePhysicalDevices(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15188 {
15189 struct vn_command_vkEnumeratePhysicalDevices args;
15190
15191 if (!ctx->dispatch_vkEnumeratePhysicalDevices) {
15192 vn_cs_decoder_set_fatal(ctx->decoder);
15193 return;
15194 }
15195
15196 vn_decode_vkEnumeratePhysicalDevices_args_temp(ctx->decoder, &args);
15197 if (!args.instance) {
15198 vn_cs_decoder_set_fatal(ctx->decoder);
15199 return;
15200 }
15201
15202 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15203 ctx->dispatch_vkEnumeratePhysicalDevices(ctx, &args);
15204
15205 #ifdef DEBUG
15206 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15207 vn_dispatch_debug_log(ctx, "vkEnumeratePhysicalDevices returned %d", args.ret);
15208 #endif
15209
15210 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15211 vn_encode_vkEnumeratePhysicalDevices_reply(ctx->encoder, &args);
15212
15213 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15214 }
15215
vn_dispatch_vkGetPhysicalDeviceProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15216 static inline void vn_dispatch_vkGetPhysicalDeviceProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15217 {
15218 struct vn_command_vkGetPhysicalDeviceProperties args;
15219
15220 if (!ctx->dispatch_vkGetPhysicalDeviceProperties) {
15221 vn_cs_decoder_set_fatal(ctx->decoder);
15222 return;
15223 }
15224
15225 vn_decode_vkGetPhysicalDeviceProperties_args_temp(ctx->decoder, &args);
15226 if (!args.physicalDevice) {
15227 vn_cs_decoder_set_fatal(ctx->decoder);
15228 return;
15229 }
15230
15231 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15232 ctx->dispatch_vkGetPhysicalDeviceProperties(ctx, &args);
15233
15234
15235 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15236 vn_encode_vkGetPhysicalDeviceProperties_reply(ctx->encoder, &args);
15237
15238 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15239 }
15240
vn_dispatch_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15241 static inline void vn_dispatch_vkGetPhysicalDeviceQueueFamilyProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15242 {
15243 struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties args;
15244
15245 if (!ctx->dispatch_vkGetPhysicalDeviceQueueFamilyProperties) {
15246 vn_cs_decoder_set_fatal(ctx->decoder);
15247 return;
15248 }
15249
15250 vn_decode_vkGetPhysicalDeviceQueueFamilyProperties_args_temp(ctx->decoder, &args);
15251 if (!args.physicalDevice) {
15252 vn_cs_decoder_set_fatal(ctx->decoder);
15253 return;
15254 }
15255
15256 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15257 ctx->dispatch_vkGetPhysicalDeviceQueueFamilyProperties(ctx, &args);
15258
15259
15260 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15261 vn_encode_vkGetPhysicalDeviceQueueFamilyProperties_reply(ctx->encoder, &args);
15262
15263 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15264 }
15265
vn_dispatch_vkGetPhysicalDeviceMemoryProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15266 static inline void vn_dispatch_vkGetPhysicalDeviceMemoryProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15267 {
15268 struct vn_command_vkGetPhysicalDeviceMemoryProperties args;
15269
15270 if (!ctx->dispatch_vkGetPhysicalDeviceMemoryProperties) {
15271 vn_cs_decoder_set_fatal(ctx->decoder);
15272 return;
15273 }
15274
15275 vn_decode_vkGetPhysicalDeviceMemoryProperties_args_temp(ctx->decoder, &args);
15276 if (!args.physicalDevice) {
15277 vn_cs_decoder_set_fatal(ctx->decoder);
15278 return;
15279 }
15280
15281 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15282 ctx->dispatch_vkGetPhysicalDeviceMemoryProperties(ctx, &args);
15283
15284
15285 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15286 vn_encode_vkGetPhysicalDeviceMemoryProperties_reply(ctx->encoder, &args);
15287
15288 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15289 }
15290
vn_dispatch_vkGetPhysicalDeviceFeatures(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15291 static inline void vn_dispatch_vkGetPhysicalDeviceFeatures(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15292 {
15293 struct vn_command_vkGetPhysicalDeviceFeatures args;
15294
15295 if (!ctx->dispatch_vkGetPhysicalDeviceFeatures) {
15296 vn_cs_decoder_set_fatal(ctx->decoder);
15297 return;
15298 }
15299
15300 vn_decode_vkGetPhysicalDeviceFeatures_args_temp(ctx->decoder, &args);
15301 if (!args.physicalDevice) {
15302 vn_cs_decoder_set_fatal(ctx->decoder);
15303 return;
15304 }
15305
15306 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15307 ctx->dispatch_vkGetPhysicalDeviceFeatures(ctx, &args);
15308
15309
15310 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15311 vn_encode_vkGetPhysicalDeviceFeatures_reply(ctx->encoder, &args);
15312
15313 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15314 }
15315
vn_dispatch_vkGetPhysicalDeviceFormatProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15316 static inline void vn_dispatch_vkGetPhysicalDeviceFormatProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15317 {
15318 struct vn_command_vkGetPhysicalDeviceFormatProperties args;
15319
15320 if (!ctx->dispatch_vkGetPhysicalDeviceFormatProperties) {
15321 vn_cs_decoder_set_fatal(ctx->decoder);
15322 return;
15323 }
15324
15325 vn_decode_vkGetPhysicalDeviceFormatProperties_args_temp(ctx->decoder, &args);
15326 if (!args.physicalDevice) {
15327 vn_cs_decoder_set_fatal(ctx->decoder);
15328 return;
15329 }
15330
15331 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15332 ctx->dispatch_vkGetPhysicalDeviceFormatProperties(ctx, &args);
15333
15334
15335 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15336 vn_encode_vkGetPhysicalDeviceFormatProperties_reply(ctx->encoder, &args);
15337
15338 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15339 }
15340
vn_dispatch_vkGetPhysicalDeviceImageFormatProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15341 static inline void vn_dispatch_vkGetPhysicalDeviceImageFormatProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15342 {
15343 struct vn_command_vkGetPhysicalDeviceImageFormatProperties args;
15344
15345 if (!ctx->dispatch_vkGetPhysicalDeviceImageFormatProperties) {
15346 vn_cs_decoder_set_fatal(ctx->decoder);
15347 return;
15348 }
15349
15350 vn_decode_vkGetPhysicalDeviceImageFormatProperties_args_temp(ctx->decoder, &args);
15351 if (!args.physicalDevice) {
15352 vn_cs_decoder_set_fatal(ctx->decoder);
15353 return;
15354 }
15355
15356 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15357 ctx->dispatch_vkGetPhysicalDeviceImageFormatProperties(ctx, &args);
15358
15359 #ifdef DEBUG
15360 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15361 vn_dispatch_debug_log(ctx, "vkGetPhysicalDeviceImageFormatProperties returned %d", args.ret);
15362 #endif
15363
15364 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15365 vn_encode_vkGetPhysicalDeviceImageFormatProperties_reply(ctx->encoder, &args);
15366
15367 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15368 }
15369
vn_dispatch_vkCreateDevice(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15370 static inline void vn_dispatch_vkCreateDevice(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15371 {
15372 struct vn_command_vkCreateDevice args;
15373
15374 if (!ctx->dispatch_vkCreateDevice) {
15375 vn_cs_decoder_set_fatal(ctx->decoder);
15376 return;
15377 }
15378
15379 vn_decode_vkCreateDevice_args_temp(ctx->decoder, &args);
15380 if (!args.physicalDevice) {
15381 vn_cs_decoder_set_fatal(ctx->decoder);
15382 return;
15383 }
15384
15385 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15386 ctx->dispatch_vkCreateDevice(ctx, &args);
15387
15388 #ifdef DEBUG
15389 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15390 vn_dispatch_debug_log(ctx, "vkCreateDevice returned %d", args.ret);
15391 #endif
15392
15393 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15394 vn_encode_vkCreateDevice_reply(ctx->encoder, &args);
15395
15396 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15397 }
15398
vn_dispatch_vkDestroyDevice(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15399 static inline void vn_dispatch_vkDestroyDevice(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15400 {
15401 struct vn_command_vkDestroyDevice args;
15402
15403 if (!ctx->dispatch_vkDestroyDevice) {
15404 vn_cs_decoder_set_fatal(ctx->decoder);
15405 return;
15406 }
15407
15408 vn_decode_vkDestroyDevice_args_temp(ctx->decoder, &args);
15409 if (!args.device) {
15410 vn_cs_decoder_set_fatal(ctx->decoder);
15411 return;
15412 }
15413
15414 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15415 ctx->dispatch_vkDestroyDevice(ctx, &args);
15416
15417
15418 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15419 vn_encode_vkDestroyDevice_reply(ctx->encoder, &args);
15420
15421 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15422 }
15423
vn_dispatch_vkEnumerateDeviceLayerProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15424 static inline void vn_dispatch_vkEnumerateDeviceLayerProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15425 {
15426 struct vn_command_vkEnumerateDeviceLayerProperties args;
15427
15428 if (!ctx->dispatch_vkEnumerateDeviceLayerProperties) {
15429 vn_cs_decoder_set_fatal(ctx->decoder);
15430 return;
15431 }
15432
15433 vn_decode_vkEnumerateDeviceLayerProperties_args_temp(ctx->decoder, &args);
15434 if (!args.physicalDevice) {
15435 vn_cs_decoder_set_fatal(ctx->decoder);
15436 return;
15437 }
15438
15439 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15440 ctx->dispatch_vkEnumerateDeviceLayerProperties(ctx, &args);
15441
15442 #ifdef DEBUG
15443 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15444 vn_dispatch_debug_log(ctx, "vkEnumerateDeviceLayerProperties returned %d", args.ret);
15445 #endif
15446
15447 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15448 vn_encode_vkEnumerateDeviceLayerProperties_reply(ctx->encoder, &args);
15449
15450 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15451 }
15452
vn_dispatch_vkEnumerateDeviceExtensionProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15453 static inline void vn_dispatch_vkEnumerateDeviceExtensionProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15454 {
15455 struct vn_command_vkEnumerateDeviceExtensionProperties args;
15456
15457 if (!ctx->dispatch_vkEnumerateDeviceExtensionProperties) {
15458 vn_cs_decoder_set_fatal(ctx->decoder);
15459 return;
15460 }
15461
15462 vn_decode_vkEnumerateDeviceExtensionProperties_args_temp(ctx->decoder, &args);
15463 if (!args.physicalDevice) {
15464 vn_cs_decoder_set_fatal(ctx->decoder);
15465 return;
15466 }
15467
15468 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15469 ctx->dispatch_vkEnumerateDeviceExtensionProperties(ctx, &args);
15470
15471 #ifdef DEBUG
15472 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15473 vn_dispatch_debug_log(ctx, "vkEnumerateDeviceExtensionProperties returned %d", args.ret);
15474 #endif
15475
15476 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15477 vn_encode_vkEnumerateDeviceExtensionProperties_reply(ctx->encoder, &args);
15478
15479 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15480 }
15481
vn_dispatch_vkGetDeviceQueue(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15482 static inline void vn_dispatch_vkGetDeviceQueue(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15483 {
15484 struct vn_command_vkGetDeviceQueue args;
15485
15486 if (!ctx->dispatch_vkGetDeviceQueue) {
15487 vn_cs_decoder_set_fatal(ctx->decoder);
15488 return;
15489 }
15490
15491 vn_decode_vkGetDeviceQueue_args_temp(ctx->decoder, &args);
15492 if (!args.device) {
15493 vn_cs_decoder_set_fatal(ctx->decoder);
15494 return;
15495 }
15496
15497 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15498 ctx->dispatch_vkGetDeviceQueue(ctx, &args);
15499
15500
15501 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15502 vn_encode_vkGetDeviceQueue_reply(ctx->encoder, &args);
15503
15504 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15505 }
15506
vn_dispatch_vkDeviceWaitIdle(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15507 static inline void vn_dispatch_vkDeviceWaitIdle(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15508 {
15509 struct vn_command_vkDeviceWaitIdle args;
15510
15511 if (!ctx->dispatch_vkDeviceWaitIdle) {
15512 vn_cs_decoder_set_fatal(ctx->decoder);
15513 return;
15514 }
15515
15516 vn_decode_vkDeviceWaitIdle_args_temp(ctx->decoder, &args);
15517 if (!args.device) {
15518 vn_cs_decoder_set_fatal(ctx->decoder);
15519 return;
15520 }
15521
15522 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15523 ctx->dispatch_vkDeviceWaitIdle(ctx, &args);
15524
15525 #ifdef DEBUG
15526 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15527 vn_dispatch_debug_log(ctx, "vkDeviceWaitIdle returned %d", args.ret);
15528 #endif
15529
15530 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15531 vn_encode_vkDeviceWaitIdle_reply(ctx->encoder, &args);
15532
15533 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15534 }
15535
vn_dispatch_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15536 static inline void vn_dispatch_vkGetPhysicalDeviceSparseImageFormatProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15537 {
15538 struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties args;
15539
15540 if (!ctx->dispatch_vkGetPhysicalDeviceSparseImageFormatProperties) {
15541 vn_cs_decoder_set_fatal(ctx->decoder);
15542 return;
15543 }
15544
15545 vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties_args_temp(ctx->decoder, &args);
15546 if (!args.physicalDevice) {
15547 vn_cs_decoder_set_fatal(ctx->decoder);
15548 return;
15549 }
15550
15551 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15552 ctx->dispatch_vkGetPhysicalDeviceSparseImageFormatProperties(ctx, &args);
15553
15554
15555 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15556 vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties_reply(ctx->encoder, &args);
15557
15558 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15559 }
15560
vn_dispatch_vkGetPhysicalDeviceFeatures2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15561 static inline void vn_dispatch_vkGetPhysicalDeviceFeatures2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15562 {
15563 struct vn_command_vkGetPhysicalDeviceFeatures2 args;
15564
15565 if (!ctx->dispatch_vkGetPhysicalDeviceFeatures2) {
15566 vn_cs_decoder_set_fatal(ctx->decoder);
15567 return;
15568 }
15569
15570 vn_decode_vkGetPhysicalDeviceFeatures2_args_temp(ctx->decoder, &args);
15571 if (!args.physicalDevice) {
15572 vn_cs_decoder_set_fatal(ctx->decoder);
15573 return;
15574 }
15575
15576 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15577 ctx->dispatch_vkGetPhysicalDeviceFeatures2(ctx, &args);
15578
15579
15580 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15581 vn_encode_vkGetPhysicalDeviceFeatures2_reply(ctx->encoder, &args);
15582
15583 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15584 }
15585
vn_dispatch_vkGetPhysicalDeviceProperties2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15586 static inline void vn_dispatch_vkGetPhysicalDeviceProperties2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15587 {
15588 struct vn_command_vkGetPhysicalDeviceProperties2 args;
15589
15590 if (!ctx->dispatch_vkGetPhysicalDeviceProperties2) {
15591 vn_cs_decoder_set_fatal(ctx->decoder);
15592 return;
15593 }
15594
15595 vn_decode_vkGetPhysicalDeviceProperties2_args_temp(ctx->decoder, &args);
15596 if (!args.physicalDevice) {
15597 vn_cs_decoder_set_fatal(ctx->decoder);
15598 return;
15599 }
15600
15601 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15602 ctx->dispatch_vkGetPhysicalDeviceProperties2(ctx, &args);
15603
15604
15605 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15606 vn_encode_vkGetPhysicalDeviceProperties2_reply(ctx->encoder, &args);
15607
15608 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15609 }
15610
vn_dispatch_vkGetPhysicalDeviceFormatProperties2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15611 static inline void vn_dispatch_vkGetPhysicalDeviceFormatProperties2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15612 {
15613 struct vn_command_vkGetPhysicalDeviceFormatProperties2 args;
15614
15615 if (!ctx->dispatch_vkGetPhysicalDeviceFormatProperties2) {
15616 vn_cs_decoder_set_fatal(ctx->decoder);
15617 return;
15618 }
15619
15620 vn_decode_vkGetPhysicalDeviceFormatProperties2_args_temp(ctx->decoder, &args);
15621 if (!args.physicalDevice) {
15622 vn_cs_decoder_set_fatal(ctx->decoder);
15623 return;
15624 }
15625
15626 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15627 ctx->dispatch_vkGetPhysicalDeviceFormatProperties2(ctx, &args);
15628
15629
15630 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15631 vn_encode_vkGetPhysicalDeviceFormatProperties2_reply(ctx->encoder, &args);
15632
15633 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15634 }
15635
vn_dispatch_vkGetPhysicalDeviceImageFormatProperties2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15636 static inline void vn_dispatch_vkGetPhysicalDeviceImageFormatProperties2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15637 {
15638 struct vn_command_vkGetPhysicalDeviceImageFormatProperties2 args;
15639
15640 if (!ctx->dispatch_vkGetPhysicalDeviceImageFormatProperties2) {
15641 vn_cs_decoder_set_fatal(ctx->decoder);
15642 return;
15643 }
15644
15645 vn_decode_vkGetPhysicalDeviceImageFormatProperties2_args_temp(ctx->decoder, &args);
15646 if (!args.physicalDevice) {
15647 vn_cs_decoder_set_fatal(ctx->decoder);
15648 return;
15649 }
15650
15651 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15652 ctx->dispatch_vkGetPhysicalDeviceImageFormatProperties2(ctx, &args);
15653
15654 #ifdef DEBUG
15655 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15656 vn_dispatch_debug_log(ctx, "vkGetPhysicalDeviceImageFormatProperties2 returned %d", args.ret);
15657 #endif
15658
15659 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15660 vn_encode_vkGetPhysicalDeviceImageFormatProperties2_reply(ctx->encoder, &args);
15661
15662 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15663 }
15664
vn_dispatch_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15665 static inline void vn_dispatch_vkGetPhysicalDeviceQueueFamilyProperties2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15666 {
15667 struct vn_command_vkGetPhysicalDeviceQueueFamilyProperties2 args;
15668
15669 if (!ctx->dispatch_vkGetPhysicalDeviceQueueFamilyProperties2) {
15670 vn_cs_decoder_set_fatal(ctx->decoder);
15671 return;
15672 }
15673
15674 vn_decode_vkGetPhysicalDeviceQueueFamilyProperties2_args_temp(ctx->decoder, &args);
15675 if (!args.physicalDevice) {
15676 vn_cs_decoder_set_fatal(ctx->decoder);
15677 return;
15678 }
15679
15680 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15681 ctx->dispatch_vkGetPhysicalDeviceQueueFamilyProperties2(ctx, &args);
15682
15683
15684 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15685 vn_encode_vkGetPhysicalDeviceQueueFamilyProperties2_reply(ctx->encoder, &args);
15686
15687 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15688 }
15689
vn_dispatch_vkGetPhysicalDeviceMemoryProperties2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15690 static inline void vn_dispatch_vkGetPhysicalDeviceMemoryProperties2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15691 {
15692 struct vn_command_vkGetPhysicalDeviceMemoryProperties2 args;
15693
15694 if (!ctx->dispatch_vkGetPhysicalDeviceMemoryProperties2) {
15695 vn_cs_decoder_set_fatal(ctx->decoder);
15696 return;
15697 }
15698
15699 vn_decode_vkGetPhysicalDeviceMemoryProperties2_args_temp(ctx->decoder, &args);
15700 if (!args.physicalDevice) {
15701 vn_cs_decoder_set_fatal(ctx->decoder);
15702 return;
15703 }
15704
15705 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15706 ctx->dispatch_vkGetPhysicalDeviceMemoryProperties2(ctx, &args);
15707
15708
15709 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15710 vn_encode_vkGetPhysicalDeviceMemoryProperties2_reply(ctx->encoder, &args);
15711
15712 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15713 }
15714
vn_dispatch_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15715 static inline void vn_dispatch_vkGetPhysicalDeviceSparseImageFormatProperties2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15716 {
15717 struct vn_command_vkGetPhysicalDeviceSparseImageFormatProperties2 args;
15718
15719 if (!ctx->dispatch_vkGetPhysicalDeviceSparseImageFormatProperties2) {
15720 vn_cs_decoder_set_fatal(ctx->decoder);
15721 return;
15722 }
15723
15724 vn_decode_vkGetPhysicalDeviceSparseImageFormatProperties2_args_temp(ctx->decoder, &args);
15725 if (!args.physicalDevice) {
15726 vn_cs_decoder_set_fatal(ctx->decoder);
15727 return;
15728 }
15729
15730 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15731 ctx->dispatch_vkGetPhysicalDeviceSparseImageFormatProperties2(ctx, &args);
15732
15733
15734 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15735 vn_encode_vkGetPhysicalDeviceSparseImageFormatProperties2_reply(ctx->encoder, &args);
15736
15737 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15738 }
15739
vn_dispatch_vkGetPhysicalDeviceExternalBufferProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15740 static inline void vn_dispatch_vkGetPhysicalDeviceExternalBufferProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15741 {
15742 struct vn_command_vkGetPhysicalDeviceExternalBufferProperties args;
15743
15744 if (!ctx->dispatch_vkGetPhysicalDeviceExternalBufferProperties) {
15745 vn_cs_decoder_set_fatal(ctx->decoder);
15746 return;
15747 }
15748
15749 vn_decode_vkGetPhysicalDeviceExternalBufferProperties_args_temp(ctx->decoder, &args);
15750 if (!args.physicalDevice) {
15751 vn_cs_decoder_set_fatal(ctx->decoder);
15752 return;
15753 }
15754
15755 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15756 ctx->dispatch_vkGetPhysicalDeviceExternalBufferProperties(ctx, &args);
15757
15758
15759 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15760 vn_encode_vkGetPhysicalDeviceExternalBufferProperties_reply(ctx->encoder, &args);
15761
15762 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15763 }
15764
vn_dispatch_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15765 static inline void vn_dispatch_vkGetPhysicalDeviceExternalSemaphoreProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15766 {
15767 struct vn_command_vkGetPhysicalDeviceExternalSemaphoreProperties args;
15768
15769 if (!ctx->dispatch_vkGetPhysicalDeviceExternalSemaphoreProperties) {
15770 vn_cs_decoder_set_fatal(ctx->decoder);
15771 return;
15772 }
15773
15774 vn_decode_vkGetPhysicalDeviceExternalSemaphoreProperties_args_temp(ctx->decoder, &args);
15775 if (!args.physicalDevice) {
15776 vn_cs_decoder_set_fatal(ctx->decoder);
15777 return;
15778 }
15779
15780 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15781 ctx->dispatch_vkGetPhysicalDeviceExternalSemaphoreProperties(ctx, &args);
15782
15783
15784 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15785 vn_encode_vkGetPhysicalDeviceExternalSemaphoreProperties_reply(ctx->encoder, &args);
15786
15787 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15788 }
15789
vn_dispatch_vkGetPhysicalDeviceExternalFenceProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15790 static inline void vn_dispatch_vkGetPhysicalDeviceExternalFenceProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15791 {
15792 struct vn_command_vkGetPhysicalDeviceExternalFenceProperties args;
15793
15794 if (!ctx->dispatch_vkGetPhysicalDeviceExternalFenceProperties) {
15795 vn_cs_decoder_set_fatal(ctx->decoder);
15796 return;
15797 }
15798
15799 vn_decode_vkGetPhysicalDeviceExternalFenceProperties_args_temp(ctx->decoder, &args);
15800 if (!args.physicalDevice) {
15801 vn_cs_decoder_set_fatal(ctx->decoder);
15802 return;
15803 }
15804
15805 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15806 ctx->dispatch_vkGetPhysicalDeviceExternalFenceProperties(ctx, &args);
15807
15808
15809 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15810 vn_encode_vkGetPhysicalDeviceExternalFenceProperties_reply(ctx->encoder, &args);
15811
15812 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15813 }
15814
vn_dispatch_vkEnumeratePhysicalDeviceGroups(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15815 static inline void vn_dispatch_vkEnumeratePhysicalDeviceGroups(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15816 {
15817 struct vn_command_vkEnumeratePhysicalDeviceGroups args;
15818
15819 if (!ctx->dispatch_vkEnumeratePhysicalDeviceGroups) {
15820 vn_cs_decoder_set_fatal(ctx->decoder);
15821 return;
15822 }
15823
15824 vn_decode_vkEnumeratePhysicalDeviceGroups_args_temp(ctx->decoder, &args);
15825 if (!args.instance) {
15826 vn_cs_decoder_set_fatal(ctx->decoder);
15827 return;
15828 }
15829
15830 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15831 ctx->dispatch_vkEnumeratePhysicalDeviceGroups(ctx, &args);
15832
15833 #ifdef DEBUG
15834 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15835 vn_dispatch_debug_log(ctx, "vkEnumeratePhysicalDeviceGroups returned %d", args.ret);
15836 #endif
15837
15838 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15839 vn_encode_vkEnumeratePhysicalDeviceGroups_reply(ctx->encoder, &args);
15840
15841 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15842 }
15843
vn_dispatch_vkGetDeviceGroupPeerMemoryFeatures(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15844 static inline void vn_dispatch_vkGetDeviceGroupPeerMemoryFeatures(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15845 {
15846 struct vn_command_vkGetDeviceGroupPeerMemoryFeatures args;
15847
15848 if (!ctx->dispatch_vkGetDeviceGroupPeerMemoryFeatures) {
15849 vn_cs_decoder_set_fatal(ctx->decoder);
15850 return;
15851 }
15852
15853 vn_decode_vkGetDeviceGroupPeerMemoryFeatures_args_temp(ctx->decoder, &args);
15854 if (!args.device) {
15855 vn_cs_decoder_set_fatal(ctx->decoder);
15856 return;
15857 }
15858
15859 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15860 ctx->dispatch_vkGetDeviceGroupPeerMemoryFeatures(ctx, &args);
15861
15862
15863 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15864 vn_encode_vkGetDeviceGroupPeerMemoryFeatures_reply(ctx->encoder, &args);
15865
15866 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15867 }
15868
vn_dispatch_vkGetDeviceQueue2(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15869 static inline void vn_dispatch_vkGetDeviceQueue2(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15870 {
15871 struct vn_command_vkGetDeviceQueue2 args;
15872
15873 if (!ctx->dispatch_vkGetDeviceQueue2) {
15874 vn_cs_decoder_set_fatal(ctx->decoder);
15875 return;
15876 }
15877
15878 vn_decode_vkGetDeviceQueue2_args_temp(ctx->decoder, &args);
15879 if (!args.device) {
15880 vn_cs_decoder_set_fatal(ctx->decoder);
15881 return;
15882 }
15883
15884 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15885 ctx->dispatch_vkGetDeviceQueue2(ctx, &args);
15886
15887
15888 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15889 vn_encode_vkGetDeviceQueue2_reply(ctx->encoder, &args);
15890
15891 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15892 }
15893
vn_dispatch_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15894 static inline void vn_dispatch_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15895 {
15896 struct vn_command_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT args;
15897
15898 if (!ctx->dispatch_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT) {
15899 vn_cs_decoder_set_fatal(ctx->decoder);
15900 return;
15901 }
15902
15903 vn_decode_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_args_temp(ctx->decoder, &args);
15904 if (!args.physicalDevice) {
15905 vn_cs_decoder_set_fatal(ctx->decoder);
15906 return;
15907 }
15908
15909 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15910 ctx->dispatch_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(ctx, &args);
15911
15912 #ifdef DEBUG
15913 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15914 vn_dispatch_debug_log(ctx, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT returned %d", args.ret);
15915 #endif
15916
15917 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15918 vn_encode_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_reply(ctx->encoder, &args);
15919
15920 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15921 }
15922
vn_dispatch_vkGetCalibratedTimestampsEXT(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15923 static inline void vn_dispatch_vkGetCalibratedTimestampsEXT(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15924 {
15925 struct vn_command_vkGetCalibratedTimestampsEXT args;
15926
15927 if (!ctx->dispatch_vkGetCalibratedTimestampsEXT) {
15928 vn_cs_decoder_set_fatal(ctx->decoder);
15929 return;
15930 }
15931
15932 vn_decode_vkGetCalibratedTimestampsEXT_args_temp(ctx->decoder, &args);
15933 if (!args.device) {
15934 vn_cs_decoder_set_fatal(ctx->decoder);
15935 return;
15936 }
15937
15938 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15939 ctx->dispatch_vkGetCalibratedTimestampsEXT(ctx, &args);
15940
15941 #ifdef DEBUG
15942 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15943 vn_dispatch_debug_log(ctx, "vkGetCalibratedTimestampsEXT returned %d", args.ret);
15944 #endif
15945
15946 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15947 vn_encode_vkGetCalibratedTimestampsEXT_reply(ctx->encoder, &args);
15948
15949 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15950 }
15951
vn_dispatch_vkGetPhysicalDeviceToolProperties(struct vn_dispatch_context * ctx,VkCommandFlagsEXT flags)15952 static inline void vn_dispatch_vkGetPhysicalDeviceToolProperties(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
15953 {
15954 struct vn_command_vkGetPhysicalDeviceToolProperties args;
15955
15956 if (!ctx->dispatch_vkGetPhysicalDeviceToolProperties) {
15957 vn_cs_decoder_set_fatal(ctx->decoder);
15958 return;
15959 }
15960
15961 vn_decode_vkGetPhysicalDeviceToolProperties_args_temp(ctx->decoder, &args);
15962 if (!args.physicalDevice) {
15963 vn_cs_decoder_set_fatal(ctx->decoder);
15964 return;
15965 }
15966
15967 if (!vn_cs_decoder_get_fatal(ctx->decoder))
15968 ctx->dispatch_vkGetPhysicalDeviceToolProperties(ctx, &args);
15969
15970 #ifdef DEBUG
15971 if (!vn_cs_decoder_get_fatal(ctx->decoder) && vn_dispatch_should_log_result(args.ret))
15972 vn_dispatch_debug_log(ctx, "vkGetPhysicalDeviceToolProperties returned %d", args.ret);
15973 #endif
15974
15975 if (!vn_cs_decoder_get_fatal(ctx->decoder) && (flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT))
15976 vn_encode_vkGetPhysicalDeviceToolProperties_reply(ctx->encoder, &args);
15977
15978 vn_cs_decoder_reset_temp_pool(ctx->decoder);
15979 }
15980
15981 #pragma GCC diagnostic pop
15982
15983 #endif /* VN_PROTOCOL_RENDERER_DEVICE_H */
15984