1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 
16 // Autogenerated module goldfish_vk_counting_guest
17 //
18 // (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml
19 // -registryGfxstream codegen/vulkan/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
20 //
21 // Please do not modify directly;
22 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
23 // or directly from Python by defining:
24 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
25 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
26 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
27 //
28 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
29 // $CEREAL_OUTPUT_DIR
30 //
31 
32 #include "goldfish_vk_counting_guest.h"
33 
34 #include <cstring>
35 
36 #include "goldfish_vk_extension_structs_guest.h"
37 #include "goldfish_vk_private_defs.h"
38 
39 namespace gfxstream {
40 namespace vk {
41 
42 void count_extension_struct(uint32_t featureBits, VkStructureType rootType,
43                             const void* structExtension, size_t* count);
44 
45 #ifdef VK_VERSION_1_0
count_VkExtent2D(uint32_t featureBits,VkStructureType rootType,const VkExtent2D * toCount,size_t * count)46 void count_VkExtent2D(uint32_t featureBits, VkStructureType rootType, const VkExtent2D* toCount,
47                       size_t* count) {
48     (void)featureBits;
49     (void)rootType;
50     (void)toCount;
51     (void)count;
52     *count += sizeof(uint32_t);
53     *count += sizeof(uint32_t);
54 }
55 
count_VkExtent3D(uint32_t featureBits,VkStructureType rootType,const VkExtent3D * toCount,size_t * count)56 void count_VkExtent3D(uint32_t featureBits, VkStructureType rootType, const VkExtent3D* toCount,
57                       size_t* count) {
58     (void)featureBits;
59     (void)rootType;
60     (void)toCount;
61     (void)count;
62     *count += sizeof(uint32_t);
63     *count += sizeof(uint32_t);
64     *count += sizeof(uint32_t);
65 }
66 
count_VkOffset2D(uint32_t featureBits,VkStructureType rootType,const VkOffset2D * toCount,size_t * count)67 void count_VkOffset2D(uint32_t featureBits, VkStructureType rootType, const VkOffset2D* toCount,
68                       size_t* count) {
69     (void)featureBits;
70     (void)rootType;
71     (void)toCount;
72     (void)count;
73     *count += sizeof(int32_t);
74     *count += sizeof(int32_t);
75 }
76 
count_VkOffset3D(uint32_t featureBits,VkStructureType rootType,const VkOffset3D * toCount,size_t * count)77 void count_VkOffset3D(uint32_t featureBits, VkStructureType rootType, const VkOffset3D* toCount,
78                       size_t* count) {
79     (void)featureBits;
80     (void)rootType;
81     (void)toCount;
82     (void)count;
83     *count += sizeof(int32_t);
84     *count += sizeof(int32_t);
85     *count += sizeof(int32_t);
86 }
87 
count_VkRect2D(uint32_t featureBits,VkStructureType rootType,const VkRect2D * toCount,size_t * count)88 void count_VkRect2D(uint32_t featureBits, VkStructureType rootType, const VkRect2D* toCount,
89                     size_t* count) {
90     (void)featureBits;
91     (void)rootType;
92     (void)toCount;
93     (void)count;
94     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->offset), count);
95     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->extent), count);
96 }
97 
count_VkBaseInStructure(uint32_t featureBits,VkStructureType rootType,const VkBaseInStructure * toCount,size_t * count)98 void count_VkBaseInStructure(uint32_t featureBits, VkStructureType rootType,
99                              const VkBaseInStructure* toCount, size_t* count) {
100     (void)featureBits;
101     (void)rootType;
102     (void)toCount;
103     (void)count;
104     *count += sizeof(VkStructureType);
105     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
106         rootType = toCount->sType;
107     }
108     count_extension_struct(featureBits, rootType, toCount->pNext, count);
109 }
110 
count_VkBaseOutStructure(uint32_t featureBits,VkStructureType rootType,const VkBaseOutStructure * toCount,size_t * count)111 void count_VkBaseOutStructure(uint32_t featureBits, VkStructureType rootType,
112                               const VkBaseOutStructure* toCount, size_t* count) {
113     (void)featureBits;
114     (void)rootType;
115     (void)toCount;
116     (void)count;
117     *count += sizeof(VkStructureType);
118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
119         rootType = toCount->sType;
120     }
121     count_extension_struct(featureBits, rootType, toCount->pNext, count);
122 }
123 
count_VkBufferMemoryBarrier(uint32_t featureBits,VkStructureType rootType,const VkBufferMemoryBarrier * toCount,size_t * count)124 void count_VkBufferMemoryBarrier(uint32_t featureBits, VkStructureType rootType,
125                                  const VkBufferMemoryBarrier* toCount, size_t* count) {
126     (void)featureBits;
127     (void)rootType;
128     (void)toCount;
129     (void)count;
130     *count += sizeof(VkStructureType);
131     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
132         rootType = toCount->sType;
133     }
134     count_extension_struct(featureBits, rootType, toCount->pNext, count);
135     *count += sizeof(VkAccessFlags);
136     *count += sizeof(VkAccessFlags);
137     *count += sizeof(uint32_t);
138     *count += sizeof(uint32_t);
139     uint64_t cgen_var_0;
140     *count += 1 * 8;
141     *count += sizeof(VkDeviceSize);
142     *count += sizeof(VkDeviceSize);
143 }
144 
count_VkDispatchIndirectCommand(uint32_t featureBits,VkStructureType rootType,const VkDispatchIndirectCommand * toCount,size_t * count)145 void count_VkDispatchIndirectCommand(uint32_t featureBits, VkStructureType rootType,
146                                      const VkDispatchIndirectCommand* toCount, size_t* count) {
147     (void)featureBits;
148     (void)rootType;
149     (void)toCount;
150     (void)count;
151     *count += sizeof(uint32_t);
152     *count += sizeof(uint32_t);
153     *count += sizeof(uint32_t);
154 }
155 
count_VkDrawIndexedIndirectCommand(uint32_t featureBits,VkStructureType rootType,const VkDrawIndexedIndirectCommand * toCount,size_t * count)156 void count_VkDrawIndexedIndirectCommand(uint32_t featureBits, VkStructureType rootType,
157                                         const VkDrawIndexedIndirectCommand* toCount,
158                                         size_t* count) {
159     (void)featureBits;
160     (void)rootType;
161     (void)toCount;
162     (void)count;
163     *count += sizeof(uint32_t);
164     *count += sizeof(uint32_t);
165     *count += sizeof(uint32_t);
166     *count += sizeof(int32_t);
167     *count += sizeof(uint32_t);
168 }
169 
count_VkDrawIndirectCommand(uint32_t featureBits,VkStructureType rootType,const VkDrawIndirectCommand * toCount,size_t * count)170 void count_VkDrawIndirectCommand(uint32_t featureBits, VkStructureType rootType,
171                                  const VkDrawIndirectCommand* toCount, size_t* count) {
172     (void)featureBits;
173     (void)rootType;
174     (void)toCount;
175     (void)count;
176     *count += sizeof(uint32_t);
177     *count += sizeof(uint32_t);
178     *count += sizeof(uint32_t);
179     *count += sizeof(uint32_t);
180 }
181 
count_VkImageSubresourceRange(uint32_t featureBits,VkStructureType rootType,const VkImageSubresourceRange * toCount,size_t * count)182 void count_VkImageSubresourceRange(uint32_t featureBits, VkStructureType rootType,
183                                    const VkImageSubresourceRange* toCount, size_t* count) {
184     (void)featureBits;
185     (void)rootType;
186     (void)toCount;
187     (void)count;
188     *count += sizeof(VkImageAspectFlags);
189     *count += sizeof(uint32_t);
190     *count += sizeof(uint32_t);
191     *count += sizeof(uint32_t);
192     *count += sizeof(uint32_t);
193 }
194 
count_VkImageMemoryBarrier(uint32_t featureBits,VkStructureType rootType,const VkImageMemoryBarrier * toCount,size_t * count)195 void count_VkImageMemoryBarrier(uint32_t featureBits, VkStructureType rootType,
196                                 const VkImageMemoryBarrier* toCount, size_t* count) {
197     (void)featureBits;
198     (void)rootType;
199     (void)toCount;
200     (void)count;
201     *count += sizeof(VkStructureType);
202     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
203         rootType = toCount->sType;
204     }
205     count_extension_struct(featureBits, rootType, toCount->pNext, count);
206     *count += sizeof(VkAccessFlags);
207     *count += sizeof(VkAccessFlags);
208     *count += sizeof(VkImageLayout);
209     *count += sizeof(VkImageLayout);
210     *count += sizeof(uint32_t);
211     *count += sizeof(uint32_t);
212     uint64_t cgen_var_0;
213     *count += 1 * 8;
214     count_VkImageSubresourceRange(featureBits, rootType,
215                                   (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
216 }
217 
count_VkMemoryBarrier(uint32_t featureBits,VkStructureType rootType,const VkMemoryBarrier * toCount,size_t * count)218 void count_VkMemoryBarrier(uint32_t featureBits, VkStructureType rootType,
219                            const VkMemoryBarrier* toCount, size_t* count) {
220     (void)featureBits;
221     (void)rootType;
222     (void)toCount;
223     (void)count;
224     *count += sizeof(VkStructureType);
225     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
226         rootType = toCount->sType;
227     }
228     count_extension_struct(featureBits, rootType, toCount->pNext, count);
229     *count += sizeof(VkAccessFlags);
230     *count += sizeof(VkAccessFlags);
231 }
232 
count_VkPipelineCacheHeaderVersionOne(uint32_t featureBits,VkStructureType rootType,const VkPipelineCacheHeaderVersionOne * toCount,size_t * count)233 void count_VkPipelineCacheHeaderVersionOne(uint32_t featureBits, VkStructureType rootType,
234                                            const VkPipelineCacheHeaderVersionOne* toCount,
235                                            size_t* count) {
236     (void)featureBits;
237     (void)rootType;
238     (void)toCount;
239     (void)count;
240     *count += sizeof(uint32_t);
241     *count += sizeof(VkPipelineCacheHeaderVersion);
242     *count += sizeof(uint32_t);
243     *count += sizeof(uint32_t);
244     *count += VK_UUID_SIZE * sizeof(uint8_t);
245 }
246 
count_VkAllocationCallbacks(uint32_t featureBits,VkStructureType rootType,const VkAllocationCallbacks * toCount,size_t * count)247 void count_VkAllocationCallbacks(uint32_t featureBits, VkStructureType rootType,
248                                  const VkAllocationCallbacks* toCount, size_t* count) {
249     (void)featureBits;
250     (void)rootType;
251     (void)toCount;
252     (void)count;
253     // WARNING PTR CHECK
254     *count += 8;
255     if (toCount->pUserData) {
256         *count += sizeof(uint8_t);
257     }
258     *count += 8;
259     *count += 8;
260     *count += 8;
261     *count += 8;
262     *count += 8;
263 }
264 
count_VkApplicationInfo(uint32_t featureBits,VkStructureType rootType,const VkApplicationInfo * toCount,size_t * count)265 void count_VkApplicationInfo(uint32_t featureBits, VkStructureType rootType,
266                              const VkApplicationInfo* toCount, size_t* count) {
267     (void)featureBits;
268     (void)rootType;
269     (void)toCount;
270     (void)count;
271     *count += sizeof(VkStructureType);
272     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
273         rootType = toCount->sType;
274     }
275     count_extension_struct(featureBits, rootType, toCount->pNext, count);
276     if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
277         // WARNING PTR CHECK
278         *count += 8;
279         if (toCount->pApplicationName) {
280             *count += sizeof(uint32_t) +
281                       (toCount->pApplicationName ? strlen(toCount->pApplicationName) : 0);
282         }
283     } else {
284         *count +=
285             sizeof(uint32_t) + (toCount->pApplicationName ? strlen(toCount->pApplicationName) : 0);
286     }
287     *count += sizeof(uint32_t);
288     if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
289         // WARNING PTR CHECK
290         *count += 8;
291         if (toCount->pEngineName) {
292             *count += sizeof(uint32_t) + (toCount->pEngineName ? strlen(toCount->pEngineName) : 0);
293         }
294     } else {
295         *count += sizeof(uint32_t) + (toCount->pEngineName ? strlen(toCount->pEngineName) : 0);
296     }
297     *count += sizeof(uint32_t);
298     *count += sizeof(uint32_t);
299 }
300 
count_VkFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkFormatProperties * toCount,size_t * count)301 void count_VkFormatProperties(uint32_t featureBits, VkStructureType rootType,
302                               const VkFormatProperties* toCount, size_t* count) {
303     (void)featureBits;
304     (void)rootType;
305     (void)toCount;
306     (void)count;
307     *count += sizeof(VkFormatFeatureFlags);
308     *count += sizeof(VkFormatFeatureFlags);
309     *count += sizeof(VkFormatFeatureFlags);
310 }
311 
count_VkImageFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkImageFormatProperties * toCount,size_t * count)312 void count_VkImageFormatProperties(uint32_t featureBits, VkStructureType rootType,
313                                    const VkImageFormatProperties* toCount, size_t* count) {
314     (void)featureBits;
315     (void)rootType;
316     (void)toCount;
317     (void)count;
318     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->maxExtent), count);
319     *count += sizeof(uint32_t);
320     *count += sizeof(uint32_t);
321     *count += sizeof(VkSampleCountFlags);
322     *count += sizeof(VkDeviceSize);
323 }
324 
count_VkInstanceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkInstanceCreateInfo * toCount,size_t * count)325 void count_VkInstanceCreateInfo(uint32_t featureBits, VkStructureType rootType,
326                                 const VkInstanceCreateInfo* toCount, size_t* count) {
327     (void)featureBits;
328     (void)rootType;
329     (void)toCount;
330     (void)count;
331     *count += sizeof(VkStructureType);
332     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
333         rootType = toCount->sType;
334     }
335     count_extension_struct(featureBits, rootType, toCount->pNext, count);
336     *count += sizeof(VkInstanceCreateFlags);
337     // WARNING PTR CHECK
338     *count += 8;
339     if (toCount->pApplicationInfo) {
340         count_VkApplicationInfo(featureBits, rootType,
341                                 (const VkApplicationInfo*)(toCount->pApplicationInfo), count);
342     }
343     *count += sizeof(uint32_t);
344     *count += sizeof(uint32_t);
345     if (toCount) {
346         for (uint32_t i = 0; i < toCount->enabledLayerCount; ++i) {
347             size_t l =
348                 toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0;
349             *count +=
350                 sizeof(uint32_t) +
351                 (toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0);
352         }
353     }
354     *count += sizeof(uint32_t);
355     *count += sizeof(uint32_t);
356     if (toCount) {
357         for (uint32_t i = 0; i < toCount->enabledExtensionCount; ++i) {
358             size_t l = toCount->ppEnabledExtensionNames[i]
359                            ? strlen(toCount->ppEnabledExtensionNames[i])
360                            : 0;
361             *count += sizeof(uint32_t) + (toCount->ppEnabledExtensionNames[i]
362                                               ? strlen(toCount->ppEnabledExtensionNames[i])
363                                               : 0);
364         }
365     }
366 }
367 
count_VkMemoryHeap(uint32_t featureBits,VkStructureType rootType,const VkMemoryHeap * toCount,size_t * count)368 void count_VkMemoryHeap(uint32_t featureBits, VkStructureType rootType, const VkMemoryHeap* toCount,
369                         size_t* count) {
370     (void)featureBits;
371     (void)rootType;
372     (void)toCount;
373     (void)count;
374     *count += sizeof(VkDeviceSize);
375     *count += sizeof(VkMemoryHeapFlags);
376 }
377 
count_VkMemoryType(uint32_t featureBits,VkStructureType rootType,const VkMemoryType * toCount,size_t * count)378 void count_VkMemoryType(uint32_t featureBits, VkStructureType rootType, const VkMemoryType* toCount,
379                         size_t* count) {
380     (void)featureBits;
381     (void)rootType;
382     (void)toCount;
383     (void)count;
384     *count += sizeof(VkMemoryPropertyFlags);
385     *count += sizeof(uint32_t);
386 }
387 
count_VkPhysicalDeviceFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFeatures * toCount,size_t * count)388 void count_VkPhysicalDeviceFeatures(uint32_t featureBits, VkStructureType rootType,
389                                     const VkPhysicalDeviceFeatures* toCount, size_t* count) {
390     (void)featureBits;
391     (void)rootType;
392     (void)toCount;
393     (void)count;
394     *count += sizeof(VkBool32);
395     *count += sizeof(VkBool32);
396     *count += sizeof(VkBool32);
397     *count += sizeof(VkBool32);
398     *count += sizeof(VkBool32);
399     *count += sizeof(VkBool32);
400     *count += sizeof(VkBool32);
401     *count += sizeof(VkBool32);
402     *count += sizeof(VkBool32);
403     *count += sizeof(VkBool32);
404     *count += sizeof(VkBool32);
405     *count += sizeof(VkBool32);
406     *count += sizeof(VkBool32);
407     *count += sizeof(VkBool32);
408     *count += sizeof(VkBool32);
409     *count += sizeof(VkBool32);
410     *count += sizeof(VkBool32);
411     *count += sizeof(VkBool32);
412     *count += sizeof(VkBool32);
413     *count += sizeof(VkBool32);
414     *count += sizeof(VkBool32);
415     *count += sizeof(VkBool32);
416     *count += sizeof(VkBool32);
417     *count += sizeof(VkBool32);
418     *count += sizeof(VkBool32);
419     *count += sizeof(VkBool32);
420     *count += sizeof(VkBool32);
421     *count += sizeof(VkBool32);
422     *count += sizeof(VkBool32);
423     *count += sizeof(VkBool32);
424     *count += sizeof(VkBool32);
425     *count += sizeof(VkBool32);
426     *count += sizeof(VkBool32);
427     *count += sizeof(VkBool32);
428     *count += sizeof(VkBool32);
429     *count += sizeof(VkBool32);
430     *count += sizeof(VkBool32);
431     *count += sizeof(VkBool32);
432     *count += sizeof(VkBool32);
433     *count += sizeof(VkBool32);
434     *count += sizeof(VkBool32);
435     *count += sizeof(VkBool32);
436     *count += sizeof(VkBool32);
437     *count += sizeof(VkBool32);
438     *count += sizeof(VkBool32);
439     *count += sizeof(VkBool32);
440     *count += sizeof(VkBool32);
441     *count += sizeof(VkBool32);
442     *count += sizeof(VkBool32);
443     *count += sizeof(VkBool32);
444     *count += sizeof(VkBool32);
445     *count += sizeof(VkBool32);
446     *count += sizeof(VkBool32);
447     *count += sizeof(VkBool32);
448     *count += sizeof(VkBool32);
449 }
450 
count_VkPhysicalDeviceLimits(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLimits * toCount,size_t * count)451 void count_VkPhysicalDeviceLimits(uint32_t featureBits, VkStructureType rootType,
452                                   const VkPhysicalDeviceLimits* toCount, size_t* count) {
453     (void)featureBits;
454     (void)rootType;
455     (void)toCount;
456     (void)count;
457     *count += sizeof(uint32_t);
458     *count += sizeof(uint32_t);
459     *count += sizeof(uint32_t);
460     *count += sizeof(uint32_t);
461     *count += sizeof(uint32_t);
462     *count += sizeof(uint32_t);
463     *count += sizeof(uint32_t);
464     *count += sizeof(uint32_t);
465     *count += sizeof(uint32_t);
466     *count += sizeof(uint32_t);
467     *count += sizeof(uint32_t);
468     *count += sizeof(VkDeviceSize);
469     *count += sizeof(VkDeviceSize);
470     *count += sizeof(uint32_t);
471     *count += sizeof(uint32_t);
472     *count += sizeof(uint32_t);
473     *count += sizeof(uint32_t);
474     *count += sizeof(uint32_t);
475     *count += sizeof(uint32_t);
476     *count += sizeof(uint32_t);
477     *count += sizeof(uint32_t);
478     *count += sizeof(uint32_t);
479     *count += sizeof(uint32_t);
480     *count += sizeof(uint32_t);
481     *count += sizeof(uint32_t);
482     *count += sizeof(uint32_t);
483     *count += sizeof(uint32_t);
484     *count += sizeof(uint32_t);
485     *count += sizeof(uint32_t);
486     *count += sizeof(uint32_t);
487     *count += sizeof(uint32_t);
488     *count += sizeof(uint32_t);
489     *count += sizeof(uint32_t);
490     *count += sizeof(uint32_t);
491     *count += sizeof(uint32_t);
492     *count += sizeof(uint32_t);
493     *count += sizeof(uint32_t);
494     *count += sizeof(uint32_t);
495     *count += sizeof(uint32_t);
496     *count += sizeof(uint32_t);
497     *count += sizeof(uint32_t);
498     *count += sizeof(uint32_t);
499     *count += sizeof(uint32_t);
500     *count += sizeof(uint32_t);
501     *count += sizeof(uint32_t);
502     *count += sizeof(uint32_t);
503     *count += sizeof(uint32_t);
504     *count += sizeof(uint32_t);
505     *count += sizeof(uint32_t);
506     *count += sizeof(uint32_t);
507     *count += sizeof(uint32_t);
508     *count += sizeof(uint32_t);
509     *count += 3 * sizeof(uint32_t);
510     *count += sizeof(uint32_t);
511     *count += 3 * sizeof(uint32_t);
512     *count += sizeof(uint32_t);
513     *count += sizeof(uint32_t);
514     *count += sizeof(uint32_t);
515     *count += sizeof(uint32_t);
516     *count += sizeof(uint32_t);
517     *count += sizeof(float);
518     *count += sizeof(float);
519     *count += sizeof(uint32_t);
520     *count += 2 * sizeof(uint32_t);
521     *count += 2 * sizeof(float);
522     *count += sizeof(uint32_t);
523     *count += 8;
524     *count += sizeof(VkDeviceSize);
525     *count += sizeof(VkDeviceSize);
526     *count += sizeof(VkDeviceSize);
527     *count += sizeof(int32_t);
528     *count += sizeof(uint32_t);
529     *count += sizeof(int32_t);
530     *count += sizeof(uint32_t);
531     *count += sizeof(float);
532     *count += sizeof(float);
533     *count += sizeof(uint32_t);
534     *count += sizeof(uint32_t);
535     *count += sizeof(uint32_t);
536     *count += sizeof(uint32_t);
537     *count += sizeof(VkSampleCountFlags);
538     *count += sizeof(VkSampleCountFlags);
539     *count += sizeof(VkSampleCountFlags);
540     *count += sizeof(VkSampleCountFlags);
541     *count += sizeof(uint32_t);
542     *count += sizeof(VkSampleCountFlags);
543     *count += sizeof(VkSampleCountFlags);
544     *count += sizeof(VkSampleCountFlags);
545     *count += sizeof(VkSampleCountFlags);
546     *count += sizeof(VkSampleCountFlags);
547     *count += sizeof(uint32_t);
548     *count += sizeof(VkBool32);
549     *count += sizeof(float);
550     *count += sizeof(uint32_t);
551     *count += sizeof(uint32_t);
552     *count += sizeof(uint32_t);
553     *count += sizeof(uint32_t);
554     *count += 2 * sizeof(float);
555     *count += 2 * sizeof(float);
556     *count += sizeof(float);
557     *count += sizeof(float);
558     *count += sizeof(VkBool32);
559     *count += sizeof(VkBool32);
560     *count += sizeof(VkDeviceSize);
561     *count += sizeof(VkDeviceSize);
562     *count += sizeof(VkDeviceSize);
563 }
564 
count_VkPhysicalDeviceMemoryProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties * toCount,size_t * count)565 void count_VkPhysicalDeviceMemoryProperties(uint32_t featureBits, VkStructureType rootType,
566                                             const VkPhysicalDeviceMemoryProperties* toCount,
567                                             size_t* count) {
568     (void)featureBits;
569     (void)rootType;
570     (void)toCount;
571     (void)count;
572     *count += sizeof(uint32_t);
573     for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_TYPES; ++i) {
574         count_VkMemoryType(featureBits, rootType, (VkMemoryType*)(toCount->memoryTypes + i), count);
575     }
576     *count += sizeof(uint32_t);
577     for (uint32_t i = 0; i < (uint32_t)VK_MAX_MEMORY_HEAPS; ++i) {
578         count_VkMemoryHeap(featureBits, rootType, (VkMemoryHeap*)(toCount->memoryHeaps + i), count);
579     }
580 }
581 
count_VkPhysicalDeviceSparseProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSparseProperties * toCount,size_t * count)582 void count_VkPhysicalDeviceSparseProperties(uint32_t featureBits, VkStructureType rootType,
583                                             const VkPhysicalDeviceSparseProperties* toCount,
584                                             size_t* count) {
585     (void)featureBits;
586     (void)rootType;
587     (void)toCount;
588     (void)count;
589     *count += sizeof(VkBool32);
590     *count += sizeof(VkBool32);
591     *count += sizeof(VkBool32);
592     *count += sizeof(VkBool32);
593     *count += sizeof(VkBool32);
594 }
595 
count_VkPhysicalDeviceProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProperties * toCount,size_t * count)596 void count_VkPhysicalDeviceProperties(uint32_t featureBits, VkStructureType rootType,
597                                       const VkPhysicalDeviceProperties* toCount, size_t* count) {
598     (void)featureBits;
599     (void)rootType;
600     (void)toCount;
601     (void)count;
602     *count += sizeof(uint32_t);
603     *count += sizeof(uint32_t);
604     *count += sizeof(uint32_t);
605     *count += sizeof(uint32_t);
606     *count += sizeof(VkPhysicalDeviceType);
607     *count += VK_MAX_PHYSICAL_DEVICE_NAME_SIZE * sizeof(char);
608     *count += VK_UUID_SIZE * sizeof(uint8_t);
609     count_VkPhysicalDeviceLimits(featureBits, rootType, (VkPhysicalDeviceLimits*)(&toCount->limits),
610                                  count);
611     count_VkPhysicalDeviceSparseProperties(
612         featureBits, rootType, (VkPhysicalDeviceSparseProperties*)(&toCount->sparseProperties),
613         count);
614 }
615 
count_VkQueueFamilyProperties(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyProperties * toCount,size_t * count)616 void count_VkQueueFamilyProperties(uint32_t featureBits, VkStructureType rootType,
617                                    const VkQueueFamilyProperties* toCount, size_t* count) {
618     (void)featureBits;
619     (void)rootType;
620     (void)toCount;
621     (void)count;
622     *count += sizeof(VkQueueFlags);
623     *count += sizeof(uint32_t);
624     *count += sizeof(uint32_t);
625     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->minImageTransferGranularity),
626                      count);
627 }
628 
count_VkDeviceQueueCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceQueueCreateInfo * toCount,size_t * count)629 void count_VkDeviceQueueCreateInfo(uint32_t featureBits, VkStructureType rootType,
630                                    const VkDeviceQueueCreateInfo* toCount, size_t* count) {
631     (void)featureBits;
632     (void)rootType;
633     (void)toCount;
634     (void)count;
635     *count += sizeof(VkStructureType);
636     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
637         rootType = toCount->sType;
638     }
639     count_extension_struct(featureBits, rootType, toCount->pNext, count);
640     *count += sizeof(VkDeviceQueueCreateFlags);
641     *count += sizeof(uint32_t);
642     *count += sizeof(uint32_t);
643     if (toCount) {
644         *count += toCount->queueCount * sizeof(const float);
645     }
646 }
647 
count_VkDeviceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceCreateInfo * toCount,size_t * count)648 void count_VkDeviceCreateInfo(uint32_t featureBits, VkStructureType rootType,
649                               const VkDeviceCreateInfo* toCount, size_t* count) {
650     (void)featureBits;
651     (void)rootType;
652     (void)toCount;
653     (void)count;
654     *count += sizeof(VkStructureType);
655     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
656         rootType = toCount->sType;
657     }
658     count_extension_struct(featureBits, rootType, toCount->pNext, count);
659     *count += sizeof(VkDeviceCreateFlags);
660     *count += sizeof(uint32_t);
661     if (toCount) {
662         for (uint32_t i = 0; i < (uint32_t)toCount->queueCreateInfoCount; ++i) {
663             count_VkDeviceQueueCreateInfo(
664                 featureBits, rootType,
665                 (const VkDeviceQueueCreateInfo*)(toCount->pQueueCreateInfos + i), count);
666         }
667     }
668     *count += sizeof(uint32_t);
669     *count += sizeof(uint32_t);
670     if (toCount) {
671         for (uint32_t i = 0; i < toCount->enabledLayerCount; ++i) {
672             size_t l =
673                 toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0;
674             *count +=
675                 sizeof(uint32_t) +
676                 (toCount->ppEnabledLayerNames[i] ? strlen(toCount->ppEnabledLayerNames[i]) : 0);
677         }
678     }
679     *count += sizeof(uint32_t);
680     *count += sizeof(uint32_t);
681     if (toCount) {
682         for (uint32_t i = 0; i < toCount->enabledExtensionCount; ++i) {
683             size_t l = toCount->ppEnabledExtensionNames[i]
684                            ? strlen(toCount->ppEnabledExtensionNames[i])
685                            : 0;
686             *count += sizeof(uint32_t) + (toCount->ppEnabledExtensionNames[i]
687                                               ? strlen(toCount->ppEnabledExtensionNames[i])
688                                               : 0);
689         }
690     }
691     // WARNING PTR CHECK
692     *count += 8;
693     if (toCount->pEnabledFeatures) {
694         count_VkPhysicalDeviceFeatures(featureBits, rootType,
695                                        (const VkPhysicalDeviceFeatures*)(toCount->pEnabledFeatures),
696                                        count);
697     }
698 }
699 
count_VkExtensionProperties(uint32_t featureBits,VkStructureType rootType,const VkExtensionProperties * toCount,size_t * count)700 void count_VkExtensionProperties(uint32_t featureBits, VkStructureType rootType,
701                                  const VkExtensionProperties* toCount, size_t* count) {
702     (void)featureBits;
703     (void)rootType;
704     (void)toCount;
705     (void)count;
706     *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
707     *count += sizeof(uint32_t);
708 }
709 
count_VkLayerProperties(uint32_t featureBits,VkStructureType rootType,const VkLayerProperties * toCount,size_t * count)710 void count_VkLayerProperties(uint32_t featureBits, VkStructureType rootType,
711                              const VkLayerProperties* toCount, size_t* count) {
712     (void)featureBits;
713     (void)rootType;
714     (void)toCount;
715     (void)count;
716     *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
717     *count += sizeof(uint32_t);
718     *count += sizeof(uint32_t);
719     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
720 }
721 
count_VkSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkSubmitInfo * toCount,size_t * count)722 void count_VkSubmitInfo(uint32_t featureBits, VkStructureType rootType, const VkSubmitInfo* toCount,
723                         size_t* count) {
724     (void)featureBits;
725     (void)rootType;
726     (void)toCount;
727     (void)count;
728     *count += sizeof(VkStructureType);
729     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
730         rootType = toCount->sType;
731     }
732     count_extension_struct(featureBits, rootType, toCount->pNext, count);
733     *count += sizeof(uint32_t);
734     if (toCount->waitSemaphoreCount) {
735         *count += toCount->waitSemaphoreCount * 8;
736     }
737     if (toCount) {
738         *count += toCount->waitSemaphoreCount * sizeof(const VkPipelineStageFlags);
739     }
740     *count += sizeof(uint32_t);
741     if (toCount->commandBufferCount) {
742         *count += toCount->commandBufferCount * 8;
743     }
744     *count += sizeof(uint32_t);
745     if (toCount->signalSemaphoreCount) {
746         *count += toCount->signalSemaphoreCount * 8;
747     }
748 }
749 
count_VkMappedMemoryRange(uint32_t featureBits,VkStructureType rootType,const VkMappedMemoryRange * toCount,size_t * count)750 void count_VkMappedMemoryRange(uint32_t featureBits, VkStructureType rootType,
751                                const VkMappedMemoryRange* toCount, size_t* count) {
752     (void)featureBits;
753     (void)rootType;
754     (void)toCount;
755     (void)count;
756     *count += sizeof(VkStructureType);
757     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
758         rootType = toCount->sType;
759     }
760     count_extension_struct(featureBits, rootType, toCount->pNext, count);
761     uint64_t cgen_var_0;
762     *count += 1 * 8;
763     *count += sizeof(VkDeviceSize);
764     *count += sizeof(VkDeviceSize);
765 }
766 
count_VkMemoryAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryAllocateInfo * toCount,size_t * count)767 void count_VkMemoryAllocateInfo(uint32_t featureBits, VkStructureType rootType,
768                                 const VkMemoryAllocateInfo* toCount, size_t* count) {
769     (void)featureBits;
770     (void)rootType;
771     (void)toCount;
772     (void)count;
773     *count += sizeof(VkStructureType);
774     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
775         rootType = toCount->sType;
776     }
777     count_extension_struct(featureBits, rootType, toCount->pNext, count);
778     *count += sizeof(VkDeviceSize);
779     *count += sizeof(uint32_t);
780 }
781 
count_VkMemoryRequirements(uint32_t featureBits,VkStructureType rootType,const VkMemoryRequirements * toCount,size_t * count)782 void count_VkMemoryRequirements(uint32_t featureBits, VkStructureType rootType,
783                                 const VkMemoryRequirements* toCount, size_t* count) {
784     (void)featureBits;
785     (void)rootType;
786     (void)toCount;
787     (void)count;
788     *count += sizeof(VkDeviceSize);
789     *count += sizeof(VkDeviceSize);
790     *count += sizeof(uint32_t);
791 }
792 
count_VkSparseMemoryBind(uint32_t featureBits,VkStructureType rootType,const VkSparseMemoryBind * toCount,size_t * count)793 void count_VkSparseMemoryBind(uint32_t featureBits, VkStructureType rootType,
794                               const VkSparseMemoryBind* toCount, size_t* count) {
795     (void)featureBits;
796     (void)rootType;
797     (void)toCount;
798     (void)count;
799     *count += sizeof(VkDeviceSize);
800     *count += sizeof(VkDeviceSize);
801     uint64_t cgen_var_0;
802     *count += 1 * 8;
803     *count += sizeof(VkDeviceSize);
804     *count += sizeof(VkSparseMemoryBindFlags);
805 }
806 
count_VkSparseBufferMemoryBindInfo(uint32_t featureBits,VkStructureType rootType,const VkSparseBufferMemoryBindInfo * toCount,size_t * count)807 void count_VkSparseBufferMemoryBindInfo(uint32_t featureBits, VkStructureType rootType,
808                                         const VkSparseBufferMemoryBindInfo* toCount,
809                                         size_t* count) {
810     (void)featureBits;
811     (void)rootType;
812     (void)toCount;
813     (void)count;
814     uint64_t cgen_var_0;
815     *count += 1 * 8;
816     *count += sizeof(uint32_t);
817     if (toCount) {
818         for (uint32_t i = 0; i < (uint32_t)toCount->bindCount; ++i) {
819             count_VkSparseMemoryBind(featureBits, rootType,
820                                      (const VkSparseMemoryBind*)(toCount->pBinds + i), count);
821         }
822     }
823 }
824 
count_VkSparseImageOpaqueMemoryBindInfo(uint32_t featureBits,VkStructureType rootType,const VkSparseImageOpaqueMemoryBindInfo * toCount,size_t * count)825 void count_VkSparseImageOpaqueMemoryBindInfo(uint32_t featureBits, VkStructureType rootType,
826                                              const VkSparseImageOpaqueMemoryBindInfo* toCount,
827                                              size_t* count) {
828     (void)featureBits;
829     (void)rootType;
830     (void)toCount;
831     (void)count;
832     uint64_t cgen_var_0;
833     *count += 1 * 8;
834     *count += sizeof(uint32_t);
835     if (toCount) {
836         for (uint32_t i = 0; i < (uint32_t)toCount->bindCount; ++i) {
837             count_VkSparseMemoryBind(featureBits, rootType,
838                                      (const VkSparseMemoryBind*)(toCount->pBinds + i), count);
839         }
840     }
841 }
842 
count_VkImageSubresource(uint32_t featureBits,VkStructureType rootType,const VkImageSubresource * toCount,size_t * count)843 void count_VkImageSubresource(uint32_t featureBits, VkStructureType rootType,
844                               const VkImageSubresource* toCount, size_t* count) {
845     (void)featureBits;
846     (void)rootType;
847     (void)toCount;
848     (void)count;
849     *count += sizeof(VkImageAspectFlags);
850     *count += sizeof(uint32_t);
851     *count += sizeof(uint32_t);
852 }
853 
count_VkSparseImageMemoryBind(uint32_t featureBits,VkStructureType rootType,const VkSparseImageMemoryBind * toCount,size_t * count)854 void count_VkSparseImageMemoryBind(uint32_t featureBits, VkStructureType rootType,
855                                    const VkSparseImageMemoryBind* toCount, size_t* count) {
856     (void)featureBits;
857     (void)rootType;
858     (void)toCount;
859     (void)count;
860     count_VkImageSubresource(featureBits, rootType, (VkImageSubresource*)(&toCount->subresource),
861                              count);
862     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->offset), count);
863     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
864     uint64_t cgen_var_0;
865     *count += 1 * 8;
866     *count += sizeof(VkDeviceSize);
867     *count += sizeof(VkSparseMemoryBindFlags);
868 }
869 
count_VkSparseImageMemoryBindInfo(uint32_t featureBits,VkStructureType rootType,const VkSparseImageMemoryBindInfo * toCount,size_t * count)870 void count_VkSparseImageMemoryBindInfo(uint32_t featureBits, VkStructureType rootType,
871                                        const VkSparseImageMemoryBindInfo* toCount, size_t* count) {
872     (void)featureBits;
873     (void)rootType;
874     (void)toCount;
875     (void)count;
876     uint64_t cgen_var_0;
877     *count += 1 * 8;
878     *count += sizeof(uint32_t);
879     if (toCount) {
880         for (uint32_t i = 0; i < (uint32_t)toCount->bindCount; ++i) {
881             count_VkSparseImageMemoryBind(featureBits, rootType,
882                                           (const VkSparseImageMemoryBind*)(toCount->pBinds + i),
883                                           count);
884         }
885     }
886 }
887 
count_VkBindSparseInfo(uint32_t featureBits,VkStructureType rootType,const VkBindSparseInfo * toCount,size_t * count)888 void count_VkBindSparseInfo(uint32_t featureBits, VkStructureType rootType,
889                             const VkBindSparseInfo* toCount, size_t* count) {
890     (void)featureBits;
891     (void)rootType;
892     (void)toCount;
893     (void)count;
894     *count += sizeof(VkStructureType);
895     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
896         rootType = toCount->sType;
897     }
898     count_extension_struct(featureBits, rootType, toCount->pNext, count);
899     *count += sizeof(uint32_t);
900     if (toCount->waitSemaphoreCount) {
901         *count += toCount->waitSemaphoreCount * 8;
902     }
903     *count += sizeof(uint32_t);
904     if (toCount) {
905         for (uint32_t i = 0; i < (uint32_t)toCount->bufferBindCount; ++i) {
906             count_VkSparseBufferMemoryBindInfo(
907                 featureBits, rootType,
908                 (const VkSparseBufferMemoryBindInfo*)(toCount->pBufferBinds + i), count);
909         }
910     }
911     *count += sizeof(uint32_t);
912     if (toCount) {
913         for (uint32_t i = 0; i < (uint32_t)toCount->imageOpaqueBindCount; ++i) {
914             count_VkSparseImageOpaqueMemoryBindInfo(
915                 featureBits, rootType,
916                 (const VkSparseImageOpaqueMemoryBindInfo*)(toCount->pImageOpaqueBinds + i), count);
917         }
918     }
919     *count += sizeof(uint32_t);
920     if (toCount) {
921         for (uint32_t i = 0; i < (uint32_t)toCount->imageBindCount; ++i) {
922             count_VkSparseImageMemoryBindInfo(
923                 featureBits, rootType,
924                 (const VkSparseImageMemoryBindInfo*)(toCount->pImageBinds + i), count);
925         }
926     }
927     *count += sizeof(uint32_t);
928     if (toCount->signalSemaphoreCount) {
929         *count += toCount->signalSemaphoreCount * 8;
930     }
931 }
932 
count_VkSparseImageFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkSparseImageFormatProperties * toCount,size_t * count)933 void count_VkSparseImageFormatProperties(uint32_t featureBits, VkStructureType rootType,
934                                          const VkSparseImageFormatProperties* toCount,
935                                          size_t* count) {
936     (void)featureBits;
937     (void)rootType;
938     (void)toCount;
939     (void)count;
940     *count += sizeof(VkImageAspectFlags);
941     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageGranularity), count);
942     *count += sizeof(VkSparseImageFormatFlags);
943 }
944 
count_VkSparseImageMemoryRequirements(uint32_t featureBits,VkStructureType rootType,const VkSparseImageMemoryRequirements * toCount,size_t * count)945 void count_VkSparseImageMemoryRequirements(uint32_t featureBits, VkStructureType rootType,
946                                            const VkSparseImageMemoryRequirements* toCount,
947                                            size_t* count) {
948     (void)featureBits;
949     (void)rootType;
950     (void)toCount;
951     (void)count;
952     count_VkSparseImageFormatProperties(
953         featureBits, rootType, (VkSparseImageFormatProperties*)(&toCount->formatProperties), count);
954     *count += sizeof(uint32_t);
955     *count += sizeof(VkDeviceSize);
956     *count += sizeof(VkDeviceSize);
957     *count += sizeof(VkDeviceSize);
958 }
959 
count_VkFenceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkFenceCreateInfo * toCount,size_t * count)960 void count_VkFenceCreateInfo(uint32_t featureBits, VkStructureType rootType,
961                              const VkFenceCreateInfo* toCount, size_t* count) {
962     (void)featureBits;
963     (void)rootType;
964     (void)toCount;
965     (void)count;
966     *count += sizeof(VkStructureType);
967     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
968         rootType = toCount->sType;
969     }
970     count_extension_struct(featureBits, rootType, toCount->pNext, count);
971     *count += sizeof(VkFenceCreateFlags);
972 }
973 
count_VkSemaphoreCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreCreateInfo * toCount,size_t * count)974 void count_VkSemaphoreCreateInfo(uint32_t featureBits, VkStructureType rootType,
975                                  const VkSemaphoreCreateInfo* toCount, size_t* count) {
976     (void)featureBits;
977     (void)rootType;
978     (void)toCount;
979     (void)count;
980     *count += sizeof(VkStructureType);
981     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
982         rootType = toCount->sType;
983     }
984     count_extension_struct(featureBits, rootType, toCount->pNext, count);
985     *count += sizeof(VkSemaphoreCreateFlags);
986 }
987 
count_VkEventCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkEventCreateInfo * toCount,size_t * count)988 void count_VkEventCreateInfo(uint32_t featureBits, VkStructureType rootType,
989                              const VkEventCreateInfo* toCount, size_t* count) {
990     (void)featureBits;
991     (void)rootType;
992     (void)toCount;
993     (void)count;
994     *count += sizeof(VkStructureType);
995     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
996         rootType = toCount->sType;
997     }
998     count_extension_struct(featureBits, rootType, toCount->pNext, count);
999     *count += sizeof(VkEventCreateFlags);
1000 }
1001 
count_VkQueryPoolCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkQueryPoolCreateInfo * toCount,size_t * count)1002 void count_VkQueryPoolCreateInfo(uint32_t featureBits, VkStructureType rootType,
1003                                  const VkQueryPoolCreateInfo* toCount, size_t* count) {
1004     (void)featureBits;
1005     (void)rootType;
1006     (void)toCount;
1007     (void)count;
1008     *count += sizeof(VkStructureType);
1009     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1010         rootType = toCount->sType;
1011     }
1012     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1013     *count += sizeof(VkQueryPoolCreateFlags);
1014     *count += sizeof(VkQueryType);
1015     *count += sizeof(uint32_t);
1016     *count += sizeof(VkQueryPipelineStatisticFlags);
1017 }
1018 
count_VkBufferCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferCreateInfo * toCount,size_t * count)1019 void count_VkBufferCreateInfo(uint32_t featureBits, VkStructureType rootType,
1020                               const VkBufferCreateInfo* toCount, size_t* count) {
1021     (void)featureBits;
1022     (void)rootType;
1023     (void)toCount;
1024     (void)count;
1025     *count += sizeof(VkStructureType);
1026     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1027         rootType = toCount->sType;
1028     }
1029     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1030     *count += sizeof(VkBufferCreateFlags);
1031     *count += sizeof(VkDeviceSize);
1032     *count += sizeof(VkBufferUsageFlags);
1033     *count += sizeof(VkSharingMode);
1034     *count += sizeof(uint32_t);
1035     // WARNING PTR CHECK
1036     *count += 8;
1037     if (toCount->pQueueFamilyIndices) {
1038         if (toCount) {
1039             *count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
1040         }
1041     }
1042 }
1043 
count_VkBufferViewCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferViewCreateInfo * toCount,size_t * count)1044 void count_VkBufferViewCreateInfo(uint32_t featureBits, VkStructureType rootType,
1045                                   const VkBufferViewCreateInfo* toCount, size_t* count) {
1046     (void)featureBits;
1047     (void)rootType;
1048     (void)toCount;
1049     (void)count;
1050     *count += sizeof(VkStructureType);
1051     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1052         rootType = toCount->sType;
1053     }
1054     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1055     *count += sizeof(VkBufferViewCreateFlags);
1056     uint64_t cgen_var_0;
1057     *count += 1 * 8;
1058     *count += sizeof(VkFormat);
1059     *count += sizeof(VkDeviceSize);
1060     *count += sizeof(VkDeviceSize);
1061 }
1062 
count_VkImageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageCreateInfo * toCount,size_t * count)1063 void count_VkImageCreateInfo(uint32_t featureBits, VkStructureType rootType,
1064                              const VkImageCreateInfo* toCount, size_t* count) {
1065     (void)featureBits;
1066     (void)rootType;
1067     (void)toCount;
1068     (void)count;
1069     *count += sizeof(VkStructureType);
1070     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1071         rootType = toCount->sType;
1072     }
1073     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1074     *count += sizeof(VkImageCreateFlags);
1075     *count += sizeof(VkImageType);
1076     *count += sizeof(VkFormat);
1077     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
1078     *count += sizeof(uint32_t);
1079     *count += sizeof(uint32_t);
1080     *count += sizeof(VkSampleCountFlagBits);
1081     *count += sizeof(VkImageTiling);
1082     *count += sizeof(VkImageUsageFlags);
1083     *count += sizeof(VkSharingMode);
1084     *count += sizeof(uint32_t);
1085     // WARNING PTR CHECK
1086     *count += 8;
1087     if (toCount->pQueueFamilyIndices) {
1088         if (toCount) {
1089             *count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
1090         }
1091     }
1092     *count += sizeof(VkImageLayout);
1093 }
1094 
count_VkSubresourceLayout(uint32_t featureBits,VkStructureType rootType,const VkSubresourceLayout * toCount,size_t * count)1095 void count_VkSubresourceLayout(uint32_t featureBits, VkStructureType rootType,
1096                                const VkSubresourceLayout* toCount, size_t* count) {
1097     (void)featureBits;
1098     (void)rootType;
1099     (void)toCount;
1100     (void)count;
1101     *count += sizeof(VkDeviceSize);
1102     *count += sizeof(VkDeviceSize);
1103     *count += sizeof(VkDeviceSize);
1104     *count += sizeof(VkDeviceSize);
1105     *count += sizeof(VkDeviceSize);
1106 }
1107 
count_VkComponentMapping(uint32_t featureBits,VkStructureType rootType,const VkComponentMapping * toCount,size_t * count)1108 void count_VkComponentMapping(uint32_t featureBits, VkStructureType rootType,
1109                               const VkComponentMapping* toCount, size_t* count) {
1110     (void)featureBits;
1111     (void)rootType;
1112     (void)toCount;
1113     (void)count;
1114     *count += sizeof(VkComponentSwizzle);
1115     *count += sizeof(VkComponentSwizzle);
1116     *count += sizeof(VkComponentSwizzle);
1117     *count += sizeof(VkComponentSwizzle);
1118 }
1119 
count_VkImageViewCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageViewCreateInfo * toCount,size_t * count)1120 void count_VkImageViewCreateInfo(uint32_t featureBits, VkStructureType rootType,
1121                                  const VkImageViewCreateInfo* toCount, size_t* count) {
1122     (void)featureBits;
1123     (void)rootType;
1124     (void)toCount;
1125     (void)count;
1126     *count += sizeof(VkStructureType);
1127     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1128         rootType = toCount->sType;
1129     }
1130     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1131     *count += sizeof(VkImageViewCreateFlags);
1132     uint64_t cgen_var_0;
1133     *count += 1 * 8;
1134     *count += sizeof(VkImageViewType);
1135     *count += sizeof(VkFormat);
1136     count_VkComponentMapping(featureBits, rootType, (VkComponentMapping*)(&toCount->components),
1137                              count);
1138     count_VkImageSubresourceRange(featureBits, rootType,
1139                                   (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
1140 }
1141 
count_VkShaderModuleCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkShaderModuleCreateInfo * toCount,size_t * count)1142 void count_VkShaderModuleCreateInfo(uint32_t featureBits, VkStructureType rootType,
1143                                     const VkShaderModuleCreateInfo* toCount, size_t* count) {
1144     (void)featureBits;
1145     (void)rootType;
1146     (void)toCount;
1147     (void)count;
1148     *count += sizeof(VkStructureType);
1149     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1150         rootType = toCount->sType;
1151     }
1152     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1153     *count += sizeof(VkShaderModuleCreateFlags);
1154     *count += 8;
1155     if (toCount) {
1156         *count += (toCount->codeSize / 4) * sizeof(const uint32_t);
1157     }
1158 }
1159 
count_VkPipelineCacheCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineCacheCreateInfo * toCount,size_t * count)1160 void count_VkPipelineCacheCreateInfo(uint32_t featureBits, VkStructureType rootType,
1161                                      const VkPipelineCacheCreateInfo* toCount, size_t* count) {
1162     (void)featureBits;
1163     (void)rootType;
1164     (void)toCount;
1165     (void)count;
1166     *count += sizeof(VkStructureType);
1167     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1168         rootType = toCount->sType;
1169     }
1170     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1171     *count += sizeof(VkPipelineCacheCreateFlags);
1172     *count += 8;
1173     if (toCount) {
1174         *count += toCount->initialDataSize * sizeof(const uint8_t);
1175     }
1176 }
1177 
count_VkSpecializationMapEntry(uint32_t featureBits,VkStructureType rootType,const VkSpecializationMapEntry * toCount,size_t * count)1178 void count_VkSpecializationMapEntry(uint32_t featureBits, VkStructureType rootType,
1179                                     const VkSpecializationMapEntry* toCount, size_t* count) {
1180     (void)featureBits;
1181     (void)rootType;
1182     (void)toCount;
1183     (void)count;
1184     *count += sizeof(uint32_t);
1185     *count += sizeof(uint32_t);
1186     *count += 8;
1187 }
1188 
count_VkSpecializationInfo(uint32_t featureBits,VkStructureType rootType,const VkSpecializationInfo * toCount,size_t * count)1189 void count_VkSpecializationInfo(uint32_t featureBits, VkStructureType rootType,
1190                                 const VkSpecializationInfo* toCount, size_t* count) {
1191     (void)featureBits;
1192     (void)rootType;
1193     (void)toCount;
1194     (void)count;
1195     *count += sizeof(uint32_t);
1196     if (toCount) {
1197         for (uint32_t i = 0; i < (uint32_t)toCount->mapEntryCount; ++i) {
1198             count_VkSpecializationMapEntry(
1199                 featureBits, rootType, (const VkSpecializationMapEntry*)(toCount->pMapEntries + i),
1200                 count);
1201         }
1202     }
1203     *count += 8;
1204     if (toCount) {
1205         *count += toCount->dataSize * sizeof(const uint8_t);
1206     }
1207 }
1208 
count_VkPipelineShaderStageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineShaderStageCreateInfo * toCount,size_t * count)1209 void count_VkPipelineShaderStageCreateInfo(uint32_t featureBits, VkStructureType rootType,
1210                                            const VkPipelineShaderStageCreateInfo* toCount,
1211                                            size_t* count) {
1212     (void)featureBits;
1213     (void)rootType;
1214     (void)toCount;
1215     (void)count;
1216     *count += sizeof(VkStructureType);
1217     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1218         rootType = toCount->sType;
1219     }
1220     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1221     *count += sizeof(VkPipelineShaderStageCreateFlags);
1222     *count += sizeof(VkShaderStageFlagBits);
1223     uint64_t cgen_var_0;
1224     *count += 1 * 8;
1225     *count += sizeof(uint32_t) + (toCount->pName ? strlen(toCount->pName) : 0);
1226     // WARNING PTR CHECK
1227     *count += 8;
1228     if (toCount->pSpecializationInfo) {
1229         count_VkSpecializationInfo(featureBits, rootType,
1230                                    (const VkSpecializationInfo*)(toCount->pSpecializationInfo),
1231                                    count);
1232     }
1233 }
1234 
count_VkComputePipelineCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkComputePipelineCreateInfo * toCount,size_t * count)1235 void count_VkComputePipelineCreateInfo(uint32_t featureBits, VkStructureType rootType,
1236                                        const VkComputePipelineCreateInfo* toCount, size_t* count) {
1237     (void)featureBits;
1238     (void)rootType;
1239     (void)toCount;
1240     (void)count;
1241     *count += sizeof(VkStructureType);
1242     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1243         rootType = toCount->sType;
1244     }
1245     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1246     *count += sizeof(VkPipelineCreateFlags);
1247     count_VkPipelineShaderStageCreateInfo(
1248         featureBits, rootType, (VkPipelineShaderStageCreateInfo*)(&toCount->stage), count);
1249     uint64_t cgen_var_0;
1250     *count += 1 * 8;
1251     uint64_t cgen_var_1;
1252     *count += 1 * 8;
1253     *count += sizeof(int32_t);
1254 }
1255 
count_VkVertexInputBindingDescription(uint32_t featureBits,VkStructureType rootType,const VkVertexInputBindingDescription * toCount,size_t * count)1256 void count_VkVertexInputBindingDescription(uint32_t featureBits, VkStructureType rootType,
1257                                            const VkVertexInputBindingDescription* toCount,
1258                                            size_t* count) {
1259     (void)featureBits;
1260     (void)rootType;
1261     (void)toCount;
1262     (void)count;
1263     *count += sizeof(uint32_t);
1264     *count += sizeof(uint32_t);
1265     *count += sizeof(VkVertexInputRate);
1266 }
1267 
count_VkVertexInputAttributeDescription(uint32_t featureBits,VkStructureType rootType,const VkVertexInputAttributeDescription * toCount,size_t * count)1268 void count_VkVertexInputAttributeDescription(uint32_t featureBits, VkStructureType rootType,
1269                                              const VkVertexInputAttributeDescription* toCount,
1270                                              size_t* count) {
1271     (void)featureBits;
1272     (void)rootType;
1273     (void)toCount;
1274     (void)count;
1275     *count += sizeof(uint32_t);
1276     *count += sizeof(uint32_t);
1277     *count += sizeof(VkFormat);
1278     *count += sizeof(uint32_t);
1279 }
1280 
count_VkPipelineVertexInputStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineVertexInputStateCreateInfo * toCount,size_t * count)1281 void count_VkPipelineVertexInputStateCreateInfo(uint32_t featureBits, VkStructureType rootType,
1282                                                 const VkPipelineVertexInputStateCreateInfo* toCount,
1283                                                 size_t* count) {
1284     (void)featureBits;
1285     (void)rootType;
1286     (void)toCount;
1287     (void)count;
1288     *count += sizeof(VkStructureType);
1289     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1290         rootType = toCount->sType;
1291     }
1292     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1293     *count += sizeof(VkPipelineVertexInputStateCreateFlags);
1294     *count += sizeof(uint32_t);
1295     if (toCount) {
1296         for (uint32_t i = 0; i < (uint32_t)toCount->vertexBindingDescriptionCount; ++i) {
1297             count_VkVertexInputBindingDescription(
1298                 featureBits, rootType,
1299                 (const VkVertexInputBindingDescription*)(toCount->pVertexBindingDescriptions + i),
1300                 count);
1301         }
1302     }
1303     *count += sizeof(uint32_t);
1304     if (toCount) {
1305         for (uint32_t i = 0; i < (uint32_t)toCount->vertexAttributeDescriptionCount; ++i) {
1306             count_VkVertexInputAttributeDescription(
1307                 featureBits, rootType,
1308                 (const VkVertexInputAttributeDescription*)(toCount->pVertexAttributeDescriptions +
1309                                                            i),
1310                 count);
1311         }
1312     }
1313 }
1314 
count_VkPipelineInputAssemblyStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineInputAssemblyStateCreateInfo * toCount,size_t * count)1315 void count_VkPipelineInputAssemblyStateCreateInfo(
1316     uint32_t featureBits, VkStructureType rootType,
1317     const VkPipelineInputAssemblyStateCreateInfo* toCount, size_t* count) {
1318     (void)featureBits;
1319     (void)rootType;
1320     (void)toCount;
1321     (void)count;
1322     *count += sizeof(VkStructureType);
1323     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1324         rootType = toCount->sType;
1325     }
1326     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1327     *count += sizeof(VkPipelineInputAssemblyStateCreateFlags);
1328     *count += sizeof(VkPrimitiveTopology);
1329     *count += sizeof(VkBool32);
1330 }
1331 
count_VkPipelineTessellationStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineTessellationStateCreateInfo * toCount,size_t * count)1332 void count_VkPipelineTessellationStateCreateInfo(
1333     uint32_t featureBits, VkStructureType rootType,
1334     const VkPipelineTessellationStateCreateInfo* toCount, size_t* count) {
1335     (void)featureBits;
1336     (void)rootType;
1337     (void)toCount;
1338     (void)count;
1339     *count += sizeof(VkStructureType);
1340     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1341         rootType = toCount->sType;
1342     }
1343     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1344     *count += sizeof(VkPipelineTessellationStateCreateFlags);
1345     *count += sizeof(uint32_t);
1346 }
1347 
count_VkViewport(uint32_t featureBits,VkStructureType rootType,const VkViewport * toCount,size_t * count)1348 void count_VkViewport(uint32_t featureBits, VkStructureType rootType, const VkViewport* toCount,
1349                       size_t* count) {
1350     (void)featureBits;
1351     (void)rootType;
1352     (void)toCount;
1353     (void)count;
1354     *count += sizeof(float);
1355     *count += sizeof(float);
1356     *count += sizeof(float);
1357     *count += sizeof(float);
1358     *count += sizeof(float);
1359     *count += sizeof(float);
1360 }
1361 
count_VkPipelineViewportStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportStateCreateInfo * toCount,size_t * count)1362 void count_VkPipelineViewportStateCreateInfo(uint32_t featureBits, VkStructureType rootType,
1363                                              const VkPipelineViewportStateCreateInfo* toCount,
1364                                              size_t* count) {
1365     (void)featureBits;
1366     (void)rootType;
1367     (void)toCount;
1368     (void)count;
1369     *count += sizeof(VkStructureType);
1370     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1371         rootType = toCount->sType;
1372     }
1373     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1374     *count += sizeof(VkPipelineViewportStateCreateFlags);
1375     *count += sizeof(uint32_t);
1376     // WARNING PTR CHECK
1377     *count += 8;
1378     if (toCount->pViewports) {
1379         if (toCount) {
1380             for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i) {
1381                 count_VkViewport(featureBits, rootType,
1382                                  (const VkViewport*)(toCount->pViewports + i), count);
1383             }
1384         }
1385     }
1386     *count += sizeof(uint32_t);
1387     // WARNING PTR CHECK
1388     *count += 8;
1389     if (toCount->pScissors) {
1390         if (toCount) {
1391             for (uint32_t i = 0; i < (uint32_t)toCount->scissorCount; ++i) {
1392                 count_VkRect2D(featureBits, rootType, (const VkRect2D*)(toCount->pScissors + i),
1393                                count);
1394             }
1395         }
1396     }
1397 }
1398 
count_VkPipelineRasterizationStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationStateCreateInfo * toCount,size_t * count)1399 void count_VkPipelineRasterizationStateCreateInfo(
1400     uint32_t featureBits, VkStructureType rootType,
1401     const VkPipelineRasterizationStateCreateInfo* toCount, size_t* count) {
1402     (void)featureBits;
1403     (void)rootType;
1404     (void)toCount;
1405     (void)count;
1406     *count += sizeof(VkStructureType);
1407     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1408         rootType = toCount->sType;
1409     }
1410     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1411     *count += sizeof(VkPipelineRasterizationStateCreateFlags);
1412     *count += sizeof(VkBool32);
1413     *count += sizeof(VkBool32);
1414     *count += sizeof(VkPolygonMode);
1415     *count += sizeof(VkCullModeFlags);
1416     *count += sizeof(VkFrontFace);
1417     *count += sizeof(VkBool32);
1418     *count += sizeof(float);
1419     *count += sizeof(float);
1420     *count += sizeof(float);
1421     *count += sizeof(float);
1422 }
1423 
count_VkPipelineMultisampleStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineMultisampleStateCreateInfo * toCount,size_t * count)1424 void count_VkPipelineMultisampleStateCreateInfo(uint32_t featureBits, VkStructureType rootType,
1425                                                 const VkPipelineMultisampleStateCreateInfo* toCount,
1426                                                 size_t* count) {
1427     (void)featureBits;
1428     (void)rootType;
1429     (void)toCount;
1430     (void)count;
1431     *count += sizeof(VkStructureType);
1432     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1433         rootType = toCount->sType;
1434     }
1435     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1436     *count += sizeof(VkPipelineMultisampleStateCreateFlags);
1437     *count += sizeof(VkSampleCountFlagBits);
1438     *count += sizeof(VkBool32);
1439     *count += sizeof(float);
1440     // WARNING PTR CHECK
1441     *count += 8;
1442     if (toCount->pSampleMask) {
1443         if (toCount) {
1444             *count += (((toCount->rasterizationSamples) + 31) / 32) * sizeof(const VkSampleMask);
1445         }
1446     }
1447     *count += sizeof(VkBool32);
1448     *count += sizeof(VkBool32);
1449 }
1450 
count_VkStencilOpState(uint32_t featureBits,VkStructureType rootType,const VkStencilOpState * toCount,size_t * count)1451 void count_VkStencilOpState(uint32_t featureBits, VkStructureType rootType,
1452                             const VkStencilOpState* toCount, size_t* count) {
1453     (void)featureBits;
1454     (void)rootType;
1455     (void)toCount;
1456     (void)count;
1457     *count += sizeof(VkStencilOp);
1458     *count += sizeof(VkStencilOp);
1459     *count += sizeof(VkStencilOp);
1460     *count += sizeof(VkCompareOp);
1461     *count += sizeof(uint32_t);
1462     *count += sizeof(uint32_t);
1463     *count += sizeof(uint32_t);
1464 }
1465 
count_VkPipelineDepthStencilStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineDepthStencilStateCreateInfo * toCount,size_t * count)1466 void count_VkPipelineDepthStencilStateCreateInfo(
1467     uint32_t featureBits, VkStructureType rootType,
1468     const VkPipelineDepthStencilStateCreateInfo* toCount, size_t* count) {
1469     (void)featureBits;
1470     (void)rootType;
1471     (void)toCount;
1472     (void)count;
1473     *count += sizeof(VkStructureType);
1474     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1475         rootType = toCount->sType;
1476     }
1477     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1478     *count += sizeof(VkPipelineDepthStencilStateCreateFlags);
1479     *count += sizeof(VkBool32);
1480     *count += sizeof(VkBool32);
1481     *count += sizeof(VkCompareOp);
1482     *count += sizeof(VkBool32);
1483     *count += sizeof(VkBool32);
1484     count_VkStencilOpState(featureBits, rootType, (VkStencilOpState*)(&toCount->front), count);
1485     count_VkStencilOpState(featureBits, rootType, (VkStencilOpState*)(&toCount->back), count);
1486     *count += sizeof(float);
1487     *count += sizeof(float);
1488 }
1489 
count_VkPipelineColorBlendAttachmentState(uint32_t featureBits,VkStructureType rootType,const VkPipelineColorBlendAttachmentState * toCount,size_t * count)1490 void count_VkPipelineColorBlendAttachmentState(uint32_t featureBits, VkStructureType rootType,
1491                                                const VkPipelineColorBlendAttachmentState* toCount,
1492                                                size_t* count) {
1493     (void)featureBits;
1494     (void)rootType;
1495     (void)toCount;
1496     (void)count;
1497     *count += sizeof(VkBool32);
1498     *count += sizeof(VkBlendFactor);
1499     *count += sizeof(VkBlendFactor);
1500     *count += sizeof(VkBlendOp);
1501     *count += sizeof(VkBlendFactor);
1502     *count += sizeof(VkBlendFactor);
1503     *count += sizeof(VkBlendOp);
1504     *count += sizeof(VkColorComponentFlags);
1505 }
1506 
count_VkPipelineColorBlendStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineColorBlendStateCreateInfo * toCount,size_t * count)1507 void count_VkPipelineColorBlendStateCreateInfo(uint32_t featureBits, VkStructureType rootType,
1508                                                const VkPipelineColorBlendStateCreateInfo* toCount,
1509                                                size_t* count) {
1510     (void)featureBits;
1511     (void)rootType;
1512     (void)toCount;
1513     (void)count;
1514     *count += sizeof(VkStructureType);
1515     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1516         rootType = toCount->sType;
1517     }
1518     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1519     *count += sizeof(VkPipelineColorBlendStateCreateFlags);
1520     *count += sizeof(VkBool32);
1521     *count += sizeof(VkLogicOp);
1522     *count += sizeof(uint32_t);
1523     if (toCount) {
1524         for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i) {
1525             count_VkPipelineColorBlendAttachmentState(
1526                 featureBits, rootType,
1527                 (const VkPipelineColorBlendAttachmentState*)(toCount->pAttachments + i), count);
1528         }
1529     }
1530     *count += 4 * sizeof(float);
1531 }
1532 
count_VkPipelineDynamicStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineDynamicStateCreateInfo * toCount,size_t * count)1533 void count_VkPipelineDynamicStateCreateInfo(uint32_t featureBits, VkStructureType rootType,
1534                                             const VkPipelineDynamicStateCreateInfo* toCount,
1535                                             size_t* count) {
1536     (void)featureBits;
1537     (void)rootType;
1538     (void)toCount;
1539     (void)count;
1540     *count += sizeof(VkStructureType);
1541     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1542         rootType = toCount->sType;
1543     }
1544     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1545     *count += sizeof(VkPipelineDynamicStateCreateFlags);
1546     *count += sizeof(uint32_t);
1547     if (toCount) {
1548         *count += toCount->dynamicStateCount * sizeof(const VkDynamicState);
1549     }
1550 }
1551 
count_VkGraphicsPipelineCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkGraphicsPipelineCreateInfo * toCount,size_t * count)1552 void count_VkGraphicsPipelineCreateInfo(uint32_t featureBits, VkStructureType rootType,
1553                                         const VkGraphicsPipelineCreateInfo* toCount,
1554                                         size_t* count) {
1555     (void)featureBits;
1556     (void)rootType;
1557     (void)toCount;
1558     (void)count;
1559     uint32_t hasRasterization = 1;
1560     if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1561         hasRasterization =
1562             ((((0 == toCount->pRasterizationState))
1563                   ? (0)
1564                   : (!((*(toCount->pRasterizationState)).rasterizerDiscardEnable))) ||
1565              (((0 == toCount->pDynamicState))
1566                   ? (0)
1567                   : (arrayany((*(toCount->pDynamicState)).pDynamicStates, 0,
1568                               (*(toCount->pDynamicState)).dynamicStateCount, [](VkDynamicState s) {
1569                                   return (s == VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE);
1570                               }))));
1571     }
1572     uint32_t hasTessellation = 1;
1573     if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1574         hasTessellation = arrayany(
1575             toCount->pStages, 0, toCount->stageCount, [](VkPipelineShaderStageCreateInfo s) {
1576                 return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
1577                         (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
1578             });
1579         *count += 4;
1580     }
1581     *count += sizeof(VkStructureType);
1582     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1583         rootType = toCount->sType;
1584     }
1585     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1586     *count += sizeof(VkPipelineCreateFlags);
1587     *count += sizeof(uint32_t);
1588     if (toCount) {
1589         for (uint32_t i = 0; i < (uint32_t)toCount->stageCount; ++i) {
1590             count_VkPipelineShaderStageCreateInfo(
1591                 featureBits, rootType,
1592                 (const VkPipelineShaderStageCreateInfo*)(toCount->pStages + i), count);
1593         }
1594     }
1595     // WARNING PTR CHECK
1596     if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1597         *count += 8;
1598     }
1599     if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1600          toCount->pVertexInputState)) {
1601         count_VkPipelineVertexInputStateCreateInfo(
1602             featureBits, rootType,
1603             (const VkPipelineVertexInputStateCreateInfo*)(toCount->pVertexInputState), count);
1604     }
1605     // WARNING PTR CHECK
1606     if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1607         *count += 8;
1608     }
1609     if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1610          toCount->pInputAssemblyState)) {
1611         count_VkPipelineInputAssemblyStateCreateInfo(
1612             featureBits, rootType,
1613             (const VkPipelineInputAssemblyStateCreateInfo*)(toCount->pInputAssemblyState), count);
1614     }
1615     // WARNING PTR CHECK
1616     *count += 8;
1617     if (toCount->pTessellationState) {
1618         if (hasTessellation) {
1619             count_VkPipelineTessellationStateCreateInfo(
1620                 featureBits, rootType,
1621                 (const VkPipelineTessellationStateCreateInfo*)(toCount->pTessellationState), count);
1622         }
1623     }
1624     // WARNING PTR CHECK
1625     *count += 8;
1626     if (toCount->pViewportState) {
1627         if (hasRasterization) {
1628             count_VkPipelineViewportStateCreateInfo(
1629                 featureBits, rootType,
1630                 (const VkPipelineViewportStateCreateInfo*)(toCount->pViewportState), count);
1631         }
1632     }
1633     // WARNING PTR CHECK
1634     if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1635         *count += 8;
1636     }
1637     if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1638          toCount->pRasterizationState)) {
1639         count_VkPipelineRasterizationStateCreateInfo(
1640             featureBits, rootType,
1641             (const VkPipelineRasterizationStateCreateInfo*)(toCount->pRasterizationState), count);
1642     }
1643     // WARNING PTR CHECK
1644     *count += 8;
1645     if (toCount->pMultisampleState) {
1646         if (hasRasterization) {
1647             count_VkPipelineMultisampleStateCreateInfo(
1648                 featureBits, rootType,
1649                 (const VkPipelineMultisampleStateCreateInfo*)(toCount->pMultisampleState), count);
1650         }
1651     }
1652     // WARNING PTR CHECK
1653     *count += 8;
1654     if (toCount->pDepthStencilState) {
1655         if (hasRasterization) {
1656             count_VkPipelineDepthStencilStateCreateInfo(
1657                 featureBits, rootType,
1658                 (const VkPipelineDepthStencilStateCreateInfo*)(toCount->pDepthStencilState), count);
1659         }
1660     }
1661     // WARNING PTR CHECK
1662     *count += 8;
1663     if (toCount->pColorBlendState) {
1664         if (hasRasterization) {
1665             count_VkPipelineColorBlendStateCreateInfo(
1666                 featureBits, rootType,
1667                 (const VkPipelineColorBlendStateCreateInfo*)(toCount->pColorBlendState), count);
1668         }
1669     }
1670     // WARNING PTR CHECK
1671     *count += 8;
1672     if (toCount->pDynamicState) {
1673         count_VkPipelineDynamicStateCreateInfo(
1674             featureBits, rootType,
1675             (const VkPipelineDynamicStateCreateInfo*)(toCount->pDynamicState), count);
1676     }
1677     uint64_t cgen_var_0;
1678     *count += 1 * 8;
1679     uint64_t cgen_var_1;
1680     *count += 1 * 8;
1681     *count += sizeof(uint32_t);
1682     uint64_t cgen_var_2;
1683     *count += 1 * 8;
1684     *count += sizeof(int32_t);
1685 }
1686 
count_VkPushConstantRange(uint32_t featureBits,VkStructureType rootType,const VkPushConstantRange * toCount,size_t * count)1687 void count_VkPushConstantRange(uint32_t featureBits, VkStructureType rootType,
1688                                const VkPushConstantRange* toCount, size_t* count) {
1689     (void)featureBits;
1690     (void)rootType;
1691     (void)toCount;
1692     (void)count;
1693     *count += sizeof(VkShaderStageFlags);
1694     *count += sizeof(uint32_t);
1695     *count += sizeof(uint32_t);
1696 }
1697 
count_VkPipelineLayoutCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineLayoutCreateInfo * toCount,size_t * count)1698 void count_VkPipelineLayoutCreateInfo(uint32_t featureBits, VkStructureType rootType,
1699                                       const VkPipelineLayoutCreateInfo* toCount, size_t* count) {
1700     (void)featureBits;
1701     (void)rootType;
1702     (void)toCount;
1703     (void)count;
1704     *count += sizeof(VkStructureType);
1705     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1706         rootType = toCount->sType;
1707     }
1708     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1709     *count += sizeof(VkPipelineLayoutCreateFlags);
1710     *count += sizeof(uint32_t);
1711     if (toCount->setLayoutCount) {
1712         *count += toCount->setLayoutCount * 8;
1713     }
1714     *count += sizeof(uint32_t);
1715     if (toCount) {
1716         for (uint32_t i = 0; i < (uint32_t)toCount->pushConstantRangeCount; ++i) {
1717             count_VkPushConstantRange(
1718                 featureBits, rootType,
1719                 (const VkPushConstantRange*)(toCount->pPushConstantRanges + i), count);
1720         }
1721     }
1722 }
1723 
count_VkSamplerCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerCreateInfo * toCount,size_t * count)1724 void count_VkSamplerCreateInfo(uint32_t featureBits, VkStructureType rootType,
1725                                const VkSamplerCreateInfo* toCount, size_t* count) {
1726     (void)featureBits;
1727     (void)rootType;
1728     (void)toCount;
1729     (void)count;
1730     *count += sizeof(VkStructureType);
1731     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1732         rootType = toCount->sType;
1733     }
1734     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1735     *count += sizeof(VkSamplerCreateFlags);
1736     *count += sizeof(VkFilter);
1737     *count += sizeof(VkFilter);
1738     *count += sizeof(VkSamplerMipmapMode);
1739     *count += sizeof(VkSamplerAddressMode);
1740     *count += sizeof(VkSamplerAddressMode);
1741     *count += sizeof(VkSamplerAddressMode);
1742     *count += sizeof(float);
1743     *count += sizeof(VkBool32);
1744     *count += sizeof(float);
1745     *count += sizeof(VkBool32);
1746     *count += sizeof(VkCompareOp);
1747     *count += sizeof(float);
1748     *count += sizeof(float);
1749     *count += sizeof(VkBorderColor);
1750     *count += sizeof(VkBool32);
1751 }
1752 
count_VkCopyDescriptorSet(uint32_t featureBits,VkStructureType rootType,const VkCopyDescriptorSet * toCount,size_t * count)1753 void count_VkCopyDescriptorSet(uint32_t featureBits, VkStructureType rootType,
1754                                const VkCopyDescriptorSet* toCount, size_t* count) {
1755     (void)featureBits;
1756     (void)rootType;
1757     (void)toCount;
1758     (void)count;
1759     *count += sizeof(VkStructureType);
1760     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1761         rootType = toCount->sType;
1762     }
1763     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1764     uint64_t cgen_var_0;
1765     *count += 1 * 8;
1766     *count += sizeof(uint32_t);
1767     *count += sizeof(uint32_t);
1768     uint64_t cgen_var_1;
1769     *count += 1 * 8;
1770     *count += sizeof(uint32_t);
1771     *count += sizeof(uint32_t);
1772     *count += sizeof(uint32_t);
1773 }
1774 
count_VkDescriptorBufferInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorBufferInfo * toCount,size_t * count)1775 void count_VkDescriptorBufferInfo(uint32_t featureBits, VkStructureType rootType,
1776                                   const VkDescriptorBufferInfo* toCount, size_t* count) {
1777     (void)featureBits;
1778     (void)rootType;
1779     (void)toCount;
1780     (void)count;
1781     uint64_t cgen_var_0;
1782     *count += 1 * 8;
1783     *count += sizeof(VkDeviceSize);
1784     *count += sizeof(VkDeviceSize);
1785 }
1786 
count_VkDescriptorImageInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorImageInfo * toCount,size_t * count)1787 void count_VkDescriptorImageInfo(uint32_t featureBits, VkStructureType rootType,
1788                                  const VkDescriptorImageInfo* toCount, size_t* count) {
1789     (void)featureBits;
1790     (void)rootType;
1791     (void)toCount;
1792     (void)count;
1793     uint64_t cgen_var_0;
1794     *count += 1 * 8;
1795     uint64_t cgen_var_1;
1796     *count += 1 * 8;
1797     *count += sizeof(VkImageLayout);
1798 }
1799 
count_VkDescriptorPoolSize(uint32_t featureBits,VkStructureType rootType,const VkDescriptorPoolSize * toCount,size_t * count)1800 void count_VkDescriptorPoolSize(uint32_t featureBits, VkStructureType rootType,
1801                                 const VkDescriptorPoolSize* toCount, size_t* count) {
1802     (void)featureBits;
1803     (void)rootType;
1804     (void)toCount;
1805     (void)count;
1806     *count += sizeof(VkDescriptorType);
1807     *count += sizeof(uint32_t);
1808 }
1809 
count_VkDescriptorPoolCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorPoolCreateInfo * toCount,size_t * count)1810 void count_VkDescriptorPoolCreateInfo(uint32_t featureBits, VkStructureType rootType,
1811                                       const VkDescriptorPoolCreateInfo* toCount, size_t* count) {
1812     (void)featureBits;
1813     (void)rootType;
1814     (void)toCount;
1815     (void)count;
1816     *count += sizeof(VkStructureType);
1817     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1818         rootType = toCount->sType;
1819     }
1820     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1821     *count += sizeof(VkDescriptorPoolCreateFlags);
1822     *count += sizeof(uint32_t);
1823     *count += sizeof(uint32_t);
1824     if (toCount) {
1825         for (uint32_t i = 0; i < (uint32_t)toCount->poolSizeCount; ++i) {
1826             count_VkDescriptorPoolSize(featureBits, rootType,
1827                                        (const VkDescriptorPoolSize*)(toCount->pPoolSizes + i),
1828                                        count);
1829         }
1830     }
1831 }
1832 
count_VkDescriptorSetAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetAllocateInfo * toCount,size_t * count)1833 void count_VkDescriptorSetAllocateInfo(uint32_t featureBits, VkStructureType rootType,
1834                                        const VkDescriptorSetAllocateInfo* toCount, size_t* count) {
1835     (void)featureBits;
1836     (void)rootType;
1837     (void)toCount;
1838     (void)count;
1839     *count += sizeof(VkStructureType);
1840     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1841         rootType = toCount->sType;
1842     }
1843     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1844     uint64_t cgen_var_0;
1845     *count += 1 * 8;
1846     *count += sizeof(uint32_t);
1847     if (toCount->descriptorSetCount) {
1848         *count += toCount->descriptorSetCount * 8;
1849     }
1850 }
1851 
count_VkDescriptorSetLayoutBinding(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutBinding * toCount,size_t * count)1852 void count_VkDescriptorSetLayoutBinding(uint32_t featureBits, VkStructureType rootType,
1853                                         const VkDescriptorSetLayoutBinding* toCount,
1854                                         size_t* count) {
1855     (void)featureBits;
1856     (void)rootType;
1857     (void)toCount;
1858     (void)count;
1859     *count += sizeof(uint32_t);
1860     *count += sizeof(VkDescriptorType);
1861     *count += sizeof(uint32_t);
1862     *count += sizeof(VkShaderStageFlags);
1863     // WARNING PTR CHECK
1864     *count += 8;
1865     if (toCount->pImmutableSamplers) {
1866         if (toCount->descriptorCount) {
1867             *count += toCount->descriptorCount * 8;
1868         }
1869     }
1870 }
1871 
count_VkDescriptorSetLayoutCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutCreateInfo * toCount,size_t * count)1872 void count_VkDescriptorSetLayoutCreateInfo(uint32_t featureBits, VkStructureType rootType,
1873                                            const VkDescriptorSetLayoutCreateInfo* toCount,
1874                                            size_t* count) {
1875     (void)featureBits;
1876     (void)rootType;
1877     (void)toCount;
1878     (void)count;
1879     *count += sizeof(VkStructureType);
1880     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1881         rootType = toCount->sType;
1882     }
1883     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1884     *count += sizeof(VkDescriptorSetLayoutCreateFlags);
1885     *count += sizeof(uint32_t);
1886     if (toCount) {
1887         for (uint32_t i = 0; i < (uint32_t)toCount->bindingCount; ++i) {
1888             count_VkDescriptorSetLayoutBinding(
1889                 featureBits, rootType,
1890                 (const VkDescriptorSetLayoutBinding*)(toCount->pBindings + i), count);
1891         }
1892     }
1893 }
1894 
count_VkWriteDescriptorSet(uint32_t featureBits,VkStructureType rootType,const VkWriteDescriptorSet * toCount,size_t * count)1895 void count_VkWriteDescriptorSet(uint32_t featureBits, VkStructureType rootType,
1896                                 const VkWriteDescriptorSet* toCount, size_t* count) {
1897     (void)featureBits;
1898     (void)rootType;
1899     (void)toCount;
1900     (void)count;
1901     *count += sizeof(VkStructureType);
1902     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1903         rootType = toCount->sType;
1904     }
1905     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1906     uint64_t cgen_var_0;
1907     *count += 1 * 8;
1908     *count += sizeof(uint32_t);
1909     *count += sizeof(uint32_t);
1910     *count += sizeof(uint32_t);
1911     *count += sizeof(VkDescriptorType);
1912     // WARNING PTR CHECK
1913     *count += 8;
1914     if (toCount->pImageInfo) {
1915         if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1916              ((VK_DESCRIPTOR_TYPE_SAMPLER == toCount->descriptorType) ||
1917               (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == toCount->descriptorType) ||
1918               (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == toCount->descriptorType) ||
1919               (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == toCount->descriptorType) ||
1920               (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == toCount->descriptorType)))) {
1921             if (toCount) {
1922                 for (uint32_t i = 0; i < (uint32_t)toCount->descriptorCount; ++i) {
1923                     count_VkDescriptorImageInfo(
1924                         featureBits, rootType,
1925                         (const VkDescriptorImageInfo*)(toCount->pImageInfo + i), count);
1926                 }
1927             }
1928         }
1929     }
1930     // WARNING PTR CHECK
1931     *count += 8;
1932     if (toCount->pBufferInfo) {
1933         if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1934              ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == toCount->descriptorType) ||
1935               (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == toCount->descriptorType) ||
1936               (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == toCount->descriptorType) ||
1937               (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == toCount->descriptorType)))) {
1938             if (toCount) {
1939                 for (uint32_t i = 0; i < (uint32_t)toCount->descriptorCount; ++i) {
1940                     count_VkDescriptorBufferInfo(
1941                         featureBits, rootType,
1942                         (const VkDescriptorBufferInfo*)(toCount->pBufferInfo + i), count);
1943                 }
1944             }
1945         }
1946     }
1947     // WARNING PTR CHECK
1948     *count += 8;
1949     if (toCount->pTexelBufferView) {
1950         if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1951              ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == toCount->descriptorType) ||
1952               (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == toCount->descriptorType)))) {
1953             if (toCount->descriptorCount) {
1954                 *count += toCount->descriptorCount * 8;
1955             }
1956         }
1957     }
1958 }
1959 
count_VkAttachmentDescription(uint32_t featureBits,VkStructureType rootType,const VkAttachmentDescription * toCount,size_t * count)1960 void count_VkAttachmentDescription(uint32_t featureBits, VkStructureType rootType,
1961                                    const VkAttachmentDescription* toCount, size_t* count) {
1962     (void)featureBits;
1963     (void)rootType;
1964     (void)toCount;
1965     (void)count;
1966     *count += sizeof(VkAttachmentDescriptionFlags);
1967     *count += sizeof(VkFormat);
1968     *count += sizeof(VkSampleCountFlagBits);
1969     *count += sizeof(VkAttachmentLoadOp);
1970     *count += sizeof(VkAttachmentStoreOp);
1971     *count += sizeof(VkAttachmentLoadOp);
1972     *count += sizeof(VkAttachmentStoreOp);
1973     *count += sizeof(VkImageLayout);
1974     *count += sizeof(VkImageLayout);
1975 }
1976 
count_VkAttachmentReference(uint32_t featureBits,VkStructureType rootType,const VkAttachmentReference * toCount,size_t * count)1977 void count_VkAttachmentReference(uint32_t featureBits, VkStructureType rootType,
1978                                  const VkAttachmentReference* toCount, size_t* count) {
1979     (void)featureBits;
1980     (void)rootType;
1981     (void)toCount;
1982     (void)count;
1983     *count += sizeof(uint32_t);
1984     *count += sizeof(VkImageLayout);
1985 }
1986 
count_VkFramebufferCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkFramebufferCreateInfo * toCount,size_t * count)1987 void count_VkFramebufferCreateInfo(uint32_t featureBits, VkStructureType rootType,
1988                                    const VkFramebufferCreateInfo* toCount, size_t* count) {
1989     (void)featureBits;
1990     (void)rootType;
1991     (void)toCount;
1992     (void)count;
1993     *count += sizeof(VkStructureType);
1994     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1995         rootType = toCount->sType;
1996     }
1997     count_extension_struct(featureBits, rootType, toCount->pNext, count);
1998     *count += sizeof(VkFramebufferCreateFlags);
1999     uint64_t cgen_var_0;
2000     *count += 1 * 8;
2001     *count += sizeof(uint32_t);
2002     if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2003          (((toCount->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
2004         if (toCount->attachmentCount) {
2005             *count += toCount->attachmentCount * 8;
2006         }
2007     }
2008     *count += sizeof(uint32_t);
2009     *count += sizeof(uint32_t);
2010     *count += sizeof(uint32_t);
2011 }
2012 
count_VkSubpassDescription(uint32_t featureBits,VkStructureType rootType,const VkSubpassDescription * toCount,size_t * count)2013 void count_VkSubpassDescription(uint32_t featureBits, VkStructureType rootType,
2014                                 const VkSubpassDescription* toCount, size_t* count) {
2015     (void)featureBits;
2016     (void)rootType;
2017     (void)toCount;
2018     (void)count;
2019     *count += sizeof(VkSubpassDescriptionFlags);
2020     *count += sizeof(VkPipelineBindPoint);
2021     *count += sizeof(uint32_t);
2022     if (toCount) {
2023         for (uint32_t i = 0; i < (uint32_t)toCount->inputAttachmentCount; ++i) {
2024             count_VkAttachmentReference(
2025                 featureBits, rootType,
2026                 (const VkAttachmentReference*)(toCount->pInputAttachments + i), count);
2027         }
2028     }
2029     *count += sizeof(uint32_t);
2030     if (toCount) {
2031         for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
2032             count_VkAttachmentReference(
2033                 featureBits, rootType,
2034                 (const VkAttachmentReference*)(toCount->pColorAttachments + i), count);
2035         }
2036     }
2037     // WARNING PTR CHECK
2038     *count += 8;
2039     if (toCount->pResolveAttachments) {
2040         if (toCount) {
2041             for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
2042                 count_VkAttachmentReference(
2043                     featureBits, rootType,
2044                     (const VkAttachmentReference*)(toCount->pResolveAttachments + i), count);
2045             }
2046         }
2047     }
2048     // WARNING PTR CHECK
2049     *count += 8;
2050     if (toCount->pDepthStencilAttachment) {
2051         count_VkAttachmentReference(
2052             featureBits, rootType, (const VkAttachmentReference*)(toCount->pDepthStencilAttachment),
2053             count);
2054     }
2055     *count += sizeof(uint32_t);
2056     if (toCount) {
2057         *count += toCount->preserveAttachmentCount * sizeof(const uint32_t);
2058     }
2059 }
2060 
count_VkSubpassDependency(uint32_t featureBits,VkStructureType rootType,const VkSubpassDependency * toCount,size_t * count)2061 void count_VkSubpassDependency(uint32_t featureBits, VkStructureType rootType,
2062                                const VkSubpassDependency* toCount, size_t* count) {
2063     (void)featureBits;
2064     (void)rootType;
2065     (void)toCount;
2066     (void)count;
2067     *count += sizeof(uint32_t);
2068     *count += sizeof(uint32_t);
2069     *count += sizeof(VkPipelineStageFlags);
2070     *count += sizeof(VkPipelineStageFlags);
2071     *count += sizeof(VkAccessFlags);
2072     *count += sizeof(VkAccessFlags);
2073     *count += sizeof(VkDependencyFlags);
2074 }
2075 
count_VkRenderPassCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreateInfo * toCount,size_t * count)2076 void count_VkRenderPassCreateInfo(uint32_t featureBits, VkStructureType rootType,
2077                                   const VkRenderPassCreateInfo* toCount, size_t* count) {
2078     (void)featureBits;
2079     (void)rootType;
2080     (void)toCount;
2081     (void)count;
2082     *count += sizeof(VkStructureType);
2083     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2084         rootType = toCount->sType;
2085     }
2086     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2087     *count += sizeof(VkRenderPassCreateFlags);
2088     *count += sizeof(uint32_t);
2089     if (toCount) {
2090         for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i) {
2091             count_VkAttachmentDescription(
2092                 featureBits, rootType, (const VkAttachmentDescription*)(toCount->pAttachments + i),
2093                 count);
2094         }
2095     }
2096     *count += sizeof(uint32_t);
2097     if (toCount) {
2098         for (uint32_t i = 0; i < (uint32_t)toCount->subpassCount; ++i) {
2099             count_VkSubpassDescription(featureBits, rootType,
2100                                        (const VkSubpassDescription*)(toCount->pSubpasses + i),
2101                                        count);
2102         }
2103     }
2104     *count += sizeof(uint32_t);
2105     if (toCount) {
2106         for (uint32_t i = 0; i < (uint32_t)toCount->dependencyCount; ++i) {
2107             count_VkSubpassDependency(featureBits, rootType,
2108                                       (const VkSubpassDependency*)(toCount->pDependencies + i),
2109                                       count);
2110         }
2111     }
2112 }
2113 
count_VkCommandPoolCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandPoolCreateInfo * toCount,size_t * count)2114 void count_VkCommandPoolCreateInfo(uint32_t featureBits, VkStructureType rootType,
2115                                    const VkCommandPoolCreateInfo* toCount, size_t* count) {
2116     (void)featureBits;
2117     (void)rootType;
2118     (void)toCount;
2119     (void)count;
2120     *count += sizeof(VkStructureType);
2121     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2122         rootType = toCount->sType;
2123     }
2124     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2125     *count += sizeof(VkCommandPoolCreateFlags);
2126     *count += sizeof(uint32_t);
2127 }
2128 
count_VkCommandBufferAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferAllocateInfo * toCount,size_t * count)2129 void count_VkCommandBufferAllocateInfo(uint32_t featureBits, VkStructureType rootType,
2130                                        const VkCommandBufferAllocateInfo* toCount, size_t* count) {
2131     (void)featureBits;
2132     (void)rootType;
2133     (void)toCount;
2134     (void)count;
2135     *count += sizeof(VkStructureType);
2136     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2137         rootType = toCount->sType;
2138     }
2139     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2140     uint64_t cgen_var_0;
2141     *count += 1 * 8;
2142     *count += sizeof(VkCommandBufferLevel);
2143     *count += sizeof(uint32_t);
2144 }
2145 
count_VkCommandBufferInheritanceInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceInfo * toCount,size_t * count)2146 void count_VkCommandBufferInheritanceInfo(uint32_t featureBits, VkStructureType rootType,
2147                                           const VkCommandBufferInheritanceInfo* toCount,
2148                                           size_t* count) {
2149     (void)featureBits;
2150     (void)rootType;
2151     (void)toCount;
2152     (void)count;
2153     *count += sizeof(VkStructureType);
2154     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2155         rootType = toCount->sType;
2156     }
2157     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2158     uint64_t cgen_var_0;
2159     *count += 1 * 8;
2160     *count += sizeof(uint32_t);
2161     uint64_t cgen_var_1;
2162     *count += 1 * 8;
2163     *count += sizeof(VkBool32);
2164     *count += sizeof(VkQueryControlFlags);
2165     *count += sizeof(VkQueryPipelineStatisticFlags);
2166 }
2167 
count_VkCommandBufferBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferBeginInfo * toCount,size_t * count)2168 void count_VkCommandBufferBeginInfo(uint32_t featureBits, VkStructureType rootType,
2169                                     const VkCommandBufferBeginInfo* toCount, size_t* count) {
2170     (void)featureBits;
2171     (void)rootType;
2172     (void)toCount;
2173     (void)count;
2174     *count += sizeof(VkStructureType);
2175     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2176         rootType = toCount->sType;
2177     }
2178     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2179     *count += sizeof(VkCommandBufferUsageFlags);
2180     // WARNING PTR CHECK
2181     *count += 8;
2182     if (toCount->pInheritanceInfo) {
2183         count_VkCommandBufferInheritanceInfo(
2184             featureBits, rootType,
2185             (const VkCommandBufferInheritanceInfo*)(toCount->pInheritanceInfo), count);
2186     }
2187 }
2188 
count_VkBufferCopy(uint32_t featureBits,VkStructureType rootType,const VkBufferCopy * toCount,size_t * count)2189 void count_VkBufferCopy(uint32_t featureBits, VkStructureType rootType, const VkBufferCopy* toCount,
2190                         size_t* count) {
2191     (void)featureBits;
2192     (void)rootType;
2193     (void)toCount;
2194     (void)count;
2195     *count += sizeof(VkDeviceSize);
2196     *count += sizeof(VkDeviceSize);
2197     *count += sizeof(VkDeviceSize);
2198 }
2199 
count_VkImageSubresourceLayers(uint32_t featureBits,VkStructureType rootType,const VkImageSubresourceLayers * toCount,size_t * count)2200 void count_VkImageSubresourceLayers(uint32_t featureBits, VkStructureType rootType,
2201                                     const VkImageSubresourceLayers* toCount, size_t* count) {
2202     (void)featureBits;
2203     (void)rootType;
2204     (void)toCount;
2205     (void)count;
2206     *count += sizeof(VkImageAspectFlags);
2207     *count += sizeof(uint32_t);
2208     *count += sizeof(uint32_t);
2209     *count += sizeof(uint32_t);
2210 }
2211 
count_VkBufferImageCopy(uint32_t featureBits,VkStructureType rootType,const VkBufferImageCopy * toCount,size_t * count)2212 void count_VkBufferImageCopy(uint32_t featureBits, VkStructureType rootType,
2213                              const VkBufferImageCopy* toCount, size_t* count) {
2214     (void)featureBits;
2215     (void)rootType;
2216     (void)toCount;
2217     (void)count;
2218     *count += sizeof(VkDeviceSize);
2219     *count += sizeof(uint32_t);
2220     *count += sizeof(uint32_t);
2221     count_VkImageSubresourceLayers(featureBits, rootType,
2222                                    (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
2223     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
2224     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
2225 }
2226 
count_VkClearColorValue(uint32_t featureBits,VkStructureType rootType,const VkClearColorValue * toCount,size_t * count)2227 void count_VkClearColorValue(uint32_t featureBits, VkStructureType rootType,
2228                              const VkClearColorValue* toCount, size_t* count) {
2229     (void)featureBits;
2230     (void)rootType;
2231     (void)toCount;
2232     (void)count;
2233     *count += 4 * sizeof(float);
2234 }
2235 
count_VkClearDepthStencilValue(uint32_t featureBits,VkStructureType rootType,const VkClearDepthStencilValue * toCount,size_t * count)2236 void count_VkClearDepthStencilValue(uint32_t featureBits, VkStructureType rootType,
2237                                     const VkClearDepthStencilValue* toCount, size_t* count) {
2238     (void)featureBits;
2239     (void)rootType;
2240     (void)toCount;
2241     (void)count;
2242     *count += sizeof(float);
2243     *count += sizeof(uint32_t);
2244 }
2245 
count_VkClearValue(uint32_t featureBits,VkStructureType rootType,const VkClearValue * toCount,size_t * count)2246 void count_VkClearValue(uint32_t featureBits, VkStructureType rootType, const VkClearValue* toCount,
2247                         size_t* count) {
2248     (void)featureBits;
2249     (void)rootType;
2250     (void)toCount;
2251     (void)count;
2252     count_VkClearColorValue(featureBits, rootType, (VkClearColorValue*)(&toCount->color), count);
2253 }
2254 
count_VkClearAttachment(uint32_t featureBits,VkStructureType rootType,const VkClearAttachment * toCount,size_t * count)2255 void count_VkClearAttachment(uint32_t featureBits, VkStructureType rootType,
2256                              const VkClearAttachment* toCount, size_t* count) {
2257     (void)featureBits;
2258     (void)rootType;
2259     (void)toCount;
2260     (void)count;
2261     *count += sizeof(VkImageAspectFlags);
2262     *count += sizeof(uint32_t);
2263     count_VkClearValue(featureBits, rootType, (VkClearValue*)(&toCount->clearValue), count);
2264 }
2265 
count_VkClearRect(uint32_t featureBits,VkStructureType rootType,const VkClearRect * toCount,size_t * count)2266 void count_VkClearRect(uint32_t featureBits, VkStructureType rootType, const VkClearRect* toCount,
2267                        size_t* count) {
2268     (void)featureBits;
2269     (void)rootType;
2270     (void)toCount;
2271     (void)count;
2272     count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->rect), count);
2273     *count += sizeof(uint32_t);
2274     *count += sizeof(uint32_t);
2275 }
2276 
count_VkImageBlit(uint32_t featureBits,VkStructureType rootType,const VkImageBlit * toCount,size_t * count)2277 void count_VkImageBlit(uint32_t featureBits, VkStructureType rootType, const VkImageBlit* toCount,
2278                        size_t* count) {
2279     (void)featureBits;
2280     (void)rootType;
2281     (void)toCount;
2282     (void)count;
2283     count_VkImageSubresourceLayers(featureBits, rootType,
2284                                    (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
2285     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
2286         count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->srcOffsets + i), count);
2287     }
2288     count_VkImageSubresourceLayers(featureBits, rootType,
2289                                    (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
2290     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
2291         count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->dstOffsets + i), count);
2292     }
2293 }
2294 
count_VkImageCopy(uint32_t featureBits,VkStructureType rootType,const VkImageCopy * toCount,size_t * count)2295 void count_VkImageCopy(uint32_t featureBits, VkStructureType rootType, const VkImageCopy* toCount,
2296                        size_t* count) {
2297     (void)featureBits;
2298     (void)rootType;
2299     (void)toCount;
2300     (void)count;
2301     count_VkImageSubresourceLayers(featureBits, rootType,
2302                                    (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
2303     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
2304     count_VkImageSubresourceLayers(featureBits, rootType,
2305                                    (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
2306     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
2307     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
2308 }
2309 
count_VkImageResolve(uint32_t featureBits,VkStructureType rootType,const VkImageResolve * toCount,size_t * count)2310 void count_VkImageResolve(uint32_t featureBits, VkStructureType rootType,
2311                           const VkImageResolve* toCount, size_t* count) {
2312     (void)featureBits;
2313     (void)rootType;
2314     (void)toCount;
2315     (void)count;
2316     count_VkImageSubresourceLayers(featureBits, rootType,
2317                                    (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
2318     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
2319     count_VkImageSubresourceLayers(featureBits, rootType,
2320                                    (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
2321     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
2322     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
2323 }
2324 
count_VkRenderPassBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassBeginInfo * toCount,size_t * count)2325 void count_VkRenderPassBeginInfo(uint32_t featureBits, VkStructureType rootType,
2326                                  const VkRenderPassBeginInfo* toCount, size_t* count) {
2327     (void)featureBits;
2328     (void)rootType;
2329     (void)toCount;
2330     (void)count;
2331     *count += sizeof(VkStructureType);
2332     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2333         rootType = toCount->sType;
2334     }
2335     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2336     uint64_t cgen_var_0;
2337     *count += 1 * 8;
2338     uint64_t cgen_var_1;
2339     *count += 1 * 8;
2340     count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->renderArea), count);
2341     *count += sizeof(uint32_t);
2342     // WARNING PTR CHECK
2343     *count += 8;
2344     if (toCount->pClearValues) {
2345         if (toCount) {
2346             for (uint32_t i = 0; i < (uint32_t)toCount->clearValueCount; ++i) {
2347                 count_VkClearValue(featureBits, rootType,
2348                                    (const VkClearValue*)(toCount->pClearValues + i), count);
2349             }
2350         }
2351     }
2352 }
2353 
2354 #endif
2355 #ifdef VK_VERSION_1_1
count_VkPhysicalDeviceSubgroupProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubgroupProperties * toCount,size_t * count)2356 void count_VkPhysicalDeviceSubgroupProperties(uint32_t featureBits, VkStructureType rootType,
2357                                               const VkPhysicalDeviceSubgroupProperties* toCount,
2358                                               size_t* count) {
2359     (void)featureBits;
2360     (void)rootType;
2361     (void)toCount;
2362     (void)count;
2363     *count += sizeof(VkStructureType);
2364     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2365         rootType = toCount->sType;
2366     }
2367     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2368     *count += sizeof(uint32_t);
2369     *count += sizeof(VkShaderStageFlags);
2370     *count += sizeof(VkSubgroupFeatureFlags);
2371     *count += sizeof(VkBool32);
2372 }
2373 
count_VkBindBufferMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkBindBufferMemoryInfo * toCount,size_t * count)2374 void count_VkBindBufferMemoryInfo(uint32_t featureBits, VkStructureType rootType,
2375                                   const VkBindBufferMemoryInfo* toCount, size_t* count) {
2376     (void)featureBits;
2377     (void)rootType;
2378     (void)toCount;
2379     (void)count;
2380     *count += sizeof(VkStructureType);
2381     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2382         rootType = toCount->sType;
2383     }
2384     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2385     uint64_t cgen_var_0;
2386     *count += 1 * 8;
2387     uint64_t cgen_var_1;
2388     *count += 1 * 8;
2389     *count += sizeof(VkDeviceSize);
2390 }
2391 
count_VkBindImageMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkBindImageMemoryInfo * toCount,size_t * count)2392 void count_VkBindImageMemoryInfo(uint32_t featureBits, VkStructureType rootType,
2393                                  const VkBindImageMemoryInfo* toCount, size_t* count) {
2394     (void)featureBits;
2395     (void)rootType;
2396     (void)toCount;
2397     (void)count;
2398     *count += sizeof(VkStructureType);
2399     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2400         rootType = toCount->sType;
2401     }
2402     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2403     uint64_t cgen_var_0;
2404     *count += 1 * 8;
2405     uint64_t cgen_var_1;
2406     *count += 1 * 8;
2407     *count += sizeof(VkDeviceSize);
2408 }
2409 
count_VkPhysicalDevice16BitStorageFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice16BitStorageFeatures * toCount,size_t * count)2410 void count_VkPhysicalDevice16BitStorageFeatures(uint32_t featureBits, VkStructureType rootType,
2411                                                 const VkPhysicalDevice16BitStorageFeatures* toCount,
2412                                                 size_t* count) {
2413     (void)featureBits;
2414     (void)rootType;
2415     (void)toCount;
2416     (void)count;
2417     *count += sizeof(VkStructureType);
2418     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2419         rootType = toCount->sType;
2420     }
2421     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2422     *count += sizeof(VkBool32);
2423     *count += sizeof(VkBool32);
2424     *count += sizeof(VkBool32);
2425     *count += sizeof(VkBool32);
2426 }
2427 
count_VkMemoryDedicatedRequirements(uint32_t featureBits,VkStructureType rootType,const VkMemoryDedicatedRequirements * toCount,size_t * count)2428 void count_VkMemoryDedicatedRequirements(uint32_t featureBits, VkStructureType rootType,
2429                                          const VkMemoryDedicatedRequirements* toCount,
2430                                          size_t* count) {
2431     (void)featureBits;
2432     (void)rootType;
2433     (void)toCount;
2434     (void)count;
2435     *count += sizeof(VkStructureType);
2436     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2437         rootType = toCount->sType;
2438     }
2439     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2440     *count += sizeof(VkBool32);
2441     *count += sizeof(VkBool32);
2442 }
2443 
count_VkMemoryDedicatedAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryDedicatedAllocateInfo * toCount,size_t * count)2444 void count_VkMemoryDedicatedAllocateInfo(uint32_t featureBits, VkStructureType rootType,
2445                                          const VkMemoryDedicatedAllocateInfo* toCount,
2446                                          size_t* count) {
2447     (void)featureBits;
2448     (void)rootType;
2449     (void)toCount;
2450     (void)count;
2451     *count += sizeof(VkStructureType);
2452     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2453         rootType = toCount->sType;
2454     }
2455     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2456     uint64_t cgen_var_0;
2457     *count += 1 * 8;
2458     uint64_t cgen_var_1;
2459     *count += 1 * 8;
2460 }
2461 
count_VkMemoryAllocateFlagsInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryAllocateFlagsInfo * toCount,size_t * count)2462 void count_VkMemoryAllocateFlagsInfo(uint32_t featureBits, VkStructureType rootType,
2463                                      const VkMemoryAllocateFlagsInfo* toCount, size_t* count) {
2464     (void)featureBits;
2465     (void)rootType;
2466     (void)toCount;
2467     (void)count;
2468     *count += sizeof(VkStructureType);
2469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2470         rootType = toCount->sType;
2471     }
2472     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2473     *count += sizeof(VkMemoryAllocateFlags);
2474     *count += sizeof(uint32_t);
2475 }
2476 
count_VkDeviceGroupRenderPassBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupRenderPassBeginInfo * toCount,size_t * count)2477 void count_VkDeviceGroupRenderPassBeginInfo(uint32_t featureBits, VkStructureType rootType,
2478                                             const VkDeviceGroupRenderPassBeginInfo* toCount,
2479                                             size_t* count) {
2480     (void)featureBits;
2481     (void)rootType;
2482     (void)toCount;
2483     (void)count;
2484     *count += sizeof(VkStructureType);
2485     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2486         rootType = toCount->sType;
2487     }
2488     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2489     *count += sizeof(uint32_t);
2490     *count += sizeof(uint32_t);
2491     if (toCount) {
2492         for (uint32_t i = 0; i < (uint32_t)toCount->deviceRenderAreaCount; ++i) {
2493             count_VkRect2D(featureBits, rootType,
2494                            (const VkRect2D*)(toCount->pDeviceRenderAreas + i), count);
2495         }
2496     }
2497 }
2498 
count_VkDeviceGroupCommandBufferBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupCommandBufferBeginInfo * toCount,size_t * count)2499 void count_VkDeviceGroupCommandBufferBeginInfo(uint32_t featureBits, VkStructureType rootType,
2500                                                const VkDeviceGroupCommandBufferBeginInfo* toCount,
2501                                                size_t* count) {
2502     (void)featureBits;
2503     (void)rootType;
2504     (void)toCount;
2505     (void)count;
2506     *count += sizeof(VkStructureType);
2507     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2508         rootType = toCount->sType;
2509     }
2510     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2511     *count += sizeof(uint32_t);
2512 }
2513 
count_VkDeviceGroupSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupSubmitInfo * toCount,size_t * count)2514 void count_VkDeviceGroupSubmitInfo(uint32_t featureBits, VkStructureType rootType,
2515                                    const VkDeviceGroupSubmitInfo* toCount, size_t* count) {
2516     (void)featureBits;
2517     (void)rootType;
2518     (void)toCount;
2519     (void)count;
2520     *count += sizeof(VkStructureType);
2521     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2522         rootType = toCount->sType;
2523     }
2524     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2525     *count += sizeof(uint32_t);
2526     if (toCount) {
2527         *count += toCount->waitSemaphoreCount * sizeof(const uint32_t);
2528     }
2529     *count += sizeof(uint32_t);
2530     if (toCount) {
2531         *count += toCount->commandBufferCount * sizeof(const uint32_t);
2532     }
2533     *count += sizeof(uint32_t);
2534     if (toCount) {
2535         *count += toCount->signalSemaphoreCount * sizeof(const uint32_t);
2536     }
2537 }
2538 
count_VkDeviceGroupBindSparseInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupBindSparseInfo * toCount,size_t * count)2539 void count_VkDeviceGroupBindSparseInfo(uint32_t featureBits, VkStructureType rootType,
2540                                        const VkDeviceGroupBindSparseInfo* toCount, size_t* count) {
2541     (void)featureBits;
2542     (void)rootType;
2543     (void)toCount;
2544     (void)count;
2545     *count += sizeof(VkStructureType);
2546     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2547         rootType = toCount->sType;
2548     }
2549     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2550     *count += sizeof(uint32_t);
2551     *count += sizeof(uint32_t);
2552 }
2553 
count_VkBindBufferMemoryDeviceGroupInfo(uint32_t featureBits,VkStructureType rootType,const VkBindBufferMemoryDeviceGroupInfo * toCount,size_t * count)2554 void count_VkBindBufferMemoryDeviceGroupInfo(uint32_t featureBits, VkStructureType rootType,
2555                                              const VkBindBufferMemoryDeviceGroupInfo* toCount,
2556                                              size_t* count) {
2557     (void)featureBits;
2558     (void)rootType;
2559     (void)toCount;
2560     (void)count;
2561     *count += sizeof(VkStructureType);
2562     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2563         rootType = toCount->sType;
2564     }
2565     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2566     *count += sizeof(uint32_t);
2567     if (toCount) {
2568         *count += toCount->deviceIndexCount * sizeof(const uint32_t);
2569     }
2570 }
2571 
count_VkBindImageMemoryDeviceGroupInfo(uint32_t featureBits,VkStructureType rootType,const VkBindImageMemoryDeviceGroupInfo * toCount,size_t * count)2572 void count_VkBindImageMemoryDeviceGroupInfo(uint32_t featureBits, VkStructureType rootType,
2573                                             const VkBindImageMemoryDeviceGroupInfo* toCount,
2574                                             size_t* count) {
2575     (void)featureBits;
2576     (void)rootType;
2577     (void)toCount;
2578     (void)count;
2579     *count += sizeof(VkStructureType);
2580     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2581         rootType = toCount->sType;
2582     }
2583     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2584     *count += sizeof(uint32_t);
2585     if (toCount) {
2586         *count += toCount->deviceIndexCount * sizeof(const uint32_t);
2587     }
2588     *count += sizeof(uint32_t);
2589     if (toCount) {
2590         for (uint32_t i = 0; i < (uint32_t)toCount->splitInstanceBindRegionCount; ++i) {
2591             count_VkRect2D(featureBits, rootType,
2592                            (const VkRect2D*)(toCount->pSplitInstanceBindRegions + i), count);
2593         }
2594     }
2595 }
2596 
count_VkPhysicalDeviceGroupProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGroupProperties * toCount,size_t * count)2597 void count_VkPhysicalDeviceGroupProperties(uint32_t featureBits, VkStructureType rootType,
2598                                            const VkPhysicalDeviceGroupProperties* toCount,
2599                                            size_t* count) {
2600     (void)featureBits;
2601     (void)rootType;
2602     (void)toCount;
2603     (void)count;
2604     *count += sizeof(VkStructureType);
2605     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2606         rootType = toCount->sType;
2607     }
2608     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2609     *count += sizeof(uint32_t);
2610     *count += VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice);
2611     *count += sizeof(VkBool32);
2612 }
2613 
count_VkDeviceGroupDeviceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupDeviceCreateInfo * toCount,size_t * count)2614 void count_VkDeviceGroupDeviceCreateInfo(uint32_t featureBits, VkStructureType rootType,
2615                                          const VkDeviceGroupDeviceCreateInfo* toCount,
2616                                          size_t* count) {
2617     (void)featureBits;
2618     (void)rootType;
2619     (void)toCount;
2620     (void)count;
2621     *count += sizeof(VkStructureType);
2622     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2623         rootType = toCount->sType;
2624     }
2625     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2626     *count += sizeof(uint32_t);
2627     if (toCount->physicalDeviceCount) {
2628         *count += toCount->physicalDeviceCount * 8;
2629     }
2630 }
2631 
count_VkBufferMemoryRequirementsInfo2(uint32_t featureBits,VkStructureType rootType,const VkBufferMemoryRequirementsInfo2 * toCount,size_t * count)2632 void count_VkBufferMemoryRequirementsInfo2(uint32_t featureBits, VkStructureType rootType,
2633                                            const VkBufferMemoryRequirementsInfo2* toCount,
2634                                            size_t* count) {
2635     (void)featureBits;
2636     (void)rootType;
2637     (void)toCount;
2638     (void)count;
2639     *count += sizeof(VkStructureType);
2640     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2641         rootType = toCount->sType;
2642     }
2643     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2644     uint64_t cgen_var_0;
2645     *count += 1 * 8;
2646 }
2647 
count_VkImageMemoryRequirementsInfo2(uint32_t featureBits,VkStructureType rootType,const VkImageMemoryRequirementsInfo2 * toCount,size_t * count)2648 void count_VkImageMemoryRequirementsInfo2(uint32_t featureBits, VkStructureType rootType,
2649                                           const VkImageMemoryRequirementsInfo2* toCount,
2650                                           size_t* count) {
2651     (void)featureBits;
2652     (void)rootType;
2653     (void)toCount;
2654     (void)count;
2655     *count += sizeof(VkStructureType);
2656     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2657         rootType = toCount->sType;
2658     }
2659     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2660     uint64_t cgen_var_0;
2661     *count += 1 * 8;
2662 }
2663 
count_VkImageSparseMemoryRequirementsInfo2(uint32_t featureBits,VkStructureType rootType,const VkImageSparseMemoryRequirementsInfo2 * toCount,size_t * count)2664 void count_VkImageSparseMemoryRequirementsInfo2(uint32_t featureBits, VkStructureType rootType,
2665                                                 const VkImageSparseMemoryRequirementsInfo2* toCount,
2666                                                 size_t* count) {
2667     (void)featureBits;
2668     (void)rootType;
2669     (void)toCount;
2670     (void)count;
2671     *count += sizeof(VkStructureType);
2672     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2673         rootType = toCount->sType;
2674     }
2675     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2676     uint64_t cgen_var_0;
2677     *count += 1 * 8;
2678 }
2679 
count_VkMemoryRequirements2(uint32_t featureBits,VkStructureType rootType,const VkMemoryRequirements2 * toCount,size_t * count)2680 void count_VkMemoryRequirements2(uint32_t featureBits, VkStructureType rootType,
2681                                  const VkMemoryRequirements2* toCount, size_t* count) {
2682     (void)featureBits;
2683     (void)rootType;
2684     (void)toCount;
2685     (void)count;
2686     *count += sizeof(VkStructureType);
2687     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2688         rootType = toCount->sType;
2689     }
2690     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2691     count_VkMemoryRequirements(featureBits, rootType,
2692                                (VkMemoryRequirements*)(&toCount->memoryRequirements), count);
2693 }
2694 
count_VkSparseImageMemoryRequirements2(uint32_t featureBits,VkStructureType rootType,const VkSparseImageMemoryRequirements2 * toCount,size_t * count)2695 void count_VkSparseImageMemoryRequirements2(uint32_t featureBits, VkStructureType rootType,
2696                                             const VkSparseImageMemoryRequirements2* toCount,
2697                                             size_t* count) {
2698     (void)featureBits;
2699     (void)rootType;
2700     (void)toCount;
2701     (void)count;
2702     *count += sizeof(VkStructureType);
2703     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2704         rootType = toCount->sType;
2705     }
2706     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2707     count_VkSparseImageMemoryRequirements(
2708         featureBits, rootType, (VkSparseImageMemoryRequirements*)(&toCount->memoryRequirements),
2709         count);
2710 }
2711 
count_VkPhysicalDeviceFeatures2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFeatures2 * toCount,size_t * count)2712 void count_VkPhysicalDeviceFeatures2(uint32_t featureBits, VkStructureType rootType,
2713                                      const VkPhysicalDeviceFeatures2* toCount, size_t* count) {
2714     (void)featureBits;
2715     (void)rootType;
2716     (void)toCount;
2717     (void)count;
2718     *count += sizeof(VkStructureType);
2719     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2720         rootType = toCount->sType;
2721     }
2722     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2723     count_VkPhysicalDeviceFeatures(featureBits, rootType,
2724                                    (VkPhysicalDeviceFeatures*)(&toCount->features), count);
2725 }
2726 
count_VkPhysicalDeviceProperties2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProperties2 * toCount,size_t * count)2727 void count_VkPhysicalDeviceProperties2(uint32_t featureBits, VkStructureType rootType,
2728                                        const VkPhysicalDeviceProperties2* toCount, size_t* count) {
2729     (void)featureBits;
2730     (void)rootType;
2731     (void)toCount;
2732     (void)count;
2733     *count += sizeof(VkStructureType);
2734     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2735         rootType = toCount->sType;
2736     }
2737     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2738     count_VkPhysicalDeviceProperties(featureBits, rootType,
2739                                      (VkPhysicalDeviceProperties*)(&toCount->properties), count);
2740 }
2741 
count_VkFormatProperties2(uint32_t featureBits,VkStructureType rootType,const VkFormatProperties2 * toCount,size_t * count)2742 void count_VkFormatProperties2(uint32_t featureBits, VkStructureType rootType,
2743                                const VkFormatProperties2* toCount, size_t* count) {
2744     (void)featureBits;
2745     (void)rootType;
2746     (void)toCount;
2747     (void)count;
2748     *count += sizeof(VkStructureType);
2749     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2750         rootType = toCount->sType;
2751     }
2752     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2753     count_VkFormatProperties(featureBits, rootType,
2754                              (VkFormatProperties*)(&toCount->formatProperties), count);
2755 }
2756 
count_VkImageFormatProperties2(uint32_t featureBits,VkStructureType rootType,const VkImageFormatProperties2 * toCount,size_t * count)2757 void count_VkImageFormatProperties2(uint32_t featureBits, VkStructureType rootType,
2758                                     const VkImageFormatProperties2* toCount, size_t* count) {
2759     (void)featureBits;
2760     (void)rootType;
2761     (void)toCount;
2762     (void)count;
2763     *count += sizeof(VkStructureType);
2764     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2765         rootType = toCount->sType;
2766     }
2767     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2768     count_VkImageFormatProperties(
2769         featureBits, rootType, (VkImageFormatProperties*)(&toCount->imageFormatProperties), count);
2770 }
2771 
count_VkPhysicalDeviceImageFormatInfo2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageFormatInfo2 * toCount,size_t * count)2772 void count_VkPhysicalDeviceImageFormatInfo2(uint32_t featureBits, VkStructureType rootType,
2773                                             const VkPhysicalDeviceImageFormatInfo2* toCount,
2774                                             size_t* count) {
2775     (void)featureBits;
2776     (void)rootType;
2777     (void)toCount;
2778     (void)count;
2779     *count += sizeof(VkStructureType);
2780     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2781         rootType = toCount->sType;
2782     }
2783     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2784     *count += sizeof(VkFormat);
2785     *count += sizeof(VkImageType);
2786     *count += sizeof(VkImageTiling);
2787     *count += sizeof(VkImageUsageFlags);
2788     *count += sizeof(VkImageCreateFlags);
2789 }
2790 
count_VkQueueFamilyProperties2(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyProperties2 * toCount,size_t * count)2791 void count_VkQueueFamilyProperties2(uint32_t featureBits, VkStructureType rootType,
2792                                     const VkQueueFamilyProperties2* toCount, size_t* count) {
2793     (void)featureBits;
2794     (void)rootType;
2795     (void)toCount;
2796     (void)count;
2797     *count += sizeof(VkStructureType);
2798     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2799         rootType = toCount->sType;
2800     }
2801     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2802     count_VkQueueFamilyProperties(
2803         featureBits, rootType, (VkQueueFamilyProperties*)(&toCount->queueFamilyProperties), count);
2804 }
2805 
count_VkPhysicalDeviceMemoryProperties2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties2 * toCount,size_t * count)2806 void count_VkPhysicalDeviceMemoryProperties2(uint32_t featureBits, VkStructureType rootType,
2807                                              const VkPhysicalDeviceMemoryProperties2* toCount,
2808                                              size_t* count) {
2809     (void)featureBits;
2810     (void)rootType;
2811     (void)toCount;
2812     (void)count;
2813     *count += sizeof(VkStructureType);
2814     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2815         rootType = toCount->sType;
2816     }
2817     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2818     count_VkPhysicalDeviceMemoryProperties(
2819         featureBits, rootType, (VkPhysicalDeviceMemoryProperties*)(&toCount->memoryProperties),
2820         count);
2821 }
2822 
count_VkSparseImageFormatProperties2(uint32_t featureBits,VkStructureType rootType,const VkSparseImageFormatProperties2 * toCount,size_t * count)2823 void count_VkSparseImageFormatProperties2(uint32_t featureBits, VkStructureType rootType,
2824                                           const VkSparseImageFormatProperties2* toCount,
2825                                           size_t* count) {
2826     (void)featureBits;
2827     (void)rootType;
2828     (void)toCount;
2829     (void)count;
2830     *count += sizeof(VkStructureType);
2831     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2832         rootType = toCount->sType;
2833     }
2834     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2835     count_VkSparseImageFormatProperties(
2836         featureBits, rootType, (VkSparseImageFormatProperties*)(&toCount->properties), count);
2837 }
2838 
count_VkPhysicalDeviceSparseImageFormatInfo2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSparseImageFormatInfo2 * toCount,size_t * count)2839 void count_VkPhysicalDeviceSparseImageFormatInfo2(
2840     uint32_t featureBits, VkStructureType rootType,
2841     const VkPhysicalDeviceSparseImageFormatInfo2* toCount, size_t* count) {
2842     (void)featureBits;
2843     (void)rootType;
2844     (void)toCount;
2845     (void)count;
2846     *count += sizeof(VkStructureType);
2847     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2848         rootType = toCount->sType;
2849     }
2850     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2851     *count += sizeof(VkFormat);
2852     *count += sizeof(VkImageType);
2853     *count += sizeof(VkSampleCountFlagBits);
2854     *count += sizeof(VkImageUsageFlags);
2855     *count += sizeof(VkImageTiling);
2856 }
2857 
count_VkPhysicalDevicePointClippingProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePointClippingProperties * toCount,size_t * count)2858 void count_VkPhysicalDevicePointClippingProperties(
2859     uint32_t featureBits, VkStructureType rootType,
2860     const VkPhysicalDevicePointClippingProperties* toCount, size_t* count) {
2861     (void)featureBits;
2862     (void)rootType;
2863     (void)toCount;
2864     (void)count;
2865     *count += sizeof(VkStructureType);
2866     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2867         rootType = toCount->sType;
2868     }
2869     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2870     *count += sizeof(VkPointClippingBehavior);
2871 }
2872 
count_VkInputAttachmentAspectReference(uint32_t featureBits,VkStructureType rootType,const VkInputAttachmentAspectReference * toCount,size_t * count)2873 void count_VkInputAttachmentAspectReference(uint32_t featureBits, VkStructureType rootType,
2874                                             const VkInputAttachmentAspectReference* toCount,
2875                                             size_t* count) {
2876     (void)featureBits;
2877     (void)rootType;
2878     (void)toCount;
2879     (void)count;
2880     *count += sizeof(uint32_t);
2881     *count += sizeof(uint32_t);
2882     *count += sizeof(VkImageAspectFlags);
2883 }
2884 
count_VkRenderPassInputAttachmentAspectCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassInputAttachmentAspectCreateInfo * toCount,size_t * count)2885 void count_VkRenderPassInputAttachmentAspectCreateInfo(
2886     uint32_t featureBits, VkStructureType rootType,
2887     const VkRenderPassInputAttachmentAspectCreateInfo* toCount, size_t* count) {
2888     (void)featureBits;
2889     (void)rootType;
2890     (void)toCount;
2891     (void)count;
2892     *count += sizeof(VkStructureType);
2893     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2894         rootType = toCount->sType;
2895     }
2896     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2897     *count += sizeof(uint32_t);
2898     if (toCount) {
2899         for (uint32_t i = 0; i < (uint32_t)toCount->aspectReferenceCount; ++i) {
2900             count_VkInputAttachmentAspectReference(
2901                 featureBits, rootType,
2902                 (const VkInputAttachmentAspectReference*)(toCount->pAspectReferences + i), count);
2903         }
2904     }
2905 }
2906 
count_VkImageViewUsageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageViewUsageCreateInfo * toCount,size_t * count)2907 void count_VkImageViewUsageCreateInfo(uint32_t featureBits, VkStructureType rootType,
2908                                       const VkImageViewUsageCreateInfo* toCount, size_t* count) {
2909     (void)featureBits;
2910     (void)rootType;
2911     (void)toCount;
2912     (void)count;
2913     *count += sizeof(VkStructureType);
2914     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2915         rootType = toCount->sType;
2916     }
2917     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2918     *count += sizeof(VkImageUsageFlags);
2919 }
2920 
count_VkPipelineTessellationDomainOriginStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineTessellationDomainOriginStateCreateInfo * toCount,size_t * count)2921 void count_VkPipelineTessellationDomainOriginStateCreateInfo(
2922     uint32_t featureBits, VkStructureType rootType,
2923     const VkPipelineTessellationDomainOriginStateCreateInfo* toCount, size_t* count) {
2924     (void)featureBits;
2925     (void)rootType;
2926     (void)toCount;
2927     (void)count;
2928     *count += sizeof(VkStructureType);
2929     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2930         rootType = toCount->sType;
2931     }
2932     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2933     *count += sizeof(VkTessellationDomainOrigin);
2934 }
2935 
count_VkRenderPassMultiviewCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassMultiviewCreateInfo * toCount,size_t * count)2936 void count_VkRenderPassMultiviewCreateInfo(uint32_t featureBits, VkStructureType rootType,
2937                                            const VkRenderPassMultiviewCreateInfo* toCount,
2938                                            size_t* count) {
2939     (void)featureBits;
2940     (void)rootType;
2941     (void)toCount;
2942     (void)count;
2943     *count += sizeof(VkStructureType);
2944     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2945         rootType = toCount->sType;
2946     }
2947     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2948     *count += sizeof(uint32_t);
2949     if (toCount) {
2950         *count += toCount->subpassCount * sizeof(const uint32_t);
2951     }
2952     *count += sizeof(uint32_t);
2953     if (toCount) {
2954         *count += toCount->dependencyCount * sizeof(const int32_t);
2955     }
2956     *count += sizeof(uint32_t);
2957     if (toCount) {
2958         *count += toCount->correlationMaskCount * sizeof(const uint32_t);
2959     }
2960 }
2961 
count_VkPhysicalDeviceMultiviewFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewFeatures * toCount,size_t * count)2962 void count_VkPhysicalDeviceMultiviewFeatures(uint32_t featureBits, VkStructureType rootType,
2963                                              const VkPhysicalDeviceMultiviewFeatures* toCount,
2964                                              size_t* count) {
2965     (void)featureBits;
2966     (void)rootType;
2967     (void)toCount;
2968     (void)count;
2969     *count += sizeof(VkStructureType);
2970     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2971         rootType = toCount->sType;
2972     }
2973     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2974     *count += sizeof(VkBool32);
2975     *count += sizeof(VkBool32);
2976     *count += sizeof(VkBool32);
2977 }
2978 
count_VkPhysicalDeviceMultiviewProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewProperties * toCount,size_t * count)2979 void count_VkPhysicalDeviceMultiviewProperties(uint32_t featureBits, VkStructureType rootType,
2980                                                const VkPhysicalDeviceMultiviewProperties* toCount,
2981                                                size_t* count) {
2982     (void)featureBits;
2983     (void)rootType;
2984     (void)toCount;
2985     (void)count;
2986     *count += sizeof(VkStructureType);
2987     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2988         rootType = toCount->sType;
2989     }
2990     count_extension_struct(featureBits, rootType, toCount->pNext, count);
2991     *count += sizeof(uint32_t);
2992     *count += sizeof(uint32_t);
2993 }
2994 
count_VkPhysicalDeviceVariablePointersFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVariablePointersFeatures * toCount,size_t * count)2995 void count_VkPhysicalDeviceVariablePointersFeatures(
2996     uint32_t featureBits, VkStructureType rootType,
2997     const VkPhysicalDeviceVariablePointersFeatures* toCount, size_t* count) {
2998     (void)featureBits;
2999     (void)rootType;
3000     (void)toCount;
3001     (void)count;
3002     *count += sizeof(VkStructureType);
3003     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3004         rootType = toCount->sType;
3005     }
3006     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3007     *count += sizeof(VkBool32);
3008     *count += sizeof(VkBool32);
3009 }
3010 
count_VkPhysicalDeviceProtectedMemoryFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryFeatures * toCount,size_t * count)3011 void count_VkPhysicalDeviceProtectedMemoryFeatures(
3012     uint32_t featureBits, VkStructureType rootType,
3013     const VkPhysicalDeviceProtectedMemoryFeatures* toCount, size_t* count) {
3014     (void)featureBits;
3015     (void)rootType;
3016     (void)toCount;
3017     (void)count;
3018     *count += sizeof(VkStructureType);
3019     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3020         rootType = toCount->sType;
3021     }
3022     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3023     *count += sizeof(VkBool32);
3024 }
3025 
count_VkPhysicalDeviceProtectedMemoryProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryProperties * toCount,size_t * count)3026 void count_VkPhysicalDeviceProtectedMemoryProperties(
3027     uint32_t featureBits, VkStructureType rootType,
3028     const VkPhysicalDeviceProtectedMemoryProperties* toCount, size_t* count) {
3029     (void)featureBits;
3030     (void)rootType;
3031     (void)toCount;
3032     (void)count;
3033     *count += sizeof(VkStructureType);
3034     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3035         rootType = toCount->sType;
3036     }
3037     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3038     *count += sizeof(VkBool32);
3039 }
3040 
count_VkDeviceQueueInfo2(uint32_t featureBits,VkStructureType rootType,const VkDeviceQueueInfo2 * toCount,size_t * count)3041 void count_VkDeviceQueueInfo2(uint32_t featureBits, VkStructureType rootType,
3042                               const VkDeviceQueueInfo2* toCount, size_t* count) {
3043     (void)featureBits;
3044     (void)rootType;
3045     (void)toCount;
3046     (void)count;
3047     *count += sizeof(VkStructureType);
3048     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3049         rootType = toCount->sType;
3050     }
3051     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3052     *count += sizeof(VkDeviceQueueCreateFlags);
3053     *count += sizeof(uint32_t);
3054     *count += sizeof(uint32_t);
3055 }
3056 
count_VkProtectedSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkProtectedSubmitInfo * toCount,size_t * count)3057 void count_VkProtectedSubmitInfo(uint32_t featureBits, VkStructureType rootType,
3058                                  const VkProtectedSubmitInfo* toCount, size_t* count) {
3059     (void)featureBits;
3060     (void)rootType;
3061     (void)toCount;
3062     (void)count;
3063     *count += sizeof(VkStructureType);
3064     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3065         rootType = toCount->sType;
3066     }
3067     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3068     *count += sizeof(VkBool32);
3069 }
3070 
count_VkSamplerYcbcrConversionCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerYcbcrConversionCreateInfo * toCount,size_t * count)3071 void count_VkSamplerYcbcrConversionCreateInfo(uint32_t featureBits, VkStructureType rootType,
3072                                               const VkSamplerYcbcrConversionCreateInfo* toCount,
3073                                               size_t* count) {
3074     (void)featureBits;
3075     (void)rootType;
3076     (void)toCount;
3077     (void)count;
3078     *count += sizeof(VkStructureType);
3079     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3080         rootType = toCount->sType;
3081     }
3082     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3083     *count += sizeof(VkFormat);
3084     *count += sizeof(VkSamplerYcbcrModelConversion);
3085     *count += sizeof(VkSamplerYcbcrRange);
3086     count_VkComponentMapping(featureBits, rootType, (VkComponentMapping*)(&toCount->components),
3087                              count);
3088     *count += sizeof(VkChromaLocation);
3089     *count += sizeof(VkChromaLocation);
3090     *count += sizeof(VkFilter);
3091     *count += sizeof(VkBool32);
3092 }
3093 
count_VkSamplerYcbcrConversionInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerYcbcrConversionInfo * toCount,size_t * count)3094 void count_VkSamplerYcbcrConversionInfo(uint32_t featureBits, VkStructureType rootType,
3095                                         const VkSamplerYcbcrConversionInfo* toCount,
3096                                         size_t* count) {
3097     (void)featureBits;
3098     (void)rootType;
3099     (void)toCount;
3100     (void)count;
3101     *count += sizeof(VkStructureType);
3102     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3103         rootType = toCount->sType;
3104     }
3105     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3106     uint64_t cgen_var_0;
3107     *count += 1 * 8;
3108 }
3109 
count_VkBindImagePlaneMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkBindImagePlaneMemoryInfo * toCount,size_t * count)3110 void count_VkBindImagePlaneMemoryInfo(uint32_t featureBits, VkStructureType rootType,
3111                                       const VkBindImagePlaneMemoryInfo* toCount, size_t* count) {
3112     (void)featureBits;
3113     (void)rootType;
3114     (void)toCount;
3115     (void)count;
3116     *count += sizeof(VkStructureType);
3117     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3118         rootType = toCount->sType;
3119     }
3120     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3121     *count += sizeof(VkImageAspectFlagBits);
3122 }
3123 
count_VkImagePlaneMemoryRequirementsInfo(uint32_t featureBits,VkStructureType rootType,const VkImagePlaneMemoryRequirementsInfo * toCount,size_t * count)3124 void count_VkImagePlaneMemoryRequirementsInfo(uint32_t featureBits, VkStructureType rootType,
3125                                               const VkImagePlaneMemoryRequirementsInfo* toCount,
3126                                               size_t* count) {
3127     (void)featureBits;
3128     (void)rootType;
3129     (void)toCount;
3130     (void)count;
3131     *count += sizeof(VkStructureType);
3132     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3133         rootType = toCount->sType;
3134     }
3135     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3136     *count += sizeof(VkImageAspectFlagBits);
3137 }
3138 
count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * toCount,size_t * count)3139 void count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
3140     uint32_t featureBits, VkStructureType rootType,
3141     const VkPhysicalDeviceSamplerYcbcrConversionFeatures* toCount, size_t* count) {
3142     (void)featureBits;
3143     (void)rootType;
3144     (void)toCount;
3145     (void)count;
3146     *count += sizeof(VkStructureType);
3147     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3148         rootType = toCount->sType;
3149     }
3150     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3151     *count += sizeof(VkBool32);
3152 }
3153 
count_VkSamplerYcbcrConversionImageFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkSamplerYcbcrConversionImageFormatProperties * toCount,size_t * count)3154 void count_VkSamplerYcbcrConversionImageFormatProperties(
3155     uint32_t featureBits, VkStructureType rootType,
3156     const VkSamplerYcbcrConversionImageFormatProperties* toCount, size_t* count) {
3157     (void)featureBits;
3158     (void)rootType;
3159     (void)toCount;
3160     (void)count;
3161     *count += sizeof(VkStructureType);
3162     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3163         rootType = toCount->sType;
3164     }
3165     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3166     *count += sizeof(uint32_t);
3167 }
3168 
count_VkDescriptorUpdateTemplateEntry(uint32_t featureBits,VkStructureType rootType,const VkDescriptorUpdateTemplateEntry * toCount,size_t * count)3169 void count_VkDescriptorUpdateTemplateEntry(uint32_t featureBits, VkStructureType rootType,
3170                                            const VkDescriptorUpdateTemplateEntry* toCount,
3171                                            size_t* count) {
3172     (void)featureBits;
3173     (void)rootType;
3174     (void)toCount;
3175     (void)count;
3176     *count += sizeof(uint32_t);
3177     *count += sizeof(uint32_t);
3178     *count += sizeof(uint32_t);
3179     *count += sizeof(VkDescriptorType);
3180     *count += 8;
3181     *count += 8;
3182 }
3183 
count_VkDescriptorUpdateTemplateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorUpdateTemplateCreateInfo * toCount,size_t * count)3184 void count_VkDescriptorUpdateTemplateCreateInfo(uint32_t featureBits, VkStructureType rootType,
3185                                                 const VkDescriptorUpdateTemplateCreateInfo* toCount,
3186                                                 size_t* count) {
3187     (void)featureBits;
3188     (void)rootType;
3189     (void)toCount;
3190     (void)count;
3191     *count += sizeof(VkStructureType);
3192     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3193         rootType = toCount->sType;
3194     }
3195     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3196     *count += sizeof(VkDescriptorUpdateTemplateCreateFlags);
3197     *count += sizeof(uint32_t);
3198     if (toCount) {
3199         for (uint32_t i = 0; i < (uint32_t)toCount->descriptorUpdateEntryCount; ++i) {
3200             count_VkDescriptorUpdateTemplateEntry(
3201                 featureBits, rootType,
3202                 (const VkDescriptorUpdateTemplateEntry*)(toCount->pDescriptorUpdateEntries + i),
3203                 count);
3204         }
3205     }
3206     *count += sizeof(VkDescriptorUpdateTemplateType);
3207     uint64_t cgen_var_0;
3208     *count += 1 * 8;
3209     *count += sizeof(VkPipelineBindPoint);
3210     uint64_t cgen_var_1;
3211     *count += 1 * 8;
3212     *count += sizeof(uint32_t);
3213 }
3214 
count_VkExternalMemoryProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryProperties * toCount,size_t * count)3215 void count_VkExternalMemoryProperties(uint32_t featureBits, VkStructureType rootType,
3216                                       const VkExternalMemoryProperties* toCount, size_t* count) {
3217     (void)featureBits;
3218     (void)rootType;
3219     (void)toCount;
3220     (void)count;
3221     *count += sizeof(VkExternalMemoryFeatureFlags);
3222     *count += sizeof(VkExternalMemoryHandleTypeFlags);
3223     *count += sizeof(VkExternalMemoryHandleTypeFlags);
3224 }
3225 
count_VkPhysicalDeviceExternalImageFormatInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalImageFormatInfo * toCount,size_t * count)3226 void count_VkPhysicalDeviceExternalImageFormatInfo(
3227     uint32_t featureBits, VkStructureType rootType,
3228     const VkPhysicalDeviceExternalImageFormatInfo* toCount, size_t* count) {
3229     (void)featureBits;
3230     (void)rootType;
3231     (void)toCount;
3232     (void)count;
3233     *count += sizeof(VkStructureType);
3234     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3235         rootType = toCount->sType;
3236     }
3237     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3238     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
3239 }
3240 
count_VkExternalImageFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalImageFormatProperties * toCount,size_t * count)3241 void count_VkExternalImageFormatProperties(uint32_t featureBits, VkStructureType rootType,
3242                                            const VkExternalImageFormatProperties* toCount,
3243                                            size_t* count) {
3244     (void)featureBits;
3245     (void)rootType;
3246     (void)toCount;
3247     (void)count;
3248     *count += sizeof(VkStructureType);
3249     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3250         rootType = toCount->sType;
3251     }
3252     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3253     count_VkExternalMemoryProperties(
3254         featureBits, rootType, (VkExternalMemoryProperties*)(&toCount->externalMemoryProperties),
3255         count);
3256 }
3257 
count_VkPhysicalDeviceExternalBufferInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalBufferInfo * toCount,size_t * count)3258 void count_VkPhysicalDeviceExternalBufferInfo(uint32_t featureBits, VkStructureType rootType,
3259                                               const VkPhysicalDeviceExternalBufferInfo* toCount,
3260                                               size_t* count) {
3261     (void)featureBits;
3262     (void)rootType;
3263     (void)toCount;
3264     (void)count;
3265     *count += sizeof(VkStructureType);
3266     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3267         rootType = toCount->sType;
3268     }
3269     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3270     *count += sizeof(VkBufferCreateFlags);
3271     *count += sizeof(VkBufferUsageFlags);
3272     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
3273 }
3274 
count_VkExternalBufferProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalBufferProperties * toCount,size_t * count)3275 void count_VkExternalBufferProperties(uint32_t featureBits, VkStructureType rootType,
3276                                       const VkExternalBufferProperties* toCount, size_t* count) {
3277     (void)featureBits;
3278     (void)rootType;
3279     (void)toCount;
3280     (void)count;
3281     *count += sizeof(VkStructureType);
3282     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3283         rootType = toCount->sType;
3284     }
3285     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3286     count_VkExternalMemoryProperties(
3287         featureBits, rootType, (VkExternalMemoryProperties*)(&toCount->externalMemoryProperties),
3288         count);
3289 }
3290 
count_VkPhysicalDeviceIDProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceIDProperties * toCount,size_t * count)3291 void count_VkPhysicalDeviceIDProperties(uint32_t featureBits, VkStructureType rootType,
3292                                         const VkPhysicalDeviceIDProperties* toCount,
3293                                         size_t* count) {
3294     (void)featureBits;
3295     (void)rootType;
3296     (void)toCount;
3297     (void)count;
3298     *count += sizeof(VkStructureType);
3299     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3300         rootType = toCount->sType;
3301     }
3302     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3303     *count += VK_UUID_SIZE * sizeof(uint8_t);
3304     *count += VK_UUID_SIZE * sizeof(uint8_t);
3305     *count += VK_LUID_SIZE * sizeof(uint8_t);
3306     *count += sizeof(uint32_t);
3307     *count += sizeof(VkBool32);
3308 }
3309 
count_VkExternalMemoryImageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryImageCreateInfo * toCount,size_t * count)3310 void count_VkExternalMemoryImageCreateInfo(uint32_t featureBits, VkStructureType rootType,
3311                                            const VkExternalMemoryImageCreateInfo* toCount,
3312                                            size_t* count) {
3313     (void)featureBits;
3314     (void)rootType;
3315     (void)toCount;
3316     (void)count;
3317     *count += sizeof(VkStructureType);
3318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3319         rootType = toCount->sType;
3320     }
3321     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3322     *count += sizeof(VkExternalMemoryHandleTypeFlags);
3323 }
3324 
count_VkExternalMemoryBufferCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryBufferCreateInfo * toCount,size_t * count)3325 void count_VkExternalMemoryBufferCreateInfo(uint32_t featureBits, VkStructureType rootType,
3326                                             const VkExternalMemoryBufferCreateInfo* toCount,
3327                                             size_t* count) {
3328     (void)featureBits;
3329     (void)rootType;
3330     (void)toCount;
3331     (void)count;
3332     *count += sizeof(VkStructureType);
3333     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3334         rootType = toCount->sType;
3335     }
3336     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3337     *count += sizeof(VkExternalMemoryHandleTypeFlags);
3338 }
3339 
count_VkExportMemoryAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkExportMemoryAllocateInfo * toCount,size_t * count)3340 void count_VkExportMemoryAllocateInfo(uint32_t featureBits, VkStructureType rootType,
3341                                       const VkExportMemoryAllocateInfo* toCount, size_t* count) {
3342     (void)featureBits;
3343     (void)rootType;
3344     (void)toCount;
3345     (void)count;
3346     *count += sizeof(VkStructureType);
3347     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3348         rootType = toCount->sType;
3349     }
3350     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3351     *count += sizeof(VkExternalMemoryHandleTypeFlags);
3352 }
3353 
count_VkPhysicalDeviceExternalFenceInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalFenceInfo * toCount,size_t * count)3354 void count_VkPhysicalDeviceExternalFenceInfo(uint32_t featureBits, VkStructureType rootType,
3355                                              const VkPhysicalDeviceExternalFenceInfo* toCount,
3356                                              size_t* count) {
3357     (void)featureBits;
3358     (void)rootType;
3359     (void)toCount;
3360     (void)count;
3361     *count += sizeof(VkStructureType);
3362     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3363         rootType = toCount->sType;
3364     }
3365     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3366     *count += sizeof(VkExternalFenceHandleTypeFlagBits);
3367 }
3368 
count_VkExternalFenceProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalFenceProperties * toCount,size_t * count)3369 void count_VkExternalFenceProperties(uint32_t featureBits, VkStructureType rootType,
3370                                      const VkExternalFenceProperties* toCount, size_t* count) {
3371     (void)featureBits;
3372     (void)rootType;
3373     (void)toCount;
3374     (void)count;
3375     *count += sizeof(VkStructureType);
3376     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3377         rootType = toCount->sType;
3378     }
3379     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3380     *count += sizeof(VkExternalFenceHandleTypeFlags);
3381     *count += sizeof(VkExternalFenceHandleTypeFlags);
3382     *count += sizeof(VkExternalFenceFeatureFlags);
3383 }
3384 
count_VkExportFenceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExportFenceCreateInfo * toCount,size_t * count)3385 void count_VkExportFenceCreateInfo(uint32_t featureBits, VkStructureType rootType,
3386                                    const VkExportFenceCreateInfo* toCount, size_t* count) {
3387     (void)featureBits;
3388     (void)rootType;
3389     (void)toCount;
3390     (void)count;
3391     *count += sizeof(VkStructureType);
3392     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3393         rootType = toCount->sType;
3394     }
3395     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3396     *count += sizeof(VkExternalFenceHandleTypeFlags);
3397 }
3398 
count_VkExportSemaphoreCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExportSemaphoreCreateInfo * toCount,size_t * count)3399 void count_VkExportSemaphoreCreateInfo(uint32_t featureBits, VkStructureType rootType,
3400                                        const VkExportSemaphoreCreateInfo* toCount, size_t* count) {
3401     (void)featureBits;
3402     (void)rootType;
3403     (void)toCount;
3404     (void)count;
3405     *count += sizeof(VkStructureType);
3406     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3407         rootType = toCount->sType;
3408     }
3409     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3410     *count += sizeof(VkExternalSemaphoreHandleTypeFlags);
3411 }
3412 
count_VkPhysicalDeviceExternalSemaphoreInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalSemaphoreInfo * toCount,size_t * count)3413 void count_VkPhysicalDeviceExternalSemaphoreInfo(
3414     uint32_t featureBits, VkStructureType rootType,
3415     const VkPhysicalDeviceExternalSemaphoreInfo* toCount, size_t* count) {
3416     (void)featureBits;
3417     (void)rootType;
3418     (void)toCount;
3419     (void)count;
3420     *count += sizeof(VkStructureType);
3421     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3422         rootType = toCount->sType;
3423     }
3424     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3425     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
3426 }
3427 
count_VkExternalSemaphoreProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalSemaphoreProperties * toCount,size_t * count)3428 void count_VkExternalSemaphoreProperties(uint32_t featureBits, VkStructureType rootType,
3429                                          const VkExternalSemaphoreProperties* toCount,
3430                                          size_t* count) {
3431     (void)featureBits;
3432     (void)rootType;
3433     (void)toCount;
3434     (void)count;
3435     *count += sizeof(VkStructureType);
3436     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3437         rootType = toCount->sType;
3438     }
3439     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3440     *count += sizeof(VkExternalSemaphoreHandleTypeFlags);
3441     *count += sizeof(VkExternalSemaphoreHandleTypeFlags);
3442     *count += sizeof(VkExternalSemaphoreFeatureFlags);
3443 }
3444 
count_VkPhysicalDeviceMaintenance3Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance3Properties * toCount,size_t * count)3445 void count_VkPhysicalDeviceMaintenance3Properties(
3446     uint32_t featureBits, VkStructureType rootType,
3447     const VkPhysicalDeviceMaintenance3Properties* toCount, size_t* count) {
3448     (void)featureBits;
3449     (void)rootType;
3450     (void)toCount;
3451     (void)count;
3452     *count += sizeof(VkStructureType);
3453     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3454         rootType = toCount->sType;
3455     }
3456     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3457     *count += sizeof(uint32_t);
3458     *count += sizeof(VkDeviceSize);
3459 }
3460 
count_VkDescriptorSetLayoutSupport(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutSupport * toCount,size_t * count)3461 void count_VkDescriptorSetLayoutSupport(uint32_t featureBits, VkStructureType rootType,
3462                                         const VkDescriptorSetLayoutSupport* toCount,
3463                                         size_t* count) {
3464     (void)featureBits;
3465     (void)rootType;
3466     (void)toCount;
3467     (void)count;
3468     *count += sizeof(VkStructureType);
3469     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3470         rootType = toCount->sType;
3471     }
3472     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3473     *count += sizeof(VkBool32);
3474 }
3475 
count_VkPhysicalDeviceShaderDrawParametersFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderDrawParametersFeatures * toCount,size_t * count)3476 void count_VkPhysicalDeviceShaderDrawParametersFeatures(
3477     uint32_t featureBits, VkStructureType rootType,
3478     const VkPhysicalDeviceShaderDrawParametersFeatures* toCount, size_t* count) {
3479     (void)featureBits;
3480     (void)rootType;
3481     (void)toCount;
3482     (void)count;
3483     *count += sizeof(VkStructureType);
3484     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3485         rootType = toCount->sType;
3486     }
3487     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3488     *count += sizeof(VkBool32);
3489 }
3490 
3491 #endif
3492 #ifdef VK_VERSION_1_2
count_VkPhysicalDeviceVulkan11Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan11Features * toCount,size_t * count)3493 void count_VkPhysicalDeviceVulkan11Features(uint32_t featureBits, VkStructureType rootType,
3494                                             const VkPhysicalDeviceVulkan11Features* toCount,
3495                                             size_t* count) {
3496     (void)featureBits;
3497     (void)rootType;
3498     (void)toCount;
3499     (void)count;
3500     *count += sizeof(VkStructureType);
3501     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3502         rootType = toCount->sType;
3503     }
3504     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3505     *count += sizeof(VkBool32);
3506     *count += sizeof(VkBool32);
3507     *count += sizeof(VkBool32);
3508     *count += sizeof(VkBool32);
3509     *count += sizeof(VkBool32);
3510     *count += sizeof(VkBool32);
3511     *count += sizeof(VkBool32);
3512     *count += sizeof(VkBool32);
3513     *count += sizeof(VkBool32);
3514     *count += sizeof(VkBool32);
3515     *count += sizeof(VkBool32);
3516     *count += sizeof(VkBool32);
3517 }
3518 
count_VkPhysicalDeviceVulkan11Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan11Properties * toCount,size_t * count)3519 void count_VkPhysicalDeviceVulkan11Properties(uint32_t featureBits, VkStructureType rootType,
3520                                               const VkPhysicalDeviceVulkan11Properties* toCount,
3521                                               size_t* count) {
3522     (void)featureBits;
3523     (void)rootType;
3524     (void)toCount;
3525     (void)count;
3526     *count += sizeof(VkStructureType);
3527     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3528         rootType = toCount->sType;
3529     }
3530     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3531     *count += VK_UUID_SIZE * sizeof(uint8_t);
3532     *count += VK_UUID_SIZE * sizeof(uint8_t);
3533     *count += VK_LUID_SIZE * sizeof(uint8_t);
3534     *count += sizeof(uint32_t);
3535     *count += sizeof(VkBool32);
3536     *count += sizeof(uint32_t);
3537     *count += sizeof(VkShaderStageFlags);
3538     *count += sizeof(VkSubgroupFeatureFlags);
3539     *count += sizeof(VkBool32);
3540     *count += sizeof(VkPointClippingBehavior);
3541     *count += sizeof(uint32_t);
3542     *count += sizeof(uint32_t);
3543     *count += sizeof(VkBool32);
3544     *count += sizeof(uint32_t);
3545     *count += sizeof(VkDeviceSize);
3546 }
3547 
count_VkPhysicalDeviceVulkan12Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan12Features * toCount,size_t * count)3548 void count_VkPhysicalDeviceVulkan12Features(uint32_t featureBits, VkStructureType rootType,
3549                                             const VkPhysicalDeviceVulkan12Features* toCount,
3550                                             size_t* count) {
3551     (void)featureBits;
3552     (void)rootType;
3553     (void)toCount;
3554     (void)count;
3555     *count += sizeof(VkStructureType);
3556     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3557         rootType = toCount->sType;
3558     }
3559     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3560     *count += sizeof(VkBool32);
3561     *count += sizeof(VkBool32);
3562     *count += sizeof(VkBool32);
3563     *count += sizeof(VkBool32);
3564     *count += sizeof(VkBool32);
3565     *count += sizeof(VkBool32);
3566     *count += sizeof(VkBool32);
3567     *count += sizeof(VkBool32);
3568     *count += sizeof(VkBool32);
3569     *count += sizeof(VkBool32);
3570     *count += sizeof(VkBool32);
3571     *count += sizeof(VkBool32);
3572     *count += sizeof(VkBool32);
3573     *count += sizeof(VkBool32);
3574     *count += sizeof(VkBool32);
3575     *count += sizeof(VkBool32);
3576     *count += sizeof(VkBool32);
3577     *count += sizeof(VkBool32);
3578     *count += sizeof(VkBool32);
3579     *count += sizeof(VkBool32);
3580     *count += sizeof(VkBool32);
3581     *count += sizeof(VkBool32);
3582     *count += sizeof(VkBool32);
3583     *count += sizeof(VkBool32);
3584     *count += sizeof(VkBool32);
3585     *count += sizeof(VkBool32);
3586     *count += sizeof(VkBool32);
3587     *count += sizeof(VkBool32);
3588     *count += sizeof(VkBool32);
3589     *count += sizeof(VkBool32);
3590     *count += sizeof(VkBool32);
3591     *count += sizeof(VkBool32);
3592     *count += sizeof(VkBool32);
3593     *count += sizeof(VkBool32);
3594     *count += sizeof(VkBool32);
3595     *count += sizeof(VkBool32);
3596     *count += sizeof(VkBool32);
3597     *count += sizeof(VkBool32);
3598     *count += sizeof(VkBool32);
3599     *count += sizeof(VkBool32);
3600     *count += sizeof(VkBool32);
3601     *count += sizeof(VkBool32);
3602     *count += sizeof(VkBool32);
3603     *count += sizeof(VkBool32);
3604     *count += sizeof(VkBool32);
3605     *count += sizeof(VkBool32);
3606     *count += sizeof(VkBool32);
3607 }
3608 
count_VkConformanceVersion(uint32_t featureBits,VkStructureType rootType,const VkConformanceVersion * toCount,size_t * count)3609 void count_VkConformanceVersion(uint32_t featureBits, VkStructureType rootType,
3610                                 const VkConformanceVersion* toCount, size_t* count) {
3611     (void)featureBits;
3612     (void)rootType;
3613     (void)toCount;
3614     (void)count;
3615     *count += sizeof(uint8_t);
3616     *count += sizeof(uint8_t);
3617     *count += sizeof(uint8_t);
3618     *count += sizeof(uint8_t);
3619 }
3620 
count_VkPhysicalDeviceVulkan12Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan12Properties * toCount,size_t * count)3621 void count_VkPhysicalDeviceVulkan12Properties(uint32_t featureBits, VkStructureType rootType,
3622                                               const VkPhysicalDeviceVulkan12Properties* toCount,
3623                                               size_t* count) {
3624     (void)featureBits;
3625     (void)rootType;
3626     (void)toCount;
3627     (void)count;
3628     *count += sizeof(VkStructureType);
3629     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3630         rootType = toCount->sType;
3631     }
3632     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3633     *count += sizeof(VkDriverId);
3634     *count += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
3635     *count += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
3636     count_VkConformanceVersion(featureBits, rootType,
3637                                (VkConformanceVersion*)(&toCount->conformanceVersion), count);
3638     *count += sizeof(VkShaderFloatControlsIndependence);
3639     *count += sizeof(VkShaderFloatControlsIndependence);
3640     *count += sizeof(VkBool32);
3641     *count += sizeof(VkBool32);
3642     *count += sizeof(VkBool32);
3643     *count += sizeof(VkBool32);
3644     *count += sizeof(VkBool32);
3645     *count += sizeof(VkBool32);
3646     *count += sizeof(VkBool32);
3647     *count += sizeof(VkBool32);
3648     *count += sizeof(VkBool32);
3649     *count += sizeof(VkBool32);
3650     *count += sizeof(VkBool32);
3651     *count += sizeof(VkBool32);
3652     *count += sizeof(VkBool32);
3653     *count += sizeof(VkBool32);
3654     *count += sizeof(VkBool32);
3655     *count += sizeof(uint32_t);
3656     *count += sizeof(VkBool32);
3657     *count += sizeof(VkBool32);
3658     *count += sizeof(VkBool32);
3659     *count += sizeof(VkBool32);
3660     *count += sizeof(VkBool32);
3661     *count += sizeof(VkBool32);
3662     *count += sizeof(VkBool32);
3663     *count += sizeof(uint32_t);
3664     *count += sizeof(uint32_t);
3665     *count += sizeof(uint32_t);
3666     *count += sizeof(uint32_t);
3667     *count += sizeof(uint32_t);
3668     *count += sizeof(uint32_t);
3669     *count += sizeof(uint32_t);
3670     *count += sizeof(uint32_t);
3671     *count += sizeof(uint32_t);
3672     *count += sizeof(uint32_t);
3673     *count += sizeof(uint32_t);
3674     *count += sizeof(uint32_t);
3675     *count += sizeof(uint32_t);
3676     *count += sizeof(uint32_t);
3677     *count += sizeof(uint32_t);
3678     *count += sizeof(VkResolveModeFlags);
3679     *count += sizeof(VkResolveModeFlags);
3680     *count += sizeof(VkBool32);
3681     *count += sizeof(VkBool32);
3682     *count += sizeof(VkBool32);
3683     *count += sizeof(VkBool32);
3684     *count += sizeof(uint64_t);
3685     *count += sizeof(VkSampleCountFlags);
3686 }
3687 
count_VkImageFormatListCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageFormatListCreateInfo * toCount,size_t * count)3688 void count_VkImageFormatListCreateInfo(uint32_t featureBits, VkStructureType rootType,
3689                                        const VkImageFormatListCreateInfo* toCount, size_t* count) {
3690     (void)featureBits;
3691     (void)rootType;
3692     (void)toCount;
3693     (void)count;
3694     *count += sizeof(VkStructureType);
3695     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3696         rootType = toCount->sType;
3697     }
3698     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3699     *count += sizeof(uint32_t);
3700     if (toCount) {
3701         *count += toCount->viewFormatCount * sizeof(const VkFormat);
3702     }
3703 }
3704 
count_VkAttachmentDescription2(uint32_t featureBits,VkStructureType rootType,const VkAttachmentDescription2 * toCount,size_t * count)3705 void count_VkAttachmentDescription2(uint32_t featureBits, VkStructureType rootType,
3706                                     const VkAttachmentDescription2* toCount, size_t* count) {
3707     (void)featureBits;
3708     (void)rootType;
3709     (void)toCount;
3710     (void)count;
3711     *count += sizeof(VkStructureType);
3712     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3713         rootType = toCount->sType;
3714     }
3715     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3716     *count += sizeof(VkAttachmentDescriptionFlags);
3717     *count += sizeof(VkFormat);
3718     *count += sizeof(VkSampleCountFlagBits);
3719     *count += sizeof(VkAttachmentLoadOp);
3720     *count += sizeof(VkAttachmentStoreOp);
3721     *count += sizeof(VkAttachmentLoadOp);
3722     *count += sizeof(VkAttachmentStoreOp);
3723     *count += sizeof(VkImageLayout);
3724     *count += sizeof(VkImageLayout);
3725 }
3726 
count_VkAttachmentReference2(uint32_t featureBits,VkStructureType rootType,const VkAttachmentReference2 * toCount,size_t * count)3727 void count_VkAttachmentReference2(uint32_t featureBits, VkStructureType rootType,
3728                                   const VkAttachmentReference2* toCount, size_t* count) {
3729     (void)featureBits;
3730     (void)rootType;
3731     (void)toCount;
3732     (void)count;
3733     *count += sizeof(VkStructureType);
3734     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3735         rootType = toCount->sType;
3736     }
3737     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3738     *count += sizeof(uint32_t);
3739     *count += sizeof(VkImageLayout);
3740     *count += sizeof(VkImageAspectFlags);
3741 }
3742 
count_VkSubpassDescription2(uint32_t featureBits,VkStructureType rootType,const VkSubpassDescription2 * toCount,size_t * count)3743 void count_VkSubpassDescription2(uint32_t featureBits, VkStructureType rootType,
3744                                  const VkSubpassDescription2* toCount, size_t* count) {
3745     (void)featureBits;
3746     (void)rootType;
3747     (void)toCount;
3748     (void)count;
3749     *count += sizeof(VkStructureType);
3750     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3751         rootType = toCount->sType;
3752     }
3753     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3754     *count += sizeof(VkSubpassDescriptionFlags);
3755     *count += sizeof(VkPipelineBindPoint);
3756     *count += sizeof(uint32_t);
3757     *count += sizeof(uint32_t);
3758     if (toCount) {
3759         for (uint32_t i = 0; i < (uint32_t)toCount->inputAttachmentCount; ++i) {
3760             count_VkAttachmentReference2(
3761                 featureBits, rootType,
3762                 (const VkAttachmentReference2*)(toCount->pInputAttachments + i), count);
3763         }
3764     }
3765     *count += sizeof(uint32_t);
3766     if (toCount) {
3767         for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
3768             count_VkAttachmentReference2(
3769                 featureBits, rootType,
3770                 (const VkAttachmentReference2*)(toCount->pColorAttachments + i), count);
3771         }
3772     }
3773     // WARNING PTR CHECK
3774     *count += 8;
3775     if (toCount->pResolveAttachments) {
3776         if (toCount) {
3777             for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
3778                 count_VkAttachmentReference2(
3779                     featureBits, rootType,
3780                     (const VkAttachmentReference2*)(toCount->pResolveAttachments + i), count);
3781             }
3782         }
3783     }
3784     // WARNING PTR CHECK
3785     *count += 8;
3786     if (toCount->pDepthStencilAttachment) {
3787         count_VkAttachmentReference2(
3788             featureBits, rootType,
3789             (const VkAttachmentReference2*)(toCount->pDepthStencilAttachment), count);
3790     }
3791     *count += sizeof(uint32_t);
3792     if (toCount) {
3793         *count += toCount->preserveAttachmentCount * sizeof(const uint32_t);
3794     }
3795 }
3796 
count_VkSubpassDependency2(uint32_t featureBits,VkStructureType rootType,const VkSubpassDependency2 * toCount,size_t * count)3797 void count_VkSubpassDependency2(uint32_t featureBits, VkStructureType rootType,
3798                                 const VkSubpassDependency2* toCount, size_t* count) {
3799     (void)featureBits;
3800     (void)rootType;
3801     (void)toCount;
3802     (void)count;
3803     *count += sizeof(VkStructureType);
3804     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3805         rootType = toCount->sType;
3806     }
3807     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3808     *count += sizeof(uint32_t);
3809     *count += sizeof(uint32_t);
3810     *count += sizeof(VkPipelineStageFlags);
3811     *count += sizeof(VkPipelineStageFlags);
3812     *count += sizeof(VkAccessFlags);
3813     *count += sizeof(VkAccessFlags);
3814     *count += sizeof(VkDependencyFlags);
3815     *count += sizeof(int32_t);
3816 }
3817 
count_VkRenderPassCreateInfo2(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreateInfo2 * toCount,size_t * count)3818 void count_VkRenderPassCreateInfo2(uint32_t featureBits, VkStructureType rootType,
3819                                    const VkRenderPassCreateInfo2* toCount, size_t* count) {
3820     (void)featureBits;
3821     (void)rootType;
3822     (void)toCount;
3823     (void)count;
3824     *count += sizeof(VkStructureType);
3825     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3826         rootType = toCount->sType;
3827     }
3828     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3829     *count += sizeof(VkRenderPassCreateFlags);
3830     *count += sizeof(uint32_t);
3831     if (toCount) {
3832         for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i) {
3833             count_VkAttachmentDescription2(
3834                 featureBits, rootType, (const VkAttachmentDescription2*)(toCount->pAttachments + i),
3835                 count);
3836         }
3837     }
3838     *count += sizeof(uint32_t);
3839     if (toCount) {
3840         for (uint32_t i = 0; i < (uint32_t)toCount->subpassCount; ++i) {
3841             count_VkSubpassDescription2(featureBits, rootType,
3842                                         (const VkSubpassDescription2*)(toCount->pSubpasses + i),
3843                                         count);
3844         }
3845     }
3846     *count += sizeof(uint32_t);
3847     if (toCount) {
3848         for (uint32_t i = 0; i < (uint32_t)toCount->dependencyCount; ++i) {
3849             count_VkSubpassDependency2(featureBits, rootType,
3850                                        (const VkSubpassDependency2*)(toCount->pDependencies + i),
3851                                        count);
3852         }
3853     }
3854     *count += sizeof(uint32_t);
3855     if (toCount) {
3856         *count += toCount->correlatedViewMaskCount * sizeof(const uint32_t);
3857     }
3858 }
3859 
count_VkSubpassBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkSubpassBeginInfo * toCount,size_t * count)3860 void count_VkSubpassBeginInfo(uint32_t featureBits, VkStructureType rootType,
3861                               const VkSubpassBeginInfo* toCount, size_t* count) {
3862     (void)featureBits;
3863     (void)rootType;
3864     (void)toCount;
3865     (void)count;
3866     *count += sizeof(VkStructureType);
3867     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3868         rootType = toCount->sType;
3869     }
3870     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3871     *count += sizeof(VkSubpassContents);
3872 }
3873 
count_VkSubpassEndInfo(uint32_t featureBits,VkStructureType rootType,const VkSubpassEndInfo * toCount,size_t * count)3874 void count_VkSubpassEndInfo(uint32_t featureBits, VkStructureType rootType,
3875                             const VkSubpassEndInfo* toCount, size_t* count) {
3876     (void)featureBits;
3877     (void)rootType;
3878     (void)toCount;
3879     (void)count;
3880     *count += sizeof(VkStructureType);
3881     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3882         rootType = toCount->sType;
3883     }
3884     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3885 }
3886 
count_VkPhysicalDevice8BitStorageFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice8BitStorageFeatures * toCount,size_t * count)3887 void count_VkPhysicalDevice8BitStorageFeatures(uint32_t featureBits, VkStructureType rootType,
3888                                                const VkPhysicalDevice8BitStorageFeatures* toCount,
3889                                                size_t* count) {
3890     (void)featureBits;
3891     (void)rootType;
3892     (void)toCount;
3893     (void)count;
3894     *count += sizeof(VkStructureType);
3895     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3896         rootType = toCount->sType;
3897     }
3898     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3899     *count += sizeof(VkBool32);
3900     *count += sizeof(VkBool32);
3901     *count += sizeof(VkBool32);
3902 }
3903 
count_VkPhysicalDeviceDriverProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDriverProperties * toCount,size_t * count)3904 void count_VkPhysicalDeviceDriverProperties(uint32_t featureBits, VkStructureType rootType,
3905                                             const VkPhysicalDeviceDriverProperties* toCount,
3906                                             size_t* count) {
3907     (void)featureBits;
3908     (void)rootType;
3909     (void)toCount;
3910     (void)count;
3911     *count += sizeof(VkStructureType);
3912     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3913         rootType = toCount->sType;
3914     }
3915     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3916     *count += sizeof(VkDriverId);
3917     *count += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
3918     *count += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
3919     count_VkConformanceVersion(featureBits, rootType,
3920                                (VkConformanceVersion*)(&toCount->conformanceVersion), count);
3921 }
3922 
count_VkPhysicalDeviceShaderAtomicInt64Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicInt64Features * toCount,size_t * count)3923 void count_VkPhysicalDeviceShaderAtomicInt64Features(
3924     uint32_t featureBits, VkStructureType rootType,
3925     const VkPhysicalDeviceShaderAtomicInt64Features* toCount, size_t* count) {
3926     (void)featureBits;
3927     (void)rootType;
3928     (void)toCount;
3929     (void)count;
3930     *count += sizeof(VkStructureType);
3931     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3932         rootType = toCount->sType;
3933     }
3934     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3935     *count += sizeof(VkBool32);
3936     *count += sizeof(VkBool32);
3937 }
3938 
count_VkPhysicalDeviceShaderFloat16Int8Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderFloat16Int8Features * toCount,size_t * count)3939 void count_VkPhysicalDeviceShaderFloat16Int8Features(
3940     uint32_t featureBits, VkStructureType rootType,
3941     const VkPhysicalDeviceShaderFloat16Int8Features* toCount, size_t* count) {
3942     (void)featureBits;
3943     (void)rootType;
3944     (void)toCount;
3945     (void)count;
3946     *count += sizeof(VkStructureType);
3947     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3948         rootType = toCount->sType;
3949     }
3950     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3951     *count += sizeof(VkBool32);
3952     *count += sizeof(VkBool32);
3953 }
3954 
count_VkPhysicalDeviceFloatControlsProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFloatControlsProperties * toCount,size_t * count)3955 void count_VkPhysicalDeviceFloatControlsProperties(
3956     uint32_t featureBits, VkStructureType rootType,
3957     const VkPhysicalDeviceFloatControlsProperties* toCount, size_t* count) {
3958     (void)featureBits;
3959     (void)rootType;
3960     (void)toCount;
3961     (void)count;
3962     *count += sizeof(VkStructureType);
3963     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3964         rootType = toCount->sType;
3965     }
3966     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3967     *count += sizeof(VkShaderFloatControlsIndependence);
3968     *count += sizeof(VkShaderFloatControlsIndependence);
3969     *count += sizeof(VkBool32);
3970     *count += sizeof(VkBool32);
3971     *count += sizeof(VkBool32);
3972     *count += sizeof(VkBool32);
3973     *count += sizeof(VkBool32);
3974     *count += sizeof(VkBool32);
3975     *count += sizeof(VkBool32);
3976     *count += sizeof(VkBool32);
3977     *count += sizeof(VkBool32);
3978     *count += sizeof(VkBool32);
3979     *count += sizeof(VkBool32);
3980     *count += sizeof(VkBool32);
3981     *count += sizeof(VkBool32);
3982     *count += sizeof(VkBool32);
3983     *count += sizeof(VkBool32);
3984 }
3985 
count_VkDescriptorSetLayoutBindingFlagsCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutBindingFlagsCreateInfo * toCount,size_t * count)3986 void count_VkDescriptorSetLayoutBindingFlagsCreateInfo(
3987     uint32_t featureBits, VkStructureType rootType,
3988     const VkDescriptorSetLayoutBindingFlagsCreateInfo* toCount, size_t* count) {
3989     (void)featureBits;
3990     (void)rootType;
3991     (void)toCount;
3992     (void)count;
3993     *count += sizeof(VkStructureType);
3994     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3995         rootType = toCount->sType;
3996     }
3997     count_extension_struct(featureBits, rootType, toCount->pNext, count);
3998     *count += sizeof(uint32_t);
3999     // WARNING PTR CHECK
4000     *count += 8;
4001     if (toCount->pBindingFlags) {
4002         if (toCount) {
4003             *count += toCount->bindingCount * sizeof(const VkDescriptorBindingFlags);
4004         }
4005     }
4006 }
4007 
count_VkPhysicalDeviceDescriptorIndexingFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingFeatures * toCount,size_t * count)4008 void count_VkPhysicalDeviceDescriptorIndexingFeatures(
4009     uint32_t featureBits, VkStructureType rootType,
4010     const VkPhysicalDeviceDescriptorIndexingFeatures* toCount, size_t* count) {
4011     (void)featureBits;
4012     (void)rootType;
4013     (void)toCount;
4014     (void)count;
4015     *count += sizeof(VkStructureType);
4016     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4017         rootType = toCount->sType;
4018     }
4019     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4020     *count += sizeof(VkBool32);
4021     *count += sizeof(VkBool32);
4022     *count += sizeof(VkBool32);
4023     *count += sizeof(VkBool32);
4024     *count += sizeof(VkBool32);
4025     *count += sizeof(VkBool32);
4026     *count += sizeof(VkBool32);
4027     *count += sizeof(VkBool32);
4028     *count += sizeof(VkBool32);
4029     *count += sizeof(VkBool32);
4030     *count += sizeof(VkBool32);
4031     *count += sizeof(VkBool32);
4032     *count += sizeof(VkBool32);
4033     *count += sizeof(VkBool32);
4034     *count += sizeof(VkBool32);
4035     *count += sizeof(VkBool32);
4036     *count += sizeof(VkBool32);
4037     *count += sizeof(VkBool32);
4038     *count += sizeof(VkBool32);
4039     *count += sizeof(VkBool32);
4040 }
4041 
count_VkPhysicalDeviceDescriptorIndexingProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingProperties * toCount,size_t * count)4042 void count_VkPhysicalDeviceDescriptorIndexingProperties(
4043     uint32_t featureBits, VkStructureType rootType,
4044     const VkPhysicalDeviceDescriptorIndexingProperties* toCount, size_t* count) {
4045     (void)featureBits;
4046     (void)rootType;
4047     (void)toCount;
4048     (void)count;
4049     *count += sizeof(VkStructureType);
4050     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4051         rootType = toCount->sType;
4052     }
4053     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4054     *count += sizeof(uint32_t);
4055     *count += sizeof(VkBool32);
4056     *count += sizeof(VkBool32);
4057     *count += sizeof(VkBool32);
4058     *count += sizeof(VkBool32);
4059     *count += sizeof(VkBool32);
4060     *count += sizeof(VkBool32);
4061     *count += sizeof(VkBool32);
4062     *count += sizeof(uint32_t);
4063     *count += sizeof(uint32_t);
4064     *count += sizeof(uint32_t);
4065     *count += sizeof(uint32_t);
4066     *count += sizeof(uint32_t);
4067     *count += sizeof(uint32_t);
4068     *count += sizeof(uint32_t);
4069     *count += sizeof(uint32_t);
4070     *count += sizeof(uint32_t);
4071     *count += sizeof(uint32_t);
4072     *count += sizeof(uint32_t);
4073     *count += sizeof(uint32_t);
4074     *count += sizeof(uint32_t);
4075     *count += sizeof(uint32_t);
4076     *count += sizeof(uint32_t);
4077 }
4078 
count_VkDescriptorSetVariableDescriptorCountAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountAllocateInfo * toCount,size_t * count)4079 void count_VkDescriptorSetVariableDescriptorCountAllocateInfo(
4080     uint32_t featureBits, VkStructureType rootType,
4081     const VkDescriptorSetVariableDescriptorCountAllocateInfo* toCount, size_t* count) {
4082     (void)featureBits;
4083     (void)rootType;
4084     (void)toCount;
4085     (void)count;
4086     *count += sizeof(VkStructureType);
4087     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4088         rootType = toCount->sType;
4089     }
4090     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4091     *count += sizeof(uint32_t);
4092     if (toCount) {
4093         *count += toCount->descriptorSetCount * sizeof(const uint32_t);
4094     }
4095 }
4096 
count_VkDescriptorSetVariableDescriptorCountLayoutSupport(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountLayoutSupport * toCount,size_t * count)4097 void count_VkDescriptorSetVariableDescriptorCountLayoutSupport(
4098     uint32_t featureBits, VkStructureType rootType,
4099     const VkDescriptorSetVariableDescriptorCountLayoutSupport* toCount, size_t* count) {
4100     (void)featureBits;
4101     (void)rootType;
4102     (void)toCount;
4103     (void)count;
4104     *count += sizeof(VkStructureType);
4105     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4106         rootType = toCount->sType;
4107     }
4108     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4109     *count += sizeof(uint32_t);
4110 }
4111 
count_VkSubpassDescriptionDepthStencilResolve(uint32_t featureBits,VkStructureType rootType,const VkSubpassDescriptionDepthStencilResolve * toCount,size_t * count)4112 void count_VkSubpassDescriptionDepthStencilResolve(
4113     uint32_t featureBits, VkStructureType rootType,
4114     const VkSubpassDescriptionDepthStencilResolve* toCount, size_t* count) {
4115     (void)featureBits;
4116     (void)rootType;
4117     (void)toCount;
4118     (void)count;
4119     *count += sizeof(VkStructureType);
4120     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4121         rootType = toCount->sType;
4122     }
4123     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4124     *count += sizeof(VkResolveModeFlagBits);
4125     *count += sizeof(VkResolveModeFlagBits);
4126     // WARNING PTR CHECK
4127     *count += 8;
4128     if (toCount->pDepthStencilResolveAttachment) {
4129         count_VkAttachmentReference2(
4130             featureBits, rootType,
4131             (const VkAttachmentReference2*)(toCount->pDepthStencilResolveAttachment), count);
4132     }
4133 }
4134 
count_VkPhysicalDeviceDepthStencilResolveProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthStencilResolveProperties * toCount,size_t * count)4135 void count_VkPhysicalDeviceDepthStencilResolveProperties(
4136     uint32_t featureBits, VkStructureType rootType,
4137     const VkPhysicalDeviceDepthStencilResolveProperties* toCount, size_t* count) {
4138     (void)featureBits;
4139     (void)rootType;
4140     (void)toCount;
4141     (void)count;
4142     *count += sizeof(VkStructureType);
4143     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4144         rootType = toCount->sType;
4145     }
4146     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4147     *count += sizeof(VkResolveModeFlags);
4148     *count += sizeof(VkResolveModeFlags);
4149     *count += sizeof(VkBool32);
4150     *count += sizeof(VkBool32);
4151 }
4152 
count_VkPhysicalDeviceScalarBlockLayoutFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceScalarBlockLayoutFeatures * toCount,size_t * count)4153 void count_VkPhysicalDeviceScalarBlockLayoutFeatures(
4154     uint32_t featureBits, VkStructureType rootType,
4155     const VkPhysicalDeviceScalarBlockLayoutFeatures* toCount, size_t* count) {
4156     (void)featureBits;
4157     (void)rootType;
4158     (void)toCount;
4159     (void)count;
4160     *count += sizeof(VkStructureType);
4161     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4162         rootType = toCount->sType;
4163     }
4164     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4165     *count += sizeof(VkBool32);
4166 }
4167 
count_VkImageStencilUsageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageStencilUsageCreateInfo * toCount,size_t * count)4168 void count_VkImageStencilUsageCreateInfo(uint32_t featureBits, VkStructureType rootType,
4169                                          const VkImageStencilUsageCreateInfo* toCount,
4170                                          size_t* count) {
4171     (void)featureBits;
4172     (void)rootType;
4173     (void)toCount;
4174     (void)count;
4175     *count += sizeof(VkStructureType);
4176     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4177         rootType = toCount->sType;
4178     }
4179     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4180     *count += sizeof(VkImageUsageFlags);
4181 }
4182 
count_VkSamplerReductionModeCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerReductionModeCreateInfo * toCount,size_t * count)4183 void count_VkSamplerReductionModeCreateInfo(uint32_t featureBits, VkStructureType rootType,
4184                                             const VkSamplerReductionModeCreateInfo* toCount,
4185                                             size_t* count) {
4186     (void)featureBits;
4187     (void)rootType;
4188     (void)toCount;
4189     (void)count;
4190     *count += sizeof(VkStructureType);
4191     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4192         rootType = toCount->sType;
4193     }
4194     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4195     *count += sizeof(VkSamplerReductionMode);
4196 }
4197 
count_VkPhysicalDeviceSamplerFilterMinmaxProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSamplerFilterMinmaxProperties * toCount,size_t * count)4198 void count_VkPhysicalDeviceSamplerFilterMinmaxProperties(
4199     uint32_t featureBits, VkStructureType rootType,
4200     const VkPhysicalDeviceSamplerFilterMinmaxProperties* toCount, size_t* count) {
4201     (void)featureBits;
4202     (void)rootType;
4203     (void)toCount;
4204     (void)count;
4205     *count += sizeof(VkStructureType);
4206     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4207         rootType = toCount->sType;
4208     }
4209     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4210     *count += sizeof(VkBool32);
4211     *count += sizeof(VkBool32);
4212 }
4213 
count_VkPhysicalDeviceVulkanMemoryModelFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkanMemoryModelFeatures * toCount,size_t * count)4214 void count_VkPhysicalDeviceVulkanMemoryModelFeatures(
4215     uint32_t featureBits, VkStructureType rootType,
4216     const VkPhysicalDeviceVulkanMemoryModelFeatures* toCount, size_t* count) {
4217     (void)featureBits;
4218     (void)rootType;
4219     (void)toCount;
4220     (void)count;
4221     *count += sizeof(VkStructureType);
4222     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4223         rootType = toCount->sType;
4224     }
4225     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4226     *count += sizeof(VkBool32);
4227     *count += sizeof(VkBool32);
4228     *count += sizeof(VkBool32);
4229 }
4230 
count_VkPhysicalDeviceImagelessFramebufferFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImagelessFramebufferFeatures * toCount,size_t * count)4231 void count_VkPhysicalDeviceImagelessFramebufferFeatures(
4232     uint32_t featureBits, VkStructureType rootType,
4233     const VkPhysicalDeviceImagelessFramebufferFeatures* toCount, size_t* count) {
4234     (void)featureBits;
4235     (void)rootType;
4236     (void)toCount;
4237     (void)count;
4238     *count += sizeof(VkStructureType);
4239     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4240         rootType = toCount->sType;
4241     }
4242     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4243     *count += sizeof(VkBool32);
4244 }
4245 
count_VkFramebufferAttachmentImageInfo(uint32_t featureBits,VkStructureType rootType,const VkFramebufferAttachmentImageInfo * toCount,size_t * count)4246 void count_VkFramebufferAttachmentImageInfo(uint32_t featureBits, VkStructureType rootType,
4247                                             const VkFramebufferAttachmentImageInfo* toCount,
4248                                             size_t* count) {
4249     (void)featureBits;
4250     (void)rootType;
4251     (void)toCount;
4252     (void)count;
4253     *count += sizeof(VkStructureType);
4254     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4255         rootType = toCount->sType;
4256     }
4257     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4258     *count += sizeof(VkImageCreateFlags);
4259     *count += sizeof(VkImageUsageFlags);
4260     *count += sizeof(uint32_t);
4261     *count += sizeof(uint32_t);
4262     *count += sizeof(uint32_t);
4263     *count += sizeof(uint32_t);
4264     if (toCount) {
4265         *count += toCount->viewFormatCount * sizeof(const VkFormat);
4266     }
4267 }
4268 
count_VkFramebufferAttachmentsCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkFramebufferAttachmentsCreateInfo * toCount,size_t * count)4269 void count_VkFramebufferAttachmentsCreateInfo(uint32_t featureBits, VkStructureType rootType,
4270                                               const VkFramebufferAttachmentsCreateInfo* toCount,
4271                                               size_t* count) {
4272     (void)featureBits;
4273     (void)rootType;
4274     (void)toCount;
4275     (void)count;
4276     *count += sizeof(VkStructureType);
4277     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4278         rootType = toCount->sType;
4279     }
4280     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4281     *count += sizeof(uint32_t);
4282     if (toCount) {
4283         for (uint32_t i = 0; i < (uint32_t)toCount->attachmentImageInfoCount; ++i) {
4284             count_VkFramebufferAttachmentImageInfo(
4285                 featureBits, rootType,
4286                 (const VkFramebufferAttachmentImageInfo*)(toCount->pAttachmentImageInfos + i),
4287                 count);
4288         }
4289     }
4290 }
4291 
count_VkRenderPassAttachmentBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassAttachmentBeginInfo * toCount,size_t * count)4292 void count_VkRenderPassAttachmentBeginInfo(uint32_t featureBits, VkStructureType rootType,
4293                                            const VkRenderPassAttachmentBeginInfo* toCount,
4294                                            size_t* count) {
4295     (void)featureBits;
4296     (void)rootType;
4297     (void)toCount;
4298     (void)count;
4299     *count += sizeof(VkStructureType);
4300     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4301         rootType = toCount->sType;
4302     }
4303     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4304     *count += sizeof(uint32_t);
4305     if (toCount->attachmentCount) {
4306         *count += toCount->attachmentCount * 8;
4307     }
4308 }
4309 
count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * toCount,size_t * count)4310 void count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
4311     uint32_t featureBits, VkStructureType rootType,
4312     const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* toCount, size_t* count) {
4313     (void)featureBits;
4314     (void)rootType;
4315     (void)toCount;
4316     (void)count;
4317     *count += sizeof(VkStructureType);
4318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4319         rootType = toCount->sType;
4320     }
4321     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4322     *count += sizeof(VkBool32);
4323 }
4324 
count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * toCount,size_t * count)4325 void count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
4326     uint32_t featureBits, VkStructureType rootType,
4327     const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* toCount, size_t* count) {
4328     (void)featureBits;
4329     (void)rootType;
4330     (void)toCount;
4331     (void)count;
4332     *count += sizeof(VkStructureType);
4333     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4334         rootType = toCount->sType;
4335     }
4336     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4337     *count += sizeof(VkBool32);
4338 }
4339 
count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * toCount,size_t * count)4340 void count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
4341     uint32_t featureBits, VkStructureType rootType,
4342     const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* toCount, size_t* count) {
4343     (void)featureBits;
4344     (void)rootType;
4345     (void)toCount;
4346     (void)count;
4347     *count += sizeof(VkStructureType);
4348     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4349         rootType = toCount->sType;
4350     }
4351     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4352     *count += sizeof(VkBool32);
4353 }
4354 
count_VkAttachmentReferenceStencilLayout(uint32_t featureBits,VkStructureType rootType,const VkAttachmentReferenceStencilLayout * toCount,size_t * count)4355 void count_VkAttachmentReferenceStencilLayout(uint32_t featureBits, VkStructureType rootType,
4356                                               const VkAttachmentReferenceStencilLayout* toCount,
4357                                               size_t* count) {
4358     (void)featureBits;
4359     (void)rootType;
4360     (void)toCount;
4361     (void)count;
4362     *count += sizeof(VkStructureType);
4363     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4364         rootType = toCount->sType;
4365     }
4366     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4367     *count += sizeof(VkImageLayout);
4368 }
4369 
count_VkAttachmentDescriptionStencilLayout(uint32_t featureBits,VkStructureType rootType,const VkAttachmentDescriptionStencilLayout * toCount,size_t * count)4370 void count_VkAttachmentDescriptionStencilLayout(uint32_t featureBits, VkStructureType rootType,
4371                                                 const VkAttachmentDescriptionStencilLayout* toCount,
4372                                                 size_t* count) {
4373     (void)featureBits;
4374     (void)rootType;
4375     (void)toCount;
4376     (void)count;
4377     *count += sizeof(VkStructureType);
4378     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4379         rootType = toCount->sType;
4380     }
4381     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4382     *count += sizeof(VkImageLayout);
4383     *count += sizeof(VkImageLayout);
4384 }
4385 
count_VkPhysicalDeviceHostQueryResetFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceHostQueryResetFeatures * toCount,size_t * count)4386 void count_VkPhysicalDeviceHostQueryResetFeatures(
4387     uint32_t featureBits, VkStructureType rootType,
4388     const VkPhysicalDeviceHostQueryResetFeatures* toCount, size_t* count) {
4389     (void)featureBits;
4390     (void)rootType;
4391     (void)toCount;
4392     (void)count;
4393     *count += sizeof(VkStructureType);
4394     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4395         rootType = toCount->sType;
4396     }
4397     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4398     *count += sizeof(VkBool32);
4399 }
4400 
count_VkPhysicalDeviceTimelineSemaphoreFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreFeatures * toCount,size_t * count)4401 void count_VkPhysicalDeviceTimelineSemaphoreFeatures(
4402     uint32_t featureBits, VkStructureType rootType,
4403     const VkPhysicalDeviceTimelineSemaphoreFeatures* toCount, size_t* count) {
4404     (void)featureBits;
4405     (void)rootType;
4406     (void)toCount;
4407     (void)count;
4408     *count += sizeof(VkStructureType);
4409     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4410         rootType = toCount->sType;
4411     }
4412     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4413     *count += sizeof(VkBool32);
4414 }
4415 
count_VkPhysicalDeviceTimelineSemaphoreProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreProperties * toCount,size_t * count)4416 void count_VkPhysicalDeviceTimelineSemaphoreProperties(
4417     uint32_t featureBits, VkStructureType rootType,
4418     const VkPhysicalDeviceTimelineSemaphoreProperties* toCount, size_t* count) {
4419     (void)featureBits;
4420     (void)rootType;
4421     (void)toCount;
4422     (void)count;
4423     *count += sizeof(VkStructureType);
4424     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4425         rootType = toCount->sType;
4426     }
4427     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4428     *count += sizeof(uint64_t);
4429 }
4430 
count_VkSemaphoreTypeCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreTypeCreateInfo * toCount,size_t * count)4431 void count_VkSemaphoreTypeCreateInfo(uint32_t featureBits, VkStructureType rootType,
4432                                      const VkSemaphoreTypeCreateInfo* toCount, size_t* count) {
4433     (void)featureBits;
4434     (void)rootType;
4435     (void)toCount;
4436     (void)count;
4437     *count += sizeof(VkStructureType);
4438     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4439         rootType = toCount->sType;
4440     }
4441     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4442     *count += sizeof(VkSemaphoreType);
4443     *count += sizeof(uint64_t);
4444 }
4445 
count_VkTimelineSemaphoreSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkTimelineSemaphoreSubmitInfo * toCount,size_t * count)4446 void count_VkTimelineSemaphoreSubmitInfo(uint32_t featureBits, VkStructureType rootType,
4447                                          const VkTimelineSemaphoreSubmitInfo* toCount,
4448                                          size_t* count) {
4449     (void)featureBits;
4450     (void)rootType;
4451     (void)toCount;
4452     (void)count;
4453     *count += sizeof(VkStructureType);
4454     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4455         rootType = toCount->sType;
4456     }
4457     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4458     *count += sizeof(uint32_t);
4459     // WARNING PTR CHECK
4460     *count += 8;
4461     if (toCount->pWaitSemaphoreValues) {
4462         if (toCount) {
4463             *count += toCount->waitSemaphoreValueCount * sizeof(const uint64_t);
4464         }
4465     }
4466     *count += sizeof(uint32_t);
4467     // WARNING PTR CHECK
4468     *count += 8;
4469     if (toCount->pSignalSemaphoreValues) {
4470         if (toCount) {
4471             *count += toCount->signalSemaphoreValueCount * sizeof(const uint64_t);
4472         }
4473     }
4474 }
4475 
count_VkSemaphoreWaitInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreWaitInfo * toCount,size_t * count)4476 void count_VkSemaphoreWaitInfo(uint32_t featureBits, VkStructureType rootType,
4477                                const VkSemaphoreWaitInfo* toCount, size_t* count) {
4478     (void)featureBits;
4479     (void)rootType;
4480     (void)toCount;
4481     (void)count;
4482     *count += sizeof(VkStructureType);
4483     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4484         rootType = toCount->sType;
4485     }
4486     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4487     *count += sizeof(VkSemaphoreWaitFlags);
4488     *count += sizeof(uint32_t);
4489     if (toCount->semaphoreCount) {
4490         *count += toCount->semaphoreCount * 8;
4491     }
4492     if (toCount) {
4493         *count += toCount->semaphoreCount * sizeof(const uint64_t);
4494     }
4495 }
4496 
count_VkSemaphoreSignalInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreSignalInfo * toCount,size_t * count)4497 void count_VkSemaphoreSignalInfo(uint32_t featureBits, VkStructureType rootType,
4498                                  const VkSemaphoreSignalInfo* toCount, size_t* count) {
4499     (void)featureBits;
4500     (void)rootType;
4501     (void)toCount;
4502     (void)count;
4503     *count += sizeof(VkStructureType);
4504     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4505         rootType = toCount->sType;
4506     }
4507     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4508     uint64_t cgen_var_0;
4509     *count += 1 * 8;
4510     *count += sizeof(uint64_t);
4511 }
4512 
count_VkPhysicalDeviceBufferDeviceAddressFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeatures * toCount,size_t * count)4513 void count_VkPhysicalDeviceBufferDeviceAddressFeatures(
4514     uint32_t featureBits, VkStructureType rootType,
4515     const VkPhysicalDeviceBufferDeviceAddressFeatures* toCount, size_t* count) {
4516     (void)featureBits;
4517     (void)rootType;
4518     (void)toCount;
4519     (void)count;
4520     *count += sizeof(VkStructureType);
4521     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4522         rootType = toCount->sType;
4523     }
4524     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4525     *count += sizeof(VkBool32);
4526     *count += sizeof(VkBool32);
4527     *count += sizeof(VkBool32);
4528 }
4529 
count_VkBufferDeviceAddressInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferDeviceAddressInfo * toCount,size_t * count)4530 void count_VkBufferDeviceAddressInfo(uint32_t featureBits, VkStructureType rootType,
4531                                      const VkBufferDeviceAddressInfo* toCount, size_t* count) {
4532     (void)featureBits;
4533     (void)rootType;
4534     (void)toCount;
4535     (void)count;
4536     *count += sizeof(VkStructureType);
4537     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4538         rootType = toCount->sType;
4539     }
4540     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4541     uint64_t cgen_var_0;
4542     *count += 1 * 8;
4543 }
4544 
count_VkBufferOpaqueCaptureAddressCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferOpaqueCaptureAddressCreateInfo * toCount,size_t * count)4545 void count_VkBufferOpaqueCaptureAddressCreateInfo(
4546     uint32_t featureBits, VkStructureType rootType,
4547     const VkBufferOpaqueCaptureAddressCreateInfo* toCount, size_t* count) {
4548     (void)featureBits;
4549     (void)rootType;
4550     (void)toCount;
4551     (void)count;
4552     *count += sizeof(VkStructureType);
4553     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4554         rootType = toCount->sType;
4555     }
4556     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4557     *count += sizeof(uint64_t);
4558 }
4559 
count_VkMemoryOpaqueCaptureAddressAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryOpaqueCaptureAddressAllocateInfo * toCount,size_t * count)4560 void count_VkMemoryOpaqueCaptureAddressAllocateInfo(
4561     uint32_t featureBits, VkStructureType rootType,
4562     const VkMemoryOpaqueCaptureAddressAllocateInfo* toCount, size_t* count) {
4563     (void)featureBits;
4564     (void)rootType;
4565     (void)toCount;
4566     (void)count;
4567     *count += sizeof(VkStructureType);
4568     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4569         rootType = toCount->sType;
4570     }
4571     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4572     *count += sizeof(uint64_t);
4573 }
4574 
count_VkDeviceMemoryOpaqueCaptureAddressInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceMemoryOpaqueCaptureAddressInfo * toCount,size_t * count)4575 void count_VkDeviceMemoryOpaqueCaptureAddressInfo(
4576     uint32_t featureBits, VkStructureType rootType,
4577     const VkDeviceMemoryOpaqueCaptureAddressInfo* toCount, size_t* count) {
4578     (void)featureBits;
4579     (void)rootType;
4580     (void)toCount;
4581     (void)count;
4582     *count += sizeof(VkStructureType);
4583     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4584         rootType = toCount->sType;
4585     }
4586     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4587     uint64_t cgen_var_0;
4588     *count += 1 * 8;
4589 }
4590 
4591 #endif
4592 #ifdef VK_VERSION_1_3
count_VkPhysicalDeviceVulkan13Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan13Features * toCount,size_t * count)4593 void count_VkPhysicalDeviceVulkan13Features(uint32_t featureBits, VkStructureType rootType,
4594                                             const VkPhysicalDeviceVulkan13Features* toCount,
4595                                             size_t* count) {
4596     (void)featureBits;
4597     (void)rootType;
4598     (void)toCount;
4599     (void)count;
4600     *count += sizeof(VkStructureType);
4601     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4602         rootType = toCount->sType;
4603     }
4604     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4605     *count += sizeof(VkBool32);
4606     *count += sizeof(VkBool32);
4607     *count += sizeof(VkBool32);
4608     *count += sizeof(VkBool32);
4609     *count += sizeof(VkBool32);
4610     *count += sizeof(VkBool32);
4611     *count += sizeof(VkBool32);
4612     *count += sizeof(VkBool32);
4613     *count += sizeof(VkBool32);
4614     *count += sizeof(VkBool32);
4615     *count += sizeof(VkBool32);
4616     *count += sizeof(VkBool32);
4617     *count += sizeof(VkBool32);
4618     *count += sizeof(VkBool32);
4619     *count += sizeof(VkBool32);
4620 }
4621 
count_VkPhysicalDeviceVulkan13Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan13Properties * toCount,size_t * count)4622 void count_VkPhysicalDeviceVulkan13Properties(uint32_t featureBits, VkStructureType rootType,
4623                                               const VkPhysicalDeviceVulkan13Properties* toCount,
4624                                               size_t* count) {
4625     (void)featureBits;
4626     (void)rootType;
4627     (void)toCount;
4628     (void)count;
4629     *count += sizeof(VkStructureType);
4630     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4631         rootType = toCount->sType;
4632     }
4633     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4634     *count += sizeof(uint32_t);
4635     *count += sizeof(uint32_t);
4636     *count += sizeof(uint32_t);
4637     *count += sizeof(VkShaderStageFlags);
4638     *count += sizeof(uint32_t);
4639     *count += sizeof(uint32_t);
4640     *count += sizeof(uint32_t);
4641     *count += sizeof(uint32_t);
4642     *count += sizeof(uint32_t);
4643     *count += sizeof(uint32_t);
4644     *count += sizeof(VkBool32);
4645     *count += sizeof(VkBool32);
4646     *count += sizeof(VkBool32);
4647     *count += sizeof(VkBool32);
4648     *count += sizeof(VkBool32);
4649     *count += sizeof(VkBool32);
4650     *count += sizeof(VkBool32);
4651     *count += sizeof(VkBool32);
4652     *count += sizeof(VkBool32);
4653     *count += sizeof(VkBool32);
4654     *count += sizeof(VkBool32);
4655     *count += sizeof(VkBool32);
4656     *count += sizeof(VkBool32);
4657     *count += sizeof(VkBool32);
4658     *count += sizeof(VkBool32);
4659     *count += sizeof(VkBool32);
4660     *count += sizeof(VkBool32);
4661     *count += sizeof(VkBool32);
4662     *count += sizeof(VkBool32);
4663     *count += sizeof(VkBool32);
4664     *count += sizeof(VkBool32);
4665     *count += sizeof(VkBool32);
4666     *count += sizeof(VkBool32);
4667     *count += sizeof(VkBool32);
4668     *count += sizeof(VkBool32);
4669     *count += sizeof(VkBool32);
4670     *count += sizeof(VkBool32);
4671     *count += sizeof(VkBool32);
4672     *count += sizeof(VkBool32);
4673     *count += sizeof(VkBool32);
4674     *count += sizeof(VkDeviceSize);
4675     *count += sizeof(VkBool32);
4676     *count += sizeof(VkDeviceSize);
4677     *count += sizeof(VkBool32);
4678     *count += sizeof(VkDeviceSize);
4679 }
4680 
count_VkPipelineCreationFeedback(uint32_t featureBits,VkStructureType rootType,const VkPipelineCreationFeedback * toCount,size_t * count)4681 void count_VkPipelineCreationFeedback(uint32_t featureBits, VkStructureType rootType,
4682                                       const VkPipelineCreationFeedback* toCount, size_t* count) {
4683     (void)featureBits;
4684     (void)rootType;
4685     (void)toCount;
4686     (void)count;
4687     *count += sizeof(VkPipelineCreationFeedbackFlags);
4688     *count += sizeof(uint64_t);
4689 }
4690 
count_VkPipelineCreationFeedbackCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineCreationFeedbackCreateInfo * toCount,size_t * count)4691 void count_VkPipelineCreationFeedbackCreateInfo(uint32_t featureBits, VkStructureType rootType,
4692                                                 const VkPipelineCreationFeedbackCreateInfo* toCount,
4693                                                 size_t* count) {
4694     (void)featureBits;
4695     (void)rootType;
4696     (void)toCount;
4697     (void)count;
4698     *count += sizeof(VkStructureType);
4699     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4700         rootType = toCount->sType;
4701     }
4702     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4703     count_VkPipelineCreationFeedback(
4704         featureBits, rootType, (VkPipelineCreationFeedback*)(toCount->pPipelineCreationFeedback),
4705         count);
4706     *count += sizeof(uint32_t);
4707     if (toCount) {
4708         for (uint32_t i = 0; i < (uint32_t)toCount->pipelineStageCreationFeedbackCount; ++i) {
4709             count_VkPipelineCreationFeedback(
4710                 featureBits, rootType,
4711                 (VkPipelineCreationFeedback*)(toCount->pPipelineStageCreationFeedbacks + i), count);
4712         }
4713     }
4714 }
4715 
count_VkPhysicalDeviceShaderTerminateInvocationFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderTerminateInvocationFeatures * toCount,size_t * count)4716 void count_VkPhysicalDeviceShaderTerminateInvocationFeatures(
4717     uint32_t featureBits, VkStructureType rootType,
4718     const VkPhysicalDeviceShaderTerminateInvocationFeatures* toCount, size_t* count) {
4719     (void)featureBits;
4720     (void)rootType;
4721     (void)toCount;
4722     (void)count;
4723     *count += sizeof(VkStructureType);
4724     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4725         rootType = toCount->sType;
4726     }
4727     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4728     *count += sizeof(VkBool32);
4729 }
4730 
count_VkPhysicalDeviceToolProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceToolProperties * toCount,size_t * count)4731 void count_VkPhysicalDeviceToolProperties(uint32_t featureBits, VkStructureType rootType,
4732                                           const VkPhysicalDeviceToolProperties* toCount,
4733                                           size_t* count) {
4734     (void)featureBits;
4735     (void)rootType;
4736     (void)toCount;
4737     (void)count;
4738     *count += sizeof(VkStructureType);
4739     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4740         rootType = toCount->sType;
4741     }
4742     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4743     *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
4744     *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
4745     *count += sizeof(VkToolPurposeFlags);
4746     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
4747     *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
4748 }
4749 
count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * toCount,size_t * count)4750 void count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
4751     uint32_t featureBits, VkStructureType rootType,
4752     const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* toCount, size_t* count) {
4753     (void)featureBits;
4754     (void)rootType;
4755     (void)toCount;
4756     (void)count;
4757     *count += sizeof(VkStructureType);
4758     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4759         rootType = toCount->sType;
4760     }
4761     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4762     *count += sizeof(VkBool32);
4763 }
4764 
count_VkPhysicalDevicePrivateDataFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePrivateDataFeatures * toCount,size_t * count)4765 void count_VkPhysicalDevicePrivateDataFeatures(uint32_t featureBits, VkStructureType rootType,
4766                                                const VkPhysicalDevicePrivateDataFeatures* toCount,
4767                                                size_t* count) {
4768     (void)featureBits;
4769     (void)rootType;
4770     (void)toCount;
4771     (void)count;
4772     *count += sizeof(VkStructureType);
4773     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4774         rootType = toCount->sType;
4775     }
4776     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4777     *count += sizeof(VkBool32);
4778 }
4779 
count_VkDevicePrivateDataCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDevicePrivateDataCreateInfo * toCount,size_t * count)4780 void count_VkDevicePrivateDataCreateInfo(uint32_t featureBits, VkStructureType rootType,
4781                                          const VkDevicePrivateDataCreateInfo* toCount,
4782                                          size_t* count) {
4783     (void)featureBits;
4784     (void)rootType;
4785     (void)toCount;
4786     (void)count;
4787     *count += sizeof(VkStructureType);
4788     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4789         rootType = toCount->sType;
4790     }
4791     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4792     *count += sizeof(uint32_t);
4793 }
4794 
count_VkPrivateDataSlotCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPrivateDataSlotCreateInfo * toCount,size_t * count)4795 void count_VkPrivateDataSlotCreateInfo(uint32_t featureBits, VkStructureType rootType,
4796                                        const VkPrivateDataSlotCreateInfo* toCount, size_t* count) {
4797     (void)featureBits;
4798     (void)rootType;
4799     (void)toCount;
4800     (void)count;
4801     *count += sizeof(VkStructureType);
4802     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4803         rootType = toCount->sType;
4804     }
4805     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4806     *count += sizeof(VkPrivateDataSlotCreateFlags);
4807 }
4808 
count_VkPhysicalDevicePipelineCreationCacheControlFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineCreationCacheControlFeatures * toCount,size_t * count)4809 void count_VkPhysicalDevicePipelineCreationCacheControlFeatures(
4810     uint32_t featureBits, VkStructureType rootType,
4811     const VkPhysicalDevicePipelineCreationCacheControlFeatures* toCount, size_t* count) {
4812     (void)featureBits;
4813     (void)rootType;
4814     (void)toCount;
4815     (void)count;
4816     *count += sizeof(VkStructureType);
4817     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4818         rootType = toCount->sType;
4819     }
4820     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4821     *count += sizeof(VkBool32);
4822 }
4823 
count_VkMemoryBarrier2(uint32_t featureBits,VkStructureType rootType,const VkMemoryBarrier2 * toCount,size_t * count)4824 void count_VkMemoryBarrier2(uint32_t featureBits, VkStructureType rootType,
4825                             const VkMemoryBarrier2* toCount, size_t* count) {
4826     (void)featureBits;
4827     (void)rootType;
4828     (void)toCount;
4829     (void)count;
4830     *count += sizeof(VkStructureType);
4831     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4832         rootType = toCount->sType;
4833     }
4834     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4835     *count += sizeof(VkPipelineStageFlags2);
4836     *count += sizeof(VkAccessFlags2);
4837     *count += sizeof(VkPipelineStageFlags2);
4838     *count += sizeof(VkAccessFlags2);
4839 }
4840 
count_VkBufferMemoryBarrier2(uint32_t featureBits,VkStructureType rootType,const VkBufferMemoryBarrier2 * toCount,size_t * count)4841 void count_VkBufferMemoryBarrier2(uint32_t featureBits, VkStructureType rootType,
4842                                   const VkBufferMemoryBarrier2* toCount, size_t* count) {
4843     (void)featureBits;
4844     (void)rootType;
4845     (void)toCount;
4846     (void)count;
4847     *count += sizeof(VkStructureType);
4848     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4849         rootType = toCount->sType;
4850     }
4851     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4852     *count += sizeof(VkPipelineStageFlags2);
4853     *count += sizeof(VkAccessFlags2);
4854     *count += sizeof(VkPipelineStageFlags2);
4855     *count += sizeof(VkAccessFlags2);
4856     *count += sizeof(uint32_t);
4857     *count += sizeof(uint32_t);
4858     uint64_t cgen_var_0;
4859     *count += 1 * 8;
4860     *count += sizeof(VkDeviceSize);
4861     *count += sizeof(VkDeviceSize);
4862 }
4863 
count_VkImageMemoryBarrier2(uint32_t featureBits,VkStructureType rootType,const VkImageMemoryBarrier2 * toCount,size_t * count)4864 void count_VkImageMemoryBarrier2(uint32_t featureBits, VkStructureType rootType,
4865                                  const VkImageMemoryBarrier2* toCount, size_t* count) {
4866     (void)featureBits;
4867     (void)rootType;
4868     (void)toCount;
4869     (void)count;
4870     *count += sizeof(VkStructureType);
4871     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4872         rootType = toCount->sType;
4873     }
4874     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4875     *count += sizeof(VkPipelineStageFlags2);
4876     *count += sizeof(VkAccessFlags2);
4877     *count += sizeof(VkPipelineStageFlags2);
4878     *count += sizeof(VkAccessFlags2);
4879     *count += sizeof(VkImageLayout);
4880     *count += sizeof(VkImageLayout);
4881     *count += sizeof(uint32_t);
4882     *count += sizeof(uint32_t);
4883     uint64_t cgen_var_0;
4884     *count += 1 * 8;
4885     count_VkImageSubresourceRange(featureBits, rootType,
4886                                   (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
4887 }
4888 
count_VkDependencyInfo(uint32_t featureBits,VkStructureType rootType,const VkDependencyInfo * toCount,size_t * count)4889 void count_VkDependencyInfo(uint32_t featureBits, VkStructureType rootType,
4890                             const VkDependencyInfo* toCount, size_t* count) {
4891     (void)featureBits;
4892     (void)rootType;
4893     (void)toCount;
4894     (void)count;
4895     *count += sizeof(VkStructureType);
4896     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4897         rootType = toCount->sType;
4898     }
4899     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4900     *count += sizeof(VkDependencyFlags);
4901     *count += sizeof(uint32_t);
4902     if (toCount) {
4903         for (uint32_t i = 0; i < (uint32_t)toCount->memoryBarrierCount; ++i) {
4904             count_VkMemoryBarrier2(featureBits, rootType,
4905                                    (const VkMemoryBarrier2*)(toCount->pMemoryBarriers + i), count);
4906         }
4907     }
4908     *count += sizeof(uint32_t);
4909     if (toCount) {
4910         for (uint32_t i = 0; i < (uint32_t)toCount->bufferMemoryBarrierCount; ++i) {
4911             count_VkBufferMemoryBarrier2(
4912                 featureBits, rootType,
4913                 (const VkBufferMemoryBarrier2*)(toCount->pBufferMemoryBarriers + i), count);
4914         }
4915     }
4916     *count += sizeof(uint32_t);
4917     if (toCount) {
4918         for (uint32_t i = 0; i < (uint32_t)toCount->imageMemoryBarrierCount; ++i) {
4919             count_VkImageMemoryBarrier2(
4920                 featureBits, rootType,
4921                 (const VkImageMemoryBarrier2*)(toCount->pImageMemoryBarriers + i), count);
4922         }
4923     }
4924 }
4925 
count_VkSemaphoreSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreSubmitInfo * toCount,size_t * count)4926 void count_VkSemaphoreSubmitInfo(uint32_t featureBits, VkStructureType rootType,
4927                                  const VkSemaphoreSubmitInfo* toCount, size_t* count) {
4928     (void)featureBits;
4929     (void)rootType;
4930     (void)toCount;
4931     (void)count;
4932     *count += sizeof(VkStructureType);
4933     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4934         rootType = toCount->sType;
4935     }
4936     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4937     uint64_t cgen_var_0;
4938     *count += 1 * 8;
4939     *count += sizeof(uint64_t);
4940     *count += sizeof(VkPipelineStageFlags2);
4941     *count += sizeof(uint32_t);
4942 }
4943 
count_VkCommandBufferSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferSubmitInfo * toCount,size_t * count)4944 void count_VkCommandBufferSubmitInfo(uint32_t featureBits, VkStructureType rootType,
4945                                      const VkCommandBufferSubmitInfo* toCount, size_t* count) {
4946     (void)featureBits;
4947     (void)rootType;
4948     (void)toCount;
4949     (void)count;
4950     *count += sizeof(VkStructureType);
4951     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4952         rootType = toCount->sType;
4953     }
4954     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4955     uint64_t cgen_var_0;
4956     *count += 1 * 8;
4957     *count += sizeof(uint32_t);
4958 }
4959 
count_VkSubmitInfo2(uint32_t featureBits,VkStructureType rootType,const VkSubmitInfo2 * toCount,size_t * count)4960 void count_VkSubmitInfo2(uint32_t featureBits, VkStructureType rootType,
4961                          const VkSubmitInfo2* toCount, size_t* count) {
4962     (void)featureBits;
4963     (void)rootType;
4964     (void)toCount;
4965     (void)count;
4966     *count += sizeof(VkStructureType);
4967     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4968         rootType = toCount->sType;
4969     }
4970     count_extension_struct(featureBits, rootType, toCount->pNext, count);
4971     *count += sizeof(VkSubmitFlags);
4972     *count += sizeof(uint32_t);
4973     if (toCount) {
4974         for (uint32_t i = 0; i < (uint32_t)toCount->waitSemaphoreInfoCount; ++i) {
4975             count_VkSemaphoreSubmitInfo(
4976                 featureBits, rootType,
4977                 (const VkSemaphoreSubmitInfo*)(toCount->pWaitSemaphoreInfos + i), count);
4978         }
4979     }
4980     *count += sizeof(uint32_t);
4981     if (toCount) {
4982         for (uint32_t i = 0; i < (uint32_t)toCount->commandBufferInfoCount; ++i) {
4983             count_VkCommandBufferSubmitInfo(
4984                 featureBits, rootType,
4985                 (const VkCommandBufferSubmitInfo*)(toCount->pCommandBufferInfos + i), count);
4986         }
4987     }
4988     *count += sizeof(uint32_t);
4989     if (toCount) {
4990         for (uint32_t i = 0; i < (uint32_t)toCount->signalSemaphoreInfoCount; ++i) {
4991             count_VkSemaphoreSubmitInfo(
4992                 featureBits, rootType,
4993                 (const VkSemaphoreSubmitInfo*)(toCount->pSignalSemaphoreInfos + i), count);
4994         }
4995     }
4996 }
4997 
count_VkPhysicalDeviceSynchronization2Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSynchronization2Features * toCount,size_t * count)4998 void count_VkPhysicalDeviceSynchronization2Features(
4999     uint32_t featureBits, VkStructureType rootType,
5000     const VkPhysicalDeviceSynchronization2Features* toCount, size_t* count) {
5001     (void)featureBits;
5002     (void)rootType;
5003     (void)toCount;
5004     (void)count;
5005     *count += sizeof(VkStructureType);
5006     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5007         rootType = toCount->sType;
5008     }
5009     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5010     *count += sizeof(VkBool32);
5011 }
5012 
count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * toCount,size_t * count)5013 void count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
5014     uint32_t featureBits, VkStructureType rootType,
5015     const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* toCount, size_t* count) {
5016     (void)featureBits;
5017     (void)rootType;
5018     (void)toCount;
5019     (void)count;
5020     *count += sizeof(VkStructureType);
5021     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5022         rootType = toCount->sType;
5023     }
5024     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5025     *count += sizeof(VkBool32);
5026 }
5027 
count_VkPhysicalDeviceImageRobustnessFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageRobustnessFeatures * toCount,size_t * count)5028 void count_VkPhysicalDeviceImageRobustnessFeatures(
5029     uint32_t featureBits, VkStructureType rootType,
5030     const VkPhysicalDeviceImageRobustnessFeatures* toCount, size_t* count) {
5031     (void)featureBits;
5032     (void)rootType;
5033     (void)toCount;
5034     (void)count;
5035     *count += sizeof(VkStructureType);
5036     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5037         rootType = toCount->sType;
5038     }
5039     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5040     *count += sizeof(VkBool32);
5041 }
5042 
count_VkBufferCopy2(uint32_t featureBits,VkStructureType rootType,const VkBufferCopy2 * toCount,size_t * count)5043 void count_VkBufferCopy2(uint32_t featureBits, VkStructureType rootType,
5044                          const VkBufferCopy2* toCount, size_t* count) {
5045     (void)featureBits;
5046     (void)rootType;
5047     (void)toCount;
5048     (void)count;
5049     *count += sizeof(VkStructureType);
5050     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5051         rootType = toCount->sType;
5052     }
5053     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5054     *count += sizeof(VkDeviceSize);
5055     *count += sizeof(VkDeviceSize);
5056     *count += sizeof(VkDeviceSize);
5057 }
5058 
count_VkCopyBufferInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyBufferInfo2 * toCount,size_t * count)5059 void count_VkCopyBufferInfo2(uint32_t featureBits, VkStructureType rootType,
5060                              const VkCopyBufferInfo2* toCount, size_t* count) {
5061     (void)featureBits;
5062     (void)rootType;
5063     (void)toCount;
5064     (void)count;
5065     *count += sizeof(VkStructureType);
5066     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5067         rootType = toCount->sType;
5068     }
5069     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5070     uint64_t cgen_var_0;
5071     *count += 1 * 8;
5072     uint64_t cgen_var_1;
5073     *count += 1 * 8;
5074     *count += sizeof(uint32_t);
5075     if (toCount) {
5076         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5077             count_VkBufferCopy2(featureBits, rootType,
5078                                 (const VkBufferCopy2*)(toCount->pRegions + i), count);
5079         }
5080     }
5081 }
5082 
count_VkImageCopy2(uint32_t featureBits,VkStructureType rootType,const VkImageCopy2 * toCount,size_t * count)5083 void count_VkImageCopy2(uint32_t featureBits, VkStructureType rootType, const VkImageCopy2* toCount,
5084                         size_t* count) {
5085     (void)featureBits;
5086     (void)rootType;
5087     (void)toCount;
5088     (void)count;
5089     *count += sizeof(VkStructureType);
5090     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5091         rootType = toCount->sType;
5092     }
5093     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5094     count_VkImageSubresourceLayers(featureBits, rootType,
5095                                    (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
5096     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
5097     count_VkImageSubresourceLayers(featureBits, rootType,
5098                                    (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
5099     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
5100     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
5101 }
5102 
count_VkCopyImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyImageInfo2 * toCount,size_t * count)5103 void count_VkCopyImageInfo2(uint32_t featureBits, VkStructureType rootType,
5104                             const VkCopyImageInfo2* toCount, size_t* count) {
5105     (void)featureBits;
5106     (void)rootType;
5107     (void)toCount;
5108     (void)count;
5109     *count += sizeof(VkStructureType);
5110     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5111         rootType = toCount->sType;
5112     }
5113     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5114     uint64_t cgen_var_0;
5115     *count += 1 * 8;
5116     *count += sizeof(VkImageLayout);
5117     uint64_t cgen_var_1;
5118     *count += 1 * 8;
5119     *count += sizeof(VkImageLayout);
5120     *count += sizeof(uint32_t);
5121     if (toCount) {
5122         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5123             count_VkImageCopy2(featureBits, rootType, (const VkImageCopy2*)(toCount->pRegions + i),
5124                                count);
5125         }
5126     }
5127 }
5128 
count_VkBufferImageCopy2(uint32_t featureBits,VkStructureType rootType,const VkBufferImageCopy2 * toCount,size_t * count)5129 void count_VkBufferImageCopy2(uint32_t featureBits, VkStructureType rootType,
5130                               const VkBufferImageCopy2* toCount, size_t* count) {
5131     (void)featureBits;
5132     (void)rootType;
5133     (void)toCount;
5134     (void)count;
5135     *count += sizeof(VkStructureType);
5136     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5137         rootType = toCount->sType;
5138     }
5139     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5140     *count += sizeof(VkDeviceSize);
5141     *count += sizeof(uint32_t);
5142     *count += sizeof(uint32_t);
5143     count_VkImageSubresourceLayers(featureBits, rootType,
5144                                    (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
5145     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
5146     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
5147 }
5148 
count_VkCopyBufferToImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyBufferToImageInfo2 * toCount,size_t * count)5149 void count_VkCopyBufferToImageInfo2(uint32_t featureBits, VkStructureType rootType,
5150                                     const VkCopyBufferToImageInfo2* toCount, size_t* count) {
5151     (void)featureBits;
5152     (void)rootType;
5153     (void)toCount;
5154     (void)count;
5155     *count += sizeof(VkStructureType);
5156     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5157         rootType = toCount->sType;
5158     }
5159     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5160     uint64_t cgen_var_0;
5161     *count += 1 * 8;
5162     uint64_t cgen_var_1;
5163     *count += 1 * 8;
5164     *count += sizeof(VkImageLayout);
5165     *count += sizeof(uint32_t);
5166     if (toCount) {
5167         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5168             count_VkBufferImageCopy2(featureBits, rootType,
5169                                      (const VkBufferImageCopy2*)(toCount->pRegions + i), count);
5170         }
5171     }
5172 }
5173 
count_VkCopyImageToBufferInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyImageToBufferInfo2 * toCount,size_t * count)5174 void count_VkCopyImageToBufferInfo2(uint32_t featureBits, VkStructureType rootType,
5175                                     const VkCopyImageToBufferInfo2* toCount, size_t* count) {
5176     (void)featureBits;
5177     (void)rootType;
5178     (void)toCount;
5179     (void)count;
5180     *count += sizeof(VkStructureType);
5181     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5182         rootType = toCount->sType;
5183     }
5184     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5185     uint64_t cgen_var_0;
5186     *count += 1 * 8;
5187     *count += sizeof(VkImageLayout);
5188     uint64_t cgen_var_1;
5189     *count += 1 * 8;
5190     *count += sizeof(uint32_t);
5191     if (toCount) {
5192         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5193             count_VkBufferImageCopy2(featureBits, rootType,
5194                                      (const VkBufferImageCopy2*)(toCount->pRegions + i), count);
5195         }
5196     }
5197 }
5198 
count_VkImageBlit2(uint32_t featureBits,VkStructureType rootType,const VkImageBlit2 * toCount,size_t * count)5199 void count_VkImageBlit2(uint32_t featureBits, VkStructureType rootType, const VkImageBlit2* toCount,
5200                         size_t* count) {
5201     (void)featureBits;
5202     (void)rootType;
5203     (void)toCount;
5204     (void)count;
5205     *count += sizeof(VkStructureType);
5206     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5207         rootType = toCount->sType;
5208     }
5209     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5210     count_VkImageSubresourceLayers(featureBits, rootType,
5211                                    (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
5212     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
5213         count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->srcOffsets + i), count);
5214     }
5215     count_VkImageSubresourceLayers(featureBits, rootType,
5216                                    (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
5217     for (uint32_t i = 0; i < (uint32_t)2; ++i) {
5218         count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->dstOffsets + i), count);
5219     }
5220 }
5221 
count_VkBlitImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkBlitImageInfo2 * toCount,size_t * count)5222 void count_VkBlitImageInfo2(uint32_t featureBits, VkStructureType rootType,
5223                             const VkBlitImageInfo2* toCount, size_t* count) {
5224     (void)featureBits;
5225     (void)rootType;
5226     (void)toCount;
5227     (void)count;
5228     *count += sizeof(VkStructureType);
5229     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5230         rootType = toCount->sType;
5231     }
5232     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5233     uint64_t cgen_var_0;
5234     *count += 1 * 8;
5235     *count += sizeof(VkImageLayout);
5236     uint64_t cgen_var_1;
5237     *count += 1 * 8;
5238     *count += sizeof(VkImageLayout);
5239     *count += sizeof(uint32_t);
5240     if (toCount) {
5241         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5242             count_VkImageBlit2(featureBits, rootType, (const VkImageBlit2*)(toCount->pRegions + i),
5243                                count);
5244         }
5245     }
5246     *count += sizeof(VkFilter);
5247 }
5248 
count_VkImageResolve2(uint32_t featureBits,VkStructureType rootType,const VkImageResolve2 * toCount,size_t * count)5249 void count_VkImageResolve2(uint32_t featureBits, VkStructureType rootType,
5250                            const VkImageResolve2* toCount, size_t* count) {
5251     (void)featureBits;
5252     (void)rootType;
5253     (void)toCount;
5254     (void)count;
5255     *count += sizeof(VkStructureType);
5256     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5257         rootType = toCount->sType;
5258     }
5259     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5260     count_VkImageSubresourceLayers(featureBits, rootType,
5261                                    (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
5262     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
5263     count_VkImageSubresourceLayers(featureBits, rootType,
5264                                    (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
5265     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
5266     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
5267 }
5268 
count_VkResolveImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkResolveImageInfo2 * toCount,size_t * count)5269 void count_VkResolveImageInfo2(uint32_t featureBits, VkStructureType rootType,
5270                                const VkResolveImageInfo2* toCount, size_t* count) {
5271     (void)featureBits;
5272     (void)rootType;
5273     (void)toCount;
5274     (void)count;
5275     *count += sizeof(VkStructureType);
5276     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5277         rootType = toCount->sType;
5278     }
5279     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5280     uint64_t cgen_var_0;
5281     *count += 1 * 8;
5282     *count += sizeof(VkImageLayout);
5283     uint64_t cgen_var_1;
5284     *count += 1 * 8;
5285     *count += sizeof(VkImageLayout);
5286     *count += sizeof(uint32_t);
5287     if (toCount) {
5288         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5289             count_VkImageResolve2(featureBits, rootType,
5290                                   (const VkImageResolve2*)(toCount->pRegions + i), count);
5291         }
5292     }
5293 }
5294 
count_VkPhysicalDeviceSubgroupSizeControlFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlFeatures * toCount,size_t * count)5295 void count_VkPhysicalDeviceSubgroupSizeControlFeatures(
5296     uint32_t featureBits, VkStructureType rootType,
5297     const VkPhysicalDeviceSubgroupSizeControlFeatures* toCount, size_t* count) {
5298     (void)featureBits;
5299     (void)rootType;
5300     (void)toCount;
5301     (void)count;
5302     *count += sizeof(VkStructureType);
5303     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5304         rootType = toCount->sType;
5305     }
5306     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5307     *count += sizeof(VkBool32);
5308     *count += sizeof(VkBool32);
5309 }
5310 
count_VkPhysicalDeviceSubgroupSizeControlProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlProperties * toCount,size_t * count)5311 void count_VkPhysicalDeviceSubgroupSizeControlProperties(
5312     uint32_t featureBits, VkStructureType rootType,
5313     const VkPhysicalDeviceSubgroupSizeControlProperties* toCount, size_t* count) {
5314     (void)featureBits;
5315     (void)rootType;
5316     (void)toCount;
5317     (void)count;
5318     *count += sizeof(VkStructureType);
5319     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5320         rootType = toCount->sType;
5321     }
5322     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5323     *count += sizeof(uint32_t);
5324     *count += sizeof(uint32_t);
5325     *count += sizeof(uint32_t);
5326     *count += sizeof(VkShaderStageFlags);
5327 }
5328 
count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * toCount,size_t * count)5329 void count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
5330     uint32_t featureBits, VkStructureType rootType,
5331     const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* toCount, size_t* count) {
5332     (void)featureBits;
5333     (void)rootType;
5334     (void)toCount;
5335     (void)count;
5336     *count += sizeof(VkStructureType);
5337     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5338         rootType = toCount->sType;
5339     }
5340     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5341     *count += sizeof(uint32_t);
5342 }
5343 
count_VkPhysicalDeviceInlineUniformBlockFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockFeatures * toCount,size_t * count)5344 void count_VkPhysicalDeviceInlineUniformBlockFeatures(
5345     uint32_t featureBits, VkStructureType rootType,
5346     const VkPhysicalDeviceInlineUniformBlockFeatures* toCount, size_t* count) {
5347     (void)featureBits;
5348     (void)rootType;
5349     (void)toCount;
5350     (void)count;
5351     *count += sizeof(VkStructureType);
5352     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5353         rootType = toCount->sType;
5354     }
5355     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5356     *count += sizeof(VkBool32);
5357     *count += sizeof(VkBool32);
5358 }
5359 
count_VkPhysicalDeviceInlineUniformBlockProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockProperties * toCount,size_t * count)5360 void count_VkPhysicalDeviceInlineUniformBlockProperties(
5361     uint32_t featureBits, VkStructureType rootType,
5362     const VkPhysicalDeviceInlineUniformBlockProperties* toCount, size_t* count) {
5363     (void)featureBits;
5364     (void)rootType;
5365     (void)toCount;
5366     (void)count;
5367     *count += sizeof(VkStructureType);
5368     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5369         rootType = toCount->sType;
5370     }
5371     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5372     *count += sizeof(uint32_t);
5373     *count += sizeof(uint32_t);
5374     *count += sizeof(uint32_t);
5375     *count += sizeof(uint32_t);
5376     *count += sizeof(uint32_t);
5377 }
5378 
count_VkWriteDescriptorSetInlineUniformBlock(uint32_t featureBits,VkStructureType rootType,const VkWriteDescriptorSetInlineUniformBlock * toCount,size_t * count)5379 void count_VkWriteDescriptorSetInlineUniformBlock(
5380     uint32_t featureBits, VkStructureType rootType,
5381     const VkWriteDescriptorSetInlineUniformBlock* toCount, size_t* count) {
5382     (void)featureBits;
5383     (void)rootType;
5384     (void)toCount;
5385     (void)count;
5386     *count += sizeof(VkStructureType);
5387     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5388         rootType = toCount->sType;
5389     }
5390     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5391     *count += sizeof(uint32_t);
5392     if (toCount) {
5393         *count += toCount->dataSize * sizeof(const uint8_t);
5394     }
5395 }
5396 
count_VkDescriptorPoolInlineUniformBlockCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorPoolInlineUniformBlockCreateInfo * toCount,size_t * count)5397 void count_VkDescriptorPoolInlineUniformBlockCreateInfo(
5398     uint32_t featureBits, VkStructureType rootType,
5399     const VkDescriptorPoolInlineUniformBlockCreateInfo* toCount, size_t* count) {
5400     (void)featureBits;
5401     (void)rootType;
5402     (void)toCount;
5403     (void)count;
5404     *count += sizeof(VkStructureType);
5405     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5406         rootType = toCount->sType;
5407     }
5408     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5409     *count += sizeof(uint32_t);
5410 }
5411 
count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * toCount,size_t * count)5412 void count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
5413     uint32_t featureBits, VkStructureType rootType,
5414     const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* toCount, size_t* count) {
5415     (void)featureBits;
5416     (void)rootType;
5417     (void)toCount;
5418     (void)count;
5419     *count += sizeof(VkStructureType);
5420     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5421         rootType = toCount->sType;
5422     }
5423     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5424     *count += sizeof(VkBool32);
5425 }
5426 
count_VkRenderingAttachmentInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingAttachmentInfo * toCount,size_t * count)5427 void count_VkRenderingAttachmentInfo(uint32_t featureBits, VkStructureType rootType,
5428                                      const VkRenderingAttachmentInfo* toCount, size_t* count) {
5429     (void)featureBits;
5430     (void)rootType;
5431     (void)toCount;
5432     (void)count;
5433     *count += sizeof(VkStructureType);
5434     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5435         rootType = toCount->sType;
5436     }
5437     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5438     uint64_t cgen_var_0;
5439     *count += 1 * 8;
5440     *count += sizeof(VkImageLayout);
5441     *count += sizeof(VkResolveModeFlagBits);
5442     uint64_t cgen_var_1;
5443     *count += 1 * 8;
5444     *count += sizeof(VkImageLayout);
5445     *count += sizeof(VkAttachmentLoadOp);
5446     *count += sizeof(VkAttachmentStoreOp);
5447     count_VkClearValue(featureBits, rootType, (VkClearValue*)(&toCount->clearValue), count);
5448 }
5449 
count_VkRenderingInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingInfo * toCount,size_t * count)5450 void count_VkRenderingInfo(uint32_t featureBits, VkStructureType rootType,
5451                            const VkRenderingInfo* toCount, size_t* count) {
5452     (void)featureBits;
5453     (void)rootType;
5454     (void)toCount;
5455     (void)count;
5456     *count += sizeof(VkStructureType);
5457     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5458         rootType = toCount->sType;
5459     }
5460     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5461     *count += sizeof(VkRenderingFlags);
5462     count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->renderArea), count);
5463     *count += sizeof(uint32_t);
5464     *count += sizeof(uint32_t);
5465     *count += sizeof(uint32_t);
5466     if (toCount) {
5467         for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
5468             count_VkRenderingAttachmentInfo(
5469                 featureBits, rootType,
5470                 (const VkRenderingAttachmentInfo*)(toCount->pColorAttachments + i), count);
5471         }
5472     }
5473     // WARNING PTR CHECK
5474     *count += 8;
5475     if (toCount->pDepthAttachment) {
5476         count_VkRenderingAttachmentInfo(
5477             featureBits, rootType, (const VkRenderingAttachmentInfo*)(toCount->pDepthAttachment),
5478             count);
5479     }
5480     // WARNING PTR CHECK
5481     *count += 8;
5482     if (toCount->pStencilAttachment) {
5483         count_VkRenderingAttachmentInfo(
5484             featureBits, rootType, (const VkRenderingAttachmentInfo*)(toCount->pStencilAttachment),
5485             count);
5486     }
5487 }
5488 
count_VkPipelineRenderingCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineRenderingCreateInfo * toCount,size_t * count)5489 void count_VkPipelineRenderingCreateInfo(uint32_t featureBits, VkStructureType rootType,
5490                                          const VkPipelineRenderingCreateInfo* toCount,
5491                                          size_t* count) {
5492     (void)featureBits;
5493     (void)rootType;
5494     (void)toCount;
5495     (void)count;
5496     *count += sizeof(VkStructureType);
5497     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5498         rootType = toCount->sType;
5499     }
5500     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5501     *count += sizeof(uint32_t);
5502     *count += sizeof(uint32_t);
5503     // WARNING PTR CHECK
5504     *count += 8;
5505     if (toCount->pColorAttachmentFormats) {
5506         if (toCount) {
5507             *count += toCount->colorAttachmentCount * sizeof(const VkFormat);
5508         }
5509     }
5510     *count += sizeof(VkFormat);
5511     *count += sizeof(VkFormat);
5512 }
5513 
count_VkPhysicalDeviceDynamicRenderingFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingFeatures * toCount,size_t * count)5514 void count_VkPhysicalDeviceDynamicRenderingFeatures(
5515     uint32_t featureBits, VkStructureType rootType,
5516     const VkPhysicalDeviceDynamicRenderingFeatures* toCount, size_t* count) {
5517     (void)featureBits;
5518     (void)rootType;
5519     (void)toCount;
5520     (void)count;
5521     *count += sizeof(VkStructureType);
5522     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5523         rootType = toCount->sType;
5524     }
5525     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5526     *count += sizeof(VkBool32);
5527 }
5528 
count_VkCommandBufferInheritanceRenderingInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceRenderingInfo * toCount,size_t * count)5529 void count_VkCommandBufferInheritanceRenderingInfo(
5530     uint32_t featureBits, VkStructureType rootType,
5531     const VkCommandBufferInheritanceRenderingInfo* toCount, size_t* count) {
5532     (void)featureBits;
5533     (void)rootType;
5534     (void)toCount;
5535     (void)count;
5536     *count += sizeof(VkStructureType);
5537     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5538         rootType = toCount->sType;
5539     }
5540     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5541     *count += sizeof(VkRenderingFlags);
5542     *count += sizeof(uint32_t);
5543     *count += sizeof(uint32_t);
5544     if (toCount) {
5545         *count += toCount->colorAttachmentCount * sizeof(const VkFormat);
5546     }
5547     *count += sizeof(VkFormat);
5548     *count += sizeof(VkFormat);
5549     *count += sizeof(VkSampleCountFlagBits);
5550 }
5551 
count_VkPhysicalDeviceShaderIntegerDotProductFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductFeatures * toCount,size_t * count)5552 void count_VkPhysicalDeviceShaderIntegerDotProductFeatures(
5553     uint32_t featureBits, VkStructureType rootType,
5554     const VkPhysicalDeviceShaderIntegerDotProductFeatures* toCount, size_t* count) {
5555     (void)featureBits;
5556     (void)rootType;
5557     (void)toCount;
5558     (void)count;
5559     *count += sizeof(VkStructureType);
5560     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5561         rootType = toCount->sType;
5562     }
5563     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5564     *count += sizeof(VkBool32);
5565 }
5566 
count_VkPhysicalDeviceShaderIntegerDotProductProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductProperties * toCount,size_t * count)5567 void count_VkPhysicalDeviceShaderIntegerDotProductProperties(
5568     uint32_t featureBits, VkStructureType rootType,
5569     const VkPhysicalDeviceShaderIntegerDotProductProperties* toCount, size_t* count) {
5570     (void)featureBits;
5571     (void)rootType;
5572     (void)toCount;
5573     (void)count;
5574     *count += sizeof(VkStructureType);
5575     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5576         rootType = toCount->sType;
5577     }
5578     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5579     *count += sizeof(VkBool32);
5580     *count += sizeof(VkBool32);
5581     *count += sizeof(VkBool32);
5582     *count += sizeof(VkBool32);
5583     *count += sizeof(VkBool32);
5584     *count += sizeof(VkBool32);
5585     *count += sizeof(VkBool32);
5586     *count += sizeof(VkBool32);
5587     *count += sizeof(VkBool32);
5588     *count += sizeof(VkBool32);
5589     *count += sizeof(VkBool32);
5590     *count += sizeof(VkBool32);
5591     *count += sizeof(VkBool32);
5592     *count += sizeof(VkBool32);
5593     *count += sizeof(VkBool32);
5594     *count += sizeof(VkBool32);
5595     *count += sizeof(VkBool32);
5596     *count += sizeof(VkBool32);
5597     *count += sizeof(VkBool32);
5598     *count += sizeof(VkBool32);
5599     *count += sizeof(VkBool32);
5600     *count += sizeof(VkBool32);
5601     *count += sizeof(VkBool32);
5602     *count += sizeof(VkBool32);
5603     *count += sizeof(VkBool32);
5604     *count += sizeof(VkBool32);
5605     *count += sizeof(VkBool32);
5606     *count += sizeof(VkBool32);
5607     *count += sizeof(VkBool32);
5608     *count += sizeof(VkBool32);
5609 }
5610 
count_VkPhysicalDeviceTexelBufferAlignmentProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentProperties * toCount,size_t * count)5611 void count_VkPhysicalDeviceTexelBufferAlignmentProperties(
5612     uint32_t featureBits, VkStructureType rootType,
5613     const VkPhysicalDeviceTexelBufferAlignmentProperties* toCount, size_t* count) {
5614     (void)featureBits;
5615     (void)rootType;
5616     (void)toCount;
5617     (void)count;
5618     *count += sizeof(VkStructureType);
5619     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5620         rootType = toCount->sType;
5621     }
5622     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5623     *count += sizeof(VkDeviceSize);
5624     *count += sizeof(VkBool32);
5625     *count += sizeof(VkDeviceSize);
5626     *count += sizeof(VkBool32);
5627 }
5628 
count_VkFormatProperties3(uint32_t featureBits,VkStructureType rootType,const VkFormatProperties3 * toCount,size_t * count)5629 void count_VkFormatProperties3(uint32_t featureBits, VkStructureType rootType,
5630                                const VkFormatProperties3* toCount, size_t* count) {
5631     (void)featureBits;
5632     (void)rootType;
5633     (void)toCount;
5634     (void)count;
5635     *count += sizeof(VkStructureType);
5636     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5637         rootType = toCount->sType;
5638     }
5639     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5640     *count += sizeof(VkFormatFeatureFlags2);
5641     *count += sizeof(VkFormatFeatureFlags2);
5642     *count += sizeof(VkFormatFeatureFlags2);
5643 }
5644 
count_VkPhysicalDeviceMaintenance4Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Features * toCount,size_t * count)5645 void count_VkPhysicalDeviceMaintenance4Features(uint32_t featureBits, VkStructureType rootType,
5646                                                 const VkPhysicalDeviceMaintenance4Features* toCount,
5647                                                 size_t* count) {
5648     (void)featureBits;
5649     (void)rootType;
5650     (void)toCount;
5651     (void)count;
5652     *count += sizeof(VkStructureType);
5653     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5654         rootType = toCount->sType;
5655     }
5656     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5657     *count += sizeof(VkBool32);
5658 }
5659 
count_VkPhysicalDeviceMaintenance4Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Properties * toCount,size_t * count)5660 void count_VkPhysicalDeviceMaintenance4Properties(
5661     uint32_t featureBits, VkStructureType rootType,
5662     const VkPhysicalDeviceMaintenance4Properties* toCount, size_t* count) {
5663     (void)featureBits;
5664     (void)rootType;
5665     (void)toCount;
5666     (void)count;
5667     *count += sizeof(VkStructureType);
5668     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5669         rootType = toCount->sType;
5670     }
5671     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5672     *count += sizeof(VkDeviceSize);
5673 }
5674 
count_VkDeviceBufferMemoryRequirements(uint32_t featureBits,VkStructureType rootType,const VkDeviceBufferMemoryRequirements * toCount,size_t * count)5675 void count_VkDeviceBufferMemoryRequirements(uint32_t featureBits, VkStructureType rootType,
5676                                             const VkDeviceBufferMemoryRequirements* toCount,
5677                                             size_t* count) {
5678     (void)featureBits;
5679     (void)rootType;
5680     (void)toCount;
5681     (void)count;
5682     *count += sizeof(VkStructureType);
5683     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5684         rootType = toCount->sType;
5685     }
5686     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5687     count_VkBufferCreateInfo(featureBits, rootType,
5688                              (const VkBufferCreateInfo*)(toCount->pCreateInfo), count);
5689 }
5690 
count_VkDeviceImageMemoryRequirements(uint32_t featureBits,VkStructureType rootType,const VkDeviceImageMemoryRequirements * toCount,size_t * count)5691 void count_VkDeviceImageMemoryRequirements(uint32_t featureBits, VkStructureType rootType,
5692                                            const VkDeviceImageMemoryRequirements* toCount,
5693                                            size_t* count) {
5694     (void)featureBits;
5695     (void)rootType;
5696     (void)toCount;
5697     (void)count;
5698     *count += sizeof(VkStructureType);
5699     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5700         rootType = toCount->sType;
5701     }
5702     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5703     count_VkImageCreateInfo(featureBits, rootType, (const VkImageCreateInfo*)(toCount->pCreateInfo),
5704                             count);
5705     *count += sizeof(VkImageAspectFlagBits);
5706 }
5707 
5708 #endif
5709 #ifdef VK_KHR_surface
count_VkSurfaceCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkSurfaceCapabilitiesKHR * toCount,size_t * count)5710 void count_VkSurfaceCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
5711                                     const VkSurfaceCapabilitiesKHR* toCount, size_t* count) {
5712     (void)featureBits;
5713     (void)rootType;
5714     (void)toCount;
5715     (void)count;
5716     *count += sizeof(uint32_t);
5717     *count += sizeof(uint32_t);
5718     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->currentExtent), count);
5719     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minImageExtent), count);
5720     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxImageExtent), count);
5721     *count += sizeof(uint32_t);
5722     *count += sizeof(VkSurfaceTransformFlagsKHR);
5723     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
5724     *count += sizeof(VkCompositeAlphaFlagsKHR);
5725     *count += sizeof(VkImageUsageFlags);
5726 }
5727 
count_VkSurfaceFormatKHR(uint32_t featureBits,VkStructureType rootType,const VkSurfaceFormatKHR * toCount,size_t * count)5728 void count_VkSurfaceFormatKHR(uint32_t featureBits, VkStructureType rootType,
5729                               const VkSurfaceFormatKHR* toCount, size_t* count) {
5730     (void)featureBits;
5731     (void)rootType;
5732     (void)toCount;
5733     (void)count;
5734     *count += sizeof(VkFormat);
5735     *count += sizeof(VkColorSpaceKHR);
5736 }
5737 
5738 #endif
5739 #ifdef VK_KHR_swapchain
count_VkSwapchainCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkSwapchainCreateInfoKHR * toCount,size_t * count)5740 void count_VkSwapchainCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
5741                                     const VkSwapchainCreateInfoKHR* toCount, size_t* count) {
5742     (void)featureBits;
5743     (void)rootType;
5744     (void)toCount;
5745     (void)count;
5746     *count += sizeof(VkStructureType);
5747     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5748         rootType = toCount->sType;
5749     }
5750     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5751     *count += sizeof(VkSwapchainCreateFlagsKHR);
5752     uint64_t cgen_var_0;
5753     *count += 1 * 8;
5754     *count += sizeof(uint32_t);
5755     *count += sizeof(VkFormat);
5756     *count += sizeof(VkColorSpaceKHR);
5757     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->imageExtent), count);
5758     *count += sizeof(uint32_t);
5759     *count += sizeof(VkImageUsageFlags);
5760     *count += sizeof(VkSharingMode);
5761     *count += sizeof(uint32_t);
5762     // WARNING PTR CHECK
5763     *count += 8;
5764     if (toCount->pQueueFamilyIndices) {
5765         if (toCount) {
5766             *count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
5767         }
5768     }
5769     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
5770     *count += sizeof(VkCompositeAlphaFlagBitsKHR);
5771     *count += sizeof(VkPresentModeKHR);
5772     *count += sizeof(VkBool32);
5773     uint64_t cgen_var_1;
5774     *count += 1 * 8;
5775 }
5776 
count_VkPresentInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentInfoKHR * toCount,size_t * count)5777 void count_VkPresentInfoKHR(uint32_t featureBits, VkStructureType rootType,
5778                             const VkPresentInfoKHR* toCount, size_t* count) {
5779     (void)featureBits;
5780     (void)rootType;
5781     (void)toCount;
5782     (void)count;
5783     *count += sizeof(VkStructureType);
5784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5785         rootType = toCount->sType;
5786     }
5787     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5788     *count += sizeof(uint32_t);
5789     if (toCount->waitSemaphoreCount) {
5790         *count += toCount->waitSemaphoreCount * 8;
5791     }
5792     *count += sizeof(uint32_t);
5793     if (toCount->swapchainCount) {
5794         *count += toCount->swapchainCount * 8;
5795     }
5796     if (toCount) {
5797         *count += toCount->swapchainCount * sizeof(const uint32_t);
5798     }
5799     // WARNING PTR CHECK
5800     *count += 8;
5801     if (toCount->pResults) {
5802         if (toCount) {
5803             *count += toCount->swapchainCount * sizeof(VkResult);
5804         }
5805     }
5806 }
5807 
count_VkImageSwapchainCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImageSwapchainCreateInfoKHR * toCount,size_t * count)5808 void count_VkImageSwapchainCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
5809                                          const VkImageSwapchainCreateInfoKHR* toCount,
5810                                          size_t* count) {
5811     (void)featureBits;
5812     (void)rootType;
5813     (void)toCount;
5814     (void)count;
5815     *count += sizeof(VkStructureType);
5816     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5817         rootType = toCount->sType;
5818     }
5819     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5820     uint64_t cgen_var_0;
5821     *count += 1 * 8;
5822 }
5823 
count_VkBindImageMemorySwapchainInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkBindImageMemorySwapchainInfoKHR * toCount,size_t * count)5824 void count_VkBindImageMemorySwapchainInfoKHR(uint32_t featureBits, VkStructureType rootType,
5825                                              const VkBindImageMemorySwapchainInfoKHR* toCount,
5826                                              size_t* count) {
5827     (void)featureBits;
5828     (void)rootType;
5829     (void)toCount;
5830     (void)count;
5831     *count += sizeof(VkStructureType);
5832     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5833         rootType = toCount->sType;
5834     }
5835     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5836     uint64_t cgen_var_0;
5837     *count += 1 * 8;
5838     *count += sizeof(uint32_t);
5839 }
5840 
count_VkAcquireNextImageInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAcquireNextImageInfoKHR * toCount,size_t * count)5841 void count_VkAcquireNextImageInfoKHR(uint32_t featureBits, VkStructureType rootType,
5842                                      const VkAcquireNextImageInfoKHR* toCount, size_t* count) {
5843     (void)featureBits;
5844     (void)rootType;
5845     (void)toCount;
5846     (void)count;
5847     *count += sizeof(VkStructureType);
5848     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5849         rootType = toCount->sType;
5850     }
5851     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5852     uint64_t cgen_var_0;
5853     *count += 1 * 8;
5854     *count += sizeof(uint64_t);
5855     uint64_t cgen_var_1;
5856     *count += 1 * 8;
5857     uint64_t cgen_var_2;
5858     *count += 1 * 8;
5859     *count += sizeof(uint32_t);
5860 }
5861 
count_VkDeviceGroupPresentCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupPresentCapabilitiesKHR * toCount,size_t * count)5862 void count_VkDeviceGroupPresentCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
5863                                                const VkDeviceGroupPresentCapabilitiesKHR* toCount,
5864                                                size_t* count) {
5865     (void)featureBits;
5866     (void)rootType;
5867     (void)toCount;
5868     (void)count;
5869     *count += sizeof(VkStructureType);
5870     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5871         rootType = toCount->sType;
5872     }
5873     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5874     *count += VK_MAX_DEVICE_GROUP_SIZE * sizeof(uint32_t);
5875     *count += sizeof(VkDeviceGroupPresentModeFlagsKHR);
5876 }
5877 
count_VkDeviceGroupPresentInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupPresentInfoKHR * toCount,size_t * count)5878 void count_VkDeviceGroupPresentInfoKHR(uint32_t featureBits, VkStructureType rootType,
5879                                        const VkDeviceGroupPresentInfoKHR* toCount, size_t* count) {
5880     (void)featureBits;
5881     (void)rootType;
5882     (void)toCount;
5883     (void)count;
5884     *count += sizeof(VkStructureType);
5885     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5886         rootType = toCount->sType;
5887     }
5888     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5889     *count += sizeof(uint32_t);
5890     if (toCount) {
5891         *count += toCount->swapchainCount * sizeof(const uint32_t);
5892     }
5893     *count += sizeof(VkDeviceGroupPresentModeFlagBitsKHR);
5894 }
5895 
count_VkDeviceGroupSwapchainCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupSwapchainCreateInfoKHR * toCount,size_t * count)5896 void count_VkDeviceGroupSwapchainCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
5897                                                const VkDeviceGroupSwapchainCreateInfoKHR* toCount,
5898                                                size_t* count) {
5899     (void)featureBits;
5900     (void)rootType;
5901     (void)toCount;
5902     (void)count;
5903     *count += sizeof(VkStructureType);
5904     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5905         rootType = toCount->sType;
5906     }
5907     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5908     *count += sizeof(VkDeviceGroupPresentModeFlagsKHR);
5909 }
5910 
5911 #endif
5912 #ifdef VK_KHR_display
count_VkDisplayModeParametersKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayModeParametersKHR * toCount,size_t * count)5913 void count_VkDisplayModeParametersKHR(uint32_t featureBits, VkStructureType rootType,
5914                                       const VkDisplayModeParametersKHR* toCount, size_t* count) {
5915     (void)featureBits;
5916     (void)rootType;
5917     (void)toCount;
5918     (void)count;
5919     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->visibleRegion), count);
5920     *count += sizeof(uint32_t);
5921 }
5922 
count_VkDisplayModeCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayModeCreateInfoKHR * toCount,size_t * count)5923 void count_VkDisplayModeCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
5924                                       const VkDisplayModeCreateInfoKHR* toCount, size_t* count) {
5925     (void)featureBits;
5926     (void)rootType;
5927     (void)toCount;
5928     (void)count;
5929     *count += sizeof(VkStructureType);
5930     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5931         rootType = toCount->sType;
5932     }
5933     count_extension_struct(featureBits, rootType, toCount->pNext, count);
5934     *count += sizeof(VkDisplayModeCreateFlagsKHR);
5935     count_VkDisplayModeParametersKHR(featureBits, rootType,
5936                                      (VkDisplayModeParametersKHR*)(&toCount->parameters), count);
5937 }
5938 
count_VkDisplayModePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayModePropertiesKHR * toCount,size_t * count)5939 void count_VkDisplayModePropertiesKHR(uint32_t featureBits, VkStructureType rootType,
5940                                       const VkDisplayModePropertiesKHR* toCount, size_t* count) {
5941     (void)featureBits;
5942     (void)rootType;
5943     (void)toCount;
5944     (void)count;
5945     uint64_t cgen_var_0;
5946     *count += 1 * 8;
5947     count_VkDisplayModeParametersKHR(featureBits, rootType,
5948                                      (VkDisplayModeParametersKHR*)(&toCount->parameters), count);
5949 }
5950 
count_VkDisplayPlaneCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPlaneCapabilitiesKHR * toCount,size_t * count)5951 void count_VkDisplayPlaneCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
5952                                          const VkDisplayPlaneCapabilitiesKHR* toCount,
5953                                          size_t* count) {
5954     (void)featureBits;
5955     (void)rootType;
5956     (void)toCount;
5957     (void)count;
5958     *count += sizeof(VkDisplayPlaneAlphaFlagsKHR);
5959     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->minSrcPosition), count);
5960     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->maxSrcPosition), count);
5961     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minSrcExtent), count);
5962     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxSrcExtent), count);
5963     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->minDstPosition), count);
5964     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->maxDstPosition), count);
5965     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minDstExtent), count);
5966     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxDstExtent), count);
5967 }
5968 
count_VkDisplayPlanePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPlanePropertiesKHR * toCount,size_t * count)5969 void count_VkDisplayPlanePropertiesKHR(uint32_t featureBits, VkStructureType rootType,
5970                                        const VkDisplayPlanePropertiesKHR* toCount, size_t* count) {
5971     (void)featureBits;
5972     (void)rootType;
5973     (void)toCount;
5974     (void)count;
5975     uint64_t cgen_var_0;
5976     *count += 1 * 8;
5977     *count += sizeof(uint32_t);
5978 }
5979 
count_VkDisplayPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPropertiesKHR * toCount,size_t * count)5980 void count_VkDisplayPropertiesKHR(uint32_t featureBits, VkStructureType rootType,
5981                                   const VkDisplayPropertiesKHR* toCount, size_t* count) {
5982     (void)featureBits;
5983     (void)rootType;
5984     (void)toCount;
5985     (void)count;
5986     uint64_t cgen_var_0;
5987     *count += 1 * 8;
5988     *count += sizeof(uint32_t) + (toCount->displayName ? strlen(toCount->displayName) : 0);
5989     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->physicalDimensions), count);
5990     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->physicalResolution), count);
5991     *count += sizeof(VkSurfaceTransformFlagsKHR);
5992     *count += sizeof(VkBool32);
5993     *count += sizeof(VkBool32);
5994 }
5995 
count_VkDisplaySurfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplaySurfaceCreateInfoKHR * toCount,size_t * count)5996 void count_VkDisplaySurfaceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
5997                                          const VkDisplaySurfaceCreateInfoKHR* toCount,
5998                                          size_t* count) {
5999     (void)featureBits;
6000     (void)rootType;
6001     (void)toCount;
6002     (void)count;
6003     *count += sizeof(VkStructureType);
6004     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6005         rootType = toCount->sType;
6006     }
6007     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6008     *count += sizeof(VkDisplaySurfaceCreateFlagsKHR);
6009     uint64_t cgen_var_0;
6010     *count += 1 * 8;
6011     *count += sizeof(uint32_t);
6012     *count += sizeof(uint32_t);
6013     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
6014     *count += sizeof(float);
6015     *count += sizeof(VkDisplayPlaneAlphaFlagBitsKHR);
6016     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->imageExtent), count);
6017 }
6018 
6019 #endif
6020 #ifdef VK_KHR_display_swapchain
count_VkDisplayPresentInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPresentInfoKHR * toCount,size_t * count)6021 void count_VkDisplayPresentInfoKHR(uint32_t featureBits, VkStructureType rootType,
6022                                    const VkDisplayPresentInfoKHR* toCount, size_t* count) {
6023     (void)featureBits;
6024     (void)rootType;
6025     (void)toCount;
6026     (void)count;
6027     *count += sizeof(VkStructureType);
6028     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6029         rootType = toCount->sType;
6030     }
6031     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6032     count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->srcRect), count);
6033     count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->dstRect), count);
6034     *count += sizeof(VkBool32);
6035 }
6036 
6037 #endif
6038 #ifdef VK_KHR_xlib_surface
count_VkXlibSurfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkXlibSurfaceCreateInfoKHR * toCount,size_t * count)6039 void count_VkXlibSurfaceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6040                                       const VkXlibSurfaceCreateInfoKHR* toCount, size_t* count) {
6041     (void)featureBits;
6042     (void)rootType;
6043     (void)toCount;
6044     (void)count;
6045     *count += sizeof(VkStructureType);
6046     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6047         rootType = toCount->sType;
6048     }
6049     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6050     *count += sizeof(VkXlibSurfaceCreateFlagsKHR);
6051     // WARNING PTR CHECK
6052     *count += 8;
6053     if (toCount->dpy) {
6054         *count += sizeof(Display);
6055     }
6056     *count += sizeof(Window);
6057 }
6058 
6059 #endif
6060 #ifdef VK_KHR_xcb_surface
count_VkXcbSurfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkXcbSurfaceCreateInfoKHR * toCount,size_t * count)6061 void count_VkXcbSurfaceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6062                                      const VkXcbSurfaceCreateInfoKHR* toCount, size_t* count) {
6063     (void)featureBits;
6064     (void)rootType;
6065     (void)toCount;
6066     (void)count;
6067     *count += sizeof(VkStructureType);
6068     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6069         rootType = toCount->sType;
6070     }
6071     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6072     *count += sizeof(VkXcbSurfaceCreateFlagsKHR);
6073     // WARNING PTR CHECK
6074     *count += 8;
6075     if (toCount->connection) {
6076         *count += sizeof(xcb_connection_t);
6077     }
6078     *count += sizeof(xcb_window_t);
6079 }
6080 
6081 #endif
6082 #ifdef VK_KHR_wayland_surface
count_VkWaylandSurfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkWaylandSurfaceCreateInfoKHR * toCount,size_t * count)6083 void count_VkWaylandSurfaceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6084                                          const VkWaylandSurfaceCreateInfoKHR* toCount,
6085                                          size_t* count) {
6086     (void)featureBits;
6087     (void)rootType;
6088     (void)toCount;
6089     (void)count;
6090     *count += sizeof(VkStructureType);
6091     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6092         rootType = toCount->sType;
6093     }
6094     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6095     *count += sizeof(VkWaylandSurfaceCreateFlagsKHR);
6096     // WARNING PTR CHECK
6097     *count += 8;
6098     if (toCount->display) {
6099         *count += sizeof(wl_display);
6100     }
6101     // WARNING PTR CHECK
6102     *count += 8;
6103     if (toCount->surface) {
6104         *count += sizeof(wl_surface);
6105     }
6106 }
6107 
6108 #endif
6109 #ifdef VK_KHR_android_surface
count_VkAndroidSurfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAndroidSurfaceCreateInfoKHR * toCount,size_t * count)6110 void count_VkAndroidSurfaceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6111                                          const VkAndroidSurfaceCreateInfoKHR* toCount,
6112                                          size_t* count) {
6113     (void)featureBits;
6114     (void)rootType;
6115     (void)toCount;
6116     (void)count;
6117     *count += sizeof(VkStructureType);
6118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6119         rootType = toCount->sType;
6120     }
6121     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6122     *count += sizeof(VkAndroidSurfaceCreateFlagsKHR);
6123     // WARNING PTR CHECK
6124     *count += 8;
6125     if (toCount->window) {
6126         *count += sizeof(ANativeWindow);
6127     }
6128 }
6129 
6130 #endif
6131 #ifdef VK_KHR_win32_surface
count_VkWin32SurfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkWin32SurfaceCreateInfoKHR * toCount,size_t * count)6132 void count_VkWin32SurfaceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6133                                        const VkWin32SurfaceCreateInfoKHR* toCount, size_t* count) {
6134     (void)featureBits;
6135     (void)rootType;
6136     (void)toCount;
6137     (void)count;
6138     *count += sizeof(VkStructureType);
6139     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6140         rootType = toCount->sType;
6141     }
6142     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6143     *count += sizeof(VkWin32SurfaceCreateFlagsKHR);
6144     *count += sizeof(HINSTANCE);
6145     *count += sizeof(HWND);
6146 }
6147 
6148 #endif
6149 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
6150 #endif
6151 #ifdef VK_KHR_video_queue
count_VkQueueFamilyQueryResultStatusPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyQueryResultStatusPropertiesKHR * toCount,size_t * count)6152 void count_VkQueueFamilyQueryResultStatusPropertiesKHR(
6153     uint32_t featureBits, VkStructureType rootType,
6154     const VkQueueFamilyQueryResultStatusPropertiesKHR* toCount, size_t* count) {
6155     (void)featureBits;
6156     (void)rootType;
6157     (void)toCount;
6158     (void)count;
6159     *count += sizeof(VkStructureType);
6160     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6161         rootType = toCount->sType;
6162     }
6163     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6164     *count += sizeof(VkBool32);
6165 }
6166 
count_VkQueueFamilyVideoPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyVideoPropertiesKHR * toCount,size_t * count)6167 void count_VkQueueFamilyVideoPropertiesKHR(uint32_t featureBits, VkStructureType rootType,
6168                                            const VkQueueFamilyVideoPropertiesKHR* toCount,
6169                                            size_t* count) {
6170     (void)featureBits;
6171     (void)rootType;
6172     (void)toCount;
6173     (void)count;
6174     *count += sizeof(VkStructureType);
6175     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6176         rootType = toCount->sType;
6177     }
6178     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6179     *count += sizeof(VkVideoCodecOperationFlagsKHR);
6180 }
6181 
count_VkVideoProfileInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoProfileInfoKHR * toCount,size_t * count)6182 void count_VkVideoProfileInfoKHR(uint32_t featureBits, VkStructureType rootType,
6183                                  const VkVideoProfileInfoKHR* toCount, size_t* count) {
6184     (void)featureBits;
6185     (void)rootType;
6186     (void)toCount;
6187     (void)count;
6188     *count += sizeof(VkStructureType);
6189     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6190         rootType = toCount->sType;
6191     }
6192     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6193     *count += sizeof(VkVideoCodecOperationFlagBitsKHR);
6194     *count += sizeof(VkVideoChromaSubsamplingFlagsKHR);
6195     *count += sizeof(VkVideoComponentBitDepthFlagsKHR);
6196     *count += sizeof(VkVideoComponentBitDepthFlagsKHR);
6197 }
6198 
count_VkVideoProfileListInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoProfileListInfoKHR * toCount,size_t * count)6199 void count_VkVideoProfileListInfoKHR(uint32_t featureBits, VkStructureType rootType,
6200                                      const VkVideoProfileListInfoKHR* toCount, size_t* count) {
6201     (void)featureBits;
6202     (void)rootType;
6203     (void)toCount;
6204     (void)count;
6205     *count += sizeof(VkStructureType);
6206     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6207         rootType = toCount->sType;
6208     }
6209     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6210     *count += sizeof(uint32_t);
6211     if (toCount) {
6212         for (uint32_t i = 0; i < (uint32_t)toCount->profileCount; ++i) {
6213             count_VkVideoProfileInfoKHR(featureBits, rootType,
6214                                         (const VkVideoProfileInfoKHR*)(toCount->pProfiles + i),
6215                                         count);
6216         }
6217     }
6218 }
6219 
count_VkVideoCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoCapabilitiesKHR * toCount,size_t * count)6220 void count_VkVideoCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
6221                                   const VkVideoCapabilitiesKHR* toCount, size_t* count) {
6222     (void)featureBits;
6223     (void)rootType;
6224     (void)toCount;
6225     (void)count;
6226     *count += sizeof(VkStructureType);
6227     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6228         rootType = toCount->sType;
6229     }
6230     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6231     *count += sizeof(VkVideoCapabilityFlagsKHR);
6232     *count += sizeof(VkDeviceSize);
6233     *count += sizeof(VkDeviceSize);
6234     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->pictureAccessGranularity),
6235                      count);
6236     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minCodedExtent), count);
6237     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxCodedExtent), count);
6238     *count += sizeof(uint32_t);
6239     *count += sizeof(uint32_t);
6240     count_VkExtensionProperties(featureBits, rootType,
6241                                 (VkExtensionProperties*)(&toCount->stdHeaderVersion), count);
6242 }
6243 
count_VkPhysicalDeviceVideoFormatInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVideoFormatInfoKHR * toCount,size_t * count)6244 void count_VkPhysicalDeviceVideoFormatInfoKHR(uint32_t featureBits, VkStructureType rootType,
6245                                               const VkPhysicalDeviceVideoFormatInfoKHR* toCount,
6246                                               size_t* count) {
6247     (void)featureBits;
6248     (void)rootType;
6249     (void)toCount;
6250     (void)count;
6251     *count += sizeof(VkStructureType);
6252     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6253         rootType = toCount->sType;
6254     }
6255     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6256     *count += sizeof(VkImageUsageFlags);
6257 }
6258 
count_VkVideoFormatPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoFormatPropertiesKHR * toCount,size_t * count)6259 void count_VkVideoFormatPropertiesKHR(uint32_t featureBits, VkStructureType rootType,
6260                                       const VkVideoFormatPropertiesKHR* toCount, size_t* count) {
6261     (void)featureBits;
6262     (void)rootType;
6263     (void)toCount;
6264     (void)count;
6265     *count += sizeof(VkStructureType);
6266     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6267         rootType = toCount->sType;
6268     }
6269     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6270     *count += sizeof(VkFormat);
6271     count_VkComponentMapping(featureBits, rootType,
6272                              (VkComponentMapping*)(&toCount->componentMapping), count);
6273     *count += sizeof(VkImageCreateFlags);
6274     *count += sizeof(VkImageType);
6275     *count += sizeof(VkImageTiling);
6276     *count += sizeof(VkImageUsageFlags);
6277 }
6278 
count_VkVideoPictureResourceInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoPictureResourceInfoKHR * toCount,size_t * count)6279 void count_VkVideoPictureResourceInfoKHR(uint32_t featureBits, VkStructureType rootType,
6280                                          const VkVideoPictureResourceInfoKHR* toCount,
6281                                          size_t* count) {
6282     (void)featureBits;
6283     (void)rootType;
6284     (void)toCount;
6285     (void)count;
6286     *count += sizeof(VkStructureType);
6287     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6288         rootType = toCount->sType;
6289     }
6290     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6291     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->codedOffset), count);
6292     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->codedExtent), count);
6293     *count += sizeof(uint32_t);
6294     uint64_t cgen_var_0;
6295     *count += 1 * 8;
6296 }
6297 
count_VkVideoReferenceSlotInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoReferenceSlotInfoKHR * toCount,size_t * count)6298 void count_VkVideoReferenceSlotInfoKHR(uint32_t featureBits, VkStructureType rootType,
6299                                        const VkVideoReferenceSlotInfoKHR* toCount, size_t* count) {
6300     (void)featureBits;
6301     (void)rootType;
6302     (void)toCount;
6303     (void)count;
6304     *count += sizeof(VkStructureType);
6305     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6306         rootType = toCount->sType;
6307     }
6308     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6309     *count += sizeof(int32_t);
6310     // WARNING PTR CHECK
6311     *count += 8;
6312     if (toCount->pPictureResource) {
6313         count_VkVideoPictureResourceInfoKHR(
6314             featureBits, rootType,
6315             (const VkVideoPictureResourceInfoKHR*)(toCount->pPictureResource), count);
6316     }
6317 }
6318 
count_VkVideoSessionMemoryRequirementsKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoSessionMemoryRequirementsKHR * toCount,size_t * count)6319 void count_VkVideoSessionMemoryRequirementsKHR(uint32_t featureBits, VkStructureType rootType,
6320                                                const VkVideoSessionMemoryRequirementsKHR* toCount,
6321                                                size_t* count) {
6322     (void)featureBits;
6323     (void)rootType;
6324     (void)toCount;
6325     (void)count;
6326     *count += sizeof(VkStructureType);
6327     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6328         rootType = toCount->sType;
6329     }
6330     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6331     *count += sizeof(uint32_t);
6332     count_VkMemoryRequirements(featureBits, rootType,
6333                                (VkMemoryRequirements*)(&toCount->memoryRequirements), count);
6334 }
6335 
count_VkBindVideoSessionMemoryInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkBindVideoSessionMemoryInfoKHR * toCount,size_t * count)6336 void count_VkBindVideoSessionMemoryInfoKHR(uint32_t featureBits, VkStructureType rootType,
6337                                            const VkBindVideoSessionMemoryInfoKHR* toCount,
6338                                            size_t* count) {
6339     (void)featureBits;
6340     (void)rootType;
6341     (void)toCount;
6342     (void)count;
6343     *count += sizeof(VkStructureType);
6344     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6345         rootType = toCount->sType;
6346     }
6347     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6348     *count += sizeof(uint32_t);
6349     uint64_t cgen_var_0;
6350     *count += 1 * 8;
6351     *count += sizeof(VkDeviceSize);
6352     *count += sizeof(VkDeviceSize);
6353 }
6354 
count_VkVideoSessionCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoSessionCreateInfoKHR * toCount,size_t * count)6355 void count_VkVideoSessionCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6356                                        const VkVideoSessionCreateInfoKHR* toCount, size_t* count) {
6357     (void)featureBits;
6358     (void)rootType;
6359     (void)toCount;
6360     (void)count;
6361     *count += sizeof(VkStructureType);
6362     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6363         rootType = toCount->sType;
6364     }
6365     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6366     *count += sizeof(uint32_t);
6367     *count += sizeof(VkVideoSessionCreateFlagsKHR);
6368     count_VkVideoProfileInfoKHR(featureBits, rootType,
6369                                 (const VkVideoProfileInfoKHR*)(toCount->pVideoProfile), count);
6370     *count += sizeof(VkFormat);
6371     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxCodedExtent), count);
6372     *count += sizeof(VkFormat);
6373     *count += sizeof(uint32_t);
6374     *count += sizeof(uint32_t);
6375     count_VkExtensionProperties(featureBits, rootType,
6376                                 (const VkExtensionProperties*)(toCount->pStdHeaderVersion), count);
6377 }
6378 
count_VkVideoSessionParametersCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoSessionParametersCreateInfoKHR * toCount,size_t * count)6379 void count_VkVideoSessionParametersCreateInfoKHR(
6380     uint32_t featureBits, VkStructureType rootType,
6381     const VkVideoSessionParametersCreateInfoKHR* toCount, size_t* count) {
6382     (void)featureBits;
6383     (void)rootType;
6384     (void)toCount;
6385     (void)count;
6386     *count += sizeof(VkStructureType);
6387     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6388         rootType = toCount->sType;
6389     }
6390     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6391     *count += sizeof(VkVideoSessionParametersCreateFlagsKHR);
6392     *count += 8;
6393     *count += 8;
6394 }
6395 
count_VkVideoSessionParametersUpdateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoSessionParametersUpdateInfoKHR * toCount,size_t * count)6396 void count_VkVideoSessionParametersUpdateInfoKHR(
6397     uint32_t featureBits, VkStructureType rootType,
6398     const VkVideoSessionParametersUpdateInfoKHR* toCount, size_t* count) {
6399     (void)featureBits;
6400     (void)rootType;
6401     (void)toCount;
6402     (void)count;
6403     *count += sizeof(VkStructureType);
6404     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6405         rootType = toCount->sType;
6406     }
6407     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6408     *count += sizeof(uint32_t);
6409 }
6410 
count_VkVideoBeginCodingInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoBeginCodingInfoKHR * toCount,size_t * count)6411 void count_VkVideoBeginCodingInfoKHR(uint32_t featureBits, VkStructureType rootType,
6412                                      const VkVideoBeginCodingInfoKHR* toCount, size_t* count) {
6413     (void)featureBits;
6414     (void)rootType;
6415     (void)toCount;
6416     (void)count;
6417     *count += sizeof(VkStructureType);
6418     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6419         rootType = toCount->sType;
6420     }
6421     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6422     *count += sizeof(VkVideoBeginCodingFlagsKHR);
6423     *count += 8;
6424     *count += 8;
6425     *count += sizeof(uint32_t);
6426     if (toCount) {
6427         for (uint32_t i = 0; i < (uint32_t)toCount->referenceSlotCount; ++i) {
6428             count_VkVideoReferenceSlotInfoKHR(
6429                 featureBits, rootType,
6430                 (const VkVideoReferenceSlotInfoKHR*)(toCount->pReferenceSlots + i), count);
6431         }
6432     }
6433 }
6434 
count_VkVideoEndCodingInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoEndCodingInfoKHR * toCount,size_t * count)6435 void count_VkVideoEndCodingInfoKHR(uint32_t featureBits, VkStructureType rootType,
6436                                    const VkVideoEndCodingInfoKHR* toCount, size_t* count) {
6437     (void)featureBits;
6438     (void)rootType;
6439     (void)toCount;
6440     (void)count;
6441     *count += sizeof(VkStructureType);
6442     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6443         rootType = toCount->sType;
6444     }
6445     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6446     *count += sizeof(VkVideoEndCodingFlagsKHR);
6447 }
6448 
count_VkVideoCodingControlInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoCodingControlInfoKHR * toCount,size_t * count)6449 void count_VkVideoCodingControlInfoKHR(uint32_t featureBits, VkStructureType rootType,
6450                                        const VkVideoCodingControlInfoKHR* toCount, size_t* count) {
6451     (void)featureBits;
6452     (void)rootType;
6453     (void)toCount;
6454     (void)count;
6455     *count += sizeof(VkStructureType);
6456     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6457         rootType = toCount->sType;
6458     }
6459     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6460     *count += sizeof(VkVideoCodingControlFlagsKHR);
6461 }
6462 
6463 #endif
6464 #ifdef VK_KHR_video_decode_queue
count_VkVideoDecodeCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeCapabilitiesKHR * toCount,size_t * count)6465 void count_VkVideoDecodeCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
6466                                         const VkVideoDecodeCapabilitiesKHR* toCount,
6467                                         size_t* count) {
6468     (void)featureBits;
6469     (void)rootType;
6470     (void)toCount;
6471     (void)count;
6472     *count += sizeof(VkStructureType);
6473     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6474         rootType = toCount->sType;
6475     }
6476     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6477     *count += sizeof(VkVideoDecodeCapabilityFlagsKHR);
6478 }
6479 
count_VkVideoDecodeUsageInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeUsageInfoKHR * toCount,size_t * count)6480 void count_VkVideoDecodeUsageInfoKHR(uint32_t featureBits, VkStructureType rootType,
6481                                      const VkVideoDecodeUsageInfoKHR* toCount, size_t* count) {
6482     (void)featureBits;
6483     (void)rootType;
6484     (void)toCount;
6485     (void)count;
6486     *count += sizeof(VkStructureType);
6487     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6488         rootType = toCount->sType;
6489     }
6490     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6491     *count += sizeof(VkVideoDecodeUsageFlagsKHR);
6492 }
6493 
count_VkVideoDecodeInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeInfoKHR * toCount,size_t * count)6494 void count_VkVideoDecodeInfoKHR(uint32_t featureBits, VkStructureType rootType,
6495                                 const VkVideoDecodeInfoKHR* toCount, size_t* count) {
6496     (void)featureBits;
6497     (void)rootType;
6498     (void)toCount;
6499     (void)count;
6500     *count += sizeof(VkStructureType);
6501     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6502         rootType = toCount->sType;
6503     }
6504     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6505     *count += sizeof(VkVideoDecodeFlagsKHR);
6506     uint64_t cgen_var_0;
6507     *count += 1 * 8;
6508     *count += sizeof(VkDeviceSize);
6509     *count += sizeof(VkDeviceSize);
6510     count_VkVideoPictureResourceInfoKHR(
6511         featureBits, rootType, (VkVideoPictureResourceInfoKHR*)(&toCount->dstPictureResource),
6512         count);
6513     count_VkVideoReferenceSlotInfoKHR(
6514         featureBits, rootType, (const VkVideoReferenceSlotInfoKHR*)(toCount->pSetupReferenceSlot),
6515         count);
6516     *count += sizeof(uint32_t);
6517     if (toCount) {
6518         for (uint32_t i = 0; i < (uint32_t)toCount->referenceSlotCount; ++i) {
6519             count_VkVideoReferenceSlotInfoKHR(
6520                 featureBits, rootType,
6521                 (const VkVideoReferenceSlotInfoKHR*)(toCount->pReferenceSlots + i), count);
6522         }
6523     }
6524 }
6525 
6526 #endif
6527 #ifdef VK_KHR_video_decode_h264
count_VkVideoDecodeH264ProfileInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH264ProfileInfoKHR * toCount,size_t * count)6528 void count_VkVideoDecodeH264ProfileInfoKHR(uint32_t featureBits, VkStructureType rootType,
6529                                            const VkVideoDecodeH264ProfileInfoKHR* toCount,
6530                                            size_t* count) {
6531     (void)featureBits;
6532     (void)rootType;
6533     (void)toCount;
6534     (void)count;
6535     *count += sizeof(VkStructureType);
6536     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6537         rootType = toCount->sType;
6538     }
6539     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6540     *count += sizeof(StdVideoH264ProfileIdc);
6541     *count += sizeof(VkVideoDecodeH264PictureLayoutFlagBitsKHR);
6542 }
6543 
count_VkVideoDecodeH264CapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH264CapabilitiesKHR * toCount,size_t * count)6544 void count_VkVideoDecodeH264CapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
6545                                             const VkVideoDecodeH264CapabilitiesKHR* toCount,
6546                                             size_t* count) {
6547     (void)featureBits;
6548     (void)rootType;
6549     (void)toCount;
6550     (void)count;
6551     *count += sizeof(VkStructureType);
6552     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6553         rootType = toCount->sType;
6554     }
6555     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6556     *count += sizeof(StdVideoH264LevelIdc);
6557     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->fieldOffsetGranularity), count);
6558 }
6559 
count_VkVideoDecodeH264SessionParametersAddInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH264SessionParametersAddInfoKHR * toCount,size_t * count)6560 void count_VkVideoDecodeH264SessionParametersAddInfoKHR(
6561     uint32_t featureBits, VkStructureType rootType,
6562     const VkVideoDecodeH264SessionParametersAddInfoKHR* toCount, size_t* count) {
6563     (void)featureBits;
6564     (void)rootType;
6565     (void)toCount;
6566     (void)count;
6567     *count += sizeof(VkStructureType);
6568     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6569         rootType = toCount->sType;
6570     }
6571     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6572     *count += sizeof(uint32_t);
6573     if (toCount) {
6574         *count += toCount->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet);
6575     }
6576     *count += sizeof(uint32_t);
6577     if (toCount) {
6578         *count += toCount->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet);
6579     }
6580 }
6581 
count_VkVideoDecodeH264SessionParametersCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH264SessionParametersCreateInfoKHR * toCount,size_t * count)6582 void count_VkVideoDecodeH264SessionParametersCreateInfoKHR(
6583     uint32_t featureBits, VkStructureType rootType,
6584     const VkVideoDecodeH264SessionParametersCreateInfoKHR* toCount, size_t* count) {
6585     (void)featureBits;
6586     (void)rootType;
6587     (void)toCount;
6588     (void)count;
6589     *count += sizeof(VkStructureType);
6590     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6591         rootType = toCount->sType;
6592     }
6593     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6594     *count += sizeof(uint32_t);
6595     *count += sizeof(uint32_t);
6596     // WARNING PTR CHECK
6597     *count += 8;
6598     if (toCount->pParametersAddInfo) {
6599         count_VkVideoDecodeH264SessionParametersAddInfoKHR(
6600             featureBits, rootType,
6601             (const VkVideoDecodeH264SessionParametersAddInfoKHR*)(toCount->pParametersAddInfo),
6602             count);
6603     }
6604 }
6605 
count_VkVideoDecodeH264PictureInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH264PictureInfoKHR * toCount,size_t * count)6606 void count_VkVideoDecodeH264PictureInfoKHR(uint32_t featureBits, VkStructureType rootType,
6607                                            const VkVideoDecodeH264PictureInfoKHR* toCount,
6608                                            size_t* count) {
6609     (void)featureBits;
6610     (void)rootType;
6611     (void)toCount;
6612     (void)count;
6613     *count += sizeof(VkStructureType);
6614     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6615         rootType = toCount->sType;
6616     }
6617     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6618     *count += sizeof(const StdVideoDecodeH264PictureInfo);
6619     *count += sizeof(uint32_t);
6620     if (toCount) {
6621         *count += toCount->sliceCount * sizeof(const uint32_t);
6622     }
6623 }
6624 
count_VkVideoDecodeH264DpbSlotInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH264DpbSlotInfoKHR * toCount,size_t * count)6625 void count_VkVideoDecodeH264DpbSlotInfoKHR(uint32_t featureBits, VkStructureType rootType,
6626                                            const VkVideoDecodeH264DpbSlotInfoKHR* toCount,
6627                                            size_t* count) {
6628     (void)featureBits;
6629     (void)rootType;
6630     (void)toCount;
6631     (void)count;
6632     *count += sizeof(VkStructureType);
6633     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6634         rootType = toCount->sType;
6635     }
6636     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6637     *count += sizeof(const StdVideoDecodeH264ReferenceInfo);
6638 }
6639 
6640 #endif
6641 #ifdef VK_KHR_dynamic_rendering
count_VkRenderingFragmentShadingRateAttachmentInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkRenderingFragmentShadingRateAttachmentInfoKHR * toCount,size_t * count)6642 void count_VkRenderingFragmentShadingRateAttachmentInfoKHR(
6643     uint32_t featureBits, VkStructureType rootType,
6644     const VkRenderingFragmentShadingRateAttachmentInfoKHR* toCount, size_t* count) {
6645     (void)featureBits;
6646     (void)rootType;
6647     (void)toCount;
6648     (void)count;
6649     *count += sizeof(VkStructureType);
6650     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6651         rootType = toCount->sType;
6652     }
6653     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6654     uint64_t cgen_var_0;
6655     *count += 1 * 8;
6656     *count += sizeof(VkImageLayout);
6657     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->shadingRateAttachmentTexelSize),
6658                      count);
6659 }
6660 
count_VkRenderingFragmentDensityMapAttachmentInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * toCount,size_t * count)6661 void count_VkRenderingFragmentDensityMapAttachmentInfoEXT(
6662     uint32_t featureBits, VkStructureType rootType,
6663     const VkRenderingFragmentDensityMapAttachmentInfoEXT* toCount, size_t* count) {
6664     (void)featureBits;
6665     (void)rootType;
6666     (void)toCount;
6667     (void)count;
6668     *count += sizeof(VkStructureType);
6669     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6670         rootType = toCount->sType;
6671     }
6672     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6673     uint64_t cgen_var_0;
6674     *count += 1 * 8;
6675     *count += sizeof(VkImageLayout);
6676 }
6677 
count_VkAttachmentSampleCountInfoAMD(uint32_t featureBits,VkStructureType rootType,const VkAttachmentSampleCountInfoAMD * toCount,size_t * count)6678 void count_VkAttachmentSampleCountInfoAMD(uint32_t featureBits, VkStructureType rootType,
6679                                           const VkAttachmentSampleCountInfoAMD* toCount,
6680                                           size_t* count) {
6681     (void)featureBits;
6682     (void)rootType;
6683     (void)toCount;
6684     (void)count;
6685     *count += sizeof(VkStructureType);
6686     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6687         rootType = toCount->sType;
6688     }
6689     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6690     *count += sizeof(uint32_t);
6691     // WARNING PTR CHECK
6692     *count += 8;
6693     if (toCount->pColorAttachmentSamples) {
6694         if (toCount) {
6695             *count += toCount->colorAttachmentCount * sizeof(const VkSampleCountFlagBits);
6696         }
6697     }
6698     *count += sizeof(VkSampleCountFlagBits);
6699 }
6700 
count_VkMultiviewPerViewAttributesInfoNVX(uint32_t featureBits,VkStructureType rootType,const VkMultiviewPerViewAttributesInfoNVX * toCount,size_t * count)6701 void count_VkMultiviewPerViewAttributesInfoNVX(uint32_t featureBits, VkStructureType rootType,
6702                                                const VkMultiviewPerViewAttributesInfoNVX* toCount,
6703                                                size_t* count) {
6704     (void)featureBits;
6705     (void)rootType;
6706     (void)toCount;
6707     (void)count;
6708     *count += sizeof(VkStructureType);
6709     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6710         rootType = toCount->sType;
6711     }
6712     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6713     *count += sizeof(VkBool32);
6714     *count += sizeof(VkBool32);
6715 }
6716 
6717 #endif
6718 #ifdef VK_KHR_multiview
6719 #endif
6720 #ifdef VK_KHR_get_physical_device_properties2
6721 #endif
6722 #ifdef VK_KHR_device_group
6723 #endif
6724 #ifdef VK_KHR_shader_draw_parameters
6725 #endif
6726 #ifdef VK_KHR_maintenance1
6727 #endif
6728 #ifdef VK_KHR_device_group_creation
6729 #endif
6730 #ifdef VK_KHR_external_memory_capabilities
6731 #endif
6732 #ifdef VK_KHR_external_memory
6733 #endif
6734 #ifdef VK_KHR_external_memory_win32
count_VkImportMemoryWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportMemoryWin32HandleInfoKHR * toCount,size_t * count)6735 void count_VkImportMemoryWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
6736                                             const VkImportMemoryWin32HandleInfoKHR* toCount,
6737                                             size_t* count) {
6738     (void)featureBits;
6739     (void)rootType;
6740     (void)toCount;
6741     (void)count;
6742     *count += sizeof(VkStructureType);
6743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6744         rootType = toCount->sType;
6745     }
6746     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6747     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
6748     *count += sizeof(HANDLE);
6749     *count += sizeof(LPCWSTR);
6750 }
6751 
count_VkExportMemoryWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkExportMemoryWin32HandleInfoKHR * toCount,size_t * count)6752 void count_VkExportMemoryWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
6753                                             const VkExportMemoryWin32HandleInfoKHR* toCount,
6754                                             size_t* count) {
6755     (void)featureBits;
6756     (void)rootType;
6757     (void)toCount;
6758     (void)count;
6759     *count += sizeof(VkStructureType);
6760     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6761         rootType = toCount->sType;
6762     }
6763     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6764     // WARNING PTR CHECK
6765     *count += 8;
6766     if (toCount->pAttributes) {
6767         *count += sizeof(const SECURITY_ATTRIBUTES);
6768     }
6769     *count += sizeof(DWORD);
6770     *count += sizeof(LPCWSTR);
6771 }
6772 
count_VkMemoryWin32HandlePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkMemoryWin32HandlePropertiesKHR * toCount,size_t * count)6773 void count_VkMemoryWin32HandlePropertiesKHR(uint32_t featureBits, VkStructureType rootType,
6774                                             const VkMemoryWin32HandlePropertiesKHR* toCount,
6775                                             size_t* count) {
6776     (void)featureBits;
6777     (void)rootType;
6778     (void)toCount;
6779     (void)count;
6780     *count += sizeof(VkStructureType);
6781     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6782         rootType = toCount->sType;
6783     }
6784     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6785     *count += sizeof(uint32_t);
6786 }
6787 
count_VkMemoryGetWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkMemoryGetWin32HandleInfoKHR * toCount,size_t * count)6788 void count_VkMemoryGetWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
6789                                          const VkMemoryGetWin32HandleInfoKHR* toCount,
6790                                          size_t* count) {
6791     (void)featureBits;
6792     (void)rootType;
6793     (void)toCount;
6794     (void)count;
6795     *count += sizeof(VkStructureType);
6796     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6797         rootType = toCount->sType;
6798     }
6799     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6800     uint64_t cgen_var_0;
6801     *count += 1 * 8;
6802     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
6803 }
6804 
6805 #endif
6806 #ifdef VK_KHR_external_memory_fd
count_VkImportMemoryFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportMemoryFdInfoKHR * toCount,size_t * count)6807 void count_VkImportMemoryFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6808                                    const VkImportMemoryFdInfoKHR* toCount, size_t* count) {
6809     (void)featureBits;
6810     (void)rootType;
6811     (void)toCount;
6812     (void)count;
6813     *count += sizeof(VkStructureType);
6814     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6815         rootType = toCount->sType;
6816     }
6817     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6818     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
6819     *count += sizeof(int);
6820 }
6821 
count_VkMemoryFdPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkMemoryFdPropertiesKHR * toCount,size_t * count)6822 void count_VkMemoryFdPropertiesKHR(uint32_t featureBits, VkStructureType rootType,
6823                                    const VkMemoryFdPropertiesKHR* toCount, size_t* count) {
6824     (void)featureBits;
6825     (void)rootType;
6826     (void)toCount;
6827     (void)count;
6828     *count += sizeof(VkStructureType);
6829     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6830         rootType = toCount->sType;
6831     }
6832     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6833     *count += sizeof(uint32_t);
6834 }
6835 
count_VkMemoryGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkMemoryGetFdInfoKHR * toCount,size_t * count)6836 void count_VkMemoryGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6837                                 const VkMemoryGetFdInfoKHR* toCount, size_t* count) {
6838     (void)featureBits;
6839     (void)rootType;
6840     (void)toCount;
6841     (void)count;
6842     *count += sizeof(VkStructureType);
6843     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6844         rootType = toCount->sType;
6845     }
6846     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6847     uint64_t cgen_var_0;
6848     *count += 1 * 8;
6849     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
6850 }
6851 
6852 #endif
6853 #ifdef VK_KHR_win32_keyed_mutex
count_VkWin32KeyedMutexAcquireReleaseInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkWin32KeyedMutexAcquireReleaseInfoKHR * toCount,size_t * count)6854 void count_VkWin32KeyedMutexAcquireReleaseInfoKHR(
6855     uint32_t featureBits, VkStructureType rootType,
6856     const VkWin32KeyedMutexAcquireReleaseInfoKHR* toCount, size_t* count) {
6857     (void)featureBits;
6858     (void)rootType;
6859     (void)toCount;
6860     (void)count;
6861     *count += sizeof(VkStructureType);
6862     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6863         rootType = toCount->sType;
6864     }
6865     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6866     *count += sizeof(uint32_t);
6867     if (toCount->acquireCount) {
6868         *count += toCount->acquireCount * 8;
6869     }
6870     if (toCount) {
6871         *count += toCount->acquireCount * sizeof(const uint64_t);
6872     }
6873     if (toCount) {
6874         *count += toCount->acquireCount * sizeof(const uint32_t);
6875     }
6876     *count += sizeof(uint32_t);
6877     if (toCount->releaseCount) {
6878         *count += toCount->releaseCount * 8;
6879     }
6880     if (toCount) {
6881         *count += toCount->releaseCount * sizeof(const uint64_t);
6882     }
6883 }
6884 
6885 #endif
6886 #ifdef VK_KHR_external_semaphore_capabilities
6887 #endif
6888 #ifdef VK_KHR_external_semaphore
6889 #endif
6890 #ifdef VK_KHR_external_semaphore_win32
count_VkImportSemaphoreWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportSemaphoreWin32HandleInfoKHR * toCount,size_t * count)6891 void count_VkImportSemaphoreWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
6892                                                const VkImportSemaphoreWin32HandleInfoKHR* toCount,
6893                                                size_t* count) {
6894     (void)featureBits;
6895     (void)rootType;
6896     (void)toCount;
6897     (void)count;
6898     *count += sizeof(VkStructureType);
6899     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6900         rootType = toCount->sType;
6901     }
6902     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6903     uint64_t cgen_var_0;
6904     *count += 1 * 8;
6905     *count += sizeof(VkSemaphoreImportFlags);
6906     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
6907     *count += sizeof(HANDLE);
6908     *count += sizeof(LPCWSTR);
6909 }
6910 
count_VkExportSemaphoreWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkExportSemaphoreWin32HandleInfoKHR * toCount,size_t * count)6911 void count_VkExportSemaphoreWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
6912                                                const VkExportSemaphoreWin32HandleInfoKHR* toCount,
6913                                                size_t* count) {
6914     (void)featureBits;
6915     (void)rootType;
6916     (void)toCount;
6917     (void)count;
6918     *count += sizeof(VkStructureType);
6919     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6920         rootType = toCount->sType;
6921     }
6922     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6923     // WARNING PTR CHECK
6924     *count += 8;
6925     if (toCount->pAttributes) {
6926         *count += sizeof(const SECURITY_ATTRIBUTES);
6927     }
6928     *count += sizeof(DWORD);
6929     *count += sizeof(LPCWSTR);
6930 }
6931 
count_VkD3D12FenceSubmitInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkD3D12FenceSubmitInfoKHR * toCount,size_t * count)6932 void count_VkD3D12FenceSubmitInfoKHR(uint32_t featureBits, VkStructureType rootType,
6933                                      const VkD3D12FenceSubmitInfoKHR* toCount, size_t* count) {
6934     (void)featureBits;
6935     (void)rootType;
6936     (void)toCount;
6937     (void)count;
6938     *count += sizeof(VkStructureType);
6939     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6940         rootType = toCount->sType;
6941     }
6942     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6943     *count += sizeof(uint32_t);
6944     // WARNING PTR CHECK
6945     *count += 8;
6946     if (toCount->pWaitSemaphoreValues) {
6947         if (toCount) {
6948             *count += toCount->waitSemaphoreValuesCount * sizeof(const uint64_t);
6949         }
6950     }
6951     *count += sizeof(uint32_t);
6952     // WARNING PTR CHECK
6953     *count += 8;
6954     if (toCount->pSignalSemaphoreValues) {
6955         if (toCount) {
6956             *count += toCount->signalSemaphoreValuesCount * sizeof(const uint64_t);
6957         }
6958     }
6959 }
6960 
count_VkSemaphoreGetWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreGetWin32HandleInfoKHR * toCount,size_t * count)6961 void count_VkSemaphoreGetWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
6962                                             const VkSemaphoreGetWin32HandleInfoKHR* toCount,
6963                                             size_t* count) {
6964     (void)featureBits;
6965     (void)rootType;
6966     (void)toCount;
6967     (void)count;
6968     *count += sizeof(VkStructureType);
6969     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6970         rootType = toCount->sType;
6971     }
6972     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6973     uint64_t cgen_var_0;
6974     *count += 1 * 8;
6975     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
6976 }
6977 
6978 #endif
6979 #ifdef VK_KHR_external_semaphore_fd
count_VkImportSemaphoreFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * toCount,size_t * count)6980 void count_VkImportSemaphoreFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6981                                       const VkImportSemaphoreFdInfoKHR* toCount, size_t* count) {
6982     (void)featureBits;
6983     (void)rootType;
6984     (void)toCount;
6985     (void)count;
6986     *count += sizeof(VkStructureType);
6987     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6988         rootType = toCount->sType;
6989     }
6990     count_extension_struct(featureBits, rootType, toCount->pNext, count);
6991     uint64_t cgen_var_0;
6992     *count += 1 * 8;
6993     *count += sizeof(VkSemaphoreImportFlags);
6994     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
6995     *count += sizeof(int);
6996 }
6997 
count_VkSemaphoreGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * toCount,size_t * count)6998 void count_VkSemaphoreGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6999                                    const VkSemaphoreGetFdInfoKHR* toCount, size_t* count) {
7000     (void)featureBits;
7001     (void)rootType;
7002     (void)toCount;
7003     (void)count;
7004     *count += sizeof(VkStructureType);
7005     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7006         rootType = toCount->sType;
7007     }
7008     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7009     uint64_t cgen_var_0;
7010     *count += 1 * 8;
7011     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
7012 }
7013 
7014 #endif
7015 #ifdef VK_KHR_push_descriptor
count_VkPhysicalDevicePushDescriptorPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePushDescriptorPropertiesKHR * toCount,size_t * count)7016 void count_VkPhysicalDevicePushDescriptorPropertiesKHR(
7017     uint32_t featureBits, VkStructureType rootType,
7018     const VkPhysicalDevicePushDescriptorPropertiesKHR* toCount, size_t* count) {
7019     (void)featureBits;
7020     (void)rootType;
7021     (void)toCount;
7022     (void)count;
7023     *count += sizeof(VkStructureType);
7024     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7025         rootType = toCount->sType;
7026     }
7027     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7028     *count += sizeof(uint32_t);
7029 }
7030 
7031 #endif
7032 #ifdef VK_KHR_shader_float16_int8
7033 #endif
7034 #ifdef VK_KHR_16bit_storage
7035 #endif
7036 #ifdef VK_KHR_incremental_present
count_VkRectLayerKHR(uint32_t featureBits,VkStructureType rootType,const VkRectLayerKHR * toCount,size_t * count)7037 void count_VkRectLayerKHR(uint32_t featureBits, VkStructureType rootType,
7038                           const VkRectLayerKHR* toCount, size_t* count) {
7039     (void)featureBits;
7040     (void)rootType;
7041     (void)toCount;
7042     (void)count;
7043     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->offset), count);
7044     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->extent), count);
7045     *count += sizeof(uint32_t);
7046 }
7047 
count_VkPresentRegionKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentRegionKHR * toCount,size_t * count)7048 void count_VkPresentRegionKHR(uint32_t featureBits, VkStructureType rootType,
7049                               const VkPresentRegionKHR* toCount, size_t* count) {
7050     (void)featureBits;
7051     (void)rootType;
7052     (void)toCount;
7053     (void)count;
7054     *count += sizeof(uint32_t);
7055     // WARNING PTR CHECK
7056     *count += 8;
7057     if (toCount->pRectangles) {
7058         if (toCount) {
7059             for (uint32_t i = 0; i < (uint32_t)toCount->rectangleCount; ++i) {
7060                 count_VkRectLayerKHR(featureBits, rootType,
7061                                      (const VkRectLayerKHR*)(toCount->pRectangles + i), count);
7062             }
7063         }
7064     }
7065 }
7066 
count_VkPresentRegionsKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentRegionsKHR * toCount,size_t * count)7067 void count_VkPresentRegionsKHR(uint32_t featureBits, VkStructureType rootType,
7068                                const VkPresentRegionsKHR* toCount, size_t* count) {
7069     (void)featureBits;
7070     (void)rootType;
7071     (void)toCount;
7072     (void)count;
7073     *count += sizeof(VkStructureType);
7074     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7075         rootType = toCount->sType;
7076     }
7077     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7078     *count += sizeof(uint32_t);
7079     // WARNING PTR CHECK
7080     *count += 8;
7081     if (toCount->pRegions) {
7082         if (toCount) {
7083             for (uint32_t i = 0; i < (uint32_t)toCount->swapchainCount; ++i) {
7084                 count_VkPresentRegionKHR(featureBits, rootType,
7085                                          (const VkPresentRegionKHR*)(toCount->pRegions + i), count);
7086             }
7087         }
7088     }
7089 }
7090 
7091 #endif
7092 #ifdef VK_KHR_descriptor_update_template
7093 #endif
7094 #ifdef VK_KHR_imageless_framebuffer
7095 #endif
7096 #ifdef VK_KHR_create_renderpass2
7097 #endif
7098 #ifdef VK_KHR_shared_presentable_image
count_VkSharedPresentSurfaceCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkSharedPresentSurfaceCapabilitiesKHR * toCount,size_t * count)7099 void count_VkSharedPresentSurfaceCapabilitiesKHR(
7100     uint32_t featureBits, VkStructureType rootType,
7101     const VkSharedPresentSurfaceCapabilitiesKHR* toCount, size_t* count) {
7102     (void)featureBits;
7103     (void)rootType;
7104     (void)toCount;
7105     (void)count;
7106     *count += sizeof(VkStructureType);
7107     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7108         rootType = toCount->sType;
7109     }
7110     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7111     *count += sizeof(VkImageUsageFlags);
7112 }
7113 
7114 #endif
7115 #ifdef VK_KHR_external_fence_capabilities
7116 #endif
7117 #ifdef VK_KHR_external_fence
7118 #endif
7119 #ifdef VK_KHR_external_fence_win32
count_VkImportFenceWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportFenceWin32HandleInfoKHR * toCount,size_t * count)7120 void count_VkImportFenceWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
7121                                            const VkImportFenceWin32HandleInfoKHR* toCount,
7122                                            size_t* count) {
7123     (void)featureBits;
7124     (void)rootType;
7125     (void)toCount;
7126     (void)count;
7127     *count += sizeof(VkStructureType);
7128     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7129         rootType = toCount->sType;
7130     }
7131     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7132     uint64_t cgen_var_0;
7133     *count += 1 * 8;
7134     *count += sizeof(VkFenceImportFlags);
7135     *count += sizeof(VkExternalFenceHandleTypeFlagBits);
7136     *count += sizeof(HANDLE);
7137     *count += sizeof(LPCWSTR);
7138 }
7139 
count_VkExportFenceWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkExportFenceWin32HandleInfoKHR * toCount,size_t * count)7140 void count_VkExportFenceWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
7141                                            const VkExportFenceWin32HandleInfoKHR* toCount,
7142                                            size_t* count) {
7143     (void)featureBits;
7144     (void)rootType;
7145     (void)toCount;
7146     (void)count;
7147     *count += sizeof(VkStructureType);
7148     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7149         rootType = toCount->sType;
7150     }
7151     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7152     // WARNING PTR CHECK
7153     *count += 8;
7154     if (toCount->pAttributes) {
7155         *count += sizeof(const SECURITY_ATTRIBUTES);
7156     }
7157     *count += sizeof(DWORD);
7158     *count += sizeof(LPCWSTR);
7159 }
7160 
count_VkFenceGetWin32HandleInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkFenceGetWin32HandleInfoKHR * toCount,size_t * count)7161 void count_VkFenceGetWin32HandleInfoKHR(uint32_t featureBits, VkStructureType rootType,
7162                                         const VkFenceGetWin32HandleInfoKHR* toCount,
7163                                         size_t* count) {
7164     (void)featureBits;
7165     (void)rootType;
7166     (void)toCount;
7167     (void)count;
7168     *count += sizeof(VkStructureType);
7169     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7170         rootType = toCount->sType;
7171     }
7172     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7173     uint64_t cgen_var_0;
7174     *count += 1 * 8;
7175     *count += sizeof(VkExternalFenceHandleTypeFlagBits);
7176 }
7177 
7178 #endif
7179 #ifdef VK_KHR_external_fence_fd
count_VkImportFenceFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportFenceFdInfoKHR * toCount,size_t * count)7180 void count_VkImportFenceFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
7181                                   const VkImportFenceFdInfoKHR* toCount, size_t* count) {
7182     (void)featureBits;
7183     (void)rootType;
7184     (void)toCount;
7185     (void)count;
7186     *count += sizeof(VkStructureType);
7187     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7188         rootType = toCount->sType;
7189     }
7190     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7191     uint64_t cgen_var_0;
7192     *count += 1 * 8;
7193     *count += sizeof(VkFenceImportFlags);
7194     *count += sizeof(VkExternalFenceHandleTypeFlagBits);
7195     *count += sizeof(int);
7196 }
7197 
count_VkFenceGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkFenceGetFdInfoKHR * toCount,size_t * count)7198 void count_VkFenceGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
7199                                const VkFenceGetFdInfoKHR* toCount, size_t* count) {
7200     (void)featureBits;
7201     (void)rootType;
7202     (void)toCount;
7203     (void)count;
7204     *count += sizeof(VkStructureType);
7205     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7206         rootType = toCount->sType;
7207     }
7208     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7209     uint64_t cgen_var_0;
7210     *count += 1 * 8;
7211     *count += sizeof(VkExternalFenceHandleTypeFlagBits);
7212 }
7213 
7214 #endif
7215 #ifdef VK_KHR_performance_query
count_VkPhysicalDevicePerformanceQueryFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePerformanceQueryFeaturesKHR * toCount,size_t * count)7216 void count_VkPhysicalDevicePerformanceQueryFeaturesKHR(
7217     uint32_t featureBits, VkStructureType rootType,
7218     const VkPhysicalDevicePerformanceQueryFeaturesKHR* toCount, size_t* count) {
7219     (void)featureBits;
7220     (void)rootType;
7221     (void)toCount;
7222     (void)count;
7223     *count += sizeof(VkStructureType);
7224     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7225         rootType = toCount->sType;
7226     }
7227     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7228     *count += sizeof(VkBool32);
7229     *count += sizeof(VkBool32);
7230 }
7231 
count_VkPhysicalDevicePerformanceQueryPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePerformanceQueryPropertiesKHR * toCount,size_t * count)7232 void count_VkPhysicalDevicePerformanceQueryPropertiesKHR(
7233     uint32_t featureBits, VkStructureType rootType,
7234     const VkPhysicalDevicePerformanceQueryPropertiesKHR* toCount, size_t* count) {
7235     (void)featureBits;
7236     (void)rootType;
7237     (void)toCount;
7238     (void)count;
7239     *count += sizeof(VkStructureType);
7240     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7241         rootType = toCount->sType;
7242     }
7243     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7244     *count += sizeof(VkBool32);
7245 }
7246 
count_VkPerformanceCounterKHR(uint32_t featureBits,VkStructureType rootType,const VkPerformanceCounterKHR * toCount,size_t * count)7247 void count_VkPerformanceCounterKHR(uint32_t featureBits, VkStructureType rootType,
7248                                    const VkPerformanceCounterKHR* toCount, size_t* count) {
7249     (void)featureBits;
7250     (void)rootType;
7251     (void)toCount;
7252     (void)count;
7253     *count += sizeof(VkStructureType);
7254     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7255         rootType = toCount->sType;
7256     }
7257     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7258     *count += sizeof(VkPerformanceCounterUnitKHR);
7259     *count += sizeof(VkPerformanceCounterScopeKHR);
7260     *count += sizeof(VkPerformanceCounterStorageKHR);
7261     *count += VK_UUID_SIZE * sizeof(uint8_t);
7262 }
7263 
count_VkPerformanceCounterDescriptionKHR(uint32_t featureBits,VkStructureType rootType,const VkPerformanceCounterDescriptionKHR * toCount,size_t * count)7264 void count_VkPerformanceCounterDescriptionKHR(uint32_t featureBits, VkStructureType rootType,
7265                                               const VkPerformanceCounterDescriptionKHR* toCount,
7266                                               size_t* count) {
7267     (void)featureBits;
7268     (void)rootType;
7269     (void)toCount;
7270     (void)count;
7271     *count += sizeof(VkStructureType);
7272     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7273         rootType = toCount->sType;
7274     }
7275     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7276     *count += sizeof(VkPerformanceCounterDescriptionFlagsKHR);
7277     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7278     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7279     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7280 }
7281 
count_VkQueryPoolPerformanceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkQueryPoolPerformanceCreateInfoKHR * toCount,size_t * count)7282 void count_VkQueryPoolPerformanceCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
7283                                                const VkQueryPoolPerformanceCreateInfoKHR* toCount,
7284                                                size_t* count) {
7285     (void)featureBits;
7286     (void)rootType;
7287     (void)toCount;
7288     (void)count;
7289     *count += sizeof(VkStructureType);
7290     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7291         rootType = toCount->sType;
7292     }
7293     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7294     *count += sizeof(uint32_t);
7295     *count += sizeof(uint32_t);
7296     if (toCount) {
7297         *count += toCount->counterIndexCount * sizeof(const uint32_t);
7298     }
7299 }
7300 
count_VkPerformanceCounterResultKHR(uint32_t featureBits,VkStructureType rootType,const VkPerformanceCounterResultKHR * toCount,size_t * count)7301 void count_VkPerformanceCounterResultKHR(uint32_t featureBits, VkStructureType rootType,
7302                                          const VkPerformanceCounterResultKHR* toCount,
7303                                          size_t* count) {
7304     (void)featureBits;
7305     (void)rootType;
7306     (void)toCount;
7307     (void)count;
7308     *count += sizeof(int32_t);
7309 }
7310 
count_VkAcquireProfilingLockInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAcquireProfilingLockInfoKHR * toCount,size_t * count)7311 void count_VkAcquireProfilingLockInfoKHR(uint32_t featureBits, VkStructureType rootType,
7312                                          const VkAcquireProfilingLockInfoKHR* toCount,
7313                                          size_t* count) {
7314     (void)featureBits;
7315     (void)rootType;
7316     (void)toCount;
7317     (void)count;
7318     *count += sizeof(VkStructureType);
7319     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7320         rootType = toCount->sType;
7321     }
7322     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7323     *count += sizeof(VkAcquireProfilingLockFlagsKHR);
7324     *count += sizeof(uint64_t);
7325 }
7326 
count_VkPerformanceQuerySubmitInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPerformanceQuerySubmitInfoKHR * toCount,size_t * count)7327 void count_VkPerformanceQuerySubmitInfoKHR(uint32_t featureBits, VkStructureType rootType,
7328                                            const VkPerformanceQuerySubmitInfoKHR* toCount,
7329                                            size_t* count) {
7330     (void)featureBits;
7331     (void)rootType;
7332     (void)toCount;
7333     (void)count;
7334     *count += sizeof(VkStructureType);
7335     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7336         rootType = toCount->sType;
7337     }
7338     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7339     *count += sizeof(uint32_t);
7340 }
7341 
7342 #endif
7343 #ifdef VK_KHR_maintenance2
7344 #endif
7345 #ifdef VK_KHR_get_surface_capabilities2
count_VkPhysicalDeviceSurfaceInfo2KHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSurfaceInfo2KHR * toCount,size_t * count)7346 void count_VkPhysicalDeviceSurfaceInfo2KHR(uint32_t featureBits, VkStructureType rootType,
7347                                            const VkPhysicalDeviceSurfaceInfo2KHR* toCount,
7348                                            size_t* count) {
7349     (void)featureBits;
7350     (void)rootType;
7351     (void)toCount;
7352     (void)count;
7353     *count += sizeof(VkStructureType);
7354     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7355         rootType = toCount->sType;
7356     }
7357     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7358     uint64_t cgen_var_0;
7359     *count += 1 * 8;
7360 }
7361 
count_VkSurfaceCapabilities2KHR(uint32_t featureBits,VkStructureType rootType,const VkSurfaceCapabilities2KHR * toCount,size_t * count)7362 void count_VkSurfaceCapabilities2KHR(uint32_t featureBits, VkStructureType rootType,
7363                                      const VkSurfaceCapabilities2KHR* toCount, size_t* count) {
7364     (void)featureBits;
7365     (void)rootType;
7366     (void)toCount;
7367     (void)count;
7368     *count += sizeof(VkStructureType);
7369     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7370         rootType = toCount->sType;
7371     }
7372     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7373     count_VkSurfaceCapabilitiesKHR(
7374         featureBits, rootType, (VkSurfaceCapabilitiesKHR*)(&toCount->surfaceCapabilities), count);
7375 }
7376 
count_VkSurfaceFormat2KHR(uint32_t featureBits,VkStructureType rootType,const VkSurfaceFormat2KHR * toCount,size_t * count)7377 void count_VkSurfaceFormat2KHR(uint32_t featureBits, VkStructureType rootType,
7378                                const VkSurfaceFormat2KHR* toCount, size_t* count) {
7379     (void)featureBits;
7380     (void)rootType;
7381     (void)toCount;
7382     (void)count;
7383     *count += sizeof(VkStructureType);
7384     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7385         rootType = toCount->sType;
7386     }
7387     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7388     count_VkSurfaceFormatKHR(featureBits, rootType, (VkSurfaceFormatKHR*)(&toCount->surfaceFormat),
7389                              count);
7390 }
7391 
7392 #endif
7393 #ifdef VK_KHR_variable_pointers
7394 #endif
7395 #ifdef VK_KHR_get_display_properties2
count_VkDisplayProperties2KHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayProperties2KHR * toCount,size_t * count)7396 void count_VkDisplayProperties2KHR(uint32_t featureBits, VkStructureType rootType,
7397                                    const VkDisplayProperties2KHR* toCount, size_t* count) {
7398     (void)featureBits;
7399     (void)rootType;
7400     (void)toCount;
7401     (void)count;
7402     *count += sizeof(VkStructureType);
7403     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7404         rootType = toCount->sType;
7405     }
7406     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7407     count_VkDisplayPropertiesKHR(featureBits, rootType,
7408                                  (VkDisplayPropertiesKHR*)(&toCount->displayProperties), count);
7409 }
7410 
count_VkDisplayPlaneProperties2KHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPlaneProperties2KHR * toCount,size_t * count)7411 void count_VkDisplayPlaneProperties2KHR(uint32_t featureBits, VkStructureType rootType,
7412                                         const VkDisplayPlaneProperties2KHR* toCount,
7413                                         size_t* count) {
7414     (void)featureBits;
7415     (void)rootType;
7416     (void)toCount;
7417     (void)count;
7418     *count += sizeof(VkStructureType);
7419     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7420         rootType = toCount->sType;
7421     }
7422     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7423     count_VkDisplayPlanePropertiesKHR(
7424         featureBits, rootType, (VkDisplayPlanePropertiesKHR*)(&toCount->displayPlaneProperties),
7425         count);
7426 }
7427 
count_VkDisplayModeProperties2KHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayModeProperties2KHR * toCount,size_t * count)7428 void count_VkDisplayModeProperties2KHR(uint32_t featureBits, VkStructureType rootType,
7429                                        const VkDisplayModeProperties2KHR* toCount, size_t* count) {
7430     (void)featureBits;
7431     (void)rootType;
7432     (void)toCount;
7433     (void)count;
7434     *count += sizeof(VkStructureType);
7435     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7436         rootType = toCount->sType;
7437     }
7438     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7439     count_VkDisplayModePropertiesKHR(featureBits, rootType,
7440                                      (VkDisplayModePropertiesKHR*)(&toCount->displayModeProperties),
7441                                      count);
7442 }
7443 
count_VkDisplayPlaneInfo2KHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPlaneInfo2KHR * toCount,size_t * count)7444 void count_VkDisplayPlaneInfo2KHR(uint32_t featureBits, VkStructureType rootType,
7445                                   const VkDisplayPlaneInfo2KHR* toCount, size_t* count) {
7446     (void)featureBits;
7447     (void)rootType;
7448     (void)toCount;
7449     (void)count;
7450     *count += sizeof(VkStructureType);
7451     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7452         rootType = toCount->sType;
7453     }
7454     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7455     uint64_t cgen_var_0;
7456     *count += 1 * 8;
7457     *count += sizeof(uint32_t);
7458 }
7459 
count_VkDisplayPlaneCapabilities2KHR(uint32_t featureBits,VkStructureType rootType,const VkDisplayPlaneCapabilities2KHR * toCount,size_t * count)7460 void count_VkDisplayPlaneCapabilities2KHR(uint32_t featureBits, VkStructureType rootType,
7461                                           const VkDisplayPlaneCapabilities2KHR* toCount,
7462                                           size_t* count) {
7463     (void)featureBits;
7464     (void)rootType;
7465     (void)toCount;
7466     (void)count;
7467     *count += sizeof(VkStructureType);
7468     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7469         rootType = toCount->sType;
7470     }
7471     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7472     count_VkDisplayPlaneCapabilitiesKHR(
7473         featureBits, rootType, (VkDisplayPlaneCapabilitiesKHR*)(&toCount->capabilities), count);
7474 }
7475 
7476 #endif
7477 #ifdef VK_KHR_dedicated_allocation
7478 #endif
7479 #ifdef VK_KHR_storage_buffer_storage_class
7480 #endif
7481 #ifdef VK_KHR_relaxed_block_layout
7482 #endif
7483 #ifdef VK_KHR_get_memory_requirements2
7484 #endif
7485 #ifdef VK_KHR_image_format_list
7486 #endif
7487 #ifdef VK_KHR_sampler_ycbcr_conversion
7488 #endif
7489 #ifdef VK_KHR_bind_memory2
7490 #endif
7491 #ifdef VK_KHR_portability_subset
count_VkPhysicalDevicePortabilitySubsetFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePortabilitySubsetFeaturesKHR * toCount,size_t * count)7492 void count_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
7493     uint32_t featureBits, VkStructureType rootType,
7494     const VkPhysicalDevicePortabilitySubsetFeaturesKHR* toCount, size_t* count) {
7495     (void)featureBits;
7496     (void)rootType;
7497     (void)toCount;
7498     (void)count;
7499     *count += sizeof(VkStructureType);
7500     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7501         rootType = toCount->sType;
7502     }
7503     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7504     *count += sizeof(VkBool32);
7505     *count += sizeof(VkBool32);
7506     *count += sizeof(VkBool32);
7507     *count += sizeof(VkBool32);
7508     *count += sizeof(VkBool32);
7509     *count += sizeof(VkBool32);
7510     *count += sizeof(VkBool32);
7511     *count += sizeof(VkBool32);
7512     *count += sizeof(VkBool32);
7513     *count += sizeof(VkBool32);
7514     *count += sizeof(VkBool32);
7515     *count += sizeof(VkBool32);
7516     *count += sizeof(VkBool32);
7517     *count += sizeof(VkBool32);
7518     *count += sizeof(VkBool32);
7519 }
7520 
count_VkPhysicalDevicePortabilitySubsetPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePortabilitySubsetPropertiesKHR * toCount,size_t * count)7521 void count_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
7522     uint32_t featureBits, VkStructureType rootType,
7523     const VkPhysicalDevicePortabilitySubsetPropertiesKHR* toCount, size_t* count) {
7524     (void)featureBits;
7525     (void)rootType;
7526     (void)toCount;
7527     (void)count;
7528     *count += sizeof(VkStructureType);
7529     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7530         rootType = toCount->sType;
7531     }
7532     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7533     *count += sizeof(uint32_t);
7534 }
7535 
7536 #endif
7537 #ifdef VK_KHR_maintenance3
7538 #endif
7539 #ifdef VK_KHR_draw_indirect_count
7540 #endif
7541 #ifdef VK_KHR_shader_subgroup_extended_types
7542 #endif
7543 #ifdef VK_KHR_8bit_storage
7544 #endif
7545 #ifdef VK_KHR_shader_atomic_int64
7546 #endif
7547 #ifdef VK_KHR_shader_clock
count_VkPhysicalDeviceShaderClockFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderClockFeaturesKHR * toCount,size_t * count)7548 void count_VkPhysicalDeviceShaderClockFeaturesKHR(
7549     uint32_t featureBits, VkStructureType rootType,
7550     const VkPhysicalDeviceShaderClockFeaturesKHR* toCount, size_t* count) {
7551     (void)featureBits;
7552     (void)rootType;
7553     (void)toCount;
7554     (void)count;
7555     *count += sizeof(VkStructureType);
7556     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7557         rootType = toCount->sType;
7558     }
7559     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7560     *count += sizeof(VkBool32);
7561     *count += sizeof(VkBool32);
7562 }
7563 
7564 #endif
7565 #ifdef VK_KHR_video_decode_h265
count_VkVideoDecodeH265ProfileInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH265ProfileInfoKHR * toCount,size_t * count)7566 void count_VkVideoDecodeH265ProfileInfoKHR(uint32_t featureBits, VkStructureType rootType,
7567                                            const VkVideoDecodeH265ProfileInfoKHR* toCount,
7568                                            size_t* count) {
7569     (void)featureBits;
7570     (void)rootType;
7571     (void)toCount;
7572     (void)count;
7573     *count += sizeof(VkStructureType);
7574     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7575         rootType = toCount->sType;
7576     }
7577     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7578     *count += sizeof(StdVideoH265ProfileIdc);
7579 }
7580 
count_VkVideoDecodeH265CapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH265CapabilitiesKHR * toCount,size_t * count)7581 void count_VkVideoDecodeH265CapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
7582                                             const VkVideoDecodeH265CapabilitiesKHR* toCount,
7583                                             size_t* count) {
7584     (void)featureBits;
7585     (void)rootType;
7586     (void)toCount;
7587     (void)count;
7588     *count += sizeof(VkStructureType);
7589     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7590         rootType = toCount->sType;
7591     }
7592     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7593     *count += sizeof(StdVideoH265LevelIdc);
7594 }
7595 
count_VkVideoDecodeH265SessionParametersAddInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH265SessionParametersAddInfoKHR * toCount,size_t * count)7596 void count_VkVideoDecodeH265SessionParametersAddInfoKHR(
7597     uint32_t featureBits, VkStructureType rootType,
7598     const VkVideoDecodeH265SessionParametersAddInfoKHR* toCount, size_t* count) {
7599     (void)featureBits;
7600     (void)rootType;
7601     (void)toCount;
7602     (void)count;
7603     *count += sizeof(VkStructureType);
7604     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7605         rootType = toCount->sType;
7606     }
7607     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7608     *count += sizeof(uint32_t);
7609     if (toCount) {
7610         *count += toCount->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet);
7611     }
7612     *count += sizeof(uint32_t);
7613     if (toCount) {
7614         *count += toCount->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet);
7615     }
7616     *count += sizeof(uint32_t);
7617     if (toCount) {
7618         *count += toCount->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet);
7619     }
7620 }
7621 
count_VkVideoDecodeH265SessionParametersCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH265SessionParametersCreateInfoKHR * toCount,size_t * count)7622 void count_VkVideoDecodeH265SessionParametersCreateInfoKHR(
7623     uint32_t featureBits, VkStructureType rootType,
7624     const VkVideoDecodeH265SessionParametersCreateInfoKHR* toCount, size_t* count) {
7625     (void)featureBits;
7626     (void)rootType;
7627     (void)toCount;
7628     (void)count;
7629     *count += sizeof(VkStructureType);
7630     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7631         rootType = toCount->sType;
7632     }
7633     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7634     *count += sizeof(uint32_t);
7635     *count += sizeof(uint32_t);
7636     *count += sizeof(uint32_t);
7637     // WARNING PTR CHECK
7638     *count += 8;
7639     if (toCount->pParametersAddInfo) {
7640         count_VkVideoDecodeH265SessionParametersAddInfoKHR(
7641             featureBits, rootType,
7642             (const VkVideoDecodeH265SessionParametersAddInfoKHR*)(toCount->pParametersAddInfo),
7643             count);
7644     }
7645 }
7646 
count_VkVideoDecodeH265PictureInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH265PictureInfoKHR * toCount,size_t * count)7647 void count_VkVideoDecodeH265PictureInfoKHR(uint32_t featureBits, VkStructureType rootType,
7648                                            const VkVideoDecodeH265PictureInfoKHR* toCount,
7649                                            size_t* count) {
7650     (void)featureBits;
7651     (void)rootType;
7652     (void)toCount;
7653     (void)count;
7654     *count += sizeof(VkStructureType);
7655     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7656         rootType = toCount->sType;
7657     }
7658     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7659     *count += sizeof(const StdVideoDecodeH265PictureInfo);
7660     *count += sizeof(uint32_t);
7661     if (toCount) {
7662         *count += toCount->sliceSegmentCount * sizeof(const uint32_t);
7663     }
7664 }
7665 
count_VkVideoDecodeH265DpbSlotInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoDecodeH265DpbSlotInfoKHR * toCount,size_t * count)7666 void count_VkVideoDecodeH265DpbSlotInfoKHR(uint32_t featureBits, VkStructureType rootType,
7667                                            const VkVideoDecodeH265DpbSlotInfoKHR* toCount,
7668                                            size_t* count) {
7669     (void)featureBits;
7670     (void)rootType;
7671     (void)toCount;
7672     (void)count;
7673     *count += sizeof(VkStructureType);
7674     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7675         rootType = toCount->sType;
7676     }
7677     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7678     *count += sizeof(const StdVideoDecodeH265ReferenceInfo);
7679 }
7680 
7681 #endif
7682 #ifdef VK_KHR_global_priority
count_VkDeviceQueueGlobalPriorityCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceQueueGlobalPriorityCreateInfoKHR * toCount,size_t * count)7683 void count_VkDeviceQueueGlobalPriorityCreateInfoKHR(
7684     uint32_t featureBits, VkStructureType rootType,
7685     const VkDeviceQueueGlobalPriorityCreateInfoKHR* toCount, size_t* count) {
7686     (void)featureBits;
7687     (void)rootType;
7688     (void)toCount;
7689     (void)count;
7690     *count += sizeof(VkStructureType);
7691     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7692         rootType = toCount->sType;
7693     }
7694     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7695     *count += sizeof(VkQueueGlobalPriorityKHR);
7696 }
7697 
count_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR * toCount,size_t * count)7698 void count_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR(
7699     uint32_t featureBits, VkStructureType rootType,
7700     const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR* toCount, size_t* count) {
7701     (void)featureBits;
7702     (void)rootType;
7703     (void)toCount;
7704     (void)count;
7705     *count += sizeof(VkStructureType);
7706     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7707         rootType = toCount->sType;
7708     }
7709     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7710     *count += sizeof(VkBool32);
7711 }
7712 
count_VkQueueFamilyGlobalPriorityPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyGlobalPriorityPropertiesKHR * toCount,size_t * count)7713 void count_VkQueueFamilyGlobalPriorityPropertiesKHR(
7714     uint32_t featureBits, VkStructureType rootType,
7715     const VkQueueFamilyGlobalPriorityPropertiesKHR* toCount, size_t* count) {
7716     (void)featureBits;
7717     (void)rootType;
7718     (void)toCount;
7719     (void)count;
7720     *count += sizeof(VkStructureType);
7721     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7722         rootType = toCount->sType;
7723     }
7724     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7725     *count += sizeof(uint32_t);
7726     *count += VK_MAX_GLOBAL_PRIORITY_SIZE_KHR * sizeof(VkQueueGlobalPriorityKHR);
7727 }
7728 
7729 #endif
7730 #ifdef VK_KHR_driver_properties
7731 #endif
7732 #ifdef VK_KHR_shader_float_controls
7733 #endif
7734 #ifdef VK_KHR_depth_stencil_resolve
7735 #endif
7736 #ifdef VK_KHR_swapchain_mutable_format
7737 #endif
7738 #ifdef VK_KHR_timeline_semaphore
7739 #endif
7740 #ifdef VK_KHR_vulkan_memory_model
7741 #endif
7742 #ifdef VK_KHR_shader_terminate_invocation
7743 #endif
7744 #ifdef VK_KHR_fragment_shading_rate
count_VkFragmentShadingRateAttachmentInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkFragmentShadingRateAttachmentInfoKHR * toCount,size_t * count)7745 void count_VkFragmentShadingRateAttachmentInfoKHR(
7746     uint32_t featureBits, VkStructureType rootType,
7747     const VkFragmentShadingRateAttachmentInfoKHR* toCount, size_t* count) {
7748     (void)featureBits;
7749     (void)rootType;
7750     (void)toCount;
7751     (void)count;
7752     *count += sizeof(VkStructureType);
7753     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7754         rootType = toCount->sType;
7755     }
7756     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7757     // WARNING PTR CHECK
7758     *count += 8;
7759     if (toCount->pFragmentShadingRateAttachment) {
7760         count_VkAttachmentReference2(
7761             featureBits, rootType,
7762             (const VkAttachmentReference2*)(toCount->pFragmentShadingRateAttachment), count);
7763     }
7764     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->shadingRateAttachmentTexelSize),
7765                      count);
7766 }
7767 
count_VkPipelineFragmentShadingRateStateCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineFragmentShadingRateStateCreateInfoKHR * toCount,size_t * count)7768 void count_VkPipelineFragmentShadingRateStateCreateInfoKHR(
7769     uint32_t featureBits, VkStructureType rootType,
7770     const VkPipelineFragmentShadingRateStateCreateInfoKHR* toCount, size_t* count) {
7771     (void)featureBits;
7772     (void)rootType;
7773     (void)toCount;
7774     (void)count;
7775     *count += sizeof(VkStructureType);
7776     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7777         rootType = toCount->sType;
7778     }
7779     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7780     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->fragmentSize), count);
7781     *count += 2 * sizeof(VkFragmentShadingRateCombinerOpKHR);
7782 }
7783 
count_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateFeaturesKHR * toCount,size_t * count)7784 void count_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
7785     uint32_t featureBits, VkStructureType rootType,
7786     const VkPhysicalDeviceFragmentShadingRateFeaturesKHR* toCount, size_t* count) {
7787     (void)featureBits;
7788     (void)rootType;
7789     (void)toCount;
7790     (void)count;
7791     *count += sizeof(VkStructureType);
7792     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7793         rootType = toCount->sType;
7794     }
7795     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7796     *count += sizeof(VkBool32);
7797     *count += sizeof(VkBool32);
7798     *count += sizeof(VkBool32);
7799 }
7800 
count_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRatePropertiesKHR * toCount,size_t * count)7801 void count_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
7802     uint32_t featureBits, VkStructureType rootType,
7803     const VkPhysicalDeviceFragmentShadingRatePropertiesKHR* toCount, size_t* count) {
7804     (void)featureBits;
7805     (void)rootType;
7806     (void)toCount;
7807     (void)count;
7808     *count += sizeof(VkStructureType);
7809     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7810         rootType = toCount->sType;
7811     }
7812     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7813     count_VkExtent2D(featureBits, rootType,
7814                      (VkExtent2D*)(&toCount->minFragmentShadingRateAttachmentTexelSize), count);
7815     count_VkExtent2D(featureBits, rootType,
7816                      (VkExtent2D*)(&toCount->maxFragmentShadingRateAttachmentTexelSize), count);
7817     *count += sizeof(uint32_t);
7818     *count += sizeof(VkBool32);
7819     *count += sizeof(VkBool32);
7820     *count += sizeof(VkBool32);
7821     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxFragmentSize), count);
7822     *count += sizeof(uint32_t);
7823     *count += sizeof(uint32_t);
7824     *count += sizeof(VkSampleCountFlagBits);
7825     *count += sizeof(VkBool32);
7826     *count += sizeof(VkBool32);
7827     *count += sizeof(VkBool32);
7828     *count += sizeof(VkBool32);
7829     *count += sizeof(VkBool32);
7830     *count += sizeof(VkBool32);
7831     *count += sizeof(VkBool32);
7832 }
7833 
count_VkPhysicalDeviceFragmentShadingRateKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateKHR * toCount,size_t * count)7834 void count_VkPhysicalDeviceFragmentShadingRateKHR(
7835     uint32_t featureBits, VkStructureType rootType,
7836     const VkPhysicalDeviceFragmentShadingRateKHR* toCount, size_t* count) {
7837     (void)featureBits;
7838     (void)rootType;
7839     (void)toCount;
7840     (void)count;
7841     *count += sizeof(VkStructureType);
7842     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7843         rootType = toCount->sType;
7844     }
7845     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7846     *count += sizeof(VkSampleCountFlags);
7847     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->fragmentSize), count);
7848 }
7849 
7850 #endif
7851 #ifdef VK_KHR_spirv_1_4
7852 #endif
7853 #ifdef VK_KHR_surface_protected_capabilities
count_VkSurfaceProtectedCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkSurfaceProtectedCapabilitiesKHR * toCount,size_t * count)7854 void count_VkSurfaceProtectedCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
7855                                              const VkSurfaceProtectedCapabilitiesKHR* toCount,
7856                                              size_t* count) {
7857     (void)featureBits;
7858     (void)rootType;
7859     (void)toCount;
7860     (void)count;
7861     *count += sizeof(VkStructureType);
7862     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7863         rootType = toCount->sType;
7864     }
7865     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7866     *count += sizeof(VkBool32);
7867 }
7868 
7869 #endif
7870 #ifdef VK_KHR_separate_depth_stencil_layouts
7871 #endif
7872 #ifdef VK_KHR_present_wait
count_VkPhysicalDevicePresentWaitFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePresentWaitFeaturesKHR * toCount,size_t * count)7873 void count_VkPhysicalDevicePresentWaitFeaturesKHR(
7874     uint32_t featureBits, VkStructureType rootType,
7875     const VkPhysicalDevicePresentWaitFeaturesKHR* toCount, size_t* count) {
7876     (void)featureBits;
7877     (void)rootType;
7878     (void)toCount;
7879     (void)count;
7880     *count += sizeof(VkStructureType);
7881     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7882         rootType = toCount->sType;
7883     }
7884     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7885     *count += sizeof(VkBool32);
7886 }
7887 
7888 #endif
7889 #ifdef VK_KHR_uniform_buffer_standard_layout
7890 #endif
7891 #ifdef VK_KHR_buffer_device_address
7892 #endif
7893 #ifdef VK_KHR_deferred_host_operations
7894 #endif
7895 #ifdef VK_KHR_pipeline_executable_properties
count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * toCount,size_t * count)7896 void count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
7897     uint32_t featureBits, VkStructureType rootType,
7898     const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* toCount, size_t* count) {
7899     (void)featureBits;
7900     (void)rootType;
7901     (void)toCount;
7902     (void)count;
7903     *count += sizeof(VkStructureType);
7904     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7905         rootType = toCount->sType;
7906     }
7907     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7908     *count += sizeof(VkBool32);
7909 }
7910 
count_VkPipelineInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineInfoKHR * toCount,size_t * count)7911 void count_VkPipelineInfoKHR(uint32_t featureBits, VkStructureType rootType,
7912                              const VkPipelineInfoKHR* toCount, size_t* count) {
7913     (void)featureBits;
7914     (void)rootType;
7915     (void)toCount;
7916     (void)count;
7917     *count += sizeof(VkStructureType);
7918     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7919         rootType = toCount->sType;
7920     }
7921     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7922     uint64_t cgen_var_0;
7923     *count += 1 * 8;
7924 }
7925 
count_VkPipelineExecutablePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * toCount,size_t * count)7926 void count_VkPipelineExecutablePropertiesKHR(uint32_t featureBits, VkStructureType rootType,
7927                                              const VkPipelineExecutablePropertiesKHR* toCount,
7928                                              size_t* count) {
7929     (void)featureBits;
7930     (void)rootType;
7931     (void)toCount;
7932     (void)count;
7933     *count += sizeof(VkStructureType);
7934     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7935         rootType = toCount->sType;
7936     }
7937     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7938     *count += sizeof(VkShaderStageFlags);
7939     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7940     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7941     *count += sizeof(uint32_t);
7942 }
7943 
count_VkPipelineExecutableInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableInfoKHR * toCount,size_t * count)7944 void count_VkPipelineExecutableInfoKHR(uint32_t featureBits, VkStructureType rootType,
7945                                        const VkPipelineExecutableInfoKHR* toCount, size_t* count) {
7946     (void)featureBits;
7947     (void)rootType;
7948     (void)toCount;
7949     (void)count;
7950     *count += sizeof(VkStructureType);
7951     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7952         rootType = toCount->sType;
7953     }
7954     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7955     uint64_t cgen_var_0;
7956     *count += 1 * 8;
7957     *count += sizeof(uint32_t);
7958 }
7959 
count_VkPipelineExecutableStatisticValueKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * toCount,size_t * count)7960 void count_VkPipelineExecutableStatisticValueKHR(
7961     uint32_t featureBits, VkStructureType rootType,
7962     const VkPipelineExecutableStatisticValueKHR* toCount, size_t* count) {
7963     (void)featureBits;
7964     (void)rootType;
7965     (void)toCount;
7966     (void)count;
7967     *count += sizeof(VkBool32);
7968 }
7969 
count_VkPipelineExecutableStatisticKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * toCount,size_t * count)7970 void count_VkPipelineExecutableStatisticKHR(uint32_t featureBits, VkStructureType rootType,
7971                                             const VkPipelineExecutableStatisticKHR* toCount,
7972                                             size_t* count) {
7973     (void)featureBits;
7974     (void)rootType;
7975     (void)toCount;
7976     (void)count;
7977     *count += sizeof(VkStructureType);
7978     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7979         rootType = toCount->sType;
7980     }
7981     count_extension_struct(featureBits, rootType, toCount->pNext, count);
7982     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7983     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
7984     *count += sizeof(VkPipelineExecutableStatisticFormatKHR);
7985     count_VkPipelineExecutableStatisticValueKHR(
7986         featureBits, rootType, (VkPipelineExecutableStatisticValueKHR*)(&toCount->value), count);
7987 }
7988 
count_VkPipelineExecutableInternalRepresentationKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * toCount,size_t * count)7989 void count_VkPipelineExecutableInternalRepresentationKHR(
7990     uint32_t featureBits, VkStructureType rootType,
7991     const VkPipelineExecutableInternalRepresentationKHR* toCount, size_t* count) {
7992     (void)featureBits;
7993     (void)rootType;
7994     (void)toCount;
7995     (void)count;
7996     *count += sizeof(VkStructureType);
7997     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7998         rootType = toCount->sType;
7999     }
8000     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8001     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8002     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
8003     *count += sizeof(VkBool32);
8004     *count += 8;
8005     // WARNING PTR CHECK
8006     *count += 8;
8007     if (toCount->pData) {
8008         if (toCount) {
8009             *count += toCount->dataSize * sizeof(uint8_t);
8010         }
8011     }
8012 }
8013 
8014 #endif
8015 #ifdef VK_KHR_map_memory2
count_VkMemoryMapInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkMemoryMapInfoKHR * toCount,size_t * count)8016 void count_VkMemoryMapInfoKHR(uint32_t featureBits, VkStructureType rootType,
8017                               const VkMemoryMapInfoKHR* toCount, size_t* count) {
8018     (void)featureBits;
8019     (void)rootType;
8020     (void)toCount;
8021     (void)count;
8022     *count += sizeof(VkStructureType);
8023     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8024         rootType = toCount->sType;
8025     }
8026     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8027     *count += sizeof(VkMemoryMapFlags);
8028     uint64_t cgen_var_0;
8029     *count += 1 * 8;
8030     *count += sizeof(VkDeviceSize);
8031     *count += sizeof(VkDeviceSize);
8032 }
8033 
count_VkMemoryUnmapInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkMemoryUnmapInfoKHR * toCount,size_t * count)8034 void count_VkMemoryUnmapInfoKHR(uint32_t featureBits, VkStructureType rootType,
8035                                 const VkMemoryUnmapInfoKHR* toCount, size_t* count) {
8036     (void)featureBits;
8037     (void)rootType;
8038     (void)toCount;
8039     (void)count;
8040     *count += sizeof(VkStructureType);
8041     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8042         rootType = toCount->sType;
8043     }
8044     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8045     *count += sizeof(VkMemoryUnmapFlagsKHR);
8046     uint64_t cgen_var_0;
8047     *count += 1 * 8;
8048 }
8049 
8050 #endif
8051 #ifdef VK_KHR_shader_integer_dot_product
8052 #endif
8053 #ifdef VK_KHR_pipeline_library
count_VkPipelineLibraryCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineLibraryCreateInfoKHR * toCount,size_t * count)8054 void count_VkPipelineLibraryCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
8055                                           const VkPipelineLibraryCreateInfoKHR* toCount,
8056                                           size_t* count) {
8057     (void)featureBits;
8058     (void)rootType;
8059     (void)toCount;
8060     (void)count;
8061     *count += sizeof(VkStructureType);
8062     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8063         rootType = toCount->sType;
8064     }
8065     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8066     *count += sizeof(uint32_t);
8067     if (toCount->libraryCount) {
8068         *count += toCount->libraryCount * 8;
8069     }
8070 }
8071 
8072 #endif
8073 #ifdef VK_KHR_shader_non_semantic_info
8074 #endif
8075 #ifdef VK_KHR_present_id
count_VkPresentIdKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentIdKHR * toCount,size_t * count)8076 void count_VkPresentIdKHR(uint32_t featureBits, VkStructureType rootType,
8077                           const VkPresentIdKHR* toCount, size_t* count) {
8078     (void)featureBits;
8079     (void)rootType;
8080     (void)toCount;
8081     (void)count;
8082     *count += sizeof(VkStructureType);
8083     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8084         rootType = toCount->sType;
8085     }
8086     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8087     *count += sizeof(uint32_t);
8088     // WARNING PTR CHECK
8089     *count += 8;
8090     if (toCount->pPresentIds) {
8091         if (toCount) {
8092             *count += toCount->swapchainCount * sizeof(const uint64_t);
8093         }
8094     }
8095 }
8096 
count_VkPhysicalDevicePresentIdFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePresentIdFeaturesKHR * toCount,size_t * count)8097 void count_VkPhysicalDevicePresentIdFeaturesKHR(uint32_t featureBits, VkStructureType rootType,
8098                                                 const VkPhysicalDevicePresentIdFeaturesKHR* toCount,
8099                                                 size_t* count) {
8100     (void)featureBits;
8101     (void)rootType;
8102     (void)toCount;
8103     (void)count;
8104     *count += sizeof(VkStructureType);
8105     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8106         rootType = toCount->sType;
8107     }
8108     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8109     *count += sizeof(VkBool32);
8110 }
8111 
8112 #endif
8113 #ifdef VK_KHR_video_encode_queue
count_VkVideoEncodeInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeInfoKHR * toCount,size_t * count)8114 void count_VkVideoEncodeInfoKHR(uint32_t featureBits, VkStructureType rootType,
8115                                 const VkVideoEncodeInfoKHR* toCount, size_t* count) {
8116     (void)featureBits;
8117     (void)rootType;
8118     (void)toCount;
8119     (void)count;
8120     *count += sizeof(VkStructureType);
8121     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8122         rootType = toCount->sType;
8123     }
8124     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8125     *count += sizeof(VkVideoEncodeFlagsKHR);
8126     *count += sizeof(uint32_t);
8127     uint64_t cgen_var_0;
8128     *count += 1 * 8;
8129     *count += sizeof(VkDeviceSize);
8130     *count += sizeof(VkDeviceSize);
8131     count_VkVideoPictureResourceInfoKHR(
8132         featureBits, rootType, (VkVideoPictureResourceInfoKHR*)(&toCount->srcPictureResource),
8133         count);
8134     // WARNING PTR CHECK
8135     *count += 8;
8136     if (toCount->pSetupReferenceSlot) {
8137         count_VkVideoReferenceSlotInfoKHR(
8138             featureBits, rootType,
8139             (const VkVideoReferenceSlotInfoKHR*)(toCount->pSetupReferenceSlot), count);
8140     }
8141     *count += sizeof(uint32_t);
8142     if (toCount) {
8143         for (uint32_t i = 0; i < (uint32_t)toCount->referenceSlotCount; ++i) {
8144             count_VkVideoReferenceSlotInfoKHR(
8145                 featureBits, rootType,
8146                 (const VkVideoReferenceSlotInfoKHR*)(toCount->pReferenceSlots + i), count);
8147         }
8148     }
8149     *count += sizeof(uint32_t);
8150 }
8151 
count_VkVideoEncodeCapabilitiesKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeCapabilitiesKHR * toCount,size_t * count)8152 void count_VkVideoEncodeCapabilitiesKHR(uint32_t featureBits, VkStructureType rootType,
8153                                         const VkVideoEncodeCapabilitiesKHR* toCount,
8154                                         size_t* count) {
8155     (void)featureBits;
8156     (void)rootType;
8157     (void)toCount;
8158     (void)count;
8159     *count += sizeof(VkStructureType);
8160     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8161         rootType = toCount->sType;
8162     }
8163     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8164     *count += sizeof(VkVideoEncodeCapabilityFlagsKHR);
8165     *count += sizeof(VkVideoEncodeRateControlModeFlagsKHR);
8166     *count += sizeof(uint32_t);
8167     *count += sizeof(uint32_t);
8168     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->inputImageDataFillAlignment),
8169                      count);
8170     *count += sizeof(VkVideoEncodeFeedbackFlagsKHR);
8171 }
8172 
count_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR * toCount,size_t * count)8173 void count_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR(
8174     uint32_t featureBits, VkStructureType rootType,
8175     const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR* toCount, size_t* count) {
8176     (void)featureBits;
8177     (void)rootType;
8178     (void)toCount;
8179     (void)count;
8180     *count += sizeof(VkStructureType);
8181     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8182         rootType = toCount->sType;
8183     }
8184     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8185     *count += sizeof(VkVideoEncodeFeedbackFlagsKHR);
8186 }
8187 
count_VkVideoEncodeUsageInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeUsageInfoKHR * toCount,size_t * count)8188 void count_VkVideoEncodeUsageInfoKHR(uint32_t featureBits, VkStructureType rootType,
8189                                      const VkVideoEncodeUsageInfoKHR* toCount, size_t* count) {
8190     (void)featureBits;
8191     (void)rootType;
8192     (void)toCount;
8193     (void)count;
8194     *count += sizeof(VkStructureType);
8195     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8196         rootType = toCount->sType;
8197     }
8198     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8199     *count += sizeof(VkVideoEncodeUsageFlagsKHR);
8200     *count += sizeof(VkVideoEncodeContentFlagsKHR);
8201     *count += sizeof(VkVideoEncodeTuningModeKHR);
8202 }
8203 
count_VkVideoEncodeRateControlLayerInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeRateControlLayerInfoKHR * toCount,size_t * count)8204 void count_VkVideoEncodeRateControlLayerInfoKHR(uint32_t featureBits, VkStructureType rootType,
8205                                                 const VkVideoEncodeRateControlLayerInfoKHR* toCount,
8206                                                 size_t* count) {
8207     (void)featureBits;
8208     (void)rootType;
8209     (void)toCount;
8210     (void)count;
8211     *count += sizeof(VkStructureType);
8212     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8213         rootType = toCount->sType;
8214     }
8215     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8216     *count += sizeof(uint64_t);
8217     *count += sizeof(uint64_t);
8218     *count += sizeof(uint32_t);
8219     *count += sizeof(uint32_t);
8220     *count += sizeof(uint32_t);
8221     *count += sizeof(uint32_t);
8222 }
8223 
count_VkVideoEncodeRateControlInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeRateControlInfoKHR * toCount,size_t * count)8224 void count_VkVideoEncodeRateControlInfoKHR(uint32_t featureBits, VkStructureType rootType,
8225                                            const VkVideoEncodeRateControlInfoKHR* toCount,
8226                                            size_t* count) {
8227     (void)featureBits;
8228     (void)rootType;
8229     (void)toCount;
8230     (void)count;
8231     *count += sizeof(VkStructureType);
8232     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8233         rootType = toCount->sType;
8234     }
8235     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8236     *count += sizeof(VkVideoEncodeRateControlFlagsKHR);
8237     *count += sizeof(VkVideoEncodeRateControlModeFlagBitsKHR);
8238     *count += sizeof(uint32_t);
8239     if (toCount) {
8240         for (uint32_t i = 0; i < (uint32_t)toCount->layerCount; ++i) {
8241             count_VkVideoEncodeRateControlLayerInfoKHR(
8242                 featureBits, rootType,
8243                 (const VkVideoEncodeRateControlLayerInfoKHR*)(toCount->pLayers + i), count);
8244         }
8245     }
8246 }
8247 
8248 #endif
8249 #ifdef VK_KHR_synchronization2
count_VkQueueFamilyCheckpointProperties2NV(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyCheckpointProperties2NV * toCount,size_t * count)8250 void count_VkQueueFamilyCheckpointProperties2NV(uint32_t featureBits, VkStructureType rootType,
8251                                                 const VkQueueFamilyCheckpointProperties2NV* toCount,
8252                                                 size_t* count) {
8253     (void)featureBits;
8254     (void)rootType;
8255     (void)toCount;
8256     (void)count;
8257     *count += sizeof(VkStructureType);
8258     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8259         rootType = toCount->sType;
8260     }
8261     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8262     *count += sizeof(VkPipelineStageFlags2);
8263 }
8264 
count_VkCheckpointData2NV(uint32_t featureBits,VkStructureType rootType,const VkCheckpointData2NV * toCount,size_t * count)8265 void count_VkCheckpointData2NV(uint32_t featureBits, VkStructureType rootType,
8266                                const VkCheckpointData2NV* toCount, size_t* count) {
8267     (void)featureBits;
8268     (void)rootType;
8269     (void)toCount;
8270     (void)count;
8271     *count += sizeof(VkStructureType);
8272     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8273         rootType = toCount->sType;
8274     }
8275     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8276     *count += sizeof(VkPipelineStageFlags2);
8277     // WARNING PTR CHECK
8278     *count += 8;
8279     if (toCount->pCheckpointMarker) {
8280         *count += sizeof(uint8_t);
8281     }
8282 }
8283 
8284 #endif
8285 #ifdef VK_KHR_fragment_shader_barycentric
count_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR * toCount,size_t * count)8286 void count_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(
8287     uint32_t featureBits, VkStructureType rootType,
8288     const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* toCount, size_t* count) {
8289     (void)featureBits;
8290     (void)rootType;
8291     (void)toCount;
8292     (void)count;
8293     *count += sizeof(VkStructureType);
8294     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8295         rootType = toCount->sType;
8296     }
8297     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8298     *count += sizeof(VkBool32);
8299 }
8300 
count_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR * toCount,size_t * count)8301 void count_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR(
8302     uint32_t featureBits, VkStructureType rootType,
8303     const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR* toCount, size_t* count) {
8304     (void)featureBits;
8305     (void)rootType;
8306     (void)toCount;
8307     (void)count;
8308     *count += sizeof(VkStructureType);
8309     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8310         rootType = toCount->sType;
8311     }
8312     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8313     *count += sizeof(VkBool32);
8314 }
8315 
8316 #endif
8317 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
count_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR * toCount,size_t * count)8318 void count_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(
8319     uint32_t featureBits, VkStructureType rootType,
8320     const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR* toCount, size_t* count) {
8321     (void)featureBits;
8322     (void)rootType;
8323     (void)toCount;
8324     (void)count;
8325     *count += sizeof(VkStructureType);
8326     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8327         rootType = toCount->sType;
8328     }
8329     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8330     *count += sizeof(VkBool32);
8331 }
8332 
8333 #endif
8334 #ifdef VK_KHR_zero_initialize_workgroup_memory
8335 #endif
8336 #ifdef VK_KHR_workgroup_memory_explicit_layout
count_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR * toCount,size_t * count)8337 void count_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
8338     uint32_t featureBits, VkStructureType rootType,
8339     const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR* toCount, size_t* count) {
8340     (void)featureBits;
8341     (void)rootType;
8342     (void)toCount;
8343     (void)count;
8344     *count += sizeof(VkStructureType);
8345     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8346         rootType = toCount->sType;
8347     }
8348     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8349     *count += sizeof(VkBool32);
8350     *count += sizeof(VkBool32);
8351     *count += sizeof(VkBool32);
8352     *count += sizeof(VkBool32);
8353 }
8354 
8355 #endif
8356 #ifdef VK_KHR_copy_commands2
8357 #endif
8358 #ifdef VK_KHR_format_feature_flags2
8359 #endif
8360 #ifdef VK_KHR_ray_tracing_maintenance1
count_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR * toCount,size_t * count)8361 void count_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(
8362     uint32_t featureBits, VkStructureType rootType,
8363     const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR* toCount, size_t* count) {
8364     (void)featureBits;
8365     (void)rootType;
8366     (void)toCount;
8367     (void)count;
8368     *count += sizeof(VkStructureType);
8369     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8370         rootType = toCount->sType;
8371     }
8372     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8373     *count += sizeof(VkBool32);
8374     *count += sizeof(VkBool32);
8375 }
8376 
count_VkTraceRaysIndirectCommand2KHR(uint32_t featureBits,VkStructureType rootType,const VkTraceRaysIndirectCommand2KHR * toCount,size_t * count)8377 void count_VkTraceRaysIndirectCommand2KHR(uint32_t featureBits, VkStructureType rootType,
8378                                           const VkTraceRaysIndirectCommand2KHR* toCount,
8379                                           size_t* count) {
8380     (void)featureBits;
8381     (void)rootType;
8382     (void)toCount;
8383     (void)count;
8384     *count += sizeof(VkDeviceAddress);
8385     *count += sizeof(VkDeviceSize);
8386     *count += sizeof(VkDeviceAddress);
8387     *count += sizeof(VkDeviceSize);
8388     *count += sizeof(VkDeviceSize);
8389     *count += sizeof(VkDeviceAddress);
8390     *count += sizeof(VkDeviceSize);
8391     *count += sizeof(VkDeviceSize);
8392     *count += sizeof(VkDeviceAddress);
8393     *count += sizeof(VkDeviceSize);
8394     *count += sizeof(VkDeviceSize);
8395     *count += sizeof(uint32_t);
8396     *count += sizeof(uint32_t);
8397     *count += sizeof(uint32_t);
8398 }
8399 
8400 #endif
8401 #ifdef VK_KHR_portability_enumeration
8402 #endif
8403 #ifdef VK_KHR_maintenance4
8404 #endif
8405 #ifdef VK_KHR_ray_tracing_position_fetch
count_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR * toCount,size_t * count)8406 void count_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(
8407     uint32_t featureBits, VkStructureType rootType,
8408     const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR* toCount, size_t* count) {
8409     (void)featureBits;
8410     (void)rootType;
8411     (void)toCount;
8412     (void)count;
8413     *count += sizeof(VkStructureType);
8414     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8415         rootType = toCount->sType;
8416     }
8417     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8418     *count += sizeof(VkBool32);
8419 }
8420 
8421 #endif
8422 #ifdef VK_ANDROID_native_buffer
count_VkNativeBufferUsage2ANDROID(uint32_t featureBits,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * toCount,size_t * count)8423 void count_VkNativeBufferUsage2ANDROID(uint32_t featureBits, VkStructureType rootType,
8424                                        const VkNativeBufferUsage2ANDROID* toCount, size_t* count) {
8425     (void)featureBits;
8426     (void)rootType;
8427     (void)toCount;
8428     (void)count;
8429     *count += sizeof(uint64_t);
8430     *count += sizeof(uint64_t);
8431 }
8432 
count_VkNativeBufferANDROID(uint32_t featureBits,VkStructureType rootType,const VkNativeBufferANDROID * toCount,size_t * count)8433 void count_VkNativeBufferANDROID(uint32_t featureBits, VkStructureType rootType,
8434                                  const VkNativeBufferANDROID* toCount, size_t* count) {
8435     (void)featureBits;
8436     (void)rootType;
8437     (void)toCount;
8438     (void)count;
8439     *count += sizeof(VkStructureType);
8440     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8441         rootType = toCount->sType;
8442     }
8443     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8444     // WARNING PTR CHECK
8445     *count += 8;
8446     if (toCount->handle) {
8447         *count += sizeof(const uint32_t);
8448     }
8449     *count += sizeof(int);
8450     *count += sizeof(int);
8451     *count += sizeof(int);
8452     count_VkNativeBufferUsage2ANDROID(featureBits, rootType,
8453                                       (VkNativeBufferUsage2ANDROID*)(&toCount->usage2), count);
8454 }
8455 
count_VkSwapchainImageCreateInfoANDROID(uint32_t featureBits,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * toCount,size_t * count)8456 void count_VkSwapchainImageCreateInfoANDROID(uint32_t featureBits, VkStructureType rootType,
8457                                              const VkSwapchainImageCreateInfoANDROID* toCount,
8458                                              size_t* count) {
8459     (void)featureBits;
8460     (void)rootType;
8461     (void)toCount;
8462     (void)count;
8463     *count += sizeof(VkStructureType);
8464     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8465         rootType = toCount->sType;
8466     }
8467     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8468     *count += sizeof(VkSwapchainImageUsageFlagsANDROID);
8469 }
8470 
count_VkPhysicalDevicePresentationPropertiesANDROID(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * toCount,size_t * count)8471 void count_VkPhysicalDevicePresentationPropertiesANDROID(
8472     uint32_t featureBits, VkStructureType rootType,
8473     const VkPhysicalDevicePresentationPropertiesANDROID* toCount, size_t* count) {
8474     (void)featureBits;
8475     (void)rootType;
8476     (void)toCount;
8477     (void)count;
8478     *count += sizeof(VkStructureType);
8479     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8480         rootType = toCount->sType;
8481     }
8482     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8483     *count += sizeof(VkBool32);
8484 }
8485 
8486 #endif
8487 #ifdef VK_EXT_debug_report
count_VkDebugReportCallbackCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugReportCallbackCreateInfoEXT * toCount,size_t * count)8488 void count_VkDebugReportCallbackCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
8489                                               const VkDebugReportCallbackCreateInfoEXT* toCount,
8490                                               size_t* count) {
8491     (void)featureBits;
8492     (void)rootType;
8493     (void)toCount;
8494     (void)count;
8495     *count += sizeof(VkStructureType);
8496     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8497         rootType = toCount->sType;
8498     }
8499     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8500     *count += sizeof(VkDebugReportFlagsEXT);
8501     *count += 8;
8502     // WARNING PTR CHECK
8503     *count += 8;
8504     if (toCount->pUserData) {
8505         *count += sizeof(uint8_t);
8506     }
8507 }
8508 
8509 #endif
8510 #ifdef VK_NV_glsl_shader
8511 #endif
8512 #ifdef VK_EXT_depth_range_unrestricted
8513 #endif
8514 #ifdef VK_IMG_filter_cubic
8515 #endif
8516 #ifdef VK_AMD_rasterization_order
count_VkPipelineRasterizationStateRasterizationOrderAMD(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationStateRasterizationOrderAMD * toCount,size_t * count)8517 void count_VkPipelineRasterizationStateRasterizationOrderAMD(
8518     uint32_t featureBits, VkStructureType rootType,
8519     const VkPipelineRasterizationStateRasterizationOrderAMD* toCount, size_t* count) {
8520     (void)featureBits;
8521     (void)rootType;
8522     (void)toCount;
8523     (void)count;
8524     *count += sizeof(VkStructureType);
8525     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8526         rootType = toCount->sType;
8527     }
8528     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8529     *count += sizeof(VkRasterizationOrderAMD);
8530 }
8531 
8532 #endif
8533 #ifdef VK_AMD_shader_trinary_minmax
8534 #endif
8535 #ifdef VK_AMD_shader_explicit_vertex_parameter
8536 #endif
8537 #ifdef VK_EXT_debug_marker
count_VkDebugMarkerObjectNameInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugMarkerObjectNameInfoEXT * toCount,size_t * count)8538 void count_VkDebugMarkerObjectNameInfoEXT(uint32_t featureBits, VkStructureType rootType,
8539                                           const VkDebugMarkerObjectNameInfoEXT* toCount,
8540                                           size_t* count) {
8541     (void)featureBits;
8542     (void)rootType;
8543     (void)toCount;
8544     (void)count;
8545     *count += sizeof(VkStructureType);
8546     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8547         rootType = toCount->sType;
8548     }
8549     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8550     *count += sizeof(VkDebugReportObjectTypeEXT);
8551     *count += sizeof(uint64_t);
8552     *count += sizeof(uint32_t) + (toCount->pObjectName ? strlen(toCount->pObjectName) : 0);
8553 }
8554 
count_VkDebugMarkerObjectTagInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugMarkerObjectTagInfoEXT * toCount,size_t * count)8555 void count_VkDebugMarkerObjectTagInfoEXT(uint32_t featureBits, VkStructureType rootType,
8556                                          const VkDebugMarkerObjectTagInfoEXT* toCount,
8557                                          size_t* count) {
8558     (void)featureBits;
8559     (void)rootType;
8560     (void)toCount;
8561     (void)count;
8562     *count += sizeof(VkStructureType);
8563     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8564         rootType = toCount->sType;
8565     }
8566     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8567     *count += sizeof(VkDebugReportObjectTypeEXT);
8568     *count += sizeof(uint64_t);
8569     *count += sizeof(uint64_t);
8570     *count += 8;
8571     if (toCount) {
8572         *count += toCount->tagSize * sizeof(const uint8_t);
8573     }
8574 }
8575 
count_VkDebugMarkerMarkerInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugMarkerMarkerInfoEXT * toCount,size_t * count)8576 void count_VkDebugMarkerMarkerInfoEXT(uint32_t featureBits, VkStructureType rootType,
8577                                       const VkDebugMarkerMarkerInfoEXT* toCount, size_t* count) {
8578     (void)featureBits;
8579     (void)rootType;
8580     (void)toCount;
8581     (void)count;
8582     *count += sizeof(VkStructureType);
8583     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8584         rootType = toCount->sType;
8585     }
8586     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8587     *count += sizeof(uint32_t) + (toCount->pMarkerName ? strlen(toCount->pMarkerName) : 0);
8588     *count += 4 * sizeof(float);
8589 }
8590 
8591 #endif
8592 #ifdef VK_AMD_gcn_shader
8593 #endif
8594 #ifdef VK_NV_dedicated_allocation
count_VkDedicatedAllocationImageCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkDedicatedAllocationImageCreateInfoNV * toCount,size_t * count)8595 void count_VkDedicatedAllocationImageCreateInfoNV(
8596     uint32_t featureBits, VkStructureType rootType,
8597     const VkDedicatedAllocationImageCreateInfoNV* toCount, size_t* count) {
8598     (void)featureBits;
8599     (void)rootType;
8600     (void)toCount;
8601     (void)count;
8602     *count += sizeof(VkStructureType);
8603     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8604         rootType = toCount->sType;
8605     }
8606     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8607     *count += sizeof(VkBool32);
8608 }
8609 
count_VkDedicatedAllocationBufferCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkDedicatedAllocationBufferCreateInfoNV * toCount,size_t * count)8610 void count_VkDedicatedAllocationBufferCreateInfoNV(
8611     uint32_t featureBits, VkStructureType rootType,
8612     const VkDedicatedAllocationBufferCreateInfoNV* toCount, size_t* count) {
8613     (void)featureBits;
8614     (void)rootType;
8615     (void)toCount;
8616     (void)count;
8617     *count += sizeof(VkStructureType);
8618     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8619         rootType = toCount->sType;
8620     }
8621     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8622     *count += sizeof(VkBool32);
8623 }
8624 
count_VkDedicatedAllocationMemoryAllocateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkDedicatedAllocationMemoryAllocateInfoNV * toCount,size_t * count)8625 void count_VkDedicatedAllocationMemoryAllocateInfoNV(
8626     uint32_t featureBits, VkStructureType rootType,
8627     const VkDedicatedAllocationMemoryAllocateInfoNV* toCount, size_t* count) {
8628     (void)featureBits;
8629     (void)rootType;
8630     (void)toCount;
8631     (void)count;
8632     *count += sizeof(VkStructureType);
8633     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8634         rootType = toCount->sType;
8635     }
8636     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8637     uint64_t cgen_var_0;
8638     *count += 1 * 8;
8639     uint64_t cgen_var_1;
8640     *count += 1 * 8;
8641 }
8642 
8643 #endif
8644 #ifdef VK_EXT_transform_feedback
count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * toCount,size_t * count)8645 void count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
8646     uint32_t featureBits, VkStructureType rootType,
8647     const VkPhysicalDeviceTransformFeedbackFeaturesEXT* toCount, size_t* count) {
8648     (void)featureBits;
8649     (void)rootType;
8650     (void)toCount;
8651     (void)count;
8652     *count += sizeof(VkStructureType);
8653     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8654         rootType = toCount->sType;
8655     }
8656     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8657     *count += sizeof(VkBool32);
8658     *count += sizeof(VkBool32);
8659 }
8660 
count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * toCount,size_t * count)8661 void count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
8662     uint32_t featureBits, VkStructureType rootType,
8663     const VkPhysicalDeviceTransformFeedbackPropertiesEXT* toCount, size_t* count) {
8664     (void)featureBits;
8665     (void)rootType;
8666     (void)toCount;
8667     (void)count;
8668     *count += sizeof(VkStructureType);
8669     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8670         rootType = toCount->sType;
8671     }
8672     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8673     *count += sizeof(uint32_t);
8674     *count += sizeof(uint32_t);
8675     *count += sizeof(VkDeviceSize);
8676     *count += sizeof(uint32_t);
8677     *count += sizeof(uint32_t);
8678     *count += sizeof(uint32_t);
8679     *count += sizeof(VkBool32);
8680     *count += sizeof(VkBool32);
8681     *count += sizeof(VkBool32);
8682     *count += sizeof(VkBool32);
8683 }
8684 
count_VkPipelineRasterizationStateStreamCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * toCount,size_t * count)8685 void count_VkPipelineRasterizationStateStreamCreateInfoEXT(
8686     uint32_t featureBits, VkStructureType rootType,
8687     const VkPipelineRasterizationStateStreamCreateInfoEXT* toCount, size_t* count) {
8688     (void)featureBits;
8689     (void)rootType;
8690     (void)toCount;
8691     (void)count;
8692     *count += sizeof(VkStructureType);
8693     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8694         rootType = toCount->sType;
8695     }
8696     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8697     *count += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
8698     *count += sizeof(uint32_t);
8699 }
8700 
8701 #endif
8702 #ifdef VK_NVX_binary_import
count_VkCuModuleCreateInfoNVX(uint32_t featureBits,VkStructureType rootType,const VkCuModuleCreateInfoNVX * toCount,size_t * count)8703 void count_VkCuModuleCreateInfoNVX(uint32_t featureBits, VkStructureType rootType,
8704                                    const VkCuModuleCreateInfoNVX* toCount, size_t* count) {
8705     (void)featureBits;
8706     (void)rootType;
8707     (void)toCount;
8708     (void)count;
8709     *count += sizeof(VkStructureType);
8710     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8711         rootType = toCount->sType;
8712     }
8713     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8714     *count += 8;
8715     if (toCount) {
8716         *count += toCount->dataSize * sizeof(const uint8_t);
8717     }
8718 }
8719 
count_VkCuFunctionCreateInfoNVX(uint32_t featureBits,VkStructureType rootType,const VkCuFunctionCreateInfoNVX * toCount,size_t * count)8720 void count_VkCuFunctionCreateInfoNVX(uint32_t featureBits, VkStructureType rootType,
8721                                      const VkCuFunctionCreateInfoNVX* toCount, size_t* count) {
8722     (void)featureBits;
8723     (void)rootType;
8724     (void)toCount;
8725     (void)count;
8726     *count += sizeof(VkStructureType);
8727     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8728         rootType = toCount->sType;
8729     }
8730     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8731     *count += 8;
8732     *count += sizeof(uint32_t) + (toCount->pName ? strlen(toCount->pName) : 0);
8733 }
8734 
count_VkCuLaunchInfoNVX(uint32_t featureBits,VkStructureType rootType,const VkCuLaunchInfoNVX * toCount,size_t * count)8735 void count_VkCuLaunchInfoNVX(uint32_t featureBits, VkStructureType rootType,
8736                              const VkCuLaunchInfoNVX* toCount, size_t* count) {
8737     (void)featureBits;
8738     (void)rootType;
8739     (void)toCount;
8740     (void)count;
8741     *count += sizeof(VkStructureType);
8742     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8743         rootType = toCount->sType;
8744     }
8745     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8746     *count += 8;
8747     *count += sizeof(uint32_t);
8748     *count += sizeof(uint32_t);
8749     *count += sizeof(uint32_t);
8750     *count += sizeof(uint32_t);
8751     *count += sizeof(uint32_t);
8752     *count += sizeof(uint32_t);
8753     *count += sizeof(uint32_t);
8754     *count += 8;
8755     *count += 8;
8756 }
8757 
8758 #endif
8759 #ifdef VK_NVX_image_view_handle
count_VkImageViewHandleInfoNVX(uint32_t featureBits,VkStructureType rootType,const VkImageViewHandleInfoNVX * toCount,size_t * count)8760 void count_VkImageViewHandleInfoNVX(uint32_t featureBits, VkStructureType rootType,
8761                                     const VkImageViewHandleInfoNVX* toCount, size_t* count) {
8762     (void)featureBits;
8763     (void)rootType;
8764     (void)toCount;
8765     (void)count;
8766     *count += sizeof(VkStructureType);
8767     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8768         rootType = toCount->sType;
8769     }
8770     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8771     uint64_t cgen_var_0;
8772     *count += 1 * 8;
8773     *count += sizeof(VkDescriptorType);
8774     uint64_t cgen_var_1;
8775     *count += 1 * 8;
8776 }
8777 
count_VkImageViewAddressPropertiesNVX(uint32_t featureBits,VkStructureType rootType,const VkImageViewAddressPropertiesNVX * toCount,size_t * count)8778 void count_VkImageViewAddressPropertiesNVX(uint32_t featureBits, VkStructureType rootType,
8779                                            const VkImageViewAddressPropertiesNVX* toCount,
8780                                            size_t* count) {
8781     (void)featureBits;
8782     (void)rootType;
8783     (void)toCount;
8784     (void)count;
8785     *count += sizeof(VkStructureType);
8786     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8787         rootType = toCount->sType;
8788     }
8789     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8790     *count += sizeof(VkDeviceAddress);
8791     *count += sizeof(VkDeviceSize);
8792 }
8793 
8794 #endif
8795 #ifdef VK_AMD_draw_indirect_count
8796 #endif
8797 #ifdef VK_AMD_negative_viewport_height
8798 #endif
8799 #ifdef VK_AMD_gpu_shader_half_float
8800 #endif
8801 #ifdef VK_AMD_shader_ballot
8802 #endif
8803 #ifdef VK_EXT_video_encode_h264
count_VkVideoEncodeH264CapabilitiesEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264CapabilitiesEXT * toCount,size_t * count)8804 void count_VkVideoEncodeH264CapabilitiesEXT(uint32_t featureBits, VkStructureType rootType,
8805                                             const VkVideoEncodeH264CapabilitiesEXT* toCount,
8806                                             size_t* count) {
8807     (void)featureBits;
8808     (void)rootType;
8809     (void)toCount;
8810     (void)count;
8811     *count += sizeof(VkStructureType);
8812     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8813         rootType = toCount->sType;
8814     }
8815     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8816     *count += sizeof(VkVideoEncodeH264CapabilityFlagsEXT);
8817     *count += sizeof(uint32_t);
8818     *count += sizeof(uint32_t);
8819     *count += sizeof(uint32_t);
8820     *count += sizeof(VkBool32);
8821     *count += sizeof(uint32_t);
8822     *count += sizeof(uint32_t);
8823     *count += sizeof(uint32_t);
8824     *count += sizeof(uint32_t);
8825 }
8826 
count_VkVideoEncodeH264SessionParametersAddInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264SessionParametersAddInfoEXT * toCount,size_t * count)8827 void count_VkVideoEncodeH264SessionParametersAddInfoEXT(
8828     uint32_t featureBits, VkStructureType rootType,
8829     const VkVideoEncodeH264SessionParametersAddInfoEXT* toCount, size_t* count) {
8830     (void)featureBits;
8831     (void)rootType;
8832     (void)toCount;
8833     (void)count;
8834     *count += sizeof(VkStructureType);
8835     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8836         rootType = toCount->sType;
8837     }
8838     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8839     *count += sizeof(uint32_t);
8840     // WARNING PTR CHECK
8841     *count += 8;
8842     if (toCount->pStdSPSs) {
8843         if (toCount) {
8844             *count += toCount->stdSPSCount * sizeof(const StdVideoH264SequenceParameterSet);
8845         }
8846     }
8847     *count += sizeof(uint32_t);
8848     // WARNING PTR CHECK
8849     *count += 8;
8850     if (toCount->pStdPPSs) {
8851         if (toCount) {
8852             *count += toCount->stdPPSCount * sizeof(const StdVideoH264PictureParameterSet);
8853         }
8854     }
8855 }
8856 
count_VkVideoEncodeH264SessionParametersCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264SessionParametersCreateInfoEXT * toCount,size_t * count)8857 void count_VkVideoEncodeH264SessionParametersCreateInfoEXT(
8858     uint32_t featureBits, VkStructureType rootType,
8859     const VkVideoEncodeH264SessionParametersCreateInfoEXT* toCount, size_t* count) {
8860     (void)featureBits;
8861     (void)rootType;
8862     (void)toCount;
8863     (void)count;
8864     *count += sizeof(VkStructureType);
8865     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8866         rootType = toCount->sType;
8867     }
8868     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8869     *count += sizeof(uint32_t);
8870     *count += sizeof(uint32_t);
8871     // WARNING PTR CHECK
8872     *count += 8;
8873     if (toCount->pParametersAddInfo) {
8874         count_VkVideoEncodeH264SessionParametersAddInfoEXT(
8875             featureBits, rootType,
8876             (const VkVideoEncodeH264SessionParametersAddInfoEXT*)(toCount->pParametersAddInfo),
8877             count);
8878     }
8879 }
8880 
count_VkVideoEncodeH264NaluSliceInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264NaluSliceInfoEXT * toCount,size_t * count)8881 void count_VkVideoEncodeH264NaluSliceInfoEXT(uint32_t featureBits, VkStructureType rootType,
8882                                              const VkVideoEncodeH264NaluSliceInfoEXT* toCount,
8883                                              size_t* count) {
8884     (void)featureBits;
8885     (void)rootType;
8886     (void)toCount;
8887     (void)count;
8888     *count += sizeof(VkStructureType);
8889     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8890         rootType = toCount->sType;
8891     }
8892     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8893     *count += sizeof(uint32_t);
8894     // WARNING PTR CHECK
8895     *count += 8;
8896     if (toCount->pStdReferenceFinalLists) {
8897         *count += sizeof(const StdVideoEncodeH264ReferenceListsInfo);
8898     }
8899     *count += sizeof(const StdVideoEncodeH264SliceHeader);
8900 }
8901 
count_VkVideoEncodeH264VclFrameInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264VclFrameInfoEXT * toCount,size_t * count)8902 void count_VkVideoEncodeH264VclFrameInfoEXT(uint32_t featureBits, VkStructureType rootType,
8903                                             const VkVideoEncodeH264VclFrameInfoEXT* toCount,
8904                                             size_t* count) {
8905     (void)featureBits;
8906     (void)rootType;
8907     (void)toCount;
8908     (void)count;
8909     *count += sizeof(VkStructureType);
8910     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8911         rootType = toCount->sType;
8912     }
8913     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8914     // WARNING PTR CHECK
8915     *count += 8;
8916     if (toCount->pStdReferenceFinalLists) {
8917         *count += sizeof(const StdVideoEncodeH264ReferenceListsInfo);
8918     }
8919     *count += sizeof(uint32_t);
8920     if (toCount) {
8921         for (uint32_t i = 0; i < (uint32_t)toCount->naluSliceEntryCount; ++i) {
8922             count_VkVideoEncodeH264NaluSliceInfoEXT(
8923                 featureBits, rootType,
8924                 (const VkVideoEncodeH264NaluSliceInfoEXT*)(toCount->pNaluSliceEntries + i), count);
8925         }
8926     }
8927     *count += sizeof(const StdVideoEncodeH264PictureInfo);
8928 }
8929 
count_VkVideoEncodeH264DpbSlotInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264DpbSlotInfoEXT * toCount,size_t * count)8930 void count_VkVideoEncodeH264DpbSlotInfoEXT(uint32_t featureBits, VkStructureType rootType,
8931                                            const VkVideoEncodeH264DpbSlotInfoEXT* toCount,
8932                                            size_t* count) {
8933     (void)featureBits;
8934     (void)rootType;
8935     (void)toCount;
8936     (void)count;
8937     *count += sizeof(VkStructureType);
8938     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8939         rootType = toCount->sType;
8940     }
8941     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8942     *count += sizeof(const StdVideoEncodeH264ReferenceInfo);
8943 }
8944 
count_VkVideoEncodeH264ProfileInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264ProfileInfoEXT * toCount,size_t * count)8945 void count_VkVideoEncodeH264ProfileInfoEXT(uint32_t featureBits, VkStructureType rootType,
8946                                            const VkVideoEncodeH264ProfileInfoEXT* toCount,
8947                                            size_t* count) {
8948     (void)featureBits;
8949     (void)rootType;
8950     (void)toCount;
8951     (void)count;
8952     *count += sizeof(VkStructureType);
8953     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8954         rootType = toCount->sType;
8955     }
8956     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8957     *count += sizeof(StdVideoH264ProfileIdc);
8958 }
8959 
count_VkVideoEncodeH264RateControlInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264RateControlInfoEXT * toCount,size_t * count)8960 void count_VkVideoEncodeH264RateControlInfoEXT(uint32_t featureBits, VkStructureType rootType,
8961                                                const VkVideoEncodeH264RateControlInfoEXT* toCount,
8962                                                size_t* count) {
8963     (void)featureBits;
8964     (void)rootType;
8965     (void)toCount;
8966     (void)count;
8967     *count += sizeof(VkStructureType);
8968     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
8969         rootType = toCount->sType;
8970     }
8971     count_extension_struct(featureBits, rootType, toCount->pNext, count);
8972     *count += sizeof(uint32_t);
8973     *count += sizeof(uint32_t);
8974     *count += sizeof(uint32_t);
8975     *count += sizeof(VkVideoEncodeH264RateControlStructureEXT);
8976     *count += sizeof(uint32_t);
8977 }
8978 
count_VkVideoEncodeH264QpEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264QpEXT * toCount,size_t * count)8979 void count_VkVideoEncodeH264QpEXT(uint32_t featureBits, VkStructureType rootType,
8980                                   const VkVideoEncodeH264QpEXT* toCount, size_t* count) {
8981     (void)featureBits;
8982     (void)rootType;
8983     (void)toCount;
8984     (void)count;
8985     *count += sizeof(int32_t);
8986     *count += sizeof(int32_t);
8987     *count += sizeof(int32_t);
8988 }
8989 
count_VkVideoEncodeH264FrameSizeEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264FrameSizeEXT * toCount,size_t * count)8990 void count_VkVideoEncodeH264FrameSizeEXT(uint32_t featureBits, VkStructureType rootType,
8991                                          const VkVideoEncodeH264FrameSizeEXT* toCount,
8992                                          size_t* count) {
8993     (void)featureBits;
8994     (void)rootType;
8995     (void)toCount;
8996     (void)count;
8997     *count += sizeof(uint32_t);
8998     *count += sizeof(uint32_t);
8999     *count += sizeof(uint32_t);
9000 }
9001 
count_VkVideoEncodeH264RateControlLayerInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH264RateControlLayerInfoEXT * toCount,size_t * count)9002 void count_VkVideoEncodeH264RateControlLayerInfoEXT(
9003     uint32_t featureBits, VkStructureType rootType,
9004     const VkVideoEncodeH264RateControlLayerInfoEXT* toCount, size_t* count) {
9005     (void)featureBits;
9006     (void)rootType;
9007     (void)toCount;
9008     (void)count;
9009     *count += sizeof(VkStructureType);
9010     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9011         rootType = toCount->sType;
9012     }
9013     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9014     *count += sizeof(uint32_t);
9015     *count += sizeof(VkBool32);
9016     count_VkVideoEncodeH264QpEXT(featureBits, rootType,
9017                                  (VkVideoEncodeH264QpEXT*)(&toCount->initialRcQp), count);
9018     *count += sizeof(VkBool32);
9019     count_VkVideoEncodeH264QpEXT(featureBits, rootType, (VkVideoEncodeH264QpEXT*)(&toCount->minQp),
9020                                  count);
9021     *count += sizeof(VkBool32);
9022     count_VkVideoEncodeH264QpEXT(featureBits, rootType, (VkVideoEncodeH264QpEXT*)(&toCount->maxQp),
9023                                  count);
9024     *count += sizeof(VkBool32);
9025     count_VkVideoEncodeH264FrameSizeEXT(
9026         featureBits, rootType, (VkVideoEncodeH264FrameSizeEXT*)(&toCount->maxFrameSize), count);
9027 }
9028 
9029 #endif
9030 #ifdef VK_EXT_video_encode_h265
count_VkVideoEncodeH265CapabilitiesEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265CapabilitiesEXT * toCount,size_t * count)9031 void count_VkVideoEncodeH265CapabilitiesEXT(uint32_t featureBits, VkStructureType rootType,
9032                                             const VkVideoEncodeH265CapabilitiesEXT* toCount,
9033                                             size_t* count) {
9034     (void)featureBits;
9035     (void)rootType;
9036     (void)toCount;
9037     (void)count;
9038     *count += sizeof(VkStructureType);
9039     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9040         rootType = toCount->sType;
9041     }
9042     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9043     *count += sizeof(VkVideoEncodeH265CapabilityFlagsEXT);
9044     *count += sizeof(VkVideoEncodeH265CtbSizeFlagsEXT);
9045     *count += sizeof(VkVideoEncodeH265TransformBlockSizeFlagsEXT);
9046     *count += sizeof(uint32_t);
9047     *count += sizeof(uint32_t);
9048     *count += sizeof(uint32_t);
9049     *count += sizeof(uint32_t);
9050     *count += sizeof(uint32_t);
9051     *count += sizeof(uint32_t);
9052     *count += sizeof(uint32_t);
9053     *count += sizeof(uint32_t);
9054     *count += sizeof(uint32_t);
9055     *count += sizeof(uint32_t);
9056     *count += sizeof(uint32_t);
9057     *count += sizeof(uint32_t);
9058     *count += sizeof(uint32_t);
9059     *count += sizeof(uint32_t);
9060     *count += sizeof(uint32_t);
9061 }
9062 
count_VkVideoEncodeH265SessionParametersAddInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265SessionParametersAddInfoEXT * toCount,size_t * count)9063 void count_VkVideoEncodeH265SessionParametersAddInfoEXT(
9064     uint32_t featureBits, VkStructureType rootType,
9065     const VkVideoEncodeH265SessionParametersAddInfoEXT* toCount, size_t* count) {
9066     (void)featureBits;
9067     (void)rootType;
9068     (void)toCount;
9069     (void)count;
9070     *count += sizeof(VkStructureType);
9071     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9072         rootType = toCount->sType;
9073     }
9074     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9075     *count += sizeof(uint32_t);
9076     // WARNING PTR CHECK
9077     *count += 8;
9078     if (toCount->pStdVPSs) {
9079         if (toCount) {
9080             *count += toCount->stdVPSCount * sizeof(const StdVideoH265VideoParameterSet);
9081         }
9082     }
9083     *count += sizeof(uint32_t);
9084     // WARNING PTR CHECK
9085     *count += 8;
9086     if (toCount->pStdSPSs) {
9087         if (toCount) {
9088             *count += toCount->stdSPSCount * sizeof(const StdVideoH265SequenceParameterSet);
9089         }
9090     }
9091     *count += sizeof(uint32_t);
9092     // WARNING PTR CHECK
9093     *count += 8;
9094     if (toCount->pStdPPSs) {
9095         if (toCount) {
9096             *count += toCount->stdPPSCount * sizeof(const StdVideoH265PictureParameterSet);
9097         }
9098     }
9099 }
9100 
count_VkVideoEncodeH265SessionParametersCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265SessionParametersCreateInfoEXT * toCount,size_t * count)9101 void count_VkVideoEncodeH265SessionParametersCreateInfoEXT(
9102     uint32_t featureBits, VkStructureType rootType,
9103     const VkVideoEncodeH265SessionParametersCreateInfoEXT* toCount, size_t* count) {
9104     (void)featureBits;
9105     (void)rootType;
9106     (void)toCount;
9107     (void)count;
9108     *count += sizeof(VkStructureType);
9109     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9110         rootType = toCount->sType;
9111     }
9112     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9113     *count += sizeof(uint32_t);
9114     *count += sizeof(uint32_t);
9115     *count += sizeof(uint32_t);
9116     // WARNING PTR CHECK
9117     *count += 8;
9118     if (toCount->pParametersAddInfo) {
9119         count_VkVideoEncodeH265SessionParametersAddInfoEXT(
9120             featureBits, rootType,
9121             (const VkVideoEncodeH265SessionParametersAddInfoEXT*)(toCount->pParametersAddInfo),
9122             count);
9123     }
9124 }
9125 
count_VkVideoEncodeH265NaluSliceSegmentInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265NaluSliceSegmentInfoEXT * toCount,size_t * count)9126 void count_VkVideoEncodeH265NaluSliceSegmentInfoEXT(
9127     uint32_t featureBits, VkStructureType rootType,
9128     const VkVideoEncodeH265NaluSliceSegmentInfoEXT* toCount, size_t* count) {
9129     (void)featureBits;
9130     (void)rootType;
9131     (void)toCount;
9132     (void)count;
9133     *count += sizeof(VkStructureType);
9134     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9135         rootType = toCount->sType;
9136     }
9137     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9138     *count += sizeof(uint32_t);
9139     // WARNING PTR CHECK
9140     *count += 8;
9141     if (toCount->pStdReferenceFinalLists) {
9142         *count += sizeof(const StdVideoEncodeH265ReferenceListsInfo);
9143     }
9144     *count += sizeof(const StdVideoEncodeH265SliceSegmentHeader);
9145 }
9146 
count_VkVideoEncodeH265VclFrameInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265VclFrameInfoEXT * toCount,size_t * count)9147 void count_VkVideoEncodeH265VclFrameInfoEXT(uint32_t featureBits, VkStructureType rootType,
9148                                             const VkVideoEncodeH265VclFrameInfoEXT* toCount,
9149                                             size_t* count) {
9150     (void)featureBits;
9151     (void)rootType;
9152     (void)toCount;
9153     (void)count;
9154     *count += sizeof(VkStructureType);
9155     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9156         rootType = toCount->sType;
9157     }
9158     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9159     // WARNING PTR CHECK
9160     *count += 8;
9161     if (toCount->pStdReferenceFinalLists) {
9162         *count += sizeof(const StdVideoEncodeH265ReferenceListsInfo);
9163     }
9164     *count += sizeof(uint32_t);
9165     if (toCount) {
9166         for (uint32_t i = 0; i < (uint32_t)toCount->naluSliceSegmentEntryCount; ++i) {
9167             count_VkVideoEncodeH265NaluSliceSegmentInfoEXT(
9168                 featureBits, rootType,
9169                 (const VkVideoEncodeH265NaluSliceSegmentInfoEXT*)(toCount
9170                                                                       ->pNaluSliceSegmentEntries +
9171                                                                   i),
9172                 count);
9173         }
9174     }
9175     *count += sizeof(const StdVideoEncodeH265PictureInfo);
9176 }
9177 
count_VkVideoEncodeH265DpbSlotInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265DpbSlotInfoEXT * toCount,size_t * count)9178 void count_VkVideoEncodeH265DpbSlotInfoEXT(uint32_t featureBits, VkStructureType rootType,
9179                                            const VkVideoEncodeH265DpbSlotInfoEXT* toCount,
9180                                            size_t* count) {
9181     (void)featureBits;
9182     (void)rootType;
9183     (void)toCount;
9184     (void)count;
9185     *count += sizeof(VkStructureType);
9186     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9187         rootType = toCount->sType;
9188     }
9189     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9190     *count += sizeof(const StdVideoEncodeH265ReferenceInfo);
9191 }
9192 
count_VkVideoEncodeH265ProfileInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265ProfileInfoEXT * toCount,size_t * count)9193 void count_VkVideoEncodeH265ProfileInfoEXT(uint32_t featureBits, VkStructureType rootType,
9194                                            const VkVideoEncodeH265ProfileInfoEXT* toCount,
9195                                            size_t* count) {
9196     (void)featureBits;
9197     (void)rootType;
9198     (void)toCount;
9199     (void)count;
9200     *count += sizeof(VkStructureType);
9201     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9202         rootType = toCount->sType;
9203     }
9204     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9205     *count += sizeof(StdVideoH265ProfileIdc);
9206 }
9207 
count_VkVideoEncodeH265RateControlInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265RateControlInfoEXT * toCount,size_t * count)9208 void count_VkVideoEncodeH265RateControlInfoEXT(uint32_t featureBits, VkStructureType rootType,
9209                                                const VkVideoEncodeH265RateControlInfoEXT* toCount,
9210                                                size_t* count) {
9211     (void)featureBits;
9212     (void)rootType;
9213     (void)toCount;
9214     (void)count;
9215     *count += sizeof(VkStructureType);
9216     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9217         rootType = toCount->sType;
9218     }
9219     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9220     *count += sizeof(uint32_t);
9221     *count += sizeof(uint32_t);
9222     *count += sizeof(uint32_t);
9223     *count += sizeof(VkVideoEncodeH265RateControlStructureEXT);
9224     *count += sizeof(uint32_t);
9225 }
9226 
count_VkVideoEncodeH265QpEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265QpEXT * toCount,size_t * count)9227 void count_VkVideoEncodeH265QpEXT(uint32_t featureBits, VkStructureType rootType,
9228                                   const VkVideoEncodeH265QpEXT* toCount, size_t* count) {
9229     (void)featureBits;
9230     (void)rootType;
9231     (void)toCount;
9232     (void)count;
9233     *count += sizeof(int32_t);
9234     *count += sizeof(int32_t);
9235     *count += sizeof(int32_t);
9236 }
9237 
count_VkVideoEncodeH265FrameSizeEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265FrameSizeEXT * toCount,size_t * count)9238 void count_VkVideoEncodeH265FrameSizeEXT(uint32_t featureBits, VkStructureType rootType,
9239                                          const VkVideoEncodeH265FrameSizeEXT* toCount,
9240                                          size_t* count) {
9241     (void)featureBits;
9242     (void)rootType;
9243     (void)toCount;
9244     (void)count;
9245     *count += sizeof(uint32_t);
9246     *count += sizeof(uint32_t);
9247     *count += sizeof(uint32_t);
9248 }
9249 
count_VkVideoEncodeH265RateControlLayerInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkVideoEncodeH265RateControlLayerInfoEXT * toCount,size_t * count)9250 void count_VkVideoEncodeH265RateControlLayerInfoEXT(
9251     uint32_t featureBits, VkStructureType rootType,
9252     const VkVideoEncodeH265RateControlLayerInfoEXT* toCount, size_t* count) {
9253     (void)featureBits;
9254     (void)rootType;
9255     (void)toCount;
9256     (void)count;
9257     *count += sizeof(VkStructureType);
9258     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9259         rootType = toCount->sType;
9260     }
9261     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9262     *count += sizeof(uint32_t);
9263     *count += sizeof(VkBool32);
9264     count_VkVideoEncodeH265QpEXT(featureBits, rootType,
9265                                  (VkVideoEncodeH265QpEXT*)(&toCount->initialRcQp), count);
9266     *count += sizeof(VkBool32);
9267     count_VkVideoEncodeH265QpEXT(featureBits, rootType, (VkVideoEncodeH265QpEXT*)(&toCount->minQp),
9268                                  count);
9269     *count += sizeof(VkBool32);
9270     count_VkVideoEncodeH265QpEXT(featureBits, rootType, (VkVideoEncodeH265QpEXT*)(&toCount->maxQp),
9271                                  count);
9272     *count += sizeof(VkBool32);
9273     count_VkVideoEncodeH265FrameSizeEXT(
9274         featureBits, rootType, (VkVideoEncodeH265FrameSizeEXT*)(&toCount->maxFrameSize), count);
9275 }
9276 
9277 #endif
9278 #ifdef VK_AMD_texture_gather_bias_lod
count_VkTextureLODGatherFormatPropertiesAMD(uint32_t featureBits,VkStructureType rootType,const VkTextureLODGatherFormatPropertiesAMD * toCount,size_t * count)9279 void count_VkTextureLODGatherFormatPropertiesAMD(
9280     uint32_t featureBits, VkStructureType rootType,
9281     const VkTextureLODGatherFormatPropertiesAMD* toCount, size_t* count) {
9282     (void)featureBits;
9283     (void)rootType;
9284     (void)toCount;
9285     (void)count;
9286     *count += sizeof(VkStructureType);
9287     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9288         rootType = toCount->sType;
9289     }
9290     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9291     *count += sizeof(VkBool32);
9292 }
9293 
9294 #endif
9295 #ifdef VK_AMD_shader_info
count_VkShaderResourceUsageAMD(uint32_t featureBits,VkStructureType rootType,const VkShaderResourceUsageAMD * toCount,size_t * count)9296 void count_VkShaderResourceUsageAMD(uint32_t featureBits, VkStructureType rootType,
9297                                     const VkShaderResourceUsageAMD* toCount, size_t* count) {
9298     (void)featureBits;
9299     (void)rootType;
9300     (void)toCount;
9301     (void)count;
9302     *count += sizeof(uint32_t);
9303     *count += sizeof(uint32_t);
9304     *count += sizeof(uint32_t);
9305     *count += 8;
9306     *count += 8;
9307 }
9308 
count_VkShaderStatisticsInfoAMD(uint32_t featureBits,VkStructureType rootType,const VkShaderStatisticsInfoAMD * toCount,size_t * count)9309 void count_VkShaderStatisticsInfoAMD(uint32_t featureBits, VkStructureType rootType,
9310                                      const VkShaderStatisticsInfoAMD* toCount, size_t* count) {
9311     (void)featureBits;
9312     (void)rootType;
9313     (void)toCount;
9314     (void)count;
9315     *count += sizeof(VkShaderStageFlags);
9316     count_VkShaderResourceUsageAMD(featureBits, rootType,
9317                                    (VkShaderResourceUsageAMD*)(&toCount->resourceUsage), count);
9318     *count += sizeof(uint32_t);
9319     *count += sizeof(uint32_t);
9320     *count += sizeof(uint32_t);
9321     *count += sizeof(uint32_t);
9322     *count += 3 * sizeof(uint32_t);
9323 }
9324 
9325 #endif
9326 #ifdef VK_AMD_shader_image_load_store_lod
9327 #endif
9328 #ifdef VK_GGP_stream_descriptor_surface
count_VkStreamDescriptorSurfaceCreateInfoGGP(uint32_t featureBits,VkStructureType rootType,const VkStreamDescriptorSurfaceCreateInfoGGP * toCount,size_t * count)9329 void count_VkStreamDescriptorSurfaceCreateInfoGGP(
9330     uint32_t featureBits, VkStructureType rootType,
9331     const VkStreamDescriptorSurfaceCreateInfoGGP* toCount, size_t* count) {
9332     (void)featureBits;
9333     (void)rootType;
9334     (void)toCount;
9335     (void)count;
9336     *count += sizeof(VkStructureType);
9337     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9338         rootType = toCount->sType;
9339     }
9340     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9341     *count += sizeof(VkStreamDescriptorSurfaceCreateFlagsGGP);
9342     *count += sizeof(GgpStreamDescriptor);
9343 }
9344 
9345 #endif
9346 #ifdef VK_NV_corner_sampled_image
count_VkPhysicalDeviceCornerSampledImageFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCornerSampledImageFeaturesNV * toCount,size_t * count)9347 void count_VkPhysicalDeviceCornerSampledImageFeaturesNV(
9348     uint32_t featureBits, VkStructureType rootType,
9349     const VkPhysicalDeviceCornerSampledImageFeaturesNV* toCount, size_t* count) {
9350     (void)featureBits;
9351     (void)rootType;
9352     (void)toCount;
9353     (void)count;
9354     *count += sizeof(VkStructureType);
9355     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9356         rootType = toCount->sType;
9357     }
9358     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9359     *count += sizeof(VkBool32);
9360 }
9361 
9362 #endif
9363 #ifdef VK_IMG_format_pvrtc
9364 #endif
9365 #ifdef VK_NV_external_memory_capabilities
count_VkExternalImageFormatPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkExternalImageFormatPropertiesNV * toCount,size_t * count)9366 void count_VkExternalImageFormatPropertiesNV(uint32_t featureBits, VkStructureType rootType,
9367                                              const VkExternalImageFormatPropertiesNV* toCount,
9368                                              size_t* count) {
9369     (void)featureBits;
9370     (void)rootType;
9371     (void)toCount;
9372     (void)count;
9373     count_VkImageFormatProperties(
9374         featureBits, rootType, (VkImageFormatProperties*)(&toCount->imageFormatProperties), count);
9375     *count += sizeof(VkExternalMemoryFeatureFlagsNV);
9376     *count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
9377     *count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
9378 }
9379 
9380 #endif
9381 #ifdef VK_NV_external_memory
count_VkExternalMemoryImageCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryImageCreateInfoNV * toCount,size_t * count)9382 void count_VkExternalMemoryImageCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
9383                                              const VkExternalMemoryImageCreateInfoNV* toCount,
9384                                              size_t* count) {
9385     (void)featureBits;
9386     (void)rootType;
9387     (void)toCount;
9388     (void)count;
9389     *count += sizeof(VkStructureType);
9390     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9391         rootType = toCount->sType;
9392     }
9393     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9394     *count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
9395 }
9396 
count_VkExportMemoryAllocateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkExportMemoryAllocateInfoNV * toCount,size_t * count)9397 void count_VkExportMemoryAllocateInfoNV(uint32_t featureBits, VkStructureType rootType,
9398                                         const VkExportMemoryAllocateInfoNV* toCount,
9399                                         size_t* count) {
9400     (void)featureBits;
9401     (void)rootType;
9402     (void)toCount;
9403     (void)count;
9404     *count += sizeof(VkStructureType);
9405     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9406         rootType = toCount->sType;
9407     }
9408     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9409     *count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
9410 }
9411 
9412 #endif
9413 #ifdef VK_NV_external_memory_win32
count_VkImportMemoryWin32HandleInfoNV(uint32_t featureBits,VkStructureType rootType,const VkImportMemoryWin32HandleInfoNV * toCount,size_t * count)9414 void count_VkImportMemoryWin32HandleInfoNV(uint32_t featureBits, VkStructureType rootType,
9415                                            const VkImportMemoryWin32HandleInfoNV* toCount,
9416                                            size_t* count) {
9417     (void)featureBits;
9418     (void)rootType;
9419     (void)toCount;
9420     (void)count;
9421     *count += sizeof(VkStructureType);
9422     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9423         rootType = toCount->sType;
9424     }
9425     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9426     *count += sizeof(VkExternalMemoryHandleTypeFlagsNV);
9427     *count += sizeof(HANDLE);
9428 }
9429 
count_VkExportMemoryWin32HandleInfoNV(uint32_t featureBits,VkStructureType rootType,const VkExportMemoryWin32HandleInfoNV * toCount,size_t * count)9430 void count_VkExportMemoryWin32HandleInfoNV(uint32_t featureBits, VkStructureType rootType,
9431                                            const VkExportMemoryWin32HandleInfoNV* toCount,
9432                                            size_t* count) {
9433     (void)featureBits;
9434     (void)rootType;
9435     (void)toCount;
9436     (void)count;
9437     *count += sizeof(VkStructureType);
9438     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9439         rootType = toCount->sType;
9440     }
9441     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9442     // WARNING PTR CHECK
9443     *count += 8;
9444     if (toCount->pAttributes) {
9445         *count += sizeof(const SECURITY_ATTRIBUTES);
9446     }
9447     *count += sizeof(DWORD);
9448 }
9449 
9450 #endif
9451 #ifdef VK_NV_win32_keyed_mutex
count_VkWin32KeyedMutexAcquireReleaseInfoNV(uint32_t featureBits,VkStructureType rootType,const VkWin32KeyedMutexAcquireReleaseInfoNV * toCount,size_t * count)9452 void count_VkWin32KeyedMutexAcquireReleaseInfoNV(
9453     uint32_t featureBits, VkStructureType rootType,
9454     const VkWin32KeyedMutexAcquireReleaseInfoNV* toCount, size_t* count) {
9455     (void)featureBits;
9456     (void)rootType;
9457     (void)toCount;
9458     (void)count;
9459     *count += sizeof(VkStructureType);
9460     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9461         rootType = toCount->sType;
9462     }
9463     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9464     *count += sizeof(uint32_t);
9465     if (toCount->acquireCount) {
9466         *count += toCount->acquireCount * 8;
9467     }
9468     if (toCount) {
9469         *count += toCount->acquireCount * sizeof(const uint64_t);
9470     }
9471     if (toCount) {
9472         *count += toCount->acquireCount * sizeof(const uint32_t);
9473     }
9474     *count += sizeof(uint32_t);
9475     if (toCount->releaseCount) {
9476         *count += toCount->releaseCount * 8;
9477     }
9478     if (toCount) {
9479         *count += toCount->releaseCount * sizeof(const uint64_t);
9480     }
9481 }
9482 
9483 #endif
9484 #ifdef VK_EXT_validation_flags
count_VkValidationFlagsEXT(uint32_t featureBits,VkStructureType rootType,const VkValidationFlagsEXT * toCount,size_t * count)9485 void count_VkValidationFlagsEXT(uint32_t featureBits, VkStructureType rootType,
9486                                 const VkValidationFlagsEXT* toCount, size_t* count) {
9487     (void)featureBits;
9488     (void)rootType;
9489     (void)toCount;
9490     (void)count;
9491     *count += sizeof(VkStructureType);
9492     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9493         rootType = toCount->sType;
9494     }
9495     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9496     *count += sizeof(uint32_t);
9497     if (toCount) {
9498         *count += toCount->disabledValidationCheckCount * sizeof(const VkValidationCheckEXT);
9499     }
9500 }
9501 
9502 #endif
9503 #ifdef VK_NN_vi_surface
count_VkViSurfaceCreateInfoNN(uint32_t featureBits,VkStructureType rootType,const VkViSurfaceCreateInfoNN * toCount,size_t * count)9504 void count_VkViSurfaceCreateInfoNN(uint32_t featureBits, VkStructureType rootType,
9505                                    const VkViSurfaceCreateInfoNN* toCount, size_t* count) {
9506     (void)featureBits;
9507     (void)rootType;
9508     (void)toCount;
9509     (void)count;
9510     *count += sizeof(VkStructureType);
9511     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9512         rootType = toCount->sType;
9513     }
9514     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9515     *count += sizeof(VkViSurfaceCreateFlagsNN);
9516     // WARNING PTR CHECK
9517     *count += 8;
9518     if (toCount->window) {
9519         *count += sizeof(uint8_t);
9520     }
9521 }
9522 
9523 #endif
9524 #ifdef VK_EXT_shader_subgroup_ballot
9525 #endif
9526 #ifdef VK_EXT_shader_subgroup_vote
9527 #endif
9528 #ifdef VK_EXT_texture_compression_astc_hdr
9529 #endif
9530 #ifdef VK_EXT_astc_decode_mode
count_VkImageViewASTCDecodeModeEXT(uint32_t featureBits,VkStructureType rootType,const VkImageViewASTCDecodeModeEXT * toCount,size_t * count)9531 void count_VkImageViewASTCDecodeModeEXT(uint32_t featureBits, VkStructureType rootType,
9532                                         const VkImageViewASTCDecodeModeEXT* toCount,
9533                                         size_t* count) {
9534     (void)featureBits;
9535     (void)rootType;
9536     (void)toCount;
9537     (void)count;
9538     *count += sizeof(VkStructureType);
9539     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9540         rootType = toCount->sType;
9541     }
9542     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9543     *count += sizeof(VkFormat);
9544 }
9545 
count_VkPhysicalDeviceASTCDecodeFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceASTCDecodeFeaturesEXT * toCount,size_t * count)9546 void count_VkPhysicalDeviceASTCDecodeFeaturesEXT(
9547     uint32_t featureBits, VkStructureType rootType,
9548     const VkPhysicalDeviceASTCDecodeFeaturesEXT* toCount, size_t* count) {
9549     (void)featureBits;
9550     (void)rootType;
9551     (void)toCount;
9552     (void)count;
9553     *count += sizeof(VkStructureType);
9554     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9555         rootType = toCount->sType;
9556     }
9557     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9558     *count += sizeof(VkBool32);
9559 }
9560 
9561 #endif
9562 #ifdef VK_EXT_pipeline_robustness
count_VkPhysicalDevicePipelineRobustnessFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessFeaturesEXT * toCount,size_t * count)9563 void count_VkPhysicalDevicePipelineRobustnessFeaturesEXT(
9564     uint32_t featureBits, VkStructureType rootType,
9565     const VkPhysicalDevicePipelineRobustnessFeaturesEXT* toCount, size_t* count) {
9566     (void)featureBits;
9567     (void)rootType;
9568     (void)toCount;
9569     (void)count;
9570     *count += sizeof(VkStructureType);
9571     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9572         rootType = toCount->sType;
9573     }
9574     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9575     *count += sizeof(VkBool32);
9576 }
9577 
count_VkPhysicalDevicePipelineRobustnessPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessPropertiesEXT * toCount,size_t * count)9578 void count_VkPhysicalDevicePipelineRobustnessPropertiesEXT(
9579     uint32_t featureBits, VkStructureType rootType,
9580     const VkPhysicalDevicePipelineRobustnessPropertiesEXT* toCount, size_t* count) {
9581     (void)featureBits;
9582     (void)rootType;
9583     (void)toCount;
9584     (void)count;
9585     *count += sizeof(VkStructureType);
9586     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9587         rootType = toCount->sType;
9588     }
9589     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9590     *count += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
9591     *count += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
9592     *count += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
9593     *count += sizeof(VkPipelineRobustnessImageBehaviorEXT);
9594 }
9595 
count_VkPipelineRobustnessCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRobustnessCreateInfoEXT * toCount,size_t * count)9596 void count_VkPipelineRobustnessCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
9597                                              const VkPipelineRobustnessCreateInfoEXT* toCount,
9598                                              size_t* count) {
9599     (void)featureBits;
9600     (void)rootType;
9601     (void)toCount;
9602     (void)count;
9603     *count += sizeof(VkStructureType);
9604     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9605         rootType = toCount->sType;
9606     }
9607     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9608     *count += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
9609     *count += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
9610     *count += sizeof(VkPipelineRobustnessBufferBehaviorEXT);
9611     *count += sizeof(VkPipelineRobustnessImageBehaviorEXT);
9612 }
9613 
9614 #endif
9615 #ifdef VK_EXT_conditional_rendering
count_VkConditionalRenderingBeginInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkConditionalRenderingBeginInfoEXT * toCount,size_t * count)9616 void count_VkConditionalRenderingBeginInfoEXT(uint32_t featureBits, VkStructureType rootType,
9617                                               const VkConditionalRenderingBeginInfoEXT* toCount,
9618                                               size_t* count) {
9619     (void)featureBits;
9620     (void)rootType;
9621     (void)toCount;
9622     (void)count;
9623     *count += sizeof(VkStructureType);
9624     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9625         rootType = toCount->sType;
9626     }
9627     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9628     uint64_t cgen_var_0;
9629     *count += 1 * 8;
9630     *count += sizeof(VkDeviceSize);
9631     *count += sizeof(VkConditionalRenderingFlagsEXT);
9632 }
9633 
count_VkPhysicalDeviceConditionalRenderingFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceConditionalRenderingFeaturesEXT * toCount,size_t * count)9634 void count_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
9635     uint32_t featureBits, VkStructureType rootType,
9636     const VkPhysicalDeviceConditionalRenderingFeaturesEXT* toCount, size_t* count) {
9637     (void)featureBits;
9638     (void)rootType;
9639     (void)toCount;
9640     (void)count;
9641     *count += sizeof(VkStructureType);
9642     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9643         rootType = toCount->sType;
9644     }
9645     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9646     *count += sizeof(VkBool32);
9647     *count += sizeof(VkBool32);
9648 }
9649 
count_VkCommandBufferInheritanceConditionalRenderingInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceConditionalRenderingInfoEXT * toCount,size_t * count)9650 void count_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
9651     uint32_t featureBits, VkStructureType rootType,
9652     const VkCommandBufferInheritanceConditionalRenderingInfoEXT* toCount, size_t* count) {
9653     (void)featureBits;
9654     (void)rootType;
9655     (void)toCount;
9656     (void)count;
9657     *count += sizeof(VkStructureType);
9658     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9659         rootType = toCount->sType;
9660     }
9661     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9662     *count += sizeof(VkBool32);
9663 }
9664 
9665 #endif
9666 #ifdef VK_NV_clip_space_w_scaling
count_VkViewportWScalingNV(uint32_t featureBits,VkStructureType rootType,const VkViewportWScalingNV * toCount,size_t * count)9667 void count_VkViewportWScalingNV(uint32_t featureBits, VkStructureType rootType,
9668                                 const VkViewportWScalingNV* toCount, size_t* count) {
9669     (void)featureBits;
9670     (void)rootType;
9671     (void)toCount;
9672     (void)count;
9673     *count += sizeof(float);
9674     *count += sizeof(float);
9675 }
9676 
count_VkPipelineViewportWScalingStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportWScalingStateCreateInfoNV * toCount,size_t * count)9677 void count_VkPipelineViewportWScalingStateCreateInfoNV(
9678     uint32_t featureBits, VkStructureType rootType,
9679     const VkPipelineViewportWScalingStateCreateInfoNV* toCount, size_t* count) {
9680     (void)featureBits;
9681     (void)rootType;
9682     (void)toCount;
9683     (void)count;
9684     *count += sizeof(VkStructureType);
9685     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9686         rootType = toCount->sType;
9687     }
9688     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9689     *count += sizeof(VkBool32);
9690     *count += sizeof(uint32_t);
9691     // WARNING PTR CHECK
9692     *count += 8;
9693     if (toCount->pViewportWScalings) {
9694         if (toCount) {
9695             for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i) {
9696                 count_VkViewportWScalingNV(
9697                     featureBits, rootType,
9698                     (const VkViewportWScalingNV*)(toCount->pViewportWScalings + i), count);
9699             }
9700         }
9701     }
9702 }
9703 
9704 #endif
9705 #ifdef VK_EXT_direct_mode_display
9706 #endif
9707 #ifdef VK_EXT_acquire_xlib_display
9708 #endif
9709 #ifdef VK_EXT_display_surface_counter
count_VkSurfaceCapabilities2EXT(uint32_t featureBits,VkStructureType rootType,const VkSurfaceCapabilities2EXT * toCount,size_t * count)9710 void count_VkSurfaceCapabilities2EXT(uint32_t featureBits, VkStructureType rootType,
9711                                      const VkSurfaceCapabilities2EXT* toCount, size_t* count) {
9712     (void)featureBits;
9713     (void)rootType;
9714     (void)toCount;
9715     (void)count;
9716     *count += sizeof(VkStructureType);
9717     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9718         rootType = toCount->sType;
9719     }
9720     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9721     *count += sizeof(uint32_t);
9722     *count += sizeof(uint32_t);
9723     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->currentExtent), count);
9724     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minImageExtent), count);
9725     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxImageExtent), count);
9726     *count += sizeof(uint32_t);
9727     *count += sizeof(VkSurfaceTransformFlagsKHR);
9728     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
9729     *count += sizeof(VkCompositeAlphaFlagsKHR);
9730     *count += sizeof(VkImageUsageFlags);
9731     *count += sizeof(VkSurfaceCounterFlagsEXT);
9732 }
9733 
9734 #endif
9735 #ifdef VK_EXT_display_control
count_VkDisplayPowerInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDisplayPowerInfoEXT * toCount,size_t * count)9736 void count_VkDisplayPowerInfoEXT(uint32_t featureBits, VkStructureType rootType,
9737                                  const VkDisplayPowerInfoEXT* toCount, size_t* count) {
9738     (void)featureBits;
9739     (void)rootType;
9740     (void)toCount;
9741     (void)count;
9742     *count += sizeof(VkStructureType);
9743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9744         rootType = toCount->sType;
9745     }
9746     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9747     *count += sizeof(VkDisplayPowerStateEXT);
9748 }
9749 
count_VkDeviceEventInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceEventInfoEXT * toCount,size_t * count)9750 void count_VkDeviceEventInfoEXT(uint32_t featureBits, VkStructureType rootType,
9751                                 const VkDeviceEventInfoEXT* toCount, size_t* count) {
9752     (void)featureBits;
9753     (void)rootType;
9754     (void)toCount;
9755     (void)count;
9756     *count += sizeof(VkStructureType);
9757     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9758         rootType = toCount->sType;
9759     }
9760     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9761     *count += sizeof(VkDeviceEventTypeEXT);
9762 }
9763 
count_VkDisplayEventInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDisplayEventInfoEXT * toCount,size_t * count)9764 void count_VkDisplayEventInfoEXT(uint32_t featureBits, VkStructureType rootType,
9765                                  const VkDisplayEventInfoEXT* toCount, size_t* count) {
9766     (void)featureBits;
9767     (void)rootType;
9768     (void)toCount;
9769     (void)count;
9770     *count += sizeof(VkStructureType);
9771     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9772         rootType = toCount->sType;
9773     }
9774     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9775     *count += sizeof(VkDisplayEventTypeEXT);
9776 }
9777 
count_VkSwapchainCounterCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSwapchainCounterCreateInfoEXT * toCount,size_t * count)9778 void count_VkSwapchainCounterCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
9779                                            const VkSwapchainCounterCreateInfoEXT* toCount,
9780                                            size_t* count) {
9781     (void)featureBits;
9782     (void)rootType;
9783     (void)toCount;
9784     (void)count;
9785     *count += sizeof(VkStructureType);
9786     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9787         rootType = toCount->sType;
9788     }
9789     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9790     *count += sizeof(VkSurfaceCounterFlagsEXT);
9791 }
9792 
9793 #endif
9794 #ifdef VK_GOOGLE_display_timing
count_VkRefreshCycleDurationGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkRefreshCycleDurationGOOGLE * toCount,size_t * count)9795 void count_VkRefreshCycleDurationGOOGLE(uint32_t featureBits, VkStructureType rootType,
9796                                         const VkRefreshCycleDurationGOOGLE* toCount,
9797                                         size_t* count) {
9798     (void)featureBits;
9799     (void)rootType;
9800     (void)toCount;
9801     (void)count;
9802     *count += sizeof(uint64_t);
9803 }
9804 
count_VkPastPresentationTimingGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkPastPresentationTimingGOOGLE * toCount,size_t * count)9805 void count_VkPastPresentationTimingGOOGLE(uint32_t featureBits, VkStructureType rootType,
9806                                           const VkPastPresentationTimingGOOGLE* toCount,
9807                                           size_t* count) {
9808     (void)featureBits;
9809     (void)rootType;
9810     (void)toCount;
9811     (void)count;
9812     *count += sizeof(uint32_t);
9813     *count += sizeof(uint64_t);
9814     *count += sizeof(uint64_t);
9815     *count += sizeof(uint64_t);
9816     *count += sizeof(uint64_t);
9817 }
9818 
count_VkPresentTimeGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkPresentTimeGOOGLE * toCount,size_t * count)9819 void count_VkPresentTimeGOOGLE(uint32_t featureBits, VkStructureType rootType,
9820                                const VkPresentTimeGOOGLE* toCount, size_t* count) {
9821     (void)featureBits;
9822     (void)rootType;
9823     (void)toCount;
9824     (void)count;
9825     *count += sizeof(uint32_t);
9826     *count += sizeof(uint64_t);
9827 }
9828 
count_VkPresentTimesInfoGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkPresentTimesInfoGOOGLE * toCount,size_t * count)9829 void count_VkPresentTimesInfoGOOGLE(uint32_t featureBits, VkStructureType rootType,
9830                                     const VkPresentTimesInfoGOOGLE* toCount, size_t* count) {
9831     (void)featureBits;
9832     (void)rootType;
9833     (void)toCount;
9834     (void)count;
9835     *count += sizeof(VkStructureType);
9836     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9837         rootType = toCount->sType;
9838     }
9839     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9840     *count += sizeof(uint32_t);
9841     // WARNING PTR CHECK
9842     *count += 8;
9843     if (toCount->pTimes) {
9844         if (toCount) {
9845             for (uint32_t i = 0; i < (uint32_t)toCount->swapchainCount; ++i) {
9846                 count_VkPresentTimeGOOGLE(featureBits, rootType,
9847                                           (const VkPresentTimeGOOGLE*)(toCount->pTimes + i), count);
9848             }
9849         }
9850     }
9851 }
9852 
9853 #endif
9854 #ifdef VK_NV_sample_mask_override_coverage
9855 #endif
9856 #ifdef VK_NV_geometry_shader_passthrough
9857 #endif
9858 #ifdef VK_NV_viewport_array2
9859 #endif
9860 #ifdef VK_NVX_multiview_per_view_attributes
count_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX * toCount,size_t * count)9861 void count_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
9862     uint32_t featureBits, VkStructureType rootType,
9863     const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX* toCount, size_t* count) {
9864     (void)featureBits;
9865     (void)rootType;
9866     (void)toCount;
9867     (void)count;
9868     *count += sizeof(VkStructureType);
9869     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9870         rootType = toCount->sType;
9871     }
9872     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9873     *count += sizeof(VkBool32);
9874 }
9875 
9876 #endif
9877 #ifdef VK_NV_viewport_swizzle
count_VkViewportSwizzleNV(uint32_t featureBits,VkStructureType rootType,const VkViewportSwizzleNV * toCount,size_t * count)9878 void count_VkViewportSwizzleNV(uint32_t featureBits, VkStructureType rootType,
9879                                const VkViewportSwizzleNV* toCount, size_t* count) {
9880     (void)featureBits;
9881     (void)rootType;
9882     (void)toCount;
9883     (void)count;
9884     *count += sizeof(VkViewportCoordinateSwizzleNV);
9885     *count += sizeof(VkViewportCoordinateSwizzleNV);
9886     *count += sizeof(VkViewportCoordinateSwizzleNV);
9887     *count += sizeof(VkViewportCoordinateSwizzleNV);
9888 }
9889 
count_VkPipelineViewportSwizzleStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportSwizzleStateCreateInfoNV * toCount,size_t * count)9890 void count_VkPipelineViewportSwizzleStateCreateInfoNV(
9891     uint32_t featureBits, VkStructureType rootType,
9892     const VkPipelineViewportSwizzleStateCreateInfoNV* toCount, size_t* count) {
9893     (void)featureBits;
9894     (void)rootType;
9895     (void)toCount;
9896     (void)count;
9897     *count += sizeof(VkStructureType);
9898     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9899         rootType = toCount->sType;
9900     }
9901     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9902     *count += sizeof(VkPipelineViewportSwizzleStateCreateFlagsNV);
9903     *count += sizeof(uint32_t);
9904     if (toCount) {
9905         for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i) {
9906             count_VkViewportSwizzleNV(featureBits, rootType,
9907                                       (const VkViewportSwizzleNV*)(toCount->pViewportSwizzles + i),
9908                                       count);
9909         }
9910     }
9911 }
9912 
9913 #endif
9914 #ifdef VK_EXT_discard_rectangles
count_VkPhysicalDeviceDiscardRectanglePropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDiscardRectanglePropertiesEXT * toCount,size_t * count)9915 void count_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
9916     uint32_t featureBits, VkStructureType rootType,
9917     const VkPhysicalDeviceDiscardRectanglePropertiesEXT* toCount, size_t* count) {
9918     (void)featureBits;
9919     (void)rootType;
9920     (void)toCount;
9921     (void)count;
9922     *count += sizeof(VkStructureType);
9923     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9924         rootType = toCount->sType;
9925     }
9926     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9927     *count += sizeof(uint32_t);
9928 }
9929 
count_VkPipelineDiscardRectangleStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineDiscardRectangleStateCreateInfoEXT * toCount,size_t * count)9930 void count_VkPipelineDiscardRectangleStateCreateInfoEXT(
9931     uint32_t featureBits, VkStructureType rootType,
9932     const VkPipelineDiscardRectangleStateCreateInfoEXT* toCount, size_t* count) {
9933     (void)featureBits;
9934     (void)rootType;
9935     (void)toCount;
9936     (void)count;
9937     *count += sizeof(VkStructureType);
9938     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9939         rootType = toCount->sType;
9940     }
9941     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9942     *count += sizeof(VkPipelineDiscardRectangleStateCreateFlagsEXT);
9943     *count += sizeof(VkDiscardRectangleModeEXT);
9944     *count += sizeof(uint32_t);
9945     // WARNING PTR CHECK
9946     *count += 8;
9947     if (toCount->pDiscardRectangles) {
9948         if (toCount) {
9949             for (uint32_t i = 0; i < (uint32_t)toCount->discardRectangleCount; ++i) {
9950                 count_VkRect2D(featureBits, rootType,
9951                                (const VkRect2D*)(toCount->pDiscardRectangles + i), count);
9952             }
9953         }
9954     }
9955 }
9956 
9957 #endif
9958 #ifdef VK_EXT_conservative_rasterization
count_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceConservativeRasterizationPropertiesEXT * toCount,size_t * count)9959 void count_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
9960     uint32_t featureBits, VkStructureType rootType,
9961     const VkPhysicalDeviceConservativeRasterizationPropertiesEXT* toCount, size_t* count) {
9962     (void)featureBits;
9963     (void)rootType;
9964     (void)toCount;
9965     (void)count;
9966     *count += sizeof(VkStructureType);
9967     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9968         rootType = toCount->sType;
9969     }
9970     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9971     *count += sizeof(float);
9972     *count += sizeof(float);
9973     *count += sizeof(float);
9974     *count += sizeof(VkBool32);
9975     *count += sizeof(VkBool32);
9976     *count += sizeof(VkBool32);
9977     *count += sizeof(VkBool32);
9978     *count += sizeof(VkBool32);
9979     *count += sizeof(VkBool32);
9980 }
9981 
count_VkPipelineRasterizationConservativeStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationConservativeStateCreateInfoEXT * toCount,size_t * count)9982 void count_VkPipelineRasterizationConservativeStateCreateInfoEXT(
9983     uint32_t featureBits, VkStructureType rootType,
9984     const VkPipelineRasterizationConservativeStateCreateInfoEXT* toCount, size_t* count) {
9985     (void)featureBits;
9986     (void)rootType;
9987     (void)toCount;
9988     (void)count;
9989     *count += sizeof(VkStructureType);
9990     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
9991         rootType = toCount->sType;
9992     }
9993     count_extension_struct(featureBits, rootType, toCount->pNext, count);
9994     *count += sizeof(VkPipelineRasterizationConservativeStateCreateFlagsEXT);
9995     *count += sizeof(VkConservativeRasterizationModeEXT);
9996     *count += sizeof(float);
9997 }
9998 
9999 #endif
10000 #ifdef VK_EXT_depth_clip_enable
count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * toCount,size_t * count)10001 void count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
10002     uint32_t featureBits, VkStructureType rootType,
10003     const VkPhysicalDeviceDepthClipEnableFeaturesEXT* toCount, size_t* count) {
10004     (void)featureBits;
10005     (void)rootType;
10006     (void)toCount;
10007     (void)count;
10008     *count += sizeof(VkStructureType);
10009     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10010         rootType = toCount->sType;
10011     }
10012     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10013     *count += sizeof(VkBool32);
10014 }
10015 
count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * toCount,size_t * count)10016 void count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
10017     uint32_t featureBits, VkStructureType rootType,
10018     const VkPipelineRasterizationDepthClipStateCreateInfoEXT* toCount, size_t* count) {
10019     (void)featureBits;
10020     (void)rootType;
10021     (void)toCount;
10022     (void)count;
10023     *count += sizeof(VkStructureType);
10024     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10025         rootType = toCount->sType;
10026     }
10027     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10028     *count += sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
10029     *count += sizeof(VkBool32);
10030 }
10031 
10032 #endif
10033 #ifdef VK_EXT_swapchain_colorspace
10034 #endif
10035 #ifdef VK_EXT_hdr_metadata
count_VkXYColorEXT(uint32_t featureBits,VkStructureType rootType,const VkXYColorEXT * toCount,size_t * count)10036 void count_VkXYColorEXT(uint32_t featureBits, VkStructureType rootType, const VkXYColorEXT* toCount,
10037                         size_t* count) {
10038     (void)featureBits;
10039     (void)rootType;
10040     (void)toCount;
10041     (void)count;
10042     *count += sizeof(float);
10043     *count += sizeof(float);
10044 }
10045 
count_VkHdrMetadataEXT(uint32_t featureBits,VkStructureType rootType,const VkHdrMetadataEXT * toCount,size_t * count)10046 void count_VkHdrMetadataEXT(uint32_t featureBits, VkStructureType rootType,
10047                             const VkHdrMetadataEXT* toCount, size_t* count) {
10048     (void)featureBits;
10049     (void)rootType;
10050     (void)toCount;
10051     (void)count;
10052     *count += sizeof(VkStructureType);
10053     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10054         rootType = toCount->sType;
10055     }
10056     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10057     count_VkXYColorEXT(featureBits, rootType, (VkXYColorEXT*)(&toCount->displayPrimaryRed), count);
10058     count_VkXYColorEXT(featureBits, rootType, (VkXYColorEXT*)(&toCount->displayPrimaryGreen),
10059                        count);
10060     count_VkXYColorEXT(featureBits, rootType, (VkXYColorEXT*)(&toCount->displayPrimaryBlue), count);
10061     count_VkXYColorEXT(featureBits, rootType, (VkXYColorEXT*)(&toCount->whitePoint), count);
10062     *count += sizeof(float);
10063     *count += sizeof(float);
10064     *count += sizeof(float);
10065     *count += sizeof(float);
10066 }
10067 
10068 #endif
10069 #ifdef VK_MVK_ios_surface
count_VkIOSSurfaceCreateInfoMVK(uint32_t featureBits,VkStructureType rootType,const VkIOSSurfaceCreateInfoMVK * toCount,size_t * count)10070 void count_VkIOSSurfaceCreateInfoMVK(uint32_t featureBits, VkStructureType rootType,
10071                                      const VkIOSSurfaceCreateInfoMVK* toCount, size_t* count) {
10072     (void)featureBits;
10073     (void)rootType;
10074     (void)toCount;
10075     (void)count;
10076     *count += sizeof(VkStructureType);
10077     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10078         rootType = toCount->sType;
10079     }
10080     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10081     *count += sizeof(VkIOSSurfaceCreateFlagsMVK);
10082     // WARNING PTR CHECK
10083     *count += 8;
10084     if (toCount->pView) {
10085         *count += sizeof(const uint8_t);
10086     }
10087 }
10088 
10089 #endif
10090 #ifdef VK_MVK_macos_surface
count_VkMacOSSurfaceCreateInfoMVK(uint32_t featureBits,VkStructureType rootType,const VkMacOSSurfaceCreateInfoMVK * toCount,size_t * count)10091 void count_VkMacOSSurfaceCreateInfoMVK(uint32_t featureBits, VkStructureType rootType,
10092                                        const VkMacOSSurfaceCreateInfoMVK* toCount, size_t* count) {
10093     (void)featureBits;
10094     (void)rootType;
10095     (void)toCount;
10096     (void)count;
10097     *count += sizeof(VkStructureType);
10098     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10099         rootType = toCount->sType;
10100     }
10101     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10102     *count += sizeof(VkMacOSSurfaceCreateFlagsMVK);
10103     // WARNING PTR CHECK
10104     *count += 8;
10105     if (toCount->pView) {
10106         *count += sizeof(const uint8_t);
10107     }
10108 }
10109 
10110 #endif
10111 #ifdef VK_EXT_external_memory_dma_buf
10112 #endif
10113 #ifdef VK_EXT_queue_family_foreign
10114 #endif
10115 #ifdef VK_EXT_debug_utils
count_VkDebugUtilsLabelEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugUtilsLabelEXT * toCount,size_t * count)10116 void count_VkDebugUtilsLabelEXT(uint32_t featureBits, VkStructureType rootType,
10117                                 const VkDebugUtilsLabelEXT* toCount, size_t* count) {
10118     (void)featureBits;
10119     (void)rootType;
10120     (void)toCount;
10121     (void)count;
10122     *count += sizeof(VkStructureType);
10123     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10124         rootType = toCount->sType;
10125     }
10126     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10127     *count += sizeof(uint32_t) + (toCount->pLabelName ? strlen(toCount->pLabelName) : 0);
10128     *count += 4 * sizeof(float);
10129 }
10130 
count_VkDebugUtilsObjectNameInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugUtilsObjectNameInfoEXT * toCount,size_t * count)10131 void count_VkDebugUtilsObjectNameInfoEXT(uint32_t featureBits, VkStructureType rootType,
10132                                          const VkDebugUtilsObjectNameInfoEXT* toCount,
10133                                          size_t* count) {
10134     (void)featureBits;
10135     (void)rootType;
10136     (void)toCount;
10137     (void)count;
10138     *count += sizeof(VkStructureType);
10139     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10140         rootType = toCount->sType;
10141     }
10142     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10143     *count += sizeof(VkObjectType);
10144     *count += sizeof(uint64_t);
10145     if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
10146         // WARNING PTR CHECK
10147         *count += 8;
10148         if (toCount->pObjectName) {
10149             *count += sizeof(uint32_t) + (toCount->pObjectName ? strlen(toCount->pObjectName) : 0);
10150         }
10151     } else {
10152         *count += sizeof(uint32_t) + (toCount->pObjectName ? strlen(toCount->pObjectName) : 0);
10153     }
10154 }
10155 
count_VkDebugUtilsMessengerCallbackDataEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugUtilsMessengerCallbackDataEXT * toCount,size_t * count)10156 void count_VkDebugUtilsMessengerCallbackDataEXT(uint32_t featureBits, VkStructureType rootType,
10157                                                 const VkDebugUtilsMessengerCallbackDataEXT* toCount,
10158                                                 size_t* count) {
10159     (void)featureBits;
10160     (void)rootType;
10161     (void)toCount;
10162     (void)count;
10163     *count += sizeof(VkStructureType);
10164     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10165         rootType = toCount->sType;
10166     }
10167     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10168     *count += sizeof(VkDebugUtilsMessengerCallbackDataFlagsEXT);
10169     if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
10170         // WARNING PTR CHECK
10171         *count += 8;
10172         if (toCount->pMessageIdName) {
10173             *count +=
10174                 sizeof(uint32_t) + (toCount->pMessageIdName ? strlen(toCount->pMessageIdName) : 0);
10175         }
10176     } else {
10177         *count +=
10178             sizeof(uint32_t) + (toCount->pMessageIdName ? strlen(toCount->pMessageIdName) : 0);
10179     }
10180     *count += sizeof(int32_t);
10181     *count += sizeof(uint32_t) + (toCount->pMessage ? strlen(toCount->pMessage) : 0);
10182     *count += sizeof(uint32_t);
10183     if (toCount) {
10184         for (uint32_t i = 0; i < (uint32_t)toCount->queueLabelCount; ++i) {
10185             count_VkDebugUtilsLabelEXT(featureBits, rootType,
10186                                        (const VkDebugUtilsLabelEXT*)(toCount->pQueueLabels + i),
10187                                        count);
10188         }
10189     }
10190     *count += sizeof(uint32_t);
10191     if (toCount) {
10192         for (uint32_t i = 0; i < (uint32_t)toCount->cmdBufLabelCount; ++i) {
10193             count_VkDebugUtilsLabelEXT(featureBits, rootType,
10194                                        (const VkDebugUtilsLabelEXT*)(toCount->pCmdBufLabels + i),
10195                                        count);
10196         }
10197     }
10198     *count += sizeof(uint32_t);
10199     if (toCount) {
10200         for (uint32_t i = 0; i < (uint32_t)toCount->objectCount; ++i) {
10201             count_VkDebugUtilsObjectNameInfoEXT(
10202                 featureBits, rootType,
10203                 (const VkDebugUtilsObjectNameInfoEXT*)(toCount->pObjects + i), count);
10204         }
10205     }
10206 }
10207 
count_VkDebugUtilsMessengerCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugUtilsMessengerCreateInfoEXT * toCount,size_t * count)10208 void count_VkDebugUtilsMessengerCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
10209                                               const VkDebugUtilsMessengerCreateInfoEXT* toCount,
10210                                               size_t* count) {
10211     (void)featureBits;
10212     (void)rootType;
10213     (void)toCount;
10214     (void)count;
10215     *count += sizeof(VkStructureType);
10216     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10217         rootType = toCount->sType;
10218     }
10219     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10220     *count += sizeof(VkDebugUtilsMessengerCreateFlagsEXT);
10221     *count += sizeof(VkDebugUtilsMessageSeverityFlagsEXT);
10222     *count += sizeof(VkDebugUtilsMessageTypeFlagsEXT);
10223     *count += 8;
10224     // WARNING PTR CHECK
10225     *count += 8;
10226     if (toCount->pUserData) {
10227         *count += sizeof(uint8_t);
10228     }
10229 }
10230 
count_VkDebugUtilsObjectTagInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDebugUtilsObjectTagInfoEXT * toCount,size_t * count)10231 void count_VkDebugUtilsObjectTagInfoEXT(uint32_t featureBits, VkStructureType rootType,
10232                                         const VkDebugUtilsObjectTagInfoEXT* toCount,
10233                                         size_t* count) {
10234     (void)featureBits;
10235     (void)rootType;
10236     (void)toCount;
10237     (void)count;
10238     *count += sizeof(VkStructureType);
10239     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10240         rootType = toCount->sType;
10241     }
10242     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10243     *count += sizeof(VkObjectType);
10244     *count += sizeof(uint64_t);
10245     *count += sizeof(uint64_t);
10246     *count += 8;
10247     if (toCount) {
10248         *count += toCount->tagSize * sizeof(const uint8_t);
10249     }
10250 }
10251 
10252 #endif
10253 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
count_VkAndroidHardwareBufferUsageANDROID(uint32_t featureBits,VkStructureType rootType,const VkAndroidHardwareBufferUsageANDROID * toCount,size_t * count)10254 void count_VkAndroidHardwareBufferUsageANDROID(uint32_t featureBits, VkStructureType rootType,
10255                                                const VkAndroidHardwareBufferUsageANDROID* toCount,
10256                                                size_t* count) {
10257     (void)featureBits;
10258     (void)rootType;
10259     (void)toCount;
10260     (void)count;
10261     *count += sizeof(VkStructureType);
10262     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10263         rootType = toCount->sType;
10264     }
10265     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10266     *count += sizeof(uint64_t);
10267 }
10268 
count_VkAndroidHardwareBufferPropertiesANDROID(uint32_t featureBits,VkStructureType rootType,const VkAndroidHardwareBufferPropertiesANDROID * toCount,size_t * count)10269 void count_VkAndroidHardwareBufferPropertiesANDROID(
10270     uint32_t featureBits, VkStructureType rootType,
10271     const VkAndroidHardwareBufferPropertiesANDROID* toCount, size_t* count) {
10272     (void)featureBits;
10273     (void)rootType;
10274     (void)toCount;
10275     (void)count;
10276     *count += sizeof(VkStructureType);
10277     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10278         rootType = toCount->sType;
10279     }
10280     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10281     *count += sizeof(VkDeviceSize);
10282     *count += sizeof(uint32_t);
10283 }
10284 
count_VkAndroidHardwareBufferFormatPropertiesANDROID(uint32_t featureBits,VkStructureType rootType,const VkAndroidHardwareBufferFormatPropertiesANDROID * toCount,size_t * count)10285 void count_VkAndroidHardwareBufferFormatPropertiesANDROID(
10286     uint32_t featureBits, VkStructureType rootType,
10287     const VkAndroidHardwareBufferFormatPropertiesANDROID* toCount, size_t* count) {
10288     (void)featureBits;
10289     (void)rootType;
10290     (void)toCount;
10291     (void)count;
10292     *count += sizeof(VkStructureType);
10293     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10294         rootType = toCount->sType;
10295     }
10296     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10297     *count += sizeof(VkFormat);
10298     *count += sizeof(uint64_t);
10299     *count += sizeof(VkFormatFeatureFlags);
10300     count_VkComponentMapping(featureBits, rootType,
10301                              (VkComponentMapping*)(&toCount->samplerYcbcrConversionComponents),
10302                              count);
10303     *count += sizeof(VkSamplerYcbcrModelConversion);
10304     *count += sizeof(VkSamplerYcbcrRange);
10305     *count += sizeof(VkChromaLocation);
10306     *count += sizeof(VkChromaLocation);
10307 }
10308 
count_VkImportAndroidHardwareBufferInfoANDROID(uint32_t featureBits,VkStructureType rootType,const VkImportAndroidHardwareBufferInfoANDROID * toCount,size_t * count)10309 void count_VkImportAndroidHardwareBufferInfoANDROID(
10310     uint32_t featureBits, VkStructureType rootType,
10311     const VkImportAndroidHardwareBufferInfoANDROID* toCount, size_t* count) {
10312     (void)featureBits;
10313     (void)rootType;
10314     (void)toCount;
10315     (void)count;
10316     *count += sizeof(VkStructureType);
10317     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10318         rootType = toCount->sType;
10319     }
10320     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10321     *count += sizeof(AHardwareBuffer);
10322 }
10323 
count_VkMemoryGetAndroidHardwareBufferInfoANDROID(uint32_t featureBits,VkStructureType rootType,const VkMemoryGetAndroidHardwareBufferInfoANDROID * toCount,size_t * count)10324 void count_VkMemoryGetAndroidHardwareBufferInfoANDROID(
10325     uint32_t featureBits, VkStructureType rootType,
10326     const VkMemoryGetAndroidHardwareBufferInfoANDROID* toCount, size_t* count) {
10327     (void)featureBits;
10328     (void)rootType;
10329     (void)toCount;
10330     (void)count;
10331     *count += sizeof(VkStructureType);
10332     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10333         rootType = toCount->sType;
10334     }
10335     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10336     uint64_t cgen_var_0;
10337     *count += 1 * 8;
10338 }
10339 
count_VkExternalFormatANDROID(uint32_t featureBits,VkStructureType rootType,const VkExternalFormatANDROID * toCount,size_t * count)10340 void count_VkExternalFormatANDROID(uint32_t featureBits, VkStructureType rootType,
10341                                    const VkExternalFormatANDROID* toCount, size_t* count) {
10342     (void)featureBits;
10343     (void)rootType;
10344     (void)toCount;
10345     (void)count;
10346     *count += sizeof(VkStructureType);
10347     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10348         rootType = toCount->sType;
10349     }
10350     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10351     *count += sizeof(uint64_t);
10352 }
10353 
count_VkAndroidHardwareBufferFormatProperties2ANDROID(uint32_t featureBits,VkStructureType rootType,const VkAndroidHardwareBufferFormatProperties2ANDROID * toCount,size_t * count)10354 void count_VkAndroidHardwareBufferFormatProperties2ANDROID(
10355     uint32_t featureBits, VkStructureType rootType,
10356     const VkAndroidHardwareBufferFormatProperties2ANDROID* toCount, size_t* count) {
10357     (void)featureBits;
10358     (void)rootType;
10359     (void)toCount;
10360     (void)count;
10361     *count += sizeof(VkStructureType);
10362     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10363         rootType = toCount->sType;
10364     }
10365     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10366     *count += sizeof(VkFormat);
10367     *count += sizeof(uint64_t);
10368     *count += sizeof(VkFormatFeatureFlags2);
10369     count_VkComponentMapping(featureBits, rootType,
10370                              (VkComponentMapping*)(&toCount->samplerYcbcrConversionComponents),
10371                              count);
10372     *count += sizeof(VkSamplerYcbcrModelConversion);
10373     *count += sizeof(VkSamplerYcbcrRange);
10374     *count += sizeof(VkChromaLocation);
10375     *count += sizeof(VkChromaLocation);
10376 }
10377 
10378 #endif
10379 #ifdef VK_EXT_sampler_filter_minmax
10380 #endif
10381 #ifdef VK_AMD_gpu_shader_int16
10382 #endif
10383 #ifdef VK_AMD_mixed_attachment_samples
10384 #endif
10385 #ifdef VK_AMD_shader_fragment_mask
10386 #endif
10387 #ifdef VK_EXT_inline_uniform_block
10388 #endif
10389 #ifdef VK_EXT_shader_stencil_export
10390 #endif
10391 #ifdef VK_EXT_sample_locations
count_VkSampleLocationEXT(uint32_t featureBits,VkStructureType rootType,const VkSampleLocationEXT * toCount,size_t * count)10392 void count_VkSampleLocationEXT(uint32_t featureBits, VkStructureType rootType,
10393                                const VkSampleLocationEXT* toCount, size_t* count) {
10394     (void)featureBits;
10395     (void)rootType;
10396     (void)toCount;
10397     (void)count;
10398     *count += sizeof(float);
10399     *count += sizeof(float);
10400 }
10401 
count_VkSampleLocationsInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSampleLocationsInfoEXT * toCount,size_t * count)10402 void count_VkSampleLocationsInfoEXT(uint32_t featureBits, VkStructureType rootType,
10403                                     const VkSampleLocationsInfoEXT* toCount, size_t* count) {
10404     (void)featureBits;
10405     (void)rootType;
10406     (void)toCount;
10407     (void)count;
10408     *count += sizeof(VkStructureType);
10409     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10410         rootType = toCount->sType;
10411     }
10412     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10413     *count += sizeof(VkSampleCountFlagBits);
10414     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->sampleLocationGridSize), count);
10415     *count += sizeof(uint32_t);
10416     if (toCount) {
10417         for (uint32_t i = 0; i < (uint32_t)toCount->sampleLocationsCount; ++i) {
10418             count_VkSampleLocationEXT(featureBits, rootType,
10419                                       (const VkSampleLocationEXT*)(toCount->pSampleLocations + i),
10420                                       count);
10421         }
10422     }
10423 }
10424 
count_VkAttachmentSampleLocationsEXT(uint32_t featureBits,VkStructureType rootType,const VkAttachmentSampleLocationsEXT * toCount,size_t * count)10425 void count_VkAttachmentSampleLocationsEXT(uint32_t featureBits, VkStructureType rootType,
10426                                           const VkAttachmentSampleLocationsEXT* toCount,
10427                                           size_t* count) {
10428     (void)featureBits;
10429     (void)rootType;
10430     (void)toCount;
10431     (void)count;
10432     *count += sizeof(uint32_t);
10433     count_VkSampleLocationsInfoEXT(
10434         featureBits, rootType, (VkSampleLocationsInfoEXT*)(&toCount->sampleLocationsInfo), count);
10435 }
10436 
count_VkSubpassSampleLocationsEXT(uint32_t featureBits,VkStructureType rootType,const VkSubpassSampleLocationsEXT * toCount,size_t * count)10437 void count_VkSubpassSampleLocationsEXT(uint32_t featureBits, VkStructureType rootType,
10438                                        const VkSubpassSampleLocationsEXT* toCount, size_t* count) {
10439     (void)featureBits;
10440     (void)rootType;
10441     (void)toCount;
10442     (void)count;
10443     *count += sizeof(uint32_t);
10444     count_VkSampleLocationsInfoEXT(
10445         featureBits, rootType, (VkSampleLocationsInfoEXT*)(&toCount->sampleLocationsInfo), count);
10446 }
10447 
count_VkRenderPassSampleLocationsBeginInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassSampleLocationsBeginInfoEXT * toCount,size_t * count)10448 void count_VkRenderPassSampleLocationsBeginInfoEXT(
10449     uint32_t featureBits, VkStructureType rootType,
10450     const VkRenderPassSampleLocationsBeginInfoEXT* toCount, size_t* count) {
10451     (void)featureBits;
10452     (void)rootType;
10453     (void)toCount;
10454     (void)count;
10455     *count += sizeof(VkStructureType);
10456     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10457         rootType = toCount->sType;
10458     }
10459     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10460     *count += sizeof(uint32_t);
10461     if (toCount) {
10462         for (uint32_t i = 0; i < (uint32_t)toCount->attachmentInitialSampleLocationsCount; ++i) {
10463             count_VkAttachmentSampleLocationsEXT(
10464                 featureBits, rootType,
10465                 (const VkAttachmentSampleLocationsEXT*)(toCount->pAttachmentInitialSampleLocations +
10466                                                         i),
10467                 count);
10468         }
10469     }
10470     *count += sizeof(uint32_t);
10471     if (toCount) {
10472         for (uint32_t i = 0; i < (uint32_t)toCount->postSubpassSampleLocationsCount; ++i) {
10473             count_VkSubpassSampleLocationsEXT(
10474                 featureBits, rootType,
10475                 (const VkSubpassSampleLocationsEXT*)(toCount->pPostSubpassSampleLocations + i),
10476                 count);
10477         }
10478     }
10479 }
10480 
count_VkPipelineSampleLocationsStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineSampleLocationsStateCreateInfoEXT * toCount,size_t * count)10481 void count_VkPipelineSampleLocationsStateCreateInfoEXT(
10482     uint32_t featureBits, VkStructureType rootType,
10483     const VkPipelineSampleLocationsStateCreateInfoEXT* toCount, size_t* count) {
10484     (void)featureBits;
10485     (void)rootType;
10486     (void)toCount;
10487     (void)count;
10488     *count += sizeof(VkStructureType);
10489     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10490         rootType = toCount->sType;
10491     }
10492     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10493     *count += sizeof(VkBool32);
10494     count_VkSampleLocationsInfoEXT(
10495         featureBits, rootType, (VkSampleLocationsInfoEXT*)(&toCount->sampleLocationsInfo), count);
10496 }
10497 
count_VkPhysicalDeviceSampleLocationsPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSampleLocationsPropertiesEXT * toCount,size_t * count)10498 void count_VkPhysicalDeviceSampleLocationsPropertiesEXT(
10499     uint32_t featureBits, VkStructureType rootType,
10500     const VkPhysicalDeviceSampleLocationsPropertiesEXT* toCount, size_t* count) {
10501     (void)featureBits;
10502     (void)rootType;
10503     (void)toCount;
10504     (void)count;
10505     *count += sizeof(VkStructureType);
10506     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10507         rootType = toCount->sType;
10508     }
10509     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10510     *count += sizeof(VkSampleCountFlags);
10511     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxSampleLocationGridSize),
10512                      count);
10513     *count += 2 * sizeof(float);
10514     *count += sizeof(uint32_t);
10515     *count += sizeof(VkBool32);
10516 }
10517 
count_VkMultisamplePropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkMultisamplePropertiesEXT * toCount,size_t * count)10518 void count_VkMultisamplePropertiesEXT(uint32_t featureBits, VkStructureType rootType,
10519                                       const VkMultisamplePropertiesEXT* toCount, size_t* count) {
10520     (void)featureBits;
10521     (void)rootType;
10522     (void)toCount;
10523     (void)count;
10524     *count += sizeof(VkStructureType);
10525     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10526         rootType = toCount->sType;
10527     }
10528     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10529     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxSampleLocationGridSize),
10530                      count);
10531 }
10532 
10533 #endif
10534 #ifdef VK_EXT_blend_operation_advanced
count_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT * toCount,size_t * count)10535 void count_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
10536     uint32_t featureBits, VkStructureType rootType,
10537     const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT* toCount, size_t* count) {
10538     (void)featureBits;
10539     (void)rootType;
10540     (void)toCount;
10541     (void)count;
10542     *count += sizeof(VkStructureType);
10543     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10544         rootType = toCount->sType;
10545     }
10546     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10547     *count += sizeof(VkBool32);
10548 }
10549 
count_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT * toCount,size_t * count)10550 void count_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
10551     uint32_t featureBits, VkStructureType rootType,
10552     const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT* toCount, size_t* count) {
10553     (void)featureBits;
10554     (void)rootType;
10555     (void)toCount;
10556     (void)count;
10557     *count += sizeof(VkStructureType);
10558     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10559         rootType = toCount->sType;
10560     }
10561     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10562     *count += sizeof(uint32_t);
10563     *count += sizeof(VkBool32);
10564     *count += sizeof(VkBool32);
10565     *count += sizeof(VkBool32);
10566     *count += sizeof(VkBool32);
10567     *count += sizeof(VkBool32);
10568 }
10569 
count_VkPipelineColorBlendAdvancedStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineColorBlendAdvancedStateCreateInfoEXT * toCount,size_t * count)10570 void count_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
10571     uint32_t featureBits, VkStructureType rootType,
10572     const VkPipelineColorBlendAdvancedStateCreateInfoEXT* toCount, size_t* count) {
10573     (void)featureBits;
10574     (void)rootType;
10575     (void)toCount;
10576     (void)count;
10577     *count += sizeof(VkStructureType);
10578     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10579         rootType = toCount->sType;
10580     }
10581     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10582     *count += sizeof(VkBool32);
10583     *count += sizeof(VkBool32);
10584     *count += sizeof(VkBlendOverlapEXT);
10585 }
10586 
10587 #endif
10588 #ifdef VK_NV_fragment_coverage_to_color
count_VkPipelineCoverageToColorStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineCoverageToColorStateCreateInfoNV * toCount,size_t * count)10589 void count_VkPipelineCoverageToColorStateCreateInfoNV(
10590     uint32_t featureBits, VkStructureType rootType,
10591     const VkPipelineCoverageToColorStateCreateInfoNV* toCount, size_t* count) {
10592     (void)featureBits;
10593     (void)rootType;
10594     (void)toCount;
10595     (void)count;
10596     *count += sizeof(VkStructureType);
10597     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10598         rootType = toCount->sType;
10599     }
10600     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10601     *count += sizeof(VkPipelineCoverageToColorStateCreateFlagsNV);
10602     *count += sizeof(VkBool32);
10603     *count += sizeof(uint32_t);
10604 }
10605 
10606 #endif
10607 #ifdef VK_NV_framebuffer_mixed_samples
count_VkPipelineCoverageModulationStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineCoverageModulationStateCreateInfoNV * toCount,size_t * count)10608 void count_VkPipelineCoverageModulationStateCreateInfoNV(
10609     uint32_t featureBits, VkStructureType rootType,
10610     const VkPipelineCoverageModulationStateCreateInfoNV* toCount, size_t* count) {
10611     (void)featureBits;
10612     (void)rootType;
10613     (void)toCount;
10614     (void)count;
10615     *count += sizeof(VkStructureType);
10616     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10617         rootType = toCount->sType;
10618     }
10619     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10620     *count += sizeof(VkPipelineCoverageModulationStateCreateFlagsNV);
10621     *count += sizeof(VkCoverageModulationModeNV);
10622     *count += sizeof(VkBool32);
10623     *count += sizeof(uint32_t);
10624     // WARNING PTR CHECK
10625     *count += 8;
10626     if (toCount->pCoverageModulationTable) {
10627         if (toCount) {
10628             *count += toCount->coverageModulationTableCount * sizeof(const float);
10629         }
10630     }
10631 }
10632 
10633 #endif
10634 #ifdef VK_NV_fill_rectangle
10635 #endif
10636 #ifdef VK_NV_shader_sm_builtins
count_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV * toCount,size_t * count)10637 void count_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
10638     uint32_t featureBits, VkStructureType rootType,
10639     const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV* toCount, size_t* count) {
10640     (void)featureBits;
10641     (void)rootType;
10642     (void)toCount;
10643     (void)count;
10644     *count += sizeof(VkStructureType);
10645     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10646         rootType = toCount->sType;
10647     }
10648     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10649     *count += sizeof(uint32_t);
10650     *count += sizeof(uint32_t);
10651 }
10652 
count_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV * toCount,size_t * count)10653 void count_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
10654     uint32_t featureBits, VkStructureType rootType,
10655     const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV* toCount, size_t* count) {
10656     (void)featureBits;
10657     (void)rootType;
10658     (void)toCount;
10659     (void)count;
10660     *count += sizeof(VkStructureType);
10661     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10662         rootType = toCount->sType;
10663     }
10664     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10665     *count += sizeof(VkBool32);
10666 }
10667 
10668 #endif
10669 #ifdef VK_EXT_post_depth_coverage
10670 #endif
10671 #ifdef VK_EXT_image_drm_format_modifier
count_VkDrmFormatModifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * toCount,size_t * count)10672 void count_VkDrmFormatModifierPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
10673                                             const VkDrmFormatModifierPropertiesEXT* toCount,
10674                                             size_t* count) {
10675     (void)featureBits;
10676     (void)rootType;
10677     (void)toCount;
10678     (void)count;
10679     *count += sizeof(uint64_t);
10680     *count += sizeof(uint32_t);
10681     *count += sizeof(VkFormatFeatureFlags);
10682 }
10683 
count_VkDrmFormatModifierPropertiesListEXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * toCount,size_t * count)10684 void count_VkDrmFormatModifierPropertiesListEXT(uint32_t featureBits, VkStructureType rootType,
10685                                                 const VkDrmFormatModifierPropertiesListEXT* toCount,
10686                                                 size_t* count) {
10687     (void)featureBits;
10688     (void)rootType;
10689     (void)toCount;
10690     (void)count;
10691     *count += sizeof(VkStructureType);
10692     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10693         rootType = toCount->sType;
10694     }
10695     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10696     *count += sizeof(uint32_t);
10697     // WARNING PTR CHECK
10698     *count += 8;
10699     if (toCount->pDrmFormatModifierProperties) {
10700         if (toCount) {
10701             for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierCount; ++i) {
10702                 count_VkDrmFormatModifierPropertiesEXT(
10703                     featureBits, rootType,
10704                     (VkDrmFormatModifierPropertiesEXT*)(toCount->pDrmFormatModifierProperties + i),
10705                     count);
10706             }
10707         }
10708     }
10709 }
10710 
count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * toCount,size_t * count)10711 void count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
10712     uint32_t featureBits, VkStructureType rootType,
10713     const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* toCount, size_t* count) {
10714     (void)featureBits;
10715     (void)rootType;
10716     (void)toCount;
10717     (void)count;
10718     *count += sizeof(VkStructureType);
10719     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10720         rootType = toCount->sType;
10721     }
10722     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10723     *count += sizeof(uint64_t);
10724     *count += sizeof(VkSharingMode);
10725     *count += sizeof(uint32_t);
10726     // WARNING PTR CHECK
10727     *count += 8;
10728     if (toCount->pQueueFamilyIndices) {
10729         if (toCount) {
10730             *count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
10731         }
10732     }
10733 }
10734 
count_VkImageDrmFormatModifierListCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * toCount,size_t * count)10735 void count_VkImageDrmFormatModifierListCreateInfoEXT(
10736     uint32_t featureBits, VkStructureType rootType,
10737     const VkImageDrmFormatModifierListCreateInfoEXT* toCount, size_t* count) {
10738     (void)featureBits;
10739     (void)rootType;
10740     (void)toCount;
10741     (void)count;
10742     *count += sizeof(VkStructureType);
10743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10744         rootType = toCount->sType;
10745     }
10746     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10747     *count += sizeof(uint32_t);
10748     if (toCount) {
10749         *count += toCount->drmFormatModifierCount * sizeof(const uint64_t);
10750     }
10751 }
10752 
count_VkImageDrmFormatModifierExplicitCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * toCount,size_t * count)10753 void count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
10754     uint32_t featureBits, VkStructureType rootType,
10755     const VkImageDrmFormatModifierExplicitCreateInfoEXT* toCount, size_t* count) {
10756     (void)featureBits;
10757     (void)rootType;
10758     (void)toCount;
10759     (void)count;
10760     *count += sizeof(VkStructureType);
10761     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10762         rootType = toCount->sType;
10763     }
10764     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10765     *count += sizeof(uint64_t);
10766     *count += sizeof(uint32_t);
10767     if (toCount) {
10768         for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierPlaneCount; ++i) {
10769             count_VkSubresourceLayout(featureBits, rootType,
10770                                       (const VkSubresourceLayout*)(toCount->pPlaneLayouts + i),
10771                                       count);
10772         }
10773     }
10774 }
10775 
count_VkImageDrmFormatModifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * toCount,size_t * count)10776 void count_VkImageDrmFormatModifierPropertiesEXT(
10777     uint32_t featureBits, VkStructureType rootType,
10778     const VkImageDrmFormatModifierPropertiesEXT* toCount, size_t* count) {
10779     (void)featureBits;
10780     (void)rootType;
10781     (void)toCount;
10782     (void)count;
10783     *count += sizeof(VkStructureType);
10784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10785         rootType = toCount->sType;
10786     }
10787     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10788     *count += sizeof(uint64_t);
10789 }
10790 
count_VkDrmFormatModifierProperties2EXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * toCount,size_t * count)10791 void count_VkDrmFormatModifierProperties2EXT(uint32_t featureBits, VkStructureType rootType,
10792                                              const VkDrmFormatModifierProperties2EXT* toCount,
10793                                              size_t* count) {
10794     (void)featureBits;
10795     (void)rootType;
10796     (void)toCount;
10797     (void)count;
10798     *count += sizeof(uint64_t);
10799     *count += sizeof(uint32_t);
10800     *count += sizeof(VkFormatFeatureFlags2);
10801 }
10802 
count_VkDrmFormatModifierPropertiesList2EXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * toCount,size_t * count)10803 void count_VkDrmFormatModifierPropertiesList2EXT(
10804     uint32_t featureBits, VkStructureType rootType,
10805     const VkDrmFormatModifierPropertiesList2EXT* toCount, size_t* count) {
10806     (void)featureBits;
10807     (void)rootType;
10808     (void)toCount;
10809     (void)count;
10810     *count += sizeof(VkStructureType);
10811     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10812         rootType = toCount->sType;
10813     }
10814     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10815     *count += sizeof(uint32_t);
10816     // WARNING PTR CHECK
10817     *count += 8;
10818     if (toCount->pDrmFormatModifierProperties) {
10819         if (toCount) {
10820             for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierCount; ++i) {
10821                 count_VkDrmFormatModifierProperties2EXT(
10822                     featureBits, rootType,
10823                     (VkDrmFormatModifierProperties2EXT*)(toCount->pDrmFormatModifierProperties + i),
10824                     count);
10825             }
10826         }
10827     }
10828 }
10829 
10830 #endif
10831 #ifdef VK_EXT_validation_cache
count_VkValidationCacheCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkValidationCacheCreateInfoEXT * toCount,size_t * count)10832 void count_VkValidationCacheCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
10833                                           const VkValidationCacheCreateInfoEXT* toCount,
10834                                           size_t* count) {
10835     (void)featureBits;
10836     (void)rootType;
10837     (void)toCount;
10838     (void)count;
10839     *count += sizeof(VkStructureType);
10840     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10841         rootType = toCount->sType;
10842     }
10843     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10844     *count += sizeof(VkValidationCacheCreateFlagsEXT);
10845     *count += 8;
10846     if (toCount) {
10847         *count += toCount->initialDataSize * sizeof(const uint8_t);
10848     }
10849 }
10850 
count_VkShaderModuleValidationCacheCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkShaderModuleValidationCacheCreateInfoEXT * toCount,size_t * count)10851 void count_VkShaderModuleValidationCacheCreateInfoEXT(
10852     uint32_t featureBits, VkStructureType rootType,
10853     const VkShaderModuleValidationCacheCreateInfoEXT* toCount, size_t* count) {
10854     (void)featureBits;
10855     (void)rootType;
10856     (void)toCount;
10857     (void)count;
10858     *count += sizeof(VkStructureType);
10859     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10860         rootType = toCount->sType;
10861     }
10862     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10863     uint64_t cgen_var_0;
10864     *count += 1 * 8;
10865 }
10866 
10867 #endif
10868 #ifdef VK_EXT_descriptor_indexing
10869 #endif
10870 #ifdef VK_EXT_shader_viewport_index_layer
10871 #endif
10872 #ifdef VK_NV_shading_rate_image
count_VkShadingRatePaletteNV(uint32_t featureBits,VkStructureType rootType,const VkShadingRatePaletteNV * toCount,size_t * count)10873 void count_VkShadingRatePaletteNV(uint32_t featureBits, VkStructureType rootType,
10874                                   const VkShadingRatePaletteNV* toCount, size_t* count) {
10875     (void)featureBits;
10876     (void)rootType;
10877     (void)toCount;
10878     (void)count;
10879     *count += sizeof(uint32_t);
10880     if (toCount) {
10881         *count += toCount->shadingRatePaletteEntryCount * sizeof(const VkShadingRatePaletteEntryNV);
10882     }
10883 }
10884 
count_VkPipelineViewportShadingRateImageStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportShadingRateImageStateCreateInfoNV * toCount,size_t * count)10885 void count_VkPipelineViewportShadingRateImageStateCreateInfoNV(
10886     uint32_t featureBits, VkStructureType rootType,
10887     const VkPipelineViewportShadingRateImageStateCreateInfoNV* toCount, size_t* count) {
10888     (void)featureBits;
10889     (void)rootType;
10890     (void)toCount;
10891     (void)count;
10892     *count += sizeof(VkStructureType);
10893     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10894         rootType = toCount->sType;
10895     }
10896     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10897     *count += sizeof(VkBool32);
10898     *count += sizeof(uint32_t);
10899     // WARNING PTR CHECK
10900     *count += 8;
10901     if (toCount->pShadingRatePalettes) {
10902         if (toCount) {
10903             for (uint32_t i = 0; i < (uint32_t)toCount->viewportCount; ++i) {
10904                 count_VkShadingRatePaletteNV(
10905                     featureBits, rootType,
10906                     (const VkShadingRatePaletteNV*)(toCount->pShadingRatePalettes + i), count);
10907             }
10908         }
10909     }
10910 }
10911 
count_VkPhysicalDeviceShadingRateImageFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShadingRateImageFeaturesNV * toCount,size_t * count)10912 void count_VkPhysicalDeviceShadingRateImageFeaturesNV(
10913     uint32_t featureBits, VkStructureType rootType,
10914     const VkPhysicalDeviceShadingRateImageFeaturesNV* toCount, size_t* count) {
10915     (void)featureBits;
10916     (void)rootType;
10917     (void)toCount;
10918     (void)count;
10919     *count += sizeof(VkStructureType);
10920     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10921         rootType = toCount->sType;
10922     }
10923     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10924     *count += sizeof(VkBool32);
10925     *count += sizeof(VkBool32);
10926 }
10927 
count_VkPhysicalDeviceShadingRateImagePropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShadingRateImagePropertiesNV * toCount,size_t * count)10928 void count_VkPhysicalDeviceShadingRateImagePropertiesNV(
10929     uint32_t featureBits, VkStructureType rootType,
10930     const VkPhysicalDeviceShadingRateImagePropertiesNV* toCount, size_t* count) {
10931     (void)featureBits;
10932     (void)rootType;
10933     (void)toCount;
10934     (void)count;
10935     *count += sizeof(VkStructureType);
10936     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10937         rootType = toCount->sType;
10938     }
10939     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10940     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->shadingRateTexelSize), count);
10941     *count += sizeof(uint32_t);
10942     *count += sizeof(uint32_t);
10943 }
10944 
count_VkCoarseSampleLocationNV(uint32_t featureBits,VkStructureType rootType,const VkCoarseSampleLocationNV * toCount,size_t * count)10945 void count_VkCoarseSampleLocationNV(uint32_t featureBits, VkStructureType rootType,
10946                                     const VkCoarseSampleLocationNV* toCount, size_t* count) {
10947     (void)featureBits;
10948     (void)rootType;
10949     (void)toCount;
10950     (void)count;
10951     *count += sizeof(uint32_t);
10952     *count += sizeof(uint32_t);
10953     *count += sizeof(uint32_t);
10954 }
10955 
count_VkCoarseSampleOrderCustomNV(uint32_t featureBits,VkStructureType rootType,const VkCoarseSampleOrderCustomNV * toCount,size_t * count)10956 void count_VkCoarseSampleOrderCustomNV(uint32_t featureBits, VkStructureType rootType,
10957                                        const VkCoarseSampleOrderCustomNV* toCount, size_t* count) {
10958     (void)featureBits;
10959     (void)rootType;
10960     (void)toCount;
10961     (void)count;
10962     *count += sizeof(VkShadingRatePaletteEntryNV);
10963     *count += sizeof(uint32_t);
10964     *count += sizeof(uint32_t);
10965     if (toCount) {
10966         for (uint32_t i = 0; i < (uint32_t)toCount->sampleLocationCount; ++i) {
10967             count_VkCoarseSampleLocationNV(
10968                 featureBits, rootType,
10969                 (const VkCoarseSampleLocationNV*)(toCount->pSampleLocations + i), count);
10970         }
10971     }
10972 }
10973 
count_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV * toCount,size_t * count)10974 void count_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
10975     uint32_t featureBits, VkStructureType rootType,
10976     const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV* toCount, size_t* count) {
10977     (void)featureBits;
10978     (void)rootType;
10979     (void)toCount;
10980     (void)count;
10981     *count += sizeof(VkStructureType);
10982     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
10983         rootType = toCount->sType;
10984     }
10985     count_extension_struct(featureBits, rootType, toCount->pNext, count);
10986     *count += sizeof(VkCoarseSampleOrderTypeNV);
10987     *count += sizeof(uint32_t);
10988     if (toCount) {
10989         for (uint32_t i = 0; i < (uint32_t)toCount->customSampleOrderCount; ++i) {
10990             count_VkCoarseSampleOrderCustomNV(
10991                 featureBits, rootType,
10992                 (const VkCoarseSampleOrderCustomNV*)(toCount->pCustomSampleOrders + i), count);
10993         }
10994     }
10995 }
10996 
10997 #endif
10998 #ifdef VK_NV_ray_tracing
count_VkRayTracingShaderGroupCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkRayTracingShaderGroupCreateInfoNV * toCount,size_t * count)10999 void count_VkRayTracingShaderGroupCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
11000                                                const VkRayTracingShaderGroupCreateInfoNV* toCount,
11001                                                size_t* count) {
11002     (void)featureBits;
11003     (void)rootType;
11004     (void)toCount;
11005     (void)count;
11006     *count += sizeof(VkStructureType);
11007     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11008         rootType = toCount->sType;
11009     }
11010     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11011     *count += sizeof(VkRayTracingShaderGroupTypeKHR);
11012     *count += sizeof(uint32_t);
11013     *count += sizeof(uint32_t);
11014     *count += sizeof(uint32_t);
11015     *count += sizeof(uint32_t);
11016 }
11017 
count_VkRayTracingPipelineCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkRayTracingPipelineCreateInfoNV * toCount,size_t * count)11018 void count_VkRayTracingPipelineCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
11019                                             const VkRayTracingPipelineCreateInfoNV* toCount,
11020                                             size_t* count) {
11021     (void)featureBits;
11022     (void)rootType;
11023     (void)toCount;
11024     (void)count;
11025     *count += sizeof(VkStructureType);
11026     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11027         rootType = toCount->sType;
11028     }
11029     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11030     *count += sizeof(VkPipelineCreateFlags);
11031     *count += sizeof(uint32_t);
11032     if (toCount) {
11033         for (uint32_t i = 0; i < (uint32_t)toCount->stageCount; ++i) {
11034             count_VkPipelineShaderStageCreateInfo(
11035                 featureBits, rootType,
11036                 (const VkPipelineShaderStageCreateInfo*)(toCount->pStages + i), count);
11037         }
11038     }
11039     *count += sizeof(uint32_t);
11040     if (toCount) {
11041         for (uint32_t i = 0; i < (uint32_t)toCount->groupCount; ++i) {
11042             count_VkRayTracingShaderGroupCreateInfoNV(
11043                 featureBits, rootType,
11044                 (const VkRayTracingShaderGroupCreateInfoNV*)(toCount->pGroups + i), count);
11045         }
11046     }
11047     *count += sizeof(uint32_t);
11048     uint64_t cgen_var_0;
11049     *count += 1 * 8;
11050     uint64_t cgen_var_1;
11051     *count += 1 * 8;
11052     *count += sizeof(int32_t);
11053 }
11054 
count_VkGeometryTrianglesNV(uint32_t featureBits,VkStructureType rootType,const VkGeometryTrianglesNV * toCount,size_t * count)11055 void count_VkGeometryTrianglesNV(uint32_t featureBits, VkStructureType rootType,
11056                                  const VkGeometryTrianglesNV* toCount, size_t* count) {
11057     (void)featureBits;
11058     (void)rootType;
11059     (void)toCount;
11060     (void)count;
11061     *count += sizeof(VkStructureType);
11062     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11063         rootType = toCount->sType;
11064     }
11065     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11066     uint64_t cgen_var_0;
11067     *count += 1 * 8;
11068     *count += sizeof(VkDeviceSize);
11069     *count += sizeof(uint32_t);
11070     *count += sizeof(VkDeviceSize);
11071     *count += sizeof(VkFormat);
11072     uint64_t cgen_var_1;
11073     *count += 1 * 8;
11074     *count += sizeof(VkDeviceSize);
11075     *count += sizeof(uint32_t);
11076     *count += sizeof(VkIndexType);
11077     uint64_t cgen_var_2;
11078     *count += 1 * 8;
11079     *count += sizeof(VkDeviceSize);
11080 }
11081 
count_VkGeometryAABBNV(uint32_t featureBits,VkStructureType rootType,const VkGeometryAABBNV * toCount,size_t * count)11082 void count_VkGeometryAABBNV(uint32_t featureBits, VkStructureType rootType,
11083                             const VkGeometryAABBNV* toCount, size_t* count) {
11084     (void)featureBits;
11085     (void)rootType;
11086     (void)toCount;
11087     (void)count;
11088     *count += sizeof(VkStructureType);
11089     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11090         rootType = toCount->sType;
11091     }
11092     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11093     uint64_t cgen_var_0;
11094     *count += 1 * 8;
11095     *count += sizeof(uint32_t);
11096     *count += sizeof(uint32_t);
11097     *count += sizeof(VkDeviceSize);
11098 }
11099 
count_VkGeometryDataNV(uint32_t featureBits,VkStructureType rootType,const VkGeometryDataNV * toCount,size_t * count)11100 void count_VkGeometryDataNV(uint32_t featureBits, VkStructureType rootType,
11101                             const VkGeometryDataNV* toCount, size_t* count) {
11102     (void)featureBits;
11103     (void)rootType;
11104     (void)toCount;
11105     (void)count;
11106     count_VkGeometryTrianglesNV(featureBits, rootType,
11107                                 (VkGeometryTrianglesNV*)(&toCount->triangles), count);
11108     count_VkGeometryAABBNV(featureBits, rootType, (VkGeometryAABBNV*)(&toCount->aabbs), count);
11109 }
11110 
count_VkGeometryNV(uint32_t featureBits,VkStructureType rootType,const VkGeometryNV * toCount,size_t * count)11111 void count_VkGeometryNV(uint32_t featureBits, VkStructureType rootType, const VkGeometryNV* toCount,
11112                         size_t* count) {
11113     (void)featureBits;
11114     (void)rootType;
11115     (void)toCount;
11116     (void)count;
11117     *count += sizeof(VkStructureType);
11118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11119         rootType = toCount->sType;
11120     }
11121     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11122     *count += sizeof(VkGeometryTypeKHR);
11123     count_VkGeometryDataNV(featureBits, rootType, (VkGeometryDataNV*)(&toCount->geometry), count);
11124     *count += sizeof(VkGeometryFlagsKHR);
11125 }
11126 
count_VkAccelerationStructureInfoNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureInfoNV * toCount,size_t * count)11127 void count_VkAccelerationStructureInfoNV(uint32_t featureBits, VkStructureType rootType,
11128                                          const VkAccelerationStructureInfoNV* toCount,
11129                                          size_t* count) {
11130     (void)featureBits;
11131     (void)rootType;
11132     (void)toCount;
11133     (void)count;
11134     *count += sizeof(VkStructureType);
11135     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11136         rootType = toCount->sType;
11137     }
11138     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11139     *count += sizeof(VkAccelerationStructureTypeNV);
11140     *count += sizeof(VkBuildAccelerationStructureFlagsNV);
11141     *count += sizeof(uint32_t);
11142     *count += sizeof(uint32_t);
11143     if (toCount) {
11144         for (uint32_t i = 0; i < (uint32_t)toCount->geometryCount; ++i) {
11145             count_VkGeometryNV(featureBits, rootType,
11146                                (const VkGeometryNV*)(toCount->pGeometries + i), count);
11147         }
11148     }
11149 }
11150 
count_VkAccelerationStructureCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureCreateInfoNV * toCount,size_t * count)11151 void count_VkAccelerationStructureCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
11152                                                const VkAccelerationStructureCreateInfoNV* toCount,
11153                                                size_t* count) {
11154     (void)featureBits;
11155     (void)rootType;
11156     (void)toCount;
11157     (void)count;
11158     *count += sizeof(VkStructureType);
11159     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11160         rootType = toCount->sType;
11161     }
11162     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11163     *count += sizeof(VkDeviceSize);
11164     count_VkAccelerationStructureInfoNV(featureBits, rootType,
11165                                         (VkAccelerationStructureInfoNV*)(&toCount->info), count);
11166 }
11167 
count_VkBindAccelerationStructureMemoryInfoNV(uint32_t featureBits,VkStructureType rootType,const VkBindAccelerationStructureMemoryInfoNV * toCount,size_t * count)11168 void count_VkBindAccelerationStructureMemoryInfoNV(
11169     uint32_t featureBits, VkStructureType rootType,
11170     const VkBindAccelerationStructureMemoryInfoNV* toCount, size_t* count) {
11171     (void)featureBits;
11172     (void)rootType;
11173     (void)toCount;
11174     (void)count;
11175     *count += sizeof(VkStructureType);
11176     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11177         rootType = toCount->sType;
11178     }
11179     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11180     uint64_t cgen_var_0;
11181     *count += 1 * 8;
11182     uint64_t cgen_var_1;
11183     *count += 1 * 8;
11184     *count += sizeof(VkDeviceSize);
11185     *count += sizeof(uint32_t);
11186     if (toCount) {
11187         *count += toCount->deviceIndexCount * sizeof(const uint32_t);
11188     }
11189 }
11190 
count_VkWriteDescriptorSetAccelerationStructureNV(uint32_t featureBits,VkStructureType rootType,const VkWriteDescriptorSetAccelerationStructureNV * toCount,size_t * count)11191 void count_VkWriteDescriptorSetAccelerationStructureNV(
11192     uint32_t featureBits, VkStructureType rootType,
11193     const VkWriteDescriptorSetAccelerationStructureNV* toCount, size_t* count) {
11194     (void)featureBits;
11195     (void)rootType;
11196     (void)toCount;
11197     (void)count;
11198     *count += sizeof(VkStructureType);
11199     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11200         rootType = toCount->sType;
11201     }
11202     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11203     *count += sizeof(uint32_t);
11204     // WARNING PTR CHECK
11205     *count += 8;
11206     if (toCount->pAccelerationStructures) {
11207         if (toCount->accelerationStructureCount) {
11208             *count += toCount->accelerationStructureCount * 8;
11209         }
11210     }
11211 }
11212 
count_VkAccelerationStructureMemoryRequirementsInfoNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureMemoryRequirementsInfoNV * toCount,size_t * count)11213 void count_VkAccelerationStructureMemoryRequirementsInfoNV(
11214     uint32_t featureBits, VkStructureType rootType,
11215     const VkAccelerationStructureMemoryRequirementsInfoNV* toCount, size_t* count) {
11216     (void)featureBits;
11217     (void)rootType;
11218     (void)toCount;
11219     (void)count;
11220     *count += sizeof(VkStructureType);
11221     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11222         rootType = toCount->sType;
11223     }
11224     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11225     *count += sizeof(VkAccelerationStructureMemoryRequirementsTypeNV);
11226     uint64_t cgen_var_0;
11227     *count += 1 * 8;
11228 }
11229 
count_VkPhysicalDeviceRayTracingPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingPropertiesNV * toCount,size_t * count)11230 void count_VkPhysicalDeviceRayTracingPropertiesNV(
11231     uint32_t featureBits, VkStructureType rootType,
11232     const VkPhysicalDeviceRayTracingPropertiesNV* toCount, size_t* count) {
11233     (void)featureBits;
11234     (void)rootType;
11235     (void)toCount;
11236     (void)count;
11237     *count += sizeof(VkStructureType);
11238     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11239         rootType = toCount->sType;
11240     }
11241     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11242     *count += sizeof(uint32_t);
11243     *count += sizeof(uint32_t);
11244     *count += sizeof(uint32_t);
11245     *count += sizeof(uint32_t);
11246     *count += sizeof(uint64_t);
11247     *count += sizeof(uint64_t);
11248     *count += sizeof(uint64_t);
11249     *count += sizeof(uint32_t);
11250 }
11251 
count_VkTransformMatrixKHR(uint32_t featureBits,VkStructureType rootType,const VkTransformMatrixKHR * toCount,size_t * count)11252 void count_VkTransformMatrixKHR(uint32_t featureBits, VkStructureType rootType,
11253                                 const VkTransformMatrixKHR* toCount, size_t* count) {
11254     (void)featureBits;
11255     (void)rootType;
11256     (void)toCount;
11257     (void)count;
11258     *count += ((3) * (4)) * sizeof(float);
11259 }
11260 
count_VkAabbPositionsKHR(uint32_t featureBits,VkStructureType rootType,const VkAabbPositionsKHR * toCount,size_t * count)11261 void count_VkAabbPositionsKHR(uint32_t featureBits, VkStructureType rootType,
11262                               const VkAabbPositionsKHR* toCount, size_t* count) {
11263     (void)featureBits;
11264     (void)rootType;
11265     (void)toCount;
11266     (void)count;
11267     *count += sizeof(float);
11268     *count += sizeof(float);
11269     *count += sizeof(float);
11270     *count += sizeof(float);
11271     *count += sizeof(float);
11272     *count += sizeof(float);
11273 }
11274 
count_VkAccelerationStructureInstanceKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureInstanceKHR * toCount,size_t * count)11275 void count_VkAccelerationStructureInstanceKHR(uint32_t featureBits, VkStructureType rootType,
11276                                               const VkAccelerationStructureInstanceKHR* toCount,
11277                                               size_t* count) {
11278     (void)featureBits;
11279     (void)rootType;
11280     (void)toCount;
11281     (void)count;
11282     count_VkTransformMatrixKHR(featureBits, rootType, (VkTransformMatrixKHR*)(&toCount->transform),
11283                                count);
11284     *count += sizeof(uint32_t);
11285     *count += sizeof(uint32_t);
11286     *count += sizeof(uint32_t);
11287     *count += sizeof(VkGeometryInstanceFlagsKHR);
11288     *count += sizeof(uint64_t);
11289 }
11290 
11291 #endif
11292 #ifdef VK_NV_representative_fragment_test
count_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV * toCount,size_t * count)11293 void count_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
11294     uint32_t featureBits, VkStructureType rootType,
11295     const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV* toCount, size_t* count) {
11296     (void)featureBits;
11297     (void)rootType;
11298     (void)toCount;
11299     (void)count;
11300     *count += sizeof(VkStructureType);
11301     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11302         rootType = toCount->sType;
11303     }
11304     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11305     *count += sizeof(VkBool32);
11306 }
11307 
count_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineRepresentativeFragmentTestStateCreateInfoNV * toCount,size_t * count)11308 void count_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
11309     uint32_t featureBits, VkStructureType rootType,
11310     const VkPipelineRepresentativeFragmentTestStateCreateInfoNV* toCount, size_t* count) {
11311     (void)featureBits;
11312     (void)rootType;
11313     (void)toCount;
11314     (void)count;
11315     *count += sizeof(VkStructureType);
11316     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11317         rootType = toCount->sType;
11318     }
11319     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11320     *count += sizeof(VkBool32);
11321 }
11322 
11323 #endif
11324 #ifdef VK_EXT_filter_cubic
count_VkPhysicalDeviceImageViewImageFormatInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageViewImageFormatInfoEXT * toCount,size_t * count)11325 void count_VkPhysicalDeviceImageViewImageFormatInfoEXT(
11326     uint32_t featureBits, VkStructureType rootType,
11327     const VkPhysicalDeviceImageViewImageFormatInfoEXT* toCount, size_t* count) {
11328     (void)featureBits;
11329     (void)rootType;
11330     (void)toCount;
11331     (void)count;
11332     *count += sizeof(VkStructureType);
11333     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11334         rootType = toCount->sType;
11335     }
11336     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11337     *count += sizeof(VkImageViewType);
11338 }
11339 
count_VkFilterCubicImageViewImageFormatPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkFilterCubicImageViewImageFormatPropertiesEXT * toCount,size_t * count)11340 void count_VkFilterCubicImageViewImageFormatPropertiesEXT(
11341     uint32_t featureBits, VkStructureType rootType,
11342     const VkFilterCubicImageViewImageFormatPropertiesEXT* toCount, size_t* count) {
11343     (void)featureBits;
11344     (void)rootType;
11345     (void)toCount;
11346     (void)count;
11347     *count += sizeof(VkStructureType);
11348     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11349         rootType = toCount->sType;
11350     }
11351     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11352     *count += sizeof(VkBool32);
11353     *count += sizeof(VkBool32);
11354 }
11355 
11356 #endif
11357 #ifdef VK_QCOM_render_pass_shader_resolve
11358 #endif
11359 #ifdef VK_EXT_global_priority
11360 #endif
11361 #ifdef VK_EXT_external_memory_host
count_VkImportMemoryHostPointerInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImportMemoryHostPointerInfoEXT * toCount,size_t * count)11362 void count_VkImportMemoryHostPointerInfoEXT(uint32_t featureBits, VkStructureType rootType,
11363                                             const VkImportMemoryHostPointerInfoEXT* toCount,
11364                                             size_t* count) {
11365     (void)featureBits;
11366     (void)rootType;
11367     (void)toCount;
11368     (void)count;
11369     *count += sizeof(VkStructureType);
11370     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11371         rootType = toCount->sType;
11372     }
11373     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11374     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
11375     // WARNING PTR CHECK
11376     *count += 8;
11377     if (toCount->pHostPointer) {
11378         *count += sizeof(uint8_t);
11379     }
11380 }
11381 
count_VkMemoryHostPointerPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkMemoryHostPointerPropertiesEXT * toCount,size_t * count)11382 void count_VkMemoryHostPointerPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
11383                                             const VkMemoryHostPointerPropertiesEXT* toCount,
11384                                             size_t* count) {
11385     (void)featureBits;
11386     (void)rootType;
11387     (void)toCount;
11388     (void)count;
11389     *count += sizeof(VkStructureType);
11390     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11391         rootType = toCount->sType;
11392     }
11393     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11394     *count += sizeof(uint32_t);
11395 }
11396 
count_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalMemoryHostPropertiesEXT * toCount,size_t * count)11397 void count_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
11398     uint32_t featureBits, VkStructureType rootType,
11399     const VkPhysicalDeviceExternalMemoryHostPropertiesEXT* toCount, size_t* count) {
11400     (void)featureBits;
11401     (void)rootType;
11402     (void)toCount;
11403     (void)count;
11404     *count += sizeof(VkStructureType);
11405     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11406         rootType = toCount->sType;
11407     }
11408     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11409     *count += sizeof(VkDeviceSize);
11410 }
11411 
11412 #endif
11413 #ifdef VK_AMD_buffer_marker
11414 #endif
11415 #ifdef VK_AMD_pipeline_compiler_control
count_VkPipelineCompilerControlCreateInfoAMD(uint32_t featureBits,VkStructureType rootType,const VkPipelineCompilerControlCreateInfoAMD * toCount,size_t * count)11416 void count_VkPipelineCompilerControlCreateInfoAMD(
11417     uint32_t featureBits, VkStructureType rootType,
11418     const VkPipelineCompilerControlCreateInfoAMD* toCount, size_t* count) {
11419     (void)featureBits;
11420     (void)rootType;
11421     (void)toCount;
11422     (void)count;
11423     *count += sizeof(VkStructureType);
11424     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11425         rootType = toCount->sType;
11426     }
11427     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11428     *count += sizeof(VkPipelineCompilerControlFlagsAMD);
11429 }
11430 
11431 #endif
11432 #ifdef VK_EXT_calibrated_timestamps
count_VkCalibratedTimestampInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCalibratedTimestampInfoEXT * toCount,size_t * count)11433 void count_VkCalibratedTimestampInfoEXT(uint32_t featureBits, VkStructureType rootType,
11434                                         const VkCalibratedTimestampInfoEXT* toCount,
11435                                         size_t* count) {
11436     (void)featureBits;
11437     (void)rootType;
11438     (void)toCount;
11439     (void)count;
11440     *count += sizeof(VkStructureType);
11441     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11442         rootType = toCount->sType;
11443     }
11444     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11445     *count += sizeof(VkTimeDomainEXT);
11446 }
11447 
11448 #endif
11449 #ifdef VK_AMD_shader_core_properties
count_VkPhysicalDeviceShaderCorePropertiesAMD(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderCorePropertiesAMD * toCount,size_t * count)11450 void count_VkPhysicalDeviceShaderCorePropertiesAMD(
11451     uint32_t featureBits, VkStructureType rootType,
11452     const VkPhysicalDeviceShaderCorePropertiesAMD* toCount, size_t* count) {
11453     (void)featureBits;
11454     (void)rootType;
11455     (void)toCount;
11456     (void)count;
11457     *count += sizeof(VkStructureType);
11458     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11459         rootType = toCount->sType;
11460     }
11461     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11462     *count += sizeof(uint32_t);
11463     *count += sizeof(uint32_t);
11464     *count += sizeof(uint32_t);
11465     *count += sizeof(uint32_t);
11466     *count += sizeof(uint32_t);
11467     *count += sizeof(uint32_t);
11468     *count += sizeof(uint32_t);
11469     *count += sizeof(uint32_t);
11470     *count += sizeof(uint32_t);
11471     *count += sizeof(uint32_t);
11472     *count += sizeof(uint32_t);
11473     *count += sizeof(uint32_t);
11474     *count += sizeof(uint32_t);
11475     *count += sizeof(uint32_t);
11476 }
11477 
11478 #endif
11479 #ifdef VK_AMD_memory_overallocation_behavior
count_VkDeviceMemoryOverallocationCreateInfoAMD(uint32_t featureBits,VkStructureType rootType,const VkDeviceMemoryOverallocationCreateInfoAMD * toCount,size_t * count)11480 void count_VkDeviceMemoryOverallocationCreateInfoAMD(
11481     uint32_t featureBits, VkStructureType rootType,
11482     const VkDeviceMemoryOverallocationCreateInfoAMD* toCount, size_t* count) {
11483     (void)featureBits;
11484     (void)rootType;
11485     (void)toCount;
11486     (void)count;
11487     *count += sizeof(VkStructureType);
11488     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11489         rootType = toCount->sType;
11490     }
11491     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11492     *count += sizeof(VkMemoryOverallocationBehaviorAMD);
11493 }
11494 
11495 #endif
11496 #ifdef VK_EXT_vertex_attribute_divisor
count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * toCount,size_t * count)11497 void count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
11498     uint32_t featureBits, VkStructureType rootType,
11499     const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toCount, size_t* count) {
11500     (void)featureBits;
11501     (void)rootType;
11502     (void)toCount;
11503     (void)count;
11504     *count += sizeof(VkStructureType);
11505     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11506         rootType = toCount->sType;
11507     }
11508     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11509     *count += sizeof(uint32_t);
11510 }
11511 
count_VkVertexInputBindingDivisorDescriptionEXT(uint32_t featureBits,VkStructureType rootType,const VkVertexInputBindingDivisorDescriptionEXT * toCount,size_t * count)11512 void count_VkVertexInputBindingDivisorDescriptionEXT(
11513     uint32_t featureBits, VkStructureType rootType,
11514     const VkVertexInputBindingDivisorDescriptionEXT* toCount, size_t* count) {
11515     (void)featureBits;
11516     (void)rootType;
11517     (void)toCount;
11518     (void)count;
11519     *count += sizeof(uint32_t);
11520     *count += sizeof(uint32_t);
11521 }
11522 
count_VkPipelineVertexInputDivisorStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineVertexInputDivisorStateCreateInfoEXT * toCount,size_t * count)11523 void count_VkPipelineVertexInputDivisorStateCreateInfoEXT(
11524     uint32_t featureBits, VkStructureType rootType,
11525     const VkPipelineVertexInputDivisorStateCreateInfoEXT* toCount, size_t* count) {
11526     (void)featureBits;
11527     (void)rootType;
11528     (void)toCount;
11529     (void)count;
11530     *count += sizeof(VkStructureType);
11531     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11532         rootType = toCount->sType;
11533     }
11534     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11535     *count += sizeof(uint32_t);
11536     if (toCount) {
11537         for (uint32_t i = 0; i < (uint32_t)toCount->vertexBindingDivisorCount; ++i) {
11538             count_VkVertexInputBindingDivisorDescriptionEXT(
11539                 featureBits, rootType,
11540                 (const VkVertexInputBindingDivisorDescriptionEXT*)(toCount->pVertexBindingDivisors +
11541                                                                    i),
11542                 count);
11543         }
11544     }
11545 }
11546 
count_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT * toCount,size_t * count)11547 void count_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
11548     uint32_t featureBits, VkStructureType rootType,
11549     const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT* toCount, size_t* count) {
11550     (void)featureBits;
11551     (void)rootType;
11552     (void)toCount;
11553     (void)count;
11554     *count += sizeof(VkStructureType);
11555     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11556         rootType = toCount->sType;
11557     }
11558     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11559     *count += sizeof(VkBool32);
11560     *count += sizeof(VkBool32);
11561 }
11562 
11563 #endif
11564 #ifdef VK_GGP_frame_token
count_VkPresentFrameTokenGGP(uint32_t featureBits,VkStructureType rootType,const VkPresentFrameTokenGGP * toCount,size_t * count)11565 void count_VkPresentFrameTokenGGP(uint32_t featureBits, VkStructureType rootType,
11566                                   const VkPresentFrameTokenGGP* toCount, size_t* count) {
11567     (void)featureBits;
11568     (void)rootType;
11569     (void)toCount;
11570     (void)count;
11571     *count += sizeof(VkStructureType);
11572     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11573         rootType = toCount->sType;
11574     }
11575     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11576     *count += sizeof(GgpFrameToken);
11577 }
11578 
11579 #endif
11580 #ifdef VK_EXT_pipeline_creation_feedback
11581 #endif
11582 #ifdef VK_NV_shader_subgroup_partitioned
11583 #endif
11584 #ifdef VK_NV_compute_shader_derivatives
count_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV * toCount,size_t * count)11585 void count_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
11586     uint32_t featureBits, VkStructureType rootType,
11587     const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV* toCount, size_t* count) {
11588     (void)featureBits;
11589     (void)rootType;
11590     (void)toCount;
11591     (void)count;
11592     *count += sizeof(VkStructureType);
11593     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11594         rootType = toCount->sType;
11595     }
11596     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11597     *count += sizeof(VkBool32);
11598     *count += sizeof(VkBool32);
11599 }
11600 
11601 #endif
11602 #ifdef VK_NV_mesh_shader
count_VkPhysicalDeviceMeshShaderFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMeshShaderFeaturesNV * toCount,size_t * count)11603 void count_VkPhysicalDeviceMeshShaderFeaturesNV(uint32_t featureBits, VkStructureType rootType,
11604                                                 const VkPhysicalDeviceMeshShaderFeaturesNV* toCount,
11605                                                 size_t* count) {
11606     (void)featureBits;
11607     (void)rootType;
11608     (void)toCount;
11609     (void)count;
11610     *count += sizeof(VkStructureType);
11611     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11612         rootType = toCount->sType;
11613     }
11614     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11615     *count += sizeof(VkBool32);
11616     *count += sizeof(VkBool32);
11617 }
11618 
count_VkPhysicalDeviceMeshShaderPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMeshShaderPropertiesNV * toCount,size_t * count)11619 void count_VkPhysicalDeviceMeshShaderPropertiesNV(
11620     uint32_t featureBits, VkStructureType rootType,
11621     const VkPhysicalDeviceMeshShaderPropertiesNV* toCount, size_t* count) {
11622     (void)featureBits;
11623     (void)rootType;
11624     (void)toCount;
11625     (void)count;
11626     *count += sizeof(VkStructureType);
11627     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11628         rootType = toCount->sType;
11629     }
11630     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11631     *count += sizeof(uint32_t);
11632     *count += sizeof(uint32_t);
11633     *count += 3 * sizeof(uint32_t);
11634     *count += sizeof(uint32_t);
11635     *count += sizeof(uint32_t);
11636     *count += sizeof(uint32_t);
11637     *count += 3 * sizeof(uint32_t);
11638     *count += sizeof(uint32_t);
11639     *count += sizeof(uint32_t);
11640     *count += sizeof(uint32_t);
11641     *count += sizeof(uint32_t);
11642     *count += sizeof(uint32_t);
11643     *count += sizeof(uint32_t);
11644 }
11645 
count_VkDrawMeshTasksIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkDrawMeshTasksIndirectCommandNV * toCount,size_t * count)11646 void count_VkDrawMeshTasksIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
11647                                             const VkDrawMeshTasksIndirectCommandNV* toCount,
11648                                             size_t* count) {
11649     (void)featureBits;
11650     (void)rootType;
11651     (void)toCount;
11652     (void)count;
11653     *count += sizeof(uint32_t);
11654     *count += sizeof(uint32_t);
11655 }
11656 
11657 #endif
11658 #ifdef VK_NV_fragment_shader_barycentric
11659 #endif
11660 #ifdef VK_NV_shader_image_footprint
count_VkPhysicalDeviceShaderImageFootprintFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderImageFootprintFeaturesNV * toCount,size_t * count)11661 void count_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
11662     uint32_t featureBits, VkStructureType rootType,
11663     const VkPhysicalDeviceShaderImageFootprintFeaturesNV* toCount, size_t* count) {
11664     (void)featureBits;
11665     (void)rootType;
11666     (void)toCount;
11667     (void)count;
11668     *count += sizeof(VkStructureType);
11669     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11670         rootType = toCount->sType;
11671     }
11672     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11673     *count += sizeof(VkBool32);
11674 }
11675 
11676 #endif
11677 #ifdef VK_NV_scissor_exclusive
count_VkPipelineViewportExclusiveScissorStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportExclusiveScissorStateCreateInfoNV * toCount,size_t * count)11678 void count_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
11679     uint32_t featureBits, VkStructureType rootType,
11680     const VkPipelineViewportExclusiveScissorStateCreateInfoNV* toCount, size_t* count) {
11681     (void)featureBits;
11682     (void)rootType;
11683     (void)toCount;
11684     (void)count;
11685     *count += sizeof(VkStructureType);
11686     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11687         rootType = toCount->sType;
11688     }
11689     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11690     *count += sizeof(uint32_t);
11691     // WARNING PTR CHECK
11692     *count += 8;
11693     if (toCount->pExclusiveScissors) {
11694         if (toCount) {
11695             for (uint32_t i = 0; i < (uint32_t)toCount->exclusiveScissorCount; ++i) {
11696                 count_VkRect2D(featureBits, rootType,
11697                                (const VkRect2D*)(toCount->pExclusiveScissors + i), count);
11698             }
11699         }
11700     }
11701 }
11702 
count_VkPhysicalDeviceExclusiveScissorFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExclusiveScissorFeaturesNV * toCount,size_t * count)11703 void count_VkPhysicalDeviceExclusiveScissorFeaturesNV(
11704     uint32_t featureBits, VkStructureType rootType,
11705     const VkPhysicalDeviceExclusiveScissorFeaturesNV* toCount, size_t* count) {
11706     (void)featureBits;
11707     (void)rootType;
11708     (void)toCount;
11709     (void)count;
11710     *count += sizeof(VkStructureType);
11711     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11712         rootType = toCount->sType;
11713     }
11714     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11715     *count += sizeof(VkBool32);
11716 }
11717 
11718 #endif
11719 #ifdef VK_NV_device_diagnostic_checkpoints
count_VkQueueFamilyCheckpointPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyCheckpointPropertiesNV * toCount,size_t * count)11720 void count_VkQueueFamilyCheckpointPropertiesNV(uint32_t featureBits, VkStructureType rootType,
11721                                                const VkQueueFamilyCheckpointPropertiesNV* toCount,
11722                                                size_t* count) {
11723     (void)featureBits;
11724     (void)rootType;
11725     (void)toCount;
11726     (void)count;
11727     *count += sizeof(VkStructureType);
11728     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11729         rootType = toCount->sType;
11730     }
11731     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11732     *count += sizeof(VkPipelineStageFlags);
11733 }
11734 
count_VkCheckpointDataNV(uint32_t featureBits,VkStructureType rootType,const VkCheckpointDataNV * toCount,size_t * count)11735 void count_VkCheckpointDataNV(uint32_t featureBits, VkStructureType rootType,
11736                               const VkCheckpointDataNV* toCount, size_t* count) {
11737     (void)featureBits;
11738     (void)rootType;
11739     (void)toCount;
11740     (void)count;
11741     *count += sizeof(VkStructureType);
11742     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11743         rootType = toCount->sType;
11744     }
11745     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11746     *count += sizeof(VkPipelineStageFlagBits);
11747     // WARNING PTR CHECK
11748     *count += 8;
11749     if (toCount->pCheckpointMarker) {
11750         *count += sizeof(uint8_t);
11751     }
11752 }
11753 
11754 #endif
11755 #ifdef VK_INTEL_shader_integer_functions2
count_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL * toCount,size_t * count)11756 void count_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
11757     uint32_t featureBits, VkStructureType rootType,
11758     const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL* toCount, size_t* count) {
11759     (void)featureBits;
11760     (void)rootType;
11761     (void)toCount;
11762     (void)count;
11763     *count += sizeof(VkStructureType);
11764     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11765         rootType = toCount->sType;
11766     }
11767     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11768     *count += sizeof(VkBool32);
11769 }
11770 
11771 #endif
11772 #ifdef VK_INTEL_performance_query
count_VkPerformanceValueDataINTEL(uint32_t featureBits,VkStructureType rootType,const VkPerformanceValueDataINTEL * toCount,size_t * count)11773 void count_VkPerformanceValueDataINTEL(uint32_t featureBits, VkStructureType rootType,
11774                                        const VkPerformanceValueDataINTEL* toCount, size_t* count) {
11775     (void)featureBits;
11776     (void)rootType;
11777     (void)toCount;
11778     (void)count;
11779     *count += sizeof(uint32_t);
11780 }
11781 
count_VkPerformanceValueINTEL(uint32_t featureBits,VkStructureType rootType,const VkPerformanceValueINTEL * toCount,size_t * count)11782 void count_VkPerformanceValueINTEL(uint32_t featureBits, VkStructureType rootType,
11783                                    const VkPerformanceValueINTEL* toCount, size_t* count) {
11784     (void)featureBits;
11785     (void)rootType;
11786     (void)toCount;
11787     (void)count;
11788     *count += sizeof(VkPerformanceValueTypeINTEL);
11789     count_VkPerformanceValueDataINTEL(featureBits, rootType,
11790                                       (VkPerformanceValueDataINTEL*)(&toCount->data), count);
11791 }
11792 
count_VkInitializePerformanceApiInfoINTEL(uint32_t featureBits,VkStructureType rootType,const VkInitializePerformanceApiInfoINTEL * toCount,size_t * count)11793 void count_VkInitializePerformanceApiInfoINTEL(uint32_t featureBits, VkStructureType rootType,
11794                                                const VkInitializePerformanceApiInfoINTEL* toCount,
11795                                                size_t* count) {
11796     (void)featureBits;
11797     (void)rootType;
11798     (void)toCount;
11799     (void)count;
11800     *count += sizeof(VkStructureType);
11801     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11802         rootType = toCount->sType;
11803     }
11804     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11805     // WARNING PTR CHECK
11806     *count += 8;
11807     if (toCount->pUserData) {
11808         *count += sizeof(uint8_t);
11809     }
11810 }
11811 
count_VkQueryPoolPerformanceQueryCreateInfoINTEL(uint32_t featureBits,VkStructureType rootType,const VkQueryPoolPerformanceQueryCreateInfoINTEL * toCount,size_t * count)11812 void count_VkQueryPoolPerformanceQueryCreateInfoINTEL(
11813     uint32_t featureBits, VkStructureType rootType,
11814     const VkQueryPoolPerformanceQueryCreateInfoINTEL* toCount, size_t* count) {
11815     (void)featureBits;
11816     (void)rootType;
11817     (void)toCount;
11818     (void)count;
11819     *count += sizeof(VkStructureType);
11820     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11821         rootType = toCount->sType;
11822     }
11823     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11824     *count += sizeof(VkQueryPoolSamplingModeINTEL);
11825 }
11826 
count_VkPerformanceMarkerInfoINTEL(uint32_t featureBits,VkStructureType rootType,const VkPerformanceMarkerInfoINTEL * toCount,size_t * count)11827 void count_VkPerformanceMarkerInfoINTEL(uint32_t featureBits, VkStructureType rootType,
11828                                         const VkPerformanceMarkerInfoINTEL* toCount,
11829                                         size_t* count) {
11830     (void)featureBits;
11831     (void)rootType;
11832     (void)toCount;
11833     (void)count;
11834     *count += sizeof(VkStructureType);
11835     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11836         rootType = toCount->sType;
11837     }
11838     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11839     *count += sizeof(uint64_t);
11840 }
11841 
count_VkPerformanceStreamMarkerInfoINTEL(uint32_t featureBits,VkStructureType rootType,const VkPerformanceStreamMarkerInfoINTEL * toCount,size_t * count)11842 void count_VkPerformanceStreamMarkerInfoINTEL(uint32_t featureBits, VkStructureType rootType,
11843                                               const VkPerformanceStreamMarkerInfoINTEL* toCount,
11844                                               size_t* count) {
11845     (void)featureBits;
11846     (void)rootType;
11847     (void)toCount;
11848     (void)count;
11849     *count += sizeof(VkStructureType);
11850     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11851         rootType = toCount->sType;
11852     }
11853     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11854     *count += sizeof(uint32_t);
11855 }
11856 
count_VkPerformanceOverrideInfoINTEL(uint32_t featureBits,VkStructureType rootType,const VkPerformanceOverrideInfoINTEL * toCount,size_t * count)11857 void count_VkPerformanceOverrideInfoINTEL(uint32_t featureBits, VkStructureType rootType,
11858                                           const VkPerformanceOverrideInfoINTEL* toCount,
11859                                           size_t* count) {
11860     (void)featureBits;
11861     (void)rootType;
11862     (void)toCount;
11863     (void)count;
11864     *count += sizeof(VkStructureType);
11865     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11866         rootType = toCount->sType;
11867     }
11868     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11869     *count += sizeof(VkPerformanceOverrideTypeINTEL);
11870     *count += sizeof(VkBool32);
11871     *count += sizeof(uint64_t);
11872 }
11873 
count_VkPerformanceConfigurationAcquireInfoINTEL(uint32_t featureBits,VkStructureType rootType,const VkPerformanceConfigurationAcquireInfoINTEL * toCount,size_t * count)11874 void count_VkPerformanceConfigurationAcquireInfoINTEL(
11875     uint32_t featureBits, VkStructureType rootType,
11876     const VkPerformanceConfigurationAcquireInfoINTEL* toCount, size_t* count) {
11877     (void)featureBits;
11878     (void)rootType;
11879     (void)toCount;
11880     (void)count;
11881     *count += sizeof(VkStructureType);
11882     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11883         rootType = toCount->sType;
11884     }
11885     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11886     *count += sizeof(VkPerformanceConfigurationTypeINTEL);
11887 }
11888 
11889 #endif
11890 #ifdef VK_EXT_pci_bus_info
count_VkPhysicalDevicePCIBusInfoPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePCIBusInfoPropertiesEXT * toCount,size_t * count)11891 void count_VkPhysicalDevicePCIBusInfoPropertiesEXT(
11892     uint32_t featureBits, VkStructureType rootType,
11893     const VkPhysicalDevicePCIBusInfoPropertiesEXT* toCount, size_t* count) {
11894     (void)featureBits;
11895     (void)rootType;
11896     (void)toCount;
11897     (void)count;
11898     *count += sizeof(VkStructureType);
11899     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11900         rootType = toCount->sType;
11901     }
11902     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11903     *count += sizeof(uint32_t);
11904     *count += sizeof(uint32_t);
11905     *count += sizeof(uint32_t);
11906     *count += sizeof(uint32_t);
11907 }
11908 
11909 #endif
11910 #ifdef VK_AMD_display_native_hdr
count_VkDisplayNativeHdrSurfaceCapabilitiesAMD(uint32_t featureBits,VkStructureType rootType,const VkDisplayNativeHdrSurfaceCapabilitiesAMD * toCount,size_t * count)11911 void count_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
11912     uint32_t featureBits, VkStructureType rootType,
11913     const VkDisplayNativeHdrSurfaceCapabilitiesAMD* toCount, size_t* count) {
11914     (void)featureBits;
11915     (void)rootType;
11916     (void)toCount;
11917     (void)count;
11918     *count += sizeof(VkStructureType);
11919     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11920         rootType = toCount->sType;
11921     }
11922     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11923     *count += sizeof(VkBool32);
11924 }
11925 
count_VkSwapchainDisplayNativeHdrCreateInfoAMD(uint32_t featureBits,VkStructureType rootType,const VkSwapchainDisplayNativeHdrCreateInfoAMD * toCount,size_t * count)11926 void count_VkSwapchainDisplayNativeHdrCreateInfoAMD(
11927     uint32_t featureBits, VkStructureType rootType,
11928     const VkSwapchainDisplayNativeHdrCreateInfoAMD* toCount, size_t* count) {
11929     (void)featureBits;
11930     (void)rootType;
11931     (void)toCount;
11932     (void)count;
11933     *count += sizeof(VkStructureType);
11934     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11935         rootType = toCount->sType;
11936     }
11937     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11938     *count += sizeof(VkBool32);
11939 }
11940 
11941 #endif
11942 #ifdef VK_FUCHSIA_imagepipe_surface
count_VkImagePipeSurfaceCreateInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkImagePipeSurfaceCreateInfoFUCHSIA * toCount,size_t * count)11943 void count_VkImagePipeSurfaceCreateInfoFUCHSIA(uint32_t featureBits, VkStructureType rootType,
11944                                                const VkImagePipeSurfaceCreateInfoFUCHSIA* toCount,
11945                                                size_t* count) {
11946     (void)featureBits;
11947     (void)rootType;
11948     (void)toCount;
11949     (void)count;
11950     *count += sizeof(VkStructureType);
11951     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11952         rootType = toCount->sType;
11953     }
11954     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11955     *count += sizeof(VkImagePipeSurfaceCreateFlagsFUCHSIA);
11956     *count += sizeof(zx_handle_t);
11957 }
11958 
11959 #endif
11960 #ifdef VK_EXT_metal_surface
count_VkMetalSurfaceCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMetalSurfaceCreateInfoEXT * toCount,size_t * count)11961 void count_VkMetalSurfaceCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
11962                                        const VkMetalSurfaceCreateInfoEXT* toCount, size_t* count) {
11963     (void)featureBits;
11964     (void)rootType;
11965     (void)toCount;
11966     (void)count;
11967     *count += sizeof(VkStructureType);
11968     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11969         rootType = toCount->sType;
11970     }
11971     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11972     *count += sizeof(VkMetalSurfaceCreateFlagsEXT);
11973     // WARNING PTR CHECK
11974     *count += 8;
11975     if (toCount->pLayer) {
11976         *count += sizeof(const CAMetalLayer);
11977     }
11978 }
11979 
11980 #endif
11981 #ifdef VK_EXT_fragment_density_map
count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * toCount,size_t * count)11982 void count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
11983     uint32_t featureBits, VkStructureType rootType,
11984     const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* toCount, size_t* count) {
11985     (void)featureBits;
11986     (void)rootType;
11987     (void)toCount;
11988     (void)count;
11989     *count += sizeof(VkStructureType);
11990     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
11991         rootType = toCount->sType;
11992     }
11993     count_extension_struct(featureBits, rootType, toCount->pNext, count);
11994     *count += sizeof(VkBool32);
11995     *count += sizeof(VkBool32);
11996     *count += sizeof(VkBool32);
11997 }
11998 
count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * toCount,size_t * count)11999 void count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
12000     uint32_t featureBits, VkStructureType rootType,
12001     const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* toCount, size_t* count) {
12002     (void)featureBits;
12003     (void)rootType;
12004     (void)toCount;
12005     (void)count;
12006     *count += sizeof(VkStructureType);
12007     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12008         rootType = toCount->sType;
12009     }
12010     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12011     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minFragmentDensityTexelSize),
12012                      count);
12013     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxFragmentDensityTexelSize),
12014                      count);
12015     *count += sizeof(VkBool32);
12016 }
12017 
count_VkRenderPassFragmentDensityMapCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * toCount,size_t * count)12018 void count_VkRenderPassFragmentDensityMapCreateInfoEXT(
12019     uint32_t featureBits, VkStructureType rootType,
12020     const VkRenderPassFragmentDensityMapCreateInfoEXT* toCount, size_t* count) {
12021     (void)featureBits;
12022     (void)rootType;
12023     (void)toCount;
12024     (void)count;
12025     *count += sizeof(VkStructureType);
12026     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12027         rootType = toCount->sType;
12028     }
12029     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12030     count_VkAttachmentReference(featureBits, rootType,
12031                                 (VkAttachmentReference*)(&toCount->fragmentDensityMapAttachment),
12032                                 count);
12033 }
12034 
12035 #endif
12036 #ifdef VK_EXT_scalar_block_layout
12037 #endif
12038 #ifdef VK_GOOGLE_hlsl_functionality1
12039 #endif
12040 #ifdef VK_GOOGLE_decorate_string
12041 #endif
12042 #ifdef VK_EXT_subgroup_size_control
12043 #endif
12044 #ifdef VK_AMD_shader_core_properties2
count_VkPhysicalDeviceShaderCoreProperties2AMD(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderCoreProperties2AMD * toCount,size_t * count)12045 void count_VkPhysicalDeviceShaderCoreProperties2AMD(
12046     uint32_t featureBits, VkStructureType rootType,
12047     const VkPhysicalDeviceShaderCoreProperties2AMD* toCount, size_t* count) {
12048     (void)featureBits;
12049     (void)rootType;
12050     (void)toCount;
12051     (void)count;
12052     *count += sizeof(VkStructureType);
12053     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12054         rootType = toCount->sType;
12055     }
12056     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12057     *count += sizeof(VkShaderCorePropertiesFlagsAMD);
12058     *count += sizeof(uint32_t);
12059 }
12060 
12061 #endif
12062 #ifdef VK_AMD_device_coherent_memory
count_VkPhysicalDeviceCoherentMemoryFeaturesAMD(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCoherentMemoryFeaturesAMD * toCount,size_t * count)12063 void count_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
12064     uint32_t featureBits, VkStructureType rootType,
12065     const VkPhysicalDeviceCoherentMemoryFeaturesAMD* toCount, size_t* count) {
12066     (void)featureBits;
12067     (void)rootType;
12068     (void)toCount;
12069     (void)count;
12070     *count += sizeof(VkStructureType);
12071     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12072         rootType = toCount->sType;
12073     }
12074     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12075     *count += sizeof(VkBool32);
12076 }
12077 
12078 #endif
12079 #ifdef VK_EXT_shader_image_atomic_int64
count_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT * toCount,size_t * count)12080 void count_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
12081     uint32_t featureBits, VkStructureType rootType,
12082     const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* toCount, size_t* count) {
12083     (void)featureBits;
12084     (void)rootType;
12085     (void)toCount;
12086     (void)count;
12087     *count += sizeof(VkStructureType);
12088     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12089         rootType = toCount->sType;
12090     }
12091     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12092     *count += sizeof(VkBool32);
12093     *count += sizeof(VkBool32);
12094 }
12095 
12096 #endif
12097 #ifdef VK_EXT_memory_budget
count_VkPhysicalDeviceMemoryBudgetPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryBudgetPropertiesEXT * toCount,size_t * count)12098 void count_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
12099     uint32_t featureBits, VkStructureType rootType,
12100     const VkPhysicalDeviceMemoryBudgetPropertiesEXT* toCount, size_t* count) {
12101     (void)featureBits;
12102     (void)rootType;
12103     (void)toCount;
12104     (void)count;
12105     *count += sizeof(VkStructureType);
12106     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12107         rootType = toCount->sType;
12108     }
12109     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12110     *count += VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize);
12111     *count += VK_MAX_MEMORY_HEAPS * sizeof(VkDeviceSize);
12112 }
12113 
12114 #endif
12115 #ifdef VK_EXT_memory_priority
count_VkPhysicalDeviceMemoryPriorityFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryPriorityFeaturesEXT * toCount,size_t * count)12116 void count_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
12117     uint32_t featureBits, VkStructureType rootType,
12118     const VkPhysicalDeviceMemoryPriorityFeaturesEXT* toCount, size_t* count) {
12119     (void)featureBits;
12120     (void)rootType;
12121     (void)toCount;
12122     (void)count;
12123     *count += sizeof(VkStructureType);
12124     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12125         rootType = toCount->sType;
12126     }
12127     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12128     *count += sizeof(VkBool32);
12129 }
12130 
count_VkMemoryPriorityAllocateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMemoryPriorityAllocateInfoEXT * toCount,size_t * count)12131 void count_VkMemoryPriorityAllocateInfoEXT(uint32_t featureBits, VkStructureType rootType,
12132                                            const VkMemoryPriorityAllocateInfoEXT* toCount,
12133                                            size_t* count) {
12134     (void)featureBits;
12135     (void)rootType;
12136     (void)toCount;
12137     (void)count;
12138     *count += sizeof(VkStructureType);
12139     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12140         rootType = toCount->sType;
12141     }
12142     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12143     *count += sizeof(float);
12144 }
12145 
12146 #endif
12147 #ifdef VK_NV_dedicated_allocation_image_aliasing
count_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV * toCount,size_t * count)12148 void count_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
12149     uint32_t featureBits, VkStructureType rootType,
12150     const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* toCount, size_t* count) {
12151     (void)featureBits;
12152     (void)rootType;
12153     (void)toCount;
12154     (void)count;
12155     *count += sizeof(VkStructureType);
12156     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12157         rootType = toCount->sType;
12158     }
12159     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12160     *count += sizeof(VkBool32);
12161 }
12162 
12163 #endif
12164 #ifdef VK_EXT_buffer_device_address
count_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT * toCount,size_t * count)12165 void count_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
12166     uint32_t featureBits, VkStructureType rootType,
12167     const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT* toCount, size_t* count) {
12168     (void)featureBits;
12169     (void)rootType;
12170     (void)toCount;
12171     (void)count;
12172     *count += sizeof(VkStructureType);
12173     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12174         rootType = toCount->sType;
12175     }
12176     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12177     *count += sizeof(VkBool32);
12178     *count += sizeof(VkBool32);
12179     *count += sizeof(VkBool32);
12180 }
12181 
count_VkBufferDeviceAddressCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkBufferDeviceAddressCreateInfoEXT * toCount,size_t * count)12182 void count_VkBufferDeviceAddressCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
12183                                               const VkBufferDeviceAddressCreateInfoEXT* toCount,
12184                                               size_t* count) {
12185     (void)featureBits;
12186     (void)rootType;
12187     (void)toCount;
12188     (void)count;
12189     *count += sizeof(VkStructureType);
12190     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12191         rootType = toCount->sType;
12192     }
12193     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12194     *count += sizeof(VkDeviceAddress);
12195 }
12196 
12197 #endif
12198 #ifdef VK_EXT_tooling_info
12199 #endif
12200 #ifdef VK_EXT_separate_stencil_usage
12201 #endif
12202 #ifdef VK_EXT_validation_features
count_VkValidationFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkValidationFeaturesEXT * toCount,size_t * count)12203 void count_VkValidationFeaturesEXT(uint32_t featureBits, VkStructureType rootType,
12204                                    const VkValidationFeaturesEXT* toCount, size_t* count) {
12205     (void)featureBits;
12206     (void)rootType;
12207     (void)toCount;
12208     (void)count;
12209     *count += sizeof(VkStructureType);
12210     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12211         rootType = toCount->sType;
12212     }
12213     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12214     *count += sizeof(uint32_t);
12215     if (toCount) {
12216         *count +=
12217             toCount->enabledValidationFeatureCount * sizeof(const VkValidationFeatureEnableEXT);
12218     }
12219     *count += sizeof(uint32_t);
12220     if (toCount) {
12221         *count +=
12222             toCount->disabledValidationFeatureCount * sizeof(const VkValidationFeatureDisableEXT);
12223     }
12224 }
12225 
12226 #endif
12227 #ifdef VK_NV_cooperative_matrix
count_VkCooperativeMatrixPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkCooperativeMatrixPropertiesNV * toCount,size_t * count)12228 void count_VkCooperativeMatrixPropertiesNV(uint32_t featureBits, VkStructureType rootType,
12229                                            const VkCooperativeMatrixPropertiesNV* toCount,
12230                                            size_t* count) {
12231     (void)featureBits;
12232     (void)rootType;
12233     (void)toCount;
12234     (void)count;
12235     *count += sizeof(VkStructureType);
12236     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12237         rootType = toCount->sType;
12238     }
12239     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12240     *count += sizeof(uint32_t);
12241     *count += sizeof(uint32_t);
12242     *count += sizeof(uint32_t);
12243     *count += sizeof(VkComponentTypeNV);
12244     *count += sizeof(VkComponentTypeNV);
12245     *count += sizeof(VkComponentTypeNV);
12246     *count += sizeof(VkComponentTypeNV);
12247     *count += sizeof(VkScopeNV);
12248 }
12249 
count_VkPhysicalDeviceCooperativeMatrixFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCooperativeMatrixFeaturesNV * toCount,size_t * count)12250 void count_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
12251     uint32_t featureBits, VkStructureType rootType,
12252     const VkPhysicalDeviceCooperativeMatrixFeaturesNV* toCount, size_t* count) {
12253     (void)featureBits;
12254     (void)rootType;
12255     (void)toCount;
12256     (void)count;
12257     *count += sizeof(VkStructureType);
12258     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12259         rootType = toCount->sType;
12260     }
12261     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12262     *count += sizeof(VkBool32);
12263     *count += sizeof(VkBool32);
12264 }
12265 
count_VkPhysicalDeviceCooperativeMatrixPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCooperativeMatrixPropertiesNV * toCount,size_t * count)12266 void count_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
12267     uint32_t featureBits, VkStructureType rootType,
12268     const VkPhysicalDeviceCooperativeMatrixPropertiesNV* toCount, size_t* count) {
12269     (void)featureBits;
12270     (void)rootType;
12271     (void)toCount;
12272     (void)count;
12273     *count += sizeof(VkStructureType);
12274     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12275         rootType = toCount->sType;
12276     }
12277     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12278     *count += sizeof(VkShaderStageFlags);
12279 }
12280 
12281 #endif
12282 #ifdef VK_NV_coverage_reduction_mode
count_VkPhysicalDeviceCoverageReductionModeFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCoverageReductionModeFeaturesNV * toCount,size_t * count)12283 void count_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
12284     uint32_t featureBits, VkStructureType rootType,
12285     const VkPhysicalDeviceCoverageReductionModeFeaturesNV* toCount, size_t* count) {
12286     (void)featureBits;
12287     (void)rootType;
12288     (void)toCount;
12289     (void)count;
12290     *count += sizeof(VkStructureType);
12291     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12292         rootType = toCount->sType;
12293     }
12294     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12295     *count += sizeof(VkBool32);
12296 }
12297 
count_VkPipelineCoverageReductionStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineCoverageReductionStateCreateInfoNV * toCount,size_t * count)12298 void count_VkPipelineCoverageReductionStateCreateInfoNV(
12299     uint32_t featureBits, VkStructureType rootType,
12300     const VkPipelineCoverageReductionStateCreateInfoNV* toCount, size_t* count) {
12301     (void)featureBits;
12302     (void)rootType;
12303     (void)toCount;
12304     (void)count;
12305     *count += sizeof(VkStructureType);
12306     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12307         rootType = toCount->sType;
12308     }
12309     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12310     *count += sizeof(VkPipelineCoverageReductionStateCreateFlagsNV);
12311     *count += sizeof(VkCoverageReductionModeNV);
12312 }
12313 
count_VkFramebufferMixedSamplesCombinationNV(uint32_t featureBits,VkStructureType rootType,const VkFramebufferMixedSamplesCombinationNV * toCount,size_t * count)12314 void count_VkFramebufferMixedSamplesCombinationNV(
12315     uint32_t featureBits, VkStructureType rootType,
12316     const VkFramebufferMixedSamplesCombinationNV* toCount, size_t* count) {
12317     (void)featureBits;
12318     (void)rootType;
12319     (void)toCount;
12320     (void)count;
12321     *count += sizeof(VkStructureType);
12322     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12323         rootType = toCount->sType;
12324     }
12325     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12326     *count += sizeof(VkCoverageReductionModeNV);
12327     *count += sizeof(VkSampleCountFlagBits);
12328     *count += sizeof(VkSampleCountFlags);
12329     *count += sizeof(VkSampleCountFlags);
12330 }
12331 
12332 #endif
12333 #ifdef VK_EXT_fragment_shader_interlock
count_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT * toCount,size_t * count)12334 void count_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
12335     uint32_t featureBits, VkStructureType rootType,
12336     const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT* toCount, size_t* count) {
12337     (void)featureBits;
12338     (void)rootType;
12339     (void)toCount;
12340     (void)count;
12341     *count += sizeof(VkStructureType);
12342     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12343         rootType = toCount->sType;
12344     }
12345     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12346     *count += sizeof(VkBool32);
12347     *count += sizeof(VkBool32);
12348     *count += sizeof(VkBool32);
12349 }
12350 
12351 #endif
12352 #ifdef VK_EXT_ycbcr_image_arrays
count_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT * toCount,size_t * count)12353 void count_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
12354     uint32_t featureBits, VkStructureType rootType,
12355     const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT* toCount, size_t* count) {
12356     (void)featureBits;
12357     (void)rootType;
12358     (void)toCount;
12359     (void)count;
12360     *count += sizeof(VkStructureType);
12361     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12362         rootType = toCount->sType;
12363     }
12364     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12365     *count += sizeof(VkBool32);
12366 }
12367 
12368 #endif
12369 #ifdef VK_EXT_provoking_vertex
count_VkPhysicalDeviceProvokingVertexFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * toCount,size_t * count)12370 void count_VkPhysicalDeviceProvokingVertexFeaturesEXT(
12371     uint32_t featureBits, VkStructureType rootType,
12372     const VkPhysicalDeviceProvokingVertexFeaturesEXT* toCount, size_t* count) {
12373     (void)featureBits;
12374     (void)rootType;
12375     (void)toCount;
12376     (void)count;
12377     *count += sizeof(VkStructureType);
12378     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12379         rootType = toCount->sType;
12380     }
12381     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12382     *count += sizeof(VkBool32);
12383     *count += sizeof(VkBool32);
12384 }
12385 
count_VkPhysicalDeviceProvokingVertexPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * toCount,size_t * count)12386 void count_VkPhysicalDeviceProvokingVertexPropertiesEXT(
12387     uint32_t featureBits, VkStructureType rootType,
12388     const VkPhysicalDeviceProvokingVertexPropertiesEXT* toCount, size_t* count) {
12389     (void)featureBits;
12390     (void)rootType;
12391     (void)toCount;
12392     (void)count;
12393     *count += sizeof(VkStructureType);
12394     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12395         rootType = toCount->sType;
12396     }
12397     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12398     *count += sizeof(VkBool32);
12399     *count += sizeof(VkBool32);
12400 }
12401 
count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * toCount,size_t * count)12402 void count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
12403     uint32_t featureBits, VkStructureType rootType,
12404     const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* toCount, size_t* count) {
12405     (void)featureBits;
12406     (void)rootType;
12407     (void)toCount;
12408     (void)count;
12409     *count += sizeof(VkStructureType);
12410     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12411         rootType = toCount->sType;
12412     }
12413     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12414     *count += sizeof(VkProvokingVertexModeEXT);
12415 }
12416 
12417 #endif
12418 #ifdef VK_EXT_full_screen_exclusive
count_VkSurfaceFullScreenExclusiveInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSurfaceFullScreenExclusiveInfoEXT * toCount,size_t * count)12419 void count_VkSurfaceFullScreenExclusiveInfoEXT(uint32_t featureBits, VkStructureType rootType,
12420                                                const VkSurfaceFullScreenExclusiveInfoEXT* toCount,
12421                                                size_t* count) {
12422     (void)featureBits;
12423     (void)rootType;
12424     (void)toCount;
12425     (void)count;
12426     *count += sizeof(VkStructureType);
12427     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12428         rootType = toCount->sType;
12429     }
12430     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12431     *count += sizeof(VkFullScreenExclusiveEXT);
12432 }
12433 
count_VkSurfaceCapabilitiesFullScreenExclusiveEXT(uint32_t featureBits,VkStructureType rootType,const VkSurfaceCapabilitiesFullScreenExclusiveEXT * toCount,size_t * count)12434 void count_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
12435     uint32_t featureBits, VkStructureType rootType,
12436     const VkSurfaceCapabilitiesFullScreenExclusiveEXT* toCount, size_t* count) {
12437     (void)featureBits;
12438     (void)rootType;
12439     (void)toCount;
12440     (void)count;
12441     *count += sizeof(VkStructureType);
12442     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12443         rootType = toCount->sType;
12444     }
12445     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12446     *count += sizeof(VkBool32);
12447 }
12448 
count_VkSurfaceFullScreenExclusiveWin32InfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSurfaceFullScreenExclusiveWin32InfoEXT * toCount,size_t * count)12449 void count_VkSurfaceFullScreenExclusiveWin32InfoEXT(
12450     uint32_t featureBits, VkStructureType rootType,
12451     const VkSurfaceFullScreenExclusiveWin32InfoEXT* toCount, size_t* count) {
12452     (void)featureBits;
12453     (void)rootType;
12454     (void)toCount;
12455     (void)count;
12456     *count += sizeof(VkStructureType);
12457     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12458         rootType = toCount->sType;
12459     }
12460     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12461     *count += sizeof(HMONITOR);
12462 }
12463 
12464 #endif
12465 #ifdef VK_EXT_headless_surface
count_VkHeadlessSurfaceCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkHeadlessSurfaceCreateInfoEXT * toCount,size_t * count)12466 void count_VkHeadlessSurfaceCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
12467                                           const VkHeadlessSurfaceCreateInfoEXT* toCount,
12468                                           size_t* count) {
12469     (void)featureBits;
12470     (void)rootType;
12471     (void)toCount;
12472     (void)count;
12473     *count += sizeof(VkStructureType);
12474     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12475         rootType = toCount->sType;
12476     }
12477     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12478     *count += sizeof(VkHeadlessSurfaceCreateFlagsEXT);
12479 }
12480 
12481 #endif
12482 #ifdef VK_EXT_line_rasterization
count_VkPhysicalDeviceLineRasterizationFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeaturesEXT * toCount,size_t * count)12483 void count_VkPhysicalDeviceLineRasterizationFeaturesEXT(
12484     uint32_t featureBits, VkStructureType rootType,
12485     const VkPhysicalDeviceLineRasterizationFeaturesEXT* toCount, size_t* count) {
12486     (void)featureBits;
12487     (void)rootType;
12488     (void)toCount;
12489     (void)count;
12490     *count += sizeof(VkStructureType);
12491     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12492         rootType = toCount->sType;
12493     }
12494     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12495     *count += sizeof(VkBool32);
12496     *count += sizeof(VkBool32);
12497     *count += sizeof(VkBool32);
12498     *count += sizeof(VkBool32);
12499     *count += sizeof(VkBool32);
12500     *count += sizeof(VkBool32);
12501 }
12502 
count_VkPhysicalDeviceLineRasterizationPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationPropertiesEXT * toCount,size_t * count)12503 void count_VkPhysicalDeviceLineRasterizationPropertiesEXT(
12504     uint32_t featureBits, VkStructureType rootType,
12505     const VkPhysicalDeviceLineRasterizationPropertiesEXT* toCount, size_t* count) {
12506     (void)featureBits;
12507     (void)rootType;
12508     (void)toCount;
12509     (void)count;
12510     *count += sizeof(VkStructureType);
12511     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12512         rootType = toCount->sType;
12513     }
12514     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12515     *count += sizeof(uint32_t);
12516 }
12517 
count_VkPipelineRasterizationLineStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfoEXT * toCount,size_t * count)12518 void count_VkPipelineRasterizationLineStateCreateInfoEXT(
12519     uint32_t featureBits, VkStructureType rootType,
12520     const VkPipelineRasterizationLineStateCreateInfoEXT* toCount, size_t* count) {
12521     (void)featureBits;
12522     (void)rootType;
12523     (void)toCount;
12524     (void)count;
12525     *count += sizeof(VkStructureType);
12526     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12527         rootType = toCount->sType;
12528     }
12529     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12530     *count += sizeof(VkLineRasterizationModeEXT);
12531     *count += sizeof(VkBool32);
12532     *count += sizeof(uint32_t);
12533     *count += sizeof(uint16_t);
12534 }
12535 
12536 #endif
12537 #ifdef VK_EXT_shader_atomic_float
count_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT * toCount,size_t * count)12538 void count_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
12539     uint32_t featureBits, VkStructureType rootType,
12540     const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* toCount, size_t* count) {
12541     (void)featureBits;
12542     (void)rootType;
12543     (void)toCount;
12544     (void)count;
12545     *count += sizeof(VkStructureType);
12546     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12547         rootType = toCount->sType;
12548     }
12549     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12550     *count += sizeof(VkBool32);
12551     *count += sizeof(VkBool32);
12552     *count += sizeof(VkBool32);
12553     *count += sizeof(VkBool32);
12554     *count += sizeof(VkBool32);
12555     *count += sizeof(VkBool32);
12556     *count += sizeof(VkBool32);
12557     *count += sizeof(VkBool32);
12558     *count += sizeof(VkBool32);
12559     *count += sizeof(VkBool32);
12560     *count += sizeof(VkBool32);
12561     *count += sizeof(VkBool32);
12562 }
12563 
12564 #endif
12565 #ifdef VK_EXT_host_query_reset
12566 #endif
12567 #ifdef VK_EXT_index_type_uint8
count_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceIndexTypeUint8FeaturesEXT * toCount,size_t * count)12568 void count_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
12569     uint32_t featureBits, VkStructureType rootType,
12570     const VkPhysicalDeviceIndexTypeUint8FeaturesEXT* toCount, size_t* count) {
12571     (void)featureBits;
12572     (void)rootType;
12573     (void)toCount;
12574     (void)count;
12575     *count += sizeof(VkStructureType);
12576     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12577         rootType = toCount->sType;
12578     }
12579     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12580     *count += sizeof(VkBool32);
12581 }
12582 
12583 #endif
12584 #ifdef VK_EXT_extended_dynamic_state
count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * toCount,size_t * count)12585 void count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
12586     uint32_t featureBits, VkStructureType rootType,
12587     const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* toCount, size_t* count) {
12588     (void)featureBits;
12589     (void)rootType;
12590     (void)toCount;
12591     (void)count;
12592     *count += sizeof(VkStructureType);
12593     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12594         rootType = toCount->sType;
12595     }
12596     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12597     *count += sizeof(VkBool32);
12598 }
12599 
12600 #endif
12601 #ifdef VK_EXT_shader_atomic_float2
count_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT * toCount,size_t * count)12602 void count_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(
12603     uint32_t featureBits, VkStructureType rootType,
12604     const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* toCount, size_t* count) {
12605     (void)featureBits;
12606     (void)rootType;
12607     (void)toCount;
12608     (void)count;
12609     *count += sizeof(VkStructureType);
12610     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12611         rootType = toCount->sType;
12612     }
12613     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12614     *count += sizeof(VkBool32);
12615     *count += sizeof(VkBool32);
12616     *count += sizeof(VkBool32);
12617     *count += sizeof(VkBool32);
12618     *count += sizeof(VkBool32);
12619     *count += sizeof(VkBool32);
12620     *count += sizeof(VkBool32);
12621     *count += sizeof(VkBool32);
12622     *count += sizeof(VkBool32);
12623     *count += sizeof(VkBool32);
12624     *count += sizeof(VkBool32);
12625     *count += sizeof(VkBool32);
12626 }
12627 
12628 #endif
12629 #ifdef VK_EXT_surface_maintenance1
count_VkSurfacePresentModeEXT(uint32_t featureBits,VkStructureType rootType,const VkSurfacePresentModeEXT * toCount,size_t * count)12630 void count_VkSurfacePresentModeEXT(uint32_t featureBits, VkStructureType rootType,
12631                                    const VkSurfacePresentModeEXT* toCount, size_t* count) {
12632     (void)featureBits;
12633     (void)rootType;
12634     (void)toCount;
12635     (void)count;
12636     *count += sizeof(VkStructureType);
12637     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12638         rootType = toCount->sType;
12639     }
12640     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12641     *count += sizeof(VkPresentModeKHR);
12642 }
12643 
count_VkSurfacePresentScalingCapabilitiesEXT(uint32_t featureBits,VkStructureType rootType,const VkSurfacePresentScalingCapabilitiesEXT * toCount,size_t * count)12644 void count_VkSurfacePresentScalingCapabilitiesEXT(
12645     uint32_t featureBits, VkStructureType rootType,
12646     const VkSurfacePresentScalingCapabilitiesEXT* toCount, size_t* count) {
12647     (void)featureBits;
12648     (void)rootType;
12649     (void)toCount;
12650     (void)count;
12651     *count += sizeof(VkStructureType);
12652     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12653         rootType = toCount->sType;
12654     }
12655     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12656     *count += sizeof(VkPresentScalingFlagsEXT);
12657     *count += sizeof(VkPresentGravityFlagsEXT);
12658     *count += sizeof(VkPresentGravityFlagsEXT);
12659     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minScaledImageExtent), count);
12660     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxScaledImageExtent), count);
12661 }
12662 
count_VkSurfacePresentModeCompatibilityEXT(uint32_t featureBits,VkStructureType rootType,const VkSurfacePresentModeCompatibilityEXT * toCount,size_t * count)12663 void count_VkSurfacePresentModeCompatibilityEXT(uint32_t featureBits, VkStructureType rootType,
12664                                                 const VkSurfacePresentModeCompatibilityEXT* toCount,
12665                                                 size_t* count) {
12666     (void)featureBits;
12667     (void)rootType;
12668     (void)toCount;
12669     (void)count;
12670     *count += sizeof(VkStructureType);
12671     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12672         rootType = toCount->sType;
12673     }
12674     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12675     *count += sizeof(uint32_t);
12676     // WARNING PTR CHECK
12677     *count += 8;
12678     if (toCount->pPresentModes) {
12679         if (toCount) {
12680             *count += toCount->presentModeCount * sizeof(VkPresentModeKHR);
12681         }
12682     }
12683 }
12684 
12685 #endif
12686 #ifdef VK_EXT_swapchain_maintenance1
count_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT * toCount,size_t * count)12687 void count_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
12688     uint32_t featureBits, VkStructureType rootType,
12689     const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* toCount, size_t* count) {
12690     (void)featureBits;
12691     (void)rootType;
12692     (void)toCount;
12693     (void)count;
12694     *count += sizeof(VkStructureType);
12695     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12696         rootType = toCount->sType;
12697     }
12698     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12699     *count += sizeof(VkBool32);
12700 }
12701 
count_VkSwapchainPresentFenceInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSwapchainPresentFenceInfoEXT * toCount,size_t * count)12702 void count_VkSwapchainPresentFenceInfoEXT(uint32_t featureBits, VkStructureType rootType,
12703                                           const VkSwapchainPresentFenceInfoEXT* toCount,
12704                                           size_t* count) {
12705     (void)featureBits;
12706     (void)rootType;
12707     (void)toCount;
12708     (void)count;
12709     *count += sizeof(VkStructureType);
12710     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12711         rootType = toCount->sType;
12712     }
12713     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12714     *count += sizeof(uint32_t);
12715     if (toCount->swapchainCount) {
12716         *count += toCount->swapchainCount * 8;
12717     }
12718 }
12719 
count_VkSwapchainPresentModesCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSwapchainPresentModesCreateInfoEXT * toCount,size_t * count)12720 void count_VkSwapchainPresentModesCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
12721                                                 const VkSwapchainPresentModesCreateInfoEXT* toCount,
12722                                                 size_t* count) {
12723     (void)featureBits;
12724     (void)rootType;
12725     (void)toCount;
12726     (void)count;
12727     *count += sizeof(VkStructureType);
12728     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12729         rootType = toCount->sType;
12730     }
12731     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12732     *count += sizeof(uint32_t);
12733     if (toCount) {
12734         *count += toCount->presentModeCount * sizeof(const VkPresentModeKHR);
12735     }
12736 }
12737 
count_VkSwapchainPresentModeInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSwapchainPresentModeInfoEXT * toCount,size_t * count)12738 void count_VkSwapchainPresentModeInfoEXT(uint32_t featureBits, VkStructureType rootType,
12739                                          const VkSwapchainPresentModeInfoEXT* toCount,
12740                                          size_t* count) {
12741     (void)featureBits;
12742     (void)rootType;
12743     (void)toCount;
12744     (void)count;
12745     *count += sizeof(VkStructureType);
12746     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12747         rootType = toCount->sType;
12748     }
12749     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12750     *count += sizeof(uint32_t);
12751     if (toCount) {
12752         *count += toCount->swapchainCount * sizeof(const VkPresentModeKHR);
12753     }
12754 }
12755 
count_VkSwapchainPresentScalingCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSwapchainPresentScalingCreateInfoEXT * toCount,size_t * count)12756 void count_VkSwapchainPresentScalingCreateInfoEXT(
12757     uint32_t featureBits, VkStructureType rootType,
12758     const VkSwapchainPresentScalingCreateInfoEXT* toCount, size_t* count) {
12759     (void)featureBits;
12760     (void)rootType;
12761     (void)toCount;
12762     (void)count;
12763     *count += sizeof(VkStructureType);
12764     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12765         rootType = toCount->sType;
12766     }
12767     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12768     *count += sizeof(VkPresentScalingFlagsEXT);
12769     *count += sizeof(VkPresentGravityFlagsEXT);
12770     *count += sizeof(VkPresentGravityFlagsEXT);
12771 }
12772 
count_VkReleaseSwapchainImagesInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkReleaseSwapchainImagesInfoEXT * toCount,size_t * count)12773 void count_VkReleaseSwapchainImagesInfoEXT(uint32_t featureBits, VkStructureType rootType,
12774                                            const VkReleaseSwapchainImagesInfoEXT* toCount,
12775                                            size_t* count) {
12776     (void)featureBits;
12777     (void)rootType;
12778     (void)toCount;
12779     (void)count;
12780     *count += sizeof(VkStructureType);
12781     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12782         rootType = toCount->sType;
12783     }
12784     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12785     uint64_t cgen_var_0;
12786     *count += 1 * 8;
12787     *count += sizeof(uint32_t);
12788     if (toCount) {
12789         *count += toCount->imageIndexCount * sizeof(const uint32_t);
12790     }
12791 }
12792 
12793 #endif
12794 #ifdef VK_EXT_shader_demote_to_helper_invocation
12795 #endif
12796 #ifdef VK_NV_device_generated_commands
count_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV * toCount,size_t * count)12797 void count_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
12798     uint32_t featureBits, VkStructureType rootType,
12799     const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* toCount, size_t* count) {
12800     (void)featureBits;
12801     (void)rootType;
12802     (void)toCount;
12803     (void)count;
12804     *count += sizeof(VkStructureType);
12805     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12806         rootType = toCount->sType;
12807     }
12808     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12809     *count += sizeof(uint32_t);
12810     *count += sizeof(uint32_t);
12811     *count += sizeof(uint32_t);
12812     *count += sizeof(uint32_t);
12813     *count += sizeof(uint32_t);
12814     *count += sizeof(uint32_t);
12815     *count += sizeof(uint32_t);
12816     *count += sizeof(uint32_t);
12817     *count += sizeof(uint32_t);
12818 }
12819 
count_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV * toCount,size_t * count)12820 void count_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
12821     uint32_t featureBits, VkStructureType rootType,
12822     const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV* toCount, size_t* count) {
12823     (void)featureBits;
12824     (void)rootType;
12825     (void)toCount;
12826     (void)count;
12827     *count += sizeof(VkStructureType);
12828     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12829         rootType = toCount->sType;
12830     }
12831     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12832     *count += sizeof(VkBool32);
12833 }
12834 
count_VkGraphicsShaderGroupCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkGraphicsShaderGroupCreateInfoNV * toCount,size_t * count)12835 void count_VkGraphicsShaderGroupCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
12836                                              const VkGraphicsShaderGroupCreateInfoNV* toCount,
12837                                              size_t* count) {
12838     (void)featureBits;
12839     (void)rootType;
12840     (void)toCount;
12841     (void)count;
12842     *count += sizeof(VkStructureType);
12843     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12844         rootType = toCount->sType;
12845     }
12846     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12847     *count += sizeof(uint32_t);
12848     if (toCount) {
12849         for (uint32_t i = 0; i < (uint32_t)toCount->stageCount; ++i) {
12850             count_VkPipelineShaderStageCreateInfo(
12851                 featureBits, rootType,
12852                 (const VkPipelineShaderStageCreateInfo*)(toCount->pStages + i), count);
12853         }
12854     }
12855     // WARNING PTR CHECK
12856     *count += 8;
12857     if (toCount->pVertexInputState) {
12858         count_VkPipelineVertexInputStateCreateInfo(
12859             featureBits, rootType,
12860             (const VkPipelineVertexInputStateCreateInfo*)(toCount->pVertexInputState), count);
12861     }
12862     // WARNING PTR CHECK
12863     *count += 8;
12864     if (toCount->pTessellationState) {
12865         count_VkPipelineTessellationStateCreateInfo(
12866             featureBits, rootType,
12867             (const VkPipelineTessellationStateCreateInfo*)(toCount->pTessellationState), count);
12868     }
12869 }
12870 
count_VkGraphicsPipelineShaderGroupsCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkGraphicsPipelineShaderGroupsCreateInfoNV * toCount,size_t * count)12871 void count_VkGraphicsPipelineShaderGroupsCreateInfoNV(
12872     uint32_t featureBits, VkStructureType rootType,
12873     const VkGraphicsPipelineShaderGroupsCreateInfoNV* toCount, size_t* count) {
12874     (void)featureBits;
12875     (void)rootType;
12876     (void)toCount;
12877     (void)count;
12878     *count += sizeof(VkStructureType);
12879     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12880         rootType = toCount->sType;
12881     }
12882     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12883     *count += sizeof(uint32_t);
12884     if (toCount) {
12885         for (uint32_t i = 0; i < (uint32_t)toCount->groupCount; ++i) {
12886             count_VkGraphicsShaderGroupCreateInfoNV(
12887                 featureBits, rootType,
12888                 (const VkGraphicsShaderGroupCreateInfoNV*)(toCount->pGroups + i), count);
12889         }
12890     }
12891     *count += sizeof(uint32_t);
12892     if (toCount->pipelineCount) {
12893         *count += toCount->pipelineCount * 8;
12894     }
12895 }
12896 
count_VkBindShaderGroupIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkBindShaderGroupIndirectCommandNV * toCount,size_t * count)12897 void count_VkBindShaderGroupIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
12898                                               const VkBindShaderGroupIndirectCommandNV* toCount,
12899                                               size_t* count) {
12900     (void)featureBits;
12901     (void)rootType;
12902     (void)toCount;
12903     (void)count;
12904     *count += sizeof(uint32_t);
12905 }
12906 
count_VkBindIndexBufferIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkBindIndexBufferIndirectCommandNV * toCount,size_t * count)12907 void count_VkBindIndexBufferIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
12908                                               const VkBindIndexBufferIndirectCommandNV* toCount,
12909                                               size_t* count) {
12910     (void)featureBits;
12911     (void)rootType;
12912     (void)toCount;
12913     (void)count;
12914     *count += sizeof(VkDeviceAddress);
12915     *count += sizeof(uint32_t);
12916     *count += sizeof(VkIndexType);
12917 }
12918 
count_VkBindVertexBufferIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkBindVertexBufferIndirectCommandNV * toCount,size_t * count)12919 void count_VkBindVertexBufferIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
12920                                                const VkBindVertexBufferIndirectCommandNV* toCount,
12921                                                size_t* count) {
12922     (void)featureBits;
12923     (void)rootType;
12924     (void)toCount;
12925     (void)count;
12926     *count += sizeof(VkDeviceAddress);
12927     *count += sizeof(uint32_t);
12928     *count += sizeof(uint32_t);
12929 }
12930 
count_VkSetStateFlagsIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkSetStateFlagsIndirectCommandNV * toCount,size_t * count)12931 void count_VkSetStateFlagsIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
12932                                             const VkSetStateFlagsIndirectCommandNV* toCount,
12933                                             size_t* count) {
12934     (void)featureBits;
12935     (void)rootType;
12936     (void)toCount;
12937     (void)count;
12938     *count += sizeof(uint32_t);
12939 }
12940 
count_VkIndirectCommandsStreamNV(uint32_t featureBits,VkStructureType rootType,const VkIndirectCommandsStreamNV * toCount,size_t * count)12941 void count_VkIndirectCommandsStreamNV(uint32_t featureBits, VkStructureType rootType,
12942                                       const VkIndirectCommandsStreamNV* toCount, size_t* count) {
12943     (void)featureBits;
12944     (void)rootType;
12945     (void)toCount;
12946     (void)count;
12947     uint64_t cgen_var_0;
12948     *count += 1 * 8;
12949     *count += sizeof(VkDeviceSize);
12950 }
12951 
count_VkIndirectCommandsLayoutTokenNV(uint32_t featureBits,VkStructureType rootType,const VkIndirectCommandsLayoutTokenNV * toCount,size_t * count)12952 void count_VkIndirectCommandsLayoutTokenNV(uint32_t featureBits, VkStructureType rootType,
12953                                            const VkIndirectCommandsLayoutTokenNV* toCount,
12954                                            size_t* count) {
12955     (void)featureBits;
12956     (void)rootType;
12957     (void)toCount;
12958     (void)count;
12959     *count += sizeof(VkStructureType);
12960     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12961         rootType = toCount->sType;
12962     }
12963     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12964     *count += sizeof(VkIndirectCommandsTokenTypeNV);
12965     *count += sizeof(uint32_t);
12966     *count += sizeof(uint32_t);
12967     *count += sizeof(uint32_t);
12968     *count += sizeof(VkBool32);
12969     uint64_t cgen_var_0;
12970     *count += 1 * 8;
12971     *count += sizeof(VkShaderStageFlags);
12972     *count += sizeof(uint32_t);
12973     *count += sizeof(uint32_t);
12974     *count += sizeof(VkIndirectStateFlagsNV);
12975     *count += sizeof(uint32_t);
12976     if (toCount) {
12977         *count += toCount->indexTypeCount * sizeof(const VkIndexType);
12978     }
12979     if (toCount) {
12980         *count += toCount->indexTypeCount * sizeof(const uint32_t);
12981     }
12982 }
12983 
count_VkIndirectCommandsLayoutCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkIndirectCommandsLayoutCreateInfoNV * toCount,size_t * count)12984 void count_VkIndirectCommandsLayoutCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
12985                                                 const VkIndirectCommandsLayoutCreateInfoNV* toCount,
12986                                                 size_t* count) {
12987     (void)featureBits;
12988     (void)rootType;
12989     (void)toCount;
12990     (void)count;
12991     *count += sizeof(VkStructureType);
12992     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
12993         rootType = toCount->sType;
12994     }
12995     count_extension_struct(featureBits, rootType, toCount->pNext, count);
12996     *count += sizeof(VkIndirectCommandsLayoutUsageFlagsNV);
12997     *count += sizeof(VkPipelineBindPoint);
12998     *count += sizeof(uint32_t);
12999     if (toCount) {
13000         for (uint32_t i = 0; i < (uint32_t)toCount->tokenCount; ++i) {
13001             count_VkIndirectCommandsLayoutTokenNV(
13002                 featureBits, rootType,
13003                 (const VkIndirectCommandsLayoutTokenNV*)(toCount->pTokens + i), count);
13004         }
13005     }
13006     *count += sizeof(uint32_t);
13007     if (toCount) {
13008         *count += toCount->streamCount * sizeof(const uint32_t);
13009     }
13010 }
13011 
count_VkGeneratedCommandsInfoNV(uint32_t featureBits,VkStructureType rootType,const VkGeneratedCommandsInfoNV * toCount,size_t * count)13012 void count_VkGeneratedCommandsInfoNV(uint32_t featureBits, VkStructureType rootType,
13013                                      const VkGeneratedCommandsInfoNV* toCount, size_t* count) {
13014     (void)featureBits;
13015     (void)rootType;
13016     (void)toCount;
13017     (void)count;
13018     *count += sizeof(VkStructureType);
13019     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13020         rootType = toCount->sType;
13021     }
13022     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13023     *count += sizeof(VkPipelineBindPoint);
13024     uint64_t cgen_var_0;
13025     *count += 1 * 8;
13026     uint64_t cgen_var_1;
13027     *count += 1 * 8;
13028     *count += sizeof(uint32_t);
13029     if (toCount) {
13030         for (uint32_t i = 0; i < (uint32_t)toCount->streamCount; ++i) {
13031             count_VkIndirectCommandsStreamNV(
13032                 featureBits, rootType, (const VkIndirectCommandsStreamNV*)(toCount->pStreams + i),
13033                 count);
13034         }
13035     }
13036     *count += sizeof(uint32_t);
13037     uint64_t cgen_var_2;
13038     *count += 1 * 8;
13039     *count += sizeof(VkDeviceSize);
13040     *count += sizeof(VkDeviceSize);
13041     uint64_t cgen_var_3;
13042     *count += 1 * 8;
13043     *count += sizeof(VkDeviceSize);
13044     uint64_t cgen_var_4;
13045     *count += 1 * 8;
13046     *count += sizeof(VkDeviceSize);
13047 }
13048 
count_VkGeneratedCommandsMemoryRequirementsInfoNV(uint32_t featureBits,VkStructureType rootType,const VkGeneratedCommandsMemoryRequirementsInfoNV * toCount,size_t * count)13049 void count_VkGeneratedCommandsMemoryRequirementsInfoNV(
13050     uint32_t featureBits, VkStructureType rootType,
13051     const VkGeneratedCommandsMemoryRequirementsInfoNV* toCount, size_t* count) {
13052     (void)featureBits;
13053     (void)rootType;
13054     (void)toCount;
13055     (void)count;
13056     *count += sizeof(VkStructureType);
13057     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13058         rootType = toCount->sType;
13059     }
13060     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13061     *count += sizeof(VkPipelineBindPoint);
13062     uint64_t cgen_var_0;
13063     *count += 1 * 8;
13064     uint64_t cgen_var_1;
13065     *count += 1 * 8;
13066     *count += sizeof(uint32_t);
13067 }
13068 
13069 #endif
13070 #ifdef VK_NV_inherited_viewport_scissor
count_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceInheritedViewportScissorFeaturesNV * toCount,size_t * count)13071 void count_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(
13072     uint32_t featureBits, VkStructureType rootType,
13073     const VkPhysicalDeviceInheritedViewportScissorFeaturesNV* toCount, size_t* count) {
13074     (void)featureBits;
13075     (void)rootType;
13076     (void)toCount;
13077     (void)count;
13078     *count += sizeof(VkStructureType);
13079     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13080         rootType = toCount->sType;
13081     }
13082     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13083     *count += sizeof(VkBool32);
13084 }
13085 
count_VkCommandBufferInheritanceViewportScissorInfoNV(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceViewportScissorInfoNV * toCount,size_t * count)13086 void count_VkCommandBufferInheritanceViewportScissorInfoNV(
13087     uint32_t featureBits, VkStructureType rootType,
13088     const VkCommandBufferInheritanceViewportScissorInfoNV* toCount, size_t* count) {
13089     (void)featureBits;
13090     (void)rootType;
13091     (void)toCount;
13092     (void)count;
13093     *count += sizeof(VkStructureType);
13094     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13095         rootType = toCount->sType;
13096     }
13097     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13098     *count += sizeof(VkBool32);
13099     *count += sizeof(uint32_t);
13100     // WARNING PTR CHECK
13101     *count += 8;
13102     if (toCount->pViewportDepths) {
13103         count_VkViewport(featureBits, rootType, (const VkViewport*)(toCount->pViewportDepths),
13104                          count);
13105     }
13106 }
13107 
13108 #endif
13109 #ifdef VK_EXT_texel_buffer_alignment
count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * toCount,size_t * count)13110 void count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
13111     uint32_t featureBits, VkStructureType rootType,
13112     const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* toCount, size_t* count) {
13113     (void)featureBits;
13114     (void)rootType;
13115     (void)toCount;
13116     (void)count;
13117     *count += sizeof(VkStructureType);
13118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13119         rootType = toCount->sType;
13120     }
13121     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13122     *count += sizeof(VkBool32);
13123 }
13124 
13125 #endif
13126 #ifdef VK_QCOM_render_pass_transform
count_VkRenderPassTransformBeginInfoQCOM(uint32_t featureBits,VkStructureType rootType,const VkRenderPassTransformBeginInfoQCOM * toCount,size_t * count)13127 void count_VkRenderPassTransformBeginInfoQCOM(uint32_t featureBits, VkStructureType rootType,
13128                                               const VkRenderPassTransformBeginInfoQCOM* toCount,
13129                                               size_t* count) {
13130     (void)featureBits;
13131     (void)rootType;
13132     (void)toCount;
13133     (void)count;
13134     *count += sizeof(VkStructureType);
13135     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13136         rootType = toCount->sType;
13137     }
13138     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13139     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
13140 }
13141 
count_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceRenderPassTransformInfoQCOM * toCount,size_t * count)13142 void count_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
13143     uint32_t featureBits, VkStructureType rootType,
13144     const VkCommandBufferInheritanceRenderPassTransformInfoQCOM* toCount, size_t* count) {
13145     (void)featureBits;
13146     (void)rootType;
13147     (void)toCount;
13148     (void)count;
13149     *count += sizeof(VkStructureType);
13150     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13151         rootType = toCount->sType;
13152     }
13153     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13154     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
13155     count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->renderArea), count);
13156 }
13157 
13158 #endif
13159 #ifdef VK_EXT_device_memory_report
count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * toCount,size_t * count)13160 void count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
13161     uint32_t featureBits, VkStructureType rootType,
13162     const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* toCount, size_t* count) {
13163     (void)featureBits;
13164     (void)rootType;
13165     (void)toCount;
13166     (void)count;
13167     *count += sizeof(VkStructureType);
13168     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13169         rootType = toCount->sType;
13170     }
13171     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13172     *count += sizeof(VkBool32);
13173 }
13174 
count_VkDeviceMemoryReportCallbackDataEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * toCount,size_t * count)13175 void count_VkDeviceMemoryReportCallbackDataEXT(uint32_t featureBits, VkStructureType rootType,
13176                                                const VkDeviceMemoryReportCallbackDataEXT* toCount,
13177                                                size_t* count) {
13178     (void)featureBits;
13179     (void)rootType;
13180     (void)toCount;
13181     (void)count;
13182     *count += sizeof(VkStructureType);
13183     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13184         rootType = toCount->sType;
13185     }
13186     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13187     *count += sizeof(VkDeviceMemoryReportFlagsEXT);
13188     *count += sizeof(VkDeviceMemoryReportEventTypeEXT);
13189     *count += sizeof(uint64_t);
13190     *count += sizeof(VkDeviceSize);
13191     *count += sizeof(VkObjectType);
13192     *count += sizeof(uint64_t);
13193     *count += sizeof(uint32_t);
13194 }
13195 
count_VkDeviceDeviceMemoryReportCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * toCount,size_t * count)13196 void count_VkDeviceDeviceMemoryReportCreateInfoEXT(
13197     uint32_t featureBits, VkStructureType rootType,
13198     const VkDeviceDeviceMemoryReportCreateInfoEXT* toCount, size_t* count) {
13199     (void)featureBits;
13200     (void)rootType;
13201     (void)toCount;
13202     (void)count;
13203     *count += sizeof(VkStructureType);
13204     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13205         rootType = toCount->sType;
13206     }
13207     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13208     *count += sizeof(VkDeviceMemoryReportFlagsEXT);
13209     *count += 8;
13210     *count += sizeof(uint8_t);
13211 }
13212 
13213 #endif
13214 #ifdef VK_EXT_acquire_drm_display
13215 #endif
13216 #ifdef VK_EXT_robustness2
count_VkPhysicalDeviceRobustness2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * toCount,size_t * count)13217 void count_VkPhysicalDeviceRobustness2FeaturesEXT(
13218     uint32_t featureBits, VkStructureType rootType,
13219     const VkPhysicalDeviceRobustness2FeaturesEXT* toCount, size_t* count) {
13220     (void)featureBits;
13221     (void)rootType;
13222     (void)toCount;
13223     (void)count;
13224     *count += sizeof(VkStructureType);
13225     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13226         rootType = toCount->sType;
13227     }
13228     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13229     *count += sizeof(VkBool32);
13230     *count += sizeof(VkBool32);
13231     *count += sizeof(VkBool32);
13232 }
13233 
count_VkPhysicalDeviceRobustness2PropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * toCount,size_t * count)13234 void count_VkPhysicalDeviceRobustness2PropertiesEXT(
13235     uint32_t featureBits, VkStructureType rootType,
13236     const VkPhysicalDeviceRobustness2PropertiesEXT* toCount, size_t* count) {
13237     (void)featureBits;
13238     (void)rootType;
13239     (void)toCount;
13240     (void)count;
13241     *count += sizeof(VkStructureType);
13242     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13243         rootType = toCount->sType;
13244     }
13245     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13246     *count += sizeof(VkDeviceSize);
13247     *count += sizeof(VkDeviceSize);
13248 }
13249 
13250 #endif
13251 #ifdef VK_EXT_custom_border_color
count_VkSamplerCustomBorderColorCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * toCount,size_t * count)13252 void count_VkSamplerCustomBorderColorCreateInfoEXT(
13253     uint32_t featureBits, VkStructureType rootType,
13254     const VkSamplerCustomBorderColorCreateInfoEXT* toCount, size_t* count) {
13255     (void)featureBits;
13256     (void)rootType;
13257     (void)toCount;
13258     (void)count;
13259     *count += sizeof(VkStructureType);
13260     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13261         rootType = toCount->sType;
13262     }
13263     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13264     count_VkClearColorValue(featureBits, rootType,
13265                             (VkClearColorValue*)(&toCount->customBorderColor), count);
13266     *count += sizeof(VkFormat);
13267 }
13268 
count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * toCount,size_t * count)13269 void count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
13270     uint32_t featureBits, VkStructureType rootType,
13271     const VkPhysicalDeviceCustomBorderColorPropertiesEXT* toCount, size_t* count) {
13272     (void)featureBits;
13273     (void)rootType;
13274     (void)toCount;
13275     (void)count;
13276     *count += sizeof(VkStructureType);
13277     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13278         rootType = toCount->sType;
13279     }
13280     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13281     *count += sizeof(uint32_t);
13282 }
13283 
count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * toCount,size_t * count)13284 void count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
13285     uint32_t featureBits, VkStructureType rootType,
13286     const VkPhysicalDeviceCustomBorderColorFeaturesEXT* toCount, size_t* count) {
13287     (void)featureBits;
13288     (void)rootType;
13289     (void)toCount;
13290     (void)count;
13291     *count += sizeof(VkStructureType);
13292     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13293         rootType = toCount->sType;
13294     }
13295     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13296     *count += sizeof(VkBool32);
13297     *count += sizeof(VkBool32);
13298 }
13299 
13300 #endif
13301 #ifdef VK_GOOGLE_user_type
13302 #endif
13303 #ifdef VK_NV_present_barrier
count_VkPhysicalDevicePresentBarrierFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePresentBarrierFeaturesNV * toCount,size_t * count)13304 void count_VkPhysicalDevicePresentBarrierFeaturesNV(
13305     uint32_t featureBits, VkStructureType rootType,
13306     const VkPhysicalDevicePresentBarrierFeaturesNV* toCount, size_t* count) {
13307     (void)featureBits;
13308     (void)rootType;
13309     (void)toCount;
13310     (void)count;
13311     *count += sizeof(VkStructureType);
13312     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13313         rootType = toCount->sType;
13314     }
13315     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13316     *count += sizeof(VkBool32);
13317 }
13318 
count_VkSurfaceCapabilitiesPresentBarrierNV(uint32_t featureBits,VkStructureType rootType,const VkSurfaceCapabilitiesPresentBarrierNV * toCount,size_t * count)13319 void count_VkSurfaceCapabilitiesPresentBarrierNV(
13320     uint32_t featureBits, VkStructureType rootType,
13321     const VkSurfaceCapabilitiesPresentBarrierNV* toCount, size_t* count) {
13322     (void)featureBits;
13323     (void)rootType;
13324     (void)toCount;
13325     (void)count;
13326     *count += sizeof(VkStructureType);
13327     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13328         rootType = toCount->sType;
13329     }
13330     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13331     *count += sizeof(VkBool32);
13332 }
13333 
count_VkSwapchainPresentBarrierCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkSwapchainPresentBarrierCreateInfoNV * toCount,size_t * count)13334 void count_VkSwapchainPresentBarrierCreateInfoNV(
13335     uint32_t featureBits, VkStructureType rootType,
13336     const VkSwapchainPresentBarrierCreateInfoNV* toCount, size_t* count) {
13337     (void)featureBits;
13338     (void)rootType;
13339     (void)toCount;
13340     (void)count;
13341     *count += sizeof(VkStructureType);
13342     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13343         rootType = toCount->sType;
13344     }
13345     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13346     *count += sizeof(VkBool32);
13347 }
13348 
13349 #endif
13350 #ifdef VK_EXT_private_data
13351 #endif
13352 #ifdef VK_EXT_pipeline_creation_cache_control
13353 #endif
13354 #ifdef VK_NV_device_diagnostics_config
count_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDiagnosticsConfigFeaturesNV * toCount,size_t * count)13355 void count_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
13356     uint32_t featureBits, VkStructureType rootType,
13357     const VkPhysicalDeviceDiagnosticsConfigFeaturesNV* toCount, size_t* count) {
13358     (void)featureBits;
13359     (void)rootType;
13360     (void)toCount;
13361     (void)count;
13362     *count += sizeof(VkStructureType);
13363     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13364         rootType = toCount->sType;
13365     }
13366     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13367     *count += sizeof(VkBool32);
13368 }
13369 
count_VkDeviceDiagnosticsConfigCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkDeviceDiagnosticsConfigCreateInfoNV * toCount,size_t * count)13370 void count_VkDeviceDiagnosticsConfigCreateInfoNV(
13371     uint32_t featureBits, VkStructureType rootType,
13372     const VkDeviceDiagnosticsConfigCreateInfoNV* toCount, size_t* count) {
13373     (void)featureBits;
13374     (void)rootType;
13375     (void)toCount;
13376     (void)count;
13377     *count += sizeof(VkStructureType);
13378     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13379         rootType = toCount->sType;
13380     }
13381     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13382     *count += sizeof(VkDeviceDiagnosticsConfigFlagsNV);
13383 }
13384 
13385 #endif
13386 #ifdef VK_QCOM_render_pass_store_ops
13387 #endif
13388 #ifdef VK_NV_low_latency
count_VkQueryLowLatencySupportNV(uint32_t featureBits,VkStructureType rootType,const VkQueryLowLatencySupportNV * toCount,size_t * count)13389 void count_VkQueryLowLatencySupportNV(uint32_t featureBits, VkStructureType rootType,
13390                                       const VkQueryLowLatencySupportNV* toCount, size_t* count) {
13391     (void)featureBits;
13392     (void)rootType;
13393     (void)toCount;
13394     (void)count;
13395     *count += sizeof(VkStructureType);
13396     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13397         rootType = toCount->sType;
13398     }
13399     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13400     *count += sizeof(uint8_t);
13401 }
13402 
13403 #endif
13404 #ifdef VK_EXT_metal_objects
count_VkExportMetalObjectCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalObjectCreateInfoEXT * toCount,size_t * count)13405 void count_VkExportMetalObjectCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
13406                                             const VkExportMetalObjectCreateInfoEXT* toCount,
13407                                             size_t* count) {
13408     (void)featureBits;
13409     (void)rootType;
13410     (void)toCount;
13411     (void)count;
13412     *count += sizeof(VkStructureType);
13413     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13414         rootType = toCount->sType;
13415     }
13416     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13417     *count += sizeof(VkExportMetalObjectTypeFlagBitsEXT);
13418 }
13419 
count_VkExportMetalObjectsInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalObjectsInfoEXT * toCount,size_t * count)13420 void count_VkExportMetalObjectsInfoEXT(uint32_t featureBits, VkStructureType rootType,
13421                                        const VkExportMetalObjectsInfoEXT* toCount, size_t* count) {
13422     (void)featureBits;
13423     (void)rootType;
13424     (void)toCount;
13425     (void)count;
13426     *count += sizeof(VkStructureType);
13427     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13428         rootType = toCount->sType;
13429     }
13430     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13431 }
13432 
count_VkExportMetalDeviceInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalDeviceInfoEXT * toCount,size_t * count)13433 void count_VkExportMetalDeviceInfoEXT(uint32_t featureBits, VkStructureType rootType,
13434                                       const VkExportMetalDeviceInfoEXT* toCount, size_t* count) {
13435     (void)featureBits;
13436     (void)rootType;
13437     (void)toCount;
13438     (void)count;
13439     *count += sizeof(VkStructureType);
13440     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13441         rootType = toCount->sType;
13442     }
13443     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13444     *count += sizeof(MTLDevice_id);
13445 }
13446 
count_VkExportMetalCommandQueueInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalCommandQueueInfoEXT * toCount,size_t * count)13447 void count_VkExportMetalCommandQueueInfoEXT(uint32_t featureBits, VkStructureType rootType,
13448                                             const VkExportMetalCommandQueueInfoEXT* toCount,
13449                                             size_t* count) {
13450     (void)featureBits;
13451     (void)rootType;
13452     (void)toCount;
13453     (void)count;
13454     *count += sizeof(VkStructureType);
13455     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13456         rootType = toCount->sType;
13457     }
13458     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13459     uint64_t cgen_var_0;
13460     *count += 1 * 8;
13461     *count += sizeof(MTLCommandQueue_id);
13462 }
13463 
count_VkExportMetalBufferInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalBufferInfoEXT * toCount,size_t * count)13464 void count_VkExportMetalBufferInfoEXT(uint32_t featureBits, VkStructureType rootType,
13465                                       const VkExportMetalBufferInfoEXT* toCount, size_t* count) {
13466     (void)featureBits;
13467     (void)rootType;
13468     (void)toCount;
13469     (void)count;
13470     *count += sizeof(VkStructureType);
13471     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13472         rootType = toCount->sType;
13473     }
13474     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13475     uint64_t cgen_var_0;
13476     *count += 1 * 8;
13477     *count += sizeof(MTLBuffer_id);
13478 }
13479 
count_VkImportMetalBufferInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImportMetalBufferInfoEXT * toCount,size_t * count)13480 void count_VkImportMetalBufferInfoEXT(uint32_t featureBits, VkStructureType rootType,
13481                                       const VkImportMetalBufferInfoEXT* toCount, size_t* count) {
13482     (void)featureBits;
13483     (void)rootType;
13484     (void)toCount;
13485     (void)count;
13486     *count += sizeof(VkStructureType);
13487     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13488         rootType = toCount->sType;
13489     }
13490     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13491     *count += sizeof(MTLBuffer_id);
13492 }
13493 
count_VkExportMetalTextureInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalTextureInfoEXT * toCount,size_t * count)13494 void count_VkExportMetalTextureInfoEXT(uint32_t featureBits, VkStructureType rootType,
13495                                        const VkExportMetalTextureInfoEXT* toCount, size_t* count) {
13496     (void)featureBits;
13497     (void)rootType;
13498     (void)toCount;
13499     (void)count;
13500     *count += sizeof(VkStructureType);
13501     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13502         rootType = toCount->sType;
13503     }
13504     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13505     uint64_t cgen_var_0;
13506     *count += 1 * 8;
13507     uint64_t cgen_var_1;
13508     *count += 1 * 8;
13509     uint64_t cgen_var_2;
13510     *count += 1 * 8;
13511     *count += sizeof(VkImageAspectFlagBits);
13512     *count += sizeof(MTLTexture_id);
13513 }
13514 
count_VkImportMetalTextureInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImportMetalTextureInfoEXT * toCount,size_t * count)13515 void count_VkImportMetalTextureInfoEXT(uint32_t featureBits, VkStructureType rootType,
13516                                        const VkImportMetalTextureInfoEXT* toCount, size_t* count) {
13517     (void)featureBits;
13518     (void)rootType;
13519     (void)toCount;
13520     (void)count;
13521     *count += sizeof(VkStructureType);
13522     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13523         rootType = toCount->sType;
13524     }
13525     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13526     *count += sizeof(VkImageAspectFlagBits);
13527     *count += sizeof(MTLTexture_id);
13528 }
13529 
count_VkExportMetalIOSurfaceInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalIOSurfaceInfoEXT * toCount,size_t * count)13530 void count_VkExportMetalIOSurfaceInfoEXT(uint32_t featureBits, VkStructureType rootType,
13531                                          const VkExportMetalIOSurfaceInfoEXT* toCount,
13532                                          size_t* count) {
13533     (void)featureBits;
13534     (void)rootType;
13535     (void)toCount;
13536     (void)count;
13537     *count += sizeof(VkStructureType);
13538     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13539         rootType = toCount->sType;
13540     }
13541     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13542     uint64_t cgen_var_0;
13543     *count += 1 * 8;
13544     *count += sizeof(IOSurfaceRef);
13545 }
13546 
count_VkImportMetalIOSurfaceInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImportMetalIOSurfaceInfoEXT * toCount,size_t * count)13547 void count_VkImportMetalIOSurfaceInfoEXT(uint32_t featureBits, VkStructureType rootType,
13548                                          const VkImportMetalIOSurfaceInfoEXT* toCount,
13549                                          size_t* count) {
13550     (void)featureBits;
13551     (void)rootType;
13552     (void)toCount;
13553     (void)count;
13554     *count += sizeof(VkStructureType);
13555     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13556         rootType = toCount->sType;
13557     }
13558     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13559     *count += sizeof(IOSurfaceRef);
13560 }
13561 
count_VkExportMetalSharedEventInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkExportMetalSharedEventInfoEXT * toCount,size_t * count)13562 void count_VkExportMetalSharedEventInfoEXT(uint32_t featureBits, VkStructureType rootType,
13563                                            const VkExportMetalSharedEventInfoEXT* toCount,
13564                                            size_t* count) {
13565     (void)featureBits;
13566     (void)rootType;
13567     (void)toCount;
13568     (void)count;
13569     *count += sizeof(VkStructureType);
13570     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13571         rootType = toCount->sType;
13572     }
13573     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13574     uint64_t cgen_var_0;
13575     *count += 1 * 8;
13576     uint64_t cgen_var_1;
13577     *count += 1 * 8;
13578     *count += sizeof(MTLSharedEvent_id);
13579 }
13580 
count_VkImportMetalSharedEventInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImportMetalSharedEventInfoEXT * toCount,size_t * count)13581 void count_VkImportMetalSharedEventInfoEXT(uint32_t featureBits, VkStructureType rootType,
13582                                            const VkImportMetalSharedEventInfoEXT* toCount,
13583                                            size_t* count) {
13584     (void)featureBits;
13585     (void)rootType;
13586     (void)toCount;
13587     (void)count;
13588     *count += sizeof(VkStructureType);
13589     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13590         rootType = toCount->sType;
13591     }
13592     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13593     *count += sizeof(MTLSharedEvent_id);
13594 }
13595 
13596 #endif
13597 #ifdef VK_EXT_descriptor_buffer
count_VkPhysicalDeviceDescriptorBufferPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorBufferPropertiesEXT * toCount,size_t * count)13598 void count_VkPhysicalDeviceDescriptorBufferPropertiesEXT(
13599     uint32_t featureBits, VkStructureType rootType,
13600     const VkPhysicalDeviceDescriptorBufferPropertiesEXT* toCount, size_t* count) {
13601     (void)featureBits;
13602     (void)rootType;
13603     (void)toCount;
13604     (void)count;
13605     *count += sizeof(VkStructureType);
13606     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13607         rootType = toCount->sType;
13608     }
13609     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13610     *count += sizeof(VkBool32);
13611     *count += sizeof(VkBool32);
13612     *count += sizeof(VkBool32);
13613     *count += sizeof(VkDeviceSize);
13614     *count += sizeof(uint32_t);
13615     *count += sizeof(uint32_t);
13616     *count += sizeof(uint32_t);
13617     *count += sizeof(uint32_t);
13618     *count += sizeof(uint32_t);
13619     *count += 8;
13620     *count += 8;
13621     *count += 8;
13622     *count += 8;
13623     *count += 8;
13624     *count += 8;
13625     *count += 8;
13626     *count += 8;
13627     *count += 8;
13628     *count += 8;
13629     *count += 8;
13630     *count += 8;
13631     *count += 8;
13632     *count += 8;
13633     *count += 8;
13634     *count += 8;
13635     *count += 8;
13636     *count += 8;
13637     *count += 8;
13638     *count += sizeof(VkDeviceSize);
13639     *count += sizeof(VkDeviceSize);
13640     *count += sizeof(VkDeviceSize);
13641     *count += sizeof(VkDeviceSize);
13642     *count += sizeof(VkDeviceSize);
13643 }
13644 
count_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT * toCount,size_t * count)13645 void count_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(
13646     uint32_t featureBits, VkStructureType rootType,
13647     const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* toCount, size_t* count) {
13648     (void)featureBits;
13649     (void)rootType;
13650     (void)toCount;
13651     (void)count;
13652     *count += sizeof(VkStructureType);
13653     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13654         rootType = toCount->sType;
13655     }
13656     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13657     *count += 8;
13658 }
13659 
count_VkPhysicalDeviceDescriptorBufferFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorBufferFeaturesEXT * toCount,size_t * count)13660 void count_VkPhysicalDeviceDescriptorBufferFeaturesEXT(
13661     uint32_t featureBits, VkStructureType rootType,
13662     const VkPhysicalDeviceDescriptorBufferFeaturesEXT* toCount, size_t* count) {
13663     (void)featureBits;
13664     (void)rootType;
13665     (void)toCount;
13666     (void)count;
13667     *count += sizeof(VkStructureType);
13668     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13669         rootType = toCount->sType;
13670     }
13671     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13672     *count += sizeof(VkBool32);
13673     *count += sizeof(VkBool32);
13674     *count += sizeof(VkBool32);
13675     *count += sizeof(VkBool32);
13676 }
13677 
count_VkDescriptorAddressInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDescriptorAddressInfoEXT * toCount,size_t * count)13678 void count_VkDescriptorAddressInfoEXT(uint32_t featureBits, VkStructureType rootType,
13679                                       const VkDescriptorAddressInfoEXT* toCount, size_t* count) {
13680     (void)featureBits;
13681     (void)rootType;
13682     (void)toCount;
13683     (void)count;
13684     *count += sizeof(VkStructureType);
13685     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13686         rootType = toCount->sType;
13687     }
13688     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13689     *count += sizeof(VkDeviceAddress);
13690     *count += sizeof(VkDeviceSize);
13691     *count += sizeof(VkFormat);
13692 }
13693 
count_VkDescriptorBufferBindingInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDescriptorBufferBindingInfoEXT * toCount,size_t * count)13694 void count_VkDescriptorBufferBindingInfoEXT(uint32_t featureBits, VkStructureType rootType,
13695                                             const VkDescriptorBufferBindingInfoEXT* toCount,
13696                                             size_t* count) {
13697     (void)featureBits;
13698     (void)rootType;
13699     (void)toCount;
13700     (void)count;
13701     *count += sizeof(VkStructureType);
13702     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13703         rootType = toCount->sType;
13704     }
13705     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13706     *count += sizeof(VkDeviceAddress);
13707     *count += sizeof(VkBufferUsageFlags);
13708 }
13709 
count_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT(uint32_t featureBits,VkStructureType rootType,const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT * toCount,size_t * count)13710 void count_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT(
13711     uint32_t featureBits, VkStructureType rootType,
13712     const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT* toCount, size_t* count) {
13713     (void)featureBits;
13714     (void)rootType;
13715     (void)toCount;
13716     (void)count;
13717     *count += sizeof(VkStructureType);
13718     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13719         rootType = toCount->sType;
13720     }
13721     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13722     uint64_t cgen_var_0;
13723     *count += 1 * 8;
13724 }
13725 
count_VkDescriptorDataEXT(uint32_t featureBits,VkStructureType rootType,const VkDescriptorDataEXT * toCount,size_t * count)13726 void count_VkDescriptorDataEXT(uint32_t featureBits, VkStructureType rootType,
13727                                const VkDescriptorDataEXT* toCount, size_t* count) {
13728     (void)featureBits;
13729     (void)rootType;
13730     (void)toCount;
13731     (void)count;
13732     uint64_t cgen_var_0;
13733     *count += 8;
13734 }
13735 
count_VkDescriptorGetInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDescriptorGetInfoEXT * toCount,size_t * count)13736 void count_VkDescriptorGetInfoEXT(uint32_t featureBits, VkStructureType rootType,
13737                                   const VkDescriptorGetInfoEXT* toCount, size_t* count) {
13738     (void)featureBits;
13739     (void)rootType;
13740     (void)toCount;
13741     (void)count;
13742     *count += sizeof(VkStructureType);
13743     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13744         rootType = toCount->sType;
13745     }
13746     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13747     *count += sizeof(VkDescriptorType);
13748     count_VkDescriptorDataEXT(featureBits, rootType, (VkDescriptorDataEXT*)(&toCount->data), count);
13749 }
13750 
count_VkBufferCaptureDescriptorDataInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkBufferCaptureDescriptorDataInfoEXT * toCount,size_t * count)13751 void count_VkBufferCaptureDescriptorDataInfoEXT(uint32_t featureBits, VkStructureType rootType,
13752                                                 const VkBufferCaptureDescriptorDataInfoEXT* toCount,
13753                                                 size_t* count) {
13754     (void)featureBits;
13755     (void)rootType;
13756     (void)toCount;
13757     (void)count;
13758     *count += sizeof(VkStructureType);
13759     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13760         rootType = toCount->sType;
13761     }
13762     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13763     uint64_t cgen_var_0;
13764     *count += 1 * 8;
13765 }
13766 
count_VkImageCaptureDescriptorDataInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCaptureDescriptorDataInfoEXT * toCount,size_t * count)13767 void count_VkImageCaptureDescriptorDataInfoEXT(uint32_t featureBits, VkStructureType rootType,
13768                                                const VkImageCaptureDescriptorDataInfoEXT* toCount,
13769                                                size_t* count) {
13770     (void)featureBits;
13771     (void)rootType;
13772     (void)toCount;
13773     (void)count;
13774     *count += sizeof(VkStructureType);
13775     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13776         rootType = toCount->sType;
13777     }
13778     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13779     uint64_t cgen_var_0;
13780     *count += 1 * 8;
13781 }
13782 
count_VkImageViewCaptureDescriptorDataInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageViewCaptureDescriptorDataInfoEXT * toCount,size_t * count)13783 void count_VkImageViewCaptureDescriptorDataInfoEXT(
13784     uint32_t featureBits, VkStructureType rootType,
13785     const VkImageViewCaptureDescriptorDataInfoEXT* toCount, size_t* count) {
13786     (void)featureBits;
13787     (void)rootType;
13788     (void)toCount;
13789     (void)count;
13790     *count += sizeof(VkStructureType);
13791     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13792         rootType = toCount->sType;
13793     }
13794     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13795     uint64_t cgen_var_0;
13796     *count += 1 * 8;
13797 }
13798 
count_VkSamplerCaptureDescriptorDataInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSamplerCaptureDescriptorDataInfoEXT * toCount,size_t * count)13799 void count_VkSamplerCaptureDescriptorDataInfoEXT(
13800     uint32_t featureBits, VkStructureType rootType,
13801     const VkSamplerCaptureDescriptorDataInfoEXT* toCount, size_t* count) {
13802     (void)featureBits;
13803     (void)rootType;
13804     (void)toCount;
13805     (void)count;
13806     *count += sizeof(VkStructureType);
13807     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13808         rootType = toCount->sType;
13809     }
13810     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13811     uint64_t cgen_var_0;
13812     *count += 1 * 8;
13813 }
13814 
count_VkOpaqueCaptureDescriptorDataCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkOpaqueCaptureDescriptorDataCreateInfoEXT * toCount,size_t * count)13815 void count_VkOpaqueCaptureDescriptorDataCreateInfoEXT(
13816     uint32_t featureBits, VkStructureType rootType,
13817     const VkOpaqueCaptureDescriptorDataCreateInfoEXT* toCount, size_t* count) {
13818     (void)featureBits;
13819     (void)rootType;
13820     (void)toCount;
13821     (void)count;
13822     *count += sizeof(VkStructureType);
13823     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13824         rootType = toCount->sType;
13825     }
13826     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13827     *count += sizeof(const uint8_t);
13828 }
13829 
count_VkAccelerationStructureCaptureDescriptorDataInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * toCount,size_t * count)13830 void count_VkAccelerationStructureCaptureDescriptorDataInfoEXT(
13831     uint32_t featureBits, VkStructureType rootType,
13832     const VkAccelerationStructureCaptureDescriptorDataInfoEXT* toCount, size_t* count) {
13833     (void)featureBits;
13834     (void)rootType;
13835     (void)toCount;
13836     (void)count;
13837     *count += sizeof(VkStructureType);
13838     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13839         rootType = toCount->sType;
13840     }
13841     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13842     uint64_t cgen_var_0;
13843     *count += 1 * 8;
13844     uint64_t cgen_var_1;
13845     *count += 1 * 8;
13846 }
13847 
13848 #endif
13849 #ifdef VK_EXT_graphics_pipeline_library
count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * toCount,size_t * count)13850 void count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
13851     uint32_t featureBits, VkStructureType rootType,
13852     const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* toCount, size_t* count) {
13853     (void)featureBits;
13854     (void)rootType;
13855     (void)toCount;
13856     (void)count;
13857     *count += sizeof(VkStructureType);
13858     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13859         rootType = toCount->sType;
13860     }
13861     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13862     *count += sizeof(VkBool32);
13863 }
13864 
count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * toCount,size_t * count)13865 void count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
13866     uint32_t featureBits, VkStructureType rootType,
13867     const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* toCount, size_t* count) {
13868     (void)featureBits;
13869     (void)rootType;
13870     (void)toCount;
13871     (void)count;
13872     *count += sizeof(VkStructureType);
13873     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13874         rootType = toCount->sType;
13875     }
13876     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13877     *count += sizeof(VkBool32);
13878     *count += sizeof(VkBool32);
13879 }
13880 
count_VkGraphicsPipelineLibraryCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * toCount,size_t * count)13881 void count_VkGraphicsPipelineLibraryCreateInfoEXT(
13882     uint32_t featureBits, VkStructureType rootType,
13883     const VkGraphicsPipelineLibraryCreateInfoEXT* toCount, size_t* count) {
13884     (void)featureBits;
13885     (void)rootType;
13886     (void)toCount;
13887     (void)count;
13888     *count += sizeof(VkStructureType);
13889     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13890         rootType = toCount->sType;
13891     }
13892     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13893     *count += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
13894 }
13895 
13896 #endif
13897 #ifdef VK_AMD_shader_early_and_late_fragment_tests
count_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD * toCount,size_t * count)13898 void count_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(
13899     uint32_t featureBits, VkStructureType rootType,
13900     const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD* toCount, size_t* count) {
13901     (void)featureBits;
13902     (void)rootType;
13903     (void)toCount;
13904     (void)count;
13905     *count += sizeof(VkStructureType);
13906     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13907         rootType = toCount->sType;
13908     }
13909     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13910     *count += sizeof(VkBool32);
13911 }
13912 
13913 #endif
13914 #ifdef VK_NV_fragment_shading_rate_enums
count_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV * toCount,size_t * count)13915 void count_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
13916     uint32_t featureBits, VkStructureType rootType,
13917     const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* toCount, size_t* count) {
13918     (void)featureBits;
13919     (void)rootType;
13920     (void)toCount;
13921     (void)count;
13922     *count += sizeof(VkStructureType);
13923     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13924         rootType = toCount->sType;
13925     }
13926     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13927     *count += sizeof(VkBool32);
13928     *count += sizeof(VkBool32);
13929     *count += sizeof(VkBool32);
13930 }
13931 
count_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV * toCount,size_t * count)13932 void count_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
13933     uint32_t featureBits, VkStructureType rootType,
13934     const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* toCount, size_t* count) {
13935     (void)featureBits;
13936     (void)rootType;
13937     (void)toCount;
13938     (void)count;
13939     *count += sizeof(VkStructureType);
13940     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13941         rootType = toCount->sType;
13942     }
13943     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13944     *count += sizeof(VkSampleCountFlagBits);
13945 }
13946 
count_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkPipelineFragmentShadingRateEnumStateCreateInfoNV * toCount,size_t * count)13947 void count_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
13948     uint32_t featureBits, VkStructureType rootType,
13949     const VkPipelineFragmentShadingRateEnumStateCreateInfoNV* toCount, size_t* count) {
13950     (void)featureBits;
13951     (void)rootType;
13952     (void)toCount;
13953     (void)count;
13954     *count += sizeof(VkStructureType);
13955     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13956         rootType = toCount->sType;
13957     }
13958     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13959     *count += sizeof(VkFragmentShadingRateTypeNV);
13960     *count += sizeof(VkFragmentShadingRateNV);
13961     *count += 2 * sizeof(VkFragmentShadingRateCombinerOpKHR);
13962 }
13963 
13964 #endif
13965 #ifdef VK_NV_ray_tracing_motion_blur
count_VkDeviceOrHostAddressConstKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceOrHostAddressConstKHR * toCount,size_t * count)13966 void count_VkDeviceOrHostAddressConstKHR(uint32_t featureBits, VkStructureType rootType,
13967                                          const VkDeviceOrHostAddressConstKHR* toCount,
13968                                          size_t* count) {
13969     (void)featureBits;
13970     (void)rootType;
13971     (void)toCount;
13972     (void)count;
13973     *count += sizeof(VkDeviceAddress);
13974 }
13975 
count_VkAccelerationStructureGeometryMotionTrianglesDataNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureGeometryMotionTrianglesDataNV * toCount,size_t * count)13976 void count_VkAccelerationStructureGeometryMotionTrianglesDataNV(
13977     uint32_t featureBits, VkStructureType rootType,
13978     const VkAccelerationStructureGeometryMotionTrianglesDataNV* toCount, size_t* count) {
13979     (void)featureBits;
13980     (void)rootType;
13981     (void)toCount;
13982     (void)count;
13983     *count += sizeof(VkStructureType);
13984     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
13985         rootType = toCount->sType;
13986     }
13987     count_extension_struct(featureBits, rootType, toCount->pNext, count);
13988     count_VkDeviceOrHostAddressConstKHR(
13989         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->vertexData), count);
13990 }
13991 
count_VkAccelerationStructureMotionInfoNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureMotionInfoNV * toCount,size_t * count)13992 void count_VkAccelerationStructureMotionInfoNV(uint32_t featureBits, VkStructureType rootType,
13993                                                const VkAccelerationStructureMotionInfoNV* toCount,
13994                                                size_t* count) {
13995     (void)featureBits;
13996     (void)rootType;
13997     (void)toCount;
13998     (void)count;
13999     *count += sizeof(VkStructureType);
14000     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14001         rootType = toCount->sType;
14002     }
14003     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14004     *count += sizeof(uint32_t);
14005     *count += sizeof(VkAccelerationStructureMotionInfoFlagsNV);
14006 }
14007 
count_VkAccelerationStructureMatrixMotionInstanceNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureMatrixMotionInstanceNV * toCount,size_t * count)14008 void count_VkAccelerationStructureMatrixMotionInstanceNV(
14009     uint32_t featureBits, VkStructureType rootType,
14010     const VkAccelerationStructureMatrixMotionInstanceNV* toCount, size_t* count) {
14011     (void)featureBits;
14012     (void)rootType;
14013     (void)toCount;
14014     (void)count;
14015     count_VkTransformMatrixKHR(featureBits, rootType,
14016                                (VkTransformMatrixKHR*)(&toCount->transformT0), count);
14017     count_VkTransformMatrixKHR(featureBits, rootType,
14018                                (VkTransformMatrixKHR*)(&toCount->transformT1), count);
14019     *count += sizeof(uint32_t);
14020     *count += sizeof(uint32_t);
14021     *count += sizeof(uint32_t);
14022     *count += sizeof(VkGeometryInstanceFlagsKHR);
14023     *count += sizeof(uint64_t);
14024 }
14025 
count_VkSRTDataNV(uint32_t featureBits,VkStructureType rootType,const VkSRTDataNV * toCount,size_t * count)14026 void count_VkSRTDataNV(uint32_t featureBits, VkStructureType rootType, const VkSRTDataNV* toCount,
14027                        size_t* count) {
14028     (void)featureBits;
14029     (void)rootType;
14030     (void)toCount;
14031     (void)count;
14032     *count += sizeof(float);
14033     *count += sizeof(float);
14034     *count += sizeof(float);
14035     *count += sizeof(float);
14036     *count += sizeof(float);
14037     *count += sizeof(float);
14038     *count += sizeof(float);
14039     *count += sizeof(float);
14040     *count += sizeof(float);
14041     *count += sizeof(float);
14042     *count += sizeof(float);
14043     *count += sizeof(float);
14044     *count += sizeof(float);
14045     *count += sizeof(float);
14046     *count += sizeof(float);
14047     *count += sizeof(float);
14048 }
14049 
count_VkAccelerationStructureSRTMotionInstanceNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureSRTMotionInstanceNV * toCount,size_t * count)14050 void count_VkAccelerationStructureSRTMotionInstanceNV(
14051     uint32_t featureBits, VkStructureType rootType,
14052     const VkAccelerationStructureSRTMotionInstanceNV* toCount, size_t* count) {
14053     (void)featureBits;
14054     (void)rootType;
14055     (void)toCount;
14056     (void)count;
14057     count_VkSRTDataNV(featureBits, rootType, (VkSRTDataNV*)(&toCount->transformT0), count);
14058     count_VkSRTDataNV(featureBits, rootType, (VkSRTDataNV*)(&toCount->transformT1), count);
14059     *count += sizeof(uint32_t);
14060     *count += sizeof(uint32_t);
14061     *count += sizeof(uint32_t);
14062     *count += sizeof(VkGeometryInstanceFlagsKHR);
14063     *count += sizeof(uint64_t);
14064 }
14065 
count_VkAccelerationStructureMotionInstanceDataNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureMotionInstanceDataNV * toCount,size_t * count)14066 void count_VkAccelerationStructureMotionInstanceDataNV(
14067     uint32_t featureBits, VkStructureType rootType,
14068     const VkAccelerationStructureMotionInstanceDataNV* toCount, size_t* count) {
14069     (void)featureBits;
14070     (void)rootType;
14071     (void)toCount;
14072     (void)count;
14073     count_VkAccelerationStructureInstanceKHR(
14074         featureBits, rootType, (VkAccelerationStructureInstanceKHR*)(&toCount->staticInstance),
14075         count);
14076 }
14077 
count_VkAccelerationStructureMotionInstanceNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureMotionInstanceNV * toCount,size_t * count)14078 void count_VkAccelerationStructureMotionInstanceNV(
14079     uint32_t featureBits, VkStructureType rootType,
14080     const VkAccelerationStructureMotionInstanceNV* toCount, size_t* count) {
14081     (void)featureBits;
14082     (void)rootType;
14083     (void)toCount;
14084     (void)count;
14085     *count += sizeof(VkAccelerationStructureMotionInstanceTypeNV);
14086     *count += sizeof(VkAccelerationStructureMotionInstanceFlagsNV);
14087     count_VkAccelerationStructureMotionInstanceDataNV(
14088         featureBits, rootType, (VkAccelerationStructureMotionInstanceDataNV*)(&toCount->data),
14089         count);
14090 }
14091 
count_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV * toCount,size_t * count)14092 void count_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(
14093     uint32_t featureBits, VkStructureType rootType,
14094     const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV* toCount, size_t* count) {
14095     (void)featureBits;
14096     (void)rootType;
14097     (void)toCount;
14098     (void)count;
14099     *count += sizeof(VkStructureType);
14100     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14101         rootType = toCount->sType;
14102     }
14103     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14104     *count += sizeof(VkBool32);
14105     *count += sizeof(VkBool32);
14106 }
14107 
14108 #endif
14109 #ifdef VK_EXT_ycbcr_2plane_444_formats
count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * toCount,size_t * count)14110 void count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
14111     uint32_t featureBits, VkStructureType rootType,
14112     const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* toCount, size_t* count) {
14113     (void)featureBits;
14114     (void)rootType;
14115     (void)toCount;
14116     (void)count;
14117     *count += sizeof(VkStructureType);
14118     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14119         rootType = toCount->sType;
14120     }
14121     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14122     *count += sizeof(VkBool32);
14123 }
14124 
14125 #endif
14126 #ifdef VK_EXT_fragment_density_map2
count_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT * toCount,size_t * count)14127 void count_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
14128     uint32_t featureBits, VkStructureType rootType,
14129     const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT* toCount, size_t* count) {
14130     (void)featureBits;
14131     (void)rootType;
14132     (void)toCount;
14133     (void)count;
14134     *count += sizeof(VkStructureType);
14135     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14136         rootType = toCount->sType;
14137     }
14138     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14139     *count += sizeof(VkBool32);
14140 }
14141 
count_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT * toCount,size_t * count)14142 void count_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
14143     uint32_t featureBits, VkStructureType rootType,
14144     const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT* toCount, size_t* count) {
14145     (void)featureBits;
14146     (void)rootType;
14147     (void)toCount;
14148     (void)count;
14149     *count += sizeof(VkStructureType);
14150     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14151         rootType = toCount->sType;
14152     }
14153     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14154     *count += sizeof(VkBool32);
14155     *count += sizeof(VkBool32);
14156     *count += sizeof(uint32_t);
14157     *count += sizeof(uint32_t);
14158 }
14159 
14160 #endif
14161 #ifdef VK_QCOM_rotated_copy_commands
count_VkCopyCommandTransformInfoQCOM(uint32_t featureBits,VkStructureType rootType,const VkCopyCommandTransformInfoQCOM * toCount,size_t * count)14162 void count_VkCopyCommandTransformInfoQCOM(uint32_t featureBits, VkStructureType rootType,
14163                                           const VkCopyCommandTransformInfoQCOM* toCount,
14164                                           size_t* count) {
14165     (void)featureBits;
14166     (void)rootType;
14167     (void)toCount;
14168     (void)count;
14169     *count += sizeof(VkStructureType);
14170     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14171         rootType = toCount->sType;
14172     }
14173     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14174     *count += sizeof(VkSurfaceTransformFlagBitsKHR);
14175 }
14176 
14177 #endif
14178 #ifdef VK_EXT_image_robustness
14179 #endif
14180 #ifdef VK_EXT_image_compression_control
count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * toCount,size_t * count)14181 void count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
14182     uint32_t featureBits, VkStructureType rootType,
14183     const VkPhysicalDeviceImageCompressionControlFeaturesEXT* toCount, size_t* count) {
14184     (void)featureBits;
14185     (void)rootType;
14186     (void)toCount;
14187     (void)count;
14188     *count += sizeof(VkStructureType);
14189     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14190         rootType = toCount->sType;
14191     }
14192     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14193     *count += sizeof(VkBool32);
14194 }
14195 
count_VkImageCompressionControlEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCompressionControlEXT * toCount,size_t * count)14196 void count_VkImageCompressionControlEXT(uint32_t featureBits, VkStructureType rootType,
14197                                         const VkImageCompressionControlEXT* toCount,
14198                                         size_t* count) {
14199     (void)featureBits;
14200     (void)rootType;
14201     (void)toCount;
14202     (void)count;
14203     *count += sizeof(VkStructureType);
14204     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14205         rootType = toCount->sType;
14206     }
14207     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14208     *count += sizeof(VkImageCompressionFlagsEXT);
14209     *count += sizeof(uint32_t);
14210     // WARNING PTR CHECK
14211     *count += 8;
14212     if (toCount->pFixedRateFlags) {
14213         if (toCount) {
14214             *count +=
14215                 toCount->compressionControlPlaneCount * sizeof(VkImageCompressionFixedRateFlagsEXT);
14216         }
14217     }
14218 }
14219 
count_VkSubresourceLayout2EXT(uint32_t featureBits,VkStructureType rootType,const VkSubresourceLayout2EXT * toCount,size_t * count)14220 void count_VkSubresourceLayout2EXT(uint32_t featureBits, VkStructureType rootType,
14221                                    const VkSubresourceLayout2EXT* toCount, size_t* count) {
14222     (void)featureBits;
14223     (void)rootType;
14224     (void)toCount;
14225     (void)count;
14226     *count += sizeof(VkStructureType);
14227     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14228         rootType = toCount->sType;
14229     }
14230     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14231     count_VkSubresourceLayout(featureBits, rootType,
14232                               (VkSubresourceLayout*)(&toCount->subresourceLayout), count);
14233 }
14234 
count_VkImageSubresource2EXT(uint32_t featureBits,VkStructureType rootType,const VkImageSubresource2EXT * toCount,size_t * count)14235 void count_VkImageSubresource2EXT(uint32_t featureBits, VkStructureType rootType,
14236                                   const VkImageSubresource2EXT* toCount, size_t* count) {
14237     (void)featureBits;
14238     (void)rootType;
14239     (void)toCount;
14240     (void)count;
14241     *count += sizeof(VkStructureType);
14242     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14243         rootType = toCount->sType;
14244     }
14245     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14246     count_VkImageSubresource(featureBits, rootType,
14247                              (VkImageSubresource*)(&toCount->imageSubresource), count);
14248 }
14249 
count_VkImageCompressionPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCompressionPropertiesEXT * toCount,size_t * count)14250 void count_VkImageCompressionPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
14251                                            const VkImageCompressionPropertiesEXT* toCount,
14252                                            size_t* count) {
14253     (void)featureBits;
14254     (void)rootType;
14255     (void)toCount;
14256     (void)count;
14257     *count += sizeof(VkStructureType);
14258     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14259         rootType = toCount->sType;
14260     }
14261     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14262     *count += sizeof(VkImageCompressionFlagsEXT);
14263     *count += sizeof(VkImageCompressionFixedRateFlagsEXT);
14264 }
14265 
14266 #endif
14267 #ifdef VK_EXT_attachment_feedback_loop_layout
count_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT * toCount,size_t * count)14268 void count_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(
14269     uint32_t featureBits, VkStructureType rootType,
14270     const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT* toCount, size_t* count) {
14271     (void)featureBits;
14272     (void)rootType;
14273     (void)toCount;
14274     (void)count;
14275     *count += sizeof(VkStructureType);
14276     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14277         rootType = toCount->sType;
14278     }
14279     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14280     *count += sizeof(VkBool32);
14281 }
14282 
14283 #endif
14284 #ifdef VK_EXT_4444_formats
count_VkPhysicalDevice4444FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * toCount,size_t * count)14285 void count_VkPhysicalDevice4444FormatsFeaturesEXT(
14286     uint32_t featureBits, VkStructureType rootType,
14287     const VkPhysicalDevice4444FormatsFeaturesEXT* toCount, size_t* count) {
14288     (void)featureBits;
14289     (void)rootType;
14290     (void)toCount;
14291     (void)count;
14292     *count += sizeof(VkStructureType);
14293     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14294         rootType = toCount->sType;
14295     }
14296     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14297     *count += sizeof(VkBool32);
14298     *count += sizeof(VkBool32);
14299 }
14300 
14301 #endif
14302 #ifdef VK_EXT_device_fault
count_VkPhysicalDeviceFaultFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFaultFeaturesEXT * toCount,size_t * count)14303 void count_VkPhysicalDeviceFaultFeaturesEXT(uint32_t featureBits, VkStructureType rootType,
14304                                             const VkPhysicalDeviceFaultFeaturesEXT* toCount,
14305                                             size_t* count) {
14306     (void)featureBits;
14307     (void)rootType;
14308     (void)toCount;
14309     (void)count;
14310     *count += sizeof(VkStructureType);
14311     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14312         rootType = toCount->sType;
14313     }
14314     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14315     *count += sizeof(VkBool32);
14316     *count += sizeof(VkBool32);
14317 }
14318 
count_VkDeviceFaultCountsEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceFaultCountsEXT * toCount,size_t * count)14319 void count_VkDeviceFaultCountsEXT(uint32_t featureBits, VkStructureType rootType,
14320                                   const VkDeviceFaultCountsEXT* toCount, size_t* count) {
14321     (void)featureBits;
14322     (void)rootType;
14323     (void)toCount;
14324     (void)count;
14325     *count += sizeof(VkStructureType);
14326     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14327         rootType = toCount->sType;
14328     }
14329     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14330     *count += sizeof(uint32_t);
14331     *count += sizeof(uint32_t);
14332     *count += sizeof(VkDeviceSize);
14333 }
14334 
count_VkDeviceFaultAddressInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceFaultAddressInfoEXT * toCount,size_t * count)14335 void count_VkDeviceFaultAddressInfoEXT(uint32_t featureBits, VkStructureType rootType,
14336                                        const VkDeviceFaultAddressInfoEXT* toCount, size_t* count) {
14337     (void)featureBits;
14338     (void)rootType;
14339     (void)toCount;
14340     (void)count;
14341     *count += sizeof(VkDeviceFaultAddressTypeEXT);
14342     *count += sizeof(VkDeviceAddress);
14343     *count += sizeof(VkDeviceSize);
14344 }
14345 
count_VkDeviceFaultVendorInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceFaultVendorInfoEXT * toCount,size_t * count)14346 void count_VkDeviceFaultVendorInfoEXT(uint32_t featureBits, VkStructureType rootType,
14347                                       const VkDeviceFaultVendorInfoEXT* toCount, size_t* count) {
14348     (void)featureBits;
14349     (void)rootType;
14350     (void)toCount;
14351     (void)count;
14352     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
14353     *count += sizeof(uint64_t);
14354     *count += sizeof(uint64_t);
14355 }
14356 
count_VkDeviceFaultInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceFaultInfoEXT * toCount,size_t * count)14357 void count_VkDeviceFaultInfoEXT(uint32_t featureBits, VkStructureType rootType,
14358                                 const VkDeviceFaultInfoEXT* toCount, size_t* count) {
14359     (void)featureBits;
14360     (void)rootType;
14361     (void)toCount;
14362     (void)count;
14363     *count += sizeof(VkStructureType);
14364     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14365         rootType = toCount->sType;
14366     }
14367     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14368     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
14369     // WARNING PTR CHECK
14370     *count += 8;
14371     if (toCount->pAddressInfos) {
14372         count_VkDeviceFaultAddressInfoEXT(
14373             featureBits, rootType, (VkDeviceFaultAddressInfoEXT*)(toCount->pAddressInfos), count);
14374     }
14375     // WARNING PTR CHECK
14376     *count += 8;
14377     if (toCount->pVendorInfos) {
14378         count_VkDeviceFaultVendorInfoEXT(
14379             featureBits, rootType, (VkDeviceFaultVendorInfoEXT*)(toCount->pVendorInfos), count);
14380     }
14381     // WARNING PTR CHECK
14382     *count += 8;
14383     if (toCount->pVendorBinaryData) {
14384         *count += sizeof(uint8_t);
14385     }
14386 }
14387 
count_VkDeviceFaultVendorBinaryHeaderVersionOneEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceFaultVendorBinaryHeaderVersionOneEXT * toCount,size_t * count)14388 void count_VkDeviceFaultVendorBinaryHeaderVersionOneEXT(
14389     uint32_t featureBits, VkStructureType rootType,
14390     const VkDeviceFaultVendorBinaryHeaderVersionOneEXT* toCount, size_t* count) {
14391     (void)featureBits;
14392     (void)rootType;
14393     (void)toCount;
14394     (void)count;
14395     *count += sizeof(uint32_t);
14396     *count += sizeof(VkDeviceFaultVendorBinaryHeaderVersionEXT);
14397     *count += sizeof(uint32_t);
14398     *count += sizeof(uint32_t);
14399     *count += sizeof(uint32_t);
14400     *count += VK_UUID_SIZE * sizeof(uint8_t);
14401     *count += sizeof(uint32_t);
14402     *count += sizeof(uint32_t);
14403     *count += sizeof(uint32_t);
14404     *count += sizeof(uint32_t);
14405     *count += sizeof(uint32_t);
14406 }
14407 
14408 #endif
14409 #ifdef VK_ARM_rasterization_order_attachment_access
count_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT * toCount,size_t * count)14410 void count_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(
14411     uint32_t featureBits, VkStructureType rootType,
14412     const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT* toCount, size_t* count) {
14413     (void)featureBits;
14414     (void)rootType;
14415     (void)toCount;
14416     (void)count;
14417     *count += sizeof(VkStructureType);
14418     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14419         rootType = toCount->sType;
14420     }
14421     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14422     *count += sizeof(VkBool32);
14423     *count += sizeof(VkBool32);
14424     *count += sizeof(VkBool32);
14425 }
14426 
14427 #endif
14428 #ifdef VK_EXT_rgba10x6_formats
count_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT * toCount,size_t * count)14429 void count_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(
14430     uint32_t featureBits, VkStructureType rootType,
14431     const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT* toCount, size_t* count) {
14432     (void)featureBits;
14433     (void)rootType;
14434     (void)toCount;
14435     (void)count;
14436     *count += sizeof(VkStructureType);
14437     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14438         rootType = toCount->sType;
14439     }
14440     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14441     *count += sizeof(VkBool32);
14442 }
14443 
14444 #endif
14445 #ifdef VK_NV_acquire_winrt_display
14446 #endif
14447 #ifdef VK_EXT_directfb_surface
count_VkDirectFBSurfaceCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDirectFBSurfaceCreateInfoEXT * toCount,size_t * count)14448 void count_VkDirectFBSurfaceCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
14449                                           const VkDirectFBSurfaceCreateInfoEXT* toCount,
14450                                           size_t* count) {
14451     (void)featureBits;
14452     (void)rootType;
14453     (void)toCount;
14454     (void)count;
14455     *count += sizeof(VkStructureType);
14456     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14457         rootType = toCount->sType;
14458     }
14459     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14460     *count += sizeof(VkDirectFBSurfaceCreateFlagsEXT);
14461     // WARNING PTR CHECK
14462     *count += 8;
14463     if (toCount->dfb) {
14464         *count += sizeof(IDirectFB);
14465     }
14466     // WARNING PTR CHECK
14467     *count += 8;
14468     if (toCount->surface) {
14469         *count += sizeof(IDirectFBSurface);
14470     }
14471 }
14472 
14473 #endif
14474 #ifdef VK_VALVE_mutable_descriptor_type
count_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT * toCount,size_t * count)14475 void count_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(
14476     uint32_t featureBits, VkStructureType rootType,
14477     const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT* toCount, size_t* count) {
14478     (void)featureBits;
14479     (void)rootType;
14480     (void)toCount;
14481     (void)count;
14482     *count += sizeof(VkStructureType);
14483     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14484         rootType = toCount->sType;
14485     }
14486     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14487     *count += sizeof(VkBool32);
14488 }
14489 
count_VkMutableDescriptorTypeListEXT(uint32_t featureBits,VkStructureType rootType,const VkMutableDescriptorTypeListEXT * toCount,size_t * count)14490 void count_VkMutableDescriptorTypeListEXT(uint32_t featureBits, VkStructureType rootType,
14491                                           const VkMutableDescriptorTypeListEXT* toCount,
14492                                           size_t* count) {
14493     (void)featureBits;
14494     (void)rootType;
14495     (void)toCount;
14496     (void)count;
14497     *count += sizeof(uint32_t);
14498     if (toCount) {
14499         *count += toCount->descriptorTypeCount * sizeof(const VkDescriptorType);
14500     }
14501 }
14502 
count_VkMutableDescriptorTypeCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMutableDescriptorTypeCreateInfoEXT * toCount,size_t * count)14503 void count_VkMutableDescriptorTypeCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
14504                                                 const VkMutableDescriptorTypeCreateInfoEXT* toCount,
14505                                                 size_t* count) {
14506     (void)featureBits;
14507     (void)rootType;
14508     (void)toCount;
14509     (void)count;
14510     *count += sizeof(VkStructureType);
14511     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14512         rootType = toCount->sType;
14513     }
14514     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14515     *count += sizeof(uint32_t);
14516     if (toCount) {
14517         for (uint32_t i = 0; i < (uint32_t)toCount->mutableDescriptorTypeListCount; ++i) {
14518             count_VkMutableDescriptorTypeListEXT(
14519                 featureBits, rootType,
14520                 (const VkMutableDescriptorTypeListEXT*)(toCount->pMutableDescriptorTypeLists + i),
14521                 count);
14522         }
14523     }
14524 }
14525 
14526 #endif
14527 #ifdef VK_EXT_vertex_input_dynamic_state
count_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT * toCount,size_t * count)14528 void count_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(
14529     uint32_t featureBits, VkStructureType rootType,
14530     const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT* toCount, size_t* count) {
14531     (void)featureBits;
14532     (void)rootType;
14533     (void)toCount;
14534     (void)count;
14535     *count += sizeof(VkStructureType);
14536     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14537         rootType = toCount->sType;
14538     }
14539     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14540     *count += sizeof(VkBool32);
14541 }
14542 
count_VkVertexInputBindingDescription2EXT(uint32_t featureBits,VkStructureType rootType,const VkVertexInputBindingDescription2EXT * toCount,size_t * count)14543 void count_VkVertexInputBindingDescription2EXT(uint32_t featureBits, VkStructureType rootType,
14544                                                const VkVertexInputBindingDescription2EXT* toCount,
14545                                                size_t* count) {
14546     (void)featureBits;
14547     (void)rootType;
14548     (void)toCount;
14549     (void)count;
14550     *count += sizeof(VkStructureType);
14551     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14552         rootType = toCount->sType;
14553     }
14554     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14555     *count += sizeof(uint32_t);
14556     *count += sizeof(uint32_t);
14557     *count += sizeof(VkVertexInputRate);
14558     *count += sizeof(uint32_t);
14559 }
14560 
count_VkVertexInputAttributeDescription2EXT(uint32_t featureBits,VkStructureType rootType,const VkVertexInputAttributeDescription2EXT * toCount,size_t * count)14561 void count_VkVertexInputAttributeDescription2EXT(
14562     uint32_t featureBits, VkStructureType rootType,
14563     const VkVertexInputAttributeDescription2EXT* toCount, size_t* count) {
14564     (void)featureBits;
14565     (void)rootType;
14566     (void)toCount;
14567     (void)count;
14568     *count += sizeof(VkStructureType);
14569     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14570         rootType = toCount->sType;
14571     }
14572     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14573     *count += sizeof(uint32_t);
14574     *count += sizeof(uint32_t);
14575     *count += sizeof(VkFormat);
14576     *count += sizeof(uint32_t);
14577 }
14578 
14579 #endif
14580 #ifdef VK_EXT_physical_device_drm
count_VkPhysicalDeviceDrmPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDrmPropertiesEXT * toCount,size_t * count)14581 void count_VkPhysicalDeviceDrmPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
14582                                             const VkPhysicalDeviceDrmPropertiesEXT* toCount,
14583                                             size_t* count) {
14584     (void)featureBits;
14585     (void)rootType;
14586     (void)toCount;
14587     (void)count;
14588     *count += sizeof(VkStructureType);
14589     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14590         rootType = toCount->sType;
14591     }
14592     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14593     *count += sizeof(VkBool32);
14594     *count += sizeof(VkBool32);
14595     *count += sizeof(int64_t);
14596     *count += sizeof(int64_t);
14597     *count += sizeof(int64_t);
14598     *count += sizeof(int64_t);
14599 }
14600 
14601 #endif
14602 #ifdef VK_EXT_device_address_binding_report
count_VkPhysicalDeviceAddressBindingReportFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceAddressBindingReportFeaturesEXT * toCount,size_t * count)14603 void count_VkPhysicalDeviceAddressBindingReportFeaturesEXT(
14604     uint32_t featureBits, VkStructureType rootType,
14605     const VkPhysicalDeviceAddressBindingReportFeaturesEXT* toCount, size_t* count) {
14606     (void)featureBits;
14607     (void)rootType;
14608     (void)toCount;
14609     (void)count;
14610     *count += sizeof(VkStructureType);
14611     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14612         rootType = toCount->sType;
14613     }
14614     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14615     *count += sizeof(VkBool32);
14616 }
14617 
count_VkDeviceAddressBindingCallbackDataEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceAddressBindingCallbackDataEXT * toCount,size_t * count)14618 void count_VkDeviceAddressBindingCallbackDataEXT(
14619     uint32_t featureBits, VkStructureType rootType,
14620     const VkDeviceAddressBindingCallbackDataEXT* toCount, size_t* count) {
14621     (void)featureBits;
14622     (void)rootType;
14623     (void)toCount;
14624     (void)count;
14625     *count += sizeof(VkStructureType);
14626     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14627         rootType = toCount->sType;
14628     }
14629     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14630     *count += sizeof(VkDeviceAddressBindingFlagsEXT);
14631     *count += sizeof(VkDeviceAddress);
14632     *count += sizeof(VkDeviceSize);
14633     *count += sizeof(VkDeviceAddressBindingTypeEXT);
14634 }
14635 
14636 #endif
14637 #ifdef VK_EXT_depth_clip_control
count_VkPhysicalDeviceDepthClipControlFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthClipControlFeaturesEXT * toCount,size_t * count)14638 void count_VkPhysicalDeviceDepthClipControlFeaturesEXT(
14639     uint32_t featureBits, VkStructureType rootType,
14640     const VkPhysicalDeviceDepthClipControlFeaturesEXT* toCount, size_t* count) {
14641     (void)featureBits;
14642     (void)rootType;
14643     (void)toCount;
14644     (void)count;
14645     *count += sizeof(VkStructureType);
14646     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14647         rootType = toCount->sType;
14648     }
14649     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14650     *count += sizeof(VkBool32);
14651 }
14652 
count_VkPipelineViewportDepthClipControlCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineViewportDepthClipControlCreateInfoEXT * toCount,size_t * count)14653 void count_VkPipelineViewportDepthClipControlCreateInfoEXT(
14654     uint32_t featureBits, VkStructureType rootType,
14655     const VkPipelineViewportDepthClipControlCreateInfoEXT* toCount, size_t* count) {
14656     (void)featureBits;
14657     (void)rootType;
14658     (void)toCount;
14659     (void)count;
14660     *count += sizeof(VkStructureType);
14661     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14662         rootType = toCount->sType;
14663     }
14664     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14665     *count += sizeof(VkBool32);
14666 }
14667 
14668 #endif
14669 #ifdef VK_EXT_primitive_topology_list_restart
count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * toCount,size_t * count)14670 void count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
14671     uint32_t featureBits, VkStructureType rootType,
14672     const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* toCount, size_t* count) {
14673     (void)featureBits;
14674     (void)rootType;
14675     (void)toCount;
14676     (void)count;
14677     *count += sizeof(VkStructureType);
14678     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14679         rootType = toCount->sType;
14680     }
14681     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14682     *count += sizeof(VkBool32);
14683     *count += sizeof(VkBool32);
14684 }
14685 
14686 #endif
14687 #ifdef VK_FUCHSIA_external_memory
count_VkImportMemoryZirconHandleInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkImportMemoryZirconHandleInfoFUCHSIA * toCount,size_t * count)14688 void count_VkImportMemoryZirconHandleInfoFUCHSIA(
14689     uint32_t featureBits, VkStructureType rootType,
14690     const VkImportMemoryZirconHandleInfoFUCHSIA* toCount, size_t* count) {
14691     (void)featureBits;
14692     (void)rootType;
14693     (void)toCount;
14694     (void)count;
14695     *count += sizeof(VkStructureType);
14696     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14697         rootType = toCount->sType;
14698     }
14699     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14700     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
14701     *count += sizeof(zx_handle_t);
14702 }
14703 
count_VkMemoryZirconHandlePropertiesFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkMemoryZirconHandlePropertiesFUCHSIA * toCount,size_t * count)14704 void count_VkMemoryZirconHandlePropertiesFUCHSIA(
14705     uint32_t featureBits, VkStructureType rootType,
14706     const VkMemoryZirconHandlePropertiesFUCHSIA* toCount, size_t* count) {
14707     (void)featureBits;
14708     (void)rootType;
14709     (void)toCount;
14710     (void)count;
14711     *count += sizeof(VkStructureType);
14712     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14713         rootType = toCount->sType;
14714     }
14715     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14716     *count += sizeof(uint32_t);
14717 }
14718 
count_VkMemoryGetZirconHandleInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkMemoryGetZirconHandleInfoFUCHSIA * toCount,size_t * count)14719 void count_VkMemoryGetZirconHandleInfoFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14720                                               const VkMemoryGetZirconHandleInfoFUCHSIA* toCount,
14721                                               size_t* count) {
14722     (void)featureBits;
14723     (void)rootType;
14724     (void)toCount;
14725     (void)count;
14726     *count += sizeof(VkStructureType);
14727     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14728         rootType = toCount->sType;
14729     }
14730     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14731     uint64_t cgen_var_0;
14732     *count += 1 * 8;
14733     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
14734 }
14735 
14736 #endif
14737 #ifdef VK_FUCHSIA_external_semaphore
count_VkImportSemaphoreZirconHandleInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkImportSemaphoreZirconHandleInfoFUCHSIA * toCount,size_t * count)14738 void count_VkImportSemaphoreZirconHandleInfoFUCHSIA(
14739     uint32_t featureBits, VkStructureType rootType,
14740     const VkImportSemaphoreZirconHandleInfoFUCHSIA* toCount, size_t* count) {
14741     (void)featureBits;
14742     (void)rootType;
14743     (void)toCount;
14744     (void)count;
14745     *count += sizeof(VkStructureType);
14746     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14747         rootType = toCount->sType;
14748     }
14749     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14750     uint64_t cgen_var_0;
14751     *count += 1 * 8;
14752     *count += sizeof(VkSemaphoreImportFlags);
14753     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
14754     *count += sizeof(zx_handle_t);
14755 }
14756 
count_VkSemaphoreGetZirconHandleInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreGetZirconHandleInfoFUCHSIA * toCount,size_t * count)14757 void count_VkSemaphoreGetZirconHandleInfoFUCHSIA(
14758     uint32_t featureBits, VkStructureType rootType,
14759     const VkSemaphoreGetZirconHandleInfoFUCHSIA* toCount, size_t* count) {
14760     (void)featureBits;
14761     (void)rootType;
14762     (void)toCount;
14763     (void)count;
14764     *count += sizeof(VkStructureType);
14765     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14766         rootType = toCount->sType;
14767     }
14768     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14769     uint64_t cgen_var_0;
14770     *count += 1 * 8;
14771     *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
14772 }
14773 
14774 #endif
14775 #ifdef VK_FUCHSIA_buffer_collection
count_VkBufferCollectionCreateInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkBufferCollectionCreateInfoFUCHSIA * toCount,size_t * count)14776 void count_VkBufferCollectionCreateInfoFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14777                                                const VkBufferCollectionCreateInfoFUCHSIA* toCount,
14778                                                size_t* count) {
14779     (void)featureBits;
14780     (void)rootType;
14781     (void)toCount;
14782     (void)count;
14783     *count += sizeof(VkStructureType);
14784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14785         rootType = toCount->sType;
14786     }
14787     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14788     *count += sizeof(zx_handle_t);
14789 }
14790 
count_VkImportMemoryBufferCollectionFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkImportMemoryBufferCollectionFUCHSIA * toCount,size_t * count)14791 void count_VkImportMemoryBufferCollectionFUCHSIA(
14792     uint32_t featureBits, VkStructureType rootType,
14793     const VkImportMemoryBufferCollectionFUCHSIA* toCount, size_t* count) {
14794     (void)featureBits;
14795     (void)rootType;
14796     (void)toCount;
14797     (void)count;
14798     *count += sizeof(VkStructureType);
14799     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14800         rootType = toCount->sType;
14801     }
14802     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14803     *count += 8;
14804     *count += sizeof(uint32_t);
14805 }
14806 
count_VkBufferCollectionImageCreateInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkBufferCollectionImageCreateInfoFUCHSIA * toCount,size_t * count)14807 void count_VkBufferCollectionImageCreateInfoFUCHSIA(
14808     uint32_t featureBits, VkStructureType rootType,
14809     const VkBufferCollectionImageCreateInfoFUCHSIA* toCount, size_t* count) {
14810     (void)featureBits;
14811     (void)rootType;
14812     (void)toCount;
14813     (void)count;
14814     *count += sizeof(VkStructureType);
14815     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14816         rootType = toCount->sType;
14817     }
14818     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14819     *count += 8;
14820     *count += sizeof(uint32_t);
14821 }
14822 
count_VkBufferCollectionConstraintsInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkBufferCollectionConstraintsInfoFUCHSIA * toCount,size_t * count)14823 void count_VkBufferCollectionConstraintsInfoFUCHSIA(
14824     uint32_t featureBits, VkStructureType rootType,
14825     const VkBufferCollectionConstraintsInfoFUCHSIA* toCount, size_t* count) {
14826     (void)featureBits;
14827     (void)rootType;
14828     (void)toCount;
14829     (void)count;
14830     *count += sizeof(VkStructureType);
14831     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14832         rootType = toCount->sType;
14833     }
14834     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14835     *count += sizeof(uint32_t);
14836     *count += sizeof(uint32_t);
14837     *count += sizeof(uint32_t);
14838     *count += sizeof(uint32_t);
14839     *count += sizeof(uint32_t);
14840 }
14841 
count_VkBufferConstraintsInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkBufferConstraintsInfoFUCHSIA * toCount,size_t * count)14842 void count_VkBufferConstraintsInfoFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14843                                           const VkBufferConstraintsInfoFUCHSIA* toCount,
14844                                           size_t* count) {
14845     (void)featureBits;
14846     (void)rootType;
14847     (void)toCount;
14848     (void)count;
14849     *count += sizeof(VkStructureType);
14850     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14851         rootType = toCount->sType;
14852     }
14853     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14854     count_VkBufferCreateInfo(featureBits, rootType, (VkBufferCreateInfo*)(&toCount->createInfo),
14855                              count);
14856     *count += sizeof(VkFormatFeatureFlags);
14857     count_VkBufferCollectionConstraintsInfoFUCHSIA(
14858         featureBits, rootType,
14859         (VkBufferCollectionConstraintsInfoFUCHSIA*)(&toCount->bufferCollectionConstraints), count);
14860 }
14861 
count_VkBufferCollectionBufferCreateInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkBufferCollectionBufferCreateInfoFUCHSIA * toCount,size_t * count)14862 void count_VkBufferCollectionBufferCreateInfoFUCHSIA(
14863     uint32_t featureBits, VkStructureType rootType,
14864     const VkBufferCollectionBufferCreateInfoFUCHSIA* toCount, size_t* count) {
14865     (void)featureBits;
14866     (void)rootType;
14867     (void)toCount;
14868     (void)count;
14869     *count += sizeof(VkStructureType);
14870     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14871         rootType = toCount->sType;
14872     }
14873     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14874     *count += 8;
14875     *count += sizeof(uint32_t);
14876 }
14877 
count_VkSysmemColorSpaceFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkSysmemColorSpaceFUCHSIA * toCount,size_t * count)14878 void count_VkSysmemColorSpaceFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14879                                      const VkSysmemColorSpaceFUCHSIA* toCount, size_t* count) {
14880     (void)featureBits;
14881     (void)rootType;
14882     (void)toCount;
14883     (void)count;
14884     *count += sizeof(VkStructureType);
14885     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14886         rootType = toCount->sType;
14887     }
14888     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14889     *count += sizeof(uint32_t);
14890 }
14891 
count_VkBufferCollectionPropertiesFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkBufferCollectionPropertiesFUCHSIA * toCount,size_t * count)14892 void count_VkBufferCollectionPropertiesFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14893                                                const VkBufferCollectionPropertiesFUCHSIA* toCount,
14894                                                size_t* count) {
14895     (void)featureBits;
14896     (void)rootType;
14897     (void)toCount;
14898     (void)count;
14899     *count += sizeof(VkStructureType);
14900     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14901         rootType = toCount->sType;
14902     }
14903     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14904     *count += sizeof(uint32_t);
14905     *count += sizeof(uint32_t);
14906     *count += sizeof(uint32_t);
14907     *count += sizeof(uint64_t);
14908     *count += sizeof(VkFormatFeatureFlags);
14909     count_VkSysmemColorSpaceFUCHSIA(featureBits, rootType,
14910                                     (VkSysmemColorSpaceFUCHSIA*)(&toCount->sysmemColorSpaceIndex),
14911                                     count);
14912     count_VkComponentMapping(featureBits, rootType,
14913                              (VkComponentMapping*)(&toCount->samplerYcbcrConversionComponents),
14914                              count);
14915     *count += sizeof(VkSamplerYcbcrModelConversion);
14916     *count += sizeof(VkSamplerYcbcrRange);
14917     *count += sizeof(VkChromaLocation);
14918     *count += sizeof(VkChromaLocation);
14919 }
14920 
count_VkImageFormatConstraintsInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkImageFormatConstraintsInfoFUCHSIA * toCount,size_t * count)14921 void count_VkImageFormatConstraintsInfoFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14922                                                const VkImageFormatConstraintsInfoFUCHSIA* toCount,
14923                                                size_t* count) {
14924     (void)featureBits;
14925     (void)rootType;
14926     (void)toCount;
14927     (void)count;
14928     *count += sizeof(VkStructureType);
14929     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14930         rootType = toCount->sType;
14931     }
14932     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14933     count_VkImageCreateInfo(featureBits, rootType, (VkImageCreateInfo*)(&toCount->imageCreateInfo),
14934                             count);
14935     *count += sizeof(VkFormatFeatureFlags);
14936     *count += sizeof(VkImageFormatConstraintsFlagsFUCHSIA);
14937     *count += sizeof(uint64_t);
14938     *count += sizeof(uint32_t);
14939     if (toCount) {
14940         for (uint32_t i = 0; i < (uint32_t)toCount->colorSpaceCount; ++i) {
14941             count_VkSysmemColorSpaceFUCHSIA(
14942                 featureBits, rootType,
14943                 (const VkSysmemColorSpaceFUCHSIA*)(toCount->pColorSpaces + i), count);
14944         }
14945     }
14946 }
14947 
count_VkImageConstraintsInfoFUCHSIA(uint32_t featureBits,VkStructureType rootType,const VkImageConstraintsInfoFUCHSIA * toCount,size_t * count)14948 void count_VkImageConstraintsInfoFUCHSIA(uint32_t featureBits, VkStructureType rootType,
14949                                          const VkImageConstraintsInfoFUCHSIA* toCount,
14950                                          size_t* count) {
14951     (void)featureBits;
14952     (void)rootType;
14953     (void)toCount;
14954     (void)count;
14955     *count += sizeof(VkStructureType);
14956     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14957         rootType = toCount->sType;
14958     }
14959     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14960     *count += sizeof(uint32_t);
14961     if (toCount) {
14962         for (uint32_t i = 0; i < (uint32_t)toCount->formatConstraintsCount; ++i) {
14963             count_VkImageFormatConstraintsInfoFUCHSIA(
14964                 featureBits, rootType,
14965                 (const VkImageFormatConstraintsInfoFUCHSIA*)(toCount->pFormatConstraints + i),
14966                 count);
14967         }
14968     }
14969     count_VkBufferCollectionConstraintsInfoFUCHSIA(
14970         featureBits, rootType,
14971         (VkBufferCollectionConstraintsInfoFUCHSIA*)(&toCount->bufferCollectionConstraints), count);
14972     *count += sizeof(VkImageConstraintsInfoFlagsFUCHSIA);
14973 }
14974 
14975 #endif
14976 #ifdef VK_HUAWEI_subpass_shading
count_VkSubpassShadingPipelineCreateInfoHUAWEI(uint32_t featureBits,VkStructureType rootType,const VkSubpassShadingPipelineCreateInfoHUAWEI * toCount,size_t * count)14977 void count_VkSubpassShadingPipelineCreateInfoHUAWEI(
14978     uint32_t featureBits, VkStructureType rootType,
14979     const VkSubpassShadingPipelineCreateInfoHUAWEI* toCount, size_t* count) {
14980     (void)featureBits;
14981     (void)rootType;
14982     (void)toCount;
14983     (void)count;
14984     *count += sizeof(VkStructureType);
14985     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
14986         rootType = toCount->sType;
14987     }
14988     count_extension_struct(featureBits, rootType, toCount->pNext, count);
14989     uint64_t cgen_var_0;
14990     *count += 1 * 8;
14991     *count += sizeof(uint32_t);
14992 }
14993 
count_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI * toCount,size_t * count)14994 void count_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(
14995     uint32_t featureBits, VkStructureType rootType,
14996     const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI* toCount, size_t* count) {
14997     (void)featureBits;
14998     (void)rootType;
14999     (void)toCount;
15000     (void)count;
15001     *count += sizeof(VkStructureType);
15002     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15003         rootType = toCount->sType;
15004     }
15005     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15006     *count += sizeof(VkBool32);
15007 }
15008 
count_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI * toCount,size_t * count)15009 void count_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(
15010     uint32_t featureBits, VkStructureType rootType,
15011     const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI* toCount, size_t* count) {
15012     (void)featureBits;
15013     (void)rootType;
15014     (void)toCount;
15015     (void)count;
15016     *count += sizeof(VkStructureType);
15017     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15018         rootType = toCount->sType;
15019     }
15020     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15021     *count += sizeof(uint32_t);
15022 }
15023 
15024 #endif
15025 #ifdef VK_HUAWEI_invocation_mask
count_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI * toCount,size_t * count)15026 void count_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(
15027     uint32_t featureBits, VkStructureType rootType,
15028     const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI* toCount, size_t* count) {
15029     (void)featureBits;
15030     (void)rootType;
15031     (void)toCount;
15032     (void)count;
15033     *count += sizeof(VkStructureType);
15034     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15035         rootType = toCount->sType;
15036     }
15037     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15038     *count += sizeof(VkBool32);
15039 }
15040 
15041 #endif
15042 #ifdef VK_NV_external_memory_rdma
count_VkMemoryGetRemoteAddressInfoNV(uint32_t featureBits,VkStructureType rootType,const VkMemoryGetRemoteAddressInfoNV * toCount,size_t * count)15043 void count_VkMemoryGetRemoteAddressInfoNV(uint32_t featureBits, VkStructureType rootType,
15044                                           const VkMemoryGetRemoteAddressInfoNV* toCount,
15045                                           size_t* count) {
15046     (void)featureBits;
15047     (void)rootType;
15048     (void)toCount;
15049     (void)count;
15050     *count += sizeof(VkStructureType);
15051     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15052         rootType = toCount->sType;
15053     }
15054     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15055     uint64_t cgen_var_0;
15056     *count += 1 * 8;
15057     *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
15058 }
15059 
count_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV * toCount,size_t * count)15060 void count_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(
15061     uint32_t featureBits, VkStructureType rootType,
15062     const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV* toCount, size_t* count) {
15063     (void)featureBits;
15064     (void)rootType;
15065     (void)toCount;
15066     (void)count;
15067     *count += sizeof(VkStructureType);
15068     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15069         rootType = toCount->sType;
15070     }
15071     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15072     *count += sizeof(VkBool32);
15073 }
15074 
15075 #endif
15076 #ifdef VK_EXT_pipeline_properties
count_VkPipelinePropertiesIdentifierEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelinePropertiesIdentifierEXT * toCount,size_t * count)15077 void count_VkPipelinePropertiesIdentifierEXT(uint32_t featureBits, VkStructureType rootType,
15078                                              const VkPipelinePropertiesIdentifierEXT* toCount,
15079                                              size_t* count) {
15080     (void)featureBits;
15081     (void)rootType;
15082     (void)toCount;
15083     (void)count;
15084     *count += sizeof(VkStructureType);
15085     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15086         rootType = toCount->sType;
15087     }
15088     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15089     *count += VK_UUID_SIZE * sizeof(uint8_t);
15090 }
15091 
count_VkPhysicalDevicePipelinePropertiesFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelinePropertiesFeaturesEXT * toCount,size_t * count)15092 void count_VkPhysicalDevicePipelinePropertiesFeaturesEXT(
15093     uint32_t featureBits, VkStructureType rootType,
15094     const VkPhysicalDevicePipelinePropertiesFeaturesEXT* toCount, size_t* count) {
15095     (void)featureBits;
15096     (void)rootType;
15097     (void)toCount;
15098     (void)count;
15099     *count += sizeof(VkStructureType);
15100     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15101         rootType = toCount->sType;
15102     }
15103     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15104     *count += sizeof(VkBool32);
15105 }
15106 
15107 #endif
15108 #ifdef VK_EXT_multisampled_render_to_single_sampled
count_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT * toCount,size_t * count)15109 void count_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(
15110     uint32_t featureBits, VkStructureType rootType,
15111     const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT* toCount, size_t* count) {
15112     (void)featureBits;
15113     (void)rootType;
15114     (void)toCount;
15115     (void)count;
15116     *count += sizeof(VkStructureType);
15117     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15118         rootType = toCount->sType;
15119     }
15120     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15121     *count += sizeof(VkBool32);
15122 }
15123 
count_VkSubpassResolvePerformanceQueryEXT(uint32_t featureBits,VkStructureType rootType,const VkSubpassResolvePerformanceQueryEXT * toCount,size_t * count)15124 void count_VkSubpassResolvePerformanceQueryEXT(uint32_t featureBits, VkStructureType rootType,
15125                                                const VkSubpassResolvePerformanceQueryEXT* toCount,
15126                                                size_t* count) {
15127     (void)featureBits;
15128     (void)rootType;
15129     (void)toCount;
15130     (void)count;
15131     *count += sizeof(VkStructureType);
15132     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15133         rootType = toCount->sType;
15134     }
15135     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15136     *count += sizeof(VkBool32);
15137 }
15138 
count_VkMultisampledRenderToSingleSampledInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMultisampledRenderToSingleSampledInfoEXT * toCount,size_t * count)15139 void count_VkMultisampledRenderToSingleSampledInfoEXT(
15140     uint32_t featureBits, VkStructureType rootType,
15141     const VkMultisampledRenderToSingleSampledInfoEXT* toCount, size_t* count) {
15142     (void)featureBits;
15143     (void)rootType;
15144     (void)toCount;
15145     (void)count;
15146     *count += sizeof(VkStructureType);
15147     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15148         rootType = toCount->sType;
15149     }
15150     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15151     *count += sizeof(VkBool32);
15152     *count += sizeof(VkSampleCountFlagBits);
15153 }
15154 
15155 #endif
15156 #ifdef VK_EXT_extended_dynamic_state2
count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * toCount,size_t * count)15157 void count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
15158     uint32_t featureBits, VkStructureType rootType,
15159     const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* toCount, size_t* count) {
15160     (void)featureBits;
15161     (void)rootType;
15162     (void)toCount;
15163     (void)count;
15164     *count += sizeof(VkStructureType);
15165     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15166         rootType = toCount->sType;
15167     }
15168     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15169     *count += sizeof(VkBool32);
15170     *count += sizeof(VkBool32);
15171     *count += sizeof(VkBool32);
15172 }
15173 
15174 #endif
15175 #ifdef VK_QNX_screen_surface
count_VkScreenSurfaceCreateInfoQNX(uint32_t featureBits,VkStructureType rootType,const VkScreenSurfaceCreateInfoQNX * toCount,size_t * count)15176 void count_VkScreenSurfaceCreateInfoQNX(uint32_t featureBits, VkStructureType rootType,
15177                                         const VkScreenSurfaceCreateInfoQNX* toCount,
15178                                         size_t* count) {
15179     (void)featureBits;
15180     (void)rootType;
15181     (void)toCount;
15182     (void)count;
15183     *count += sizeof(VkStructureType);
15184     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15185         rootType = toCount->sType;
15186     }
15187     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15188     *count += sizeof(VkScreenSurfaceCreateFlagsQNX);
15189     // WARNING PTR CHECK
15190     *count += 8;
15191     if (toCount->context) {
15192         *count += sizeof(_screen_context);
15193     }
15194     // WARNING PTR CHECK
15195     *count += 8;
15196     if (toCount->window) {
15197         *count += sizeof(_screen_window);
15198     }
15199 }
15200 
15201 #endif
15202 #ifdef VK_EXT_color_write_enable
count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * toCount,size_t * count)15203 void count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
15204     uint32_t featureBits, VkStructureType rootType,
15205     const VkPhysicalDeviceColorWriteEnableFeaturesEXT* toCount, size_t* count) {
15206     (void)featureBits;
15207     (void)rootType;
15208     (void)toCount;
15209     (void)count;
15210     *count += sizeof(VkStructureType);
15211     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15212         rootType = toCount->sType;
15213     }
15214     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15215     *count += sizeof(VkBool32);
15216 }
15217 
count_VkPipelineColorWriteCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * toCount,size_t * count)15218 void count_VkPipelineColorWriteCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
15219                                              const VkPipelineColorWriteCreateInfoEXT* toCount,
15220                                              size_t* count) {
15221     (void)featureBits;
15222     (void)rootType;
15223     (void)toCount;
15224     (void)count;
15225     *count += sizeof(VkStructureType);
15226     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15227         rootType = toCount->sType;
15228     }
15229     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15230     *count += sizeof(uint32_t);
15231     if (toCount) {
15232         *count += toCount->attachmentCount * sizeof(const VkBool32);
15233     }
15234 }
15235 
15236 #endif
15237 #ifdef VK_EXT_primitives_generated_query
count_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT * toCount,size_t * count)15238 void count_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(
15239     uint32_t featureBits, VkStructureType rootType,
15240     const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* toCount, size_t* count) {
15241     (void)featureBits;
15242     (void)rootType;
15243     (void)toCount;
15244     (void)count;
15245     *count += sizeof(VkStructureType);
15246     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15247         rootType = toCount->sType;
15248     }
15249     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15250     *count += sizeof(VkBool32);
15251     *count += sizeof(VkBool32);
15252     *count += sizeof(VkBool32);
15253 }
15254 
15255 #endif
15256 #ifdef VK_GOOGLE_gfxstream
count_VkImportColorBufferGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkImportColorBufferGOOGLE * toCount,size_t * count)15257 void count_VkImportColorBufferGOOGLE(uint32_t featureBits, VkStructureType rootType,
15258                                      const VkImportColorBufferGOOGLE* toCount, size_t* count) {
15259     (void)featureBits;
15260     (void)rootType;
15261     (void)toCount;
15262     (void)count;
15263     *count += sizeof(VkStructureType);
15264     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15265         rootType = toCount->sType;
15266     }
15267     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15268     *count += sizeof(uint32_t);
15269 }
15270 
count_VkImportBufferGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkImportBufferGOOGLE * toCount,size_t * count)15271 void count_VkImportBufferGOOGLE(uint32_t featureBits, VkStructureType rootType,
15272                                 const VkImportBufferGOOGLE* toCount, size_t* count) {
15273     (void)featureBits;
15274     (void)rootType;
15275     (void)toCount;
15276     (void)count;
15277     *count += sizeof(VkStructureType);
15278     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15279         rootType = toCount->sType;
15280     }
15281     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15282     *count += sizeof(uint32_t);
15283 }
15284 
count_VkCreateBlobGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkCreateBlobGOOGLE * toCount,size_t * count)15285 void count_VkCreateBlobGOOGLE(uint32_t featureBits, VkStructureType rootType,
15286                               const VkCreateBlobGOOGLE* toCount, size_t* count) {
15287     (void)featureBits;
15288     (void)rootType;
15289     (void)toCount;
15290     (void)count;
15291     *count += sizeof(VkStructureType);
15292     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15293         rootType = toCount->sType;
15294     }
15295     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15296     *count += sizeof(uint32_t);
15297     *count += sizeof(uint32_t);
15298     *count += sizeof(uint64_t);
15299 }
15300 
15301 #endif
15302 #ifdef VK_EXT_global_priority_query
15303 #endif
15304 #ifdef VK_EXT_image_view_min_lod
count_VkPhysicalDeviceImageViewMinLodFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageViewMinLodFeaturesEXT * toCount,size_t * count)15305 void count_VkPhysicalDeviceImageViewMinLodFeaturesEXT(
15306     uint32_t featureBits, VkStructureType rootType,
15307     const VkPhysicalDeviceImageViewMinLodFeaturesEXT* toCount, size_t* count) {
15308     (void)featureBits;
15309     (void)rootType;
15310     (void)toCount;
15311     (void)count;
15312     *count += sizeof(VkStructureType);
15313     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15314         rootType = toCount->sType;
15315     }
15316     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15317     *count += sizeof(VkBool32);
15318 }
15319 
count_VkImageViewMinLodCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageViewMinLodCreateInfoEXT * toCount,size_t * count)15320 void count_VkImageViewMinLodCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
15321                                           const VkImageViewMinLodCreateInfoEXT* toCount,
15322                                           size_t* count) {
15323     (void)featureBits;
15324     (void)rootType;
15325     (void)toCount;
15326     (void)count;
15327     *count += sizeof(VkStructureType);
15328     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15329         rootType = toCount->sType;
15330     }
15331     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15332     *count += sizeof(float);
15333 }
15334 
15335 #endif
15336 #ifdef VK_EXT_multi_draw
count_VkPhysicalDeviceMultiDrawFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiDrawFeaturesEXT * toCount,size_t * count)15337 void count_VkPhysicalDeviceMultiDrawFeaturesEXT(uint32_t featureBits, VkStructureType rootType,
15338                                                 const VkPhysicalDeviceMultiDrawFeaturesEXT* toCount,
15339                                                 size_t* count) {
15340     (void)featureBits;
15341     (void)rootType;
15342     (void)toCount;
15343     (void)count;
15344     *count += sizeof(VkStructureType);
15345     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15346         rootType = toCount->sType;
15347     }
15348     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15349     *count += sizeof(VkBool32);
15350 }
15351 
count_VkPhysicalDeviceMultiDrawPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiDrawPropertiesEXT * toCount,size_t * count)15352 void count_VkPhysicalDeviceMultiDrawPropertiesEXT(
15353     uint32_t featureBits, VkStructureType rootType,
15354     const VkPhysicalDeviceMultiDrawPropertiesEXT* toCount, size_t* count) {
15355     (void)featureBits;
15356     (void)rootType;
15357     (void)toCount;
15358     (void)count;
15359     *count += sizeof(VkStructureType);
15360     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15361         rootType = toCount->sType;
15362     }
15363     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15364     *count += sizeof(uint32_t);
15365 }
15366 
count_VkMultiDrawInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMultiDrawInfoEXT * toCount,size_t * count)15367 void count_VkMultiDrawInfoEXT(uint32_t featureBits, VkStructureType rootType,
15368                               const VkMultiDrawInfoEXT* toCount, size_t* count) {
15369     (void)featureBits;
15370     (void)rootType;
15371     (void)toCount;
15372     (void)count;
15373     *count += sizeof(uint32_t);
15374     *count += sizeof(uint32_t);
15375 }
15376 
count_VkMultiDrawIndexedInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMultiDrawIndexedInfoEXT * toCount,size_t * count)15377 void count_VkMultiDrawIndexedInfoEXT(uint32_t featureBits, VkStructureType rootType,
15378                                      const VkMultiDrawIndexedInfoEXT* toCount, size_t* count) {
15379     (void)featureBits;
15380     (void)rootType;
15381     (void)toCount;
15382     (void)count;
15383     *count += sizeof(uint32_t);
15384     *count += sizeof(uint32_t);
15385     *count += sizeof(int32_t);
15386 }
15387 
15388 #endif
15389 #ifdef VK_EXT_image_2d_view_of_3d
count_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT * toCount,size_t * count)15390 void count_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT(
15391     uint32_t featureBits, VkStructureType rootType,
15392     const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* toCount, size_t* count) {
15393     (void)featureBits;
15394     (void)rootType;
15395     (void)toCount;
15396     (void)count;
15397     *count += sizeof(VkStructureType);
15398     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15399         rootType = toCount->sType;
15400     }
15401     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15402     *count += sizeof(VkBool32);
15403     *count += sizeof(VkBool32);
15404 }
15405 
15406 #endif
15407 #ifdef VK_EXT_shader_tile_image
count_VkPhysicalDeviceShaderTileImageFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderTileImageFeaturesEXT * toCount,size_t * count)15408 void count_VkPhysicalDeviceShaderTileImageFeaturesEXT(
15409     uint32_t featureBits, VkStructureType rootType,
15410     const VkPhysicalDeviceShaderTileImageFeaturesEXT* toCount, size_t* count) {
15411     (void)featureBits;
15412     (void)rootType;
15413     (void)toCount;
15414     (void)count;
15415     *count += sizeof(VkStructureType);
15416     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15417         rootType = toCount->sType;
15418     }
15419     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15420     *count += sizeof(VkBool32);
15421     *count += sizeof(VkBool32);
15422     *count += sizeof(VkBool32);
15423 }
15424 
count_VkPhysicalDeviceShaderTileImagePropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderTileImagePropertiesEXT * toCount,size_t * count)15425 void count_VkPhysicalDeviceShaderTileImagePropertiesEXT(
15426     uint32_t featureBits, VkStructureType rootType,
15427     const VkPhysicalDeviceShaderTileImagePropertiesEXT* toCount, size_t* count) {
15428     (void)featureBits;
15429     (void)rootType;
15430     (void)toCount;
15431     (void)count;
15432     *count += sizeof(VkStructureType);
15433     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15434         rootType = toCount->sType;
15435     }
15436     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15437     *count += sizeof(VkBool32);
15438     *count += sizeof(VkBool32);
15439     *count += sizeof(VkBool32);
15440 }
15441 
15442 #endif
15443 #ifdef VK_EXT_opacity_micromap
count_VkMicromapUsageEXT(uint32_t featureBits,VkStructureType rootType,const VkMicromapUsageEXT * toCount,size_t * count)15444 void count_VkMicromapUsageEXT(uint32_t featureBits, VkStructureType rootType,
15445                               const VkMicromapUsageEXT* toCount, size_t* count) {
15446     (void)featureBits;
15447     (void)rootType;
15448     (void)toCount;
15449     (void)count;
15450     *count += sizeof(uint32_t);
15451     *count += sizeof(uint32_t);
15452     *count += sizeof(uint32_t);
15453 }
15454 
count_VkDeviceOrHostAddressKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceOrHostAddressKHR * toCount,size_t * count)15455 void count_VkDeviceOrHostAddressKHR(uint32_t featureBits, VkStructureType rootType,
15456                                     const VkDeviceOrHostAddressKHR* toCount, size_t* count) {
15457     (void)featureBits;
15458     (void)rootType;
15459     (void)toCount;
15460     (void)count;
15461     *count += sizeof(VkDeviceAddress);
15462 }
15463 
count_VkMicromapBuildInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMicromapBuildInfoEXT * toCount,size_t * count)15464 void count_VkMicromapBuildInfoEXT(uint32_t featureBits, VkStructureType rootType,
15465                                   const VkMicromapBuildInfoEXT* toCount, size_t* count) {
15466     (void)featureBits;
15467     (void)rootType;
15468     (void)toCount;
15469     (void)count;
15470     *count += sizeof(VkStructureType);
15471     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15472         rootType = toCount->sType;
15473     }
15474     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15475     *count += sizeof(VkMicromapTypeEXT);
15476     *count += sizeof(VkBuildMicromapFlagsEXT);
15477     *count += sizeof(VkBuildMicromapModeEXT);
15478     *count += 8;
15479     *count += sizeof(uint32_t);
15480     // WARNING PTR CHECK
15481     *count += 8;
15482     if (toCount->pUsageCounts) {
15483         if (toCount) {
15484             for (uint32_t i = 0; i < (uint32_t)toCount->usageCountsCount; ++i) {
15485                 count_VkMicromapUsageEXT(featureBits, rootType,
15486                                          (const VkMicromapUsageEXT*)(toCount->pUsageCounts + i),
15487                                          count);
15488             }
15489         }
15490     }
15491     count_VkDeviceOrHostAddressConstKHR(featureBits, rootType,
15492                                         (VkDeviceOrHostAddressConstKHR*)(&toCount->data), count);
15493     count_VkDeviceOrHostAddressKHR(featureBits, rootType,
15494                                    (VkDeviceOrHostAddressKHR*)(&toCount->scratchData), count);
15495     count_VkDeviceOrHostAddressConstKHR(
15496         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->triangleArray), count);
15497     *count += sizeof(VkDeviceSize);
15498 }
15499 
count_VkMicromapCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMicromapCreateInfoEXT * toCount,size_t * count)15500 void count_VkMicromapCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
15501                                    const VkMicromapCreateInfoEXT* toCount, size_t* count) {
15502     (void)featureBits;
15503     (void)rootType;
15504     (void)toCount;
15505     (void)count;
15506     *count += sizeof(VkStructureType);
15507     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15508         rootType = toCount->sType;
15509     }
15510     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15511     *count += sizeof(VkMicromapCreateFlagsEXT);
15512     uint64_t cgen_var_0;
15513     *count += 1 * 8;
15514     *count += sizeof(VkDeviceSize);
15515     *count += sizeof(VkDeviceSize);
15516     *count += sizeof(VkMicromapTypeEXT);
15517     *count += sizeof(VkDeviceAddress);
15518 }
15519 
count_VkPhysicalDeviceOpacityMicromapFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceOpacityMicromapFeaturesEXT * toCount,size_t * count)15520 void count_VkPhysicalDeviceOpacityMicromapFeaturesEXT(
15521     uint32_t featureBits, VkStructureType rootType,
15522     const VkPhysicalDeviceOpacityMicromapFeaturesEXT* toCount, size_t* count) {
15523     (void)featureBits;
15524     (void)rootType;
15525     (void)toCount;
15526     (void)count;
15527     *count += sizeof(VkStructureType);
15528     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15529         rootType = toCount->sType;
15530     }
15531     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15532     *count += sizeof(VkBool32);
15533     *count += sizeof(VkBool32);
15534     *count += sizeof(VkBool32);
15535 }
15536 
count_VkPhysicalDeviceOpacityMicromapPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceOpacityMicromapPropertiesEXT * toCount,size_t * count)15537 void count_VkPhysicalDeviceOpacityMicromapPropertiesEXT(
15538     uint32_t featureBits, VkStructureType rootType,
15539     const VkPhysicalDeviceOpacityMicromapPropertiesEXT* toCount, size_t* count) {
15540     (void)featureBits;
15541     (void)rootType;
15542     (void)toCount;
15543     (void)count;
15544     *count += sizeof(VkStructureType);
15545     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15546         rootType = toCount->sType;
15547     }
15548     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15549     *count += sizeof(uint32_t);
15550     *count += sizeof(uint32_t);
15551 }
15552 
count_VkMicromapVersionInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMicromapVersionInfoEXT * toCount,size_t * count)15553 void count_VkMicromapVersionInfoEXT(uint32_t featureBits, VkStructureType rootType,
15554                                     const VkMicromapVersionInfoEXT* toCount, size_t* count) {
15555     (void)featureBits;
15556     (void)rootType;
15557     (void)toCount;
15558     (void)count;
15559     *count += sizeof(VkStructureType);
15560     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15561         rootType = toCount->sType;
15562     }
15563     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15564     *count += 2 * VK_UUID_SIZE * sizeof(const uint8_t);
15565 }
15566 
count_VkCopyMicromapToMemoryInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCopyMicromapToMemoryInfoEXT * toCount,size_t * count)15567 void count_VkCopyMicromapToMemoryInfoEXT(uint32_t featureBits, VkStructureType rootType,
15568                                          const VkCopyMicromapToMemoryInfoEXT* toCount,
15569                                          size_t* count) {
15570     (void)featureBits;
15571     (void)rootType;
15572     (void)toCount;
15573     (void)count;
15574     *count += sizeof(VkStructureType);
15575     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15576         rootType = toCount->sType;
15577     }
15578     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15579     *count += 8;
15580     count_VkDeviceOrHostAddressKHR(featureBits, rootType,
15581                                    (VkDeviceOrHostAddressKHR*)(&toCount->dst), count);
15582     *count += sizeof(VkCopyMicromapModeEXT);
15583 }
15584 
count_VkCopyMemoryToMicromapInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCopyMemoryToMicromapInfoEXT * toCount,size_t * count)15585 void count_VkCopyMemoryToMicromapInfoEXT(uint32_t featureBits, VkStructureType rootType,
15586                                          const VkCopyMemoryToMicromapInfoEXT* toCount,
15587                                          size_t* count) {
15588     (void)featureBits;
15589     (void)rootType;
15590     (void)toCount;
15591     (void)count;
15592     *count += sizeof(VkStructureType);
15593     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15594         rootType = toCount->sType;
15595     }
15596     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15597     count_VkDeviceOrHostAddressConstKHR(featureBits, rootType,
15598                                         (VkDeviceOrHostAddressConstKHR*)(&toCount->src), count);
15599     *count += 8;
15600     *count += sizeof(VkCopyMicromapModeEXT);
15601 }
15602 
count_VkCopyMicromapInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCopyMicromapInfoEXT * toCount,size_t * count)15603 void count_VkCopyMicromapInfoEXT(uint32_t featureBits, VkStructureType rootType,
15604                                  const VkCopyMicromapInfoEXT* toCount, size_t* count) {
15605     (void)featureBits;
15606     (void)rootType;
15607     (void)toCount;
15608     (void)count;
15609     *count += sizeof(VkStructureType);
15610     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15611         rootType = toCount->sType;
15612     }
15613     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15614     *count += 8;
15615     *count += 8;
15616     *count += sizeof(VkCopyMicromapModeEXT);
15617 }
15618 
count_VkMicromapBuildSizesInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkMicromapBuildSizesInfoEXT * toCount,size_t * count)15619 void count_VkMicromapBuildSizesInfoEXT(uint32_t featureBits, VkStructureType rootType,
15620                                        const VkMicromapBuildSizesInfoEXT* toCount, size_t* count) {
15621     (void)featureBits;
15622     (void)rootType;
15623     (void)toCount;
15624     (void)count;
15625     *count += sizeof(VkStructureType);
15626     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15627         rootType = toCount->sType;
15628     }
15629     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15630     *count += sizeof(VkDeviceSize);
15631     *count += sizeof(VkDeviceSize);
15632     *count += sizeof(VkBool32);
15633 }
15634 
count_VkAccelerationStructureTrianglesOpacityMicromapEXT(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureTrianglesOpacityMicromapEXT * toCount,size_t * count)15635 void count_VkAccelerationStructureTrianglesOpacityMicromapEXT(
15636     uint32_t featureBits, VkStructureType rootType,
15637     const VkAccelerationStructureTrianglesOpacityMicromapEXT* toCount, size_t* count) {
15638     (void)featureBits;
15639     (void)rootType;
15640     (void)toCount;
15641     (void)count;
15642     *count += sizeof(VkStructureType);
15643     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15644         rootType = toCount->sType;
15645     }
15646     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15647     *count += sizeof(VkIndexType);
15648     count_VkDeviceOrHostAddressConstKHR(
15649         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->indexBuffer), count);
15650     *count += sizeof(VkDeviceSize);
15651     *count += sizeof(uint32_t);
15652     *count += sizeof(uint32_t);
15653     // WARNING PTR CHECK
15654     *count += 8;
15655     if (toCount->pUsageCounts) {
15656         if (toCount) {
15657             for (uint32_t i = 0; i < (uint32_t)toCount->usageCountsCount; ++i) {
15658                 count_VkMicromapUsageEXT(featureBits, rootType,
15659                                          (const VkMicromapUsageEXT*)(toCount->pUsageCounts + i),
15660                                          count);
15661             }
15662         }
15663     }
15664     *count += 8;
15665 }
15666 
count_VkMicromapTriangleEXT(uint32_t featureBits,VkStructureType rootType,const VkMicromapTriangleEXT * toCount,size_t * count)15667 void count_VkMicromapTriangleEXT(uint32_t featureBits, VkStructureType rootType,
15668                                  const VkMicromapTriangleEXT* toCount, size_t* count) {
15669     (void)featureBits;
15670     (void)rootType;
15671     (void)toCount;
15672     (void)count;
15673     *count += sizeof(uint32_t);
15674     *count += sizeof(uint16_t);
15675     *count += sizeof(uint16_t);
15676 }
15677 
15678 #endif
15679 #ifdef VK_NV_displacement_micromap
count_VkPhysicalDeviceDisplacementMicromapFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDisplacementMicromapFeaturesNV * toCount,size_t * count)15680 void count_VkPhysicalDeviceDisplacementMicromapFeaturesNV(
15681     uint32_t featureBits, VkStructureType rootType,
15682     const VkPhysicalDeviceDisplacementMicromapFeaturesNV* toCount, size_t* count) {
15683     (void)featureBits;
15684     (void)rootType;
15685     (void)toCount;
15686     (void)count;
15687     *count += sizeof(VkStructureType);
15688     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15689         rootType = toCount->sType;
15690     }
15691     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15692     *count += sizeof(VkBool32);
15693 }
15694 
count_VkPhysicalDeviceDisplacementMicromapPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDisplacementMicromapPropertiesNV * toCount,size_t * count)15695 void count_VkPhysicalDeviceDisplacementMicromapPropertiesNV(
15696     uint32_t featureBits, VkStructureType rootType,
15697     const VkPhysicalDeviceDisplacementMicromapPropertiesNV* toCount, size_t* count) {
15698     (void)featureBits;
15699     (void)rootType;
15700     (void)toCount;
15701     (void)count;
15702     *count += sizeof(VkStructureType);
15703     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15704         rootType = toCount->sType;
15705     }
15706     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15707     *count += sizeof(uint32_t);
15708 }
15709 
count_VkAccelerationStructureTrianglesDisplacementMicromapNV(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureTrianglesDisplacementMicromapNV * toCount,size_t * count)15710 void count_VkAccelerationStructureTrianglesDisplacementMicromapNV(
15711     uint32_t featureBits, VkStructureType rootType,
15712     const VkAccelerationStructureTrianglesDisplacementMicromapNV* toCount, size_t* count) {
15713     (void)featureBits;
15714     (void)rootType;
15715     (void)toCount;
15716     (void)count;
15717     *count += sizeof(VkStructureType);
15718     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15719         rootType = toCount->sType;
15720     }
15721     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15722     *count += sizeof(VkFormat);
15723     *count += sizeof(VkFormat);
15724     count_VkDeviceOrHostAddressConstKHR(
15725         featureBits, rootType,
15726         (VkDeviceOrHostAddressConstKHR*)(&toCount->displacementBiasAndScaleBuffer), count);
15727     *count += sizeof(VkDeviceSize);
15728     count_VkDeviceOrHostAddressConstKHR(
15729         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->displacementVectorBuffer),
15730         count);
15731     *count += sizeof(VkDeviceSize);
15732     count_VkDeviceOrHostAddressConstKHR(
15733         featureBits, rootType,
15734         (VkDeviceOrHostAddressConstKHR*)(&toCount->displacedMicromapPrimitiveFlags), count);
15735     *count += sizeof(VkDeviceSize);
15736     *count += sizeof(VkIndexType);
15737     count_VkDeviceOrHostAddressConstKHR(
15738         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->indexBuffer), count);
15739     *count += sizeof(VkDeviceSize);
15740     *count += sizeof(uint32_t);
15741     *count += sizeof(uint32_t);
15742     // WARNING PTR CHECK
15743     *count += 8;
15744     if (toCount->pUsageCounts) {
15745         if (toCount) {
15746             for (uint32_t i = 0; i < (uint32_t)toCount->usageCountsCount; ++i) {
15747                 count_VkMicromapUsageEXT(featureBits, rootType,
15748                                          (const VkMicromapUsageEXT*)(toCount->pUsageCounts + i),
15749                                          count);
15750             }
15751         }
15752     }
15753     *count += 8;
15754 }
15755 
15756 #endif
15757 #ifdef VK_EXT_load_store_op_none
15758 #endif
15759 #ifdef VK_HUAWEI_cluster_culling_shader
count_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI * toCount,size_t * count)15760 void count_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI(
15761     uint32_t featureBits, VkStructureType rootType,
15762     const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI* toCount, size_t* count) {
15763     (void)featureBits;
15764     (void)rootType;
15765     (void)toCount;
15766     (void)count;
15767     *count += sizeof(VkStructureType);
15768     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15769         rootType = toCount->sType;
15770     }
15771     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15772     *count += sizeof(VkBool32);
15773     *count += sizeof(VkBool32);
15774 }
15775 
count_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI * toCount,size_t * count)15776 void count_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI(
15777     uint32_t featureBits, VkStructureType rootType,
15778     const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI* toCount, size_t* count) {
15779     (void)featureBits;
15780     (void)rootType;
15781     (void)toCount;
15782     (void)count;
15783     *count += sizeof(VkStructureType);
15784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15785         rootType = toCount->sType;
15786     }
15787     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15788     *count += 3 * sizeof(uint32_t);
15789     *count += 3 * sizeof(uint32_t);
15790     *count += sizeof(uint32_t);
15791     *count += sizeof(VkDeviceSize);
15792 }
15793 
15794 #endif
15795 #ifdef VK_EXT_border_color_swizzle
count_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT * toCount,size_t * count)15796 void count_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(
15797     uint32_t featureBits, VkStructureType rootType,
15798     const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* toCount, size_t* count) {
15799     (void)featureBits;
15800     (void)rootType;
15801     (void)toCount;
15802     (void)count;
15803     *count += sizeof(VkStructureType);
15804     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15805         rootType = toCount->sType;
15806     }
15807     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15808     *count += sizeof(VkBool32);
15809     *count += sizeof(VkBool32);
15810 }
15811 
count_VkSamplerBorderColorComponentMappingCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSamplerBorderColorComponentMappingCreateInfoEXT * toCount,size_t * count)15812 void count_VkSamplerBorderColorComponentMappingCreateInfoEXT(
15813     uint32_t featureBits, VkStructureType rootType,
15814     const VkSamplerBorderColorComponentMappingCreateInfoEXT* toCount, size_t* count) {
15815     (void)featureBits;
15816     (void)rootType;
15817     (void)toCount;
15818     (void)count;
15819     *count += sizeof(VkStructureType);
15820     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15821         rootType = toCount->sType;
15822     }
15823     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15824     count_VkComponentMapping(featureBits, rootType, (VkComponentMapping*)(&toCount->components),
15825                              count);
15826     *count += sizeof(VkBool32);
15827 }
15828 
15829 #endif
15830 #ifdef VK_EXT_pageable_device_local_memory
count_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT * toCount,size_t * count)15831 void count_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(
15832     uint32_t featureBits, VkStructureType rootType,
15833     const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* toCount, size_t* count) {
15834     (void)featureBits;
15835     (void)rootType;
15836     (void)toCount;
15837     (void)count;
15838     *count += sizeof(VkStructureType);
15839     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15840         rootType = toCount->sType;
15841     }
15842     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15843     *count += sizeof(VkBool32);
15844 }
15845 
15846 #endif
15847 #ifdef VK_ARM_shader_core_properties
count_VkPhysicalDeviceShaderCorePropertiesARM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderCorePropertiesARM * toCount,size_t * count)15848 void count_VkPhysicalDeviceShaderCorePropertiesARM(
15849     uint32_t featureBits, VkStructureType rootType,
15850     const VkPhysicalDeviceShaderCorePropertiesARM* toCount, size_t* count) {
15851     (void)featureBits;
15852     (void)rootType;
15853     (void)toCount;
15854     (void)count;
15855     *count += sizeof(VkStructureType);
15856     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15857         rootType = toCount->sType;
15858     }
15859     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15860     *count += sizeof(uint32_t);
15861     *count += sizeof(uint32_t);
15862     *count += sizeof(uint32_t);
15863 }
15864 
15865 #endif
15866 #ifdef VK_EXT_image_sliced_view_of_3d
count_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT * toCount,size_t * count)15867 void count_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(
15868     uint32_t featureBits, VkStructureType rootType,
15869     const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT* toCount, size_t* count) {
15870     (void)featureBits;
15871     (void)rootType;
15872     (void)toCount;
15873     (void)count;
15874     *count += sizeof(VkStructureType);
15875     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15876         rootType = toCount->sType;
15877     }
15878     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15879     *count += sizeof(VkBool32);
15880 }
15881 
count_VkImageViewSlicedCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageViewSlicedCreateInfoEXT * toCount,size_t * count)15882 void count_VkImageViewSlicedCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
15883                                           const VkImageViewSlicedCreateInfoEXT* toCount,
15884                                           size_t* count) {
15885     (void)featureBits;
15886     (void)rootType;
15887     (void)toCount;
15888     (void)count;
15889     *count += sizeof(VkStructureType);
15890     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15891         rootType = toCount->sType;
15892     }
15893     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15894     *count += sizeof(uint32_t);
15895     *count += sizeof(uint32_t);
15896 }
15897 
15898 #endif
15899 #ifdef VK_VALVE_descriptor_set_host_mapping
count_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE * toCount,size_t * count)15900 void count_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(
15901     uint32_t featureBits, VkStructureType rootType,
15902     const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* toCount, size_t* count) {
15903     (void)featureBits;
15904     (void)rootType;
15905     (void)toCount;
15906     (void)count;
15907     *count += sizeof(VkStructureType);
15908     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15909         rootType = toCount->sType;
15910     }
15911     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15912     *count += sizeof(VkBool32);
15913 }
15914 
count_VkDescriptorSetBindingReferenceVALVE(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetBindingReferenceVALVE * toCount,size_t * count)15915 void count_VkDescriptorSetBindingReferenceVALVE(uint32_t featureBits, VkStructureType rootType,
15916                                                 const VkDescriptorSetBindingReferenceVALVE* toCount,
15917                                                 size_t* count) {
15918     (void)featureBits;
15919     (void)rootType;
15920     (void)toCount;
15921     (void)count;
15922     *count += sizeof(VkStructureType);
15923     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15924         rootType = toCount->sType;
15925     }
15926     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15927     uint64_t cgen_var_0;
15928     *count += 1 * 8;
15929     *count += sizeof(uint32_t);
15930 }
15931 
count_VkDescriptorSetLayoutHostMappingInfoVALVE(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutHostMappingInfoVALVE * toCount,size_t * count)15932 void count_VkDescriptorSetLayoutHostMappingInfoVALVE(
15933     uint32_t featureBits, VkStructureType rootType,
15934     const VkDescriptorSetLayoutHostMappingInfoVALVE* toCount, size_t* count) {
15935     (void)featureBits;
15936     (void)rootType;
15937     (void)toCount;
15938     (void)count;
15939     *count += sizeof(VkStructureType);
15940     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15941         rootType = toCount->sType;
15942     }
15943     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15944     *count += 8;
15945     *count += sizeof(uint32_t);
15946 }
15947 
15948 #endif
15949 #ifdef VK_EXT_depth_clamp_zero_one
count_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT * toCount,size_t * count)15950 void count_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(
15951     uint32_t featureBits, VkStructureType rootType,
15952     const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* toCount, size_t* count) {
15953     (void)featureBits;
15954     (void)rootType;
15955     (void)toCount;
15956     (void)count;
15957     *count += sizeof(VkStructureType);
15958     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15959         rootType = toCount->sType;
15960     }
15961     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15962     *count += sizeof(VkBool32);
15963 }
15964 
15965 #endif
15966 #ifdef VK_EXT_non_seamless_cube_map
count_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT * toCount,size_t * count)15967 void count_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(
15968     uint32_t featureBits, VkStructureType rootType,
15969     const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* toCount, size_t* count) {
15970     (void)featureBits;
15971     (void)rootType;
15972     (void)toCount;
15973     (void)count;
15974     *count += sizeof(VkStructureType);
15975     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15976         rootType = toCount->sType;
15977     }
15978     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15979     *count += sizeof(VkBool32);
15980 }
15981 
15982 #endif
15983 #ifdef VK_QCOM_fragment_density_map_offset
count_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM * toCount,size_t * count)15984 void count_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(
15985     uint32_t featureBits, VkStructureType rootType,
15986     const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* toCount, size_t* count) {
15987     (void)featureBits;
15988     (void)rootType;
15989     (void)toCount;
15990     (void)count;
15991     *count += sizeof(VkStructureType);
15992     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
15993         rootType = toCount->sType;
15994     }
15995     count_extension_struct(featureBits, rootType, toCount->pNext, count);
15996     *count += sizeof(VkBool32);
15997 }
15998 
count_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM * toCount,size_t * count)15999 void count_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(
16000     uint32_t featureBits, VkStructureType rootType,
16001     const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* toCount, size_t* count) {
16002     (void)featureBits;
16003     (void)rootType;
16004     (void)toCount;
16005     (void)count;
16006     *count += sizeof(VkStructureType);
16007     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16008         rootType = toCount->sType;
16009     }
16010     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16011     count_VkExtent2D(featureBits, rootType,
16012                      (VkExtent2D*)(&toCount->fragmentDensityOffsetGranularity), count);
16013 }
16014 
count_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(uint32_t featureBits,VkStructureType rootType,const VkSubpassFragmentDensityMapOffsetEndInfoQCOM * toCount,size_t * count)16015 void count_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(
16016     uint32_t featureBits, VkStructureType rootType,
16017     const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* toCount, size_t* count) {
16018     (void)featureBits;
16019     (void)rootType;
16020     (void)toCount;
16021     (void)count;
16022     *count += sizeof(VkStructureType);
16023     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16024         rootType = toCount->sType;
16025     }
16026     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16027     *count += sizeof(uint32_t);
16028     if (toCount) {
16029         for (uint32_t i = 0; i < (uint32_t)toCount->fragmentDensityOffsetCount; ++i) {
16030             count_VkOffset2D(featureBits, rootType,
16031                              (const VkOffset2D*)(toCount->pFragmentDensityOffsets + i), count);
16032         }
16033     }
16034 }
16035 
16036 #endif
16037 #ifdef VK_NV_copy_memory_indirect
count_VkCopyMemoryIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkCopyMemoryIndirectCommandNV * toCount,size_t * count)16038 void count_VkCopyMemoryIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
16039                                          const VkCopyMemoryIndirectCommandNV* toCount,
16040                                          size_t* count) {
16041     (void)featureBits;
16042     (void)rootType;
16043     (void)toCount;
16044     (void)count;
16045     *count += sizeof(VkDeviceAddress);
16046     *count += sizeof(VkDeviceAddress);
16047     *count += sizeof(VkDeviceSize);
16048 }
16049 
count_VkCopyMemoryToImageIndirectCommandNV(uint32_t featureBits,VkStructureType rootType,const VkCopyMemoryToImageIndirectCommandNV * toCount,size_t * count)16050 void count_VkCopyMemoryToImageIndirectCommandNV(uint32_t featureBits, VkStructureType rootType,
16051                                                 const VkCopyMemoryToImageIndirectCommandNV* toCount,
16052                                                 size_t* count) {
16053     (void)featureBits;
16054     (void)rootType;
16055     (void)toCount;
16056     (void)count;
16057     *count += sizeof(VkDeviceAddress);
16058     *count += sizeof(uint32_t);
16059     *count += sizeof(uint32_t);
16060     count_VkImageSubresourceLayers(featureBits, rootType,
16061                                    (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
16062     count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
16063     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
16064 }
16065 
count_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV * toCount,size_t * count)16066 void count_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(
16067     uint32_t featureBits, VkStructureType rootType,
16068     const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* toCount, size_t* count) {
16069     (void)featureBits;
16070     (void)rootType;
16071     (void)toCount;
16072     (void)count;
16073     *count += sizeof(VkStructureType);
16074     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16075         rootType = toCount->sType;
16076     }
16077     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16078     *count += sizeof(VkBool32);
16079 }
16080 
count_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV * toCount,size_t * count)16081 void count_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(
16082     uint32_t featureBits, VkStructureType rootType,
16083     const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* toCount, size_t* count) {
16084     (void)featureBits;
16085     (void)rootType;
16086     (void)toCount;
16087     (void)count;
16088     *count += sizeof(VkStructureType);
16089     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16090         rootType = toCount->sType;
16091     }
16092     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16093     *count += sizeof(VkQueueFlags);
16094 }
16095 
16096 #endif
16097 #ifdef VK_NV_memory_decompression
count_VkDecompressMemoryRegionNV(uint32_t featureBits,VkStructureType rootType,const VkDecompressMemoryRegionNV * toCount,size_t * count)16098 void count_VkDecompressMemoryRegionNV(uint32_t featureBits, VkStructureType rootType,
16099                                       const VkDecompressMemoryRegionNV* toCount, size_t* count) {
16100     (void)featureBits;
16101     (void)rootType;
16102     (void)toCount;
16103     (void)count;
16104     *count += sizeof(VkDeviceAddress);
16105     *count += sizeof(VkDeviceAddress);
16106     *count += sizeof(VkDeviceSize);
16107     *count += sizeof(VkDeviceSize);
16108     *count += sizeof(VkMemoryDecompressionMethodFlagsNV);
16109 }
16110 
count_VkPhysicalDeviceMemoryDecompressionFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryDecompressionFeaturesNV * toCount,size_t * count)16111 void count_VkPhysicalDeviceMemoryDecompressionFeaturesNV(
16112     uint32_t featureBits, VkStructureType rootType,
16113     const VkPhysicalDeviceMemoryDecompressionFeaturesNV* toCount, size_t* count) {
16114     (void)featureBits;
16115     (void)rootType;
16116     (void)toCount;
16117     (void)count;
16118     *count += sizeof(VkStructureType);
16119     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16120         rootType = toCount->sType;
16121     }
16122     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16123     *count += sizeof(VkBool32);
16124 }
16125 
count_VkPhysicalDeviceMemoryDecompressionPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryDecompressionPropertiesNV * toCount,size_t * count)16126 void count_VkPhysicalDeviceMemoryDecompressionPropertiesNV(
16127     uint32_t featureBits, VkStructureType rootType,
16128     const VkPhysicalDeviceMemoryDecompressionPropertiesNV* toCount, size_t* count) {
16129     (void)featureBits;
16130     (void)rootType;
16131     (void)toCount;
16132     (void)count;
16133     *count += sizeof(VkStructureType);
16134     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16135         rootType = toCount->sType;
16136     }
16137     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16138     *count += sizeof(VkMemoryDecompressionMethodFlagsNV);
16139     *count += sizeof(uint64_t);
16140 }
16141 
16142 #endif
16143 #ifdef VK_NV_linear_color_attachment
count_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLinearColorAttachmentFeaturesNV * toCount,size_t * count)16144 void count_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(
16145     uint32_t featureBits, VkStructureType rootType,
16146     const VkPhysicalDeviceLinearColorAttachmentFeaturesNV* toCount, size_t* count) {
16147     (void)featureBits;
16148     (void)rootType;
16149     (void)toCount;
16150     (void)count;
16151     *count += sizeof(VkStructureType);
16152     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16153         rootType = toCount->sType;
16154     }
16155     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16156     *count += sizeof(VkBool32);
16157 }
16158 
16159 #endif
16160 #ifdef VK_GOOGLE_surfaceless_query
16161 #endif
16162 #ifdef VK_EXT_image_compression_control_swapchain
count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * toCount,size_t * count)16163 void count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
16164     uint32_t featureBits, VkStructureType rootType,
16165     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* toCount, size_t* count) {
16166     (void)featureBits;
16167     (void)rootType;
16168     (void)toCount;
16169     (void)count;
16170     *count += sizeof(VkStructureType);
16171     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16172         rootType = toCount->sType;
16173     }
16174     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16175     *count += sizeof(VkBool32);
16176 }
16177 
16178 #endif
16179 #ifdef VK_QCOM_image_processing
count_VkImageViewSampleWeightCreateInfoQCOM(uint32_t featureBits,VkStructureType rootType,const VkImageViewSampleWeightCreateInfoQCOM * toCount,size_t * count)16180 void count_VkImageViewSampleWeightCreateInfoQCOM(
16181     uint32_t featureBits, VkStructureType rootType,
16182     const VkImageViewSampleWeightCreateInfoQCOM* toCount, size_t* count) {
16183     (void)featureBits;
16184     (void)rootType;
16185     (void)toCount;
16186     (void)count;
16187     *count += sizeof(VkStructureType);
16188     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16189         rootType = toCount->sType;
16190     }
16191     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16192     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->filterCenter), count);
16193     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->filterSize), count);
16194     *count += sizeof(uint32_t);
16195 }
16196 
count_VkPhysicalDeviceImageProcessingFeaturesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageProcessingFeaturesQCOM * toCount,size_t * count)16197 void count_VkPhysicalDeviceImageProcessingFeaturesQCOM(
16198     uint32_t featureBits, VkStructureType rootType,
16199     const VkPhysicalDeviceImageProcessingFeaturesQCOM* toCount, size_t* count) {
16200     (void)featureBits;
16201     (void)rootType;
16202     (void)toCount;
16203     (void)count;
16204     *count += sizeof(VkStructureType);
16205     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16206         rootType = toCount->sType;
16207     }
16208     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16209     *count += sizeof(VkBool32);
16210     *count += sizeof(VkBool32);
16211     *count += sizeof(VkBool32);
16212 }
16213 
count_VkPhysicalDeviceImageProcessingPropertiesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageProcessingPropertiesQCOM * toCount,size_t * count)16214 void count_VkPhysicalDeviceImageProcessingPropertiesQCOM(
16215     uint32_t featureBits, VkStructureType rootType,
16216     const VkPhysicalDeviceImageProcessingPropertiesQCOM* toCount, size_t* count) {
16217     (void)featureBits;
16218     (void)rootType;
16219     (void)toCount;
16220     (void)count;
16221     *count += sizeof(VkStructureType);
16222     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16223         rootType = toCount->sType;
16224     }
16225     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16226     *count += sizeof(uint32_t);
16227     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxWeightFilterDimension),
16228                      count);
16229     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxBlockMatchRegion), count);
16230     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxBoxFilterBlockSize), count);
16231 }
16232 
16233 #endif
16234 #ifdef VK_EXT_extended_dynamic_state3
count_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT * toCount,size_t * count)16235 void count_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT(
16236     uint32_t featureBits, VkStructureType rootType,
16237     const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT* toCount, size_t* count) {
16238     (void)featureBits;
16239     (void)rootType;
16240     (void)toCount;
16241     (void)count;
16242     *count += sizeof(VkStructureType);
16243     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16244         rootType = toCount->sType;
16245     }
16246     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16247     *count += sizeof(VkBool32);
16248     *count += sizeof(VkBool32);
16249     *count += sizeof(VkBool32);
16250     *count += sizeof(VkBool32);
16251     *count += sizeof(VkBool32);
16252     *count += sizeof(VkBool32);
16253     *count += sizeof(VkBool32);
16254     *count += sizeof(VkBool32);
16255     *count += sizeof(VkBool32);
16256     *count += sizeof(VkBool32);
16257     *count += sizeof(VkBool32);
16258     *count += sizeof(VkBool32);
16259     *count += sizeof(VkBool32);
16260     *count += sizeof(VkBool32);
16261     *count += sizeof(VkBool32);
16262     *count += sizeof(VkBool32);
16263     *count += sizeof(VkBool32);
16264     *count += sizeof(VkBool32);
16265     *count += sizeof(VkBool32);
16266     *count += sizeof(VkBool32);
16267     *count += sizeof(VkBool32);
16268     *count += sizeof(VkBool32);
16269     *count += sizeof(VkBool32);
16270     *count += sizeof(VkBool32);
16271     *count += sizeof(VkBool32);
16272     *count += sizeof(VkBool32);
16273     *count += sizeof(VkBool32);
16274     *count += sizeof(VkBool32);
16275     *count += sizeof(VkBool32);
16276     *count += sizeof(VkBool32);
16277     *count += sizeof(VkBool32);
16278 }
16279 
count_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT * toCount,size_t * count)16280 void count_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT(
16281     uint32_t featureBits, VkStructureType rootType,
16282     const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT* toCount, size_t* count) {
16283     (void)featureBits;
16284     (void)rootType;
16285     (void)toCount;
16286     (void)count;
16287     *count += sizeof(VkStructureType);
16288     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16289         rootType = toCount->sType;
16290     }
16291     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16292     *count += sizeof(VkBool32);
16293 }
16294 
count_VkColorBlendEquationEXT(uint32_t featureBits,VkStructureType rootType,const VkColorBlendEquationEXT * toCount,size_t * count)16295 void count_VkColorBlendEquationEXT(uint32_t featureBits, VkStructureType rootType,
16296                                    const VkColorBlendEquationEXT* toCount, size_t* count) {
16297     (void)featureBits;
16298     (void)rootType;
16299     (void)toCount;
16300     (void)count;
16301     *count += sizeof(VkBlendFactor);
16302     *count += sizeof(VkBlendFactor);
16303     *count += sizeof(VkBlendOp);
16304     *count += sizeof(VkBlendFactor);
16305     *count += sizeof(VkBlendFactor);
16306     *count += sizeof(VkBlendOp);
16307 }
16308 
count_VkColorBlendAdvancedEXT(uint32_t featureBits,VkStructureType rootType,const VkColorBlendAdvancedEXT * toCount,size_t * count)16309 void count_VkColorBlendAdvancedEXT(uint32_t featureBits, VkStructureType rootType,
16310                                    const VkColorBlendAdvancedEXT* toCount, size_t* count) {
16311     (void)featureBits;
16312     (void)rootType;
16313     (void)toCount;
16314     (void)count;
16315     *count += sizeof(VkBlendOp);
16316     *count += sizeof(VkBool32);
16317     *count += sizeof(VkBool32);
16318     *count += sizeof(VkBlendOverlapEXT);
16319     *count += sizeof(VkBool32);
16320 }
16321 
16322 #endif
16323 #ifdef VK_EXT_subpass_merge_feedback
count_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT * toCount,size_t * count)16324 void count_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(
16325     uint32_t featureBits, VkStructureType rootType,
16326     const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT* toCount, size_t* count) {
16327     (void)featureBits;
16328     (void)rootType;
16329     (void)toCount;
16330     (void)count;
16331     *count += sizeof(VkStructureType);
16332     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16333         rootType = toCount->sType;
16334     }
16335     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16336     *count += sizeof(VkBool32);
16337 }
16338 
count_VkRenderPassCreationControlEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreationControlEXT * toCount,size_t * count)16339 void count_VkRenderPassCreationControlEXT(uint32_t featureBits, VkStructureType rootType,
16340                                           const VkRenderPassCreationControlEXT* toCount,
16341                                           size_t* count) {
16342     (void)featureBits;
16343     (void)rootType;
16344     (void)toCount;
16345     (void)count;
16346     *count += sizeof(VkStructureType);
16347     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16348         rootType = toCount->sType;
16349     }
16350     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16351     *count += sizeof(VkBool32);
16352 }
16353 
count_VkRenderPassCreationFeedbackInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreationFeedbackInfoEXT * toCount,size_t * count)16354 void count_VkRenderPassCreationFeedbackInfoEXT(uint32_t featureBits, VkStructureType rootType,
16355                                                const VkRenderPassCreationFeedbackInfoEXT* toCount,
16356                                                size_t* count) {
16357     (void)featureBits;
16358     (void)rootType;
16359     (void)toCount;
16360     (void)count;
16361     *count += sizeof(uint32_t);
16362 }
16363 
count_VkRenderPassCreationFeedbackCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreationFeedbackCreateInfoEXT * toCount,size_t * count)16364 void count_VkRenderPassCreationFeedbackCreateInfoEXT(
16365     uint32_t featureBits, VkStructureType rootType,
16366     const VkRenderPassCreationFeedbackCreateInfoEXT* toCount, size_t* count) {
16367     (void)featureBits;
16368     (void)rootType;
16369     (void)toCount;
16370     (void)count;
16371     *count += sizeof(VkStructureType);
16372     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16373         rootType = toCount->sType;
16374     }
16375     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16376     count_VkRenderPassCreationFeedbackInfoEXT(
16377         featureBits, rootType, (VkRenderPassCreationFeedbackInfoEXT*)(toCount->pRenderPassFeedback),
16378         count);
16379 }
16380 
count_VkRenderPassSubpassFeedbackInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassSubpassFeedbackInfoEXT * toCount,size_t * count)16381 void count_VkRenderPassSubpassFeedbackInfoEXT(uint32_t featureBits, VkStructureType rootType,
16382                                               const VkRenderPassSubpassFeedbackInfoEXT* toCount,
16383                                               size_t* count) {
16384     (void)featureBits;
16385     (void)rootType;
16386     (void)toCount;
16387     (void)count;
16388     *count += sizeof(VkSubpassMergeStatusEXT);
16389     *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
16390     *count += sizeof(uint32_t);
16391 }
16392 
count_VkRenderPassSubpassFeedbackCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassSubpassFeedbackCreateInfoEXT * toCount,size_t * count)16393 void count_VkRenderPassSubpassFeedbackCreateInfoEXT(
16394     uint32_t featureBits, VkStructureType rootType,
16395     const VkRenderPassSubpassFeedbackCreateInfoEXT* toCount, size_t* count) {
16396     (void)featureBits;
16397     (void)rootType;
16398     (void)toCount;
16399     (void)count;
16400     *count += sizeof(VkStructureType);
16401     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16402         rootType = toCount->sType;
16403     }
16404     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16405     count_VkRenderPassSubpassFeedbackInfoEXT(
16406         featureBits, rootType, (VkRenderPassSubpassFeedbackInfoEXT*)(toCount->pSubpassFeedback),
16407         count);
16408 }
16409 
16410 #endif
16411 #ifdef VK_LUNARG_direct_driver_loading
count_VkDirectDriverLoadingInfoLUNARG(uint32_t featureBits,VkStructureType rootType,const VkDirectDriverLoadingInfoLUNARG * toCount,size_t * count)16412 void count_VkDirectDriverLoadingInfoLUNARG(uint32_t featureBits, VkStructureType rootType,
16413                                            const VkDirectDriverLoadingInfoLUNARG* toCount,
16414                                            size_t* count) {
16415     (void)featureBits;
16416     (void)rootType;
16417     (void)toCount;
16418     (void)count;
16419     *count += sizeof(VkStructureType);
16420     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16421         rootType = toCount->sType;
16422     }
16423     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16424     *count += sizeof(VkDirectDriverLoadingFlagsLUNARG);
16425     *count += 8;
16426 }
16427 
count_VkDirectDriverLoadingListLUNARG(uint32_t featureBits,VkStructureType rootType,const VkDirectDriverLoadingListLUNARG * toCount,size_t * count)16428 void count_VkDirectDriverLoadingListLUNARG(uint32_t featureBits, VkStructureType rootType,
16429                                            const VkDirectDriverLoadingListLUNARG* toCount,
16430                                            size_t* count) {
16431     (void)featureBits;
16432     (void)rootType;
16433     (void)toCount;
16434     (void)count;
16435     *count += sizeof(VkStructureType);
16436     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16437         rootType = toCount->sType;
16438     }
16439     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16440     *count += sizeof(VkDirectDriverLoadingModeLUNARG);
16441     *count += sizeof(uint32_t);
16442     if (toCount) {
16443         for (uint32_t i = 0; i < (uint32_t)toCount->driverCount; ++i) {
16444             count_VkDirectDriverLoadingInfoLUNARG(
16445                 featureBits, rootType,
16446                 (const VkDirectDriverLoadingInfoLUNARG*)(toCount->pDrivers + i), count);
16447         }
16448     }
16449 }
16450 
16451 #endif
16452 #ifdef VK_EXT_shader_module_identifier
count_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT * toCount,size_t * count)16453 void count_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(
16454     uint32_t featureBits, VkStructureType rootType,
16455     const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT* toCount, size_t* count) {
16456     (void)featureBits;
16457     (void)rootType;
16458     (void)toCount;
16459     (void)count;
16460     *count += sizeof(VkStructureType);
16461     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16462         rootType = toCount->sType;
16463     }
16464     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16465     *count += sizeof(VkBool32);
16466 }
16467 
count_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT * toCount,size_t * count)16468 void count_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(
16469     uint32_t featureBits, VkStructureType rootType,
16470     const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* toCount, size_t* count) {
16471     (void)featureBits;
16472     (void)rootType;
16473     (void)toCount;
16474     (void)count;
16475     *count += sizeof(VkStructureType);
16476     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16477         rootType = toCount->sType;
16478     }
16479     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16480     *count += VK_UUID_SIZE * sizeof(uint8_t);
16481 }
16482 
count_VkPipelineShaderStageModuleIdentifierCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineShaderStageModuleIdentifierCreateInfoEXT * toCount,size_t * count)16483 void count_VkPipelineShaderStageModuleIdentifierCreateInfoEXT(
16484     uint32_t featureBits, VkStructureType rootType,
16485     const VkPipelineShaderStageModuleIdentifierCreateInfoEXT* toCount, size_t* count) {
16486     (void)featureBits;
16487     (void)rootType;
16488     (void)toCount;
16489     (void)count;
16490     *count += sizeof(VkStructureType);
16491     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16492         rootType = toCount->sType;
16493     }
16494     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16495     *count += sizeof(uint32_t);
16496     if (toCount) {
16497         *count += toCount->identifierSize * sizeof(const uint8_t);
16498     }
16499 }
16500 
count_VkShaderModuleIdentifierEXT(uint32_t featureBits,VkStructureType rootType,const VkShaderModuleIdentifierEXT * toCount,size_t * count)16501 void count_VkShaderModuleIdentifierEXT(uint32_t featureBits, VkStructureType rootType,
16502                                        const VkShaderModuleIdentifierEXT* toCount, size_t* count) {
16503     (void)featureBits;
16504     (void)rootType;
16505     (void)toCount;
16506     (void)count;
16507     *count += sizeof(VkStructureType);
16508     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16509         rootType = toCount->sType;
16510     }
16511     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16512     *count += sizeof(uint32_t);
16513     *count += VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT * sizeof(uint8_t);
16514 }
16515 
16516 #endif
16517 #ifdef VK_EXT_rasterization_order_attachment_access
16518 #endif
16519 #ifdef VK_NV_optical_flow
count_VkPhysicalDeviceOpticalFlowFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceOpticalFlowFeaturesNV * toCount,size_t * count)16520 void count_VkPhysicalDeviceOpticalFlowFeaturesNV(
16521     uint32_t featureBits, VkStructureType rootType,
16522     const VkPhysicalDeviceOpticalFlowFeaturesNV* toCount, size_t* count) {
16523     (void)featureBits;
16524     (void)rootType;
16525     (void)toCount;
16526     (void)count;
16527     *count += sizeof(VkStructureType);
16528     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16529         rootType = toCount->sType;
16530     }
16531     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16532     *count += sizeof(VkBool32);
16533 }
16534 
count_VkPhysicalDeviceOpticalFlowPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceOpticalFlowPropertiesNV * toCount,size_t * count)16535 void count_VkPhysicalDeviceOpticalFlowPropertiesNV(
16536     uint32_t featureBits, VkStructureType rootType,
16537     const VkPhysicalDeviceOpticalFlowPropertiesNV* toCount, size_t* count) {
16538     (void)featureBits;
16539     (void)rootType;
16540     (void)toCount;
16541     (void)count;
16542     *count += sizeof(VkStructureType);
16543     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16544         rootType = toCount->sType;
16545     }
16546     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16547     *count += sizeof(VkOpticalFlowGridSizeFlagsNV);
16548     *count += sizeof(VkOpticalFlowGridSizeFlagsNV);
16549     *count += sizeof(VkBool32);
16550     *count += sizeof(VkBool32);
16551     *count += sizeof(VkBool32);
16552     *count += sizeof(VkBool32);
16553     *count += sizeof(uint32_t);
16554     *count += sizeof(uint32_t);
16555     *count += sizeof(uint32_t);
16556     *count += sizeof(uint32_t);
16557     *count += sizeof(uint32_t);
16558 }
16559 
count_VkOpticalFlowImageFormatInfoNV(uint32_t featureBits,VkStructureType rootType,const VkOpticalFlowImageFormatInfoNV * toCount,size_t * count)16560 void count_VkOpticalFlowImageFormatInfoNV(uint32_t featureBits, VkStructureType rootType,
16561                                           const VkOpticalFlowImageFormatInfoNV* toCount,
16562                                           size_t* count) {
16563     (void)featureBits;
16564     (void)rootType;
16565     (void)toCount;
16566     (void)count;
16567     *count += sizeof(VkStructureType);
16568     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16569         rootType = toCount->sType;
16570     }
16571     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16572     *count += sizeof(VkOpticalFlowUsageFlagsNV);
16573 }
16574 
count_VkOpticalFlowImageFormatPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkOpticalFlowImageFormatPropertiesNV * toCount,size_t * count)16575 void count_VkOpticalFlowImageFormatPropertiesNV(uint32_t featureBits, VkStructureType rootType,
16576                                                 const VkOpticalFlowImageFormatPropertiesNV* toCount,
16577                                                 size_t* count) {
16578     (void)featureBits;
16579     (void)rootType;
16580     (void)toCount;
16581     (void)count;
16582     *count += sizeof(VkStructureType);
16583     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16584         rootType = toCount->sType;
16585     }
16586     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16587     *count += sizeof(VkFormat);
16588 }
16589 
count_VkOpticalFlowSessionCreateInfoNV(uint32_t featureBits,VkStructureType rootType,const VkOpticalFlowSessionCreateInfoNV * toCount,size_t * count)16590 void count_VkOpticalFlowSessionCreateInfoNV(uint32_t featureBits, VkStructureType rootType,
16591                                             const VkOpticalFlowSessionCreateInfoNV* toCount,
16592                                             size_t* count) {
16593     (void)featureBits;
16594     (void)rootType;
16595     (void)toCount;
16596     (void)count;
16597     *count += sizeof(VkStructureType);
16598     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16599         rootType = toCount->sType;
16600     }
16601     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16602     *count += sizeof(uint32_t);
16603     *count += sizeof(uint32_t);
16604     *count += sizeof(VkFormat);
16605     *count += sizeof(VkFormat);
16606     *count += sizeof(VkFormat);
16607     *count += sizeof(VkOpticalFlowGridSizeFlagsNV);
16608     *count += sizeof(VkOpticalFlowGridSizeFlagsNV);
16609     *count += sizeof(VkOpticalFlowPerformanceLevelNV);
16610     *count += sizeof(VkOpticalFlowSessionCreateFlagsNV);
16611 }
16612 
count_VkOpticalFlowSessionCreatePrivateDataInfoNV(uint32_t featureBits,VkStructureType rootType,const VkOpticalFlowSessionCreatePrivateDataInfoNV * toCount,size_t * count)16613 void count_VkOpticalFlowSessionCreatePrivateDataInfoNV(
16614     uint32_t featureBits, VkStructureType rootType,
16615     const VkOpticalFlowSessionCreatePrivateDataInfoNV* toCount, size_t* count) {
16616     (void)featureBits;
16617     (void)rootType;
16618     (void)toCount;
16619     (void)count;
16620     *count += sizeof(VkStructureType);
16621     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16622         rootType = toCount->sType;
16623     }
16624     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16625     *count += sizeof(uint32_t);
16626     *count += sizeof(uint32_t);
16627     *count += sizeof(const uint8_t);
16628 }
16629 
count_VkOpticalFlowExecuteInfoNV(uint32_t featureBits,VkStructureType rootType,const VkOpticalFlowExecuteInfoNV * toCount,size_t * count)16630 void count_VkOpticalFlowExecuteInfoNV(uint32_t featureBits, VkStructureType rootType,
16631                                       const VkOpticalFlowExecuteInfoNV* toCount, size_t* count) {
16632     (void)featureBits;
16633     (void)rootType;
16634     (void)toCount;
16635     (void)count;
16636     *count += sizeof(VkStructureType);
16637     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16638         rootType = toCount->sType;
16639     }
16640     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16641     *count += sizeof(VkOpticalFlowExecuteFlagsNV);
16642     *count += sizeof(uint32_t);
16643     if (toCount) {
16644         for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
16645             count_VkRect2D(featureBits, rootType, (const VkRect2D*)(toCount->pRegions + i), count);
16646         }
16647     }
16648 }
16649 
16650 #endif
16651 #ifdef VK_EXT_legacy_dithering
count_VkPhysicalDeviceLegacyDitheringFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLegacyDitheringFeaturesEXT * toCount,size_t * count)16652 void count_VkPhysicalDeviceLegacyDitheringFeaturesEXT(
16653     uint32_t featureBits, VkStructureType rootType,
16654     const VkPhysicalDeviceLegacyDitheringFeaturesEXT* toCount, size_t* count) {
16655     (void)featureBits;
16656     (void)rootType;
16657     (void)toCount;
16658     (void)count;
16659     *count += sizeof(VkStructureType);
16660     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16661         rootType = toCount->sType;
16662     }
16663     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16664     *count += sizeof(VkBool32);
16665 }
16666 
16667 #endif
16668 #ifdef VK_EXT_pipeline_protected_access
count_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT * toCount,size_t * count)16669 void count_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT(
16670     uint32_t featureBits, VkStructureType rootType,
16671     const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT* toCount, size_t* count) {
16672     (void)featureBits;
16673     (void)rootType;
16674     (void)toCount;
16675     (void)count;
16676     *count += sizeof(VkStructureType);
16677     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16678         rootType = toCount->sType;
16679     }
16680     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16681     *count += sizeof(VkBool32);
16682 }
16683 
16684 #endif
16685 #ifdef VK_EXT_shader_object
count_VkPhysicalDeviceShaderObjectFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderObjectFeaturesEXT * toCount,size_t * count)16686 void count_VkPhysicalDeviceShaderObjectFeaturesEXT(
16687     uint32_t featureBits, VkStructureType rootType,
16688     const VkPhysicalDeviceShaderObjectFeaturesEXT* toCount, size_t* count) {
16689     (void)featureBits;
16690     (void)rootType;
16691     (void)toCount;
16692     (void)count;
16693     *count += sizeof(VkStructureType);
16694     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16695         rootType = toCount->sType;
16696     }
16697     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16698     *count += sizeof(VkBool32);
16699 }
16700 
count_VkPhysicalDeviceShaderObjectPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderObjectPropertiesEXT * toCount,size_t * count)16701 void count_VkPhysicalDeviceShaderObjectPropertiesEXT(
16702     uint32_t featureBits, VkStructureType rootType,
16703     const VkPhysicalDeviceShaderObjectPropertiesEXT* toCount, size_t* count) {
16704     (void)featureBits;
16705     (void)rootType;
16706     (void)toCount;
16707     (void)count;
16708     *count += sizeof(VkStructureType);
16709     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16710         rootType = toCount->sType;
16711     }
16712     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16713     *count += VK_UUID_SIZE * sizeof(uint8_t);
16714     *count += sizeof(uint32_t);
16715 }
16716 
count_VkShaderCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkShaderCreateInfoEXT * toCount,size_t * count)16717 void count_VkShaderCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
16718                                  const VkShaderCreateInfoEXT* toCount, size_t* count) {
16719     (void)featureBits;
16720     (void)rootType;
16721     (void)toCount;
16722     (void)count;
16723     *count += sizeof(VkStructureType);
16724     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16725         rootType = toCount->sType;
16726     }
16727     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16728     *count += sizeof(VkShaderCreateFlagsEXT);
16729     *count += sizeof(VkShaderStageFlagBits);
16730     *count += sizeof(VkShaderStageFlags);
16731     *count += sizeof(VkShaderCodeTypeEXT);
16732     *count += 8;
16733     if (toCount) {
16734         *count += toCount->codeSize * sizeof(const uint8_t);
16735     }
16736     if (featureBits & VULKAN_STREAM_FEATURE_NULL_OPTIONAL_STRINGS_BIT) {
16737         // WARNING PTR CHECK
16738         *count += 8;
16739         if (toCount->pName) {
16740             *count += sizeof(uint32_t) + (toCount->pName ? strlen(toCount->pName) : 0);
16741         }
16742     } else {
16743         *count += sizeof(uint32_t) + (toCount->pName ? strlen(toCount->pName) : 0);
16744     }
16745     *count += sizeof(uint32_t);
16746     // WARNING PTR CHECK
16747     *count += 8;
16748     if (toCount->pSetLayouts) {
16749         if (toCount->setLayoutCount) {
16750             *count += toCount->setLayoutCount * 8;
16751         }
16752     }
16753     *count += sizeof(uint32_t);
16754     // WARNING PTR CHECK
16755     *count += 8;
16756     if (toCount->pPushConstantRanges) {
16757         if (toCount) {
16758             for (uint32_t i = 0; i < (uint32_t)toCount->pushConstantRangeCount; ++i) {
16759                 count_VkPushConstantRange(
16760                     featureBits, rootType,
16761                     (const VkPushConstantRange*)(toCount->pPushConstantRanges + i), count);
16762             }
16763         }
16764     }
16765     // WARNING PTR CHECK
16766     *count += 8;
16767     if (toCount->pSpecializationInfo) {
16768         count_VkSpecializationInfo(featureBits, rootType,
16769                                    (const VkSpecializationInfo*)(toCount->pSpecializationInfo),
16770                                    count);
16771     }
16772 }
16773 
16774 #endif
16775 #ifdef VK_QCOM_tile_properties
count_VkPhysicalDeviceTilePropertiesFeaturesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTilePropertiesFeaturesQCOM * toCount,size_t * count)16776 void count_VkPhysicalDeviceTilePropertiesFeaturesQCOM(
16777     uint32_t featureBits, VkStructureType rootType,
16778     const VkPhysicalDeviceTilePropertiesFeaturesQCOM* toCount, size_t* count) {
16779     (void)featureBits;
16780     (void)rootType;
16781     (void)toCount;
16782     (void)count;
16783     *count += sizeof(VkStructureType);
16784     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16785         rootType = toCount->sType;
16786     }
16787     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16788     *count += sizeof(VkBool32);
16789 }
16790 
count_VkTilePropertiesQCOM(uint32_t featureBits,VkStructureType rootType,const VkTilePropertiesQCOM * toCount,size_t * count)16791 void count_VkTilePropertiesQCOM(uint32_t featureBits, VkStructureType rootType,
16792                                 const VkTilePropertiesQCOM* toCount, size_t* count) {
16793     (void)featureBits;
16794     (void)rootType;
16795     (void)toCount;
16796     (void)count;
16797     *count += sizeof(VkStructureType);
16798     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16799         rootType = toCount->sType;
16800     }
16801     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16802     count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->tileSize), count);
16803     count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->apronSize), count);
16804     count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->origin), count);
16805 }
16806 
16807 #endif
16808 #ifdef VK_SEC_amigo_profiling
count_VkPhysicalDeviceAmigoProfilingFeaturesSEC(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceAmigoProfilingFeaturesSEC * toCount,size_t * count)16809 void count_VkPhysicalDeviceAmigoProfilingFeaturesSEC(
16810     uint32_t featureBits, VkStructureType rootType,
16811     const VkPhysicalDeviceAmigoProfilingFeaturesSEC* toCount, size_t* count) {
16812     (void)featureBits;
16813     (void)rootType;
16814     (void)toCount;
16815     (void)count;
16816     *count += sizeof(VkStructureType);
16817     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16818         rootType = toCount->sType;
16819     }
16820     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16821     *count += sizeof(VkBool32);
16822 }
16823 
count_VkAmigoProfilingSubmitInfoSEC(uint32_t featureBits,VkStructureType rootType,const VkAmigoProfilingSubmitInfoSEC * toCount,size_t * count)16824 void count_VkAmigoProfilingSubmitInfoSEC(uint32_t featureBits, VkStructureType rootType,
16825                                          const VkAmigoProfilingSubmitInfoSEC* toCount,
16826                                          size_t* count) {
16827     (void)featureBits;
16828     (void)rootType;
16829     (void)toCount;
16830     (void)count;
16831     *count += sizeof(VkStructureType);
16832     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16833         rootType = toCount->sType;
16834     }
16835     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16836     *count += sizeof(uint64_t);
16837     *count += sizeof(uint64_t);
16838 }
16839 
16840 #endif
16841 #ifdef VK_QCOM_multiview_per_view_viewports
count_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM * toCount,size_t * count)16842 void count_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(
16843     uint32_t featureBits, VkStructureType rootType,
16844     const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* toCount, size_t* count) {
16845     (void)featureBits;
16846     (void)rootType;
16847     (void)toCount;
16848     (void)count;
16849     *count += sizeof(VkStructureType);
16850     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16851         rootType = toCount->sType;
16852     }
16853     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16854     *count += sizeof(VkBool32);
16855 }
16856 
16857 #endif
16858 #ifdef VK_NV_ray_tracing_invocation_reorder
count_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV * toCount,size_t * count)16859 void count_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV(
16860     uint32_t featureBits, VkStructureType rootType,
16861     const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* toCount, size_t* count) {
16862     (void)featureBits;
16863     (void)rootType;
16864     (void)toCount;
16865     (void)count;
16866     *count += sizeof(VkStructureType);
16867     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16868         rootType = toCount->sType;
16869     }
16870     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16871     *count += sizeof(VkRayTracingInvocationReorderModeNV);
16872 }
16873 
count_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV * toCount,size_t * count)16874 void count_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(
16875     uint32_t featureBits, VkStructureType rootType,
16876     const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV* toCount, size_t* count) {
16877     (void)featureBits;
16878     (void)rootType;
16879     (void)toCount;
16880     (void)count;
16881     *count += sizeof(VkStructureType);
16882     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16883         rootType = toCount->sType;
16884     }
16885     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16886     *count += sizeof(VkBool32);
16887 }
16888 
16889 #endif
16890 #ifdef VK_EXT_mutable_descriptor_type
16891 #endif
16892 #ifdef VK_ARM_shader_core_builtins
count_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM * toCount,size_t * count)16893 void count_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM(
16894     uint32_t featureBits, VkStructureType rootType,
16895     const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM* toCount, size_t* count) {
16896     (void)featureBits;
16897     (void)rootType;
16898     (void)toCount;
16899     (void)count;
16900     *count += sizeof(VkStructureType);
16901     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16902         rootType = toCount->sType;
16903     }
16904     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16905     *count += sizeof(VkBool32);
16906 }
16907 
count_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM * toCount,size_t * count)16908 void count_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM(
16909     uint32_t featureBits, VkStructureType rootType,
16910     const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM* toCount, size_t* count) {
16911     (void)featureBits;
16912     (void)rootType;
16913     (void)toCount;
16914     (void)count;
16915     *count += sizeof(VkStructureType);
16916     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16917         rootType = toCount->sType;
16918     }
16919     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16920     *count += sizeof(uint64_t);
16921     *count += sizeof(uint32_t);
16922     *count += sizeof(uint32_t);
16923 }
16924 
16925 #endif
16926 #ifdef VK_EXT_pipeline_library_group_handles
count_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT * toCount,size_t * count)16927 void count_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT(
16928     uint32_t featureBits, VkStructureType rootType,
16929     const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT* toCount, size_t* count) {
16930     (void)featureBits;
16931     (void)rootType;
16932     (void)toCount;
16933     (void)count;
16934     *count += sizeof(VkStructureType);
16935     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16936         rootType = toCount->sType;
16937     }
16938     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16939     *count += sizeof(VkBool32);
16940 }
16941 
16942 #endif
16943 #ifdef VK_QCOM_multiview_per_view_render_areas
count_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM * toCount,size_t * count)16944 void count_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(
16945     uint32_t featureBits, VkStructureType rootType,
16946     const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* toCount, size_t* count) {
16947     (void)featureBits;
16948     (void)rootType;
16949     (void)toCount;
16950     (void)count;
16951     *count += sizeof(VkStructureType);
16952     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16953         rootType = toCount->sType;
16954     }
16955     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16956     *count += sizeof(VkBool32);
16957 }
16958 
count_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM(uint32_t featureBits,VkStructureType rootType,const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM * toCount,size_t * count)16959 void count_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM(
16960     uint32_t featureBits, VkStructureType rootType,
16961     const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM* toCount, size_t* count) {
16962     (void)featureBits;
16963     (void)rootType;
16964     (void)toCount;
16965     (void)count;
16966     *count += sizeof(VkStructureType);
16967     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16968         rootType = toCount->sType;
16969     }
16970     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16971     *count += sizeof(uint32_t);
16972     if (toCount) {
16973         for (uint32_t i = 0; i < (uint32_t)toCount->perViewRenderAreaCount; ++i) {
16974             count_VkRect2D(featureBits, rootType,
16975                            (const VkRect2D*)(toCount->pPerViewRenderAreas + i), count);
16976         }
16977     }
16978 }
16979 
16980 #endif
16981 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
count_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT * toCount,size_t * count)16982 void count_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT(
16983     uint32_t featureBits, VkStructureType rootType,
16984     const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT* toCount, size_t* count) {
16985     (void)featureBits;
16986     (void)rootType;
16987     (void)toCount;
16988     (void)count;
16989     *count += sizeof(VkStructureType);
16990     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
16991         rootType = toCount->sType;
16992     }
16993     count_extension_struct(featureBits, rootType, toCount->pNext, count);
16994     *count += sizeof(VkBool32);
16995 }
16996 
16997 #endif
16998 #ifdef VK_KHR_acceleration_structure
count_VkAccelerationStructureBuildRangeInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureBuildRangeInfoKHR * toCount,size_t * count)16999 void count_VkAccelerationStructureBuildRangeInfoKHR(
17000     uint32_t featureBits, VkStructureType rootType,
17001     const VkAccelerationStructureBuildRangeInfoKHR* toCount, size_t* count) {
17002     (void)featureBits;
17003     (void)rootType;
17004     (void)toCount;
17005     (void)count;
17006     *count += sizeof(uint32_t);
17007     *count += sizeof(uint32_t);
17008     *count += sizeof(uint32_t);
17009     *count += sizeof(uint32_t);
17010 }
17011 
count_VkAccelerationStructureGeometryTrianglesDataKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureGeometryTrianglesDataKHR * toCount,size_t * count)17012 void count_VkAccelerationStructureGeometryTrianglesDataKHR(
17013     uint32_t featureBits, VkStructureType rootType,
17014     const VkAccelerationStructureGeometryTrianglesDataKHR* toCount, size_t* count) {
17015     (void)featureBits;
17016     (void)rootType;
17017     (void)toCount;
17018     (void)count;
17019     *count += sizeof(VkStructureType);
17020     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17021         rootType = toCount->sType;
17022     }
17023     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17024     *count += sizeof(VkFormat);
17025     count_VkDeviceOrHostAddressConstKHR(
17026         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->vertexData), count);
17027     *count += sizeof(VkDeviceSize);
17028     *count += sizeof(uint32_t);
17029     *count += sizeof(VkIndexType);
17030     count_VkDeviceOrHostAddressConstKHR(
17031         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->indexData), count);
17032     count_VkDeviceOrHostAddressConstKHR(
17033         featureBits, rootType, (VkDeviceOrHostAddressConstKHR*)(&toCount->transformData), count);
17034 }
17035 
count_VkAccelerationStructureGeometryAabbsDataKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureGeometryAabbsDataKHR * toCount,size_t * count)17036 void count_VkAccelerationStructureGeometryAabbsDataKHR(
17037     uint32_t featureBits, VkStructureType rootType,
17038     const VkAccelerationStructureGeometryAabbsDataKHR* toCount, size_t* count) {
17039     (void)featureBits;
17040     (void)rootType;
17041     (void)toCount;
17042     (void)count;
17043     *count += sizeof(VkStructureType);
17044     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17045         rootType = toCount->sType;
17046     }
17047     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17048     count_VkDeviceOrHostAddressConstKHR(featureBits, rootType,
17049                                         (VkDeviceOrHostAddressConstKHR*)(&toCount->data), count);
17050     *count += sizeof(VkDeviceSize);
17051 }
17052 
count_VkAccelerationStructureGeometryInstancesDataKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureGeometryInstancesDataKHR * toCount,size_t * count)17053 void count_VkAccelerationStructureGeometryInstancesDataKHR(
17054     uint32_t featureBits, VkStructureType rootType,
17055     const VkAccelerationStructureGeometryInstancesDataKHR* toCount, size_t* count) {
17056     (void)featureBits;
17057     (void)rootType;
17058     (void)toCount;
17059     (void)count;
17060     *count += sizeof(VkStructureType);
17061     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17062         rootType = toCount->sType;
17063     }
17064     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17065     *count += sizeof(VkBool32);
17066     count_VkDeviceOrHostAddressConstKHR(featureBits, rootType,
17067                                         (VkDeviceOrHostAddressConstKHR*)(&toCount->data), count);
17068 }
17069 
count_VkAccelerationStructureGeometryDataKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureGeometryDataKHR * toCount,size_t * count)17070 void count_VkAccelerationStructureGeometryDataKHR(
17071     uint32_t featureBits, VkStructureType rootType,
17072     const VkAccelerationStructureGeometryDataKHR* toCount, size_t* count) {
17073     (void)featureBits;
17074     (void)rootType;
17075     (void)toCount;
17076     (void)count;
17077     count_VkAccelerationStructureGeometryTrianglesDataKHR(
17078         featureBits, rootType,
17079         (VkAccelerationStructureGeometryTrianglesDataKHR*)(&toCount->triangles), count);
17080 }
17081 
count_VkAccelerationStructureGeometryKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureGeometryKHR * toCount,size_t * count)17082 void count_VkAccelerationStructureGeometryKHR(uint32_t featureBits, VkStructureType rootType,
17083                                               const VkAccelerationStructureGeometryKHR* toCount,
17084                                               size_t* count) {
17085     (void)featureBits;
17086     (void)rootType;
17087     (void)toCount;
17088     (void)count;
17089     *count += sizeof(VkStructureType);
17090     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17091         rootType = toCount->sType;
17092     }
17093     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17094     *count += sizeof(VkGeometryTypeKHR);
17095     count_VkAccelerationStructureGeometryDataKHR(
17096         featureBits, rootType, (VkAccelerationStructureGeometryDataKHR*)(&toCount->geometry),
17097         count);
17098     *count += sizeof(VkGeometryFlagsKHR);
17099 }
17100 
count_VkAccelerationStructureBuildGeometryInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureBuildGeometryInfoKHR * toCount,size_t * count)17101 void count_VkAccelerationStructureBuildGeometryInfoKHR(
17102     uint32_t featureBits, VkStructureType rootType,
17103     const VkAccelerationStructureBuildGeometryInfoKHR* toCount, size_t* count) {
17104     (void)featureBits;
17105     (void)rootType;
17106     (void)toCount;
17107     (void)count;
17108     *count += sizeof(VkStructureType);
17109     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17110         rootType = toCount->sType;
17111     }
17112     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17113     *count += sizeof(VkAccelerationStructureTypeKHR);
17114     *count += sizeof(VkBuildAccelerationStructureFlagsKHR);
17115     *count += sizeof(VkBuildAccelerationStructureModeKHR);
17116     uint64_t cgen_var_0;
17117     *count += 1 * 8;
17118     uint64_t cgen_var_1;
17119     *count += 1 * 8;
17120     *count += sizeof(uint32_t);
17121     // WARNING PTR CHECK
17122     *count += 8;
17123     if (toCount->pGeometries) {
17124         if (toCount) {
17125             for (uint32_t i = 0; i < (uint32_t)toCount->geometryCount; ++i) {
17126                 count_VkAccelerationStructureGeometryKHR(
17127                     featureBits, rootType,
17128                     (const VkAccelerationStructureGeometryKHR*)(toCount->pGeometries + i), count);
17129             }
17130         }
17131     }
17132     count_VkDeviceOrHostAddressKHR(featureBits, rootType,
17133                                    (VkDeviceOrHostAddressKHR*)(&toCount->scratchData), count);
17134 }
17135 
count_VkAccelerationStructureCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureCreateInfoKHR * toCount,size_t * count)17136 void count_VkAccelerationStructureCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
17137                                                 const VkAccelerationStructureCreateInfoKHR* toCount,
17138                                                 size_t* count) {
17139     (void)featureBits;
17140     (void)rootType;
17141     (void)toCount;
17142     (void)count;
17143     *count += sizeof(VkStructureType);
17144     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17145         rootType = toCount->sType;
17146     }
17147     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17148     *count += sizeof(VkAccelerationStructureCreateFlagsKHR);
17149     uint64_t cgen_var_0;
17150     *count += 1 * 8;
17151     *count += sizeof(VkDeviceSize);
17152     *count += sizeof(VkDeviceSize);
17153     *count += sizeof(VkAccelerationStructureTypeKHR);
17154     *count += sizeof(VkDeviceAddress);
17155 }
17156 
count_VkWriteDescriptorSetAccelerationStructureKHR(uint32_t featureBits,VkStructureType rootType,const VkWriteDescriptorSetAccelerationStructureKHR * toCount,size_t * count)17157 void count_VkWriteDescriptorSetAccelerationStructureKHR(
17158     uint32_t featureBits, VkStructureType rootType,
17159     const VkWriteDescriptorSetAccelerationStructureKHR* toCount, size_t* count) {
17160     (void)featureBits;
17161     (void)rootType;
17162     (void)toCount;
17163     (void)count;
17164     *count += sizeof(VkStructureType);
17165     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17166         rootType = toCount->sType;
17167     }
17168     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17169     *count += sizeof(uint32_t);
17170     // WARNING PTR CHECK
17171     *count += 8;
17172     if (toCount->pAccelerationStructures) {
17173         if (toCount->accelerationStructureCount) {
17174             *count += toCount->accelerationStructureCount * 8;
17175         }
17176     }
17177 }
17178 
count_VkPhysicalDeviceAccelerationStructureFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceAccelerationStructureFeaturesKHR * toCount,size_t * count)17179 void count_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
17180     uint32_t featureBits, VkStructureType rootType,
17181     const VkPhysicalDeviceAccelerationStructureFeaturesKHR* toCount, size_t* count) {
17182     (void)featureBits;
17183     (void)rootType;
17184     (void)toCount;
17185     (void)count;
17186     *count += sizeof(VkStructureType);
17187     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17188         rootType = toCount->sType;
17189     }
17190     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17191     *count += sizeof(VkBool32);
17192     *count += sizeof(VkBool32);
17193     *count += sizeof(VkBool32);
17194     *count += sizeof(VkBool32);
17195     *count += sizeof(VkBool32);
17196 }
17197 
count_VkPhysicalDeviceAccelerationStructurePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceAccelerationStructurePropertiesKHR * toCount,size_t * count)17198 void count_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
17199     uint32_t featureBits, VkStructureType rootType,
17200     const VkPhysicalDeviceAccelerationStructurePropertiesKHR* toCount, size_t* count) {
17201     (void)featureBits;
17202     (void)rootType;
17203     (void)toCount;
17204     (void)count;
17205     *count += sizeof(VkStructureType);
17206     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17207         rootType = toCount->sType;
17208     }
17209     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17210     *count += sizeof(uint64_t);
17211     *count += sizeof(uint64_t);
17212     *count += sizeof(uint64_t);
17213     *count += sizeof(uint32_t);
17214     *count += sizeof(uint32_t);
17215     *count += sizeof(uint32_t);
17216     *count += sizeof(uint32_t);
17217     *count += sizeof(uint32_t);
17218 }
17219 
count_VkAccelerationStructureDeviceAddressInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureDeviceAddressInfoKHR * toCount,size_t * count)17220 void count_VkAccelerationStructureDeviceAddressInfoKHR(
17221     uint32_t featureBits, VkStructureType rootType,
17222     const VkAccelerationStructureDeviceAddressInfoKHR* toCount, size_t* count) {
17223     (void)featureBits;
17224     (void)rootType;
17225     (void)toCount;
17226     (void)count;
17227     *count += sizeof(VkStructureType);
17228     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17229         rootType = toCount->sType;
17230     }
17231     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17232     uint64_t cgen_var_0;
17233     *count += 1 * 8;
17234 }
17235 
count_VkAccelerationStructureVersionInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureVersionInfoKHR * toCount,size_t * count)17236 void count_VkAccelerationStructureVersionInfoKHR(
17237     uint32_t featureBits, VkStructureType rootType,
17238     const VkAccelerationStructureVersionInfoKHR* toCount, size_t* count) {
17239     (void)featureBits;
17240     (void)rootType;
17241     (void)toCount;
17242     (void)count;
17243     *count += sizeof(VkStructureType);
17244     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17245         rootType = toCount->sType;
17246     }
17247     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17248     if (toCount) {
17249         *count += 2 * VK_UUID_SIZE * sizeof(const uint8_t);
17250     }
17251 }
17252 
count_VkCopyAccelerationStructureToMemoryInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkCopyAccelerationStructureToMemoryInfoKHR * toCount,size_t * count)17253 void count_VkCopyAccelerationStructureToMemoryInfoKHR(
17254     uint32_t featureBits, VkStructureType rootType,
17255     const VkCopyAccelerationStructureToMemoryInfoKHR* toCount, size_t* count) {
17256     (void)featureBits;
17257     (void)rootType;
17258     (void)toCount;
17259     (void)count;
17260     *count += sizeof(VkStructureType);
17261     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17262         rootType = toCount->sType;
17263     }
17264     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17265     uint64_t cgen_var_0;
17266     *count += 1 * 8;
17267     count_VkDeviceOrHostAddressKHR(featureBits, rootType,
17268                                    (VkDeviceOrHostAddressKHR*)(&toCount->dst), count);
17269     *count += sizeof(VkCopyAccelerationStructureModeKHR);
17270 }
17271 
count_VkCopyMemoryToAccelerationStructureInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkCopyMemoryToAccelerationStructureInfoKHR * toCount,size_t * count)17272 void count_VkCopyMemoryToAccelerationStructureInfoKHR(
17273     uint32_t featureBits, VkStructureType rootType,
17274     const VkCopyMemoryToAccelerationStructureInfoKHR* toCount, size_t* count) {
17275     (void)featureBits;
17276     (void)rootType;
17277     (void)toCount;
17278     (void)count;
17279     *count += sizeof(VkStructureType);
17280     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17281         rootType = toCount->sType;
17282     }
17283     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17284     count_VkDeviceOrHostAddressConstKHR(featureBits, rootType,
17285                                         (VkDeviceOrHostAddressConstKHR*)(&toCount->src), count);
17286     uint64_t cgen_var_0;
17287     *count += 1 * 8;
17288     *count += sizeof(VkCopyAccelerationStructureModeKHR);
17289 }
17290 
count_VkCopyAccelerationStructureInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkCopyAccelerationStructureInfoKHR * toCount,size_t * count)17291 void count_VkCopyAccelerationStructureInfoKHR(uint32_t featureBits, VkStructureType rootType,
17292                                               const VkCopyAccelerationStructureInfoKHR* toCount,
17293                                               size_t* count) {
17294     (void)featureBits;
17295     (void)rootType;
17296     (void)toCount;
17297     (void)count;
17298     *count += sizeof(VkStructureType);
17299     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17300         rootType = toCount->sType;
17301     }
17302     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17303     uint64_t cgen_var_0;
17304     *count += 1 * 8;
17305     uint64_t cgen_var_1;
17306     *count += 1 * 8;
17307     *count += sizeof(VkCopyAccelerationStructureModeKHR);
17308 }
17309 
count_VkAccelerationStructureBuildSizesInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkAccelerationStructureBuildSizesInfoKHR * toCount,size_t * count)17310 void count_VkAccelerationStructureBuildSizesInfoKHR(
17311     uint32_t featureBits, VkStructureType rootType,
17312     const VkAccelerationStructureBuildSizesInfoKHR* toCount, size_t* count) {
17313     (void)featureBits;
17314     (void)rootType;
17315     (void)toCount;
17316     (void)count;
17317     *count += sizeof(VkStructureType);
17318     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17319         rootType = toCount->sType;
17320     }
17321     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17322     *count += sizeof(VkDeviceSize);
17323     *count += sizeof(VkDeviceSize);
17324     *count += sizeof(VkDeviceSize);
17325 }
17326 
17327 #endif
17328 #ifdef VK_KHR_ray_tracing_pipeline
count_VkRayTracingShaderGroupCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkRayTracingShaderGroupCreateInfoKHR * toCount,size_t * count)17329 void count_VkRayTracingShaderGroupCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
17330                                                 const VkRayTracingShaderGroupCreateInfoKHR* toCount,
17331                                                 size_t* count) {
17332     (void)featureBits;
17333     (void)rootType;
17334     (void)toCount;
17335     (void)count;
17336     *count += sizeof(VkStructureType);
17337     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17338         rootType = toCount->sType;
17339     }
17340     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17341     *count += sizeof(VkRayTracingShaderGroupTypeKHR);
17342     *count += sizeof(uint32_t);
17343     *count += sizeof(uint32_t);
17344     *count += sizeof(uint32_t);
17345     *count += sizeof(uint32_t);
17346     // WARNING PTR CHECK
17347     *count += 8;
17348     if (toCount->pShaderGroupCaptureReplayHandle) {
17349         *count += sizeof(const uint8_t);
17350     }
17351 }
17352 
count_VkRayTracingPipelineInterfaceCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkRayTracingPipelineInterfaceCreateInfoKHR * toCount,size_t * count)17353 void count_VkRayTracingPipelineInterfaceCreateInfoKHR(
17354     uint32_t featureBits, VkStructureType rootType,
17355     const VkRayTracingPipelineInterfaceCreateInfoKHR* toCount, size_t* count) {
17356     (void)featureBits;
17357     (void)rootType;
17358     (void)toCount;
17359     (void)count;
17360     *count += sizeof(VkStructureType);
17361     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17362         rootType = toCount->sType;
17363     }
17364     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17365     *count += sizeof(uint32_t);
17366     *count += sizeof(uint32_t);
17367 }
17368 
count_VkRayTracingPipelineCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkRayTracingPipelineCreateInfoKHR * toCount,size_t * count)17369 void count_VkRayTracingPipelineCreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
17370                                              const VkRayTracingPipelineCreateInfoKHR* toCount,
17371                                              size_t* count) {
17372     (void)featureBits;
17373     (void)rootType;
17374     (void)toCount;
17375     (void)count;
17376     *count += sizeof(VkStructureType);
17377     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17378         rootType = toCount->sType;
17379     }
17380     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17381     *count += sizeof(VkPipelineCreateFlags);
17382     *count += sizeof(uint32_t);
17383     if (toCount) {
17384         for (uint32_t i = 0; i < (uint32_t)toCount->stageCount; ++i) {
17385             count_VkPipelineShaderStageCreateInfo(
17386                 featureBits, rootType,
17387                 (const VkPipelineShaderStageCreateInfo*)(toCount->pStages + i), count);
17388         }
17389     }
17390     *count += sizeof(uint32_t);
17391     if (toCount) {
17392         for (uint32_t i = 0; i < (uint32_t)toCount->groupCount; ++i) {
17393             count_VkRayTracingShaderGroupCreateInfoKHR(
17394                 featureBits, rootType,
17395                 (const VkRayTracingShaderGroupCreateInfoKHR*)(toCount->pGroups + i), count);
17396         }
17397     }
17398     *count += sizeof(uint32_t);
17399     // WARNING PTR CHECK
17400     *count += 8;
17401     if (toCount->pLibraryInfo) {
17402         count_VkPipelineLibraryCreateInfoKHR(
17403             featureBits, rootType, (const VkPipelineLibraryCreateInfoKHR*)(toCount->pLibraryInfo),
17404             count);
17405     }
17406     // WARNING PTR CHECK
17407     *count += 8;
17408     if (toCount->pLibraryInterface) {
17409         count_VkRayTracingPipelineInterfaceCreateInfoKHR(
17410             featureBits, rootType,
17411             (const VkRayTracingPipelineInterfaceCreateInfoKHR*)(toCount->pLibraryInterface), count);
17412     }
17413     // WARNING PTR CHECK
17414     *count += 8;
17415     if (toCount->pDynamicState) {
17416         count_VkPipelineDynamicStateCreateInfo(
17417             featureBits, rootType,
17418             (const VkPipelineDynamicStateCreateInfo*)(toCount->pDynamicState), count);
17419     }
17420     uint64_t cgen_var_0;
17421     *count += 1 * 8;
17422     uint64_t cgen_var_1;
17423     *count += 1 * 8;
17424     *count += sizeof(int32_t);
17425 }
17426 
count_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingPipelineFeaturesKHR * toCount,size_t * count)17427 void count_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
17428     uint32_t featureBits, VkStructureType rootType,
17429     const VkPhysicalDeviceRayTracingPipelineFeaturesKHR* toCount, size_t* count) {
17430     (void)featureBits;
17431     (void)rootType;
17432     (void)toCount;
17433     (void)count;
17434     *count += sizeof(VkStructureType);
17435     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17436         rootType = toCount->sType;
17437     }
17438     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17439     *count += sizeof(VkBool32);
17440     *count += sizeof(VkBool32);
17441     *count += sizeof(VkBool32);
17442     *count += sizeof(VkBool32);
17443     *count += sizeof(VkBool32);
17444 }
17445 
count_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayTracingPipelinePropertiesKHR * toCount,size_t * count)17446 void count_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
17447     uint32_t featureBits, VkStructureType rootType,
17448     const VkPhysicalDeviceRayTracingPipelinePropertiesKHR* toCount, size_t* count) {
17449     (void)featureBits;
17450     (void)rootType;
17451     (void)toCount;
17452     (void)count;
17453     *count += sizeof(VkStructureType);
17454     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17455         rootType = toCount->sType;
17456     }
17457     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17458     *count += sizeof(uint32_t);
17459     *count += sizeof(uint32_t);
17460     *count += sizeof(uint32_t);
17461     *count += sizeof(uint32_t);
17462     *count += sizeof(uint32_t);
17463     *count += sizeof(uint32_t);
17464     *count += sizeof(uint32_t);
17465     *count += sizeof(uint32_t);
17466 }
17467 
count_VkStridedDeviceAddressRegionKHR(uint32_t featureBits,VkStructureType rootType,const VkStridedDeviceAddressRegionKHR * toCount,size_t * count)17468 void count_VkStridedDeviceAddressRegionKHR(uint32_t featureBits, VkStructureType rootType,
17469                                            const VkStridedDeviceAddressRegionKHR* toCount,
17470                                            size_t* count) {
17471     (void)featureBits;
17472     (void)rootType;
17473     (void)toCount;
17474     (void)count;
17475     *count += sizeof(VkDeviceAddress);
17476     *count += sizeof(VkDeviceSize);
17477     *count += sizeof(VkDeviceSize);
17478 }
17479 
count_VkTraceRaysIndirectCommandKHR(uint32_t featureBits,VkStructureType rootType,const VkTraceRaysIndirectCommandKHR * toCount,size_t * count)17480 void count_VkTraceRaysIndirectCommandKHR(uint32_t featureBits, VkStructureType rootType,
17481                                          const VkTraceRaysIndirectCommandKHR* toCount,
17482                                          size_t* count) {
17483     (void)featureBits;
17484     (void)rootType;
17485     (void)toCount;
17486     (void)count;
17487     *count += sizeof(uint32_t);
17488     *count += sizeof(uint32_t);
17489     *count += sizeof(uint32_t);
17490 }
17491 
17492 #endif
17493 #ifdef VK_KHR_ray_query
count_VkPhysicalDeviceRayQueryFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRayQueryFeaturesKHR * toCount,size_t * count)17494 void count_VkPhysicalDeviceRayQueryFeaturesKHR(uint32_t featureBits, VkStructureType rootType,
17495                                                const VkPhysicalDeviceRayQueryFeaturesKHR* toCount,
17496                                                size_t* count) {
17497     (void)featureBits;
17498     (void)rootType;
17499     (void)toCount;
17500     (void)count;
17501     *count += sizeof(VkStructureType);
17502     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17503         rootType = toCount->sType;
17504     }
17505     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17506     *count += sizeof(VkBool32);
17507 }
17508 
17509 #endif
17510 #ifdef VK_EXT_mesh_shader
count_VkPhysicalDeviceMeshShaderFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMeshShaderFeaturesEXT * toCount,size_t * count)17511 void count_VkPhysicalDeviceMeshShaderFeaturesEXT(
17512     uint32_t featureBits, VkStructureType rootType,
17513     const VkPhysicalDeviceMeshShaderFeaturesEXT* toCount, size_t* count) {
17514     (void)featureBits;
17515     (void)rootType;
17516     (void)toCount;
17517     (void)count;
17518     *count += sizeof(VkStructureType);
17519     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17520         rootType = toCount->sType;
17521     }
17522     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17523     *count += sizeof(VkBool32);
17524     *count += sizeof(VkBool32);
17525     *count += sizeof(VkBool32);
17526     *count += sizeof(VkBool32);
17527     *count += sizeof(VkBool32);
17528 }
17529 
count_VkPhysicalDeviceMeshShaderPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMeshShaderPropertiesEXT * toCount,size_t * count)17530 void count_VkPhysicalDeviceMeshShaderPropertiesEXT(
17531     uint32_t featureBits, VkStructureType rootType,
17532     const VkPhysicalDeviceMeshShaderPropertiesEXT* toCount, size_t* count) {
17533     (void)featureBits;
17534     (void)rootType;
17535     (void)toCount;
17536     (void)count;
17537     *count += sizeof(VkStructureType);
17538     if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
17539         rootType = toCount->sType;
17540     }
17541     count_extension_struct(featureBits, rootType, toCount->pNext, count);
17542     *count += sizeof(uint32_t);
17543     *count += 3 * sizeof(uint32_t);
17544     *count += sizeof(uint32_t);
17545     *count += 3 * sizeof(uint32_t);
17546     *count += sizeof(uint32_t);
17547     *count += sizeof(uint32_t);
17548     *count += sizeof(uint32_t);
17549     *count += sizeof(uint32_t);
17550     *count += 3 * sizeof(uint32_t);
17551     *count += sizeof(uint32_t);
17552     *count += 3 * sizeof(uint32_t);
17553     *count += sizeof(uint32_t);
17554     *count += sizeof(uint32_t);
17555     *count += sizeof(uint32_t);
17556     *count += sizeof(uint32_t);
17557     *count += sizeof(uint32_t);
17558     *count += sizeof(uint32_t);
17559     *count += sizeof(uint32_t);
17560     *count += sizeof(uint32_t);
17561     *count += sizeof(uint32_t);
17562     *count += sizeof(uint32_t);
17563     *count += sizeof(uint32_t);
17564     *count += sizeof(uint32_t);
17565     *count += sizeof(uint32_t);
17566     *count += sizeof(VkBool32);
17567     *count += sizeof(VkBool32);
17568     *count += sizeof(VkBool32);
17569     *count += sizeof(VkBool32);
17570 }
17571 
count_VkDrawMeshTasksIndirectCommandEXT(uint32_t featureBits,VkStructureType rootType,const VkDrawMeshTasksIndirectCommandEXT * toCount,size_t * count)17572 void count_VkDrawMeshTasksIndirectCommandEXT(uint32_t featureBits, VkStructureType rootType,
17573                                              const VkDrawMeshTasksIndirectCommandEXT* toCount,
17574                                              size_t* count) {
17575     (void)featureBits;
17576     (void)rootType;
17577     (void)toCount;
17578     (void)count;
17579     *count += sizeof(uint32_t);
17580     *count += sizeof(uint32_t);
17581     *count += sizeof(uint32_t);
17582 }
17583 
17584 #endif
count_extension_struct(uint32_t featureBits,VkStructureType rootType,const void * structExtension,size_t * count)17585 void count_extension_struct(uint32_t featureBits, VkStructureType rootType,
17586                             const void* structExtension, size_t* count) {
17587     VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
17588     size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
17589         featureBits, rootType, structExtension);
17590     if (!currExtSize && structExtension) {
17591         // unknown struct extension; skip and call on its pNext field
17592         count_extension_struct(featureBits, rootType, (void*)structAccess->pNext, count);
17593         return;
17594     } else {
17595         // known or null extension struct
17596         *count += sizeof(uint32_t);
17597         if (!currExtSize) {
17598             // exit if this was a null extension struct (size == 0 in this branch)
17599             return;
17600         }
17601     }
17602     *count += sizeof(VkStructureType);
17603     if (!structExtension) {
17604         return;
17605     }
17606     uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
17607     switch (structType) {
17608 #ifdef VK_VERSION_1_0
17609         case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
17610             count_VkShaderModuleCreateInfo(
17611                 featureBits, rootType,
17612                 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension), count);
17613             break;
17614         }
17615 #endif
17616 #ifdef VK_VERSION_1_1
17617         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
17618             count_VkPhysicalDeviceSubgroupProperties(
17619                 featureBits, rootType,
17620                 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension),
17621                 count);
17622             break;
17623         }
17624         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
17625             count_VkPhysicalDevice16BitStorageFeatures(
17626                 featureBits, rootType,
17627                 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
17628                 count);
17629             break;
17630         }
17631         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
17632             count_VkMemoryDedicatedRequirements(
17633                 featureBits, rootType,
17634                 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), count);
17635             break;
17636         }
17637         case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
17638             count_VkMemoryDedicatedAllocateInfo(
17639                 featureBits, rootType,
17640                 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), count);
17641             break;
17642         }
17643         case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
17644             count_VkMemoryAllocateFlagsInfo(
17645                 featureBits, rootType,
17646                 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), count);
17647             break;
17648         }
17649         case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
17650             count_VkDeviceGroupRenderPassBeginInfo(
17651                 featureBits, rootType,
17652                 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), count);
17653             break;
17654         }
17655         case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
17656             count_VkDeviceGroupCommandBufferBeginInfo(
17657                 featureBits, rootType,
17658                 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension),
17659                 count);
17660             break;
17661         }
17662         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
17663             count_VkDeviceGroupSubmitInfo(
17664                 featureBits, rootType,
17665                 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), count);
17666             break;
17667         }
17668         case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
17669             count_VkDeviceGroupBindSparseInfo(
17670                 featureBits, rootType,
17671                 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), count);
17672             break;
17673         }
17674         case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
17675             count_VkBindBufferMemoryDeviceGroupInfo(
17676                 featureBits, rootType,
17677                 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), count);
17678             break;
17679         }
17680         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
17681             count_VkBindImageMemoryDeviceGroupInfo(
17682                 featureBits, rootType,
17683                 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), count);
17684             break;
17685         }
17686         case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
17687             count_VkDeviceGroupDeviceCreateInfo(
17688                 featureBits, rootType,
17689                 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), count);
17690             break;
17691         }
17692         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
17693             count_VkPhysicalDeviceFeatures2(
17694                 featureBits, rootType,
17695                 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), count);
17696             break;
17697         }
17698         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
17699             count_VkPhysicalDevicePointClippingProperties(
17700                 featureBits, rootType,
17701                 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
17702                 count);
17703             break;
17704         }
17705         case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
17706             count_VkRenderPassInputAttachmentAspectCreateInfo(
17707                 featureBits, rootType,
17708                 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
17709                     structExtension),
17710                 count);
17711             break;
17712         }
17713         case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
17714             count_VkImageViewUsageCreateInfo(
17715                 featureBits, rootType,
17716                 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), count);
17717             break;
17718         }
17719         case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
17720             count_VkPipelineTessellationDomainOriginStateCreateInfo(
17721                 featureBits, rootType,
17722                 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
17723                     structExtension),
17724                 count);
17725             break;
17726         }
17727         case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
17728             count_VkRenderPassMultiviewCreateInfo(
17729                 featureBits, rootType,
17730                 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), count);
17731             break;
17732         }
17733         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
17734             count_VkPhysicalDeviceMultiviewFeatures(
17735                 featureBits, rootType,
17736                 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), count);
17737             break;
17738         }
17739         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
17740             count_VkPhysicalDeviceMultiviewProperties(
17741                 featureBits, rootType,
17742                 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension),
17743                 count);
17744             break;
17745         }
17746         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
17747             count_VkPhysicalDeviceVariablePointersFeatures(
17748                 featureBits, rootType,
17749                 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
17750                 count);
17751             break;
17752         }
17753         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
17754             count_VkPhysicalDeviceProtectedMemoryFeatures(
17755                 featureBits, rootType,
17756                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
17757                 count);
17758             break;
17759         }
17760         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
17761             count_VkPhysicalDeviceProtectedMemoryProperties(
17762                 featureBits, rootType,
17763                 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
17764                 count);
17765             break;
17766         }
17767         case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
17768             count_VkProtectedSubmitInfo(
17769                 featureBits, rootType,
17770                 reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension), count);
17771             break;
17772         }
17773         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
17774             count_VkSamplerYcbcrConversionInfo(
17775                 featureBits, rootType,
17776                 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), count);
17777             break;
17778         }
17779         case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
17780             count_VkBindImagePlaneMemoryInfo(
17781                 featureBits, rootType,
17782                 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), count);
17783             break;
17784         }
17785         case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
17786             count_VkImagePlaneMemoryRequirementsInfo(
17787                 featureBits, rootType,
17788                 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension),
17789                 count);
17790             break;
17791         }
17792         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
17793             count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
17794                 featureBits, rootType,
17795                 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
17796                     structExtension),
17797                 count);
17798             break;
17799         }
17800         case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
17801             count_VkSamplerYcbcrConversionImageFormatProperties(
17802                 featureBits, rootType,
17803                 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
17804                     structExtension),
17805                 count);
17806             break;
17807         }
17808         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
17809             count_VkPhysicalDeviceExternalImageFormatInfo(
17810                 featureBits, rootType,
17811                 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
17812                 count);
17813             break;
17814         }
17815         case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
17816             count_VkExternalImageFormatProperties(
17817                 featureBits, rootType,
17818                 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), count);
17819             break;
17820         }
17821         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
17822             count_VkPhysicalDeviceIDProperties(
17823                 featureBits, rootType,
17824                 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), count);
17825             break;
17826         }
17827         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
17828             count_VkExternalMemoryImageCreateInfo(
17829                 featureBits, rootType,
17830                 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), count);
17831             break;
17832         }
17833         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
17834             count_VkExternalMemoryBufferCreateInfo(
17835                 featureBits, rootType,
17836                 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), count);
17837             break;
17838         }
17839         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
17840             count_VkExportMemoryAllocateInfo(
17841                 featureBits, rootType,
17842                 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), count);
17843             break;
17844         }
17845         case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
17846             count_VkExportFenceCreateInfo(
17847                 featureBits, rootType,
17848                 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), count);
17849             break;
17850         }
17851         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
17852             count_VkExportSemaphoreCreateInfo(
17853                 featureBits, rootType,
17854                 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), count);
17855             break;
17856         }
17857         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
17858             count_VkPhysicalDeviceMaintenance3Properties(
17859                 featureBits, rootType,
17860                 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
17861                 count);
17862             break;
17863         }
17864         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
17865             count_VkPhysicalDeviceShaderDrawParametersFeatures(
17866                 featureBits, rootType,
17867                 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
17868                     structExtension),
17869                 count);
17870             break;
17871         }
17872 #endif
17873 #ifdef VK_VERSION_1_2
17874         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
17875             count_VkPhysicalDeviceVulkan11Features(
17876                 featureBits, rootType,
17877                 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension), count);
17878             break;
17879         }
17880         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
17881             count_VkPhysicalDeviceVulkan11Properties(
17882                 featureBits, rootType,
17883                 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension),
17884                 count);
17885             break;
17886         }
17887         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
17888             count_VkPhysicalDeviceVulkan12Features(
17889                 featureBits, rootType,
17890                 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension), count);
17891             break;
17892         }
17893         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
17894             count_VkPhysicalDeviceVulkan12Properties(
17895                 featureBits, rootType,
17896                 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension),
17897                 count);
17898             break;
17899         }
17900         case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
17901             count_VkImageFormatListCreateInfo(
17902                 featureBits, rootType,
17903                 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension), count);
17904             break;
17905         }
17906         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
17907             count_VkPhysicalDevice8BitStorageFeatures(
17908                 featureBits, rootType,
17909                 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension),
17910                 count);
17911             break;
17912         }
17913         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
17914             count_VkPhysicalDeviceDriverProperties(
17915                 featureBits, rootType,
17916                 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension), count);
17917             break;
17918         }
17919         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
17920             count_VkPhysicalDeviceShaderAtomicInt64Features(
17921                 featureBits, rootType,
17922                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
17923                 count);
17924             break;
17925         }
17926         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
17927             count_VkPhysicalDeviceShaderFloat16Int8Features(
17928                 featureBits, rootType,
17929                 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
17930                 count);
17931             break;
17932         }
17933         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
17934             count_VkPhysicalDeviceFloatControlsProperties(
17935                 featureBits, rootType,
17936                 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
17937                 count);
17938             break;
17939         }
17940         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
17941             count_VkDescriptorSetLayoutBindingFlagsCreateInfo(
17942                 featureBits, rootType,
17943                 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
17944                     structExtension),
17945                 count);
17946             break;
17947         }
17948         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
17949             count_VkPhysicalDeviceDescriptorIndexingFeatures(
17950                 featureBits, rootType,
17951                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
17952                     structExtension),
17953                 count);
17954             break;
17955         }
17956         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
17957             count_VkPhysicalDeviceDescriptorIndexingProperties(
17958                 featureBits, rootType,
17959                 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
17960                     structExtension),
17961                 count);
17962             break;
17963         }
17964         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
17965             count_VkDescriptorSetVariableDescriptorCountAllocateInfo(
17966                 featureBits, rootType,
17967                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
17968                     structExtension),
17969                 count);
17970             break;
17971         }
17972         case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
17973             count_VkDescriptorSetVariableDescriptorCountLayoutSupport(
17974                 featureBits, rootType,
17975                 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
17976                     structExtension),
17977                 count);
17978             break;
17979         }
17980         case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
17981             count_VkSubpassDescriptionDepthStencilResolve(
17982                 featureBits, rootType,
17983                 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
17984                 count);
17985             break;
17986         }
17987         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
17988             count_VkPhysicalDeviceDepthStencilResolveProperties(
17989                 featureBits, rootType,
17990                 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
17991                     structExtension),
17992                 count);
17993             break;
17994         }
17995         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
17996             count_VkPhysicalDeviceScalarBlockLayoutFeatures(
17997                 featureBits, rootType,
17998                 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
17999                 count);
18000             break;
18001         }
18002         case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
18003             count_VkImageStencilUsageCreateInfo(
18004                 featureBits, rootType,
18005                 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension), count);
18006             break;
18007         }
18008         case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
18009             count_VkSamplerReductionModeCreateInfo(
18010                 featureBits, rootType,
18011                 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension), count);
18012             break;
18013         }
18014         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
18015             count_VkPhysicalDeviceSamplerFilterMinmaxProperties(
18016                 featureBits, rootType,
18017                 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
18018                     structExtension),
18019                 count);
18020             break;
18021         }
18022         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
18023             count_VkPhysicalDeviceVulkanMemoryModelFeatures(
18024                 featureBits, rootType,
18025                 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
18026                 count);
18027             break;
18028         }
18029         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
18030             count_VkPhysicalDeviceImagelessFramebufferFeatures(
18031                 featureBits, rootType,
18032                 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
18033                     structExtension),
18034                 count);
18035             break;
18036         }
18037         case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
18038             count_VkFramebufferAttachmentsCreateInfo(
18039                 featureBits, rootType,
18040                 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension),
18041                 count);
18042             break;
18043         }
18044         case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
18045             count_VkRenderPassAttachmentBeginInfo(
18046                 featureBits, rootType,
18047                 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension), count);
18048             break;
18049         }
18050         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
18051             count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
18052                 featureBits, rootType,
18053                 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
18054                     structExtension),
18055                 count);
18056             break;
18057         }
18058         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
18059             count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
18060                 featureBits, rootType,
18061                 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
18062                     structExtension),
18063                 count);
18064             break;
18065         }
18066         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
18067             count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
18068                 featureBits, rootType,
18069                 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
18070                     structExtension),
18071                 count);
18072             break;
18073         }
18074         case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
18075             count_VkAttachmentReferenceStencilLayout(
18076                 featureBits, rootType,
18077                 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension),
18078                 count);
18079             break;
18080         }
18081         case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
18082             count_VkAttachmentDescriptionStencilLayout(
18083                 featureBits, rootType,
18084                 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
18085                 count);
18086             break;
18087         }
18088         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
18089             count_VkPhysicalDeviceHostQueryResetFeatures(
18090                 featureBits, rootType,
18091                 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
18092                 count);
18093             break;
18094         }
18095         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
18096             count_VkPhysicalDeviceTimelineSemaphoreFeatures(
18097                 featureBits, rootType,
18098                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
18099                 count);
18100             break;
18101         }
18102         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
18103             count_VkPhysicalDeviceTimelineSemaphoreProperties(
18104                 featureBits, rootType,
18105                 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
18106                     structExtension),
18107                 count);
18108             break;
18109         }
18110         case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
18111             count_VkSemaphoreTypeCreateInfo(
18112                 featureBits, rootType,
18113                 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension), count);
18114             break;
18115         }
18116         case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
18117             count_VkTimelineSemaphoreSubmitInfo(
18118                 featureBits, rootType,
18119                 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension), count);
18120             break;
18121         }
18122         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
18123             count_VkPhysicalDeviceBufferDeviceAddressFeatures(
18124                 featureBits, rootType,
18125                 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
18126                     structExtension),
18127                 count);
18128             break;
18129         }
18130         case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
18131             count_VkBufferOpaqueCaptureAddressCreateInfo(
18132                 featureBits, rootType,
18133                 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
18134                 count);
18135             break;
18136         }
18137         case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
18138             count_VkMemoryOpaqueCaptureAddressAllocateInfo(
18139                 featureBits, rootType,
18140                 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
18141                 count);
18142             break;
18143         }
18144 #endif
18145 #ifdef VK_VERSION_1_3
18146         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
18147             count_VkPhysicalDeviceVulkan13Features(
18148                 featureBits, rootType,
18149                 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension), count);
18150             break;
18151         }
18152         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
18153             count_VkPhysicalDeviceVulkan13Properties(
18154                 featureBits, rootType,
18155                 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension),
18156                 count);
18157             break;
18158         }
18159         case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
18160             count_VkPipelineCreationFeedbackCreateInfo(
18161                 featureBits, rootType,
18162                 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension),
18163                 count);
18164             break;
18165         }
18166         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
18167             count_VkPhysicalDeviceShaderTerminateInvocationFeatures(
18168                 featureBits, rootType,
18169                 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
18170                     structExtension),
18171                 count);
18172             break;
18173         }
18174         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
18175             count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
18176                 featureBits, rootType,
18177                 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
18178                     structExtension),
18179                 count);
18180             break;
18181         }
18182         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
18183             count_VkPhysicalDevicePrivateDataFeatures(
18184                 featureBits, rootType,
18185                 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension),
18186                 count);
18187             break;
18188         }
18189         case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
18190             count_VkDevicePrivateDataCreateInfo(
18191                 featureBits, rootType,
18192                 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension), count);
18193             break;
18194         }
18195         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
18196             count_VkPhysicalDevicePipelineCreationCacheControlFeatures(
18197                 featureBits, rootType,
18198                 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
18199                     structExtension),
18200                 count);
18201             break;
18202         }
18203         case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
18204             count_VkMemoryBarrier2(featureBits, rootType,
18205                                    reinterpret_cast<const VkMemoryBarrier2*>(structExtension),
18206                                    count);
18207             break;
18208         }
18209         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
18210             count_VkPhysicalDeviceSynchronization2Features(
18211                 featureBits, rootType,
18212                 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension),
18213                 count);
18214             break;
18215         }
18216         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
18217             count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
18218                 featureBits, rootType,
18219                 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
18220                     structExtension),
18221                 count);
18222             break;
18223         }
18224         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
18225             count_VkPhysicalDeviceImageRobustnessFeatures(
18226                 featureBits, rootType,
18227                 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension),
18228                 count);
18229             break;
18230         }
18231         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
18232             count_VkPhysicalDeviceSubgroupSizeControlFeatures(
18233                 featureBits, rootType,
18234                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
18235                     structExtension),
18236                 count);
18237             break;
18238         }
18239         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
18240             count_VkPhysicalDeviceSubgroupSizeControlProperties(
18241                 featureBits, rootType,
18242                 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
18243                     structExtension),
18244                 count);
18245             break;
18246         }
18247         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
18248             count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
18249                 featureBits, rootType,
18250                 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
18251                     structExtension),
18252                 count);
18253             break;
18254         }
18255         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
18256             count_VkPhysicalDeviceInlineUniformBlockFeatures(
18257                 featureBits, rootType,
18258                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
18259                     structExtension),
18260                 count);
18261             break;
18262         }
18263         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
18264             count_VkPhysicalDeviceInlineUniformBlockProperties(
18265                 featureBits, rootType,
18266                 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
18267                     structExtension),
18268                 count);
18269             break;
18270         }
18271         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
18272             count_VkWriteDescriptorSetInlineUniformBlock(
18273                 featureBits, rootType,
18274                 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension),
18275                 count);
18276             break;
18277         }
18278         case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
18279             count_VkDescriptorPoolInlineUniformBlockCreateInfo(
18280                 featureBits, rootType,
18281                 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
18282                     structExtension),
18283                 count);
18284             break;
18285         }
18286         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
18287             count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
18288                 featureBits, rootType,
18289                 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
18290                     structExtension),
18291                 count);
18292             break;
18293         }
18294         case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
18295             count_VkPipelineRenderingCreateInfo(
18296                 featureBits, rootType,
18297                 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension), count);
18298             break;
18299         }
18300         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
18301             count_VkPhysicalDeviceDynamicRenderingFeatures(
18302                 featureBits, rootType,
18303                 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension),
18304                 count);
18305             break;
18306         }
18307         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
18308             count_VkCommandBufferInheritanceRenderingInfo(
18309                 featureBits, rootType,
18310                 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension),
18311                 count);
18312             break;
18313         }
18314         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
18315             count_VkPhysicalDeviceShaderIntegerDotProductFeatures(
18316                 featureBits, rootType,
18317                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
18318                     structExtension),
18319                 count);
18320             break;
18321         }
18322         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
18323             count_VkPhysicalDeviceShaderIntegerDotProductProperties(
18324                 featureBits, rootType,
18325                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
18326                     structExtension),
18327                 count);
18328             break;
18329         }
18330         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
18331             count_VkPhysicalDeviceTexelBufferAlignmentProperties(
18332                 featureBits, rootType,
18333                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
18334                     structExtension),
18335                 count);
18336             break;
18337         }
18338         case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
18339             count_VkFormatProperties3(featureBits, rootType,
18340                                       reinterpret_cast<const VkFormatProperties3*>(structExtension),
18341                                       count);
18342             break;
18343         }
18344         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
18345             count_VkPhysicalDeviceMaintenance4Features(
18346                 featureBits, rootType,
18347                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension),
18348                 count);
18349             break;
18350         }
18351         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
18352             count_VkPhysicalDeviceMaintenance4Properties(
18353                 featureBits, rootType,
18354                 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension),
18355                 count);
18356             break;
18357         }
18358 #endif
18359 #ifdef VK_KHR_swapchain
18360         case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
18361             count_VkImageSwapchainCreateInfoKHR(
18362                 featureBits, rootType,
18363                 reinterpret_cast<const VkImageSwapchainCreateInfoKHR*>(structExtension), count);
18364             break;
18365         }
18366         case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
18367             count_VkBindImageMemorySwapchainInfoKHR(
18368                 featureBits, rootType,
18369                 reinterpret_cast<const VkBindImageMemorySwapchainInfoKHR*>(structExtension), count);
18370             break;
18371         }
18372         case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
18373             count_VkDeviceGroupPresentInfoKHR(
18374                 featureBits, rootType,
18375                 reinterpret_cast<const VkDeviceGroupPresentInfoKHR*>(structExtension), count);
18376             break;
18377         }
18378         case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
18379             count_VkDeviceGroupSwapchainCreateInfoKHR(
18380                 featureBits, rootType,
18381                 reinterpret_cast<const VkDeviceGroupSwapchainCreateInfoKHR*>(structExtension),
18382                 count);
18383             break;
18384         }
18385 #endif
18386 #ifdef VK_KHR_display_swapchain
18387         case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
18388             count_VkDisplayPresentInfoKHR(
18389                 featureBits, rootType,
18390                 reinterpret_cast<const VkDisplayPresentInfoKHR*>(structExtension), count);
18391             break;
18392         }
18393 #endif
18394 #ifdef VK_KHR_video_queue
18395         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: {
18396             count_VkQueueFamilyQueryResultStatusPropertiesKHR(
18397                 featureBits, rootType,
18398                 reinterpret_cast<const VkQueueFamilyQueryResultStatusPropertiesKHR*>(
18399                     structExtension),
18400                 count);
18401             break;
18402         }
18403         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: {
18404             count_VkQueueFamilyVideoPropertiesKHR(
18405                 featureBits, rootType,
18406                 reinterpret_cast<const VkQueueFamilyVideoPropertiesKHR*>(structExtension), count);
18407             break;
18408         }
18409         case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: {
18410             count_VkVideoProfileInfoKHR(
18411                 featureBits, rootType,
18412                 reinterpret_cast<const VkVideoProfileInfoKHR*>(structExtension), count);
18413             break;
18414         }
18415         case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: {
18416             count_VkVideoProfileListInfoKHR(
18417                 featureBits, rootType,
18418                 reinterpret_cast<const VkVideoProfileListInfoKHR*>(structExtension), count);
18419             break;
18420         }
18421 #endif
18422 #ifdef VK_KHR_video_decode_queue
18423         case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: {
18424             count_VkVideoDecodeCapabilitiesKHR(
18425                 featureBits, rootType,
18426                 reinterpret_cast<const VkVideoDecodeCapabilitiesKHR*>(structExtension), count);
18427             break;
18428         }
18429         case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: {
18430             count_VkVideoDecodeUsageInfoKHR(
18431                 featureBits, rootType,
18432                 reinterpret_cast<const VkVideoDecodeUsageInfoKHR*>(structExtension), count);
18433             break;
18434         }
18435 #endif
18436 #ifdef VK_KHR_video_decode_h264
18437         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: {
18438             count_VkVideoDecodeH264ProfileInfoKHR(
18439                 featureBits, rootType,
18440                 reinterpret_cast<const VkVideoDecodeH264ProfileInfoKHR*>(structExtension), count);
18441             break;
18442         }
18443         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: {
18444             count_VkVideoDecodeH264CapabilitiesKHR(
18445                 featureBits, rootType,
18446                 reinterpret_cast<const VkVideoDecodeH264CapabilitiesKHR*>(structExtension), count);
18447             break;
18448         }
18449         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: {
18450             count_VkVideoDecodeH264SessionParametersAddInfoKHR(
18451                 featureBits, rootType,
18452                 reinterpret_cast<const VkVideoDecodeH264SessionParametersAddInfoKHR*>(
18453                     structExtension),
18454                 count);
18455             break;
18456         }
18457         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: {
18458             count_VkVideoDecodeH264SessionParametersCreateInfoKHR(
18459                 featureBits, rootType,
18460                 reinterpret_cast<const VkVideoDecodeH264SessionParametersCreateInfoKHR*>(
18461                     structExtension),
18462                 count);
18463             break;
18464         }
18465         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: {
18466             count_VkVideoDecodeH264PictureInfoKHR(
18467                 featureBits, rootType,
18468                 reinterpret_cast<const VkVideoDecodeH264PictureInfoKHR*>(structExtension), count);
18469             break;
18470         }
18471         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: {
18472             count_VkVideoDecodeH264DpbSlotInfoKHR(
18473                 featureBits, rootType,
18474                 reinterpret_cast<const VkVideoDecodeH264DpbSlotInfoKHR*>(structExtension), count);
18475             break;
18476         }
18477 #endif
18478 #ifdef VK_KHR_dynamic_rendering
18479         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
18480             count_VkRenderingFragmentShadingRateAttachmentInfoKHR(
18481                 featureBits, rootType,
18482                 reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
18483                     structExtension),
18484                 count);
18485             break;
18486         }
18487         case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
18488             count_VkRenderingFragmentDensityMapAttachmentInfoEXT(
18489                 featureBits, rootType,
18490                 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
18491                     structExtension),
18492                 count);
18493             break;
18494         }
18495         case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
18496             count_VkAttachmentSampleCountInfoAMD(
18497                 featureBits, rootType,
18498                 reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension), count);
18499             break;
18500         }
18501         case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
18502             count_VkMultiviewPerViewAttributesInfoNVX(
18503                 featureBits, rootType,
18504                 reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension),
18505                 count);
18506             break;
18507         }
18508 #endif
18509 #ifdef VK_KHR_external_memory_win32
18510         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
18511             count_VkImportMemoryWin32HandleInfoKHR(
18512                 featureBits, rootType,
18513                 reinterpret_cast<const VkImportMemoryWin32HandleInfoKHR*>(structExtension), count);
18514             break;
18515         }
18516         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
18517             count_VkExportMemoryWin32HandleInfoKHR(
18518                 featureBits, rootType,
18519                 reinterpret_cast<const VkExportMemoryWin32HandleInfoKHR*>(structExtension), count);
18520             break;
18521         }
18522 #endif
18523 #ifdef VK_KHR_external_memory_fd
18524         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
18525             count_VkImportMemoryFdInfoKHR(
18526                 featureBits, rootType,
18527                 reinterpret_cast<const VkImportMemoryFdInfoKHR*>(structExtension), count);
18528             break;
18529         }
18530 #endif
18531 #ifdef VK_KHR_win32_keyed_mutex
18532         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
18533             count_VkWin32KeyedMutexAcquireReleaseInfoKHR(
18534                 featureBits, rootType,
18535                 reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoKHR*>(structExtension),
18536                 count);
18537             break;
18538         }
18539 #endif
18540 #ifdef VK_KHR_external_semaphore_win32
18541         case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: {
18542             count_VkExportSemaphoreWin32HandleInfoKHR(
18543                 featureBits, rootType,
18544                 reinterpret_cast<const VkExportSemaphoreWin32HandleInfoKHR*>(structExtension),
18545                 count);
18546             break;
18547         }
18548         case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: {
18549             count_VkD3D12FenceSubmitInfoKHR(
18550                 featureBits, rootType,
18551                 reinterpret_cast<const VkD3D12FenceSubmitInfoKHR*>(structExtension), count);
18552             break;
18553         }
18554 #endif
18555 #ifdef VK_KHR_push_descriptor
18556         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
18557             count_VkPhysicalDevicePushDescriptorPropertiesKHR(
18558                 featureBits, rootType,
18559                 reinterpret_cast<const VkPhysicalDevicePushDescriptorPropertiesKHR*>(
18560                     structExtension),
18561                 count);
18562             break;
18563         }
18564 #endif
18565 #ifdef VK_KHR_incremental_present
18566         case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
18567             count_VkPresentRegionsKHR(featureBits, rootType,
18568                                       reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
18569                                       count);
18570             break;
18571         }
18572 #endif
18573 #ifdef VK_KHR_shared_presentable_image
18574         case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
18575             count_VkSharedPresentSurfaceCapabilitiesKHR(
18576                 featureBits, rootType,
18577                 reinterpret_cast<const VkSharedPresentSurfaceCapabilitiesKHR*>(structExtension),
18578                 count);
18579             break;
18580         }
18581 #endif
18582 #ifdef VK_KHR_external_fence_win32
18583         case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
18584             count_VkExportFenceWin32HandleInfoKHR(
18585                 featureBits, rootType,
18586                 reinterpret_cast<const VkExportFenceWin32HandleInfoKHR*>(structExtension), count);
18587             break;
18588         }
18589 #endif
18590 #ifdef VK_KHR_performance_query
18591         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
18592             count_VkPhysicalDevicePerformanceQueryFeaturesKHR(
18593                 featureBits, rootType,
18594                 reinterpret_cast<const VkPhysicalDevicePerformanceQueryFeaturesKHR*>(
18595                     structExtension),
18596                 count);
18597             break;
18598         }
18599         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
18600             count_VkPhysicalDevicePerformanceQueryPropertiesKHR(
18601                 featureBits, rootType,
18602                 reinterpret_cast<const VkPhysicalDevicePerformanceQueryPropertiesKHR*>(
18603                     structExtension),
18604                 count);
18605             break;
18606         }
18607         case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
18608             count_VkQueryPoolPerformanceCreateInfoKHR(
18609                 featureBits, rootType,
18610                 reinterpret_cast<const VkQueryPoolPerformanceCreateInfoKHR*>(structExtension),
18611                 count);
18612             break;
18613         }
18614         case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
18615             count_VkPerformanceQuerySubmitInfoKHR(
18616                 featureBits, rootType,
18617                 reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR*>(structExtension), count);
18618             break;
18619         }
18620 #endif
18621 #ifdef VK_KHR_portability_subset
18622 #ifdef VK_ENABLE_BETA_EXTENSIONS
18623         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
18624             count_VkPhysicalDevicePortabilitySubsetFeaturesKHR(
18625                 featureBits, rootType,
18626                 reinterpret_cast<const VkPhysicalDevicePortabilitySubsetFeaturesKHR*>(
18627                     structExtension),
18628                 count);
18629             break;
18630         }
18631 #endif  // VK_ENABLE_BETA_EXTENSIONS
18632 #ifdef VK_ENABLE_BETA_EXTENSIONS
18633         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
18634             count_VkPhysicalDevicePortabilitySubsetPropertiesKHR(
18635                 featureBits, rootType,
18636                 reinterpret_cast<const VkPhysicalDevicePortabilitySubsetPropertiesKHR*>(
18637                     structExtension),
18638                 count);
18639             break;
18640         }
18641 #endif  // VK_ENABLE_BETA_EXTENSIONS
18642 #endif
18643 #ifdef VK_KHR_shader_clock
18644         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
18645             count_VkPhysicalDeviceShaderClockFeaturesKHR(
18646                 featureBits, rootType,
18647                 reinterpret_cast<const VkPhysicalDeviceShaderClockFeaturesKHR*>(structExtension),
18648                 count);
18649             break;
18650         }
18651 #endif
18652 #ifdef VK_KHR_video_decode_h265
18653         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: {
18654             count_VkVideoDecodeH265ProfileInfoKHR(
18655                 featureBits, rootType,
18656                 reinterpret_cast<const VkVideoDecodeH265ProfileInfoKHR*>(structExtension), count);
18657             break;
18658         }
18659         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: {
18660             count_VkVideoDecodeH265CapabilitiesKHR(
18661                 featureBits, rootType,
18662                 reinterpret_cast<const VkVideoDecodeH265CapabilitiesKHR*>(structExtension), count);
18663             break;
18664         }
18665         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: {
18666             count_VkVideoDecodeH265SessionParametersAddInfoKHR(
18667                 featureBits, rootType,
18668                 reinterpret_cast<const VkVideoDecodeH265SessionParametersAddInfoKHR*>(
18669                     structExtension),
18670                 count);
18671             break;
18672         }
18673         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: {
18674             count_VkVideoDecodeH265SessionParametersCreateInfoKHR(
18675                 featureBits, rootType,
18676                 reinterpret_cast<const VkVideoDecodeH265SessionParametersCreateInfoKHR*>(
18677                     structExtension),
18678                 count);
18679             break;
18680         }
18681         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: {
18682             count_VkVideoDecodeH265PictureInfoKHR(
18683                 featureBits, rootType,
18684                 reinterpret_cast<const VkVideoDecodeH265PictureInfoKHR*>(structExtension), count);
18685             break;
18686         }
18687         case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: {
18688             count_VkVideoDecodeH265DpbSlotInfoKHR(
18689                 featureBits, rootType,
18690                 reinterpret_cast<const VkVideoDecodeH265DpbSlotInfoKHR*>(structExtension), count);
18691             break;
18692         }
18693 #endif
18694 #ifdef VK_KHR_global_priority
18695         case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: {
18696             count_VkDeviceQueueGlobalPriorityCreateInfoKHR(
18697                 featureBits, rootType,
18698                 reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfoKHR*>(structExtension),
18699                 count);
18700             break;
18701         }
18702         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: {
18703             count_VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR(
18704                 featureBits, rootType,
18705                 reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR*>(
18706                     structExtension),
18707                 count);
18708             break;
18709         }
18710         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: {
18711             count_VkQueueFamilyGlobalPriorityPropertiesKHR(
18712                 featureBits, rootType,
18713                 reinterpret_cast<const VkQueueFamilyGlobalPriorityPropertiesKHR*>(structExtension),
18714                 count);
18715             break;
18716         }
18717 #endif
18718 #ifdef VK_KHR_fragment_shading_rate
18719         case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
18720             count_VkFragmentShadingRateAttachmentInfoKHR(
18721                 featureBits, rootType,
18722                 reinterpret_cast<const VkFragmentShadingRateAttachmentInfoKHR*>(structExtension),
18723                 count);
18724             break;
18725         }
18726         case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
18727             count_VkPipelineFragmentShadingRateStateCreateInfoKHR(
18728                 featureBits, rootType,
18729                 reinterpret_cast<const VkPipelineFragmentShadingRateStateCreateInfoKHR*>(
18730                     structExtension),
18731                 count);
18732             break;
18733         }
18734         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
18735             count_VkPhysicalDeviceFragmentShadingRateFeaturesKHR(
18736                 featureBits, rootType,
18737                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateFeaturesKHR*>(
18738                     structExtension),
18739                 count);
18740             break;
18741         }
18742         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
18743             count_VkPhysicalDeviceFragmentShadingRatePropertiesKHR(
18744                 featureBits, rootType,
18745                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRatePropertiesKHR*>(
18746                     structExtension),
18747                 count);
18748             break;
18749         }
18750 #endif
18751 #ifdef VK_KHR_surface_protected_capabilities
18752         case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
18753             count_VkSurfaceProtectedCapabilitiesKHR(
18754                 featureBits, rootType,
18755                 reinterpret_cast<const VkSurfaceProtectedCapabilitiesKHR*>(structExtension), count);
18756             break;
18757         }
18758 #endif
18759 #ifdef VK_KHR_present_wait
18760         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
18761             count_VkPhysicalDevicePresentWaitFeaturesKHR(
18762                 featureBits, rootType,
18763                 reinterpret_cast<const VkPhysicalDevicePresentWaitFeaturesKHR*>(structExtension),
18764                 count);
18765             break;
18766         }
18767 #endif
18768 #ifdef VK_KHR_pipeline_executable_properties
18769         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
18770             count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
18771                 featureBits, rootType,
18772                 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
18773                     structExtension),
18774                 count);
18775             break;
18776         }
18777 #endif
18778 #ifdef VK_KHR_pipeline_library
18779         case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: {
18780             count_VkPipelineLibraryCreateInfoKHR(
18781                 featureBits, rootType,
18782                 reinterpret_cast<const VkPipelineLibraryCreateInfoKHR*>(structExtension), count);
18783             break;
18784         }
18785 #endif
18786 #ifdef VK_KHR_present_id
18787         case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
18788             count_VkPresentIdKHR(featureBits, rootType,
18789                                  reinterpret_cast<const VkPresentIdKHR*>(structExtension), count);
18790             break;
18791         }
18792         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
18793             count_VkPhysicalDevicePresentIdFeaturesKHR(
18794                 featureBits, rootType,
18795                 reinterpret_cast<const VkPhysicalDevicePresentIdFeaturesKHR*>(structExtension),
18796                 count);
18797             break;
18798         }
18799 #endif
18800 #ifdef VK_KHR_video_encode_queue
18801 #ifdef VK_ENABLE_BETA_EXTENSIONS
18802         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: {
18803             count_VkVideoEncodeCapabilitiesKHR(
18804                 featureBits, rootType,
18805                 reinterpret_cast<const VkVideoEncodeCapabilitiesKHR*>(structExtension), count);
18806             break;
18807         }
18808 #endif  // VK_ENABLE_BETA_EXTENSIONS
18809 #ifdef VK_ENABLE_BETA_EXTENSIONS
18810         case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: {
18811             count_VkQueryPoolVideoEncodeFeedbackCreateInfoKHR(
18812                 featureBits, rootType,
18813                 reinterpret_cast<const VkQueryPoolVideoEncodeFeedbackCreateInfoKHR*>(
18814                     structExtension),
18815                 count);
18816             break;
18817         }
18818 #endif  // VK_ENABLE_BETA_EXTENSIONS
18819 #ifdef VK_ENABLE_BETA_EXTENSIONS
18820         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: {
18821             count_VkVideoEncodeUsageInfoKHR(
18822                 featureBits, rootType,
18823                 reinterpret_cast<const VkVideoEncodeUsageInfoKHR*>(structExtension), count);
18824             break;
18825         }
18826 #endif  // VK_ENABLE_BETA_EXTENSIONS
18827 #ifdef VK_ENABLE_BETA_EXTENSIONS
18828         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: {
18829             count_VkVideoEncodeRateControlLayerInfoKHR(
18830                 featureBits, rootType,
18831                 reinterpret_cast<const VkVideoEncodeRateControlLayerInfoKHR*>(structExtension),
18832                 count);
18833             break;
18834         }
18835 #endif  // VK_ENABLE_BETA_EXTENSIONS
18836 #ifdef VK_ENABLE_BETA_EXTENSIONS
18837         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
18838             count_VkVideoEncodeRateControlInfoKHR(
18839                 featureBits, rootType,
18840                 reinterpret_cast<const VkVideoEncodeRateControlInfoKHR*>(structExtension), count);
18841             break;
18842         }
18843 #endif  // VK_ENABLE_BETA_EXTENSIONS
18844 #endif
18845 #ifdef VK_KHR_synchronization2
18846         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
18847             count_VkQueueFamilyCheckpointProperties2NV(
18848                 featureBits, rootType,
18849                 reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension),
18850                 count);
18851             break;
18852         }
18853 #endif
18854 #ifdef VK_KHR_fragment_shader_barycentric
18855         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: {
18856             count_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(
18857                 featureBits, rootType,
18858                 reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>(
18859                     structExtension),
18860                 count);
18861             break;
18862         }
18863         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: {
18864             count_VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR(
18865                 featureBits, rootType,
18866                 reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR*>(
18867                     structExtension),
18868                 count);
18869             break;
18870         }
18871 #endif
18872 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
18873         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
18874             count_VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR(
18875                 featureBits, rootType,
18876                 reinterpret_cast<
18877                     const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR*>(
18878                     structExtension),
18879                 count);
18880             break;
18881         }
18882 #endif
18883 #ifdef VK_KHR_workgroup_memory_explicit_layout
18884         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
18885             count_VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR(
18886                 featureBits, rootType,
18887                 reinterpret_cast<const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR*>(
18888                     structExtension),
18889                 count);
18890             break;
18891         }
18892 #endif
18893 #ifdef VK_KHR_ray_tracing_maintenance1
18894         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: {
18895             count_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(
18896                 featureBits, rootType,
18897                 reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*>(
18898                     structExtension),
18899                 count);
18900             break;
18901         }
18902 #endif
18903 #ifdef VK_KHR_ray_tracing_position_fetch
18904         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: {
18905             count_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(
18906                 featureBits, rootType,
18907                 reinterpret_cast<const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR*>(
18908                     structExtension),
18909                 count);
18910             break;
18911         }
18912 #endif
18913 #ifdef VK_ANDROID_native_buffer
18914         case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
18915             count_VkNativeBufferANDROID(
18916                 featureBits, rootType,
18917                 reinterpret_cast<const VkNativeBufferANDROID*>(structExtension), count);
18918             break;
18919         }
18920 #endif
18921 #ifdef VK_EXT_debug_report
18922         case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
18923             count_VkDebugReportCallbackCreateInfoEXT(
18924                 featureBits, rootType,
18925                 reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT*>(structExtension),
18926                 count);
18927             break;
18928         }
18929 #endif
18930 #ifdef VK_AMD_rasterization_order
18931         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
18932             count_VkPipelineRasterizationStateRasterizationOrderAMD(
18933                 featureBits, rootType,
18934                 reinterpret_cast<const VkPipelineRasterizationStateRasterizationOrderAMD*>(
18935                     structExtension),
18936                 count);
18937             break;
18938         }
18939 #endif
18940 #ifdef VK_NV_dedicated_allocation
18941         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
18942             count_VkDedicatedAllocationImageCreateInfoNV(
18943                 featureBits, rootType,
18944                 reinterpret_cast<const VkDedicatedAllocationImageCreateInfoNV*>(structExtension),
18945                 count);
18946             break;
18947         }
18948         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
18949             count_VkDedicatedAllocationBufferCreateInfoNV(
18950                 featureBits, rootType,
18951                 reinterpret_cast<const VkDedicatedAllocationBufferCreateInfoNV*>(structExtension),
18952                 count);
18953             break;
18954         }
18955         case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
18956             count_VkDedicatedAllocationMemoryAllocateInfoNV(
18957                 featureBits, rootType,
18958                 reinterpret_cast<const VkDedicatedAllocationMemoryAllocateInfoNV*>(structExtension),
18959                 count);
18960             break;
18961         }
18962 #endif
18963 #ifdef VK_EXT_transform_feedback
18964         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
18965             count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
18966                 featureBits, rootType,
18967                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
18968                     structExtension),
18969                 count);
18970             break;
18971         }
18972         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
18973             count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
18974                 featureBits, rootType,
18975                 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
18976                     structExtension),
18977                 count);
18978             break;
18979         }
18980         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
18981             count_VkPipelineRasterizationStateStreamCreateInfoEXT(
18982                 featureBits, rootType,
18983                 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
18984                     structExtension),
18985                 count);
18986             break;
18987         }
18988 #endif
18989 #ifdef VK_EXT_video_encode_h264
18990 #ifdef VK_ENABLE_BETA_EXTENSIONS
18991         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
18992             count_VkVideoEncodeH264CapabilitiesEXT(
18993                 featureBits, rootType,
18994                 reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT*>(structExtension), count);
18995             break;
18996         }
18997 #endif  // VK_ENABLE_BETA_EXTENSIONS
18998 #ifdef VK_ENABLE_BETA_EXTENSIONS
18999         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
19000             count_VkVideoEncodeH264SessionParametersAddInfoEXT(
19001                 featureBits, rootType,
19002                 reinterpret_cast<const VkVideoEncodeH264SessionParametersAddInfoEXT*>(
19003                     structExtension),
19004                 count);
19005             break;
19006         }
19007 #endif  // VK_ENABLE_BETA_EXTENSIONS
19008 #ifdef VK_ENABLE_BETA_EXTENSIONS
19009         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
19010             count_VkVideoEncodeH264SessionParametersCreateInfoEXT(
19011                 featureBits, rootType,
19012                 reinterpret_cast<const VkVideoEncodeH264SessionParametersCreateInfoEXT*>(
19013                     structExtension),
19014                 count);
19015             break;
19016         }
19017 #endif  // VK_ENABLE_BETA_EXTENSIONS
19018 #ifdef VK_ENABLE_BETA_EXTENSIONS
19019         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: {
19020             count_VkVideoEncodeH264VclFrameInfoEXT(
19021                 featureBits, rootType,
19022                 reinterpret_cast<const VkVideoEncodeH264VclFrameInfoEXT*>(structExtension), count);
19023             break;
19024         }
19025 #endif  // VK_ENABLE_BETA_EXTENSIONS
19026 #ifdef VK_ENABLE_BETA_EXTENSIONS
19027         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: {
19028             count_VkVideoEncodeH264DpbSlotInfoEXT(
19029                 featureBits, rootType,
19030                 reinterpret_cast<const VkVideoEncodeH264DpbSlotInfoEXT*>(structExtension), count);
19031             break;
19032         }
19033 #endif  // VK_ENABLE_BETA_EXTENSIONS
19034 #ifdef VK_ENABLE_BETA_EXTENSIONS
19035         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: {
19036             count_VkVideoEncodeH264ProfileInfoEXT(
19037                 featureBits, rootType,
19038                 reinterpret_cast<const VkVideoEncodeH264ProfileInfoEXT*>(structExtension), count);
19039             break;
19040         }
19041 #endif  // VK_ENABLE_BETA_EXTENSIONS
19042 #ifdef VK_ENABLE_BETA_EXTENSIONS
19043         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: {
19044             count_VkVideoEncodeH264RateControlInfoEXT(
19045                 featureBits, rootType,
19046                 reinterpret_cast<const VkVideoEncodeH264RateControlInfoEXT*>(structExtension),
19047                 count);
19048             break;
19049         }
19050 #endif  // VK_ENABLE_BETA_EXTENSIONS
19051 #ifdef VK_ENABLE_BETA_EXTENSIONS
19052         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: {
19053             count_VkVideoEncodeH264RateControlLayerInfoEXT(
19054                 featureBits, rootType,
19055                 reinterpret_cast<const VkVideoEncodeH264RateControlLayerInfoEXT*>(structExtension),
19056                 count);
19057             break;
19058         }
19059 #endif  // VK_ENABLE_BETA_EXTENSIONS
19060 #endif
19061 #ifdef VK_EXT_video_encode_h265
19062 #ifdef VK_ENABLE_BETA_EXTENSIONS
19063         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
19064             count_VkVideoEncodeH265CapabilitiesEXT(
19065                 featureBits, rootType,
19066                 reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT*>(structExtension), count);
19067             break;
19068         }
19069 #endif  // VK_ENABLE_BETA_EXTENSIONS
19070 #ifdef VK_ENABLE_BETA_EXTENSIONS
19071         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
19072             count_VkVideoEncodeH265SessionParametersAddInfoEXT(
19073                 featureBits, rootType,
19074                 reinterpret_cast<const VkVideoEncodeH265SessionParametersAddInfoEXT*>(
19075                     structExtension),
19076                 count);
19077             break;
19078         }
19079 #endif  // VK_ENABLE_BETA_EXTENSIONS
19080 #ifdef VK_ENABLE_BETA_EXTENSIONS
19081         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
19082             count_VkVideoEncodeH265SessionParametersCreateInfoEXT(
19083                 featureBits, rootType,
19084                 reinterpret_cast<const VkVideoEncodeH265SessionParametersCreateInfoEXT*>(
19085                     structExtension),
19086                 count);
19087             break;
19088         }
19089 #endif  // VK_ENABLE_BETA_EXTENSIONS
19090 #ifdef VK_ENABLE_BETA_EXTENSIONS
19091         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: {
19092             count_VkVideoEncodeH265VclFrameInfoEXT(
19093                 featureBits, rootType,
19094                 reinterpret_cast<const VkVideoEncodeH265VclFrameInfoEXT*>(structExtension), count);
19095             break;
19096         }
19097 #endif  // VK_ENABLE_BETA_EXTENSIONS
19098 #ifdef VK_ENABLE_BETA_EXTENSIONS
19099         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: {
19100             count_VkVideoEncodeH265DpbSlotInfoEXT(
19101                 featureBits, rootType,
19102                 reinterpret_cast<const VkVideoEncodeH265DpbSlotInfoEXT*>(structExtension), count);
19103             break;
19104         }
19105 #endif  // VK_ENABLE_BETA_EXTENSIONS
19106 #ifdef VK_ENABLE_BETA_EXTENSIONS
19107         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: {
19108             count_VkVideoEncodeH265ProfileInfoEXT(
19109                 featureBits, rootType,
19110                 reinterpret_cast<const VkVideoEncodeH265ProfileInfoEXT*>(structExtension), count);
19111             break;
19112         }
19113 #endif  // VK_ENABLE_BETA_EXTENSIONS
19114 #ifdef VK_ENABLE_BETA_EXTENSIONS
19115         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: {
19116             count_VkVideoEncodeH265RateControlInfoEXT(
19117                 featureBits, rootType,
19118                 reinterpret_cast<const VkVideoEncodeH265RateControlInfoEXT*>(structExtension),
19119                 count);
19120             break;
19121         }
19122 #endif  // VK_ENABLE_BETA_EXTENSIONS
19123 #ifdef VK_ENABLE_BETA_EXTENSIONS
19124         case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: {
19125             count_VkVideoEncodeH265RateControlLayerInfoEXT(
19126                 featureBits, rootType,
19127                 reinterpret_cast<const VkVideoEncodeH265RateControlLayerInfoEXT*>(structExtension),
19128                 count);
19129             break;
19130         }
19131 #endif  // VK_ENABLE_BETA_EXTENSIONS
19132 #endif
19133 #ifdef VK_AMD_texture_gather_bias_lod
19134         case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
19135             count_VkTextureLODGatherFormatPropertiesAMD(
19136                 featureBits, rootType,
19137                 reinterpret_cast<const VkTextureLODGatherFormatPropertiesAMD*>(structExtension),
19138                 count);
19139             break;
19140         }
19141 #endif
19142 #ifdef VK_NV_corner_sampled_image
19143         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
19144             count_VkPhysicalDeviceCornerSampledImageFeaturesNV(
19145                 featureBits, rootType,
19146                 reinterpret_cast<const VkPhysicalDeviceCornerSampledImageFeaturesNV*>(
19147                     structExtension),
19148                 count);
19149             break;
19150         }
19151 #endif
19152 #ifdef VK_NV_external_memory
19153         case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
19154             count_VkExternalMemoryImageCreateInfoNV(
19155                 featureBits, rootType,
19156                 reinterpret_cast<const VkExternalMemoryImageCreateInfoNV*>(structExtension), count);
19157             break;
19158         }
19159         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
19160             count_VkExportMemoryAllocateInfoNV(
19161                 featureBits, rootType,
19162                 reinterpret_cast<const VkExportMemoryAllocateInfoNV*>(structExtension), count);
19163             break;
19164         }
19165 #endif
19166 #ifdef VK_NV_external_memory_win32
19167         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
19168             count_VkImportMemoryWin32HandleInfoNV(
19169                 featureBits, rootType,
19170                 reinterpret_cast<const VkImportMemoryWin32HandleInfoNV*>(structExtension), count);
19171             break;
19172         }
19173         case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
19174             count_VkExportMemoryWin32HandleInfoNV(
19175                 featureBits, rootType,
19176                 reinterpret_cast<const VkExportMemoryWin32HandleInfoNV*>(structExtension), count);
19177             break;
19178         }
19179 #endif
19180 #ifdef VK_NV_win32_keyed_mutex
19181         case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
19182             count_VkWin32KeyedMutexAcquireReleaseInfoNV(
19183                 featureBits, rootType,
19184                 reinterpret_cast<const VkWin32KeyedMutexAcquireReleaseInfoNV*>(structExtension),
19185                 count);
19186             break;
19187         }
19188 #endif
19189 #ifdef VK_EXT_validation_flags
19190         case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
19191             count_VkValidationFlagsEXT(
19192                 featureBits, rootType,
19193                 reinterpret_cast<const VkValidationFlagsEXT*>(structExtension), count);
19194             break;
19195         }
19196 #endif
19197 #ifdef VK_EXT_astc_decode_mode
19198         case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
19199             count_VkImageViewASTCDecodeModeEXT(
19200                 featureBits, rootType,
19201                 reinterpret_cast<const VkImageViewASTCDecodeModeEXT*>(structExtension), count);
19202             break;
19203         }
19204         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
19205             count_VkPhysicalDeviceASTCDecodeFeaturesEXT(
19206                 featureBits, rootType,
19207                 reinterpret_cast<const VkPhysicalDeviceASTCDecodeFeaturesEXT*>(structExtension),
19208                 count);
19209             break;
19210         }
19211 #endif
19212 #ifdef VK_EXT_pipeline_robustness
19213         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: {
19214             count_VkPhysicalDevicePipelineRobustnessFeaturesEXT(
19215                 featureBits, rootType,
19216                 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeaturesEXT*>(
19217                     structExtension),
19218                 count);
19219             break;
19220         }
19221         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: {
19222             count_VkPhysicalDevicePipelineRobustnessPropertiesEXT(
19223                 featureBits, rootType,
19224                 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessPropertiesEXT*>(
19225                     structExtension),
19226                 count);
19227             break;
19228         }
19229         case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: {
19230             count_VkPipelineRobustnessCreateInfoEXT(
19231                 featureBits, rootType,
19232                 reinterpret_cast<const VkPipelineRobustnessCreateInfoEXT*>(structExtension), count);
19233             break;
19234         }
19235 #endif
19236 #ifdef VK_EXT_conditional_rendering
19237         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
19238             count_VkPhysicalDeviceConditionalRenderingFeaturesEXT(
19239                 featureBits, rootType,
19240                 reinterpret_cast<const VkPhysicalDeviceConditionalRenderingFeaturesEXT*>(
19241                     structExtension),
19242                 count);
19243             break;
19244         }
19245         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
19246             count_VkCommandBufferInheritanceConditionalRenderingInfoEXT(
19247                 featureBits, rootType,
19248                 reinterpret_cast<const VkCommandBufferInheritanceConditionalRenderingInfoEXT*>(
19249                     structExtension),
19250                 count);
19251             break;
19252         }
19253 #endif
19254 #ifdef VK_NV_clip_space_w_scaling
19255         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
19256             count_VkPipelineViewportWScalingStateCreateInfoNV(
19257                 featureBits, rootType,
19258                 reinterpret_cast<const VkPipelineViewportWScalingStateCreateInfoNV*>(
19259                     structExtension),
19260                 count);
19261             break;
19262         }
19263 #endif
19264 #ifdef VK_EXT_display_control
19265         case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
19266             count_VkSwapchainCounterCreateInfoEXT(
19267                 featureBits, rootType,
19268                 reinterpret_cast<const VkSwapchainCounterCreateInfoEXT*>(structExtension), count);
19269             break;
19270         }
19271 #endif
19272 #ifdef VK_GOOGLE_display_timing
19273         case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
19274             count_VkPresentTimesInfoGOOGLE(
19275                 featureBits, rootType,
19276                 reinterpret_cast<const VkPresentTimesInfoGOOGLE*>(structExtension), count);
19277             break;
19278         }
19279 #endif
19280 #ifdef VK_NVX_multiview_per_view_attributes
19281         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
19282             count_VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
19283                 featureBits, rootType,
19284                 reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX*>(
19285                     structExtension),
19286                 count);
19287             break;
19288         }
19289 #endif
19290 #ifdef VK_NV_viewport_swizzle
19291         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
19292             count_VkPipelineViewportSwizzleStateCreateInfoNV(
19293                 featureBits, rootType,
19294                 reinterpret_cast<const VkPipelineViewportSwizzleStateCreateInfoNV*>(
19295                     structExtension),
19296                 count);
19297             break;
19298         }
19299 #endif
19300 #ifdef VK_EXT_discard_rectangles
19301         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
19302             count_VkPhysicalDeviceDiscardRectanglePropertiesEXT(
19303                 featureBits, rootType,
19304                 reinterpret_cast<const VkPhysicalDeviceDiscardRectanglePropertiesEXT*>(
19305                     structExtension),
19306                 count);
19307             break;
19308         }
19309         case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
19310             count_VkPipelineDiscardRectangleStateCreateInfoEXT(
19311                 featureBits, rootType,
19312                 reinterpret_cast<const VkPipelineDiscardRectangleStateCreateInfoEXT*>(
19313                     structExtension),
19314                 count);
19315             break;
19316         }
19317 #endif
19318 #ifdef VK_EXT_conservative_rasterization
19319         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
19320             count_VkPhysicalDeviceConservativeRasterizationPropertiesEXT(
19321                 featureBits, rootType,
19322                 reinterpret_cast<const VkPhysicalDeviceConservativeRasterizationPropertiesEXT*>(
19323                     structExtension),
19324                 count);
19325             break;
19326         }
19327         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
19328             count_VkPipelineRasterizationConservativeStateCreateInfoEXT(
19329                 featureBits, rootType,
19330                 reinterpret_cast<const VkPipelineRasterizationConservativeStateCreateInfoEXT*>(
19331                     structExtension),
19332                 count);
19333             break;
19334         }
19335 #endif
19336 #ifdef VK_EXT_depth_clip_enable
19337         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
19338             count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
19339                 featureBits, rootType,
19340                 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
19341                     structExtension),
19342                 count);
19343             break;
19344         }
19345         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
19346             count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
19347                 featureBits, rootType,
19348                 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
19349                     structExtension),
19350                 count);
19351             break;
19352         }
19353 #endif
19354 #ifdef VK_EXT_debug_utils
19355         case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: {
19356             count_VkDebugUtilsObjectNameInfoEXT(
19357                 featureBits, rootType,
19358                 reinterpret_cast<const VkDebugUtilsObjectNameInfoEXT*>(structExtension), count);
19359             break;
19360         }
19361         case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
19362             count_VkDebugUtilsMessengerCreateInfoEXT(
19363                 featureBits, rootType,
19364                 reinterpret_cast<const VkDebugUtilsMessengerCreateInfoEXT*>(structExtension),
19365                 count);
19366             break;
19367         }
19368 #endif
19369 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
19370         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: {
19371             count_VkAndroidHardwareBufferUsageANDROID(
19372                 featureBits, rootType,
19373                 reinterpret_cast<const VkAndroidHardwareBufferUsageANDROID*>(structExtension),
19374                 count);
19375             break;
19376         }
19377         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: {
19378             count_VkAndroidHardwareBufferFormatPropertiesANDROID(
19379                 featureBits, rootType,
19380                 reinterpret_cast<const VkAndroidHardwareBufferFormatPropertiesANDROID*>(
19381                     structExtension),
19382                 count);
19383             break;
19384         }
19385         case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
19386             count_VkImportAndroidHardwareBufferInfoANDROID(
19387                 featureBits, rootType,
19388                 reinterpret_cast<const VkImportAndroidHardwareBufferInfoANDROID*>(structExtension),
19389                 count);
19390             break;
19391         }
19392         case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: {
19393             count_VkExternalFormatANDROID(
19394                 featureBits, rootType,
19395                 reinterpret_cast<const VkExternalFormatANDROID*>(structExtension), count);
19396             break;
19397         }
19398         case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: {
19399             count_VkAndroidHardwareBufferFormatProperties2ANDROID(
19400                 featureBits, rootType,
19401                 reinterpret_cast<const VkAndroidHardwareBufferFormatProperties2ANDROID*>(
19402                     structExtension),
19403                 count);
19404             break;
19405         }
19406 #endif
19407 #ifdef VK_EXT_sample_locations
19408         case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
19409             count_VkSampleLocationsInfoEXT(
19410                 featureBits, rootType,
19411                 reinterpret_cast<const VkSampleLocationsInfoEXT*>(structExtension), count);
19412             break;
19413         }
19414         case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
19415             count_VkRenderPassSampleLocationsBeginInfoEXT(
19416                 featureBits, rootType,
19417                 reinterpret_cast<const VkRenderPassSampleLocationsBeginInfoEXT*>(structExtension),
19418                 count);
19419             break;
19420         }
19421         case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
19422             count_VkPipelineSampleLocationsStateCreateInfoEXT(
19423                 featureBits, rootType,
19424                 reinterpret_cast<const VkPipelineSampleLocationsStateCreateInfoEXT*>(
19425                     structExtension),
19426                 count);
19427             break;
19428         }
19429         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
19430             count_VkPhysicalDeviceSampleLocationsPropertiesEXT(
19431                 featureBits, rootType,
19432                 reinterpret_cast<const VkPhysicalDeviceSampleLocationsPropertiesEXT*>(
19433                     structExtension),
19434                 count);
19435             break;
19436         }
19437 #endif
19438 #ifdef VK_EXT_blend_operation_advanced
19439         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
19440             count_VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
19441                 featureBits, rootType,
19442                 reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT*>(
19443                     structExtension),
19444                 count);
19445             break;
19446         }
19447         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
19448             count_VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
19449                 featureBits, rootType,
19450                 reinterpret_cast<const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT*>(
19451                     structExtension),
19452                 count);
19453             break;
19454         }
19455         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
19456             count_VkPipelineColorBlendAdvancedStateCreateInfoEXT(
19457                 featureBits, rootType,
19458                 reinterpret_cast<const VkPipelineColorBlendAdvancedStateCreateInfoEXT*>(
19459                     structExtension),
19460                 count);
19461             break;
19462         }
19463 #endif
19464 #ifdef VK_NV_fragment_coverage_to_color
19465         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
19466             count_VkPipelineCoverageToColorStateCreateInfoNV(
19467                 featureBits, rootType,
19468                 reinterpret_cast<const VkPipelineCoverageToColorStateCreateInfoNV*>(
19469                     structExtension),
19470                 count);
19471             break;
19472         }
19473 #endif
19474 #ifdef VK_NV_framebuffer_mixed_samples
19475         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
19476             count_VkPipelineCoverageModulationStateCreateInfoNV(
19477                 featureBits, rootType,
19478                 reinterpret_cast<const VkPipelineCoverageModulationStateCreateInfoNV*>(
19479                     structExtension),
19480                 count);
19481             break;
19482         }
19483 #endif
19484 #ifdef VK_NV_shader_sm_builtins
19485         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
19486             count_VkPhysicalDeviceShaderSMBuiltinsPropertiesNV(
19487                 featureBits, rootType,
19488                 reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV*>(
19489                     structExtension),
19490                 count);
19491             break;
19492         }
19493         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
19494             count_VkPhysicalDeviceShaderSMBuiltinsFeaturesNV(
19495                 featureBits, rootType,
19496                 reinterpret_cast<const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV*>(
19497                     structExtension),
19498                 count);
19499             break;
19500         }
19501 #endif
19502 #ifdef VK_EXT_image_drm_format_modifier
19503         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
19504             count_VkDrmFormatModifierPropertiesListEXT(
19505                 featureBits, rootType,
19506                 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension),
19507                 count);
19508             break;
19509         }
19510         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
19511             count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
19512                 featureBits, rootType,
19513                 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
19514                     structExtension),
19515                 count);
19516             break;
19517         }
19518         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
19519             count_VkImageDrmFormatModifierListCreateInfoEXT(
19520                 featureBits, rootType,
19521                 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension),
19522                 count);
19523             break;
19524         }
19525         case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
19526             count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
19527                 featureBits, rootType,
19528                 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
19529                     structExtension),
19530                 count);
19531             break;
19532         }
19533         case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
19534             count_VkDrmFormatModifierPropertiesList2EXT(
19535                 featureBits, rootType,
19536                 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension),
19537                 count);
19538             break;
19539         }
19540 #endif
19541 #ifdef VK_EXT_validation_cache
19542         case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
19543             count_VkShaderModuleValidationCacheCreateInfoEXT(
19544                 featureBits, rootType,
19545                 reinterpret_cast<const VkShaderModuleValidationCacheCreateInfoEXT*>(
19546                     structExtension),
19547                 count);
19548             break;
19549         }
19550 #endif
19551 #ifdef VK_NV_shading_rate_image
19552         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
19553             count_VkPipelineViewportShadingRateImageStateCreateInfoNV(
19554                 featureBits, rootType,
19555                 reinterpret_cast<const VkPipelineViewportShadingRateImageStateCreateInfoNV*>(
19556                     structExtension),
19557                 count);
19558             break;
19559         }
19560         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
19561             count_VkPhysicalDeviceShadingRateImageFeaturesNV(
19562                 featureBits, rootType,
19563                 reinterpret_cast<const VkPhysicalDeviceShadingRateImageFeaturesNV*>(
19564                     structExtension),
19565                 count);
19566             break;
19567         }
19568         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
19569             count_VkPhysicalDeviceShadingRateImagePropertiesNV(
19570                 featureBits, rootType,
19571                 reinterpret_cast<const VkPhysicalDeviceShadingRateImagePropertiesNV*>(
19572                     structExtension),
19573                 count);
19574             break;
19575         }
19576         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
19577             count_VkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
19578                 featureBits, rootType,
19579                 reinterpret_cast<const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV*>(
19580                     structExtension),
19581                 count);
19582             break;
19583         }
19584 #endif
19585 #ifdef VK_NV_ray_tracing
19586         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
19587             count_VkWriteDescriptorSetAccelerationStructureNV(
19588                 featureBits, rootType,
19589                 reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureNV*>(
19590                     structExtension),
19591                 count);
19592             break;
19593         }
19594         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
19595             count_VkPhysicalDeviceRayTracingPropertiesNV(
19596                 featureBits, rootType,
19597                 reinterpret_cast<const VkPhysicalDeviceRayTracingPropertiesNV*>(structExtension),
19598                 count);
19599             break;
19600         }
19601 #endif
19602 #ifdef VK_NV_representative_fragment_test
19603         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
19604             count_VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
19605                 featureBits, rootType,
19606                 reinterpret_cast<const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV*>(
19607                     structExtension),
19608                 count);
19609             break;
19610         }
19611         case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
19612             count_VkPipelineRepresentativeFragmentTestStateCreateInfoNV(
19613                 featureBits, rootType,
19614                 reinterpret_cast<const VkPipelineRepresentativeFragmentTestStateCreateInfoNV*>(
19615                     structExtension),
19616                 count);
19617             break;
19618         }
19619 #endif
19620 #ifdef VK_EXT_filter_cubic
19621         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
19622             count_VkPhysicalDeviceImageViewImageFormatInfoEXT(
19623                 featureBits, rootType,
19624                 reinterpret_cast<const VkPhysicalDeviceImageViewImageFormatInfoEXT*>(
19625                     structExtension),
19626                 count);
19627             break;
19628         }
19629         case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
19630             count_VkFilterCubicImageViewImageFormatPropertiesEXT(
19631                 featureBits, rootType,
19632                 reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT*>(
19633                     structExtension),
19634                 count);
19635             break;
19636         }
19637 #endif
19638 #ifdef VK_EXT_external_memory_host
19639         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
19640             count_VkImportMemoryHostPointerInfoEXT(
19641                 featureBits, rootType,
19642                 reinterpret_cast<const VkImportMemoryHostPointerInfoEXT*>(structExtension), count);
19643             break;
19644         }
19645         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
19646             count_VkPhysicalDeviceExternalMemoryHostPropertiesEXT(
19647                 featureBits, rootType,
19648                 reinterpret_cast<const VkPhysicalDeviceExternalMemoryHostPropertiesEXT*>(
19649                     structExtension),
19650                 count);
19651             break;
19652         }
19653 #endif
19654 #ifdef VK_AMD_pipeline_compiler_control
19655         case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
19656             count_VkPipelineCompilerControlCreateInfoAMD(
19657                 featureBits, rootType,
19658                 reinterpret_cast<const VkPipelineCompilerControlCreateInfoAMD*>(structExtension),
19659                 count);
19660             break;
19661         }
19662 #endif
19663 #ifdef VK_AMD_shader_core_properties
19664         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
19665             count_VkPhysicalDeviceShaderCorePropertiesAMD(
19666                 featureBits, rootType,
19667                 reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesAMD*>(structExtension),
19668                 count);
19669             break;
19670         }
19671 #endif
19672 #ifdef VK_AMD_memory_overallocation_behavior
19673         case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
19674             count_VkDeviceMemoryOverallocationCreateInfoAMD(
19675                 featureBits, rootType,
19676                 reinterpret_cast<const VkDeviceMemoryOverallocationCreateInfoAMD*>(structExtension),
19677                 count);
19678             break;
19679         }
19680 #endif
19681 #ifdef VK_EXT_vertex_attribute_divisor
19682         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
19683             count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
19684                 featureBits, rootType,
19685                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
19686                     structExtension),
19687                 count);
19688             break;
19689         }
19690         case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
19691             count_VkPipelineVertexInputDivisorStateCreateInfoEXT(
19692                 featureBits, rootType,
19693                 reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfoEXT*>(
19694                     structExtension),
19695                 count);
19696             break;
19697         }
19698         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
19699             count_VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
19700                 featureBits, rootType,
19701                 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*>(
19702                     structExtension),
19703                 count);
19704             break;
19705         }
19706 #endif
19707 #ifdef VK_GGP_frame_token
19708         case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
19709             count_VkPresentFrameTokenGGP(
19710                 featureBits, rootType,
19711                 reinterpret_cast<const VkPresentFrameTokenGGP*>(structExtension), count);
19712             break;
19713         }
19714 #endif
19715 #ifdef VK_NV_compute_shader_derivatives
19716         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
19717             count_VkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
19718                 featureBits, rootType,
19719                 reinterpret_cast<const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV*>(
19720                     structExtension),
19721                 count);
19722             break;
19723         }
19724 #endif
19725 #ifdef VK_NV_mesh_shader
19726         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
19727             count_VkPhysicalDeviceMeshShaderFeaturesNV(
19728                 featureBits, rootType,
19729                 reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesNV*>(structExtension),
19730                 count);
19731             break;
19732         }
19733         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
19734             count_VkPhysicalDeviceMeshShaderPropertiesNV(
19735                 featureBits, rootType,
19736                 reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesNV*>(structExtension),
19737                 count);
19738             break;
19739         }
19740 #endif
19741 #ifdef VK_NV_shader_image_footprint
19742         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
19743             count_VkPhysicalDeviceShaderImageFootprintFeaturesNV(
19744                 featureBits, rootType,
19745                 reinterpret_cast<const VkPhysicalDeviceShaderImageFootprintFeaturesNV*>(
19746                     structExtension),
19747                 count);
19748             break;
19749         }
19750 #endif
19751 #ifdef VK_NV_scissor_exclusive
19752         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
19753             count_VkPipelineViewportExclusiveScissorStateCreateInfoNV(
19754                 featureBits, rootType,
19755                 reinterpret_cast<const VkPipelineViewportExclusiveScissorStateCreateInfoNV*>(
19756                     structExtension),
19757                 count);
19758             break;
19759         }
19760         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
19761             count_VkPhysicalDeviceExclusiveScissorFeaturesNV(
19762                 featureBits, rootType,
19763                 reinterpret_cast<const VkPhysicalDeviceExclusiveScissorFeaturesNV*>(
19764                     structExtension),
19765                 count);
19766             break;
19767         }
19768 #endif
19769 #ifdef VK_NV_device_diagnostic_checkpoints
19770         case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: {
19771             count_VkQueueFamilyCheckpointPropertiesNV(
19772                 featureBits, rootType,
19773                 reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(structExtension),
19774                 count);
19775             break;
19776         }
19777 #endif
19778 #ifdef VK_INTEL_shader_integer_functions2
19779         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
19780             count_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
19781                 featureBits, rootType,
19782                 reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL*>(
19783                     structExtension),
19784                 count);
19785             break;
19786         }
19787 #endif
19788 #ifdef VK_INTEL_performance_query
19789         case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
19790             count_VkQueryPoolPerformanceQueryCreateInfoINTEL(
19791                 featureBits, rootType,
19792                 reinterpret_cast<const VkQueryPoolPerformanceQueryCreateInfoINTEL*>(
19793                     structExtension),
19794                 count);
19795             break;
19796         }
19797 #endif
19798 #ifdef VK_EXT_pci_bus_info
19799         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
19800             count_VkPhysicalDevicePCIBusInfoPropertiesEXT(
19801                 featureBits, rootType,
19802                 reinterpret_cast<const VkPhysicalDevicePCIBusInfoPropertiesEXT*>(structExtension),
19803                 count);
19804             break;
19805         }
19806 #endif
19807 #ifdef VK_AMD_display_native_hdr
19808         case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
19809             count_VkDisplayNativeHdrSurfaceCapabilitiesAMD(
19810                 featureBits, rootType,
19811                 reinterpret_cast<const VkDisplayNativeHdrSurfaceCapabilitiesAMD*>(structExtension),
19812                 count);
19813             break;
19814         }
19815         case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
19816             count_VkSwapchainDisplayNativeHdrCreateInfoAMD(
19817                 featureBits, rootType,
19818                 reinterpret_cast<const VkSwapchainDisplayNativeHdrCreateInfoAMD*>(structExtension),
19819                 count);
19820             break;
19821         }
19822 #endif
19823 #ifdef VK_EXT_fragment_density_map
19824         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
19825             switch (rootType) {
19826                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
19827                     count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
19828                         featureBits, rootType,
19829                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
19830                             structExtension),
19831                         count);
19832                     break;
19833                 }
19834                 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
19835                     count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
19836                         featureBits, rootType,
19837                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
19838                             structExtension),
19839                         count);
19840                     break;
19841                 }
19842                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
19843                     count_VkImportColorBufferGOOGLE(
19844                         featureBits, rootType,
19845                         reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
19846                     break;
19847                 }
19848                 default: {
19849                     count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
19850                         featureBits, rootType,
19851                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
19852                             structExtension),
19853                         count);
19854                     break;
19855                 }
19856             }
19857             break;
19858         }
19859         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
19860             switch (rootType) {
19861                 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
19862                     count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
19863                         featureBits, rootType,
19864                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
19865                             structExtension),
19866                         count);
19867                     break;
19868                 }
19869                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
19870                     count_VkCreateBlobGOOGLE(
19871                         featureBits, rootType,
19872                         reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension), count);
19873                     break;
19874                 }
19875                 default: {
19876                     count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
19877                         featureBits, rootType,
19878                         reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
19879                             structExtension),
19880                         count);
19881                     break;
19882                 }
19883             }
19884             break;
19885         }
19886         case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
19887             switch (rootType) {
19888                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
19889                     count_VkRenderPassFragmentDensityMapCreateInfoEXT(
19890                         featureBits, rootType,
19891                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
19892                             structExtension),
19893                         count);
19894                     break;
19895                 }
19896                 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
19897                     count_VkRenderPassFragmentDensityMapCreateInfoEXT(
19898                         featureBits, rootType,
19899                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
19900                             structExtension),
19901                         count);
19902                     break;
19903                 }
19904                 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
19905                     count_VkImportBufferGOOGLE(
19906                         featureBits, rootType,
19907                         reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
19908                     break;
19909                 }
19910                 default: {
19911                     count_VkRenderPassFragmentDensityMapCreateInfoEXT(
19912                         featureBits, rootType,
19913                         reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
19914                             structExtension),
19915                         count);
19916                     break;
19917                 }
19918             }
19919             break;
19920         }
19921 #endif
19922 #ifdef VK_AMD_shader_core_properties2
19923         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
19924             count_VkPhysicalDeviceShaderCoreProperties2AMD(
19925                 featureBits, rootType,
19926                 reinterpret_cast<const VkPhysicalDeviceShaderCoreProperties2AMD*>(structExtension),
19927                 count);
19928             break;
19929         }
19930 #endif
19931 #ifdef VK_AMD_device_coherent_memory
19932         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
19933             count_VkPhysicalDeviceCoherentMemoryFeaturesAMD(
19934                 featureBits, rootType,
19935                 reinterpret_cast<const VkPhysicalDeviceCoherentMemoryFeaturesAMD*>(structExtension),
19936                 count);
19937             break;
19938         }
19939 #endif
19940 #ifdef VK_EXT_shader_image_atomic_int64
19941         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
19942             count_VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(
19943                 featureBits, rootType,
19944                 reinterpret_cast<const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT*>(
19945                     structExtension),
19946                 count);
19947             break;
19948         }
19949 #endif
19950 #ifdef VK_EXT_memory_budget
19951         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
19952             count_VkPhysicalDeviceMemoryBudgetPropertiesEXT(
19953                 featureBits, rootType,
19954                 reinterpret_cast<const VkPhysicalDeviceMemoryBudgetPropertiesEXT*>(structExtension),
19955                 count);
19956             break;
19957         }
19958 #endif
19959 #ifdef VK_EXT_memory_priority
19960         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
19961             count_VkPhysicalDeviceMemoryPriorityFeaturesEXT(
19962                 featureBits, rootType,
19963                 reinterpret_cast<const VkPhysicalDeviceMemoryPriorityFeaturesEXT*>(structExtension),
19964                 count);
19965             break;
19966         }
19967         case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
19968             count_VkMemoryPriorityAllocateInfoEXT(
19969                 featureBits, rootType,
19970                 reinterpret_cast<const VkMemoryPriorityAllocateInfoEXT*>(structExtension), count);
19971             break;
19972         }
19973 #endif
19974 #ifdef VK_NV_dedicated_allocation_image_aliasing
19975         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
19976             count_VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
19977                 featureBits, rootType,
19978                 reinterpret_cast<const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV*>(
19979                     structExtension),
19980                 count);
19981             break;
19982         }
19983 #endif
19984 #ifdef VK_EXT_buffer_device_address
19985         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
19986             count_VkPhysicalDeviceBufferDeviceAddressFeaturesEXT(
19987                 featureBits, rootType,
19988                 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT*>(
19989                     structExtension),
19990                 count);
19991             break;
19992         }
19993         case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
19994             count_VkBufferDeviceAddressCreateInfoEXT(
19995                 featureBits, rootType,
19996                 reinterpret_cast<const VkBufferDeviceAddressCreateInfoEXT*>(structExtension),
19997                 count);
19998             break;
19999         }
20000 #endif
20001 #ifdef VK_EXT_validation_features
20002         case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
20003             count_VkValidationFeaturesEXT(
20004                 featureBits, rootType,
20005                 reinterpret_cast<const VkValidationFeaturesEXT*>(structExtension), count);
20006             break;
20007         }
20008 #endif
20009 #ifdef VK_NV_cooperative_matrix
20010         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
20011             count_VkPhysicalDeviceCooperativeMatrixFeaturesNV(
20012                 featureBits, rootType,
20013                 reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesNV*>(
20014                     structExtension),
20015                 count);
20016             break;
20017         }
20018         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
20019             count_VkPhysicalDeviceCooperativeMatrixPropertiesNV(
20020                 featureBits, rootType,
20021                 reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixPropertiesNV*>(
20022                     structExtension),
20023                 count);
20024             break;
20025         }
20026 #endif
20027 #ifdef VK_NV_coverage_reduction_mode
20028         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
20029             count_VkPhysicalDeviceCoverageReductionModeFeaturesNV(
20030                 featureBits, rootType,
20031                 reinterpret_cast<const VkPhysicalDeviceCoverageReductionModeFeaturesNV*>(
20032                     structExtension),
20033                 count);
20034             break;
20035         }
20036         case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
20037             count_VkPipelineCoverageReductionStateCreateInfoNV(
20038                 featureBits, rootType,
20039                 reinterpret_cast<const VkPipelineCoverageReductionStateCreateInfoNV*>(
20040                     structExtension),
20041                 count);
20042             break;
20043         }
20044 #endif
20045 #ifdef VK_EXT_fragment_shader_interlock
20046         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
20047             count_VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
20048                 featureBits, rootType,
20049                 reinterpret_cast<const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT*>(
20050                     structExtension),
20051                 count);
20052             break;
20053         }
20054 #endif
20055 #ifdef VK_EXT_ycbcr_image_arrays
20056         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
20057             count_VkPhysicalDeviceYcbcrImageArraysFeaturesEXT(
20058                 featureBits, rootType,
20059                 reinterpret_cast<const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT*>(
20060                     structExtension),
20061                 count);
20062             break;
20063         }
20064 #endif
20065 #ifdef VK_EXT_provoking_vertex
20066         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
20067             count_VkPhysicalDeviceProvokingVertexFeaturesEXT(
20068                 featureBits, rootType,
20069                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
20070                     structExtension),
20071                 count);
20072             break;
20073         }
20074         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
20075             count_VkPhysicalDeviceProvokingVertexPropertiesEXT(
20076                 featureBits, rootType,
20077                 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
20078                     structExtension),
20079                 count);
20080             break;
20081         }
20082         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
20083             count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
20084                 featureBits, rootType,
20085                 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
20086                     structExtension),
20087                 count);
20088             break;
20089         }
20090 #endif
20091 #ifdef VK_EXT_full_screen_exclusive
20092         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
20093             count_VkSurfaceFullScreenExclusiveInfoEXT(
20094                 featureBits, rootType,
20095                 reinterpret_cast<const VkSurfaceFullScreenExclusiveInfoEXT*>(structExtension),
20096                 count);
20097             break;
20098         }
20099         case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
20100             count_VkSurfaceCapabilitiesFullScreenExclusiveEXT(
20101                 featureBits, rootType,
20102                 reinterpret_cast<const VkSurfaceCapabilitiesFullScreenExclusiveEXT*>(
20103                     structExtension),
20104                 count);
20105             break;
20106         }
20107         case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
20108             count_VkSurfaceFullScreenExclusiveWin32InfoEXT(
20109                 featureBits, rootType,
20110                 reinterpret_cast<const VkSurfaceFullScreenExclusiveWin32InfoEXT*>(structExtension),
20111                 count);
20112             break;
20113         }
20114 #endif
20115 #ifdef VK_EXT_line_rasterization
20116         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
20117             count_VkPhysicalDeviceLineRasterizationFeaturesEXT(
20118                 featureBits, rootType,
20119                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesEXT*>(
20120                     structExtension),
20121                 count);
20122             break;
20123         }
20124         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
20125             count_VkPhysicalDeviceLineRasterizationPropertiesEXT(
20126                 featureBits, rootType,
20127                 reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesEXT*>(
20128                     structExtension),
20129                 count);
20130             break;
20131         }
20132         case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
20133             count_VkPipelineRasterizationLineStateCreateInfoEXT(
20134                 featureBits, rootType,
20135                 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoEXT*>(
20136                     structExtension),
20137                 count);
20138             break;
20139         }
20140 #endif
20141 #ifdef VK_EXT_shader_atomic_float
20142         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
20143             count_VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(
20144                 featureBits, rootType,
20145                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT*>(
20146                     structExtension),
20147                 count);
20148             break;
20149         }
20150 #endif
20151 #ifdef VK_EXT_index_type_uint8
20152         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
20153             count_VkPhysicalDeviceIndexTypeUint8FeaturesEXT(
20154                 featureBits, rootType,
20155                 reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8FeaturesEXT*>(structExtension),
20156                 count);
20157             break;
20158         }
20159 #endif
20160 #ifdef VK_EXT_extended_dynamic_state
20161         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
20162             count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
20163                 featureBits, rootType,
20164                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
20165                     structExtension),
20166                 count);
20167             break;
20168         }
20169 #endif
20170 #ifdef VK_EXT_shader_atomic_float2
20171         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
20172             count_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(
20173                 featureBits, rootType,
20174                 reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*>(
20175                     structExtension),
20176                 count);
20177             break;
20178         }
20179 #endif
20180 #ifdef VK_EXT_surface_maintenance1
20181         case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: {
20182             count_VkSurfacePresentModeEXT(
20183                 featureBits, rootType,
20184                 reinterpret_cast<const VkSurfacePresentModeEXT*>(structExtension), count);
20185             break;
20186         }
20187         case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: {
20188             count_VkSurfacePresentScalingCapabilitiesEXT(
20189                 featureBits, rootType,
20190                 reinterpret_cast<const VkSurfacePresentScalingCapabilitiesEXT*>(structExtension),
20191                 count);
20192             break;
20193         }
20194         case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: {
20195             count_VkSurfacePresentModeCompatibilityEXT(
20196                 featureBits, rootType,
20197                 reinterpret_cast<const VkSurfacePresentModeCompatibilityEXT*>(structExtension),
20198                 count);
20199             break;
20200         }
20201 #endif
20202 #ifdef VK_EXT_swapchain_maintenance1
20203         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
20204             count_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(
20205                 featureBits, rootType,
20206                 reinterpret_cast<const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>(
20207                     structExtension),
20208                 count);
20209             break;
20210         }
20211         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
20212             count_VkSwapchainPresentFenceInfoEXT(
20213                 featureBits, rootType,
20214                 reinterpret_cast<const VkSwapchainPresentFenceInfoEXT*>(structExtension), count);
20215             break;
20216         }
20217         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
20218             count_VkSwapchainPresentModesCreateInfoEXT(
20219                 featureBits, rootType,
20220                 reinterpret_cast<const VkSwapchainPresentModesCreateInfoEXT*>(structExtension),
20221                 count);
20222             break;
20223         }
20224         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
20225             count_VkSwapchainPresentModeInfoEXT(
20226                 featureBits, rootType,
20227                 reinterpret_cast<const VkSwapchainPresentModeInfoEXT*>(structExtension), count);
20228             break;
20229         }
20230         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
20231             count_VkSwapchainPresentScalingCreateInfoEXT(
20232                 featureBits, rootType,
20233                 reinterpret_cast<const VkSwapchainPresentScalingCreateInfoEXT*>(structExtension),
20234                 count);
20235             break;
20236         }
20237 #endif
20238 #ifdef VK_NV_device_generated_commands
20239         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
20240             count_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
20241                 featureBits, rootType,
20242                 reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV*>(
20243                     structExtension),
20244                 count);
20245             break;
20246         }
20247         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
20248             count_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
20249                 featureBits, rootType,
20250                 reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV*>(
20251                     structExtension),
20252                 count);
20253             break;
20254         }
20255         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
20256             count_VkGraphicsPipelineShaderGroupsCreateInfoNV(
20257                 featureBits, rootType,
20258                 reinterpret_cast<const VkGraphicsPipelineShaderGroupsCreateInfoNV*>(
20259                     structExtension),
20260                 count);
20261             break;
20262         }
20263 #endif
20264 #ifdef VK_NV_inherited_viewport_scissor
20265         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
20266             count_VkPhysicalDeviceInheritedViewportScissorFeaturesNV(
20267                 featureBits, rootType,
20268                 reinterpret_cast<const VkPhysicalDeviceInheritedViewportScissorFeaturesNV*>(
20269                     structExtension),
20270                 count);
20271             break;
20272         }
20273         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
20274             count_VkCommandBufferInheritanceViewportScissorInfoNV(
20275                 featureBits, rootType,
20276                 reinterpret_cast<const VkCommandBufferInheritanceViewportScissorInfoNV*>(
20277                     structExtension),
20278                 count);
20279             break;
20280         }
20281 #endif
20282 #ifdef VK_EXT_texel_buffer_alignment
20283         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
20284             count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
20285                 featureBits, rootType,
20286                 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
20287                     structExtension),
20288                 count);
20289             break;
20290         }
20291 #endif
20292 #ifdef VK_QCOM_render_pass_transform
20293         case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
20294             count_VkRenderPassTransformBeginInfoQCOM(
20295                 featureBits, rootType,
20296                 reinterpret_cast<const VkRenderPassTransformBeginInfoQCOM*>(structExtension),
20297                 count);
20298             break;
20299         }
20300         case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
20301             count_VkCommandBufferInheritanceRenderPassTransformInfoQCOM(
20302                 featureBits, rootType,
20303                 reinterpret_cast<const VkCommandBufferInheritanceRenderPassTransformInfoQCOM*>(
20304                     structExtension),
20305                 count);
20306             break;
20307         }
20308 #endif
20309 #ifdef VK_EXT_device_memory_report
20310         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
20311             count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
20312                 featureBits, rootType,
20313                 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
20314                     structExtension),
20315                 count);
20316             break;
20317         }
20318         case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
20319             count_VkDeviceDeviceMemoryReportCreateInfoEXT(
20320                 featureBits, rootType,
20321                 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
20322                 count);
20323             break;
20324         }
20325 #endif
20326 #ifdef VK_EXT_robustness2
20327         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
20328             count_VkPhysicalDeviceRobustness2FeaturesEXT(
20329                 featureBits, rootType,
20330                 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
20331                 count);
20332             break;
20333         }
20334         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
20335             count_VkPhysicalDeviceRobustness2PropertiesEXT(
20336                 featureBits, rootType,
20337                 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
20338                 count);
20339             break;
20340         }
20341 #endif
20342 #ifdef VK_EXT_custom_border_color
20343         case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
20344             count_VkSamplerCustomBorderColorCreateInfoEXT(
20345                 featureBits, rootType,
20346                 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
20347                 count);
20348             break;
20349         }
20350         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
20351             count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
20352                 featureBits, rootType,
20353                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
20354                     structExtension),
20355                 count);
20356             break;
20357         }
20358         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
20359             count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
20360                 featureBits, rootType,
20361                 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
20362                     structExtension),
20363                 count);
20364             break;
20365         }
20366 #endif
20367 #ifdef VK_NV_present_barrier
20368         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: {
20369             count_VkPhysicalDevicePresentBarrierFeaturesNV(
20370                 featureBits, rootType,
20371                 reinterpret_cast<const VkPhysicalDevicePresentBarrierFeaturesNV*>(structExtension),
20372                 count);
20373             break;
20374         }
20375         case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: {
20376             count_VkSurfaceCapabilitiesPresentBarrierNV(
20377                 featureBits, rootType,
20378                 reinterpret_cast<const VkSurfaceCapabilitiesPresentBarrierNV*>(structExtension),
20379                 count);
20380             break;
20381         }
20382         case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: {
20383             count_VkSwapchainPresentBarrierCreateInfoNV(
20384                 featureBits, rootType,
20385                 reinterpret_cast<const VkSwapchainPresentBarrierCreateInfoNV*>(structExtension),
20386                 count);
20387             break;
20388         }
20389 #endif
20390 #ifdef VK_NV_device_diagnostics_config
20391         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
20392             count_VkPhysicalDeviceDiagnosticsConfigFeaturesNV(
20393                 featureBits, rootType,
20394                 reinterpret_cast<const VkPhysicalDeviceDiagnosticsConfigFeaturesNV*>(
20395                     structExtension),
20396                 count);
20397             break;
20398         }
20399         case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
20400             count_VkDeviceDiagnosticsConfigCreateInfoNV(
20401                 featureBits, rootType,
20402                 reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV*>(structExtension),
20403                 count);
20404             break;
20405         }
20406 #endif
20407 #ifdef VK_NV_low_latency
20408         case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: {
20409             count_VkQueryLowLatencySupportNV(
20410                 featureBits, rootType,
20411                 reinterpret_cast<const VkQueryLowLatencySupportNV*>(structExtension), count);
20412             break;
20413         }
20414 #endif
20415 #ifdef VK_EXT_metal_objects
20416         case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: {
20417             count_VkExportMetalObjectCreateInfoEXT(
20418                 featureBits, rootType,
20419                 reinterpret_cast<const VkExportMetalObjectCreateInfoEXT*>(structExtension), count);
20420             break;
20421         }
20422         case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: {
20423             count_VkExportMetalDeviceInfoEXT(
20424                 featureBits, rootType,
20425                 reinterpret_cast<const VkExportMetalDeviceInfoEXT*>(structExtension), count);
20426             break;
20427         }
20428         case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: {
20429             count_VkExportMetalCommandQueueInfoEXT(
20430                 featureBits, rootType,
20431                 reinterpret_cast<const VkExportMetalCommandQueueInfoEXT*>(structExtension), count);
20432             break;
20433         }
20434         case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: {
20435             count_VkExportMetalBufferInfoEXT(
20436                 featureBits, rootType,
20437                 reinterpret_cast<const VkExportMetalBufferInfoEXT*>(structExtension), count);
20438             break;
20439         }
20440         case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: {
20441             count_VkImportMetalBufferInfoEXT(
20442                 featureBits, rootType,
20443                 reinterpret_cast<const VkImportMetalBufferInfoEXT*>(structExtension), count);
20444             break;
20445         }
20446         case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: {
20447             count_VkExportMetalTextureInfoEXT(
20448                 featureBits, rootType,
20449                 reinterpret_cast<const VkExportMetalTextureInfoEXT*>(structExtension), count);
20450             break;
20451         }
20452         case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: {
20453             count_VkImportMetalTextureInfoEXT(
20454                 featureBits, rootType,
20455                 reinterpret_cast<const VkImportMetalTextureInfoEXT*>(structExtension), count);
20456             break;
20457         }
20458         case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: {
20459             count_VkExportMetalIOSurfaceInfoEXT(
20460                 featureBits, rootType,
20461                 reinterpret_cast<const VkExportMetalIOSurfaceInfoEXT*>(structExtension), count);
20462             break;
20463         }
20464         case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: {
20465             count_VkImportMetalIOSurfaceInfoEXT(
20466                 featureBits, rootType,
20467                 reinterpret_cast<const VkImportMetalIOSurfaceInfoEXT*>(structExtension), count);
20468             break;
20469         }
20470         case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: {
20471             count_VkExportMetalSharedEventInfoEXT(
20472                 featureBits, rootType,
20473                 reinterpret_cast<const VkExportMetalSharedEventInfoEXT*>(structExtension), count);
20474             break;
20475         }
20476         case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: {
20477             count_VkImportMetalSharedEventInfoEXT(
20478                 featureBits, rootType,
20479                 reinterpret_cast<const VkImportMetalSharedEventInfoEXT*>(structExtension), count);
20480             break;
20481         }
20482 #endif
20483 #ifdef VK_EXT_descriptor_buffer
20484         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: {
20485             count_VkPhysicalDeviceDescriptorBufferPropertiesEXT(
20486                 featureBits, rootType,
20487                 reinterpret_cast<const VkPhysicalDeviceDescriptorBufferPropertiesEXT*>(
20488                     structExtension),
20489                 count);
20490             break;
20491         }
20492         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: {
20493             count_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(
20494                 featureBits, rootType,
20495                 reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*>(
20496                     structExtension),
20497                 count);
20498             break;
20499         }
20500         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: {
20501             count_VkPhysicalDeviceDescriptorBufferFeaturesEXT(
20502                 featureBits, rootType,
20503                 reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT*>(
20504                     structExtension),
20505                 count);
20506             break;
20507         }
20508         case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: {
20509             count_VkDescriptorBufferBindingPushDescriptorBufferHandleEXT(
20510                 featureBits, rootType,
20511                 reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT*>(
20512                     structExtension),
20513                 count);
20514             break;
20515         }
20516         case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: {
20517             count_VkOpaqueCaptureDescriptorDataCreateInfoEXT(
20518                 featureBits, rootType,
20519                 reinterpret_cast<const VkOpaqueCaptureDescriptorDataCreateInfoEXT*>(
20520                     structExtension),
20521                 count);
20522             break;
20523         }
20524 #endif
20525 #ifdef VK_EXT_graphics_pipeline_library
20526         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
20527             count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
20528                 featureBits, rootType,
20529                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
20530                     structExtension),
20531                 count);
20532             break;
20533         }
20534         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
20535             count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
20536                 featureBits, rootType,
20537                 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
20538                     structExtension),
20539                 count);
20540             break;
20541         }
20542         case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
20543             count_VkGraphicsPipelineLibraryCreateInfoEXT(
20544                 featureBits, rootType,
20545                 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension),
20546                 count);
20547             break;
20548         }
20549 #endif
20550 #ifdef VK_AMD_shader_early_and_late_fragment_tests
20551         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: {
20552             count_VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD(
20553                 featureBits, rootType,
20554                 reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>(
20555                     structExtension),
20556                 count);
20557             break;
20558         }
20559 #endif
20560 #ifdef VK_NV_fragment_shading_rate_enums
20561         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
20562             count_VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV(
20563                 featureBits, rootType,
20564                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV*>(
20565                     structExtension),
20566                 count);
20567             break;
20568         }
20569         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
20570             count_VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV(
20571                 featureBits, rootType,
20572                 reinterpret_cast<const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV*>(
20573                     structExtension),
20574                 count);
20575             break;
20576         }
20577         case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: {
20578             count_VkPipelineFragmentShadingRateEnumStateCreateInfoNV(
20579                 featureBits, rootType,
20580                 reinterpret_cast<const VkPipelineFragmentShadingRateEnumStateCreateInfoNV*>(
20581                     structExtension),
20582                 count);
20583             break;
20584         }
20585 #endif
20586 #ifdef VK_NV_ray_tracing_motion_blur
20587         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: {
20588             count_VkAccelerationStructureGeometryMotionTrianglesDataNV(
20589                 featureBits, rootType,
20590                 reinterpret_cast<const VkAccelerationStructureGeometryMotionTrianglesDataNV*>(
20591                     structExtension),
20592                 count);
20593             break;
20594         }
20595         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: {
20596             count_VkAccelerationStructureMotionInfoNV(
20597                 featureBits, rootType,
20598                 reinterpret_cast<const VkAccelerationStructureMotionInfoNV*>(structExtension),
20599                 count);
20600             break;
20601         }
20602         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: {
20603             count_VkPhysicalDeviceRayTracingMotionBlurFeaturesNV(
20604                 featureBits, rootType,
20605                 reinterpret_cast<const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV*>(
20606                     structExtension),
20607                 count);
20608             break;
20609         }
20610 #endif
20611 #ifdef VK_EXT_ycbcr_2plane_444_formats
20612         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
20613             count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
20614                 featureBits, rootType,
20615                 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
20616                     structExtension),
20617                 count);
20618             break;
20619         }
20620 #endif
20621 #ifdef VK_EXT_fragment_density_map2
20622         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: {
20623             count_VkPhysicalDeviceFragmentDensityMap2FeaturesEXT(
20624                 featureBits, rootType,
20625                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT*>(
20626                     structExtension),
20627                 count);
20628             break;
20629         }
20630         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: {
20631             count_VkPhysicalDeviceFragmentDensityMap2PropertiesEXT(
20632                 featureBits, rootType,
20633                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT*>(
20634                     structExtension),
20635                 count);
20636             break;
20637         }
20638 #endif
20639 #ifdef VK_QCOM_rotated_copy_commands
20640         case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: {
20641             count_VkCopyCommandTransformInfoQCOM(
20642                 featureBits, rootType,
20643                 reinterpret_cast<const VkCopyCommandTransformInfoQCOM*>(structExtension), count);
20644             break;
20645         }
20646 #endif
20647 #ifdef VK_EXT_image_compression_control
20648         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
20649             count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
20650                 featureBits, rootType,
20651                 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
20652                     structExtension),
20653                 count);
20654             break;
20655         }
20656         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
20657             count_VkImageCompressionControlEXT(
20658                 featureBits, rootType,
20659                 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension), count);
20660             break;
20661         }
20662         case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
20663             count_VkImageCompressionPropertiesEXT(
20664                 featureBits, rootType,
20665                 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension), count);
20666             break;
20667         }
20668 #endif
20669 #ifdef VK_EXT_attachment_feedback_loop_layout
20670         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: {
20671             count_VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT(
20672                 featureBits, rootType,
20673                 reinterpret_cast<const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT*>(
20674                     structExtension),
20675                 count);
20676             break;
20677         }
20678 #endif
20679 #ifdef VK_EXT_4444_formats
20680         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
20681             count_VkPhysicalDevice4444FormatsFeaturesEXT(
20682                 featureBits, rootType,
20683                 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
20684                 count);
20685             break;
20686         }
20687 #endif
20688 #ifdef VK_EXT_device_fault
20689         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: {
20690             count_VkPhysicalDeviceFaultFeaturesEXT(
20691                 featureBits, rootType,
20692                 reinterpret_cast<const VkPhysicalDeviceFaultFeaturesEXT*>(structExtension), count);
20693             break;
20694         }
20695 #endif
20696 #ifdef VK_ARM_rasterization_order_attachment_access
20697         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: {
20698             count_VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT(
20699                 featureBits, rootType,
20700                 reinterpret_cast<
20701                     const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT*>(
20702                     structExtension),
20703                 count);
20704             break;
20705         }
20706 #endif
20707 #ifdef VK_EXT_rgba10x6_formats
20708         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: {
20709             count_VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT(
20710                 featureBits, rootType,
20711                 reinterpret_cast<const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT*>(
20712                     structExtension),
20713                 count);
20714             break;
20715         }
20716 #endif
20717 #ifdef VK_VALVE_mutable_descriptor_type
20718         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: {
20719             count_VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT(
20720                 featureBits, rootType,
20721                 reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT*>(
20722                     structExtension),
20723                 count);
20724             break;
20725         }
20726         case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: {
20727             count_VkMutableDescriptorTypeCreateInfoEXT(
20728                 featureBits, rootType,
20729                 reinterpret_cast<const VkMutableDescriptorTypeCreateInfoEXT*>(structExtension),
20730                 count);
20731             break;
20732         }
20733 #endif
20734 #ifdef VK_EXT_vertex_input_dynamic_state
20735         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
20736             count_VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT(
20737                 featureBits, rootType,
20738                 reinterpret_cast<const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT*>(
20739                     structExtension),
20740                 count);
20741             break;
20742         }
20743 #endif
20744 #ifdef VK_EXT_physical_device_drm
20745         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
20746             count_VkPhysicalDeviceDrmPropertiesEXT(
20747                 featureBits, rootType,
20748                 reinterpret_cast<const VkPhysicalDeviceDrmPropertiesEXT*>(structExtension), count);
20749             break;
20750         }
20751 #endif
20752 #ifdef VK_EXT_device_address_binding_report
20753         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: {
20754             count_VkPhysicalDeviceAddressBindingReportFeaturesEXT(
20755                 featureBits, rootType,
20756                 reinterpret_cast<const VkPhysicalDeviceAddressBindingReportFeaturesEXT*>(
20757                     structExtension),
20758                 count);
20759             break;
20760         }
20761         case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: {
20762             count_VkDeviceAddressBindingCallbackDataEXT(
20763                 featureBits, rootType,
20764                 reinterpret_cast<const VkDeviceAddressBindingCallbackDataEXT*>(structExtension),
20765                 count);
20766             break;
20767         }
20768 #endif
20769 #ifdef VK_EXT_depth_clip_control
20770         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: {
20771             count_VkPhysicalDeviceDepthClipControlFeaturesEXT(
20772                 featureBits, rootType,
20773                 reinterpret_cast<const VkPhysicalDeviceDepthClipControlFeaturesEXT*>(
20774                     structExtension),
20775                 count);
20776             break;
20777         }
20778         case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: {
20779             count_VkPipelineViewportDepthClipControlCreateInfoEXT(
20780                 featureBits, rootType,
20781                 reinterpret_cast<const VkPipelineViewportDepthClipControlCreateInfoEXT*>(
20782                     structExtension),
20783                 count);
20784             break;
20785         }
20786 #endif
20787 #ifdef VK_EXT_primitive_topology_list_restart
20788         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
20789             count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
20790                 featureBits, rootType,
20791                 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
20792                     structExtension),
20793                 count);
20794             break;
20795         }
20796 #endif
20797 #ifdef VK_FUCHSIA_external_memory
20798         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: {
20799             count_VkImportMemoryZirconHandleInfoFUCHSIA(
20800                 featureBits, rootType,
20801                 reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA*>(structExtension),
20802                 count);
20803             break;
20804         }
20805 #endif
20806 #ifdef VK_FUCHSIA_buffer_collection
20807         case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: {
20808             count_VkImportMemoryBufferCollectionFUCHSIA(
20809                 featureBits, rootType,
20810                 reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIA*>(structExtension),
20811                 count);
20812             break;
20813         }
20814         case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: {
20815             count_VkBufferCollectionImageCreateInfoFUCHSIA(
20816                 featureBits, rootType,
20817                 reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIA*>(structExtension),
20818                 count);
20819             break;
20820         }
20821         case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: {
20822             count_VkBufferCollectionBufferCreateInfoFUCHSIA(
20823                 featureBits, rootType,
20824                 reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIA*>(structExtension),
20825                 count);
20826             break;
20827         }
20828 #endif
20829 #ifdef VK_HUAWEI_subpass_shading
20830         case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: {
20831             count_VkSubpassShadingPipelineCreateInfoHUAWEI(
20832                 featureBits, rootType,
20833                 reinterpret_cast<const VkSubpassShadingPipelineCreateInfoHUAWEI*>(structExtension),
20834                 count);
20835             break;
20836         }
20837         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: {
20838             count_VkPhysicalDeviceSubpassShadingFeaturesHUAWEI(
20839                 featureBits, rootType,
20840                 reinterpret_cast<const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI*>(
20841                     structExtension),
20842                 count);
20843             break;
20844         }
20845         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: {
20846             count_VkPhysicalDeviceSubpassShadingPropertiesHUAWEI(
20847                 featureBits, rootType,
20848                 reinterpret_cast<const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI*>(
20849                     structExtension),
20850                 count);
20851             break;
20852         }
20853 #endif
20854 #ifdef VK_HUAWEI_invocation_mask
20855         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: {
20856             count_VkPhysicalDeviceInvocationMaskFeaturesHUAWEI(
20857                 featureBits, rootType,
20858                 reinterpret_cast<const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI*>(
20859                     structExtension),
20860                 count);
20861             break;
20862         }
20863 #endif
20864 #ifdef VK_NV_external_memory_rdma
20865         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: {
20866             count_VkPhysicalDeviceExternalMemoryRDMAFeaturesNV(
20867                 featureBits, rootType,
20868                 reinterpret_cast<const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV*>(
20869                     structExtension),
20870                 count);
20871             break;
20872         }
20873 #endif
20874 #ifdef VK_EXT_pipeline_properties
20875         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: {
20876             count_VkPhysicalDevicePipelinePropertiesFeaturesEXT(
20877                 featureBits, rootType,
20878                 reinterpret_cast<const VkPhysicalDevicePipelinePropertiesFeaturesEXT*>(
20879                     structExtension),
20880                 count);
20881             break;
20882         }
20883 #endif
20884 #ifdef VK_EXT_multisampled_render_to_single_sampled
20885         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: {
20886             count_VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT(
20887                 featureBits, rootType,
20888                 reinterpret_cast<
20889                     const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT*>(
20890                     structExtension),
20891                 count);
20892             break;
20893         }
20894         case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: {
20895             count_VkSubpassResolvePerformanceQueryEXT(
20896                 featureBits, rootType,
20897                 reinterpret_cast<const VkSubpassResolvePerformanceQueryEXT*>(structExtension),
20898                 count);
20899             break;
20900         }
20901         case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: {
20902             count_VkMultisampledRenderToSingleSampledInfoEXT(
20903                 featureBits, rootType,
20904                 reinterpret_cast<const VkMultisampledRenderToSingleSampledInfoEXT*>(
20905                     structExtension),
20906                 count);
20907             break;
20908         }
20909 #endif
20910 #ifdef VK_EXT_extended_dynamic_state2
20911         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
20912             count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
20913                 featureBits, rootType,
20914                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
20915                     structExtension),
20916                 count);
20917             break;
20918         }
20919 #endif
20920 #ifdef VK_EXT_color_write_enable
20921         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
20922             count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
20923                 featureBits, rootType,
20924                 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
20925                     structExtension),
20926                 count);
20927             break;
20928         }
20929         case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
20930             count_VkPipelineColorWriteCreateInfoEXT(
20931                 featureBits, rootType,
20932                 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension), count);
20933             break;
20934         }
20935 #endif
20936 #ifdef VK_EXT_primitives_generated_query
20937         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: {
20938             count_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(
20939                 featureBits, rootType,
20940                 reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT*>(
20941                     structExtension),
20942                 count);
20943             break;
20944         }
20945 #endif
20946 #ifdef VK_GOOGLE_gfxstream
20947         case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
20948             count_VkImportColorBufferGOOGLE(
20949                 featureBits, rootType,
20950                 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
20951             break;
20952         }
20953         case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
20954             count_VkImportBufferGOOGLE(
20955                 featureBits, rootType,
20956                 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
20957             break;
20958         }
20959         case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
20960             count_VkCreateBlobGOOGLE(featureBits, rootType,
20961                                      reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
20962                                      count);
20963             break;
20964         }
20965 #endif
20966 #ifdef VK_EXT_image_view_min_lod
20967         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: {
20968             count_VkPhysicalDeviceImageViewMinLodFeaturesEXT(
20969                 featureBits, rootType,
20970                 reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT*>(
20971                     structExtension),
20972                 count);
20973             break;
20974         }
20975         case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: {
20976             count_VkImageViewMinLodCreateInfoEXT(
20977                 featureBits, rootType,
20978                 reinterpret_cast<const VkImageViewMinLodCreateInfoEXT*>(structExtension), count);
20979             break;
20980         }
20981 #endif
20982 #ifdef VK_EXT_multi_draw
20983         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: {
20984             count_VkPhysicalDeviceMultiDrawFeaturesEXT(
20985                 featureBits, rootType,
20986                 reinterpret_cast<const VkPhysicalDeviceMultiDrawFeaturesEXT*>(structExtension),
20987                 count);
20988             break;
20989         }
20990         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: {
20991             count_VkPhysicalDeviceMultiDrawPropertiesEXT(
20992                 featureBits, rootType,
20993                 reinterpret_cast<const VkPhysicalDeviceMultiDrawPropertiesEXT*>(structExtension),
20994                 count);
20995             break;
20996         }
20997 #endif
20998 #ifdef VK_EXT_image_2d_view_of_3d
20999         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: {
21000             count_VkPhysicalDeviceImage2DViewOf3DFeaturesEXT(
21001                 featureBits, rootType,
21002                 reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT*>(
21003                     structExtension),
21004                 count);
21005             break;
21006         }
21007 #endif
21008 #ifdef VK_EXT_shader_tile_image
21009         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: {
21010             count_VkPhysicalDeviceShaderTileImageFeaturesEXT(
21011                 featureBits, rootType,
21012                 reinterpret_cast<const VkPhysicalDeviceShaderTileImageFeaturesEXT*>(
21013                     structExtension),
21014                 count);
21015             break;
21016         }
21017         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: {
21018             count_VkPhysicalDeviceShaderTileImagePropertiesEXT(
21019                 featureBits, rootType,
21020                 reinterpret_cast<const VkPhysicalDeviceShaderTileImagePropertiesEXT*>(
21021                     structExtension),
21022                 count);
21023             break;
21024         }
21025 #endif
21026 #ifdef VK_EXT_opacity_micromap
21027         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: {
21028             count_VkPhysicalDeviceOpacityMicromapFeaturesEXT(
21029                 featureBits, rootType,
21030                 reinterpret_cast<const VkPhysicalDeviceOpacityMicromapFeaturesEXT*>(
21031                     structExtension),
21032                 count);
21033             break;
21034         }
21035         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: {
21036             count_VkPhysicalDeviceOpacityMicromapPropertiesEXT(
21037                 featureBits, rootType,
21038                 reinterpret_cast<const VkPhysicalDeviceOpacityMicromapPropertiesEXT*>(
21039                     structExtension),
21040                 count);
21041             break;
21042         }
21043         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: {
21044             count_VkAccelerationStructureTrianglesOpacityMicromapEXT(
21045                 featureBits, rootType,
21046                 reinterpret_cast<const VkAccelerationStructureTrianglesOpacityMicromapEXT*>(
21047                     structExtension),
21048                 count);
21049             break;
21050         }
21051 #endif
21052 #ifdef VK_NV_displacement_micromap
21053 #ifdef VK_ENABLE_BETA_EXTENSIONS
21054         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: {
21055             count_VkPhysicalDeviceDisplacementMicromapFeaturesNV(
21056                 featureBits, rootType,
21057                 reinterpret_cast<const VkPhysicalDeviceDisplacementMicromapFeaturesNV*>(
21058                     structExtension),
21059                 count);
21060             break;
21061         }
21062 #endif  // VK_ENABLE_BETA_EXTENSIONS
21063 #ifdef VK_ENABLE_BETA_EXTENSIONS
21064         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: {
21065             count_VkPhysicalDeviceDisplacementMicromapPropertiesNV(
21066                 featureBits, rootType,
21067                 reinterpret_cast<const VkPhysicalDeviceDisplacementMicromapPropertiesNV*>(
21068                     structExtension),
21069                 count);
21070             break;
21071         }
21072 #endif  // VK_ENABLE_BETA_EXTENSIONS
21073 #ifdef VK_ENABLE_BETA_EXTENSIONS
21074         case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: {
21075             count_VkAccelerationStructureTrianglesDisplacementMicromapNV(
21076                 featureBits, rootType,
21077                 reinterpret_cast<const VkAccelerationStructureTrianglesDisplacementMicromapNV*>(
21078                     structExtension),
21079                 count);
21080             break;
21081         }
21082 #endif  // VK_ENABLE_BETA_EXTENSIONS
21083 #endif
21084 #ifdef VK_HUAWEI_cluster_culling_shader
21085         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: {
21086             count_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI(
21087                 featureBits, rootType,
21088                 reinterpret_cast<const VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI*>(
21089                     structExtension),
21090                 count);
21091             break;
21092         }
21093         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: {
21094             count_VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI(
21095                 featureBits, rootType,
21096                 reinterpret_cast<const VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI*>(
21097                     structExtension),
21098                 count);
21099             break;
21100         }
21101 #endif
21102 #ifdef VK_EXT_border_color_swizzle
21103         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
21104             count_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT(
21105                 featureBits, rootType,
21106                 reinterpret_cast<const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT*>(
21107                     structExtension),
21108                 count);
21109             break;
21110         }
21111         case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: {
21112             count_VkSamplerBorderColorComponentMappingCreateInfoEXT(
21113                 featureBits, rootType,
21114                 reinterpret_cast<const VkSamplerBorderColorComponentMappingCreateInfoEXT*>(
21115                     structExtension),
21116                 count);
21117             break;
21118         }
21119 #endif
21120 #ifdef VK_EXT_pageable_device_local_memory
21121         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: {
21122             count_VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(
21123                 featureBits, rootType,
21124                 reinterpret_cast<const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT*>(
21125                     structExtension),
21126                 count);
21127             break;
21128         }
21129 #endif
21130 #ifdef VK_ARM_shader_core_properties
21131         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: {
21132             count_VkPhysicalDeviceShaderCorePropertiesARM(
21133                 featureBits, rootType,
21134                 reinterpret_cast<const VkPhysicalDeviceShaderCorePropertiesARM*>(structExtension),
21135                 count);
21136             break;
21137         }
21138 #endif
21139 #ifdef VK_EXT_image_sliced_view_of_3d
21140         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: {
21141             count_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(
21142                 featureBits, rootType,
21143                 reinterpret_cast<const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT*>(
21144                     structExtension),
21145                 count);
21146             break;
21147         }
21148         case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: {
21149             count_VkImageViewSlicedCreateInfoEXT(
21150                 featureBits, rootType,
21151                 reinterpret_cast<const VkImageViewSlicedCreateInfoEXT*>(structExtension), count);
21152             break;
21153         }
21154 #endif
21155 #ifdef VK_VALVE_descriptor_set_host_mapping
21156         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: {
21157             count_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(
21158                 featureBits, rootType,
21159                 reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE*>(
21160                     structExtension),
21161                 count);
21162             break;
21163         }
21164 #endif
21165 #ifdef VK_EXT_depth_clamp_zero_one
21166         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: {
21167             count_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(
21168                 featureBits, rootType,
21169                 reinterpret_cast<const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*>(
21170                     structExtension),
21171                 count);
21172             break;
21173         }
21174 #endif
21175 #ifdef VK_EXT_non_seamless_cube_map
21176         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: {
21177             count_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(
21178                 featureBits, rootType,
21179                 reinterpret_cast<const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT*>(
21180                     structExtension),
21181                 count);
21182             break;
21183         }
21184 #endif
21185 #ifdef VK_QCOM_fragment_density_map_offset
21186         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: {
21187             count_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(
21188                 featureBits, rootType,
21189                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(
21190                     structExtension),
21191                 count);
21192             break;
21193         }
21194         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: {
21195             count_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(
21196                 featureBits, rootType,
21197                 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM*>(
21198                     structExtension),
21199                 count);
21200             break;
21201         }
21202         case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: {
21203             count_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(
21204                 featureBits, rootType,
21205                 reinterpret_cast<const VkSubpassFragmentDensityMapOffsetEndInfoQCOM*>(
21206                     structExtension),
21207                 count);
21208             break;
21209         }
21210 #endif
21211 #ifdef VK_NV_copy_memory_indirect
21212         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: {
21213             count_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(
21214                 featureBits, rootType,
21215                 reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV*>(
21216                     structExtension),
21217                 count);
21218             break;
21219         }
21220         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: {
21221             count_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(
21222                 featureBits, rootType,
21223                 reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV*>(
21224                     structExtension),
21225                 count);
21226             break;
21227         }
21228 #endif
21229 #ifdef VK_NV_memory_decompression
21230         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: {
21231             count_VkPhysicalDeviceMemoryDecompressionFeaturesNV(
21232                 featureBits, rootType,
21233                 reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionFeaturesNV*>(
21234                     structExtension),
21235                 count);
21236             break;
21237         }
21238         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: {
21239             count_VkPhysicalDeviceMemoryDecompressionPropertiesNV(
21240                 featureBits, rootType,
21241                 reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionPropertiesNV*>(
21242                     structExtension),
21243                 count);
21244             break;
21245         }
21246 #endif
21247 #ifdef VK_NV_linear_color_attachment
21248         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: {
21249             count_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(
21250                 featureBits, rootType,
21251                 reinterpret_cast<const VkPhysicalDeviceLinearColorAttachmentFeaturesNV*>(
21252                     structExtension),
21253                 count);
21254             break;
21255         }
21256 #endif
21257 #ifdef VK_EXT_image_compression_control_swapchain
21258         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
21259             count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
21260                 featureBits, rootType,
21261                 reinterpret_cast<
21262                     const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
21263                     structExtension),
21264                 count);
21265             break;
21266         }
21267 #endif
21268 #ifdef VK_QCOM_image_processing
21269         case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: {
21270             count_VkImageViewSampleWeightCreateInfoQCOM(
21271                 featureBits, rootType,
21272                 reinterpret_cast<const VkImageViewSampleWeightCreateInfoQCOM*>(structExtension),
21273                 count);
21274             break;
21275         }
21276         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: {
21277             count_VkPhysicalDeviceImageProcessingFeaturesQCOM(
21278                 featureBits, rootType,
21279                 reinterpret_cast<const VkPhysicalDeviceImageProcessingFeaturesQCOM*>(
21280                     structExtension),
21281                 count);
21282             break;
21283         }
21284         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: {
21285             count_VkPhysicalDeviceImageProcessingPropertiesQCOM(
21286                 featureBits, rootType,
21287                 reinterpret_cast<const VkPhysicalDeviceImageProcessingPropertiesQCOM*>(
21288                     structExtension),
21289                 count);
21290             break;
21291         }
21292 #endif
21293 #ifdef VK_EXT_extended_dynamic_state3
21294         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: {
21295             count_VkPhysicalDeviceExtendedDynamicState3FeaturesEXT(
21296                 featureBits, rootType,
21297                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT*>(
21298                     structExtension),
21299                 count);
21300             break;
21301         }
21302         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: {
21303             count_VkPhysicalDeviceExtendedDynamicState3PropertiesEXT(
21304                 featureBits, rootType,
21305                 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT*>(
21306                     structExtension),
21307                 count);
21308             break;
21309         }
21310 #endif
21311 #ifdef VK_EXT_subpass_merge_feedback
21312         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: {
21313             count_VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT(
21314                 featureBits, rootType,
21315                 reinterpret_cast<const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*>(
21316                     structExtension),
21317                 count);
21318             break;
21319         }
21320         case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: {
21321             count_VkRenderPassCreationControlEXT(
21322                 featureBits, rootType,
21323                 reinterpret_cast<const VkRenderPassCreationControlEXT*>(structExtension), count);
21324             break;
21325         }
21326         case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: {
21327             count_VkRenderPassCreationFeedbackCreateInfoEXT(
21328                 featureBits, rootType,
21329                 reinterpret_cast<const VkRenderPassCreationFeedbackCreateInfoEXT*>(structExtension),
21330                 count);
21331             break;
21332         }
21333         case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: {
21334             count_VkRenderPassSubpassFeedbackCreateInfoEXT(
21335                 featureBits, rootType,
21336                 reinterpret_cast<const VkRenderPassSubpassFeedbackCreateInfoEXT*>(structExtension),
21337                 count);
21338             break;
21339         }
21340 #endif
21341 #ifdef VK_LUNARG_direct_driver_loading
21342         case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: {
21343             count_VkDirectDriverLoadingListLUNARG(
21344                 featureBits, rootType,
21345                 reinterpret_cast<const VkDirectDriverLoadingListLUNARG*>(structExtension), count);
21346             break;
21347         }
21348 #endif
21349 #ifdef VK_EXT_shader_module_identifier
21350         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: {
21351             count_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(
21352                 featureBits, rootType,
21353                 reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT*>(
21354                     structExtension),
21355                 count);
21356             break;
21357         }
21358         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: {
21359             count_VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT(
21360                 featureBits, rootType,
21361                 reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT*>(
21362                     structExtension),
21363                 count);
21364             break;
21365         }
21366         case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: {
21367             count_VkPipelineShaderStageModuleIdentifierCreateInfoEXT(
21368                 featureBits, rootType,
21369                 reinterpret_cast<const VkPipelineShaderStageModuleIdentifierCreateInfoEXT*>(
21370                     structExtension),
21371                 count);
21372             break;
21373         }
21374 #endif
21375 #ifdef VK_NV_optical_flow
21376         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: {
21377             count_VkPhysicalDeviceOpticalFlowFeaturesNV(
21378                 featureBits, rootType,
21379                 reinterpret_cast<const VkPhysicalDeviceOpticalFlowFeaturesNV*>(structExtension),
21380                 count);
21381             break;
21382         }
21383         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: {
21384             count_VkPhysicalDeviceOpticalFlowPropertiesNV(
21385                 featureBits, rootType,
21386                 reinterpret_cast<const VkPhysicalDeviceOpticalFlowPropertiesNV*>(structExtension),
21387                 count);
21388             break;
21389         }
21390         case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: {
21391             count_VkOpticalFlowImageFormatInfoNV(
21392                 featureBits, rootType,
21393                 reinterpret_cast<const VkOpticalFlowImageFormatInfoNV*>(structExtension), count);
21394             break;
21395         }
21396         case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: {
21397             count_VkOpticalFlowSessionCreatePrivateDataInfoNV(
21398                 featureBits, rootType,
21399                 reinterpret_cast<const VkOpticalFlowSessionCreatePrivateDataInfoNV*>(
21400                     structExtension),
21401                 count);
21402             break;
21403         }
21404 #endif
21405 #ifdef VK_EXT_legacy_dithering
21406         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: {
21407             count_VkPhysicalDeviceLegacyDitheringFeaturesEXT(
21408                 featureBits, rootType,
21409                 reinterpret_cast<const VkPhysicalDeviceLegacyDitheringFeaturesEXT*>(
21410                     structExtension),
21411                 count);
21412             break;
21413         }
21414 #endif
21415 #ifdef VK_EXT_pipeline_protected_access
21416         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: {
21417             count_VkPhysicalDevicePipelineProtectedAccessFeaturesEXT(
21418                 featureBits, rootType,
21419                 reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT*>(
21420                     structExtension),
21421                 count);
21422             break;
21423         }
21424 #endif
21425 #ifdef VK_EXT_shader_object
21426         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: {
21427             count_VkPhysicalDeviceShaderObjectFeaturesEXT(
21428                 featureBits, rootType,
21429                 reinterpret_cast<const VkPhysicalDeviceShaderObjectFeaturesEXT*>(structExtension),
21430                 count);
21431             break;
21432         }
21433         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: {
21434             count_VkPhysicalDeviceShaderObjectPropertiesEXT(
21435                 featureBits, rootType,
21436                 reinterpret_cast<const VkPhysicalDeviceShaderObjectPropertiesEXT*>(structExtension),
21437                 count);
21438             break;
21439         }
21440 #endif
21441 #ifdef VK_QCOM_tile_properties
21442         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: {
21443             count_VkPhysicalDeviceTilePropertiesFeaturesQCOM(
21444                 featureBits, rootType,
21445                 reinterpret_cast<const VkPhysicalDeviceTilePropertiesFeaturesQCOM*>(
21446                     structExtension),
21447                 count);
21448             break;
21449         }
21450 #endif
21451 #ifdef VK_SEC_amigo_profiling
21452         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: {
21453             count_VkPhysicalDeviceAmigoProfilingFeaturesSEC(
21454                 featureBits, rootType,
21455                 reinterpret_cast<const VkPhysicalDeviceAmigoProfilingFeaturesSEC*>(structExtension),
21456                 count);
21457             break;
21458         }
21459         case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: {
21460             count_VkAmigoProfilingSubmitInfoSEC(
21461                 featureBits, rootType,
21462                 reinterpret_cast<const VkAmigoProfilingSubmitInfoSEC*>(structExtension), count);
21463             break;
21464         }
21465 #endif
21466 #ifdef VK_QCOM_multiview_per_view_viewports
21467         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: {
21468             count_VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(
21469                 featureBits, rootType,
21470                 reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM*>(
21471                     structExtension),
21472                 count);
21473             break;
21474         }
21475 #endif
21476 #ifdef VK_NV_ray_tracing_invocation_reorder
21477         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: {
21478             count_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV(
21479                 featureBits, rootType,
21480                 reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV*>(
21481                     structExtension),
21482                 count);
21483             break;
21484         }
21485         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: {
21486             count_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(
21487                 featureBits, rootType,
21488                 reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV*>(
21489                     structExtension),
21490                 count);
21491             break;
21492         }
21493 #endif
21494 #ifdef VK_ARM_shader_core_builtins
21495         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: {
21496             count_VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM(
21497                 featureBits, rootType,
21498                 reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM*>(
21499                     structExtension),
21500                 count);
21501             break;
21502         }
21503         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: {
21504             count_VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM(
21505                 featureBits, rootType,
21506                 reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM*>(
21507                     structExtension),
21508                 count);
21509             break;
21510         }
21511 #endif
21512 #ifdef VK_EXT_pipeline_library_group_handles
21513         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: {
21514             count_VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT(
21515                 featureBits, rootType,
21516                 reinterpret_cast<const VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT*>(
21517                     structExtension),
21518                 count);
21519             break;
21520         }
21521 #endif
21522 #ifdef VK_QCOM_multiview_per_view_render_areas
21523         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: {
21524             count_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(
21525                 featureBits, rootType,
21526                 reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM*>(
21527                     structExtension),
21528                 count);
21529             break;
21530         }
21531         case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: {
21532             count_VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM(
21533                 featureBits, rootType,
21534                 reinterpret_cast<const VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM*>(
21535                     structExtension),
21536                 count);
21537             break;
21538         }
21539 #endif
21540 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
21541         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: {
21542             count_VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT(
21543                 featureBits, rootType,
21544                 reinterpret_cast<
21545                     const VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT*>(
21546                     structExtension),
21547                 count);
21548             break;
21549         }
21550 #endif
21551 #ifdef VK_KHR_acceleration_structure
21552         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: {
21553             count_VkWriteDescriptorSetAccelerationStructureKHR(
21554                 featureBits, rootType,
21555                 reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR*>(
21556                     structExtension),
21557                 count);
21558             break;
21559         }
21560         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
21561             count_VkPhysicalDeviceAccelerationStructureFeaturesKHR(
21562                 featureBits, rootType,
21563                 reinterpret_cast<const VkPhysicalDeviceAccelerationStructureFeaturesKHR*>(
21564                     structExtension),
21565                 count);
21566             break;
21567         }
21568         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
21569             count_VkPhysicalDeviceAccelerationStructurePropertiesKHR(
21570                 featureBits, rootType,
21571                 reinterpret_cast<const VkPhysicalDeviceAccelerationStructurePropertiesKHR*>(
21572                     structExtension),
21573                 count);
21574             break;
21575         }
21576 #endif
21577 #ifdef VK_KHR_ray_tracing_pipeline
21578         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
21579             count_VkPhysicalDeviceRayTracingPipelineFeaturesKHR(
21580                 featureBits, rootType,
21581                 reinterpret_cast<const VkPhysicalDeviceRayTracingPipelineFeaturesKHR*>(
21582                     structExtension),
21583                 count);
21584             break;
21585         }
21586         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
21587             count_VkPhysicalDeviceRayTracingPipelinePropertiesKHR(
21588                 featureBits, rootType,
21589                 reinterpret_cast<const VkPhysicalDeviceRayTracingPipelinePropertiesKHR*>(
21590                     structExtension),
21591                 count);
21592             break;
21593         }
21594 #endif
21595 #ifdef VK_KHR_ray_query
21596         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: {
21597             count_VkPhysicalDeviceRayQueryFeaturesKHR(
21598                 featureBits, rootType,
21599                 reinterpret_cast<const VkPhysicalDeviceRayQueryFeaturesKHR*>(structExtension),
21600                 count);
21601             break;
21602         }
21603 #endif
21604 #ifdef VK_EXT_mesh_shader
21605         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: {
21606             count_VkPhysicalDeviceMeshShaderFeaturesEXT(
21607                 featureBits, rootType,
21608                 reinterpret_cast<const VkPhysicalDeviceMeshShaderFeaturesEXT*>(structExtension),
21609                 count);
21610             break;
21611         }
21612         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: {
21613             count_VkPhysicalDeviceMeshShaderPropertiesEXT(
21614                 featureBits, rootType,
21615                 reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesEXT*>(structExtension),
21616                 count);
21617             break;
21618         }
21619 #endif
21620         default: {
21621             // fatal; the switch is only taken if the extension struct is known
21622             abort();
21623         }
21624     }
21625 }
21626 
21627 }  // namespace vk
21628 }  // namespace gfxstream
21629