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 scripts/genvk.py -registry ../../vulkan/registry/vk.xml -registryGfxstream
19 // xml/vk_gfxstream.xml cereal -o /tmp/
20 //
21 // Please do not modify directly;
22 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.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 *count += 4;
1572 }
1573 uint32_t hasTessellation = 1;
1574 if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1575 hasTessellation = arrayany(
1576 toCount->pStages, 0, toCount->stageCount, [](VkPipelineShaderStageCreateInfo s) {
1577 return ((s.stage == VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT) ||
1578 (s.stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT));
1579 });
1580 *count += 4;
1581 }
1582 *count += sizeof(VkStructureType);
1583 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1584 rootType = toCount->sType;
1585 }
1586 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1587 *count += sizeof(VkPipelineCreateFlags);
1588 *count += sizeof(uint32_t);
1589 if (toCount) {
1590 for (uint32_t i = 0; i < (uint32_t)toCount->stageCount; ++i) {
1591 count_VkPipelineShaderStageCreateInfo(
1592 featureBits, rootType,
1593 (const VkPipelineShaderStageCreateInfo*)(toCount->pStages + i), count);
1594 }
1595 }
1596 // WARNING PTR CHECK
1597 if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1598 *count += 8;
1599 }
1600 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1601 toCount->pVertexInputState)) {
1602 count_VkPipelineVertexInputStateCreateInfo(
1603 featureBits, rootType,
1604 (const VkPipelineVertexInputStateCreateInfo*)(toCount->pVertexInputState), count);
1605 }
1606 // WARNING PTR CHECK
1607 if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1608 *count += 8;
1609 }
1610 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1611 toCount->pInputAssemblyState)) {
1612 count_VkPipelineInputAssemblyStateCreateInfo(
1613 featureBits, rootType,
1614 (const VkPipelineInputAssemblyStateCreateInfo*)(toCount->pInputAssemblyState), count);
1615 }
1616 // WARNING PTR CHECK
1617 *count += 8;
1618 if (toCount->pTessellationState) {
1619 if (hasTessellation) {
1620 count_VkPipelineTessellationStateCreateInfo(
1621 featureBits, rootType,
1622 (const VkPipelineTessellationStateCreateInfo*)(toCount->pTessellationState), count);
1623 }
1624 }
1625 // WARNING PTR CHECK
1626 *count += 8;
1627 if (toCount->pViewportState) {
1628 if (hasRasterization) {
1629 count_VkPipelineViewportStateCreateInfo(
1630 featureBits, rootType,
1631 (const VkPipelineViewportStateCreateInfo*)(toCount->pViewportState), count);
1632 }
1633 }
1634 // WARNING PTR CHECK
1635 if (featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) {
1636 *count += 8;
1637 }
1638 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1639 toCount->pRasterizationState)) {
1640 count_VkPipelineRasterizationStateCreateInfo(
1641 featureBits, rootType,
1642 (const VkPipelineRasterizationStateCreateInfo*)(toCount->pRasterizationState), count);
1643 }
1644 // WARNING PTR CHECK
1645 *count += 8;
1646 if (toCount->pMultisampleState) {
1647 if (hasRasterization) {
1648 count_VkPipelineMultisampleStateCreateInfo(
1649 featureBits, rootType,
1650 (const VkPipelineMultisampleStateCreateInfo*)(toCount->pMultisampleState), count);
1651 }
1652 }
1653 // WARNING PTR CHECK
1654 *count += 8;
1655 if (toCount->pDepthStencilState) {
1656 if (hasRasterization) {
1657 count_VkPipelineDepthStencilStateCreateInfo(
1658 featureBits, rootType,
1659 (const VkPipelineDepthStencilStateCreateInfo*)(toCount->pDepthStencilState), count);
1660 }
1661 }
1662 // WARNING PTR CHECK
1663 *count += 8;
1664 if (toCount->pColorBlendState) {
1665 if (hasRasterization) {
1666 count_VkPipelineColorBlendStateCreateInfo(
1667 featureBits, rootType,
1668 (const VkPipelineColorBlendStateCreateInfo*)(toCount->pColorBlendState), count);
1669 }
1670 }
1671 // WARNING PTR CHECK
1672 *count += 8;
1673 if (toCount->pDynamicState) {
1674 count_VkPipelineDynamicStateCreateInfo(
1675 featureBits, rootType,
1676 (const VkPipelineDynamicStateCreateInfo*)(toCount->pDynamicState), count);
1677 }
1678 uint64_t cgen_var_0;
1679 *count += 1 * 8;
1680 uint64_t cgen_var_1;
1681 *count += 1 * 8;
1682 *count += sizeof(uint32_t);
1683 uint64_t cgen_var_2;
1684 *count += 1 * 8;
1685 *count += sizeof(int32_t);
1686 }
1687
count_VkPushConstantRange(uint32_t featureBits,VkStructureType rootType,const VkPushConstantRange * toCount,size_t * count)1688 void count_VkPushConstantRange(uint32_t featureBits, VkStructureType rootType,
1689 const VkPushConstantRange* toCount, size_t* count) {
1690 (void)featureBits;
1691 (void)rootType;
1692 (void)toCount;
1693 (void)count;
1694 *count += sizeof(VkShaderStageFlags);
1695 *count += sizeof(uint32_t);
1696 *count += sizeof(uint32_t);
1697 }
1698
count_VkPipelineLayoutCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineLayoutCreateInfo * toCount,size_t * count)1699 void count_VkPipelineLayoutCreateInfo(uint32_t featureBits, VkStructureType rootType,
1700 const VkPipelineLayoutCreateInfo* toCount, size_t* count) {
1701 (void)featureBits;
1702 (void)rootType;
1703 (void)toCount;
1704 (void)count;
1705 *count += sizeof(VkStructureType);
1706 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1707 rootType = toCount->sType;
1708 }
1709 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1710 *count += sizeof(VkPipelineLayoutCreateFlags);
1711 *count += sizeof(uint32_t);
1712 if (toCount->setLayoutCount) {
1713 *count += toCount->setLayoutCount * 8;
1714 }
1715 *count += sizeof(uint32_t);
1716 if (toCount) {
1717 for (uint32_t i = 0; i < (uint32_t)toCount->pushConstantRangeCount; ++i) {
1718 count_VkPushConstantRange(
1719 featureBits, rootType,
1720 (const VkPushConstantRange*)(toCount->pPushConstantRanges + i), count);
1721 }
1722 }
1723 }
1724
count_VkSamplerCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerCreateInfo * toCount,size_t * count)1725 void count_VkSamplerCreateInfo(uint32_t featureBits, VkStructureType rootType,
1726 const VkSamplerCreateInfo* toCount, size_t* count) {
1727 (void)featureBits;
1728 (void)rootType;
1729 (void)toCount;
1730 (void)count;
1731 *count += sizeof(VkStructureType);
1732 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1733 rootType = toCount->sType;
1734 }
1735 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1736 *count += sizeof(VkSamplerCreateFlags);
1737 *count += sizeof(VkFilter);
1738 *count += sizeof(VkFilter);
1739 *count += sizeof(VkSamplerMipmapMode);
1740 *count += sizeof(VkSamplerAddressMode);
1741 *count += sizeof(VkSamplerAddressMode);
1742 *count += sizeof(VkSamplerAddressMode);
1743 *count += sizeof(float);
1744 *count += sizeof(VkBool32);
1745 *count += sizeof(float);
1746 *count += sizeof(VkBool32);
1747 *count += sizeof(VkCompareOp);
1748 *count += sizeof(float);
1749 *count += sizeof(float);
1750 *count += sizeof(VkBorderColor);
1751 *count += sizeof(VkBool32);
1752 }
1753
count_VkCopyDescriptorSet(uint32_t featureBits,VkStructureType rootType,const VkCopyDescriptorSet * toCount,size_t * count)1754 void count_VkCopyDescriptorSet(uint32_t featureBits, VkStructureType rootType,
1755 const VkCopyDescriptorSet* toCount, size_t* count) {
1756 (void)featureBits;
1757 (void)rootType;
1758 (void)toCount;
1759 (void)count;
1760 *count += sizeof(VkStructureType);
1761 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1762 rootType = toCount->sType;
1763 }
1764 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1765 uint64_t cgen_var_0;
1766 *count += 1 * 8;
1767 *count += sizeof(uint32_t);
1768 *count += sizeof(uint32_t);
1769 uint64_t cgen_var_1;
1770 *count += 1 * 8;
1771 *count += sizeof(uint32_t);
1772 *count += sizeof(uint32_t);
1773 *count += sizeof(uint32_t);
1774 }
1775
count_VkDescriptorBufferInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorBufferInfo * toCount,size_t * count)1776 void count_VkDescriptorBufferInfo(uint32_t featureBits, VkStructureType rootType,
1777 const VkDescriptorBufferInfo* toCount, size_t* count) {
1778 (void)featureBits;
1779 (void)rootType;
1780 (void)toCount;
1781 (void)count;
1782 uint64_t cgen_var_0;
1783 *count += 1 * 8;
1784 *count += sizeof(VkDeviceSize);
1785 *count += sizeof(VkDeviceSize);
1786 }
1787
count_VkDescriptorImageInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorImageInfo * toCount,size_t * count)1788 void count_VkDescriptorImageInfo(uint32_t featureBits, VkStructureType rootType,
1789 const VkDescriptorImageInfo* toCount, size_t* count) {
1790 (void)featureBits;
1791 (void)rootType;
1792 (void)toCount;
1793 (void)count;
1794 uint64_t cgen_var_0;
1795 *count += 1 * 8;
1796 uint64_t cgen_var_1;
1797 *count += 1 * 8;
1798 *count += sizeof(VkImageLayout);
1799 }
1800
count_VkDescriptorPoolSize(uint32_t featureBits,VkStructureType rootType,const VkDescriptorPoolSize * toCount,size_t * count)1801 void count_VkDescriptorPoolSize(uint32_t featureBits, VkStructureType rootType,
1802 const VkDescriptorPoolSize* toCount, size_t* count) {
1803 (void)featureBits;
1804 (void)rootType;
1805 (void)toCount;
1806 (void)count;
1807 *count += sizeof(VkDescriptorType);
1808 *count += sizeof(uint32_t);
1809 }
1810
count_VkDescriptorPoolCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorPoolCreateInfo * toCount,size_t * count)1811 void count_VkDescriptorPoolCreateInfo(uint32_t featureBits, VkStructureType rootType,
1812 const VkDescriptorPoolCreateInfo* toCount, size_t* count) {
1813 (void)featureBits;
1814 (void)rootType;
1815 (void)toCount;
1816 (void)count;
1817 *count += sizeof(VkStructureType);
1818 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1819 rootType = toCount->sType;
1820 }
1821 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1822 *count += sizeof(VkDescriptorPoolCreateFlags);
1823 *count += sizeof(uint32_t);
1824 *count += sizeof(uint32_t);
1825 if (toCount) {
1826 for (uint32_t i = 0; i < (uint32_t)toCount->poolSizeCount; ++i) {
1827 count_VkDescriptorPoolSize(featureBits, rootType,
1828 (const VkDescriptorPoolSize*)(toCount->pPoolSizes + i),
1829 count);
1830 }
1831 }
1832 }
1833
count_VkDescriptorSetAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetAllocateInfo * toCount,size_t * count)1834 void count_VkDescriptorSetAllocateInfo(uint32_t featureBits, VkStructureType rootType,
1835 const VkDescriptorSetAllocateInfo* toCount, size_t* count) {
1836 (void)featureBits;
1837 (void)rootType;
1838 (void)toCount;
1839 (void)count;
1840 *count += sizeof(VkStructureType);
1841 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1842 rootType = toCount->sType;
1843 }
1844 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1845 uint64_t cgen_var_0;
1846 *count += 1 * 8;
1847 *count += sizeof(uint32_t);
1848 if (toCount->descriptorSetCount) {
1849 *count += toCount->descriptorSetCount * 8;
1850 }
1851 }
1852
count_VkDescriptorSetLayoutBinding(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutBinding * toCount,size_t * count)1853 void count_VkDescriptorSetLayoutBinding(uint32_t featureBits, VkStructureType rootType,
1854 const VkDescriptorSetLayoutBinding* toCount,
1855 size_t* count) {
1856 (void)featureBits;
1857 (void)rootType;
1858 (void)toCount;
1859 (void)count;
1860 *count += sizeof(uint32_t);
1861 *count += sizeof(VkDescriptorType);
1862 *count += sizeof(uint32_t);
1863 *count += sizeof(VkShaderStageFlags);
1864 // WARNING PTR CHECK
1865 *count += 8;
1866 if (toCount->pImmutableSamplers) {
1867 if (toCount->descriptorCount) {
1868 *count += toCount->descriptorCount * 8;
1869 }
1870 }
1871 }
1872
count_VkDescriptorSetLayoutCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutCreateInfo * toCount,size_t * count)1873 void count_VkDescriptorSetLayoutCreateInfo(uint32_t featureBits, VkStructureType rootType,
1874 const VkDescriptorSetLayoutCreateInfo* toCount,
1875 size_t* count) {
1876 (void)featureBits;
1877 (void)rootType;
1878 (void)toCount;
1879 (void)count;
1880 *count += sizeof(VkStructureType);
1881 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1882 rootType = toCount->sType;
1883 }
1884 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1885 *count += sizeof(VkDescriptorSetLayoutCreateFlags);
1886 *count += sizeof(uint32_t);
1887 if (toCount) {
1888 for (uint32_t i = 0; i < (uint32_t)toCount->bindingCount; ++i) {
1889 count_VkDescriptorSetLayoutBinding(
1890 featureBits, rootType,
1891 (const VkDescriptorSetLayoutBinding*)(toCount->pBindings + i), count);
1892 }
1893 }
1894 }
1895
count_VkWriteDescriptorSet(uint32_t featureBits,VkStructureType rootType,const VkWriteDescriptorSet * toCount,size_t * count)1896 void count_VkWriteDescriptorSet(uint32_t featureBits, VkStructureType rootType,
1897 const VkWriteDescriptorSet* toCount, size_t* count) {
1898 (void)featureBits;
1899 (void)rootType;
1900 (void)toCount;
1901 (void)count;
1902 *count += sizeof(VkStructureType);
1903 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1904 rootType = toCount->sType;
1905 }
1906 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1907 uint64_t cgen_var_0;
1908 *count += 1 * 8;
1909 *count += sizeof(uint32_t);
1910 *count += sizeof(uint32_t);
1911 *count += sizeof(uint32_t);
1912 *count += sizeof(VkDescriptorType);
1913 // WARNING PTR CHECK
1914 *count += 8;
1915 if (toCount->pImageInfo) {
1916 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1917 ((VK_DESCRIPTOR_TYPE_SAMPLER == toCount->descriptorType) ||
1918 (VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER == toCount->descriptorType) ||
1919 (VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE == toCount->descriptorType) ||
1920 (VK_DESCRIPTOR_TYPE_STORAGE_IMAGE == toCount->descriptorType) ||
1921 (VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT == toCount->descriptorType)))) {
1922 if (toCount) {
1923 for (uint32_t i = 0; i < (uint32_t)toCount->descriptorCount; ++i) {
1924 count_VkDescriptorImageInfo(
1925 featureBits, rootType,
1926 (const VkDescriptorImageInfo*)(toCount->pImageInfo + i), count);
1927 }
1928 }
1929 }
1930 }
1931 // WARNING PTR CHECK
1932 *count += 8;
1933 if (toCount->pBufferInfo) {
1934 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1935 ((VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER == toCount->descriptorType) ||
1936 (VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC == toCount->descriptorType) ||
1937 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER == toCount->descriptorType) ||
1938 (VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC == toCount->descriptorType)))) {
1939 if (toCount) {
1940 for (uint32_t i = 0; i < (uint32_t)toCount->descriptorCount; ++i) {
1941 count_VkDescriptorBufferInfo(
1942 featureBits, rootType,
1943 (const VkDescriptorBufferInfo*)(toCount->pBufferInfo + i), count);
1944 }
1945 }
1946 }
1947 }
1948 // WARNING PTR CHECK
1949 *count += 8;
1950 if (toCount->pTexelBufferView) {
1951 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
1952 ((VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER == toCount->descriptorType) ||
1953 (VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER == toCount->descriptorType)))) {
1954 if (toCount->descriptorCount) {
1955 *count += toCount->descriptorCount * 8;
1956 }
1957 }
1958 }
1959 }
1960
count_VkAttachmentDescription(uint32_t featureBits,VkStructureType rootType,const VkAttachmentDescription * toCount,size_t * count)1961 void count_VkAttachmentDescription(uint32_t featureBits, VkStructureType rootType,
1962 const VkAttachmentDescription* toCount, size_t* count) {
1963 (void)featureBits;
1964 (void)rootType;
1965 (void)toCount;
1966 (void)count;
1967 *count += sizeof(VkAttachmentDescriptionFlags);
1968 *count += sizeof(VkFormat);
1969 *count += sizeof(VkSampleCountFlagBits);
1970 *count += sizeof(VkAttachmentLoadOp);
1971 *count += sizeof(VkAttachmentStoreOp);
1972 *count += sizeof(VkAttachmentLoadOp);
1973 *count += sizeof(VkAttachmentStoreOp);
1974 *count += sizeof(VkImageLayout);
1975 *count += sizeof(VkImageLayout);
1976 }
1977
count_VkAttachmentReference(uint32_t featureBits,VkStructureType rootType,const VkAttachmentReference * toCount,size_t * count)1978 void count_VkAttachmentReference(uint32_t featureBits, VkStructureType rootType,
1979 const VkAttachmentReference* toCount, size_t* count) {
1980 (void)featureBits;
1981 (void)rootType;
1982 (void)toCount;
1983 (void)count;
1984 *count += sizeof(uint32_t);
1985 *count += sizeof(VkImageLayout);
1986 }
1987
count_VkFramebufferCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkFramebufferCreateInfo * toCount,size_t * count)1988 void count_VkFramebufferCreateInfo(uint32_t featureBits, VkStructureType rootType,
1989 const VkFramebufferCreateInfo* toCount, size_t* count) {
1990 (void)featureBits;
1991 (void)rootType;
1992 (void)toCount;
1993 (void)count;
1994 *count += sizeof(VkStructureType);
1995 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
1996 rootType = toCount->sType;
1997 }
1998 count_extension_struct(featureBits, rootType, toCount->pNext, count);
1999 *count += sizeof(VkFramebufferCreateFlags);
2000 uint64_t cgen_var_0;
2001 *count += 1 * 8;
2002 *count += sizeof(uint32_t);
2003 if ((!(featureBits & VULKAN_STREAM_FEATURE_IGNORED_HANDLES_BIT) ||
2004 (((toCount->flags & VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT) == 0)))) {
2005 if (toCount->attachmentCount) {
2006 *count += toCount->attachmentCount * 8;
2007 }
2008 }
2009 *count += sizeof(uint32_t);
2010 *count += sizeof(uint32_t);
2011 *count += sizeof(uint32_t);
2012 }
2013
count_VkSubpassDescription(uint32_t featureBits,VkStructureType rootType,const VkSubpassDescription * toCount,size_t * count)2014 void count_VkSubpassDescription(uint32_t featureBits, VkStructureType rootType,
2015 const VkSubpassDescription* toCount, size_t* count) {
2016 (void)featureBits;
2017 (void)rootType;
2018 (void)toCount;
2019 (void)count;
2020 *count += sizeof(VkSubpassDescriptionFlags);
2021 *count += sizeof(VkPipelineBindPoint);
2022 *count += sizeof(uint32_t);
2023 if (toCount) {
2024 for (uint32_t i = 0; i < (uint32_t)toCount->inputAttachmentCount; ++i) {
2025 count_VkAttachmentReference(
2026 featureBits, rootType,
2027 (const VkAttachmentReference*)(toCount->pInputAttachments + i), count);
2028 }
2029 }
2030 *count += sizeof(uint32_t);
2031 if (toCount) {
2032 for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
2033 count_VkAttachmentReference(
2034 featureBits, rootType,
2035 (const VkAttachmentReference*)(toCount->pColorAttachments + i), count);
2036 }
2037 }
2038 // WARNING PTR CHECK
2039 *count += 8;
2040 if (toCount->pResolveAttachments) {
2041 if (toCount) {
2042 for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
2043 count_VkAttachmentReference(
2044 featureBits, rootType,
2045 (const VkAttachmentReference*)(toCount->pResolveAttachments + i), count);
2046 }
2047 }
2048 }
2049 // WARNING PTR CHECK
2050 *count += 8;
2051 if (toCount->pDepthStencilAttachment) {
2052 count_VkAttachmentReference(
2053 featureBits, rootType, (const VkAttachmentReference*)(toCount->pDepthStencilAttachment),
2054 count);
2055 }
2056 *count += sizeof(uint32_t);
2057 if (toCount) {
2058 *count += toCount->preserveAttachmentCount * sizeof(const uint32_t);
2059 }
2060 }
2061
count_VkSubpassDependency(uint32_t featureBits,VkStructureType rootType,const VkSubpassDependency * toCount,size_t * count)2062 void count_VkSubpassDependency(uint32_t featureBits, VkStructureType rootType,
2063 const VkSubpassDependency* toCount, size_t* count) {
2064 (void)featureBits;
2065 (void)rootType;
2066 (void)toCount;
2067 (void)count;
2068 *count += sizeof(uint32_t);
2069 *count += sizeof(uint32_t);
2070 *count += sizeof(VkPipelineStageFlags);
2071 *count += sizeof(VkPipelineStageFlags);
2072 *count += sizeof(VkAccessFlags);
2073 *count += sizeof(VkAccessFlags);
2074 *count += sizeof(VkDependencyFlags);
2075 }
2076
count_VkRenderPassCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreateInfo * toCount,size_t * count)2077 void count_VkRenderPassCreateInfo(uint32_t featureBits, VkStructureType rootType,
2078 const VkRenderPassCreateInfo* toCount, size_t* count) {
2079 (void)featureBits;
2080 (void)rootType;
2081 (void)toCount;
2082 (void)count;
2083 *count += sizeof(VkStructureType);
2084 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2085 rootType = toCount->sType;
2086 }
2087 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2088 *count += sizeof(VkRenderPassCreateFlags);
2089 *count += sizeof(uint32_t);
2090 if (toCount) {
2091 for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i) {
2092 count_VkAttachmentDescription(
2093 featureBits, rootType, (const VkAttachmentDescription*)(toCount->pAttachments + i),
2094 count);
2095 }
2096 }
2097 *count += sizeof(uint32_t);
2098 if (toCount) {
2099 for (uint32_t i = 0; i < (uint32_t)toCount->subpassCount; ++i) {
2100 count_VkSubpassDescription(featureBits, rootType,
2101 (const VkSubpassDescription*)(toCount->pSubpasses + i),
2102 count);
2103 }
2104 }
2105 *count += sizeof(uint32_t);
2106 if (toCount) {
2107 for (uint32_t i = 0; i < (uint32_t)toCount->dependencyCount; ++i) {
2108 count_VkSubpassDependency(featureBits, rootType,
2109 (const VkSubpassDependency*)(toCount->pDependencies + i),
2110 count);
2111 }
2112 }
2113 }
2114
count_VkCommandPoolCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandPoolCreateInfo * toCount,size_t * count)2115 void count_VkCommandPoolCreateInfo(uint32_t featureBits, VkStructureType rootType,
2116 const VkCommandPoolCreateInfo* toCount, size_t* count) {
2117 (void)featureBits;
2118 (void)rootType;
2119 (void)toCount;
2120 (void)count;
2121 *count += sizeof(VkStructureType);
2122 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2123 rootType = toCount->sType;
2124 }
2125 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2126 *count += sizeof(VkCommandPoolCreateFlags);
2127 *count += sizeof(uint32_t);
2128 }
2129
count_VkCommandBufferAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferAllocateInfo * toCount,size_t * count)2130 void count_VkCommandBufferAllocateInfo(uint32_t featureBits, VkStructureType rootType,
2131 const VkCommandBufferAllocateInfo* toCount, size_t* count) {
2132 (void)featureBits;
2133 (void)rootType;
2134 (void)toCount;
2135 (void)count;
2136 *count += sizeof(VkStructureType);
2137 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2138 rootType = toCount->sType;
2139 }
2140 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2141 uint64_t cgen_var_0;
2142 *count += 1 * 8;
2143 *count += sizeof(VkCommandBufferLevel);
2144 *count += sizeof(uint32_t);
2145 }
2146
count_VkCommandBufferInheritanceInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceInfo * toCount,size_t * count)2147 void count_VkCommandBufferInheritanceInfo(uint32_t featureBits, VkStructureType rootType,
2148 const VkCommandBufferInheritanceInfo* toCount,
2149 size_t* count) {
2150 (void)featureBits;
2151 (void)rootType;
2152 (void)toCount;
2153 (void)count;
2154 *count += sizeof(VkStructureType);
2155 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2156 rootType = toCount->sType;
2157 }
2158 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2159 uint64_t cgen_var_0;
2160 *count += 1 * 8;
2161 *count += sizeof(uint32_t);
2162 uint64_t cgen_var_1;
2163 *count += 1 * 8;
2164 *count += sizeof(VkBool32);
2165 *count += sizeof(VkQueryControlFlags);
2166 *count += sizeof(VkQueryPipelineStatisticFlags);
2167 }
2168
count_VkCommandBufferBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferBeginInfo * toCount,size_t * count)2169 void count_VkCommandBufferBeginInfo(uint32_t featureBits, VkStructureType rootType,
2170 const VkCommandBufferBeginInfo* toCount, size_t* count) {
2171 (void)featureBits;
2172 (void)rootType;
2173 (void)toCount;
2174 (void)count;
2175 *count += sizeof(VkStructureType);
2176 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2177 rootType = toCount->sType;
2178 }
2179 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2180 *count += sizeof(VkCommandBufferUsageFlags);
2181 // WARNING PTR CHECK
2182 *count += 8;
2183 if (toCount->pInheritanceInfo) {
2184 count_VkCommandBufferInheritanceInfo(
2185 featureBits, rootType,
2186 (const VkCommandBufferInheritanceInfo*)(toCount->pInheritanceInfo), count);
2187 }
2188 }
2189
count_VkBufferCopy(uint32_t featureBits,VkStructureType rootType,const VkBufferCopy * toCount,size_t * count)2190 void count_VkBufferCopy(uint32_t featureBits, VkStructureType rootType, const VkBufferCopy* toCount,
2191 size_t* count) {
2192 (void)featureBits;
2193 (void)rootType;
2194 (void)toCount;
2195 (void)count;
2196 *count += sizeof(VkDeviceSize);
2197 *count += sizeof(VkDeviceSize);
2198 *count += sizeof(VkDeviceSize);
2199 }
2200
count_VkImageSubresourceLayers(uint32_t featureBits,VkStructureType rootType,const VkImageSubresourceLayers * toCount,size_t * count)2201 void count_VkImageSubresourceLayers(uint32_t featureBits, VkStructureType rootType,
2202 const VkImageSubresourceLayers* toCount, size_t* count) {
2203 (void)featureBits;
2204 (void)rootType;
2205 (void)toCount;
2206 (void)count;
2207 *count += sizeof(VkImageAspectFlags);
2208 *count += sizeof(uint32_t);
2209 *count += sizeof(uint32_t);
2210 *count += sizeof(uint32_t);
2211 }
2212
count_VkBufferImageCopy(uint32_t featureBits,VkStructureType rootType,const VkBufferImageCopy * toCount,size_t * count)2213 void count_VkBufferImageCopy(uint32_t featureBits, VkStructureType rootType,
2214 const VkBufferImageCopy* toCount, size_t* count) {
2215 (void)featureBits;
2216 (void)rootType;
2217 (void)toCount;
2218 (void)count;
2219 *count += sizeof(VkDeviceSize);
2220 *count += sizeof(uint32_t);
2221 *count += sizeof(uint32_t);
2222 count_VkImageSubresourceLayers(featureBits, rootType,
2223 (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
2224 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
2225 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
2226 }
2227
count_VkClearColorValue(uint32_t featureBits,VkStructureType rootType,const VkClearColorValue * toCount,size_t * count)2228 void count_VkClearColorValue(uint32_t featureBits, VkStructureType rootType,
2229 const VkClearColorValue* toCount, size_t* count) {
2230 (void)featureBits;
2231 (void)rootType;
2232 (void)toCount;
2233 (void)count;
2234 *count += 4 * sizeof(float);
2235 }
2236
count_VkClearDepthStencilValue(uint32_t featureBits,VkStructureType rootType,const VkClearDepthStencilValue * toCount,size_t * count)2237 void count_VkClearDepthStencilValue(uint32_t featureBits, VkStructureType rootType,
2238 const VkClearDepthStencilValue* toCount, size_t* count) {
2239 (void)featureBits;
2240 (void)rootType;
2241 (void)toCount;
2242 (void)count;
2243 *count += sizeof(float);
2244 *count += sizeof(uint32_t);
2245 }
2246
count_VkClearValue(uint32_t featureBits,VkStructureType rootType,const VkClearValue * toCount,size_t * count)2247 void count_VkClearValue(uint32_t featureBits, VkStructureType rootType, const VkClearValue* toCount,
2248 size_t* count) {
2249 (void)featureBits;
2250 (void)rootType;
2251 (void)toCount;
2252 (void)count;
2253 count_VkClearColorValue(featureBits, rootType, (VkClearColorValue*)(&toCount->color), count);
2254 }
2255
count_VkClearAttachment(uint32_t featureBits,VkStructureType rootType,const VkClearAttachment * toCount,size_t * count)2256 void count_VkClearAttachment(uint32_t featureBits, VkStructureType rootType,
2257 const VkClearAttachment* toCount, size_t* count) {
2258 (void)featureBits;
2259 (void)rootType;
2260 (void)toCount;
2261 (void)count;
2262 *count += sizeof(VkImageAspectFlags);
2263 *count += sizeof(uint32_t);
2264 count_VkClearValue(featureBits, rootType, (VkClearValue*)(&toCount->clearValue), count);
2265 }
2266
count_VkClearRect(uint32_t featureBits,VkStructureType rootType,const VkClearRect * toCount,size_t * count)2267 void count_VkClearRect(uint32_t featureBits, VkStructureType rootType, const VkClearRect* toCount,
2268 size_t* count) {
2269 (void)featureBits;
2270 (void)rootType;
2271 (void)toCount;
2272 (void)count;
2273 count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->rect), count);
2274 *count += sizeof(uint32_t);
2275 *count += sizeof(uint32_t);
2276 }
2277
count_VkImageBlit(uint32_t featureBits,VkStructureType rootType,const VkImageBlit * toCount,size_t * count)2278 void count_VkImageBlit(uint32_t featureBits, VkStructureType rootType, const VkImageBlit* toCount,
2279 size_t* count) {
2280 (void)featureBits;
2281 (void)rootType;
2282 (void)toCount;
2283 (void)count;
2284 count_VkImageSubresourceLayers(featureBits, rootType,
2285 (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
2286 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
2287 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->srcOffsets + i), count);
2288 }
2289 count_VkImageSubresourceLayers(featureBits, rootType,
2290 (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
2291 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
2292 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->dstOffsets + i), count);
2293 }
2294 }
2295
count_VkImageCopy(uint32_t featureBits,VkStructureType rootType,const VkImageCopy * toCount,size_t * count)2296 void count_VkImageCopy(uint32_t featureBits, VkStructureType rootType, const VkImageCopy* toCount,
2297 size_t* count) {
2298 (void)featureBits;
2299 (void)rootType;
2300 (void)toCount;
2301 (void)count;
2302 count_VkImageSubresourceLayers(featureBits, rootType,
2303 (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
2304 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
2305 count_VkImageSubresourceLayers(featureBits, rootType,
2306 (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
2307 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
2308 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
2309 }
2310
count_VkImageResolve(uint32_t featureBits,VkStructureType rootType,const VkImageResolve * toCount,size_t * count)2311 void count_VkImageResolve(uint32_t featureBits, VkStructureType rootType,
2312 const VkImageResolve* toCount, size_t* count) {
2313 (void)featureBits;
2314 (void)rootType;
2315 (void)toCount;
2316 (void)count;
2317 count_VkImageSubresourceLayers(featureBits, rootType,
2318 (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
2319 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
2320 count_VkImageSubresourceLayers(featureBits, rootType,
2321 (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
2322 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
2323 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
2324 }
2325
count_VkRenderPassBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassBeginInfo * toCount,size_t * count)2326 void count_VkRenderPassBeginInfo(uint32_t featureBits, VkStructureType rootType,
2327 const VkRenderPassBeginInfo* toCount, size_t* count) {
2328 (void)featureBits;
2329 (void)rootType;
2330 (void)toCount;
2331 (void)count;
2332 *count += sizeof(VkStructureType);
2333 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2334 rootType = toCount->sType;
2335 }
2336 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2337 uint64_t cgen_var_0;
2338 *count += 1 * 8;
2339 uint64_t cgen_var_1;
2340 *count += 1 * 8;
2341 count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->renderArea), count);
2342 *count += sizeof(uint32_t);
2343 // WARNING PTR CHECK
2344 *count += 8;
2345 if (toCount->pClearValues) {
2346 if (toCount) {
2347 for (uint32_t i = 0; i < (uint32_t)toCount->clearValueCount; ++i) {
2348 count_VkClearValue(featureBits, rootType,
2349 (const VkClearValue*)(toCount->pClearValues + i), count);
2350 }
2351 }
2352 }
2353 }
2354
2355 #endif
2356 #ifdef VK_VERSION_1_1
count_VkPhysicalDeviceSubgroupProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubgroupProperties * toCount,size_t * count)2357 void count_VkPhysicalDeviceSubgroupProperties(uint32_t featureBits, VkStructureType rootType,
2358 const VkPhysicalDeviceSubgroupProperties* toCount,
2359 size_t* count) {
2360 (void)featureBits;
2361 (void)rootType;
2362 (void)toCount;
2363 (void)count;
2364 *count += sizeof(VkStructureType);
2365 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2366 rootType = toCount->sType;
2367 }
2368 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2369 *count += sizeof(uint32_t);
2370 *count += sizeof(VkShaderStageFlags);
2371 *count += sizeof(VkSubgroupFeatureFlags);
2372 *count += sizeof(VkBool32);
2373 }
2374
count_VkBindBufferMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkBindBufferMemoryInfo * toCount,size_t * count)2375 void count_VkBindBufferMemoryInfo(uint32_t featureBits, VkStructureType rootType,
2376 const VkBindBufferMemoryInfo* toCount, size_t* count) {
2377 (void)featureBits;
2378 (void)rootType;
2379 (void)toCount;
2380 (void)count;
2381 *count += sizeof(VkStructureType);
2382 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2383 rootType = toCount->sType;
2384 }
2385 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2386 uint64_t cgen_var_0;
2387 *count += 1 * 8;
2388 uint64_t cgen_var_1;
2389 *count += 1 * 8;
2390 *count += sizeof(VkDeviceSize);
2391 }
2392
count_VkBindImageMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkBindImageMemoryInfo * toCount,size_t * count)2393 void count_VkBindImageMemoryInfo(uint32_t featureBits, VkStructureType rootType,
2394 const VkBindImageMemoryInfo* toCount, size_t* count) {
2395 (void)featureBits;
2396 (void)rootType;
2397 (void)toCount;
2398 (void)count;
2399 *count += sizeof(VkStructureType);
2400 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2401 rootType = toCount->sType;
2402 }
2403 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2404 uint64_t cgen_var_0;
2405 *count += 1 * 8;
2406 uint64_t cgen_var_1;
2407 *count += 1 * 8;
2408 *count += sizeof(VkDeviceSize);
2409 }
2410
count_VkPhysicalDevice16BitStorageFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice16BitStorageFeatures * toCount,size_t * count)2411 void count_VkPhysicalDevice16BitStorageFeatures(uint32_t featureBits, VkStructureType rootType,
2412 const VkPhysicalDevice16BitStorageFeatures* toCount,
2413 size_t* count) {
2414 (void)featureBits;
2415 (void)rootType;
2416 (void)toCount;
2417 (void)count;
2418 *count += sizeof(VkStructureType);
2419 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2420 rootType = toCount->sType;
2421 }
2422 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2423 *count += sizeof(VkBool32);
2424 *count += sizeof(VkBool32);
2425 *count += sizeof(VkBool32);
2426 *count += sizeof(VkBool32);
2427 }
2428
count_VkMemoryDedicatedRequirements(uint32_t featureBits,VkStructureType rootType,const VkMemoryDedicatedRequirements * toCount,size_t * count)2429 void count_VkMemoryDedicatedRequirements(uint32_t featureBits, VkStructureType rootType,
2430 const VkMemoryDedicatedRequirements* toCount,
2431 size_t* count) {
2432 (void)featureBits;
2433 (void)rootType;
2434 (void)toCount;
2435 (void)count;
2436 *count += sizeof(VkStructureType);
2437 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2438 rootType = toCount->sType;
2439 }
2440 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2441 *count += sizeof(VkBool32);
2442 *count += sizeof(VkBool32);
2443 }
2444
count_VkMemoryDedicatedAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryDedicatedAllocateInfo * toCount,size_t * count)2445 void count_VkMemoryDedicatedAllocateInfo(uint32_t featureBits, VkStructureType rootType,
2446 const VkMemoryDedicatedAllocateInfo* toCount,
2447 size_t* count) {
2448 (void)featureBits;
2449 (void)rootType;
2450 (void)toCount;
2451 (void)count;
2452 *count += sizeof(VkStructureType);
2453 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2454 rootType = toCount->sType;
2455 }
2456 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2457 uint64_t cgen_var_0;
2458 *count += 1 * 8;
2459 uint64_t cgen_var_1;
2460 *count += 1 * 8;
2461 }
2462
count_VkMemoryAllocateFlagsInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryAllocateFlagsInfo * toCount,size_t * count)2463 void count_VkMemoryAllocateFlagsInfo(uint32_t featureBits, VkStructureType rootType,
2464 const VkMemoryAllocateFlagsInfo* toCount, size_t* count) {
2465 (void)featureBits;
2466 (void)rootType;
2467 (void)toCount;
2468 (void)count;
2469 *count += sizeof(VkStructureType);
2470 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2471 rootType = toCount->sType;
2472 }
2473 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2474 *count += sizeof(VkMemoryAllocateFlags);
2475 *count += sizeof(uint32_t);
2476 }
2477
count_VkDeviceGroupRenderPassBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupRenderPassBeginInfo * toCount,size_t * count)2478 void count_VkDeviceGroupRenderPassBeginInfo(uint32_t featureBits, VkStructureType rootType,
2479 const VkDeviceGroupRenderPassBeginInfo* toCount,
2480 size_t* count) {
2481 (void)featureBits;
2482 (void)rootType;
2483 (void)toCount;
2484 (void)count;
2485 *count += sizeof(VkStructureType);
2486 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2487 rootType = toCount->sType;
2488 }
2489 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2490 *count += sizeof(uint32_t);
2491 *count += sizeof(uint32_t);
2492 if (toCount) {
2493 for (uint32_t i = 0; i < (uint32_t)toCount->deviceRenderAreaCount; ++i) {
2494 count_VkRect2D(featureBits, rootType,
2495 (const VkRect2D*)(toCount->pDeviceRenderAreas + i), count);
2496 }
2497 }
2498 }
2499
count_VkDeviceGroupCommandBufferBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupCommandBufferBeginInfo * toCount,size_t * count)2500 void count_VkDeviceGroupCommandBufferBeginInfo(uint32_t featureBits, VkStructureType rootType,
2501 const VkDeviceGroupCommandBufferBeginInfo* toCount,
2502 size_t* count) {
2503 (void)featureBits;
2504 (void)rootType;
2505 (void)toCount;
2506 (void)count;
2507 *count += sizeof(VkStructureType);
2508 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2509 rootType = toCount->sType;
2510 }
2511 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2512 *count += sizeof(uint32_t);
2513 }
2514
count_VkDeviceGroupSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupSubmitInfo * toCount,size_t * count)2515 void count_VkDeviceGroupSubmitInfo(uint32_t featureBits, VkStructureType rootType,
2516 const VkDeviceGroupSubmitInfo* toCount, size_t* count) {
2517 (void)featureBits;
2518 (void)rootType;
2519 (void)toCount;
2520 (void)count;
2521 *count += sizeof(VkStructureType);
2522 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2523 rootType = toCount->sType;
2524 }
2525 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2526 *count += sizeof(uint32_t);
2527 if (toCount) {
2528 *count += toCount->waitSemaphoreCount * sizeof(const uint32_t);
2529 }
2530 *count += sizeof(uint32_t);
2531 if (toCount) {
2532 *count += toCount->commandBufferCount * sizeof(const uint32_t);
2533 }
2534 *count += sizeof(uint32_t);
2535 if (toCount) {
2536 *count += toCount->signalSemaphoreCount * sizeof(const uint32_t);
2537 }
2538 }
2539
count_VkDeviceGroupBindSparseInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupBindSparseInfo * toCount,size_t * count)2540 void count_VkDeviceGroupBindSparseInfo(uint32_t featureBits, VkStructureType rootType,
2541 const VkDeviceGroupBindSparseInfo* toCount, size_t* count) {
2542 (void)featureBits;
2543 (void)rootType;
2544 (void)toCount;
2545 (void)count;
2546 *count += sizeof(VkStructureType);
2547 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2548 rootType = toCount->sType;
2549 }
2550 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2551 *count += sizeof(uint32_t);
2552 *count += sizeof(uint32_t);
2553 }
2554
count_VkBindBufferMemoryDeviceGroupInfo(uint32_t featureBits,VkStructureType rootType,const VkBindBufferMemoryDeviceGroupInfo * toCount,size_t * count)2555 void count_VkBindBufferMemoryDeviceGroupInfo(uint32_t featureBits, VkStructureType rootType,
2556 const VkBindBufferMemoryDeviceGroupInfo* toCount,
2557 size_t* count) {
2558 (void)featureBits;
2559 (void)rootType;
2560 (void)toCount;
2561 (void)count;
2562 *count += sizeof(VkStructureType);
2563 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2564 rootType = toCount->sType;
2565 }
2566 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2567 *count += sizeof(uint32_t);
2568 if (toCount) {
2569 *count += toCount->deviceIndexCount * sizeof(const uint32_t);
2570 }
2571 }
2572
count_VkBindImageMemoryDeviceGroupInfo(uint32_t featureBits,VkStructureType rootType,const VkBindImageMemoryDeviceGroupInfo * toCount,size_t * count)2573 void count_VkBindImageMemoryDeviceGroupInfo(uint32_t featureBits, VkStructureType rootType,
2574 const VkBindImageMemoryDeviceGroupInfo* toCount,
2575 size_t* count) {
2576 (void)featureBits;
2577 (void)rootType;
2578 (void)toCount;
2579 (void)count;
2580 *count += sizeof(VkStructureType);
2581 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2582 rootType = toCount->sType;
2583 }
2584 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2585 *count += sizeof(uint32_t);
2586 if (toCount) {
2587 *count += toCount->deviceIndexCount * sizeof(const uint32_t);
2588 }
2589 *count += sizeof(uint32_t);
2590 if (toCount) {
2591 for (uint32_t i = 0; i < (uint32_t)toCount->splitInstanceBindRegionCount; ++i) {
2592 count_VkRect2D(featureBits, rootType,
2593 (const VkRect2D*)(toCount->pSplitInstanceBindRegions + i), count);
2594 }
2595 }
2596 }
2597
count_VkPhysicalDeviceGroupProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGroupProperties * toCount,size_t * count)2598 void count_VkPhysicalDeviceGroupProperties(uint32_t featureBits, VkStructureType rootType,
2599 const VkPhysicalDeviceGroupProperties* toCount,
2600 size_t* count) {
2601 (void)featureBits;
2602 (void)rootType;
2603 (void)toCount;
2604 (void)count;
2605 *count += sizeof(VkStructureType);
2606 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2607 rootType = toCount->sType;
2608 }
2609 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2610 *count += sizeof(uint32_t);
2611 *count += VK_MAX_DEVICE_GROUP_SIZE * sizeof(VkPhysicalDevice);
2612 *count += sizeof(VkBool32);
2613 }
2614
count_VkDeviceGroupDeviceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceGroupDeviceCreateInfo * toCount,size_t * count)2615 void count_VkDeviceGroupDeviceCreateInfo(uint32_t featureBits, VkStructureType rootType,
2616 const VkDeviceGroupDeviceCreateInfo* toCount,
2617 size_t* count) {
2618 (void)featureBits;
2619 (void)rootType;
2620 (void)toCount;
2621 (void)count;
2622 *count += sizeof(VkStructureType);
2623 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2624 rootType = toCount->sType;
2625 }
2626 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2627 *count += sizeof(uint32_t);
2628 if (toCount->physicalDeviceCount) {
2629 *count += toCount->physicalDeviceCount * 8;
2630 }
2631 }
2632
count_VkBufferMemoryRequirementsInfo2(uint32_t featureBits,VkStructureType rootType,const VkBufferMemoryRequirementsInfo2 * toCount,size_t * count)2633 void count_VkBufferMemoryRequirementsInfo2(uint32_t featureBits, VkStructureType rootType,
2634 const VkBufferMemoryRequirementsInfo2* toCount,
2635 size_t* count) {
2636 (void)featureBits;
2637 (void)rootType;
2638 (void)toCount;
2639 (void)count;
2640 *count += sizeof(VkStructureType);
2641 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2642 rootType = toCount->sType;
2643 }
2644 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2645 uint64_t cgen_var_0;
2646 *count += 1 * 8;
2647 }
2648
count_VkImageMemoryRequirementsInfo2(uint32_t featureBits,VkStructureType rootType,const VkImageMemoryRequirementsInfo2 * toCount,size_t * count)2649 void count_VkImageMemoryRequirementsInfo2(uint32_t featureBits, VkStructureType rootType,
2650 const VkImageMemoryRequirementsInfo2* toCount,
2651 size_t* count) {
2652 (void)featureBits;
2653 (void)rootType;
2654 (void)toCount;
2655 (void)count;
2656 *count += sizeof(VkStructureType);
2657 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2658 rootType = toCount->sType;
2659 }
2660 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2661 uint64_t cgen_var_0;
2662 *count += 1 * 8;
2663 }
2664
count_VkImageSparseMemoryRequirementsInfo2(uint32_t featureBits,VkStructureType rootType,const VkImageSparseMemoryRequirementsInfo2 * toCount,size_t * count)2665 void count_VkImageSparseMemoryRequirementsInfo2(uint32_t featureBits, VkStructureType rootType,
2666 const VkImageSparseMemoryRequirementsInfo2* toCount,
2667 size_t* count) {
2668 (void)featureBits;
2669 (void)rootType;
2670 (void)toCount;
2671 (void)count;
2672 *count += sizeof(VkStructureType);
2673 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2674 rootType = toCount->sType;
2675 }
2676 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2677 uint64_t cgen_var_0;
2678 *count += 1 * 8;
2679 }
2680
count_VkMemoryRequirements2(uint32_t featureBits,VkStructureType rootType,const VkMemoryRequirements2 * toCount,size_t * count)2681 void count_VkMemoryRequirements2(uint32_t featureBits, VkStructureType rootType,
2682 const VkMemoryRequirements2* toCount, size_t* count) {
2683 (void)featureBits;
2684 (void)rootType;
2685 (void)toCount;
2686 (void)count;
2687 *count += sizeof(VkStructureType);
2688 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2689 rootType = toCount->sType;
2690 }
2691 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2692 count_VkMemoryRequirements(featureBits, rootType,
2693 (VkMemoryRequirements*)(&toCount->memoryRequirements), count);
2694 }
2695
count_VkSparseImageMemoryRequirements2(uint32_t featureBits,VkStructureType rootType,const VkSparseImageMemoryRequirements2 * toCount,size_t * count)2696 void count_VkSparseImageMemoryRequirements2(uint32_t featureBits, VkStructureType rootType,
2697 const VkSparseImageMemoryRequirements2* toCount,
2698 size_t* count) {
2699 (void)featureBits;
2700 (void)rootType;
2701 (void)toCount;
2702 (void)count;
2703 *count += sizeof(VkStructureType);
2704 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2705 rootType = toCount->sType;
2706 }
2707 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2708 count_VkSparseImageMemoryRequirements(
2709 featureBits, rootType, (VkSparseImageMemoryRequirements*)(&toCount->memoryRequirements),
2710 count);
2711 }
2712
count_VkPhysicalDeviceFeatures2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFeatures2 * toCount,size_t * count)2713 void count_VkPhysicalDeviceFeatures2(uint32_t featureBits, VkStructureType rootType,
2714 const VkPhysicalDeviceFeatures2* toCount, size_t* count) {
2715 (void)featureBits;
2716 (void)rootType;
2717 (void)toCount;
2718 (void)count;
2719 *count += sizeof(VkStructureType);
2720 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2721 rootType = toCount->sType;
2722 }
2723 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2724 count_VkPhysicalDeviceFeatures(featureBits, rootType,
2725 (VkPhysicalDeviceFeatures*)(&toCount->features), count);
2726 }
2727
count_VkPhysicalDeviceProperties2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProperties2 * toCount,size_t * count)2728 void count_VkPhysicalDeviceProperties2(uint32_t featureBits, VkStructureType rootType,
2729 const VkPhysicalDeviceProperties2* toCount, size_t* count) {
2730 (void)featureBits;
2731 (void)rootType;
2732 (void)toCount;
2733 (void)count;
2734 *count += sizeof(VkStructureType);
2735 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2736 rootType = toCount->sType;
2737 }
2738 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2739 count_VkPhysicalDeviceProperties(featureBits, rootType,
2740 (VkPhysicalDeviceProperties*)(&toCount->properties), count);
2741 }
2742
count_VkFormatProperties2(uint32_t featureBits,VkStructureType rootType,const VkFormatProperties2 * toCount,size_t * count)2743 void count_VkFormatProperties2(uint32_t featureBits, VkStructureType rootType,
2744 const VkFormatProperties2* toCount, size_t* count) {
2745 (void)featureBits;
2746 (void)rootType;
2747 (void)toCount;
2748 (void)count;
2749 *count += sizeof(VkStructureType);
2750 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2751 rootType = toCount->sType;
2752 }
2753 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2754 count_VkFormatProperties(featureBits, rootType,
2755 (VkFormatProperties*)(&toCount->formatProperties), count);
2756 }
2757
count_VkImageFormatProperties2(uint32_t featureBits,VkStructureType rootType,const VkImageFormatProperties2 * toCount,size_t * count)2758 void count_VkImageFormatProperties2(uint32_t featureBits, VkStructureType rootType,
2759 const VkImageFormatProperties2* toCount, size_t* count) {
2760 (void)featureBits;
2761 (void)rootType;
2762 (void)toCount;
2763 (void)count;
2764 *count += sizeof(VkStructureType);
2765 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2766 rootType = toCount->sType;
2767 }
2768 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2769 count_VkImageFormatProperties(
2770 featureBits, rootType, (VkImageFormatProperties*)(&toCount->imageFormatProperties), count);
2771 }
2772
count_VkPhysicalDeviceImageFormatInfo2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageFormatInfo2 * toCount,size_t * count)2773 void count_VkPhysicalDeviceImageFormatInfo2(uint32_t featureBits, VkStructureType rootType,
2774 const VkPhysicalDeviceImageFormatInfo2* toCount,
2775 size_t* count) {
2776 (void)featureBits;
2777 (void)rootType;
2778 (void)toCount;
2779 (void)count;
2780 *count += sizeof(VkStructureType);
2781 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2782 rootType = toCount->sType;
2783 }
2784 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2785 *count += sizeof(VkFormat);
2786 *count += sizeof(VkImageType);
2787 *count += sizeof(VkImageTiling);
2788 *count += sizeof(VkImageUsageFlags);
2789 *count += sizeof(VkImageCreateFlags);
2790 }
2791
count_VkQueueFamilyProperties2(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyProperties2 * toCount,size_t * count)2792 void count_VkQueueFamilyProperties2(uint32_t featureBits, VkStructureType rootType,
2793 const VkQueueFamilyProperties2* toCount, size_t* count) {
2794 (void)featureBits;
2795 (void)rootType;
2796 (void)toCount;
2797 (void)count;
2798 *count += sizeof(VkStructureType);
2799 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2800 rootType = toCount->sType;
2801 }
2802 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2803 count_VkQueueFamilyProperties(
2804 featureBits, rootType, (VkQueueFamilyProperties*)(&toCount->queueFamilyProperties), count);
2805 }
2806
count_VkPhysicalDeviceMemoryProperties2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMemoryProperties2 * toCount,size_t * count)2807 void count_VkPhysicalDeviceMemoryProperties2(uint32_t featureBits, VkStructureType rootType,
2808 const VkPhysicalDeviceMemoryProperties2* toCount,
2809 size_t* count) {
2810 (void)featureBits;
2811 (void)rootType;
2812 (void)toCount;
2813 (void)count;
2814 *count += sizeof(VkStructureType);
2815 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2816 rootType = toCount->sType;
2817 }
2818 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2819 count_VkPhysicalDeviceMemoryProperties(
2820 featureBits, rootType, (VkPhysicalDeviceMemoryProperties*)(&toCount->memoryProperties),
2821 count);
2822 }
2823
count_VkSparseImageFormatProperties2(uint32_t featureBits,VkStructureType rootType,const VkSparseImageFormatProperties2 * toCount,size_t * count)2824 void count_VkSparseImageFormatProperties2(uint32_t featureBits, VkStructureType rootType,
2825 const VkSparseImageFormatProperties2* toCount,
2826 size_t* count) {
2827 (void)featureBits;
2828 (void)rootType;
2829 (void)toCount;
2830 (void)count;
2831 *count += sizeof(VkStructureType);
2832 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2833 rootType = toCount->sType;
2834 }
2835 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2836 count_VkSparseImageFormatProperties(
2837 featureBits, rootType, (VkSparseImageFormatProperties*)(&toCount->properties), count);
2838 }
2839
count_VkPhysicalDeviceSparseImageFormatInfo2(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSparseImageFormatInfo2 * toCount,size_t * count)2840 void count_VkPhysicalDeviceSparseImageFormatInfo2(
2841 uint32_t featureBits, VkStructureType rootType,
2842 const VkPhysicalDeviceSparseImageFormatInfo2* toCount, size_t* count) {
2843 (void)featureBits;
2844 (void)rootType;
2845 (void)toCount;
2846 (void)count;
2847 *count += sizeof(VkStructureType);
2848 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2849 rootType = toCount->sType;
2850 }
2851 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2852 *count += sizeof(VkFormat);
2853 *count += sizeof(VkImageType);
2854 *count += sizeof(VkSampleCountFlagBits);
2855 *count += sizeof(VkImageUsageFlags);
2856 *count += sizeof(VkImageTiling);
2857 }
2858
count_VkPhysicalDevicePointClippingProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePointClippingProperties * toCount,size_t * count)2859 void count_VkPhysicalDevicePointClippingProperties(
2860 uint32_t featureBits, VkStructureType rootType,
2861 const VkPhysicalDevicePointClippingProperties* toCount, size_t* count) {
2862 (void)featureBits;
2863 (void)rootType;
2864 (void)toCount;
2865 (void)count;
2866 *count += sizeof(VkStructureType);
2867 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2868 rootType = toCount->sType;
2869 }
2870 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2871 *count += sizeof(VkPointClippingBehavior);
2872 }
2873
count_VkInputAttachmentAspectReference(uint32_t featureBits,VkStructureType rootType,const VkInputAttachmentAspectReference * toCount,size_t * count)2874 void count_VkInputAttachmentAspectReference(uint32_t featureBits, VkStructureType rootType,
2875 const VkInputAttachmentAspectReference* toCount,
2876 size_t* count) {
2877 (void)featureBits;
2878 (void)rootType;
2879 (void)toCount;
2880 (void)count;
2881 *count += sizeof(uint32_t);
2882 *count += sizeof(uint32_t);
2883 *count += sizeof(VkImageAspectFlags);
2884 }
2885
count_VkRenderPassInputAttachmentAspectCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassInputAttachmentAspectCreateInfo * toCount,size_t * count)2886 void count_VkRenderPassInputAttachmentAspectCreateInfo(
2887 uint32_t featureBits, VkStructureType rootType,
2888 const VkRenderPassInputAttachmentAspectCreateInfo* toCount, size_t* count) {
2889 (void)featureBits;
2890 (void)rootType;
2891 (void)toCount;
2892 (void)count;
2893 *count += sizeof(VkStructureType);
2894 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2895 rootType = toCount->sType;
2896 }
2897 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2898 *count += sizeof(uint32_t);
2899 if (toCount) {
2900 for (uint32_t i = 0; i < (uint32_t)toCount->aspectReferenceCount; ++i) {
2901 count_VkInputAttachmentAspectReference(
2902 featureBits, rootType,
2903 (const VkInputAttachmentAspectReference*)(toCount->pAspectReferences + i), count);
2904 }
2905 }
2906 }
2907
count_VkImageViewUsageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageViewUsageCreateInfo * toCount,size_t * count)2908 void count_VkImageViewUsageCreateInfo(uint32_t featureBits, VkStructureType rootType,
2909 const VkImageViewUsageCreateInfo* toCount, size_t* count) {
2910 (void)featureBits;
2911 (void)rootType;
2912 (void)toCount;
2913 (void)count;
2914 *count += sizeof(VkStructureType);
2915 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2916 rootType = toCount->sType;
2917 }
2918 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2919 *count += sizeof(VkImageUsageFlags);
2920 }
2921
count_VkPipelineTessellationDomainOriginStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineTessellationDomainOriginStateCreateInfo * toCount,size_t * count)2922 void count_VkPipelineTessellationDomainOriginStateCreateInfo(
2923 uint32_t featureBits, VkStructureType rootType,
2924 const VkPipelineTessellationDomainOriginStateCreateInfo* toCount, size_t* count) {
2925 (void)featureBits;
2926 (void)rootType;
2927 (void)toCount;
2928 (void)count;
2929 *count += sizeof(VkStructureType);
2930 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2931 rootType = toCount->sType;
2932 }
2933 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2934 *count += sizeof(VkTessellationDomainOrigin);
2935 }
2936
count_VkRenderPassMultiviewCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassMultiviewCreateInfo * toCount,size_t * count)2937 void count_VkRenderPassMultiviewCreateInfo(uint32_t featureBits, VkStructureType rootType,
2938 const VkRenderPassMultiviewCreateInfo* toCount,
2939 size_t* count) {
2940 (void)featureBits;
2941 (void)rootType;
2942 (void)toCount;
2943 (void)count;
2944 *count += sizeof(VkStructureType);
2945 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2946 rootType = toCount->sType;
2947 }
2948 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2949 *count += sizeof(uint32_t);
2950 if (toCount) {
2951 *count += toCount->subpassCount * sizeof(const uint32_t);
2952 }
2953 *count += sizeof(uint32_t);
2954 if (toCount) {
2955 *count += toCount->dependencyCount * sizeof(const int32_t);
2956 }
2957 *count += sizeof(uint32_t);
2958 if (toCount) {
2959 *count += toCount->correlationMaskCount * sizeof(const uint32_t);
2960 }
2961 }
2962
count_VkPhysicalDeviceMultiviewFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewFeatures * toCount,size_t * count)2963 void count_VkPhysicalDeviceMultiviewFeatures(uint32_t featureBits, VkStructureType rootType,
2964 const VkPhysicalDeviceMultiviewFeatures* toCount,
2965 size_t* count) {
2966 (void)featureBits;
2967 (void)rootType;
2968 (void)toCount;
2969 (void)count;
2970 *count += sizeof(VkStructureType);
2971 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2972 rootType = toCount->sType;
2973 }
2974 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2975 *count += sizeof(VkBool32);
2976 *count += sizeof(VkBool32);
2977 *count += sizeof(VkBool32);
2978 }
2979
count_VkPhysicalDeviceMultiviewProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMultiviewProperties * toCount,size_t * count)2980 void count_VkPhysicalDeviceMultiviewProperties(uint32_t featureBits, VkStructureType rootType,
2981 const VkPhysicalDeviceMultiviewProperties* toCount,
2982 size_t* count) {
2983 (void)featureBits;
2984 (void)rootType;
2985 (void)toCount;
2986 (void)count;
2987 *count += sizeof(VkStructureType);
2988 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
2989 rootType = toCount->sType;
2990 }
2991 count_extension_struct(featureBits, rootType, toCount->pNext, count);
2992 *count += sizeof(uint32_t);
2993 *count += sizeof(uint32_t);
2994 }
2995
count_VkPhysicalDeviceVariablePointersFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVariablePointersFeatures * toCount,size_t * count)2996 void count_VkPhysicalDeviceVariablePointersFeatures(
2997 uint32_t featureBits, VkStructureType rootType,
2998 const VkPhysicalDeviceVariablePointersFeatures* toCount, size_t* count) {
2999 (void)featureBits;
3000 (void)rootType;
3001 (void)toCount;
3002 (void)count;
3003 *count += sizeof(VkStructureType);
3004 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3005 rootType = toCount->sType;
3006 }
3007 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3008 *count += sizeof(VkBool32);
3009 *count += sizeof(VkBool32);
3010 }
3011
count_VkPhysicalDeviceProtectedMemoryFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryFeatures * toCount,size_t * count)3012 void count_VkPhysicalDeviceProtectedMemoryFeatures(
3013 uint32_t featureBits, VkStructureType rootType,
3014 const VkPhysicalDeviceProtectedMemoryFeatures* toCount, size_t* count) {
3015 (void)featureBits;
3016 (void)rootType;
3017 (void)toCount;
3018 (void)count;
3019 *count += sizeof(VkStructureType);
3020 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3021 rootType = toCount->sType;
3022 }
3023 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3024 *count += sizeof(VkBool32);
3025 }
3026
count_VkPhysicalDeviceProtectedMemoryProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProtectedMemoryProperties * toCount,size_t * count)3027 void count_VkPhysicalDeviceProtectedMemoryProperties(
3028 uint32_t featureBits, VkStructureType rootType,
3029 const VkPhysicalDeviceProtectedMemoryProperties* toCount, size_t* count) {
3030 (void)featureBits;
3031 (void)rootType;
3032 (void)toCount;
3033 (void)count;
3034 *count += sizeof(VkStructureType);
3035 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3036 rootType = toCount->sType;
3037 }
3038 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3039 *count += sizeof(VkBool32);
3040 }
3041
count_VkDeviceQueueInfo2(uint32_t featureBits,VkStructureType rootType,const VkDeviceQueueInfo2 * toCount,size_t * count)3042 void count_VkDeviceQueueInfo2(uint32_t featureBits, VkStructureType rootType,
3043 const VkDeviceQueueInfo2* toCount, size_t* count) {
3044 (void)featureBits;
3045 (void)rootType;
3046 (void)toCount;
3047 (void)count;
3048 *count += sizeof(VkStructureType);
3049 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3050 rootType = toCount->sType;
3051 }
3052 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3053 *count += sizeof(VkDeviceQueueCreateFlags);
3054 *count += sizeof(uint32_t);
3055 *count += sizeof(uint32_t);
3056 }
3057
count_VkProtectedSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkProtectedSubmitInfo * toCount,size_t * count)3058 void count_VkProtectedSubmitInfo(uint32_t featureBits, VkStructureType rootType,
3059 const VkProtectedSubmitInfo* toCount, size_t* count) {
3060 (void)featureBits;
3061 (void)rootType;
3062 (void)toCount;
3063 (void)count;
3064 *count += sizeof(VkStructureType);
3065 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3066 rootType = toCount->sType;
3067 }
3068 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3069 *count += sizeof(VkBool32);
3070 }
3071
count_VkSamplerYcbcrConversionCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerYcbcrConversionCreateInfo * toCount,size_t * count)3072 void count_VkSamplerYcbcrConversionCreateInfo(uint32_t featureBits, VkStructureType rootType,
3073 const VkSamplerYcbcrConversionCreateInfo* toCount,
3074 size_t* count) {
3075 (void)featureBits;
3076 (void)rootType;
3077 (void)toCount;
3078 (void)count;
3079 *count += sizeof(VkStructureType);
3080 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3081 rootType = toCount->sType;
3082 }
3083 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3084 *count += sizeof(VkFormat);
3085 *count += sizeof(VkSamplerYcbcrModelConversion);
3086 *count += sizeof(VkSamplerYcbcrRange);
3087 count_VkComponentMapping(featureBits, rootType, (VkComponentMapping*)(&toCount->components),
3088 count);
3089 *count += sizeof(VkChromaLocation);
3090 *count += sizeof(VkChromaLocation);
3091 *count += sizeof(VkFilter);
3092 *count += sizeof(VkBool32);
3093 }
3094
count_VkSamplerYcbcrConversionInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerYcbcrConversionInfo * toCount,size_t * count)3095 void count_VkSamplerYcbcrConversionInfo(uint32_t featureBits, VkStructureType rootType,
3096 const VkSamplerYcbcrConversionInfo* toCount,
3097 size_t* count) {
3098 (void)featureBits;
3099 (void)rootType;
3100 (void)toCount;
3101 (void)count;
3102 *count += sizeof(VkStructureType);
3103 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3104 rootType = toCount->sType;
3105 }
3106 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3107 uint64_t cgen_var_0;
3108 *count += 1 * 8;
3109 }
3110
count_VkBindImagePlaneMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkBindImagePlaneMemoryInfo * toCount,size_t * count)3111 void count_VkBindImagePlaneMemoryInfo(uint32_t featureBits, VkStructureType rootType,
3112 const VkBindImagePlaneMemoryInfo* toCount, size_t* count) {
3113 (void)featureBits;
3114 (void)rootType;
3115 (void)toCount;
3116 (void)count;
3117 *count += sizeof(VkStructureType);
3118 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3119 rootType = toCount->sType;
3120 }
3121 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3122 *count += sizeof(VkImageAspectFlagBits);
3123 }
3124
count_VkImagePlaneMemoryRequirementsInfo(uint32_t featureBits,VkStructureType rootType,const VkImagePlaneMemoryRequirementsInfo * toCount,size_t * count)3125 void count_VkImagePlaneMemoryRequirementsInfo(uint32_t featureBits, VkStructureType rootType,
3126 const VkImagePlaneMemoryRequirementsInfo* toCount,
3127 size_t* count) {
3128 (void)featureBits;
3129 (void)rootType;
3130 (void)toCount;
3131 (void)count;
3132 *count += sizeof(VkStructureType);
3133 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3134 rootType = toCount->sType;
3135 }
3136 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3137 *count += sizeof(VkImageAspectFlagBits);
3138 }
3139
count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSamplerYcbcrConversionFeatures * toCount,size_t * count)3140 void count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
3141 uint32_t featureBits, VkStructureType rootType,
3142 const VkPhysicalDeviceSamplerYcbcrConversionFeatures* toCount, size_t* count) {
3143 (void)featureBits;
3144 (void)rootType;
3145 (void)toCount;
3146 (void)count;
3147 *count += sizeof(VkStructureType);
3148 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3149 rootType = toCount->sType;
3150 }
3151 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3152 *count += sizeof(VkBool32);
3153 }
3154
count_VkSamplerYcbcrConversionImageFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkSamplerYcbcrConversionImageFormatProperties * toCount,size_t * count)3155 void count_VkSamplerYcbcrConversionImageFormatProperties(
3156 uint32_t featureBits, VkStructureType rootType,
3157 const VkSamplerYcbcrConversionImageFormatProperties* toCount, size_t* count) {
3158 (void)featureBits;
3159 (void)rootType;
3160 (void)toCount;
3161 (void)count;
3162 *count += sizeof(VkStructureType);
3163 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3164 rootType = toCount->sType;
3165 }
3166 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3167 *count += sizeof(uint32_t);
3168 }
3169
count_VkDescriptorUpdateTemplateEntry(uint32_t featureBits,VkStructureType rootType,const VkDescriptorUpdateTemplateEntry * toCount,size_t * count)3170 void count_VkDescriptorUpdateTemplateEntry(uint32_t featureBits, VkStructureType rootType,
3171 const VkDescriptorUpdateTemplateEntry* toCount,
3172 size_t* count) {
3173 (void)featureBits;
3174 (void)rootType;
3175 (void)toCount;
3176 (void)count;
3177 *count += sizeof(uint32_t);
3178 *count += sizeof(uint32_t);
3179 *count += sizeof(uint32_t);
3180 *count += sizeof(VkDescriptorType);
3181 *count += 8;
3182 *count += 8;
3183 }
3184
count_VkDescriptorUpdateTemplateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorUpdateTemplateCreateInfo * toCount,size_t * count)3185 void count_VkDescriptorUpdateTemplateCreateInfo(uint32_t featureBits, VkStructureType rootType,
3186 const VkDescriptorUpdateTemplateCreateInfo* toCount,
3187 size_t* count) {
3188 (void)featureBits;
3189 (void)rootType;
3190 (void)toCount;
3191 (void)count;
3192 *count += sizeof(VkStructureType);
3193 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3194 rootType = toCount->sType;
3195 }
3196 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3197 *count += sizeof(VkDescriptorUpdateTemplateCreateFlags);
3198 *count += sizeof(uint32_t);
3199 if (toCount) {
3200 for (uint32_t i = 0; i < (uint32_t)toCount->descriptorUpdateEntryCount; ++i) {
3201 count_VkDescriptorUpdateTemplateEntry(
3202 featureBits, rootType,
3203 (const VkDescriptorUpdateTemplateEntry*)(toCount->pDescriptorUpdateEntries + i),
3204 count);
3205 }
3206 }
3207 *count += sizeof(VkDescriptorUpdateTemplateType);
3208 uint64_t cgen_var_0;
3209 *count += 1 * 8;
3210 *count += sizeof(VkPipelineBindPoint);
3211 uint64_t cgen_var_1;
3212 *count += 1 * 8;
3213 *count += sizeof(uint32_t);
3214 }
3215
count_VkExternalMemoryProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryProperties * toCount,size_t * count)3216 void count_VkExternalMemoryProperties(uint32_t featureBits, VkStructureType rootType,
3217 const VkExternalMemoryProperties* toCount, size_t* count) {
3218 (void)featureBits;
3219 (void)rootType;
3220 (void)toCount;
3221 (void)count;
3222 *count += sizeof(VkExternalMemoryFeatureFlags);
3223 *count += sizeof(VkExternalMemoryHandleTypeFlags);
3224 *count += sizeof(VkExternalMemoryHandleTypeFlags);
3225 }
3226
count_VkPhysicalDeviceExternalImageFormatInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalImageFormatInfo * toCount,size_t * count)3227 void count_VkPhysicalDeviceExternalImageFormatInfo(
3228 uint32_t featureBits, VkStructureType rootType,
3229 const VkPhysicalDeviceExternalImageFormatInfo* toCount, size_t* count) {
3230 (void)featureBits;
3231 (void)rootType;
3232 (void)toCount;
3233 (void)count;
3234 *count += sizeof(VkStructureType);
3235 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3236 rootType = toCount->sType;
3237 }
3238 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3239 *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
3240 }
3241
count_VkExternalImageFormatProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalImageFormatProperties * toCount,size_t * count)3242 void count_VkExternalImageFormatProperties(uint32_t featureBits, VkStructureType rootType,
3243 const VkExternalImageFormatProperties* toCount,
3244 size_t* count) {
3245 (void)featureBits;
3246 (void)rootType;
3247 (void)toCount;
3248 (void)count;
3249 *count += sizeof(VkStructureType);
3250 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3251 rootType = toCount->sType;
3252 }
3253 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3254 count_VkExternalMemoryProperties(
3255 featureBits, rootType, (VkExternalMemoryProperties*)(&toCount->externalMemoryProperties),
3256 count);
3257 }
3258
count_VkPhysicalDeviceExternalBufferInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalBufferInfo * toCount,size_t * count)3259 void count_VkPhysicalDeviceExternalBufferInfo(uint32_t featureBits, VkStructureType rootType,
3260 const VkPhysicalDeviceExternalBufferInfo* toCount,
3261 size_t* count) {
3262 (void)featureBits;
3263 (void)rootType;
3264 (void)toCount;
3265 (void)count;
3266 *count += sizeof(VkStructureType);
3267 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3268 rootType = toCount->sType;
3269 }
3270 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3271 *count += sizeof(VkBufferCreateFlags);
3272 *count += sizeof(VkBufferUsageFlags);
3273 *count += sizeof(VkExternalMemoryHandleTypeFlagBits);
3274 }
3275
count_VkExternalBufferProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalBufferProperties * toCount,size_t * count)3276 void count_VkExternalBufferProperties(uint32_t featureBits, VkStructureType rootType,
3277 const VkExternalBufferProperties* toCount, size_t* count) {
3278 (void)featureBits;
3279 (void)rootType;
3280 (void)toCount;
3281 (void)count;
3282 *count += sizeof(VkStructureType);
3283 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3284 rootType = toCount->sType;
3285 }
3286 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3287 count_VkExternalMemoryProperties(
3288 featureBits, rootType, (VkExternalMemoryProperties*)(&toCount->externalMemoryProperties),
3289 count);
3290 }
3291
count_VkPhysicalDeviceIDProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceIDProperties * toCount,size_t * count)3292 void count_VkPhysicalDeviceIDProperties(uint32_t featureBits, VkStructureType rootType,
3293 const VkPhysicalDeviceIDProperties* toCount,
3294 size_t* count) {
3295 (void)featureBits;
3296 (void)rootType;
3297 (void)toCount;
3298 (void)count;
3299 *count += sizeof(VkStructureType);
3300 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3301 rootType = toCount->sType;
3302 }
3303 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3304 *count += VK_UUID_SIZE * sizeof(uint8_t);
3305 *count += VK_UUID_SIZE * sizeof(uint8_t);
3306 *count += VK_LUID_SIZE * sizeof(uint8_t);
3307 *count += sizeof(uint32_t);
3308 *count += sizeof(VkBool32);
3309 }
3310
count_VkExternalMemoryImageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryImageCreateInfo * toCount,size_t * count)3311 void count_VkExternalMemoryImageCreateInfo(uint32_t featureBits, VkStructureType rootType,
3312 const VkExternalMemoryImageCreateInfo* toCount,
3313 size_t* count) {
3314 (void)featureBits;
3315 (void)rootType;
3316 (void)toCount;
3317 (void)count;
3318 *count += sizeof(VkStructureType);
3319 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3320 rootType = toCount->sType;
3321 }
3322 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3323 *count += sizeof(VkExternalMemoryHandleTypeFlags);
3324 }
3325
count_VkExternalMemoryBufferCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExternalMemoryBufferCreateInfo * toCount,size_t * count)3326 void count_VkExternalMemoryBufferCreateInfo(uint32_t featureBits, VkStructureType rootType,
3327 const VkExternalMemoryBufferCreateInfo* toCount,
3328 size_t* count) {
3329 (void)featureBits;
3330 (void)rootType;
3331 (void)toCount;
3332 (void)count;
3333 *count += sizeof(VkStructureType);
3334 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3335 rootType = toCount->sType;
3336 }
3337 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3338 *count += sizeof(VkExternalMemoryHandleTypeFlags);
3339 }
3340
count_VkExportMemoryAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkExportMemoryAllocateInfo * toCount,size_t * count)3341 void count_VkExportMemoryAllocateInfo(uint32_t featureBits, VkStructureType rootType,
3342 const VkExportMemoryAllocateInfo* toCount, size_t* count) {
3343 (void)featureBits;
3344 (void)rootType;
3345 (void)toCount;
3346 (void)count;
3347 *count += sizeof(VkStructureType);
3348 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3349 rootType = toCount->sType;
3350 }
3351 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3352 *count += sizeof(VkExternalMemoryHandleTypeFlags);
3353 }
3354
count_VkPhysicalDeviceExternalFenceInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalFenceInfo * toCount,size_t * count)3355 void count_VkPhysicalDeviceExternalFenceInfo(uint32_t featureBits, VkStructureType rootType,
3356 const VkPhysicalDeviceExternalFenceInfo* toCount,
3357 size_t* count) {
3358 (void)featureBits;
3359 (void)rootType;
3360 (void)toCount;
3361 (void)count;
3362 *count += sizeof(VkStructureType);
3363 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3364 rootType = toCount->sType;
3365 }
3366 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3367 *count += sizeof(VkExternalFenceHandleTypeFlagBits);
3368 }
3369
count_VkExternalFenceProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalFenceProperties * toCount,size_t * count)3370 void count_VkExternalFenceProperties(uint32_t featureBits, VkStructureType rootType,
3371 const VkExternalFenceProperties* toCount, size_t* count) {
3372 (void)featureBits;
3373 (void)rootType;
3374 (void)toCount;
3375 (void)count;
3376 *count += sizeof(VkStructureType);
3377 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3378 rootType = toCount->sType;
3379 }
3380 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3381 *count += sizeof(VkExternalFenceHandleTypeFlags);
3382 *count += sizeof(VkExternalFenceHandleTypeFlags);
3383 *count += sizeof(VkExternalFenceFeatureFlags);
3384 }
3385
count_VkExportFenceCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExportFenceCreateInfo * toCount,size_t * count)3386 void count_VkExportFenceCreateInfo(uint32_t featureBits, VkStructureType rootType,
3387 const VkExportFenceCreateInfo* toCount, size_t* count) {
3388 (void)featureBits;
3389 (void)rootType;
3390 (void)toCount;
3391 (void)count;
3392 *count += sizeof(VkStructureType);
3393 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3394 rootType = toCount->sType;
3395 }
3396 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3397 *count += sizeof(VkExternalFenceHandleTypeFlags);
3398 }
3399
count_VkExportSemaphoreCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkExportSemaphoreCreateInfo * toCount,size_t * count)3400 void count_VkExportSemaphoreCreateInfo(uint32_t featureBits, VkStructureType rootType,
3401 const VkExportSemaphoreCreateInfo* toCount, size_t* count) {
3402 (void)featureBits;
3403 (void)rootType;
3404 (void)toCount;
3405 (void)count;
3406 *count += sizeof(VkStructureType);
3407 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3408 rootType = toCount->sType;
3409 }
3410 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3411 *count += sizeof(VkExternalSemaphoreHandleTypeFlags);
3412 }
3413
count_VkPhysicalDeviceExternalSemaphoreInfo(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExternalSemaphoreInfo * toCount,size_t * count)3414 void count_VkPhysicalDeviceExternalSemaphoreInfo(
3415 uint32_t featureBits, VkStructureType rootType,
3416 const VkPhysicalDeviceExternalSemaphoreInfo* toCount, size_t* count) {
3417 (void)featureBits;
3418 (void)rootType;
3419 (void)toCount;
3420 (void)count;
3421 *count += sizeof(VkStructureType);
3422 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3423 rootType = toCount->sType;
3424 }
3425 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3426 *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
3427 }
3428
count_VkExternalSemaphoreProperties(uint32_t featureBits,VkStructureType rootType,const VkExternalSemaphoreProperties * toCount,size_t * count)3429 void count_VkExternalSemaphoreProperties(uint32_t featureBits, VkStructureType rootType,
3430 const VkExternalSemaphoreProperties* toCount,
3431 size_t* count) {
3432 (void)featureBits;
3433 (void)rootType;
3434 (void)toCount;
3435 (void)count;
3436 *count += sizeof(VkStructureType);
3437 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3438 rootType = toCount->sType;
3439 }
3440 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3441 *count += sizeof(VkExternalSemaphoreHandleTypeFlags);
3442 *count += sizeof(VkExternalSemaphoreHandleTypeFlags);
3443 *count += sizeof(VkExternalSemaphoreFeatureFlags);
3444 }
3445
count_VkPhysicalDeviceMaintenance3Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance3Properties * toCount,size_t * count)3446 void count_VkPhysicalDeviceMaintenance3Properties(
3447 uint32_t featureBits, VkStructureType rootType,
3448 const VkPhysicalDeviceMaintenance3Properties* toCount, size_t* count) {
3449 (void)featureBits;
3450 (void)rootType;
3451 (void)toCount;
3452 (void)count;
3453 *count += sizeof(VkStructureType);
3454 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3455 rootType = toCount->sType;
3456 }
3457 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3458 *count += sizeof(uint32_t);
3459 *count += sizeof(VkDeviceSize);
3460 }
3461
count_VkDescriptorSetLayoutSupport(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutSupport * toCount,size_t * count)3462 void count_VkDescriptorSetLayoutSupport(uint32_t featureBits, VkStructureType rootType,
3463 const VkDescriptorSetLayoutSupport* toCount,
3464 size_t* count) {
3465 (void)featureBits;
3466 (void)rootType;
3467 (void)toCount;
3468 (void)count;
3469 *count += sizeof(VkStructureType);
3470 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3471 rootType = toCount->sType;
3472 }
3473 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3474 *count += sizeof(VkBool32);
3475 }
3476
count_VkPhysicalDeviceShaderDrawParametersFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderDrawParametersFeatures * toCount,size_t * count)3477 void count_VkPhysicalDeviceShaderDrawParametersFeatures(
3478 uint32_t featureBits, VkStructureType rootType,
3479 const VkPhysicalDeviceShaderDrawParametersFeatures* toCount, size_t* count) {
3480 (void)featureBits;
3481 (void)rootType;
3482 (void)toCount;
3483 (void)count;
3484 *count += sizeof(VkStructureType);
3485 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3486 rootType = toCount->sType;
3487 }
3488 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3489 *count += sizeof(VkBool32);
3490 }
3491
3492 #endif
3493 #ifdef VK_VERSION_1_2
count_VkPhysicalDeviceVulkan11Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan11Features * toCount,size_t * count)3494 void count_VkPhysicalDeviceVulkan11Features(uint32_t featureBits, VkStructureType rootType,
3495 const VkPhysicalDeviceVulkan11Features* toCount,
3496 size_t* count) {
3497 (void)featureBits;
3498 (void)rootType;
3499 (void)toCount;
3500 (void)count;
3501 *count += sizeof(VkStructureType);
3502 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3503 rootType = toCount->sType;
3504 }
3505 count_extension_struct(featureBits, rootType, toCount->pNext, count);
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 *count += sizeof(VkBool32);
3518 }
3519
count_VkPhysicalDeviceVulkan11Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan11Properties * toCount,size_t * count)3520 void count_VkPhysicalDeviceVulkan11Properties(uint32_t featureBits, VkStructureType rootType,
3521 const VkPhysicalDeviceVulkan11Properties* toCount,
3522 size_t* count) {
3523 (void)featureBits;
3524 (void)rootType;
3525 (void)toCount;
3526 (void)count;
3527 *count += sizeof(VkStructureType);
3528 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3529 rootType = toCount->sType;
3530 }
3531 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3532 *count += VK_UUID_SIZE * sizeof(uint8_t);
3533 *count += VK_UUID_SIZE * sizeof(uint8_t);
3534 *count += VK_LUID_SIZE * sizeof(uint8_t);
3535 *count += sizeof(uint32_t);
3536 *count += sizeof(VkBool32);
3537 *count += sizeof(uint32_t);
3538 *count += sizeof(VkShaderStageFlags);
3539 *count += sizeof(VkSubgroupFeatureFlags);
3540 *count += sizeof(VkBool32);
3541 *count += sizeof(VkPointClippingBehavior);
3542 *count += sizeof(uint32_t);
3543 *count += sizeof(uint32_t);
3544 *count += sizeof(VkBool32);
3545 *count += sizeof(uint32_t);
3546 *count += sizeof(VkDeviceSize);
3547 }
3548
count_VkPhysicalDeviceVulkan12Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan12Features * toCount,size_t * count)3549 void count_VkPhysicalDeviceVulkan12Features(uint32_t featureBits, VkStructureType rootType,
3550 const VkPhysicalDeviceVulkan12Features* toCount,
3551 size_t* count) {
3552 (void)featureBits;
3553 (void)rootType;
3554 (void)toCount;
3555 (void)count;
3556 *count += sizeof(VkStructureType);
3557 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3558 rootType = toCount->sType;
3559 }
3560 count_extension_struct(featureBits, rootType, toCount->pNext, count);
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 *count += sizeof(VkBool32);
3608 }
3609
count_VkConformanceVersion(uint32_t featureBits,VkStructureType rootType,const VkConformanceVersion * toCount,size_t * count)3610 void count_VkConformanceVersion(uint32_t featureBits, VkStructureType rootType,
3611 const VkConformanceVersion* toCount, size_t* count) {
3612 (void)featureBits;
3613 (void)rootType;
3614 (void)toCount;
3615 (void)count;
3616 *count += sizeof(uint8_t);
3617 *count += sizeof(uint8_t);
3618 *count += sizeof(uint8_t);
3619 *count += sizeof(uint8_t);
3620 }
3621
count_VkPhysicalDeviceVulkan12Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan12Properties * toCount,size_t * count)3622 void count_VkPhysicalDeviceVulkan12Properties(uint32_t featureBits, VkStructureType rootType,
3623 const VkPhysicalDeviceVulkan12Properties* toCount,
3624 size_t* count) {
3625 (void)featureBits;
3626 (void)rootType;
3627 (void)toCount;
3628 (void)count;
3629 *count += sizeof(VkStructureType);
3630 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3631 rootType = toCount->sType;
3632 }
3633 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3634 *count += sizeof(VkDriverId);
3635 *count += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
3636 *count += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
3637 count_VkConformanceVersion(featureBits, rootType,
3638 (VkConformanceVersion*)(&toCount->conformanceVersion), count);
3639 *count += sizeof(VkShaderFloatControlsIndependence);
3640 *count += sizeof(VkShaderFloatControlsIndependence);
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(VkBool32);
3656 *count += sizeof(uint32_t);
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(VkBool32);
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(uint32_t);
3679 *count += sizeof(VkResolveModeFlags);
3680 *count += sizeof(VkResolveModeFlags);
3681 *count += sizeof(VkBool32);
3682 *count += sizeof(VkBool32);
3683 *count += sizeof(VkBool32);
3684 *count += sizeof(VkBool32);
3685 *count += sizeof(uint64_t);
3686 *count += sizeof(VkSampleCountFlags);
3687 }
3688
count_VkImageFormatListCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageFormatListCreateInfo * toCount,size_t * count)3689 void count_VkImageFormatListCreateInfo(uint32_t featureBits, VkStructureType rootType,
3690 const VkImageFormatListCreateInfo* toCount, size_t* count) {
3691 (void)featureBits;
3692 (void)rootType;
3693 (void)toCount;
3694 (void)count;
3695 *count += sizeof(VkStructureType);
3696 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3697 rootType = toCount->sType;
3698 }
3699 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3700 *count += sizeof(uint32_t);
3701 if (toCount) {
3702 *count += toCount->viewFormatCount * sizeof(const VkFormat);
3703 }
3704 }
3705
count_VkAttachmentDescription2(uint32_t featureBits,VkStructureType rootType,const VkAttachmentDescription2 * toCount,size_t * count)3706 void count_VkAttachmentDescription2(uint32_t featureBits, VkStructureType rootType,
3707 const VkAttachmentDescription2* toCount, size_t* count) {
3708 (void)featureBits;
3709 (void)rootType;
3710 (void)toCount;
3711 (void)count;
3712 *count += sizeof(VkStructureType);
3713 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3714 rootType = toCount->sType;
3715 }
3716 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3717 *count += sizeof(VkAttachmentDescriptionFlags);
3718 *count += sizeof(VkFormat);
3719 *count += sizeof(VkSampleCountFlagBits);
3720 *count += sizeof(VkAttachmentLoadOp);
3721 *count += sizeof(VkAttachmentStoreOp);
3722 *count += sizeof(VkAttachmentLoadOp);
3723 *count += sizeof(VkAttachmentStoreOp);
3724 *count += sizeof(VkImageLayout);
3725 *count += sizeof(VkImageLayout);
3726 }
3727
count_VkAttachmentReference2(uint32_t featureBits,VkStructureType rootType,const VkAttachmentReference2 * toCount,size_t * count)3728 void count_VkAttachmentReference2(uint32_t featureBits, VkStructureType rootType,
3729 const VkAttachmentReference2* toCount, size_t* count) {
3730 (void)featureBits;
3731 (void)rootType;
3732 (void)toCount;
3733 (void)count;
3734 *count += sizeof(VkStructureType);
3735 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3736 rootType = toCount->sType;
3737 }
3738 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3739 *count += sizeof(uint32_t);
3740 *count += sizeof(VkImageLayout);
3741 *count += sizeof(VkImageAspectFlags);
3742 }
3743
count_VkSubpassDescription2(uint32_t featureBits,VkStructureType rootType,const VkSubpassDescription2 * toCount,size_t * count)3744 void count_VkSubpassDescription2(uint32_t featureBits, VkStructureType rootType,
3745 const VkSubpassDescription2* toCount, size_t* count) {
3746 (void)featureBits;
3747 (void)rootType;
3748 (void)toCount;
3749 (void)count;
3750 *count += sizeof(VkStructureType);
3751 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3752 rootType = toCount->sType;
3753 }
3754 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3755 *count += sizeof(VkSubpassDescriptionFlags);
3756 *count += sizeof(VkPipelineBindPoint);
3757 *count += sizeof(uint32_t);
3758 *count += sizeof(uint32_t);
3759 if (toCount) {
3760 for (uint32_t i = 0; i < (uint32_t)toCount->inputAttachmentCount; ++i) {
3761 count_VkAttachmentReference2(
3762 featureBits, rootType,
3763 (const VkAttachmentReference2*)(toCount->pInputAttachments + i), count);
3764 }
3765 }
3766 *count += sizeof(uint32_t);
3767 if (toCount) {
3768 for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
3769 count_VkAttachmentReference2(
3770 featureBits, rootType,
3771 (const VkAttachmentReference2*)(toCount->pColorAttachments + i), count);
3772 }
3773 }
3774 // WARNING PTR CHECK
3775 *count += 8;
3776 if (toCount->pResolveAttachments) {
3777 if (toCount) {
3778 for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
3779 count_VkAttachmentReference2(
3780 featureBits, rootType,
3781 (const VkAttachmentReference2*)(toCount->pResolveAttachments + i), count);
3782 }
3783 }
3784 }
3785 // WARNING PTR CHECK
3786 *count += 8;
3787 if (toCount->pDepthStencilAttachment) {
3788 count_VkAttachmentReference2(
3789 featureBits, rootType,
3790 (const VkAttachmentReference2*)(toCount->pDepthStencilAttachment), count);
3791 }
3792 *count += sizeof(uint32_t);
3793 if (toCount) {
3794 *count += toCount->preserveAttachmentCount * sizeof(const uint32_t);
3795 }
3796 }
3797
count_VkSubpassDependency2(uint32_t featureBits,VkStructureType rootType,const VkSubpassDependency2 * toCount,size_t * count)3798 void count_VkSubpassDependency2(uint32_t featureBits, VkStructureType rootType,
3799 const VkSubpassDependency2* toCount, size_t* count) {
3800 (void)featureBits;
3801 (void)rootType;
3802 (void)toCount;
3803 (void)count;
3804 *count += sizeof(VkStructureType);
3805 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3806 rootType = toCount->sType;
3807 }
3808 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3809 *count += sizeof(uint32_t);
3810 *count += sizeof(uint32_t);
3811 *count += sizeof(VkPipelineStageFlags);
3812 *count += sizeof(VkPipelineStageFlags);
3813 *count += sizeof(VkAccessFlags);
3814 *count += sizeof(VkAccessFlags);
3815 *count += sizeof(VkDependencyFlags);
3816 *count += sizeof(int32_t);
3817 }
3818
count_VkRenderPassCreateInfo2(uint32_t featureBits,VkStructureType rootType,const VkRenderPassCreateInfo2 * toCount,size_t * count)3819 void count_VkRenderPassCreateInfo2(uint32_t featureBits, VkStructureType rootType,
3820 const VkRenderPassCreateInfo2* toCount, size_t* count) {
3821 (void)featureBits;
3822 (void)rootType;
3823 (void)toCount;
3824 (void)count;
3825 *count += sizeof(VkStructureType);
3826 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3827 rootType = toCount->sType;
3828 }
3829 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3830 *count += sizeof(VkRenderPassCreateFlags);
3831 *count += sizeof(uint32_t);
3832 if (toCount) {
3833 for (uint32_t i = 0; i < (uint32_t)toCount->attachmentCount; ++i) {
3834 count_VkAttachmentDescription2(
3835 featureBits, rootType, (const VkAttachmentDescription2*)(toCount->pAttachments + i),
3836 count);
3837 }
3838 }
3839 *count += sizeof(uint32_t);
3840 if (toCount) {
3841 for (uint32_t i = 0; i < (uint32_t)toCount->subpassCount; ++i) {
3842 count_VkSubpassDescription2(featureBits, rootType,
3843 (const VkSubpassDescription2*)(toCount->pSubpasses + i),
3844 count);
3845 }
3846 }
3847 *count += sizeof(uint32_t);
3848 if (toCount) {
3849 for (uint32_t i = 0; i < (uint32_t)toCount->dependencyCount; ++i) {
3850 count_VkSubpassDependency2(featureBits, rootType,
3851 (const VkSubpassDependency2*)(toCount->pDependencies + i),
3852 count);
3853 }
3854 }
3855 *count += sizeof(uint32_t);
3856 if (toCount) {
3857 *count += toCount->correlatedViewMaskCount * sizeof(const uint32_t);
3858 }
3859 }
3860
count_VkSubpassBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkSubpassBeginInfo * toCount,size_t * count)3861 void count_VkSubpassBeginInfo(uint32_t featureBits, VkStructureType rootType,
3862 const VkSubpassBeginInfo* toCount, size_t* count) {
3863 (void)featureBits;
3864 (void)rootType;
3865 (void)toCount;
3866 (void)count;
3867 *count += sizeof(VkStructureType);
3868 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3869 rootType = toCount->sType;
3870 }
3871 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3872 *count += sizeof(VkSubpassContents);
3873 }
3874
count_VkSubpassEndInfo(uint32_t featureBits,VkStructureType rootType,const VkSubpassEndInfo * toCount,size_t * count)3875 void count_VkSubpassEndInfo(uint32_t featureBits, VkStructureType rootType,
3876 const VkSubpassEndInfo* toCount, size_t* count) {
3877 (void)featureBits;
3878 (void)rootType;
3879 (void)toCount;
3880 (void)count;
3881 *count += sizeof(VkStructureType);
3882 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3883 rootType = toCount->sType;
3884 }
3885 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3886 }
3887
count_VkPhysicalDevice8BitStorageFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice8BitStorageFeatures * toCount,size_t * count)3888 void count_VkPhysicalDevice8BitStorageFeatures(uint32_t featureBits, VkStructureType rootType,
3889 const VkPhysicalDevice8BitStorageFeatures* toCount,
3890 size_t* count) {
3891 (void)featureBits;
3892 (void)rootType;
3893 (void)toCount;
3894 (void)count;
3895 *count += sizeof(VkStructureType);
3896 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3897 rootType = toCount->sType;
3898 }
3899 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3900 *count += sizeof(VkBool32);
3901 *count += sizeof(VkBool32);
3902 *count += sizeof(VkBool32);
3903 }
3904
count_VkPhysicalDeviceDriverProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDriverProperties * toCount,size_t * count)3905 void count_VkPhysicalDeviceDriverProperties(uint32_t featureBits, VkStructureType rootType,
3906 const VkPhysicalDeviceDriverProperties* toCount,
3907 size_t* count) {
3908 (void)featureBits;
3909 (void)rootType;
3910 (void)toCount;
3911 (void)count;
3912 *count += sizeof(VkStructureType);
3913 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3914 rootType = toCount->sType;
3915 }
3916 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3917 *count += sizeof(VkDriverId);
3918 *count += VK_MAX_DRIVER_NAME_SIZE * sizeof(char);
3919 *count += VK_MAX_DRIVER_INFO_SIZE * sizeof(char);
3920 count_VkConformanceVersion(featureBits, rootType,
3921 (VkConformanceVersion*)(&toCount->conformanceVersion), count);
3922 }
3923
count_VkPhysicalDeviceShaderAtomicInt64Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderAtomicInt64Features * toCount,size_t * count)3924 void count_VkPhysicalDeviceShaderAtomicInt64Features(
3925 uint32_t featureBits, VkStructureType rootType,
3926 const VkPhysicalDeviceShaderAtomicInt64Features* toCount, size_t* count) {
3927 (void)featureBits;
3928 (void)rootType;
3929 (void)toCount;
3930 (void)count;
3931 *count += sizeof(VkStructureType);
3932 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3933 rootType = toCount->sType;
3934 }
3935 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3936 *count += sizeof(VkBool32);
3937 *count += sizeof(VkBool32);
3938 }
3939
count_VkPhysicalDeviceShaderFloat16Int8Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderFloat16Int8Features * toCount,size_t * count)3940 void count_VkPhysicalDeviceShaderFloat16Int8Features(
3941 uint32_t featureBits, VkStructureType rootType,
3942 const VkPhysicalDeviceShaderFloat16Int8Features* toCount, size_t* count) {
3943 (void)featureBits;
3944 (void)rootType;
3945 (void)toCount;
3946 (void)count;
3947 *count += sizeof(VkStructureType);
3948 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3949 rootType = toCount->sType;
3950 }
3951 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3952 *count += sizeof(VkBool32);
3953 *count += sizeof(VkBool32);
3954 }
3955
count_VkPhysicalDeviceFloatControlsProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFloatControlsProperties * toCount,size_t * count)3956 void count_VkPhysicalDeviceFloatControlsProperties(
3957 uint32_t featureBits, VkStructureType rootType,
3958 const VkPhysicalDeviceFloatControlsProperties* toCount, size_t* count) {
3959 (void)featureBits;
3960 (void)rootType;
3961 (void)toCount;
3962 (void)count;
3963 *count += sizeof(VkStructureType);
3964 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3965 rootType = toCount->sType;
3966 }
3967 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3968 *count += sizeof(VkShaderFloatControlsIndependence);
3969 *count += sizeof(VkShaderFloatControlsIndependence);
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 *count += sizeof(VkBool32);
3985 }
3986
count_VkDescriptorSetLayoutBindingFlagsCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetLayoutBindingFlagsCreateInfo * toCount,size_t * count)3987 void count_VkDescriptorSetLayoutBindingFlagsCreateInfo(
3988 uint32_t featureBits, VkStructureType rootType,
3989 const VkDescriptorSetLayoutBindingFlagsCreateInfo* toCount, size_t* count) {
3990 (void)featureBits;
3991 (void)rootType;
3992 (void)toCount;
3993 (void)count;
3994 *count += sizeof(VkStructureType);
3995 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
3996 rootType = toCount->sType;
3997 }
3998 count_extension_struct(featureBits, rootType, toCount->pNext, count);
3999 *count += sizeof(uint32_t);
4000 // WARNING PTR CHECK
4001 *count += 8;
4002 if (toCount->pBindingFlags) {
4003 if (toCount) {
4004 *count += toCount->bindingCount * sizeof(const VkDescriptorBindingFlags);
4005 }
4006 }
4007 }
4008
count_VkPhysicalDeviceDescriptorIndexingFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingFeatures * toCount,size_t * count)4009 void count_VkPhysicalDeviceDescriptorIndexingFeatures(
4010 uint32_t featureBits, VkStructureType rootType,
4011 const VkPhysicalDeviceDescriptorIndexingFeatures* toCount, size_t* count) {
4012 (void)featureBits;
4013 (void)rootType;
4014 (void)toCount;
4015 (void)count;
4016 *count += sizeof(VkStructureType);
4017 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4018 rootType = toCount->sType;
4019 }
4020 count_extension_struct(featureBits, rootType, toCount->pNext, count);
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 *count += sizeof(VkBool32);
4041 }
4042
count_VkPhysicalDeviceDescriptorIndexingProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDescriptorIndexingProperties * toCount,size_t * count)4043 void count_VkPhysicalDeviceDescriptorIndexingProperties(
4044 uint32_t featureBits, VkStructureType rootType,
4045 const VkPhysicalDeviceDescriptorIndexingProperties* toCount, size_t* count) {
4046 (void)featureBits;
4047 (void)rootType;
4048 (void)toCount;
4049 (void)count;
4050 *count += sizeof(VkStructureType);
4051 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4052 rootType = toCount->sType;
4053 }
4054 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4055 *count += sizeof(uint32_t);
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(VkBool32);
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 *count += sizeof(uint32_t);
4078 }
4079
count_VkDescriptorSetVariableDescriptorCountAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountAllocateInfo * toCount,size_t * count)4080 void count_VkDescriptorSetVariableDescriptorCountAllocateInfo(
4081 uint32_t featureBits, VkStructureType rootType,
4082 const VkDescriptorSetVariableDescriptorCountAllocateInfo* toCount, size_t* count) {
4083 (void)featureBits;
4084 (void)rootType;
4085 (void)toCount;
4086 (void)count;
4087 *count += sizeof(VkStructureType);
4088 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4089 rootType = toCount->sType;
4090 }
4091 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4092 *count += sizeof(uint32_t);
4093 if (toCount) {
4094 *count += toCount->descriptorSetCount * sizeof(const uint32_t);
4095 }
4096 }
4097
count_VkDescriptorSetVariableDescriptorCountLayoutSupport(uint32_t featureBits,VkStructureType rootType,const VkDescriptorSetVariableDescriptorCountLayoutSupport * toCount,size_t * count)4098 void count_VkDescriptorSetVariableDescriptorCountLayoutSupport(
4099 uint32_t featureBits, VkStructureType rootType,
4100 const VkDescriptorSetVariableDescriptorCountLayoutSupport* toCount, size_t* count) {
4101 (void)featureBits;
4102 (void)rootType;
4103 (void)toCount;
4104 (void)count;
4105 *count += sizeof(VkStructureType);
4106 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4107 rootType = toCount->sType;
4108 }
4109 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4110 *count += sizeof(uint32_t);
4111 }
4112
count_VkSubpassDescriptionDepthStencilResolve(uint32_t featureBits,VkStructureType rootType,const VkSubpassDescriptionDepthStencilResolve * toCount,size_t * count)4113 void count_VkSubpassDescriptionDepthStencilResolve(
4114 uint32_t featureBits, VkStructureType rootType,
4115 const VkSubpassDescriptionDepthStencilResolve* toCount, size_t* count) {
4116 (void)featureBits;
4117 (void)rootType;
4118 (void)toCount;
4119 (void)count;
4120 *count += sizeof(VkStructureType);
4121 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4122 rootType = toCount->sType;
4123 }
4124 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4125 *count += sizeof(VkResolveModeFlagBits);
4126 *count += sizeof(VkResolveModeFlagBits);
4127 // WARNING PTR CHECK
4128 *count += 8;
4129 if (toCount->pDepthStencilResolveAttachment) {
4130 count_VkAttachmentReference2(
4131 featureBits, rootType,
4132 (const VkAttachmentReference2*)(toCount->pDepthStencilResolveAttachment), count);
4133 }
4134 }
4135
count_VkPhysicalDeviceDepthStencilResolveProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthStencilResolveProperties * toCount,size_t * count)4136 void count_VkPhysicalDeviceDepthStencilResolveProperties(
4137 uint32_t featureBits, VkStructureType rootType,
4138 const VkPhysicalDeviceDepthStencilResolveProperties* toCount, size_t* count) {
4139 (void)featureBits;
4140 (void)rootType;
4141 (void)toCount;
4142 (void)count;
4143 *count += sizeof(VkStructureType);
4144 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4145 rootType = toCount->sType;
4146 }
4147 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4148 *count += sizeof(VkResolveModeFlags);
4149 *count += sizeof(VkResolveModeFlags);
4150 *count += sizeof(VkBool32);
4151 *count += sizeof(VkBool32);
4152 }
4153
count_VkPhysicalDeviceScalarBlockLayoutFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceScalarBlockLayoutFeatures * toCount,size_t * count)4154 void count_VkPhysicalDeviceScalarBlockLayoutFeatures(
4155 uint32_t featureBits, VkStructureType rootType,
4156 const VkPhysicalDeviceScalarBlockLayoutFeatures* toCount, size_t* count) {
4157 (void)featureBits;
4158 (void)rootType;
4159 (void)toCount;
4160 (void)count;
4161 *count += sizeof(VkStructureType);
4162 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4163 rootType = toCount->sType;
4164 }
4165 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4166 *count += sizeof(VkBool32);
4167 }
4168
count_VkImageStencilUsageCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkImageStencilUsageCreateInfo * toCount,size_t * count)4169 void count_VkImageStencilUsageCreateInfo(uint32_t featureBits, VkStructureType rootType,
4170 const VkImageStencilUsageCreateInfo* toCount,
4171 size_t* count) {
4172 (void)featureBits;
4173 (void)rootType;
4174 (void)toCount;
4175 (void)count;
4176 *count += sizeof(VkStructureType);
4177 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4178 rootType = toCount->sType;
4179 }
4180 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4181 *count += sizeof(VkImageUsageFlags);
4182 }
4183
count_VkSamplerReductionModeCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSamplerReductionModeCreateInfo * toCount,size_t * count)4184 void count_VkSamplerReductionModeCreateInfo(uint32_t featureBits, VkStructureType rootType,
4185 const VkSamplerReductionModeCreateInfo* toCount,
4186 size_t* count) {
4187 (void)featureBits;
4188 (void)rootType;
4189 (void)toCount;
4190 (void)count;
4191 *count += sizeof(VkStructureType);
4192 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4193 rootType = toCount->sType;
4194 }
4195 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4196 *count += sizeof(VkSamplerReductionMode);
4197 }
4198
count_VkPhysicalDeviceSamplerFilterMinmaxProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSamplerFilterMinmaxProperties * toCount,size_t * count)4199 void count_VkPhysicalDeviceSamplerFilterMinmaxProperties(
4200 uint32_t featureBits, VkStructureType rootType,
4201 const VkPhysicalDeviceSamplerFilterMinmaxProperties* toCount, size_t* count) {
4202 (void)featureBits;
4203 (void)rootType;
4204 (void)toCount;
4205 (void)count;
4206 *count += sizeof(VkStructureType);
4207 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4208 rootType = toCount->sType;
4209 }
4210 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4211 *count += sizeof(VkBool32);
4212 *count += sizeof(VkBool32);
4213 }
4214
count_VkPhysicalDeviceVulkanMemoryModelFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkanMemoryModelFeatures * toCount,size_t * count)4215 void count_VkPhysicalDeviceVulkanMemoryModelFeatures(
4216 uint32_t featureBits, VkStructureType rootType,
4217 const VkPhysicalDeviceVulkanMemoryModelFeatures* toCount, size_t* count) {
4218 (void)featureBits;
4219 (void)rootType;
4220 (void)toCount;
4221 (void)count;
4222 *count += sizeof(VkStructureType);
4223 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4224 rootType = toCount->sType;
4225 }
4226 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4227 *count += sizeof(VkBool32);
4228 *count += sizeof(VkBool32);
4229 *count += sizeof(VkBool32);
4230 }
4231
count_VkPhysicalDeviceImagelessFramebufferFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImagelessFramebufferFeatures * toCount,size_t * count)4232 void count_VkPhysicalDeviceImagelessFramebufferFeatures(
4233 uint32_t featureBits, VkStructureType rootType,
4234 const VkPhysicalDeviceImagelessFramebufferFeatures* toCount, size_t* count) {
4235 (void)featureBits;
4236 (void)rootType;
4237 (void)toCount;
4238 (void)count;
4239 *count += sizeof(VkStructureType);
4240 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4241 rootType = toCount->sType;
4242 }
4243 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4244 *count += sizeof(VkBool32);
4245 }
4246
count_VkFramebufferAttachmentImageInfo(uint32_t featureBits,VkStructureType rootType,const VkFramebufferAttachmentImageInfo * toCount,size_t * count)4247 void count_VkFramebufferAttachmentImageInfo(uint32_t featureBits, VkStructureType rootType,
4248 const VkFramebufferAttachmentImageInfo* toCount,
4249 size_t* count) {
4250 (void)featureBits;
4251 (void)rootType;
4252 (void)toCount;
4253 (void)count;
4254 *count += sizeof(VkStructureType);
4255 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4256 rootType = toCount->sType;
4257 }
4258 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4259 *count += sizeof(VkImageCreateFlags);
4260 *count += sizeof(VkImageUsageFlags);
4261 *count += sizeof(uint32_t);
4262 *count += sizeof(uint32_t);
4263 *count += sizeof(uint32_t);
4264 *count += sizeof(uint32_t);
4265 if (toCount) {
4266 *count += toCount->viewFormatCount * sizeof(const VkFormat);
4267 }
4268 }
4269
count_VkFramebufferAttachmentsCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkFramebufferAttachmentsCreateInfo * toCount,size_t * count)4270 void count_VkFramebufferAttachmentsCreateInfo(uint32_t featureBits, VkStructureType rootType,
4271 const VkFramebufferAttachmentsCreateInfo* toCount,
4272 size_t* count) {
4273 (void)featureBits;
4274 (void)rootType;
4275 (void)toCount;
4276 (void)count;
4277 *count += sizeof(VkStructureType);
4278 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4279 rootType = toCount->sType;
4280 }
4281 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4282 *count += sizeof(uint32_t);
4283 if (toCount) {
4284 for (uint32_t i = 0; i < (uint32_t)toCount->attachmentImageInfoCount; ++i) {
4285 count_VkFramebufferAttachmentImageInfo(
4286 featureBits, rootType,
4287 (const VkFramebufferAttachmentImageInfo*)(toCount->pAttachmentImageInfos + i),
4288 count);
4289 }
4290 }
4291 }
4292
count_VkRenderPassAttachmentBeginInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderPassAttachmentBeginInfo * toCount,size_t * count)4293 void count_VkRenderPassAttachmentBeginInfo(uint32_t featureBits, VkStructureType rootType,
4294 const VkRenderPassAttachmentBeginInfo* toCount,
4295 size_t* count) {
4296 (void)featureBits;
4297 (void)rootType;
4298 (void)toCount;
4299 (void)count;
4300 *count += sizeof(VkStructureType);
4301 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4302 rootType = toCount->sType;
4303 }
4304 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4305 *count += sizeof(uint32_t);
4306 if (toCount->attachmentCount) {
4307 *count += toCount->attachmentCount * 8;
4308 }
4309 }
4310
count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceUniformBufferStandardLayoutFeatures * toCount,size_t * count)4311 void count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
4312 uint32_t featureBits, VkStructureType rootType,
4313 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* toCount, size_t* count) {
4314 (void)featureBits;
4315 (void)rootType;
4316 (void)toCount;
4317 (void)count;
4318 *count += sizeof(VkStructureType);
4319 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4320 rootType = toCount->sType;
4321 }
4322 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4323 *count += sizeof(VkBool32);
4324 }
4325
count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures * toCount,size_t * count)4326 void count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
4327 uint32_t featureBits, VkStructureType rootType,
4328 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* toCount, size_t* count) {
4329 (void)featureBits;
4330 (void)rootType;
4331 (void)toCount;
4332 (void)count;
4333 *count += sizeof(VkStructureType);
4334 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4335 rootType = toCount->sType;
4336 }
4337 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4338 *count += sizeof(VkBool32);
4339 }
4340
count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures * toCount,size_t * count)4341 void count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
4342 uint32_t featureBits, VkStructureType rootType,
4343 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* toCount, size_t* count) {
4344 (void)featureBits;
4345 (void)rootType;
4346 (void)toCount;
4347 (void)count;
4348 *count += sizeof(VkStructureType);
4349 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4350 rootType = toCount->sType;
4351 }
4352 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4353 *count += sizeof(VkBool32);
4354 }
4355
count_VkAttachmentReferenceStencilLayout(uint32_t featureBits,VkStructureType rootType,const VkAttachmentReferenceStencilLayout * toCount,size_t * count)4356 void count_VkAttachmentReferenceStencilLayout(uint32_t featureBits, VkStructureType rootType,
4357 const VkAttachmentReferenceStencilLayout* toCount,
4358 size_t* count) {
4359 (void)featureBits;
4360 (void)rootType;
4361 (void)toCount;
4362 (void)count;
4363 *count += sizeof(VkStructureType);
4364 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4365 rootType = toCount->sType;
4366 }
4367 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4368 *count += sizeof(VkImageLayout);
4369 }
4370
count_VkAttachmentDescriptionStencilLayout(uint32_t featureBits,VkStructureType rootType,const VkAttachmentDescriptionStencilLayout * toCount,size_t * count)4371 void count_VkAttachmentDescriptionStencilLayout(uint32_t featureBits, VkStructureType rootType,
4372 const VkAttachmentDescriptionStencilLayout* toCount,
4373 size_t* count) {
4374 (void)featureBits;
4375 (void)rootType;
4376 (void)toCount;
4377 (void)count;
4378 *count += sizeof(VkStructureType);
4379 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4380 rootType = toCount->sType;
4381 }
4382 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4383 *count += sizeof(VkImageLayout);
4384 *count += sizeof(VkImageLayout);
4385 }
4386
count_VkPhysicalDeviceHostQueryResetFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceHostQueryResetFeatures * toCount,size_t * count)4387 void count_VkPhysicalDeviceHostQueryResetFeatures(
4388 uint32_t featureBits, VkStructureType rootType,
4389 const VkPhysicalDeviceHostQueryResetFeatures* toCount, size_t* count) {
4390 (void)featureBits;
4391 (void)rootType;
4392 (void)toCount;
4393 (void)count;
4394 *count += sizeof(VkStructureType);
4395 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4396 rootType = toCount->sType;
4397 }
4398 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4399 *count += sizeof(VkBool32);
4400 }
4401
count_VkPhysicalDeviceTimelineSemaphoreFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreFeatures * toCount,size_t * count)4402 void count_VkPhysicalDeviceTimelineSemaphoreFeatures(
4403 uint32_t featureBits, VkStructureType rootType,
4404 const VkPhysicalDeviceTimelineSemaphoreFeatures* toCount, size_t* count) {
4405 (void)featureBits;
4406 (void)rootType;
4407 (void)toCount;
4408 (void)count;
4409 *count += sizeof(VkStructureType);
4410 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4411 rootType = toCount->sType;
4412 }
4413 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4414 *count += sizeof(VkBool32);
4415 }
4416
count_VkPhysicalDeviceTimelineSemaphoreProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTimelineSemaphoreProperties * toCount,size_t * count)4417 void count_VkPhysicalDeviceTimelineSemaphoreProperties(
4418 uint32_t featureBits, VkStructureType rootType,
4419 const VkPhysicalDeviceTimelineSemaphoreProperties* toCount, size_t* count) {
4420 (void)featureBits;
4421 (void)rootType;
4422 (void)toCount;
4423 (void)count;
4424 *count += sizeof(VkStructureType);
4425 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4426 rootType = toCount->sType;
4427 }
4428 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4429 *count += sizeof(uint64_t);
4430 }
4431
count_VkSemaphoreTypeCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreTypeCreateInfo * toCount,size_t * count)4432 void count_VkSemaphoreTypeCreateInfo(uint32_t featureBits, VkStructureType rootType,
4433 const VkSemaphoreTypeCreateInfo* toCount, size_t* count) {
4434 (void)featureBits;
4435 (void)rootType;
4436 (void)toCount;
4437 (void)count;
4438 *count += sizeof(VkStructureType);
4439 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4440 rootType = toCount->sType;
4441 }
4442 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4443 *count += sizeof(VkSemaphoreType);
4444 *count += sizeof(uint64_t);
4445 }
4446
count_VkTimelineSemaphoreSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkTimelineSemaphoreSubmitInfo * toCount,size_t * count)4447 void count_VkTimelineSemaphoreSubmitInfo(uint32_t featureBits, VkStructureType rootType,
4448 const VkTimelineSemaphoreSubmitInfo* toCount,
4449 size_t* count) {
4450 (void)featureBits;
4451 (void)rootType;
4452 (void)toCount;
4453 (void)count;
4454 *count += sizeof(VkStructureType);
4455 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4456 rootType = toCount->sType;
4457 }
4458 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4459 *count += sizeof(uint32_t);
4460 // WARNING PTR CHECK
4461 *count += 8;
4462 if (toCount->pWaitSemaphoreValues) {
4463 if (toCount) {
4464 *count += toCount->waitSemaphoreValueCount * sizeof(const uint64_t);
4465 }
4466 }
4467 *count += sizeof(uint32_t);
4468 // WARNING PTR CHECK
4469 *count += 8;
4470 if (toCount->pSignalSemaphoreValues) {
4471 if (toCount) {
4472 *count += toCount->signalSemaphoreValueCount * sizeof(const uint64_t);
4473 }
4474 }
4475 }
4476
count_VkSemaphoreWaitInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreWaitInfo * toCount,size_t * count)4477 void count_VkSemaphoreWaitInfo(uint32_t featureBits, VkStructureType rootType,
4478 const VkSemaphoreWaitInfo* toCount, size_t* count) {
4479 (void)featureBits;
4480 (void)rootType;
4481 (void)toCount;
4482 (void)count;
4483 *count += sizeof(VkStructureType);
4484 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4485 rootType = toCount->sType;
4486 }
4487 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4488 *count += sizeof(VkSemaphoreWaitFlags);
4489 *count += sizeof(uint32_t);
4490 if (toCount->semaphoreCount) {
4491 *count += toCount->semaphoreCount * 8;
4492 }
4493 if (toCount) {
4494 *count += toCount->semaphoreCount * sizeof(const uint64_t);
4495 }
4496 }
4497
count_VkSemaphoreSignalInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreSignalInfo * toCount,size_t * count)4498 void count_VkSemaphoreSignalInfo(uint32_t featureBits, VkStructureType rootType,
4499 const VkSemaphoreSignalInfo* toCount, size_t* count) {
4500 (void)featureBits;
4501 (void)rootType;
4502 (void)toCount;
4503 (void)count;
4504 *count += sizeof(VkStructureType);
4505 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4506 rootType = toCount->sType;
4507 }
4508 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4509 uint64_t cgen_var_0;
4510 *count += 1 * 8;
4511 *count += sizeof(uint64_t);
4512 }
4513
count_VkPhysicalDeviceBufferDeviceAddressFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceBufferDeviceAddressFeatures * toCount,size_t * count)4514 void count_VkPhysicalDeviceBufferDeviceAddressFeatures(
4515 uint32_t featureBits, VkStructureType rootType,
4516 const VkPhysicalDeviceBufferDeviceAddressFeatures* toCount, size_t* count) {
4517 (void)featureBits;
4518 (void)rootType;
4519 (void)toCount;
4520 (void)count;
4521 *count += sizeof(VkStructureType);
4522 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4523 rootType = toCount->sType;
4524 }
4525 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4526 *count += sizeof(VkBool32);
4527 *count += sizeof(VkBool32);
4528 *count += sizeof(VkBool32);
4529 }
4530
count_VkBufferDeviceAddressInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferDeviceAddressInfo * toCount,size_t * count)4531 void count_VkBufferDeviceAddressInfo(uint32_t featureBits, VkStructureType rootType,
4532 const VkBufferDeviceAddressInfo* toCount, size_t* count) {
4533 (void)featureBits;
4534 (void)rootType;
4535 (void)toCount;
4536 (void)count;
4537 *count += sizeof(VkStructureType);
4538 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4539 rootType = toCount->sType;
4540 }
4541 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4542 uint64_t cgen_var_0;
4543 *count += 1 * 8;
4544 }
4545
count_VkBufferOpaqueCaptureAddressCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferOpaqueCaptureAddressCreateInfo * toCount,size_t * count)4546 void count_VkBufferOpaqueCaptureAddressCreateInfo(
4547 uint32_t featureBits, VkStructureType rootType,
4548 const VkBufferOpaqueCaptureAddressCreateInfo* toCount, size_t* count) {
4549 (void)featureBits;
4550 (void)rootType;
4551 (void)toCount;
4552 (void)count;
4553 *count += sizeof(VkStructureType);
4554 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4555 rootType = toCount->sType;
4556 }
4557 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4558 *count += sizeof(uint64_t);
4559 }
4560
count_VkMemoryOpaqueCaptureAddressAllocateInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryOpaqueCaptureAddressAllocateInfo * toCount,size_t * count)4561 void count_VkMemoryOpaqueCaptureAddressAllocateInfo(
4562 uint32_t featureBits, VkStructureType rootType,
4563 const VkMemoryOpaqueCaptureAddressAllocateInfo* toCount, size_t* count) {
4564 (void)featureBits;
4565 (void)rootType;
4566 (void)toCount;
4567 (void)count;
4568 *count += sizeof(VkStructureType);
4569 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4570 rootType = toCount->sType;
4571 }
4572 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4573 *count += sizeof(uint64_t);
4574 }
4575
count_VkDeviceMemoryOpaqueCaptureAddressInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceMemoryOpaqueCaptureAddressInfo * toCount,size_t * count)4576 void count_VkDeviceMemoryOpaqueCaptureAddressInfo(
4577 uint32_t featureBits, VkStructureType rootType,
4578 const VkDeviceMemoryOpaqueCaptureAddressInfo* toCount, size_t* count) {
4579 (void)featureBits;
4580 (void)rootType;
4581 (void)toCount;
4582 (void)count;
4583 *count += sizeof(VkStructureType);
4584 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4585 rootType = toCount->sType;
4586 }
4587 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4588 uint64_t cgen_var_0;
4589 *count += 1 * 8;
4590 }
4591
4592 #endif
4593 #ifdef VK_VERSION_1_3
count_VkPhysicalDeviceVulkan13Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan13Features * toCount,size_t * count)4594 void count_VkPhysicalDeviceVulkan13Features(uint32_t featureBits, VkStructureType rootType,
4595 const VkPhysicalDeviceVulkan13Features* toCount,
4596 size_t* count) {
4597 (void)featureBits;
4598 (void)rootType;
4599 (void)toCount;
4600 (void)count;
4601 *count += sizeof(VkStructureType);
4602 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4603 rootType = toCount->sType;
4604 }
4605 count_extension_struct(featureBits, rootType, toCount->pNext, count);
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 *count += sizeof(VkBool32);
4621 }
4622
count_VkPhysicalDeviceVulkan13Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan13Properties * toCount,size_t * count)4623 void count_VkPhysicalDeviceVulkan13Properties(uint32_t featureBits, VkStructureType rootType,
4624 const VkPhysicalDeviceVulkan13Properties* toCount,
4625 size_t* count) {
4626 (void)featureBits;
4627 (void)rootType;
4628 (void)toCount;
4629 (void)count;
4630 *count += sizeof(VkStructureType);
4631 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4632 rootType = toCount->sType;
4633 }
4634 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4635 *count += sizeof(uint32_t);
4636 *count += sizeof(uint32_t);
4637 *count += sizeof(uint32_t);
4638 *count += sizeof(VkShaderStageFlags);
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(uint32_t);
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(VkBool32);
4675 *count += sizeof(VkDeviceSize);
4676 *count += sizeof(VkBool32);
4677 *count += sizeof(VkDeviceSize);
4678 *count += sizeof(VkBool32);
4679 *count += sizeof(VkDeviceSize);
4680 }
4681
count_VkPipelineCreationFeedback(uint32_t featureBits,VkStructureType rootType,const VkPipelineCreationFeedback * toCount,size_t * count)4682 void count_VkPipelineCreationFeedback(uint32_t featureBits, VkStructureType rootType,
4683 const VkPipelineCreationFeedback* toCount, size_t* count) {
4684 (void)featureBits;
4685 (void)rootType;
4686 (void)toCount;
4687 (void)count;
4688 *count += sizeof(VkPipelineCreationFeedbackFlags);
4689 *count += sizeof(uint64_t);
4690 }
4691
count_VkPipelineCreationFeedbackCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineCreationFeedbackCreateInfo * toCount,size_t * count)4692 void count_VkPipelineCreationFeedbackCreateInfo(uint32_t featureBits, VkStructureType rootType,
4693 const VkPipelineCreationFeedbackCreateInfo* toCount,
4694 size_t* count) {
4695 (void)featureBits;
4696 (void)rootType;
4697 (void)toCount;
4698 (void)count;
4699 *count += sizeof(VkStructureType);
4700 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4701 rootType = toCount->sType;
4702 }
4703 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4704 count_VkPipelineCreationFeedback(
4705 featureBits, rootType, (VkPipelineCreationFeedback*)(toCount->pPipelineCreationFeedback),
4706 count);
4707 *count += sizeof(uint32_t);
4708 if (toCount) {
4709 for (uint32_t i = 0; i < (uint32_t)toCount->pipelineStageCreationFeedbackCount; ++i) {
4710 count_VkPipelineCreationFeedback(
4711 featureBits, rootType,
4712 (VkPipelineCreationFeedback*)(toCount->pPipelineStageCreationFeedbacks + i), count);
4713 }
4714 }
4715 }
4716
count_VkPhysicalDeviceShaderTerminateInvocationFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderTerminateInvocationFeatures * toCount,size_t * count)4717 void count_VkPhysicalDeviceShaderTerminateInvocationFeatures(
4718 uint32_t featureBits, VkStructureType rootType,
4719 const VkPhysicalDeviceShaderTerminateInvocationFeatures* toCount, size_t* count) {
4720 (void)featureBits;
4721 (void)rootType;
4722 (void)toCount;
4723 (void)count;
4724 *count += sizeof(VkStructureType);
4725 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4726 rootType = toCount->sType;
4727 }
4728 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4729 *count += sizeof(VkBool32);
4730 }
4731
count_VkPhysicalDeviceToolProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceToolProperties * toCount,size_t * count)4732 void count_VkPhysicalDeviceToolProperties(uint32_t featureBits, VkStructureType rootType,
4733 const VkPhysicalDeviceToolProperties* toCount,
4734 size_t* count) {
4735 (void)featureBits;
4736 (void)rootType;
4737 (void)toCount;
4738 (void)count;
4739 *count += sizeof(VkStructureType);
4740 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4741 rootType = toCount->sType;
4742 }
4743 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4744 *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
4745 *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
4746 *count += sizeof(VkToolPurposeFlags);
4747 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
4748 *count += VK_MAX_EXTENSION_NAME_SIZE * sizeof(char);
4749 }
4750
count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures * toCount,size_t * count)4751 void count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
4752 uint32_t featureBits, VkStructureType rootType,
4753 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* toCount, size_t* count) {
4754 (void)featureBits;
4755 (void)rootType;
4756 (void)toCount;
4757 (void)count;
4758 *count += sizeof(VkStructureType);
4759 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4760 rootType = toCount->sType;
4761 }
4762 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4763 *count += sizeof(VkBool32);
4764 }
4765
count_VkPhysicalDevicePrivateDataFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePrivateDataFeatures * toCount,size_t * count)4766 void count_VkPhysicalDevicePrivateDataFeatures(uint32_t featureBits, VkStructureType rootType,
4767 const VkPhysicalDevicePrivateDataFeatures* toCount,
4768 size_t* count) {
4769 (void)featureBits;
4770 (void)rootType;
4771 (void)toCount;
4772 (void)count;
4773 *count += sizeof(VkStructureType);
4774 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4775 rootType = toCount->sType;
4776 }
4777 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4778 *count += sizeof(VkBool32);
4779 }
4780
count_VkDevicePrivateDataCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDevicePrivateDataCreateInfo * toCount,size_t * count)4781 void count_VkDevicePrivateDataCreateInfo(uint32_t featureBits, VkStructureType rootType,
4782 const VkDevicePrivateDataCreateInfo* toCount,
4783 size_t* count) {
4784 (void)featureBits;
4785 (void)rootType;
4786 (void)toCount;
4787 (void)count;
4788 *count += sizeof(VkStructureType);
4789 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4790 rootType = toCount->sType;
4791 }
4792 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4793 *count += sizeof(uint32_t);
4794 }
4795
count_VkPrivateDataSlotCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPrivateDataSlotCreateInfo * toCount,size_t * count)4796 void count_VkPrivateDataSlotCreateInfo(uint32_t featureBits, VkStructureType rootType,
4797 const VkPrivateDataSlotCreateInfo* toCount, size_t* count) {
4798 (void)featureBits;
4799 (void)rootType;
4800 (void)toCount;
4801 (void)count;
4802 *count += sizeof(VkStructureType);
4803 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4804 rootType = toCount->sType;
4805 }
4806 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4807 *count += sizeof(VkPrivateDataSlotCreateFlags);
4808 }
4809
count_VkPhysicalDevicePipelineCreationCacheControlFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineCreationCacheControlFeatures * toCount,size_t * count)4810 void count_VkPhysicalDevicePipelineCreationCacheControlFeatures(
4811 uint32_t featureBits, VkStructureType rootType,
4812 const VkPhysicalDevicePipelineCreationCacheControlFeatures* toCount, size_t* count) {
4813 (void)featureBits;
4814 (void)rootType;
4815 (void)toCount;
4816 (void)count;
4817 *count += sizeof(VkStructureType);
4818 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4819 rootType = toCount->sType;
4820 }
4821 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4822 *count += sizeof(VkBool32);
4823 }
4824
count_VkMemoryBarrier2(uint32_t featureBits,VkStructureType rootType,const VkMemoryBarrier2 * toCount,size_t * count)4825 void count_VkMemoryBarrier2(uint32_t featureBits, VkStructureType rootType,
4826 const VkMemoryBarrier2* toCount, size_t* count) {
4827 (void)featureBits;
4828 (void)rootType;
4829 (void)toCount;
4830 (void)count;
4831 *count += sizeof(VkStructureType);
4832 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4833 rootType = toCount->sType;
4834 }
4835 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4836 *count += sizeof(VkPipelineStageFlags2);
4837 *count += sizeof(VkAccessFlags2);
4838 *count += sizeof(VkPipelineStageFlags2);
4839 *count += sizeof(VkAccessFlags2);
4840 }
4841
count_VkBufferMemoryBarrier2(uint32_t featureBits,VkStructureType rootType,const VkBufferMemoryBarrier2 * toCount,size_t * count)4842 void count_VkBufferMemoryBarrier2(uint32_t featureBits, VkStructureType rootType,
4843 const VkBufferMemoryBarrier2* toCount, size_t* count) {
4844 (void)featureBits;
4845 (void)rootType;
4846 (void)toCount;
4847 (void)count;
4848 *count += sizeof(VkStructureType);
4849 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4850 rootType = toCount->sType;
4851 }
4852 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4853 *count += sizeof(VkPipelineStageFlags2);
4854 *count += sizeof(VkAccessFlags2);
4855 *count += sizeof(VkPipelineStageFlags2);
4856 *count += sizeof(VkAccessFlags2);
4857 *count += sizeof(uint32_t);
4858 *count += sizeof(uint32_t);
4859 uint64_t cgen_var_0;
4860 *count += 1 * 8;
4861 *count += sizeof(VkDeviceSize);
4862 *count += sizeof(VkDeviceSize);
4863 }
4864
count_VkImageMemoryBarrier2(uint32_t featureBits,VkStructureType rootType,const VkImageMemoryBarrier2 * toCount,size_t * count)4865 void count_VkImageMemoryBarrier2(uint32_t featureBits, VkStructureType rootType,
4866 const VkImageMemoryBarrier2* toCount, size_t* count) {
4867 (void)featureBits;
4868 (void)rootType;
4869 (void)toCount;
4870 (void)count;
4871 *count += sizeof(VkStructureType);
4872 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4873 rootType = toCount->sType;
4874 }
4875 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4876 *count += sizeof(VkPipelineStageFlags2);
4877 *count += sizeof(VkAccessFlags2);
4878 *count += sizeof(VkPipelineStageFlags2);
4879 *count += sizeof(VkAccessFlags2);
4880 *count += sizeof(VkImageLayout);
4881 *count += sizeof(VkImageLayout);
4882 *count += sizeof(uint32_t);
4883 *count += sizeof(uint32_t);
4884 uint64_t cgen_var_0;
4885 *count += 1 * 8;
4886 count_VkImageSubresourceRange(featureBits, rootType,
4887 (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
4888 }
4889
count_VkDependencyInfo(uint32_t featureBits,VkStructureType rootType,const VkDependencyInfo * toCount,size_t * count)4890 void count_VkDependencyInfo(uint32_t featureBits, VkStructureType rootType,
4891 const VkDependencyInfo* toCount, size_t* count) {
4892 (void)featureBits;
4893 (void)rootType;
4894 (void)toCount;
4895 (void)count;
4896 *count += sizeof(VkStructureType);
4897 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4898 rootType = toCount->sType;
4899 }
4900 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4901 *count += sizeof(VkDependencyFlags);
4902 *count += sizeof(uint32_t);
4903 if (toCount) {
4904 for (uint32_t i = 0; i < (uint32_t)toCount->memoryBarrierCount; ++i) {
4905 count_VkMemoryBarrier2(featureBits, rootType,
4906 (const VkMemoryBarrier2*)(toCount->pMemoryBarriers + i), count);
4907 }
4908 }
4909 *count += sizeof(uint32_t);
4910 if (toCount) {
4911 for (uint32_t i = 0; i < (uint32_t)toCount->bufferMemoryBarrierCount; ++i) {
4912 count_VkBufferMemoryBarrier2(
4913 featureBits, rootType,
4914 (const VkBufferMemoryBarrier2*)(toCount->pBufferMemoryBarriers + i), count);
4915 }
4916 }
4917 *count += sizeof(uint32_t);
4918 if (toCount) {
4919 for (uint32_t i = 0; i < (uint32_t)toCount->imageMemoryBarrierCount; ++i) {
4920 count_VkImageMemoryBarrier2(
4921 featureBits, rootType,
4922 (const VkImageMemoryBarrier2*)(toCount->pImageMemoryBarriers + i), count);
4923 }
4924 }
4925 }
4926
count_VkSemaphoreSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreSubmitInfo * toCount,size_t * count)4927 void count_VkSemaphoreSubmitInfo(uint32_t featureBits, VkStructureType rootType,
4928 const VkSemaphoreSubmitInfo* toCount, size_t* count) {
4929 (void)featureBits;
4930 (void)rootType;
4931 (void)toCount;
4932 (void)count;
4933 *count += sizeof(VkStructureType);
4934 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4935 rootType = toCount->sType;
4936 }
4937 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4938 uint64_t cgen_var_0;
4939 *count += 1 * 8;
4940 *count += sizeof(uint64_t);
4941 *count += sizeof(VkPipelineStageFlags2);
4942 *count += sizeof(uint32_t);
4943 }
4944
count_VkCommandBufferSubmitInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferSubmitInfo * toCount,size_t * count)4945 void count_VkCommandBufferSubmitInfo(uint32_t featureBits, VkStructureType rootType,
4946 const VkCommandBufferSubmitInfo* toCount, size_t* count) {
4947 (void)featureBits;
4948 (void)rootType;
4949 (void)toCount;
4950 (void)count;
4951 *count += sizeof(VkStructureType);
4952 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4953 rootType = toCount->sType;
4954 }
4955 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4956 uint64_t cgen_var_0;
4957 *count += 1 * 8;
4958 *count += sizeof(uint32_t);
4959 }
4960
count_VkSubmitInfo2(uint32_t featureBits,VkStructureType rootType,const VkSubmitInfo2 * toCount,size_t * count)4961 void count_VkSubmitInfo2(uint32_t featureBits, VkStructureType rootType,
4962 const VkSubmitInfo2* toCount, size_t* count) {
4963 (void)featureBits;
4964 (void)rootType;
4965 (void)toCount;
4966 (void)count;
4967 *count += sizeof(VkStructureType);
4968 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
4969 rootType = toCount->sType;
4970 }
4971 count_extension_struct(featureBits, rootType, toCount->pNext, count);
4972 *count += sizeof(VkSubmitFlags);
4973 *count += sizeof(uint32_t);
4974 if (toCount) {
4975 for (uint32_t i = 0; i < (uint32_t)toCount->waitSemaphoreInfoCount; ++i) {
4976 count_VkSemaphoreSubmitInfo(
4977 featureBits, rootType,
4978 (const VkSemaphoreSubmitInfo*)(toCount->pWaitSemaphoreInfos + i), count);
4979 }
4980 }
4981 *count += sizeof(uint32_t);
4982 if (toCount) {
4983 for (uint32_t i = 0; i < (uint32_t)toCount->commandBufferInfoCount; ++i) {
4984 count_VkCommandBufferSubmitInfo(
4985 featureBits, rootType,
4986 (const VkCommandBufferSubmitInfo*)(toCount->pCommandBufferInfos + i), count);
4987 }
4988 }
4989 *count += sizeof(uint32_t);
4990 if (toCount) {
4991 for (uint32_t i = 0; i < (uint32_t)toCount->signalSemaphoreInfoCount; ++i) {
4992 count_VkSemaphoreSubmitInfo(
4993 featureBits, rootType,
4994 (const VkSemaphoreSubmitInfo*)(toCount->pSignalSemaphoreInfos + i), count);
4995 }
4996 }
4997 }
4998
count_VkPhysicalDeviceSynchronization2Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSynchronization2Features * toCount,size_t * count)4999 void count_VkPhysicalDeviceSynchronization2Features(
5000 uint32_t featureBits, VkStructureType rootType,
5001 const VkPhysicalDeviceSynchronization2Features* toCount, size_t* count) {
5002 (void)featureBits;
5003 (void)rootType;
5004 (void)toCount;
5005 (void)count;
5006 *count += sizeof(VkStructureType);
5007 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5008 rootType = toCount->sType;
5009 }
5010 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5011 *count += sizeof(VkBool32);
5012 }
5013
count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures * toCount,size_t * count)5014 void count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
5015 uint32_t featureBits, VkStructureType rootType,
5016 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* toCount, size_t* count) {
5017 (void)featureBits;
5018 (void)rootType;
5019 (void)toCount;
5020 (void)count;
5021 *count += sizeof(VkStructureType);
5022 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5023 rootType = toCount->sType;
5024 }
5025 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5026 *count += sizeof(VkBool32);
5027 }
5028
count_VkPhysicalDeviceImageRobustnessFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageRobustnessFeatures * toCount,size_t * count)5029 void count_VkPhysicalDeviceImageRobustnessFeatures(
5030 uint32_t featureBits, VkStructureType rootType,
5031 const VkPhysicalDeviceImageRobustnessFeatures* toCount, size_t* count) {
5032 (void)featureBits;
5033 (void)rootType;
5034 (void)toCount;
5035 (void)count;
5036 *count += sizeof(VkStructureType);
5037 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5038 rootType = toCount->sType;
5039 }
5040 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5041 *count += sizeof(VkBool32);
5042 }
5043
count_VkBufferCopy2(uint32_t featureBits,VkStructureType rootType,const VkBufferCopy2 * toCount,size_t * count)5044 void count_VkBufferCopy2(uint32_t featureBits, VkStructureType rootType,
5045 const VkBufferCopy2* toCount, size_t* count) {
5046 (void)featureBits;
5047 (void)rootType;
5048 (void)toCount;
5049 (void)count;
5050 *count += sizeof(VkStructureType);
5051 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5052 rootType = toCount->sType;
5053 }
5054 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5055 *count += sizeof(VkDeviceSize);
5056 *count += sizeof(VkDeviceSize);
5057 *count += sizeof(VkDeviceSize);
5058 }
5059
count_VkCopyBufferInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyBufferInfo2 * toCount,size_t * count)5060 void count_VkCopyBufferInfo2(uint32_t featureBits, VkStructureType rootType,
5061 const VkCopyBufferInfo2* toCount, size_t* count) {
5062 (void)featureBits;
5063 (void)rootType;
5064 (void)toCount;
5065 (void)count;
5066 *count += sizeof(VkStructureType);
5067 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5068 rootType = toCount->sType;
5069 }
5070 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5071 uint64_t cgen_var_0;
5072 *count += 1 * 8;
5073 uint64_t cgen_var_1;
5074 *count += 1 * 8;
5075 *count += sizeof(uint32_t);
5076 if (toCount) {
5077 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5078 count_VkBufferCopy2(featureBits, rootType,
5079 (const VkBufferCopy2*)(toCount->pRegions + i), count);
5080 }
5081 }
5082 }
5083
count_VkImageCopy2(uint32_t featureBits,VkStructureType rootType,const VkImageCopy2 * toCount,size_t * count)5084 void count_VkImageCopy2(uint32_t featureBits, VkStructureType rootType, const VkImageCopy2* toCount,
5085 size_t* count) {
5086 (void)featureBits;
5087 (void)rootType;
5088 (void)toCount;
5089 (void)count;
5090 *count += sizeof(VkStructureType);
5091 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5092 rootType = toCount->sType;
5093 }
5094 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5095 count_VkImageSubresourceLayers(featureBits, rootType,
5096 (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
5097 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
5098 count_VkImageSubresourceLayers(featureBits, rootType,
5099 (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
5100 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
5101 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
5102 }
5103
count_VkCopyImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyImageInfo2 * toCount,size_t * count)5104 void count_VkCopyImageInfo2(uint32_t featureBits, VkStructureType rootType,
5105 const VkCopyImageInfo2* toCount, size_t* count) {
5106 (void)featureBits;
5107 (void)rootType;
5108 (void)toCount;
5109 (void)count;
5110 *count += sizeof(VkStructureType);
5111 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5112 rootType = toCount->sType;
5113 }
5114 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5115 uint64_t cgen_var_0;
5116 *count += 1 * 8;
5117 *count += sizeof(VkImageLayout);
5118 uint64_t cgen_var_1;
5119 *count += 1 * 8;
5120 *count += sizeof(VkImageLayout);
5121 *count += sizeof(uint32_t);
5122 if (toCount) {
5123 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5124 count_VkImageCopy2(featureBits, rootType, (const VkImageCopy2*)(toCount->pRegions + i),
5125 count);
5126 }
5127 }
5128 }
5129
count_VkBufferImageCopy2(uint32_t featureBits,VkStructureType rootType,const VkBufferImageCopy2 * toCount,size_t * count)5130 void count_VkBufferImageCopy2(uint32_t featureBits, VkStructureType rootType,
5131 const VkBufferImageCopy2* toCount, size_t* count) {
5132 (void)featureBits;
5133 (void)rootType;
5134 (void)toCount;
5135 (void)count;
5136 *count += sizeof(VkStructureType);
5137 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5138 rootType = toCount->sType;
5139 }
5140 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5141 *count += sizeof(VkDeviceSize);
5142 *count += sizeof(uint32_t);
5143 *count += sizeof(uint32_t);
5144 count_VkImageSubresourceLayers(featureBits, rootType,
5145 (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
5146 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
5147 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
5148 }
5149
count_VkCopyBufferToImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyBufferToImageInfo2 * toCount,size_t * count)5150 void count_VkCopyBufferToImageInfo2(uint32_t featureBits, VkStructureType rootType,
5151 const VkCopyBufferToImageInfo2* toCount, size_t* count) {
5152 (void)featureBits;
5153 (void)rootType;
5154 (void)toCount;
5155 (void)count;
5156 *count += sizeof(VkStructureType);
5157 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5158 rootType = toCount->sType;
5159 }
5160 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5161 uint64_t cgen_var_0;
5162 *count += 1 * 8;
5163 uint64_t cgen_var_1;
5164 *count += 1 * 8;
5165 *count += sizeof(VkImageLayout);
5166 *count += sizeof(uint32_t);
5167 if (toCount) {
5168 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5169 count_VkBufferImageCopy2(featureBits, rootType,
5170 (const VkBufferImageCopy2*)(toCount->pRegions + i), count);
5171 }
5172 }
5173 }
5174
count_VkCopyImageToBufferInfo2(uint32_t featureBits,VkStructureType rootType,const VkCopyImageToBufferInfo2 * toCount,size_t * count)5175 void count_VkCopyImageToBufferInfo2(uint32_t featureBits, VkStructureType rootType,
5176 const VkCopyImageToBufferInfo2* toCount, size_t* count) {
5177 (void)featureBits;
5178 (void)rootType;
5179 (void)toCount;
5180 (void)count;
5181 *count += sizeof(VkStructureType);
5182 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5183 rootType = toCount->sType;
5184 }
5185 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5186 uint64_t cgen_var_0;
5187 *count += 1 * 8;
5188 *count += sizeof(VkImageLayout);
5189 uint64_t cgen_var_1;
5190 *count += 1 * 8;
5191 *count += sizeof(uint32_t);
5192 if (toCount) {
5193 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5194 count_VkBufferImageCopy2(featureBits, rootType,
5195 (const VkBufferImageCopy2*)(toCount->pRegions + i), count);
5196 }
5197 }
5198 }
5199
count_VkImageBlit2(uint32_t featureBits,VkStructureType rootType,const VkImageBlit2 * toCount,size_t * count)5200 void count_VkImageBlit2(uint32_t featureBits, VkStructureType rootType, const VkImageBlit2* toCount,
5201 size_t* count) {
5202 (void)featureBits;
5203 (void)rootType;
5204 (void)toCount;
5205 (void)count;
5206 *count += sizeof(VkStructureType);
5207 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5208 rootType = toCount->sType;
5209 }
5210 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5211 count_VkImageSubresourceLayers(featureBits, rootType,
5212 (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
5213 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
5214 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->srcOffsets + i), count);
5215 }
5216 count_VkImageSubresourceLayers(featureBits, rootType,
5217 (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
5218 for (uint32_t i = 0; i < (uint32_t)2; ++i) {
5219 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(toCount->dstOffsets + i), count);
5220 }
5221 }
5222
count_VkBlitImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkBlitImageInfo2 * toCount,size_t * count)5223 void count_VkBlitImageInfo2(uint32_t featureBits, VkStructureType rootType,
5224 const VkBlitImageInfo2* toCount, size_t* count) {
5225 (void)featureBits;
5226 (void)rootType;
5227 (void)toCount;
5228 (void)count;
5229 *count += sizeof(VkStructureType);
5230 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5231 rootType = toCount->sType;
5232 }
5233 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5234 uint64_t cgen_var_0;
5235 *count += 1 * 8;
5236 *count += sizeof(VkImageLayout);
5237 uint64_t cgen_var_1;
5238 *count += 1 * 8;
5239 *count += sizeof(VkImageLayout);
5240 *count += sizeof(uint32_t);
5241 if (toCount) {
5242 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5243 count_VkImageBlit2(featureBits, rootType, (const VkImageBlit2*)(toCount->pRegions + i),
5244 count);
5245 }
5246 }
5247 *count += sizeof(VkFilter);
5248 }
5249
count_VkImageResolve2(uint32_t featureBits,VkStructureType rootType,const VkImageResolve2 * toCount,size_t * count)5250 void count_VkImageResolve2(uint32_t featureBits, VkStructureType rootType,
5251 const VkImageResolve2* toCount, size_t* count) {
5252 (void)featureBits;
5253 (void)rootType;
5254 (void)toCount;
5255 (void)count;
5256 *count += sizeof(VkStructureType);
5257 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5258 rootType = toCount->sType;
5259 }
5260 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5261 count_VkImageSubresourceLayers(featureBits, rootType,
5262 (VkImageSubresourceLayers*)(&toCount->srcSubresource), count);
5263 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->srcOffset), count);
5264 count_VkImageSubresourceLayers(featureBits, rootType,
5265 (VkImageSubresourceLayers*)(&toCount->dstSubresource), count);
5266 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->dstOffset), count);
5267 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->extent), count);
5268 }
5269
count_VkResolveImageInfo2(uint32_t featureBits,VkStructureType rootType,const VkResolveImageInfo2 * toCount,size_t * count)5270 void count_VkResolveImageInfo2(uint32_t featureBits, VkStructureType rootType,
5271 const VkResolveImageInfo2* toCount, size_t* count) {
5272 (void)featureBits;
5273 (void)rootType;
5274 (void)toCount;
5275 (void)count;
5276 *count += sizeof(VkStructureType);
5277 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5278 rootType = toCount->sType;
5279 }
5280 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5281 uint64_t cgen_var_0;
5282 *count += 1 * 8;
5283 *count += sizeof(VkImageLayout);
5284 uint64_t cgen_var_1;
5285 *count += 1 * 8;
5286 *count += sizeof(VkImageLayout);
5287 *count += sizeof(uint32_t);
5288 if (toCount) {
5289 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
5290 count_VkImageResolve2(featureBits, rootType,
5291 (const VkImageResolve2*)(toCount->pRegions + i), count);
5292 }
5293 }
5294 }
5295
count_VkPhysicalDeviceSubgroupSizeControlFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlFeatures * toCount,size_t * count)5296 void count_VkPhysicalDeviceSubgroupSizeControlFeatures(
5297 uint32_t featureBits, VkStructureType rootType,
5298 const VkPhysicalDeviceSubgroupSizeControlFeatures* toCount, size_t* count) {
5299 (void)featureBits;
5300 (void)rootType;
5301 (void)toCount;
5302 (void)count;
5303 *count += sizeof(VkStructureType);
5304 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5305 rootType = toCount->sType;
5306 }
5307 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5308 *count += sizeof(VkBool32);
5309 *count += sizeof(VkBool32);
5310 }
5311
count_VkPhysicalDeviceSubgroupSizeControlProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceSubgroupSizeControlProperties * toCount,size_t * count)5312 void count_VkPhysicalDeviceSubgroupSizeControlProperties(
5313 uint32_t featureBits, VkStructureType rootType,
5314 const VkPhysicalDeviceSubgroupSizeControlProperties* toCount, size_t* count) {
5315 (void)featureBits;
5316 (void)rootType;
5317 (void)toCount;
5318 (void)count;
5319 *count += sizeof(VkStructureType);
5320 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5321 rootType = toCount->sType;
5322 }
5323 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5324 *count += sizeof(uint32_t);
5325 *count += sizeof(uint32_t);
5326 *count += sizeof(uint32_t);
5327 *count += sizeof(VkShaderStageFlags);
5328 }
5329
count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo * toCount,size_t * count)5330 void count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
5331 uint32_t featureBits, VkStructureType rootType,
5332 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* toCount, size_t* count) {
5333 (void)featureBits;
5334 (void)rootType;
5335 (void)toCount;
5336 (void)count;
5337 *count += sizeof(VkStructureType);
5338 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5339 rootType = toCount->sType;
5340 }
5341 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5342 *count += sizeof(uint32_t);
5343 }
5344
count_VkPhysicalDeviceInlineUniformBlockFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockFeatures * toCount,size_t * count)5345 void count_VkPhysicalDeviceInlineUniformBlockFeatures(
5346 uint32_t featureBits, VkStructureType rootType,
5347 const VkPhysicalDeviceInlineUniformBlockFeatures* toCount, size_t* count) {
5348 (void)featureBits;
5349 (void)rootType;
5350 (void)toCount;
5351 (void)count;
5352 *count += sizeof(VkStructureType);
5353 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5354 rootType = toCount->sType;
5355 }
5356 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5357 *count += sizeof(VkBool32);
5358 *count += sizeof(VkBool32);
5359 }
5360
count_VkPhysicalDeviceInlineUniformBlockProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceInlineUniformBlockProperties * toCount,size_t * count)5361 void count_VkPhysicalDeviceInlineUniformBlockProperties(
5362 uint32_t featureBits, VkStructureType rootType,
5363 const VkPhysicalDeviceInlineUniformBlockProperties* toCount, size_t* count) {
5364 (void)featureBits;
5365 (void)rootType;
5366 (void)toCount;
5367 (void)count;
5368 *count += sizeof(VkStructureType);
5369 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5370 rootType = toCount->sType;
5371 }
5372 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5373 *count += sizeof(uint32_t);
5374 *count += sizeof(uint32_t);
5375 *count += sizeof(uint32_t);
5376 *count += sizeof(uint32_t);
5377 *count += sizeof(uint32_t);
5378 }
5379
count_VkWriteDescriptorSetInlineUniformBlock(uint32_t featureBits,VkStructureType rootType,const VkWriteDescriptorSetInlineUniformBlock * toCount,size_t * count)5380 void count_VkWriteDescriptorSetInlineUniformBlock(
5381 uint32_t featureBits, VkStructureType rootType,
5382 const VkWriteDescriptorSetInlineUniformBlock* toCount, size_t* count) {
5383 (void)featureBits;
5384 (void)rootType;
5385 (void)toCount;
5386 (void)count;
5387 *count += sizeof(VkStructureType);
5388 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5389 rootType = toCount->sType;
5390 }
5391 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5392 *count += sizeof(uint32_t);
5393 if (toCount) {
5394 *count += toCount->dataSize * sizeof(const uint8_t);
5395 }
5396 }
5397
count_VkDescriptorPoolInlineUniformBlockCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDescriptorPoolInlineUniformBlockCreateInfo * toCount,size_t * count)5398 void count_VkDescriptorPoolInlineUniformBlockCreateInfo(
5399 uint32_t featureBits, VkStructureType rootType,
5400 const VkDescriptorPoolInlineUniformBlockCreateInfo* toCount, size_t* count) {
5401 (void)featureBits;
5402 (void)rootType;
5403 (void)toCount;
5404 (void)count;
5405 *count += sizeof(VkStructureType);
5406 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5407 rootType = toCount->sType;
5408 }
5409 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5410 *count += sizeof(uint32_t);
5411 }
5412
count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTextureCompressionASTCHDRFeatures * toCount,size_t * count)5413 void count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
5414 uint32_t featureBits, VkStructureType rootType,
5415 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* toCount, size_t* count) {
5416 (void)featureBits;
5417 (void)rootType;
5418 (void)toCount;
5419 (void)count;
5420 *count += sizeof(VkStructureType);
5421 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5422 rootType = toCount->sType;
5423 }
5424 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5425 *count += sizeof(VkBool32);
5426 }
5427
count_VkRenderingAttachmentInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingAttachmentInfo * toCount,size_t * count)5428 void count_VkRenderingAttachmentInfo(uint32_t featureBits, VkStructureType rootType,
5429 const VkRenderingAttachmentInfo* toCount, size_t* count) {
5430 (void)featureBits;
5431 (void)rootType;
5432 (void)toCount;
5433 (void)count;
5434 *count += sizeof(VkStructureType);
5435 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5436 rootType = toCount->sType;
5437 }
5438 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5439 uint64_t cgen_var_0;
5440 *count += 1 * 8;
5441 *count += sizeof(VkImageLayout);
5442 *count += sizeof(VkResolveModeFlagBits);
5443 uint64_t cgen_var_1;
5444 *count += 1 * 8;
5445 *count += sizeof(VkImageLayout);
5446 *count += sizeof(VkAttachmentLoadOp);
5447 *count += sizeof(VkAttachmentStoreOp);
5448 count_VkClearValue(featureBits, rootType, (VkClearValue*)(&toCount->clearValue), count);
5449 }
5450
count_VkRenderingInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingInfo * toCount,size_t * count)5451 void count_VkRenderingInfo(uint32_t featureBits, VkStructureType rootType,
5452 const VkRenderingInfo* toCount, size_t* count) {
5453 (void)featureBits;
5454 (void)rootType;
5455 (void)toCount;
5456 (void)count;
5457 *count += sizeof(VkStructureType);
5458 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5459 rootType = toCount->sType;
5460 }
5461 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5462 *count += sizeof(VkRenderingFlags);
5463 count_VkRect2D(featureBits, rootType, (VkRect2D*)(&toCount->renderArea), count);
5464 *count += sizeof(uint32_t);
5465 *count += sizeof(uint32_t);
5466 *count += sizeof(uint32_t);
5467 if (toCount) {
5468 for (uint32_t i = 0; i < (uint32_t)toCount->colorAttachmentCount; ++i) {
5469 count_VkRenderingAttachmentInfo(
5470 featureBits, rootType,
5471 (const VkRenderingAttachmentInfo*)(toCount->pColorAttachments + i), count);
5472 }
5473 }
5474 // WARNING PTR CHECK
5475 *count += 8;
5476 if (toCount->pDepthAttachment) {
5477 count_VkRenderingAttachmentInfo(
5478 featureBits, rootType, (const VkRenderingAttachmentInfo*)(toCount->pDepthAttachment),
5479 count);
5480 }
5481 // WARNING PTR CHECK
5482 *count += 8;
5483 if (toCount->pStencilAttachment) {
5484 count_VkRenderingAttachmentInfo(
5485 featureBits, rootType, (const VkRenderingAttachmentInfo*)(toCount->pStencilAttachment),
5486 count);
5487 }
5488 }
5489
count_VkPipelineRenderingCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineRenderingCreateInfo * toCount,size_t * count)5490 void count_VkPipelineRenderingCreateInfo(uint32_t featureBits, VkStructureType rootType,
5491 const VkPipelineRenderingCreateInfo* toCount,
5492 size_t* count) {
5493 (void)featureBits;
5494 (void)rootType;
5495 (void)toCount;
5496 (void)count;
5497 *count += sizeof(VkStructureType);
5498 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5499 rootType = toCount->sType;
5500 }
5501 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5502 *count += sizeof(uint32_t);
5503 *count += sizeof(uint32_t);
5504 // WARNING PTR CHECK
5505 *count += 8;
5506 if (toCount->pColorAttachmentFormats) {
5507 if (toCount) {
5508 *count += toCount->colorAttachmentCount * sizeof(const VkFormat);
5509 }
5510 }
5511 *count += sizeof(VkFormat);
5512 *count += sizeof(VkFormat);
5513 }
5514
count_VkPhysicalDeviceDynamicRenderingFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingFeatures * toCount,size_t * count)5515 void count_VkPhysicalDeviceDynamicRenderingFeatures(
5516 uint32_t featureBits, VkStructureType rootType,
5517 const VkPhysicalDeviceDynamicRenderingFeatures* toCount, size_t* count) {
5518 (void)featureBits;
5519 (void)rootType;
5520 (void)toCount;
5521 (void)count;
5522 *count += sizeof(VkStructureType);
5523 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5524 rootType = toCount->sType;
5525 }
5526 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5527 *count += sizeof(VkBool32);
5528 }
5529
count_VkCommandBufferInheritanceRenderingInfo(uint32_t featureBits,VkStructureType rootType,const VkCommandBufferInheritanceRenderingInfo * toCount,size_t * count)5530 void count_VkCommandBufferInheritanceRenderingInfo(
5531 uint32_t featureBits, VkStructureType rootType,
5532 const VkCommandBufferInheritanceRenderingInfo* toCount, size_t* count) {
5533 (void)featureBits;
5534 (void)rootType;
5535 (void)toCount;
5536 (void)count;
5537 *count += sizeof(VkStructureType);
5538 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5539 rootType = toCount->sType;
5540 }
5541 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5542 *count += sizeof(VkRenderingFlags);
5543 *count += sizeof(uint32_t);
5544 *count += sizeof(uint32_t);
5545 if (toCount) {
5546 *count += toCount->colorAttachmentCount * sizeof(const VkFormat);
5547 }
5548 *count += sizeof(VkFormat);
5549 *count += sizeof(VkFormat);
5550 *count += sizeof(VkSampleCountFlagBits);
5551 }
5552
count_VkPhysicalDeviceShaderIntegerDotProductFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductFeatures * toCount,size_t * count)5553 void count_VkPhysicalDeviceShaderIntegerDotProductFeatures(
5554 uint32_t featureBits, VkStructureType rootType,
5555 const VkPhysicalDeviceShaderIntegerDotProductFeatures* toCount, size_t* count) {
5556 (void)featureBits;
5557 (void)rootType;
5558 (void)toCount;
5559 (void)count;
5560 *count += sizeof(VkStructureType);
5561 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5562 rootType = toCount->sType;
5563 }
5564 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5565 *count += sizeof(VkBool32);
5566 }
5567
count_VkPhysicalDeviceShaderIntegerDotProductProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderIntegerDotProductProperties * toCount,size_t * count)5568 void count_VkPhysicalDeviceShaderIntegerDotProductProperties(
5569 uint32_t featureBits, VkStructureType rootType,
5570 const VkPhysicalDeviceShaderIntegerDotProductProperties* toCount, size_t* count) {
5571 (void)featureBits;
5572 (void)rootType;
5573 (void)toCount;
5574 (void)count;
5575 *count += sizeof(VkStructureType);
5576 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5577 rootType = toCount->sType;
5578 }
5579 count_extension_struct(featureBits, rootType, toCount->pNext, count);
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 *count += sizeof(VkBool32);
5610 }
5611
count_VkPhysicalDeviceTexelBufferAlignmentProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentProperties * toCount,size_t * count)5612 void count_VkPhysicalDeviceTexelBufferAlignmentProperties(
5613 uint32_t featureBits, VkStructureType rootType,
5614 const VkPhysicalDeviceTexelBufferAlignmentProperties* toCount, size_t* count) {
5615 (void)featureBits;
5616 (void)rootType;
5617 (void)toCount;
5618 (void)count;
5619 *count += sizeof(VkStructureType);
5620 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5621 rootType = toCount->sType;
5622 }
5623 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5624 *count += sizeof(VkDeviceSize);
5625 *count += sizeof(VkBool32);
5626 *count += sizeof(VkDeviceSize);
5627 *count += sizeof(VkBool32);
5628 }
5629
count_VkFormatProperties3(uint32_t featureBits,VkStructureType rootType,const VkFormatProperties3 * toCount,size_t * count)5630 void count_VkFormatProperties3(uint32_t featureBits, VkStructureType rootType,
5631 const VkFormatProperties3* toCount, size_t* count) {
5632 (void)featureBits;
5633 (void)rootType;
5634 (void)toCount;
5635 (void)count;
5636 *count += sizeof(VkStructureType);
5637 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5638 rootType = toCount->sType;
5639 }
5640 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5641 *count += sizeof(VkFormatFeatureFlags2);
5642 *count += sizeof(VkFormatFeatureFlags2);
5643 *count += sizeof(VkFormatFeatureFlags2);
5644 }
5645
count_VkPhysicalDeviceMaintenance4Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Features * toCount,size_t * count)5646 void count_VkPhysicalDeviceMaintenance4Features(uint32_t featureBits, VkStructureType rootType,
5647 const VkPhysicalDeviceMaintenance4Features* toCount,
5648 size_t* count) {
5649 (void)featureBits;
5650 (void)rootType;
5651 (void)toCount;
5652 (void)count;
5653 *count += sizeof(VkStructureType);
5654 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5655 rootType = toCount->sType;
5656 }
5657 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5658 *count += sizeof(VkBool32);
5659 }
5660
count_VkPhysicalDeviceMaintenance4Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance4Properties * toCount,size_t * count)5661 void count_VkPhysicalDeviceMaintenance4Properties(
5662 uint32_t featureBits, VkStructureType rootType,
5663 const VkPhysicalDeviceMaintenance4Properties* toCount, size_t* count) {
5664 (void)featureBits;
5665 (void)rootType;
5666 (void)toCount;
5667 (void)count;
5668 *count += sizeof(VkStructureType);
5669 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5670 rootType = toCount->sType;
5671 }
5672 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5673 *count += sizeof(VkDeviceSize);
5674 }
5675
count_VkDeviceBufferMemoryRequirements(uint32_t featureBits,VkStructureType rootType,const VkDeviceBufferMemoryRequirements * toCount,size_t * count)5676 void count_VkDeviceBufferMemoryRequirements(uint32_t featureBits, VkStructureType rootType,
5677 const VkDeviceBufferMemoryRequirements* toCount,
5678 size_t* count) {
5679 (void)featureBits;
5680 (void)rootType;
5681 (void)toCount;
5682 (void)count;
5683 *count += sizeof(VkStructureType);
5684 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5685 rootType = toCount->sType;
5686 }
5687 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5688 count_VkBufferCreateInfo(featureBits, rootType,
5689 (const VkBufferCreateInfo*)(toCount->pCreateInfo), count);
5690 }
5691
count_VkDeviceImageMemoryRequirements(uint32_t featureBits,VkStructureType rootType,const VkDeviceImageMemoryRequirements * toCount,size_t * count)5692 void count_VkDeviceImageMemoryRequirements(uint32_t featureBits, VkStructureType rootType,
5693 const VkDeviceImageMemoryRequirements* toCount,
5694 size_t* count) {
5695 (void)featureBits;
5696 (void)rootType;
5697 (void)toCount;
5698 (void)count;
5699 *count += sizeof(VkStructureType);
5700 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5701 rootType = toCount->sType;
5702 }
5703 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5704 count_VkImageCreateInfo(featureBits, rootType, (const VkImageCreateInfo*)(toCount->pCreateInfo),
5705 count);
5706 *count += sizeof(VkImageAspectFlagBits);
5707 }
5708
5709 #endif
5710 #ifdef VK_VERSION_1_4
count_VkPhysicalDeviceVulkan14Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan14Features * toCount,size_t * count)5711 void count_VkPhysicalDeviceVulkan14Features(uint32_t featureBits, VkStructureType rootType,
5712 const VkPhysicalDeviceVulkan14Features* toCount,
5713 size_t* count) {
5714 (void)featureBits;
5715 (void)rootType;
5716 (void)toCount;
5717 (void)count;
5718 *count += sizeof(VkStructureType);
5719 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5720 rootType = toCount->sType;
5721 }
5722 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5723 *count += sizeof(VkBool32);
5724 *count += sizeof(VkBool32);
5725 *count += sizeof(VkBool32);
5726 *count += sizeof(VkBool32);
5727 *count += sizeof(VkBool32);
5728 *count += sizeof(VkBool32);
5729 *count += sizeof(VkBool32);
5730 *count += sizeof(VkBool32);
5731 *count += sizeof(VkBool32);
5732 *count += sizeof(VkBool32);
5733 *count += sizeof(VkBool32);
5734 *count += sizeof(VkBool32);
5735 *count += sizeof(VkBool32);
5736 *count += sizeof(VkBool32);
5737 *count += sizeof(VkBool32);
5738 *count += sizeof(VkBool32);
5739 *count += sizeof(VkBool32);
5740 *count += sizeof(VkBool32);
5741 *count += sizeof(VkBool32);
5742 *count += sizeof(VkBool32);
5743 *count += sizeof(VkBool32);
5744 }
5745
count_VkPhysicalDeviceVulkan14Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVulkan14Properties * toCount,size_t * count)5746 void count_VkPhysicalDeviceVulkan14Properties(uint32_t featureBits, VkStructureType rootType,
5747 const VkPhysicalDeviceVulkan14Properties* toCount,
5748 size_t* count) {
5749 (void)featureBits;
5750 (void)rootType;
5751 (void)toCount;
5752 (void)count;
5753 *count += sizeof(VkStructureType);
5754 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5755 rootType = toCount->sType;
5756 }
5757 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5758 *count += sizeof(uint32_t);
5759 *count += sizeof(uint32_t);
5760 *count += sizeof(VkBool32);
5761 *count += sizeof(uint32_t);
5762 *count += sizeof(VkBool32);
5763 *count += sizeof(VkBool32);
5764 *count += sizeof(VkBool32);
5765 *count += sizeof(VkBool32);
5766 *count += sizeof(VkBool32);
5767 *count += sizeof(VkBool32);
5768 *count += sizeof(VkBool32);
5769 *count += sizeof(VkBool32);
5770 *count += sizeof(VkBool32);
5771 *count += sizeof(uint32_t);
5772 *count += sizeof(VkBool32);
5773 *count += sizeof(VkPipelineRobustnessBufferBehavior);
5774 *count += sizeof(VkPipelineRobustnessBufferBehavior);
5775 *count += sizeof(VkPipelineRobustnessBufferBehavior);
5776 *count += sizeof(VkPipelineRobustnessImageBehavior);
5777 *count += sizeof(uint32_t);
5778 // WARNING PTR CHECK
5779 *count += 8;
5780 if (toCount->pCopySrcLayouts) {
5781 if (toCount) {
5782 *count += toCount->copySrcLayoutCount * sizeof(VkImageLayout);
5783 }
5784 }
5785 *count += sizeof(uint32_t);
5786 // WARNING PTR CHECK
5787 *count += 8;
5788 if (toCount->pCopyDstLayouts) {
5789 if (toCount) {
5790 *count += toCount->copyDstLayoutCount * sizeof(VkImageLayout);
5791 }
5792 }
5793 *count += VK_UUID_SIZE * sizeof(uint8_t);
5794 *count += sizeof(VkBool32);
5795 }
5796
count_VkDeviceQueueGlobalPriorityCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceQueueGlobalPriorityCreateInfo * toCount,size_t * count)5797 void count_VkDeviceQueueGlobalPriorityCreateInfo(
5798 uint32_t featureBits, VkStructureType rootType,
5799 const VkDeviceQueueGlobalPriorityCreateInfo* toCount, size_t* count) {
5800 (void)featureBits;
5801 (void)rootType;
5802 (void)toCount;
5803 (void)count;
5804 *count += sizeof(VkStructureType);
5805 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5806 rootType = toCount->sType;
5807 }
5808 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5809 *count += sizeof(VkQueueGlobalPriority);
5810 }
5811
count_VkPhysicalDeviceGlobalPriorityQueryFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGlobalPriorityQueryFeatures * toCount,size_t * count)5812 void count_VkPhysicalDeviceGlobalPriorityQueryFeatures(
5813 uint32_t featureBits, VkStructureType rootType,
5814 const VkPhysicalDeviceGlobalPriorityQueryFeatures* toCount, size_t* count) {
5815 (void)featureBits;
5816 (void)rootType;
5817 (void)toCount;
5818 (void)count;
5819 *count += sizeof(VkStructureType);
5820 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5821 rootType = toCount->sType;
5822 }
5823 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5824 *count += sizeof(VkBool32);
5825 }
5826
count_VkQueueFamilyGlobalPriorityProperties(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyGlobalPriorityProperties * toCount,size_t * count)5827 void count_VkQueueFamilyGlobalPriorityProperties(
5828 uint32_t featureBits, VkStructureType rootType,
5829 const VkQueueFamilyGlobalPriorityProperties* toCount, size_t* count) {
5830 (void)featureBits;
5831 (void)rootType;
5832 (void)toCount;
5833 (void)count;
5834 *count += sizeof(VkStructureType);
5835 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5836 rootType = toCount->sType;
5837 }
5838 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5839 *count += sizeof(uint32_t);
5840 *count += VK_MAX_GLOBAL_PRIORITY_SIZE * sizeof(VkQueueGlobalPriority);
5841 }
5842
count_VkPhysicalDeviceShaderSubgroupRotateFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderSubgroupRotateFeatures * toCount,size_t * count)5843 void count_VkPhysicalDeviceShaderSubgroupRotateFeatures(
5844 uint32_t featureBits, VkStructureType rootType,
5845 const VkPhysicalDeviceShaderSubgroupRotateFeatures* toCount, size_t* count) {
5846 (void)featureBits;
5847 (void)rootType;
5848 (void)toCount;
5849 (void)count;
5850 *count += sizeof(VkStructureType);
5851 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5852 rootType = toCount->sType;
5853 }
5854 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5855 *count += sizeof(VkBool32);
5856 *count += sizeof(VkBool32);
5857 }
5858
count_VkPhysicalDeviceShaderFloatControls2Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderFloatControls2Features * toCount,size_t * count)5859 void count_VkPhysicalDeviceShaderFloatControls2Features(
5860 uint32_t featureBits, VkStructureType rootType,
5861 const VkPhysicalDeviceShaderFloatControls2Features* toCount, size_t* count) {
5862 (void)featureBits;
5863 (void)rootType;
5864 (void)toCount;
5865 (void)count;
5866 *count += sizeof(VkStructureType);
5867 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5868 rootType = toCount->sType;
5869 }
5870 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5871 *count += sizeof(VkBool32);
5872 }
5873
count_VkPhysicalDeviceShaderExpectAssumeFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceShaderExpectAssumeFeatures * toCount,size_t * count)5874 void count_VkPhysicalDeviceShaderExpectAssumeFeatures(
5875 uint32_t featureBits, VkStructureType rootType,
5876 const VkPhysicalDeviceShaderExpectAssumeFeatures* toCount, size_t* count) {
5877 (void)featureBits;
5878 (void)rootType;
5879 (void)toCount;
5880 (void)count;
5881 *count += sizeof(VkStructureType);
5882 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5883 rootType = toCount->sType;
5884 }
5885 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5886 *count += sizeof(VkBool32);
5887 }
5888
count_VkPhysicalDeviceLineRasterizationFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeatures * toCount,size_t * count)5889 void count_VkPhysicalDeviceLineRasterizationFeatures(
5890 uint32_t featureBits, VkStructureType rootType,
5891 const VkPhysicalDeviceLineRasterizationFeatures* toCount, size_t* count) {
5892 (void)featureBits;
5893 (void)rootType;
5894 (void)toCount;
5895 (void)count;
5896 *count += sizeof(VkStructureType);
5897 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5898 rootType = toCount->sType;
5899 }
5900 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5901 *count += sizeof(VkBool32);
5902 *count += sizeof(VkBool32);
5903 *count += sizeof(VkBool32);
5904 *count += sizeof(VkBool32);
5905 *count += sizeof(VkBool32);
5906 *count += sizeof(VkBool32);
5907 }
5908
count_VkPhysicalDeviceLineRasterizationProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationProperties * toCount,size_t * count)5909 void count_VkPhysicalDeviceLineRasterizationProperties(
5910 uint32_t featureBits, VkStructureType rootType,
5911 const VkPhysicalDeviceLineRasterizationProperties* toCount, size_t* count) {
5912 (void)featureBits;
5913 (void)rootType;
5914 (void)toCount;
5915 (void)count;
5916 *count += sizeof(VkStructureType);
5917 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5918 rootType = toCount->sType;
5919 }
5920 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5921 *count += sizeof(uint32_t);
5922 }
5923
count_VkPipelineRasterizationLineStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfo * toCount,size_t * count)5924 void count_VkPipelineRasterizationLineStateCreateInfo(
5925 uint32_t featureBits, VkStructureType rootType,
5926 const VkPipelineRasterizationLineStateCreateInfo* toCount, size_t* count) {
5927 (void)featureBits;
5928 (void)rootType;
5929 (void)toCount;
5930 (void)count;
5931 *count += sizeof(VkStructureType);
5932 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5933 rootType = toCount->sType;
5934 }
5935 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5936 *count += sizeof(VkLineRasterizationMode);
5937 *count += sizeof(VkBool32);
5938 *count += sizeof(uint32_t);
5939 *count += sizeof(uint16_t);
5940 }
5941
count_VkPhysicalDeviceVertexAttributeDivisorProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorProperties * toCount,size_t * count)5942 void count_VkPhysicalDeviceVertexAttributeDivisorProperties(
5943 uint32_t featureBits, VkStructureType rootType,
5944 const VkPhysicalDeviceVertexAttributeDivisorProperties* toCount, size_t* count) {
5945 (void)featureBits;
5946 (void)rootType;
5947 (void)toCount;
5948 (void)count;
5949 *count += sizeof(VkStructureType);
5950 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5951 rootType = toCount->sType;
5952 }
5953 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5954 *count += sizeof(uint32_t);
5955 *count += sizeof(VkBool32);
5956 }
5957
count_VkVertexInputBindingDivisorDescription(uint32_t featureBits,VkStructureType rootType,const VkVertexInputBindingDivisorDescription * toCount,size_t * count)5958 void count_VkVertexInputBindingDivisorDescription(
5959 uint32_t featureBits, VkStructureType rootType,
5960 const VkVertexInputBindingDivisorDescription* toCount, size_t* count) {
5961 (void)featureBits;
5962 (void)rootType;
5963 (void)toCount;
5964 (void)count;
5965 *count += sizeof(uint32_t);
5966 *count += sizeof(uint32_t);
5967 }
5968
count_VkPipelineVertexInputDivisorStateCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineVertexInputDivisorStateCreateInfo * toCount,size_t * count)5969 void count_VkPipelineVertexInputDivisorStateCreateInfo(
5970 uint32_t featureBits, VkStructureType rootType,
5971 const VkPipelineVertexInputDivisorStateCreateInfo* toCount, size_t* count) {
5972 (void)featureBits;
5973 (void)rootType;
5974 (void)toCount;
5975 (void)count;
5976 *count += sizeof(VkStructureType);
5977 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5978 rootType = toCount->sType;
5979 }
5980 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5981 *count += sizeof(uint32_t);
5982 if (toCount) {
5983 for (uint32_t i = 0; i < (uint32_t)toCount->vertexBindingDivisorCount; ++i) {
5984 count_VkVertexInputBindingDivisorDescription(
5985 featureBits, rootType,
5986 (const VkVertexInputBindingDivisorDescription*)(toCount->pVertexBindingDivisors +
5987 i),
5988 count);
5989 }
5990 }
5991 }
5992
count_VkPhysicalDeviceVertexAttributeDivisorFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorFeatures * toCount,size_t * count)5993 void count_VkPhysicalDeviceVertexAttributeDivisorFeatures(
5994 uint32_t featureBits, VkStructureType rootType,
5995 const VkPhysicalDeviceVertexAttributeDivisorFeatures* toCount, size_t* count) {
5996 (void)featureBits;
5997 (void)rootType;
5998 (void)toCount;
5999 (void)count;
6000 *count += sizeof(VkStructureType);
6001 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6002 rootType = toCount->sType;
6003 }
6004 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6005 *count += sizeof(VkBool32);
6006 *count += sizeof(VkBool32);
6007 }
6008
count_VkPhysicalDeviceIndexTypeUint8Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceIndexTypeUint8Features * toCount,size_t * count)6009 void count_VkPhysicalDeviceIndexTypeUint8Features(
6010 uint32_t featureBits, VkStructureType rootType,
6011 const VkPhysicalDeviceIndexTypeUint8Features* toCount, size_t* count) {
6012 (void)featureBits;
6013 (void)rootType;
6014 (void)toCount;
6015 (void)count;
6016 *count += sizeof(VkStructureType);
6017 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6018 rootType = toCount->sType;
6019 }
6020 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6021 *count += sizeof(VkBool32);
6022 }
6023
count_VkMemoryMapInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryMapInfo * toCount,size_t * count)6024 void count_VkMemoryMapInfo(uint32_t featureBits, VkStructureType rootType,
6025 const VkMemoryMapInfo* toCount, size_t* count) {
6026 (void)featureBits;
6027 (void)rootType;
6028 (void)toCount;
6029 (void)count;
6030 *count += sizeof(VkStructureType);
6031 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6032 rootType = toCount->sType;
6033 }
6034 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6035 *count += sizeof(VkMemoryMapFlags);
6036 uint64_t cgen_var_0;
6037 *count += 1 * 8;
6038 *count += sizeof(VkDeviceSize);
6039 *count += sizeof(VkDeviceSize);
6040 }
6041
count_VkMemoryUnmapInfo(uint32_t featureBits,VkStructureType rootType,const VkMemoryUnmapInfo * toCount,size_t * count)6042 void count_VkMemoryUnmapInfo(uint32_t featureBits, VkStructureType rootType,
6043 const VkMemoryUnmapInfo* toCount, size_t* count) {
6044 (void)featureBits;
6045 (void)rootType;
6046 (void)toCount;
6047 (void)count;
6048 *count += sizeof(VkStructureType);
6049 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6050 rootType = toCount->sType;
6051 }
6052 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6053 *count += sizeof(VkMemoryUnmapFlags);
6054 uint64_t cgen_var_0;
6055 *count += 1 * 8;
6056 }
6057
count_VkPhysicalDeviceMaintenance5Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance5Features * toCount,size_t * count)6058 void count_VkPhysicalDeviceMaintenance5Features(uint32_t featureBits, VkStructureType rootType,
6059 const VkPhysicalDeviceMaintenance5Features* toCount,
6060 size_t* count) {
6061 (void)featureBits;
6062 (void)rootType;
6063 (void)toCount;
6064 (void)count;
6065 *count += sizeof(VkStructureType);
6066 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6067 rootType = toCount->sType;
6068 }
6069 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6070 *count += sizeof(VkBool32);
6071 }
6072
count_VkPhysicalDeviceMaintenance5Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance5Properties * toCount,size_t * count)6073 void count_VkPhysicalDeviceMaintenance5Properties(
6074 uint32_t featureBits, VkStructureType rootType,
6075 const VkPhysicalDeviceMaintenance5Properties* toCount, size_t* count) {
6076 (void)featureBits;
6077 (void)rootType;
6078 (void)toCount;
6079 (void)count;
6080 *count += sizeof(VkStructureType);
6081 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6082 rootType = toCount->sType;
6083 }
6084 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6085 *count += sizeof(VkBool32);
6086 *count += sizeof(VkBool32);
6087 *count += sizeof(VkBool32);
6088 *count += sizeof(VkBool32);
6089 *count += sizeof(VkBool32);
6090 *count += sizeof(VkBool32);
6091 }
6092
count_VkRenderingAreaInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingAreaInfo * toCount,size_t * count)6093 void count_VkRenderingAreaInfo(uint32_t featureBits, VkStructureType rootType,
6094 const VkRenderingAreaInfo* toCount, size_t* count) {
6095 (void)featureBits;
6096 (void)rootType;
6097 (void)toCount;
6098 (void)count;
6099 *count += sizeof(VkStructureType);
6100 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6101 rootType = toCount->sType;
6102 }
6103 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6104 *count += sizeof(uint32_t);
6105 *count += sizeof(uint32_t);
6106 // WARNING PTR CHECK
6107 *count += 8;
6108 if (toCount->pColorAttachmentFormats) {
6109 if (toCount) {
6110 *count += toCount->colorAttachmentCount * sizeof(const VkFormat);
6111 }
6112 }
6113 *count += sizeof(VkFormat);
6114 *count += sizeof(VkFormat);
6115 }
6116
count_VkImageSubresource2(uint32_t featureBits,VkStructureType rootType,const VkImageSubresource2 * toCount,size_t * count)6117 void count_VkImageSubresource2(uint32_t featureBits, VkStructureType rootType,
6118 const VkImageSubresource2* toCount, size_t* count) {
6119 (void)featureBits;
6120 (void)rootType;
6121 (void)toCount;
6122 (void)count;
6123 *count += sizeof(VkStructureType);
6124 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6125 rootType = toCount->sType;
6126 }
6127 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6128 count_VkImageSubresource(featureBits, rootType,
6129 (VkImageSubresource*)(&toCount->imageSubresource), count);
6130 }
6131
count_VkDeviceImageSubresourceInfo(uint32_t featureBits,VkStructureType rootType,const VkDeviceImageSubresourceInfo * toCount,size_t * count)6132 void count_VkDeviceImageSubresourceInfo(uint32_t featureBits, VkStructureType rootType,
6133 const VkDeviceImageSubresourceInfo* toCount,
6134 size_t* count) {
6135 (void)featureBits;
6136 (void)rootType;
6137 (void)toCount;
6138 (void)count;
6139 *count += sizeof(VkStructureType);
6140 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6141 rootType = toCount->sType;
6142 }
6143 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6144 count_VkImageCreateInfo(featureBits, rootType, (const VkImageCreateInfo*)(toCount->pCreateInfo),
6145 count);
6146 count_VkImageSubresource2(featureBits, rootType,
6147 (const VkImageSubresource2*)(toCount->pSubresource), count);
6148 }
6149
count_VkSubresourceLayout2(uint32_t featureBits,VkStructureType rootType,const VkSubresourceLayout2 * toCount,size_t * count)6150 void count_VkSubresourceLayout2(uint32_t featureBits, VkStructureType rootType,
6151 const VkSubresourceLayout2* toCount, size_t* count) {
6152 (void)featureBits;
6153 (void)rootType;
6154 (void)toCount;
6155 (void)count;
6156 *count += sizeof(VkStructureType);
6157 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6158 rootType = toCount->sType;
6159 }
6160 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6161 count_VkSubresourceLayout(featureBits, rootType,
6162 (VkSubresourceLayout*)(&toCount->subresourceLayout), count);
6163 }
6164
count_VkPipelineCreateFlags2CreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineCreateFlags2CreateInfo * toCount,size_t * count)6165 void count_VkPipelineCreateFlags2CreateInfo(uint32_t featureBits, VkStructureType rootType,
6166 const VkPipelineCreateFlags2CreateInfo* toCount,
6167 size_t* count) {
6168 (void)featureBits;
6169 (void)rootType;
6170 (void)toCount;
6171 (void)count;
6172 *count += sizeof(VkStructureType);
6173 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6174 rootType = toCount->sType;
6175 }
6176 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6177 *count += sizeof(VkPipelineCreateFlags2);
6178 }
6179
count_VkBufferUsageFlags2CreateInfo(uint32_t featureBits,VkStructureType rootType,const VkBufferUsageFlags2CreateInfo * toCount,size_t * count)6180 void count_VkBufferUsageFlags2CreateInfo(uint32_t featureBits, VkStructureType rootType,
6181 const VkBufferUsageFlags2CreateInfo* toCount,
6182 size_t* count) {
6183 (void)featureBits;
6184 (void)rootType;
6185 (void)toCount;
6186 (void)count;
6187 *count += sizeof(VkStructureType);
6188 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6189 rootType = toCount->sType;
6190 }
6191 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6192 *count += sizeof(VkBufferUsageFlags2);
6193 }
6194
count_VkPhysicalDevicePushDescriptorProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePushDescriptorProperties * toCount,size_t * count)6195 void count_VkPhysicalDevicePushDescriptorProperties(
6196 uint32_t featureBits, VkStructureType rootType,
6197 const VkPhysicalDevicePushDescriptorProperties* toCount, size_t* count) {
6198 (void)featureBits;
6199 (void)rootType;
6200 (void)toCount;
6201 (void)count;
6202 *count += sizeof(VkStructureType);
6203 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6204 rootType = toCount->sType;
6205 }
6206 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6207 *count += sizeof(uint32_t);
6208 }
6209
count_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDynamicRenderingLocalReadFeatures * toCount,size_t * count)6210 void count_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(
6211 uint32_t featureBits, VkStructureType rootType,
6212 const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* toCount, size_t* count) {
6213 (void)featureBits;
6214 (void)rootType;
6215 (void)toCount;
6216 (void)count;
6217 *count += sizeof(VkStructureType);
6218 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6219 rootType = toCount->sType;
6220 }
6221 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6222 *count += sizeof(VkBool32);
6223 }
6224
count_VkRenderingAttachmentLocationInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingAttachmentLocationInfo * toCount,size_t * count)6225 void count_VkRenderingAttachmentLocationInfo(uint32_t featureBits, VkStructureType rootType,
6226 const VkRenderingAttachmentLocationInfo* toCount,
6227 size_t* count) {
6228 (void)featureBits;
6229 (void)rootType;
6230 (void)toCount;
6231 (void)count;
6232 *count += sizeof(VkStructureType);
6233 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6234 rootType = toCount->sType;
6235 }
6236 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6237 *count += sizeof(uint32_t);
6238 // WARNING PTR CHECK
6239 *count += 8;
6240 if (toCount->pColorAttachmentLocations) {
6241 if (toCount) {
6242 *count += toCount->colorAttachmentCount * sizeof(const uint32_t);
6243 }
6244 }
6245 }
6246
count_VkRenderingInputAttachmentIndexInfo(uint32_t featureBits,VkStructureType rootType,const VkRenderingInputAttachmentIndexInfo * toCount,size_t * count)6247 void count_VkRenderingInputAttachmentIndexInfo(uint32_t featureBits, VkStructureType rootType,
6248 const VkRenderingInputAttachmentIndexInfo* toCount,
6249 size_t* count) {
6250 (void)featureBits;
6251 (void)rootType;
6252 (void)toCount;
6253 (void)count;
6254 *count += sizeof(VkStructureType);
6255 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6256 rootType = toCount->sType;
6257 }
6258 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6259 *count += sizeof(uint32_t);
6260 // WARNING PTR CHECK
6261 *count += 8;
6262 if (toCount->pColorAttachmentInputIndices) {
6263 if (toCount) {
6264 *count += toCount->colorAttachmentCount * sizeof(const uint32_t);
6265 }
6266 }
6267 // WARNING PTR CHECK
6268 *count += 8;
6269 if (toCount->pDepthInputAttachmentIndex) {
6270 *count += sizeof(const uint32_t);
6271 }
6272 // WARNING PTR CHECK
6273 *count += 8;
6274 if (toCount->pStencilInputAttachmentIndex) {
6275 *count += sizeof(const uint32_t);
6276 }
6277 }
6278
count_VkPhysicalDeviceMaintenance6Features(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance6Features * toCount,size_t * count)6279 void count_VkPhysicalDeviceMaintenance6Features(uint32_t featureBits, VkStructureType rootType,
6280 const VkPhysicalDeviceMaintenance6Features* 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 += sizeof(VkBool32);
6292 }
6293
count_VkPhysicalDeviceMaintenance6Properties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance6Properties * toCount,size_t * count)6294 void count_VkPhysicalDeviceMaintenance6Properties(
6295 uint32_t featureBits, VkStructureType rootType,
6296 const VkPhysicalDeviceMaintenance6Properties* toCount, size_t* count) {
6297 (void)featureBits;
6298 (void)rootType;
6299 (void)toCount;
6300 (void)count;
6301 *count += sizeof(VkStructureType);
6302 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6303 rootType = toCount->sType;
6304 }
6305 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6306 *count += sizeof(VkBool32);
6307 *count += sizeof(uint32_t);
6308 *count += sizeof(VkBool32);
6309 }
6310
count_VkBindMemoryStatus(uint32_t featureBits,VkStructureType rootType,const VkBindMemoryStatus * toCount,size_t * count)6311 void count_VkBindMemoryStatus(uint32_t featureBits, VkStructureType rootType,
6312 const VkBindMemoryStatus* toCount, size_t* count) {
6313 (void)featureBits;
6314 (void)rootType;
6315 (void)toCount;
6316 (void)count;
6317 *count += sizeof(VkStructureType);
6318 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6319 rootType = toCount->sType;
6320 }
6321 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6322 *count += sizeof(VkResult);
6323 }
6324
count_VkBindDescriptorSetsInfo(uint32_t featureBits,VkStructureType rootType,const VkBindDescriptorSetsInfo * toCount,size_t * count)6325 void count_VkBindDescriptorSetsInfo(uint32_t featureBits, VkStructureType rootType,
6326 const VkBindDescriptorSetsInfo* toCount, size_t* count) {
6327 (void)featureBits;
6328 (void)rootType;
6329 (void)toCount;
6330 (void)count;
6331 *count += sizeof(VkStructureType);
6332 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6333 rootType = toCount->sType;
6334 }
6335 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6336 *count += sizeof(VkShaderStageFlags);
6337 uint64_t cgen_var_0;
6338 *count += 1 * 8;
6339 *count += sizeof(uint32_t);
6340 *count += sizeof(uint32_t);
6341 if (toCount->descriptorSetCount) {
6342 *count += toCount->descriptorSetCount * 8;
6343 }
6344 *count += sizeof(uint32_t);
6345 // WARNING PTR CHECK
6346 *count += 8;
6347 if (toCount->pDynamicOffsets) {
6348 if (toCount) {
6349 *count += toCount->dynamicOffsetCount * sizeof(const uint32_t);
6350 }
6351 }
6352 }
6353
count_VkPushConstantsInfo(uint32_t featureBits,VkStructureType rootType,const VkPushConstantsInfo * toCount,size_t * count)6354 void count_VkPushConstantsInfo(uint32_t featureBits, VkStructureType rootType,
6355 const VkPushConstantsInfo* toCount, size_t* count) {
6356 (void)featureBits;
6357 (void)rootType;
6358 (void)toCount;
6359 (void)count;
6360 *count += sizeof(VkStructureType);
6361 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6362 rootType = toCount->sType;
6363 }
6364 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6365 uint64_t cgen_var_0;
6366 *count += 1 * 8;
6367 *count += sizeof(VkShaderStageFlags);
6368 *count += sizeof(uint32_t);
6369 *count += sizeof(uint32_t);
6370 if (toCount) {
6371 *count += toCount->size * sizeof(const uint8_t);
6372 }
6373 }
6374
count_VkPushDescriptorSetInfo(uint32_t featureBits,VkStructureType rootType,const VkPushDescriptorSetInfo * toCount,size_t * count)6375 void count_VkPushDescriptorSetInfo(uint32_t featureBits, VkStructureType rootType,
6376 const VkPushDescriptorSetInfo* toCount, size_t* count) {
6377 (void)featureBits;
6378 (void)rootType;
6379 (void)toCount;
6380 (void)count;
6381 *count += sizeof(VkStructureType);
6382 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6383 rootType = toCount->sType;
6384 }
6385 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6386 *count += sizeof(VkShaderStageFlags);
6387 uint64_t cgen_var_0;
6388 *count += 1 * 8;
6389 *count += sizeof(uint32_t);
6390 *count += sizeof(uint32_t);
6391 if (toCount) {
6392 for (uint32_t i = 0; i < (uint32_t)toCount->descriptorWriteCount; ++i) {
6393 count_VkWriteDescriptorSet(
6394 featureBits, rootType,
6395 (const VkWriteDescriptorSet*)(toCount->pDescriptorWrites + i), count);
6396 }
6397 }
6398 }
6399
count_VkPushDescriptorSetWithTemplateInfo(uint32_t featureBits,VkStructureType rootType,const VkPushDescriptorSetWithTemplateInfo * toCount,size_t * count)6400 void count_VkPushDescriptorSetWithTemplateInfo(uint32_t featureBits, VkStructureType rootType,
6401 const VkPushDescriptorSetWithTemplateInfo* toCount,
6402 size_t* count) {
6403 (void)featureBits;
6404 (void)rootType;
6405 (void)toCount;
6406 (void)count;
6407 *count += sizeof(VkStructureType);
6408 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6409 rootType = toCount->sType;
6410 }
6411 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6412 uint64_t cgen_var_0;
6413 *count += 1 * 8;
6414 uint64_t cgen_var_1;
6415 *count += 1 * 8;
6416 *count += sizeof(uint32_t);
6417 *count += sizeof(const uint8_t);
6418 }
6419
count_VkPhysicalDevicePipelineProtectedAccessFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineProtectedAccessFeatures * toCount,size_t * count)6420 void count_VkPhysicalDevicePipelineProtectedAccessFeatures(
6421 uint32_t featureBits, VkStructureType rootType,
6422 const VkPhysicalDevicePipelineProtectedAccessFeatures* toCount, size_t* count) {
6423 (void)featureBits;
6424 (void)rootType;
6425 (void)toCount;
6426 (void)count;
6427 *count += sizeof(VkStructureType);
6428 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6429 rootType = toCount->sType;
6430 }
6431 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6432 *count += sizeof(VkBool32);
6433 }
6434
count_VkPhysicalDevicePipelineRobustnessFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessFeatures * toCount,size_t * count)6435 void count_VkPhysicalDevicePipelineRobustnessFeatures(
6436 uint32_t featureBits, VkStructureType rootType,
6437 const VkPhysicalDevicePipelineRobustnessFeatures* toCount, size_t* count) {
6438 (void)featureBits;
6439 (void)rootType;
6440 (void)toCount;
6441 (void)count;
6442 *count += sizeof(VkStructureType);
6443 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6444 rootType = toCount->sType;
6445 }
6446 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6447 *count += sizeof(VkBool32);
6448 }
6449
count_VkPhysicalDevicePipelineRobustnessProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineRobustnessProperties * toCount,size_t * count)6450 void count_VkPhysicalDevicePipelineRobustnessProperties(
6451 uint32_t featureBits, VkStructureType rootType,
6452 const VkPhysicalDevicePipelineRobustnessProperties* toCount, size_t* count) {
6453 (void)featureBits;
6454 (void)rootType;
6455 (void)toCount;
6456 (void)count;
6457 *count += sizeof(VkStructureType);
6458 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6459 rootType = toCount->sType;
6460 }
6461 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6462 *count += sizeof(VkPipelineRobustnessBufferBehavior);
6463 *count += sizeof(VkPipelineRobustnessBufferBehavior);
6464 *count += sizeof(VkPipelineRobustnessBufferBehavior);
6465 *count += sizeof(VkPipelineRobustnessImageBehavior);
6466 }
6467
count_VkPipelineRobustnessCreateInfo(uint32_t featureBits,VkStructureType rootType,const VkPipelineRobustnessCreateInfo * toCount,size_t * count)6468 void count_VkPipelineRobustnessCreateInfo(uint32_t featureBits, VkStructureType rootType,
6469 const VkPipelineRobustnessCreateInfo* toCount,
6470 size_t* count) {
6471 (void)featureBits;
6472 (void)rootType;
6473 (void)toCount;
6474 (void)count;
6475 *count += sizeof(VkStructureType);
6476 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6477 rootType = toCount->sType;
6478 }
6479 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6480 *count += sizeof(VkPipelineRobustnessBufferBehavior);
6481 *count += sizeof(VkPipelineRobustnessBufferBehavior);
6482 *count += sizeof(VkPipelineRobustnessBufferBehavior);
6483 *count += sizeof(VkPipelineRobustnessImageBehavior);
6484 }
6485
count_VkPhysicalDeviceHostImageCopyFeatures(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyFeatures * toCount,size_t * count)6486 void count_VkPhysicalDeviceHostImageCopyFeatures(
6487 uint32_t featureBits, VkStructureType rootType,
6488 const VkPhysicalDeviceHostImageCopyFeatures* toCount, size_t* count) {
6489 (void)featureBits;
6490 (void)rootType;
6491 (void)toCount;
6492 (void)count;
6493 *count += sizeof(VkStructureType);
6494 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6495 rootType = toCount->sType;
6496 }
6497 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6498 *count += sizeof(VkBool32);
6499 }
6500
count_VkPhysicalDeviceHostImageCopyProperties(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyProperties * toCount,size_t * count)6501 void count_VkPhysicalDeviceHostImageCopyProperties(
6502 uint32_t featureBits, VkStructureType rootType,
6503 const VkPhysicalDeviceHostImageCopyProperties* toCount, size_t* count) {
6504 (void)featureBits;
6505 (void)rootType;
6506 (void)toCount;
6507 (void)count;
6508 *count += sizeof(VkStructureType);
6509 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6510 rootType = toCount->sType;
6511 }
6512 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6513 *count += sizeof(uint32_t);
6514 // WARNING PTR CHECK
6515 *count += 8;
6516 if (toCount->pCopySrcLayouts) {
6517 if (toCount) {
6518 *count += toCount->copySrcLayoutCount * sizeof(VkImageLayout);
6519 }
6520 }
6521 *count += sizeof(uint32_t);
6522 // WARNING PTR CHECK
6523 *count += 8;
6524 if (toCount->pCopyDstLayouts) {
6525 if (toCount) {
6526 *count += toCount->copyDstLayoutCount * sizeof(VkImageLayout);
6527 }
6528 }
6529 *count += VK_UUID_SIZE * sizeof(uint8_t);
6530 *count += sizeof(VkBool32);
6531 }
6532
count_VkMemoryToImageCopy(uint32_t featureBits,VkStructureType rootType,const VkMemoryToImageCopy * toCount,size_t * count)6533 void count_VkMemoryToImageCopy(uint32_t featureBits, VkStructureType rootType,
6534 const VkMemoryToImageCopy* toCount, size_t* count) {
6535 (void)featureBits;
6536 (void)rootType;
6537 (void)toCount;
6538 (void)count;
6539 *count += sizeof(VkStructureType);
6540 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6541 rootType = toCount->sType;
6542 }
6543 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6544 *count += sizeof(const uint8_t);
6545 *count += sizeof(uint32_t);
6546 *count += sizeof(uint32_t);
6547 count_VkImageSubresourceLayers(featureBits, rootType,
6548 (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
6549 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
6550 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
6551 }
6552
count_VkImageToMemoryCopy(uint32_t featureBits,VkStructureType rootType,const VkImageToMemoryCopy * toCount,size_t * count)6553 void count_VkImageToMemoryCopy(uint32_t featureBits, VkStructureType rootType,
6554 const VkImageToMemoryCopy* toCount, size_t* count) {
6555 (void)featureBits;
6556 (void)rootType;
6557 (void)toCount;
6558 (void)count;
6559 *count += sizeof(VkStructureType);
6560 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6561 rootType = toCount->sType;
6562 }
6563 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6564 *count += sizeof(uint8_t);
6565 *count += sizeof(uint32_t);
6566 *count += sizeof(uint32_t);
6567 count_VkImageSubresourceLayers(featureBits, rootType,
6568 (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
6569 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
6570 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
6571 }
6572
count_VkCopyMemoryToImageInfo(uint32_t featureBits,VkStructureType rootType,const VkCopyMemoryToImageInfo * toCount,size_t * count)6573 void count_VkCopyMemoryToImageInfo(uint32_t featureBits, VkStructureType rootType,
6574 const VkCopyMemoryToImageInfo* toCount, size_t* count) {
6575 (void)featureBits;
6576 (void)rootType;
6577 (void)toCount;
6578 (void)count;
6579 *count += sizeof(VkStructureType);
6580 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6581 rootType = toCount->sType;
6582 }
6583 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6584 *count += sizeof(VkHostImageCopyFlags);
6585 uint64_t cgen_var_0;
6586 *count += 1 * 8;
6587 *count += sizeof(VkImageLayout);
6588 *count += sizeof(uint32_t);
6589 if (toCount) {
6590 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
6591 count_VkMemoryToImageCopy(featureBits, rootType,
6592 (const VkMemoryToImageCopy*)(toCount->pRegions + i), count);
6593 }
6594 }
6595 }
6596
count_VkCopyImageToMemoryInfo(uint32_t featureBits,VkStructureType rootType,const VkCopyImageToMemoryInfo * toCount,size_t * count)6597 void count_VkCopyImageToMemoryInfo(uint32_t featureBits, VkStructureType rootType,
6598 const VkCopyImageToMemoryInfo* toCount, size_t* count) {
6599 (void)featureBits;
6600 (void)rootType;
6601 (void)toCount;
6602 (void)count;
6603 *count += sizeof(VkStructureType);
6604 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6605 rootType = toCount->sType;
6606 }
6607 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6608 *count += sizeof(VkHostImageCopyFlags);
6609 uint64_t cgen_var_0;
6610 *count += 1 * 8;
6611 *count += sizeof(VkImageLayout);
6612 *count += sizeof(uint32_t);
6613 if (toCount) {
6614 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
6615 count_VkImageToMemoryCopy(featureBits, rootType,
6616 (const VkImageToMemoryCopy*)(toCount->pRegions + i), count);
6617 }
6618 }
6619 }
6620
count_VkCopyImageToImageInfo(uint32_t featureBits,VkStructureType rootType,const VkCopyImageToImageInfo * toCount,size_t * count)6621 void count_VkCopyImageToImageInfo(uint32_t featureBits, VkStructureType rootType,
6622 const VkCopyImageToImageInfo* toCount, size_t* count) {
6623 (void)featureBits;
6624 (void)rootType;
6625 (void)toCount;
6626 (void)count;
6627 *count += sizeof(VkStructureType);
6628 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6629 rootType = toCount->sType;
6630 }
6631 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6632 *count += sizeof(VkHostImageCopyFlags);
6633 uint64_t cgen_var_0;
6634 *count += 1 * 8;
6635 *count += sizeof(VkImageLayout);
6636 uint64_t cgen_var_1;
6637 *count += 1 * 8;
6638 *count += sizeof(VkImageLayout);
6639 *count += sizeof(uint32_t);
6640 if (toCount) {
6641 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
6642 count_VkImageCopy2(featureBits, rootType, (const VkImageCopy2*)(toCount->pRegions + i),
6643 count);
6644 }
6645 }
6646 }
6647
count_VkHostImageLayoutTransitionInfo(uint32_t featureBits,VkStructureType rootType,const VkHostImageLayoutTransitionInfo * toCount,size_t * count)6648 void count_VkHostImageLayoutTransitionInfo(uint32_t featureBits, VkStructureType rootType,
6649 const VkHostImageLayoutTransitionInfo* toCount,
6650 size_t* count) {
6651 (void)featureBits;
6652 (void)rootType;
6653 (void)toCount;
6654 (void)count;
6655 *count += sizeof(VkStructureType);
6656 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6657 rootType = toCount->sType;
6658 }
6659 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6660 uint64_t cgen_var_0;
6661 *count += 1 * 8;
6662 *count += sizeof(VkImageLayout);
6663 *count += sizeof(VkImageLayout);
6664 count_VkImageSubresourceRange(featureBits, rootType,
6665 (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
6666 }
6667
count_VkSubresourceHostMemcpySize(uint32_t featureBits,VkStructureType rootType,const VkSubresourceHostMemcpySize * toCount,size_t * count)6668 void count_VkSubresourceHostMemcpySize(uint32_t featureBits, VkStructureType rootType,
6669 const VkSubresourceHostMemcpySize* toCount, size_t* count) {
6670 (void)featureBits;
6671 (void)rootType;
6672 (void)toCount;
6673 (void)count;
6674 *count += sizeof(VkStructureType);
6675 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6676 rootType = toCount->sType;
6677 }
6678 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6679 *count += sizeof(VkDeviceSize);
6680 }
6681
count_VkHostImageCopyDevicePerformanceQuery(uint32_t featureBits,VkStructureType rootType,const VkHostImageCopyDevicePerformanceQuery * toCount,size_t * count)6682 void count_VkHostImageCopyDevicePerformanceQuery(
6683 uint32_t featureBits, VkStructureType rootType,
6684 const VkHostImageCopyDevicePerformanceQuery* toCount, size_t* count) {
6685 (void)featureBits;
6686 (void)rootType;
6687 (void)toCount;
6688 (void)count;
6689 *count += sizeof(VkStructureType);
6690 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6691 rootType = toCount->sType;
6692 }
6693 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6694 *count += sizeof(VkBool32);
6695 *count += sizeof(VkBool32);
6696 }
6697
6698 #endif
6699 #ifdef VK_KHR_external_semaphore_fd
count_VkImportSemaphoreFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * toCount,size_t * count)6700 void count_VkImportSemaphoreFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6701 const VkImportSemaphoreFdInfoKHR* toCount, size_t* count) {
6702 (void)featureBits;
6703 (void)rootType;
6704 (void)toCount;
6705 (void)count;
6706 *count += sizeof(VkStructureType);
6707 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6708 rootType = toCount->sType;
6709 }
6710 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6711 uint64_t cgen_var_0;
6712 *count += 1 * 8;
6713 *count += sizeof(VkSemaphoreImportFlags);
6714 *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
6715 *count += sizeof(int);
6716 }
6717
count_VkSemaphoreGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * toCount,size_t * count)6718 void count_VkSemaphoreGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6719 const VkSemaphoreGetFdInfoKHR* toCount, size_t* count) {
6720 (void)featureBits;
6721 (void)rootType;
6722 (void)toCount;
6723 (void)count;
6724 *count += sizeof(VkStructureType);
6725 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6726 rootType = toCount->sType;
6727 }
6728 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6729 uint64_t cgen_var_0;
6730 *count += 1 * 8;
6731 *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
6732 }
6733
6734 #endif
6735 #ifdef VK_KHR_incremental_present
count_VkRectLayerKHR(uint32_t featureBits,VkStructureType rootType,const VkRectLayerKHR * toCount,size_t * count)6736 void count_VkRectLayerKHR(uint32_t featureBits, VkStructureType rootType,
6737 const VkRectLayerKHR* toCount, size_t* count) {
6738 (void)featureBits;
6739 (void)rootType;
6740 (void)toCount;
6741 (void)count;
6742 count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->offset), count);
6743 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->extent), count);
6744 *count += sizeof(uint32_t);
6745 }
6746
count_VkPresentRegionKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentRegionKHR * toCount,size_t * count)6747 void count_VkPresentRegionKHR(uint32_t featureBits, VkStructureType rootType,
6748 const VkPresentRegionKHR* toCount, size_t* count) {
6749 (void)featureBits;
6750 (void)rootType;
6751 (void)toCount;
6752 (void)count;
6753 *count += sizeof(uint32_t);
6754 // WARNING PTR CHECK
6755 *count += 8;
6756 if (toCount->pRectangles) {
6757 if (toCount) {
6758 for (uint32_t i = 0; i < (uint32_t)toCount->rectangleCount; ++i) {
6759 count_VkRectLayerKHR(featureBits, rootType,
6760 (const VkRectLayerKHR*)(toCount->pRectangles + i), count);
6761 }
6762 }
6763 }
6764 }
6765
count_VkPresentRegionsKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentRegionsKHR * toCount,size_t * count)6766 void count_VkPresentRegionsKHR(uint32_t featureBits, VkStructureType rootType,
6767 const VkPresentRegionsKHR* toCount, size_t* count) {
6768 (void)featureBits;
6769 (void)rootType;
6770 (void)toCount;
6771 (void)count;
6772 *count += sizeof(VkStructureType);
6773 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6774 rootType = toCount->sType;
6775 }
6776 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6777 *count += sizeof(uint32_t);
6778 // WARNING PTR CHECK
6779 *count += 8;
6780 if (toCount->pRegions) {
6781 if (toCount) {
6782 for (uint32_t i = 0; i < (uint32_t)toCount->swapchainCount; ++i) {
6783 count_VkPresentRegionKHR(featureBits, rootType,
6784 (const VkPresentRegionKHR*)(toCount->pRegions + i), count);
6785 }
6786 }
6787 }
6788 }
6789
6790 #endif
6791 #ifdef VK_KHR_external_fence_fd
count_VkImportFenceFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportFenceFdInfoKHR * toCount,size_t * count)6792 void count_VkImportFenceFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6793 const VkImportFenceFdInfoKHR* toCount, size_t* count) {
6794 (void)featureBits;
6795 (void)rootType;
6796 (void)toCount;
6797 (void)count;
6798 *count += sizeof(VkStructureType);
6799 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6800 rootType = toCount->sType;
6801 }
6802 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6803 uint64_t cgen_var_0;
6804 *count += 1 * 8;
6805 *count += sizeof(VkFenceImportFlags);
6806 *count += sizeof(VkExternalFenceHandleTypeFlagBits);
6807 *count += sizeof(int);
6808 }
6809
count_VkFenceGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkFenceGetFdInfoKHR * toCount,size_t * count)6810 void count_VkFenceGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
6811 const VkFenceGetFdInfoKHR* toCount, size_t* count) {
6812 (void)featureBits;
6813 (void)rootType;
6814 (void)toCount;
6815 (void)count;
6816 *count += sizeof(VkStructureType);
6817 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6818 rootType = toCount->sType;
6819 }
6820 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6821 uint64_t cgen_var_0;
6822 *count += 1 * 8;
6823 *count += sizeof(VkExternalFenceHandleTypeFlagBits);
6824 }
6825
6826 #endif
6827 #ifdef VK_KHR_pipeline_executable_properties
count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * toCount,size_t * count)6828 void count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
6829 uint32_t featureBits, VkStructureType rootType,
6830 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* toCount, size_t* count) {
6831 (void)featureBits;
6832 (void)rootType;
6833 (void)toCount;
6834 (void)count;
6835 *count += sizeof(VkStructureType);
6836 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6837 rootType = toCount->sType;
6838 }
6839 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6840 *count += sizeof(VkBool32);
6841 }
6842
count_VkPipelineInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineInfoKHR * toCount,size_t * count)6843 void count_VkPipelineInfoKHR(uint32_t featureBits, VkStructureType rootType,
6844 const VkPipelineInfoKHR* toCount, size_t* count) {
6845 (void)featureBits;
6846 (void)rootType;
6847 (void)toCount;
6848 (void)count;
6849 *count += sizeof(VkStructureType);
6850 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6851 rootType = toCount->sType;
6852 }
6853 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6854 uint64_t cgen_var_0;
6855 *count += 1 * 8;
6856 }
6857
count_VkPipelineExecutablePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * toCount,size_t * count)6858 void count_VkPipelineExecutablePropertiesKHR(uint32_t featureBits, VkStructureType rootType,
6859 const VkPipelineExecutablePropertiesKHR* toCount,
6860 size_t* count) {
6861 (void)featureBits;
6862 (void)rootType;
6863 (void)toCount;
6864 (void)count;
6865 *count += sizeof(VkStructureType);
6866 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6867 rootType = toCount->sType;
6868 }
6869 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6870 *count += sizeof(VkShaderStageFlags);
6871 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6872 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6873 *count += sizeof(uint32_t);
6874 }
6875
count_VkPipelineExecutableInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableInfoKHR * toCount,size_t * count)6876 void count_VkPipelineExecutableInfoKHR(uint32_t featureBits, VkStructureType rootType,
6877 const VkPipelineExecutableInfoKHR* toCount, size_t* count) {
6878 (void)featureBits;
6879 (void)rootType;
6880 (void)toCount;
6881 (void)count;
6882 *count += sizeof(VkStructureType);
6883 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6884 rootType = toCount->sType;
6885 }
6886 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6887 uint64_t cgen_var_0;
6888 *count += 1 * 8;
6889 *count += sizeof(uint32_t);
6890 }
6891
count_VkPipelineExecutableStatisticValueKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * toCount,size_t * count)6892 void count_VkPipelineExecutableStatisticValueKHR(
6893 uint32_t featureBits, VkStructureType rootType,
6894 const VkPipelineExecutableStatisticValueKHR* toCount, size_t* count) {
6895 (void)featureBits;
6896 (void)rootType;
6897 (void)toCount;
6898 (void)count;
6899 *count += sizeof(VkBool32);
6900 }
6901
count_VkPipelineExecutableStatisticKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * toCount,size_t * count)6902 void count_VkPipelineExecutableStatisticKHR(uint32_t featureBits, VkStructureType rootType,
6903 const VkPipelineExecutableStatisticKHR* toCount,
6904 size_t* count) {
6905 (void)featureBits;
6906 (void)rootType;
6907 (void)toCount;
6908 (void)count;
6909 *count += sizeof(VkStructureType);
6910 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6911 rootType = toCount->sType;
6912 }
6913 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6914 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6915 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6916 *count += sizeof(VkPipelineExecutableStatisticFormatKHR);
6917 count_VkPipelineExecutableStatisticValueKHR(
6918 featureBits, rootType, (VkPipelineExecutableStatisticValueKHR*)(&toCount->value), count);
6919 }
6920
count_VkPipelineExecutableInternalRepresentationKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * toCount,size_t * count)6921 void count_VkPipelineExecutableInternalRepresentationKHR(
6922 uint32_t featureBits, VkStructureType rootType,
6923 const VkPipelineExecutableInternalRepresentationKHR* toCount, size_t* count) {
6924 (void)featureBits;
6925 (void)rootType;
6926 (void)toCount;
6927 (void)count;
6928 *count += sizeof(VkStructureType);
6929 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6930 rootType = toCount->sType;
6931 }
6932 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6933 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6934 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6935 *count += sizeof(VkBool32);
6936 *count += 8;
6937 // WARNING PTR CHECK
6938 *count += 8;
6939 if (toCount->pData) {
6940 if (toCount) {
6941 *count += toCount->dataSize * sizeof(uint8_t);
6942 }
6943 }
6944 }
6945
6946 #endif
6947 #ifdef VK_ANDROID_native_buffer
count_VkNativeBufferUsage2ANDROID(uint32_t featureBits,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * toCount,size_t * count)6948 void count_VkNativeBufferUsage2ANDROID(uint32_t featureBits, VkStructureType rootType,
6949 const VkNativeBufferUsage2ANDROID* toCount, size_t* count) {
6950 (void)featureBits;
6951 (void)rootType;
6952 (void)toCount;
6953 (void)count;
6954 *count += sizeof(uint64_t);
6955 *count += sizeof(uint64_t);
6956 }
6957
count_VkNativeBufferANDROID(uint32_t featureBits,VkStructureType rootType,const VkNativeBufferANDROID * toCount,size_t * count)6958 void count_VkNativeBufferANDROID(uint32_t featureBits, VkStructureType rootType,
6959 const VkNativeBufferANDROID* toCount, size_t* count) {
6960 (void)featureBits;
6961 (void)rootType;
6962 (void)toCount;
6963 (void)count;
6964 *count += sizeof(VkStructureType);
6965 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6966 rootType = toCount->sType;
6967 }
6968 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6969 // WARNING PTR CHECK
6970 *count += 8;
6971 if (toCount->handle) {
6972 *count += sizeof(const uint32_t);
6973 }
6974 *count += sizeof(int);
6975 *count += sizeof(int);
6976 *count += sizeof(int);
6977 count_VkNativeBufferUsage2ANDROID(featureBits, rootType,
6978 (VkNativeBufferUsage2ANDROID*)(&toCount->usage2), count);
6979 }
6980
count_VkSwapchainImageCreateInfoANDROID(uint32_t featureBits,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * toCount,size_t * count)6981 void count_VkSwapchainImageCreateInfoANDROID(uint32_t featureBits, VkStructureType rootType,
6982 const VkSwapchainImageCreateInfoANDROID* toCount,
6983 size_t* count) {
6984 (void)featureBits;
6985 (void)rootType;
6986 (void)toCount;
6987 (void)count;
6988 *count += sizeof(VkStructureType);
6989 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6990 rootType = toCount->sType;
6991 }
6992 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6993 *count += sizeof(VkSwapchainImageUsageFlagsANDROID);
6994 }
6995
count_VkPhysicalDevicePresentationPropertiesANDROID(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * toCount,size_t * count)6996 void count_VkPhysicalDevicePresentationPropertiesANDROID(
6997 uint32_t featureBits, VkStructureType rootType,
6998 const VkPhysicalDevicePresentationPropertiesANDROID* toCount, size_t* count) {
6999 (void)featureBits;
7000 (void)rootType;
7001 (void)toCount;
7002 (void)count;
7003 *count += sizeof(VkStructureType);
7004 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7005 rootType = toCount->sType;
7006 }
7007 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7008 *count += sizeof(VkBool32);
7009 }
7010
7011 #endif
7012 #ifdef VK_EXT_transform_feedback
count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * toCount,size_t * count)7013 void count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
7014 uint32_t featureBits, VkStructureType rootType,
7015 const VkPhysicalDeviceTransformFeedbackFeaturesEXT* toCount, size_t* count) {
7016 (void)featureBits;
7017 (void)rootType;
7018 (void)toCount;
7019 (void)count;
7020 *count += sizeof(VkStructureType);
7021 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7022 rootType = toCount->sType;
7023 }
7024 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7025 *count += sizeof(VkBool32);
7026 *count += sizeof(VkBool32);
7027 }
7028
count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * toCount,size_t * count)7029 void count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
7030 uint32_t featureBits, VkStructureType rootType,
7031 const VkPhysicalDeviceTransformFeedbackPropertiesEXT* toCount, size_t* count) {
7032 (void)featureBits;
7033 (void)rootType;
7034 (void)toCount;
7035 (void)count;
7036 *count += sizeof(VkStructureType);
7037 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7038 rootType = toCount->sType;
7039 }
7040 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7041 *count += sizeof(uint32_t);
7042 *count += sizeof(uint32_t);
7043 *count += sizeof(VkDeviceSize);
7044 *count += sizeof(uint32_t);
7045 *count += sizeof(uint32_t);
7046 *count += sizeof(uint32_t);
7047 *count += sizeof(VkBool32);
7048 *count += sizeof(VkBool32);
7049 *count += sizeof(VkBool32);
7050 *count += sizeof(VkBool32);
7051 }
7052
count_VkPipelineRasterizationStateStreamCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * toCount,size_t * count)7053 void count_VkPipelineRasterizationStateStreamCreateInfoEXT(
7054 uint32_t featureBits, VkStructureType rootType,
7055 const VkPipelineRasterizationStateStreamCreateInfoEXT* toCount, size_t* count) {
7056 (void)featureBits;
7057 (void)rootType;
7058 (void)toCount;
7059 (void)count;
7060 *count += sizeof(VkStructureType);
7061 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7062 rootType = toCount->sType;
7063 }
7064 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7065 *count += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
7066 *count += sizeof(uint32_t);
7067 }
7068
7069 #endif
7070 #ifdef VK_EXT_depth_clip_enable
count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * toCount,size_t * count)7071 void count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
7072 uint32_t featureBits, VkStructureType rootType,
7073 const VkPhysicalDeviceDepthClipEnableFeaturesEXT* toCount, size_t* count) {
7074 (void)featureBits;
7075 (void)rootType;
7076 (void)toCount;
7077 (void)count;
7078 *count += sizeof(VkStructureType);
7079 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7080 rootType = toCount->sType;
7081 }
7082 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7083 *count += sizeof(VkBool32);
7084 }
7085
count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * toCount,size_t * count)7086 void count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
7087 uint32_t featureBits, VkStructureType rootType,
7088 const VkPipelineRasterizationDepthClipStateCreateInfoEXT* toCount, size_t* count) {
7089 (void)featureBits;
7090 (void)rootType;
7091 (void)toCount;
7092 (void)count;
7093 *count += sizeof(VkStructureType);
7094 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7095 rootType = toCount->sType;
7096 }
7097 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7098 *count += sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
7099 *count += sizeof(VkBool32);
7100 }
7101
7102 #endif
7103 #ifdef VK_EXT_image_drm_format_modifier
count_VkDrmFormatModifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * toCount,size_t * count)7104 void count_VkDrmFormatModifierPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
7105 const VkDrmFormatModifierPropertiesEXT* toCount,
7106 size_t* count) {
7107 (void)featureBits;
7108 (void)rootType;
7109 (void)toCount;
7110 (void)count;
7111 *count += sizeof(uint64_t);
7112 *count += sizeof(uint32_t);
7113 *count += sizeof(VkFormatFeatureFlags);
7114 }
7115
count_VkDrmFormatModifierPropertiesListEXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * toCount,size_t * count)7116 void count_VkDrmFormatModifierPropertiesListEXT(uint32_t featureBits, VkStructureType rootType,
7117 const VkDrmFormatModifierPropertiesListEXT* toCount,
7118 size_t* count) {
7119 (void)featureBits;
7120 (void)rootType;
7121 (void)toCount;
7122 (void)count;
7123 *count += sizeof(VkStructureType);
7124 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7125 rootType = toCount->sType;
7126 }
7127 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7128 *count += sizeof(uint32_t);
7129 // WARNING PTR CHECK
7130 *count += 8;
7131 if (toCount->pDrmFormatModifierProperties) {
7132 if (toCount) {
7133 for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierCount; ++i) {
7134 count_VkDrmFormatModifierPropertiesEXT(
7135 featureBits, rootType,
7136 (VkDrmFormatModifierPropertiesEXT*)(toCount->pDrmFormatModifierProperties + i),
7137 count);
7138 }
7139 }
7140 }
7141 }
7142
count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * toCount,size_t * count)7143 void count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
7144 uint32_t featureBits, VkStructureType rootType,
7145 const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* toCount, size_t* count) {
7146 (void)featureBits;
7147 (void)rootType;
7148 (void)toCount;
7149 (void)count;
7150 *count += sizeof(VkStructureType);
7151 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7152 rootType = toCount->sType;
7153 }
7154 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7155 *count += sizeof(uint64_t);
7156 *count += sizeof(VkSharingMode);
7157 *count += sizeof(uint32_t);
7158 // WARNING PTR CHECK
7159 *count += 8;
7160 if (toCount->pQueueFamilyIndices) {
7161 if (toCount) {
7162 *count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
7163 }
7164 }
7165 }
7166
count_VkImageDrmFormatModifierListCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * toCount,size_t * count)7167 void count_VkImageDrmFormatModifierListCreateInfoEXT(
7168 uint32_t featureBits, VkStructureType rootType,
7169 const VkImageDrmFormatModifierListCreateInfoEXT* toCount, size_t* count) {
7170 (void)featureBits;
7171 (void)rootType;
7172 (void)toCount;
7173 (void)count;
7174 *count += sizeof(VkStructureType);
7175 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7176 rootType = toCount->sType;
7177 }
7178 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7179 *count += sizeof(uint32_t);
7180 if (toCount) {
7181 *count += toCount->drmFormatModifierCount * sizeof(const uint64_t);
7182 }
7183 }
7184
count_VkImageDrmFormatModifierExplicitCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * toCount,size_t * count)7185 void count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
7186 uint32_t featureBits, VkStructureType rootType,
7187 const VkImageDrmFormatModifierExplicitCreateInfoEXT* toCount, size_t* count) {
7188 (void)featureBits;
7189 (void)rootType;
7190 (void)toCount;
7191 (void)count;
7192 *count += sizeof(VkStructureType);
7193 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7194 rootType = toCount->sType;
7195 }
7196 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7197 *count += sizeof(uint64_t);
7198 *count += sizeof(uint32_t);
7199 if (toCount) {
7200 for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierPlaneCount; ++i) {
7201 count_VkSubresourceLayout(featureBits, rootType,
7202 (const VkSubresourceLayout*)(toCount->pPlaneLayouts + i),
7203 count);
7204 }
7205 }
7206 }
7207
count_VkImageDrmFormatModifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * toCount,size_t * count)7208 void count_VkImageDrmFormatModifierPropertiesEXT(
7209 uint32_t featureBits, VkStructureType rootType,
7210 const VkImageDrmFormatModifierPropertiesEXT* toCount, size_t* count) {
7211 (void)featureBits;
7212 (void)rootType;
7213 (void)toCount;
7214 (void)count;
7215 *count += sizeof(VkStructureType);
7216 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7217 rootType = toCount->sType;
7218 }
7219 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7220 *count += sizeof(uint64_t);
7221 }
7222
count_VkDrmFormatModifierProperties2EXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * toCount,size_t * count)7223 void count_VkDrmFormatModifierProperties2EXT(uint32_t featureBits, VkStructureType rootType,
7224 const VkDrmFormatModifierProperties2EXT* toCount,
7225 size_t* count) {
7226 (void)featureBits;
7227 (void)rootType;
7228 (void)toCount;
7229 (void)count;
7230 *count += sizeof(uint64_t);
7231 *count += sizeof(uint32_t);
7232 *count += sizeof(VkFormatFeatureFlags2);
7233 }
7234
count_VkDrmFormatModifierPropertiesList2EXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * toCount,size_t * count)7235 void count_VkDrmFormatModifierPropertiesList2EXT(
7236 uint32_t featureBits, VkStructureType rootType,
7237 const VkDrmFormatModifierPropertiesList2EXT* toCount, size_t* count) {
7238 (void)featureBits;
7239 (void)rootType;
7240 (void)toCount;
7241 (void)count;
7242 *count += sizeof(VkStructureType);
7243 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7244 rootType = toCount->sType;
7245 }
7246 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7247 *count += sizeof(uint32_t);
7248 // WARNING PTR CHECK
7249 *count += 8;
7250 if (toCount->pDrmFormatModifierProperties) {
7251 if (toCount) {
7252 for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierCount; ++i) {
7253 count_VkDrmFormatModifierProperties2EXT(
7254 featureBits, rootType,
7255 (VkDrmFormatModifierProperties2EXT*)(toCount->pDrmFormatModifierProperties + i),
7256 count);
7257 }
7258 }
7259 }
7260 }
7261
7262 #endif
7263 #ifdef VK_EXT_vertex_attribute_divisor
count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * toCount,size_t * count)7264 void count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
7265 uint32_t featureBits, VkStructureType rootType,
7266 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toCount, 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(uint32_t);
7277 }
7278
7279 #endif
7280 #ifdef VK_EXT_fragment_density_map
count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * toCount,size_t * count)7281 void count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
7282 uint32_t featureBits, VkStructureType rootType,
7283 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* toCount, size_t* count) {
7284 (void)featureBits;
7285 (void)rootType;
7286 (void)toCount;
7287 (void)count;
7288 *count += sizeof(VkStructureType);
7289 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7290 rootType = toCount->sType;
7291 }
7292 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7293 *count += sizeof(VkBool32);
7294 *count += sizeof(VkBool32);
7295 *count += sizeof(VkBool32);
7296 }
7297
count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * toCount,size_t * count)7298 void count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
7299 uint32_t featureBits, VkStructureType rootType,
7300 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* toCount, size_t* count) {
7301 (void)featureBits;
7302 (void)rootType;
7303 (void)toCount;
7304 (void)count;
7305 *count += sizeof(VkStructureType);
7306 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7307 rootType = toCount->sType;
7308 }
7309 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7310 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minFragmentDensityTexelSize),
7311 count);
7312 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxFragmentDensityTexelSize),
7313 count);
7314 *count += sizeof(VkBool32);
7315 }
7316
count_VkRenderPassFragmentDensityMapCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * toCount,size_t * count)7317 void count_VkRenderPassFragmentDensityMapCreateInfoEXT(
7318 uint32_t featureBits, VkStructureType rootType,
7319 const VkRenderPassFragmentDensityMapCreateInfoEXT* toCount, size_t* count) {
7320 (void)featureBits;
7321 (void)rootType;
7322 (void)toCount;
7323 (void)count;
7324 *count += sizeof(VkStructureType);
7325 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7326 rootType = toCount->sType;
7327 }
7328 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7329 count_VkAttachmentReference(featureBits, rootType,
7330 (VkAttachmentReference*)(&toCount->fragmentDensityMapAttachment),
7331 count);
7332 }
7333
count_VkRenderingFragmentDensityMapAttachmentInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * toCount,size_t * count)7334 void count_VkRenderingFragmentDensityMapAttachmentInfoEXT(
7335 uint32_t featureBits, VkStructureType rootType,
7336 const VkRenderingFragmentDensityMapAttachmentInfoEXT* toCount, size_t* count) {
7337 (void)featureBits;
7338 (void)rootType;
7339 (void)toCount;
7340 (void)count;
7341 *count += sizeof(VkStructureType);
7342 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7343 rootType = toCount->sType;
7344 }
7345 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7346 uint64_t cgen_var_0;
7347 *count += 1 * 8;
7348 *count += sizeof(VkImageLayout);
7349 }
7350
7351 #endif
7352 #ifdef VK_EXT_provoking_vertex
count_VkPhysicalDeviceProvokingVertexFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * toCount,size_t * count)7353 void count_VkPhysicalDeviceProvokingVertexFeaturesEXT(
7354 uint32_t featureBits, VkStructureType rootType,
7355 const VkPhysicalDeviceProvokingVertexFeaturesEXT* toCount, size_t* count) {
7356 (void)featureBits;
7357 (void)rootType;
7358 (void)toCount;
7359 (void)count;
7360 *count += sizeof(VkStructureType);
7361 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7362 rootType = toCount->sType;
7363 }
7364 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7365 *count += sizeof(VkBool32);
7366 *count += sizeof(VkBool32);
7367 }
7368
count_VkPhysicalDeviceProvokingVertexPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * toCount,size_t * count)7369 void count_VkPhysicalDeviceProvokingVertexPropertiesEXT(
7370 uint32_t featureBits, VkStructureType rootType,
7371 const VkPhysicalDeviceProvokingVertexPropertiesEXT* toCount, size_t* count) {
7372 (void)featureBits;
7373 (void)rootType;
7374 (void)toCount;
7375 (void)count;
7376 *count += sizeof(VkStructureType);
7377 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7378 rootType = toCount->sType;
7379 }
7380 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7381 *count += sizeof(VkBool32);
7382 *count += sizeof(VkBool32);
7383 }
7384
count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * toCount,size_t * count)7385 void count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
7386 uint32_t featureBits, VkStructureType rootType,
7387 const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* toCount, size_t* count) {
7388 (void)featureBits;
7389 (void)rootType;
7390 (void)toCount;
7391 (void)count;
7392 *count += sizeof(VkStructureType);
7393 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7394 rootType = toCount->sType;
7395 }
7396 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7397 *count += sizeof(VkProvokingVertexModeEXT);
7398 }
7399
7400 #endif
7401 #ifdef VK_EXT_extended_dynamic_state
count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * toCount,size_t * count)7402 void count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
7403 uint32_t featureBits, VkStructureType rootType,
7404 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* toCount, size_t* count) {
7405 (void)featureBits;
7406 (void)rootType;
7407 (void)toCount;
7408 (void)count;
7409 *count += sizeof(VkStructureType);
7410 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7411 rootType = toCount->sType;
7412 }
7413 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7414 *count += sizeof(VkBool32);
7415 }
7416
7417 #endif
7418 #ifdef VK_EXT_texel_buffer_alignment
count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * toCount,size_t * count)7419 void count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
7420 uint32_t featureBits, VkStructureType rootType,
7421 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* toCount, size_t* count) {
7422 (void)featureBits;
7423 (void)rootType;
7424 (void)toCount;
7425 (void)count;
7426 *count += sizeof(VkStructureType);
7427 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7428 rootType = toCount->sType;
7429 }
7430 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7431 *count += sizeof(VkBool32);
7432 }
7433
7434 #endif
7435 #ifdef VK_EXT_device_memory_report
count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * toCount,size_t * count)7436 void count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
7437 uint32_t featureBits, VkStructureType rootType,
7438 const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* toCount, size_t* count) {
7439 (void)featureBits;
7440 (void)rootType;
7441 (void)toCount;
7442 (void)count;
7443 *count += sizeof(VkStructureType);
7444 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7445 rootType = toCount->sType;
7446 }
7447 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7448 *count += sizeof(VkBool32);
7449 }
7450
count_VkDeviceMemoryReportCallbackDataEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * toCount,size_t * count)7451 void count_VkDeviceMemoryReportCallbackDataEXT(uint32_t featureBits, VkStructureType rootType,
7452 const VkDeviceMemoryReportCallbackDataEXT* toCount,
7453 size_t* count) {
7454 (void)featureBits;
7455 (void)rootType;
7456 (void)toCount;
7457 (void)count;
7458 *count += sizeof(VkStructureType);
7459 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7460 rootType = toCount->sType;
7461 }
7462 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7463 *count += sizeof(VkDeviceMemoryReportFlagsEXT);
7464 *count += sizeof(VkDeviceMemoryReportEventTypeEXT);
7465 *count += sizeof(uint64_t);
7466 *count += sizeof(VkDeviceSize);
7467 *count += sizeof(VkObjectType);
7468 *count += sizeof(uint64_t);
7469 *count += sizeof(uint32_t);
7470 }
7471
count_VkDeviceDeviceMemoryReportCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * toCount,size_t * count)7472 void count_VkDeviceDeviceMemoryReportCreateInfoEXT(
7473 uint32_t featureBits, VkStructureType rootType,
7474 const VkDeviceDeviceMemoryReportCreateInfoEXT* toCount, size_t* count) {
7475 (void)featureBits;
7476 (void)rootType;
7477 (void)toCount;
7478 (void)count;
7479 *count += sizeof(VkStructureType);
7480 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7481 rootType = toCount->sType;
7482 }
7483 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7484 *count += sizeof(VkDeviceMemoryReportFlagsEXT);
7485 *count += 8;
7486 *count += sizeof(uint8_t);
7487 }
7488
7489 #endif
7490 #ifdef VK_EXT_robustness2
count_VkPhysicalDeviceRobustness2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * toCount,size_t * count)7491 void count_VkPhysicalDeviceRobustness2FeaturesEXT(
7492 uint32_t featureBits, VkStructureType rootType,
7493 const VkPhysicalDeviceRobustness2FeaturesEXT* toCount, size_t* count) {
7494 (void)featureBits;
7495 (void)rootType;
7496 (void)toCount;
7497 (void)count;
7498 *count += sizeof(VkStructureType);
7499 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7500 rootType = toCount->sType;
7501 }
7502 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7503 *count += sizeof(VkBool32);
7504 *count += sizeof(VkBool32);
7505 *count += sizeof(VkBool32);
7506 }
7507
count_VkPhysicalDeviceRobustness2PropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * toCount,size_t * count)7508 void count_VkPhysicalDeviceRobustness2PropertiesEXT(
7509 uint32_t featureBits, VkStructureType rootType,
7510 const VkPhysicalDeviceRobustness2PropertiesEXT* toCount, size_t* count) {
7511 (void)featureBits;
7512 (void)rootType;
7513 (void)toCount;
7514 (void)count;
7515 *count += sizeof(VkStructureType);
7516 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7517 rootType = toCount->sType;
7518 }
7519 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7520 *count += sizeof(VkDeviceSize);
7521 *count += sizeof(VkDeviceSize);
7522 }
7523
7524 #endif
7525 #ifdef VK_EXT_custom_border_color
count_VkSamplerCustomBorderColorCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * toCount,size_t * count)7526 void count_VkSamplerCustomBorderColorCreateInfoEXT(
7527 uint32_t featureBits, VkStructureType rootType,
7528 const VkSamplerCustomBorderColorCreateInfoEXT* toCount, size_t* count) {
7529 (void)featureBits;
7530 (void)rootType;
7531 (void)toCount;
7532 (void)count;
7533 *count += sizeof(VkStructureType);
7534 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7535 rootType = toCount->sType;
7536 }
7537 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7538 count_VkClearColorValue(featureBits, rootType,
7539 (VkClearColorValue*)(&toCount->customBorderColor), count);
7540 *count += sizeof(VkFormat);
7541 }
7542
count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * toCount,size_t * count)7543 void count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
7544 uint32_t featureBits, VkStructureType rootType,
7545 const VkPhysicalDeviceCustomBorderColorPropertiesEXT* toCount, size_t* count) {
7546 (void)featureBits;
7547 (void)rootType;
7548 (void)toCount;
7549 (void)count;
7550 *count += sizeof(VkStructureType);
7551 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7552 rootType = toCount->sType;
7553 }
7554 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7555 *count += sizeof(uint32_t);
7556 }
7557
count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * toCount,size_t * count)7558 void count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
7559 uint32_t featureBits, VkStructureType rootType,
7560 const VkPhysicalDeviceCustomBorderColorFeaturesEXT* toCount, size_t* count) {
7561 (void)featureBits;
7562 (void)rootType;
7563 (void)toCount;
7564 (void)count;
7565 *count += sizeof(VkStructureType);
7566 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7567 rootType = toCount->sType;
7568 }
7569 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7570 *count += sizeof(VkBool32);
7571 *count += sizeof(VkBool32);
7572 }
7573
7574 #endif
7575 #ifdef VK_EXT_graphics_pipeline_library
count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * toCount,size_t * count)7576 void count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
7577 uint32_t featureBits, VkStructureType rootType,
7578 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* toCount, size_t* count) {
7579 (void)featureBits;
7580 (void)rootType;
7581 (void)toCount;
7582 (void)count;
7583 *count += sizeof(VkStructureType);
7584 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7585 rootType = toCount->sType;
7586 }
7587 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7588 *count += sizeof(VkBool32);
7589 }
7590
count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * toCount,size_t * count)7591 void count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
7592 uint32_t featureBits, VkStructureType rootType,
7593 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* toCount, size_t* count) {
7594 (void)featureBits;
7595 (void)rootType;
7596 (void)toCount;
7597 (void)count;
7598 *count += sizeof(VkStructureType);
7599 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7600 rootType = toCount->sType;
7601 }
7602 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7603 *count += sizeof(VkBool32);
7604 *count += sizeof(VkBool32);
7605 }
7606
count_VkGraphicsPipelineLibraryCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * toCount,size_t * count)7607 void count_VkGraphicsPipelineLibraryCreateInfoEXT(
7608 uint32_t featureBits, VkStructureType rootType,
7609 const VkGraphicsPipelineLibraryCreateInfoEXT* toCount, size_t* count) {
7610 (void)featureBits;
7611 (void)rootType;
7612 (void)toCount;
7613 (void)count;
7614 *count += sizeof(VkStructureType);
7615 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7616 rootType = toCount->sType;
7617 }
7618 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7619 *count += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
7620 }
7621
7622 #endif
7623 #ifdef VK_EXT_ycbcr_2plane_444_formats
count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * toCount,size_t * count)7624 void count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
7625 uint32_t featureBits, VkStructureType rootType,
7626 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* toCount, size_t* count) {
7627 (void)featureBits;
7628 (void)rootType;
7629 (void)toCount;
7630 (void)count;
7631 *count += sizeof(VkStructureType);
7632 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7633 rootType = toCount->sType;
7634 }
7635 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7636 *count += sizeof(VkBool32);
7637 }
7638
7639 #endif
7640 #ifdef VK_EXT_image_compression_control
count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * toCount,size_t * count)7641 void count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
7642 uint32_t featureBits, VkStructureType rootType,
7643 const VkPhysicalDeviceImageCompressionControlFeaturesEXT* toCount, size_t* count) {
7644 (void)featureBits;
7645 (void)rootType;
7646 (void)toCount;
7647 (void)count;
7648 *count += sizeof(VkStructureType);
7649 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7650 rootType = toCount->sType;
7651 }
7652 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7653 *count += sizeof(VkBool32);
7654 }
7655
count_VkImageCompressionControlEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCompressionControlEXT * toCount,size_t * count)7656 void count_VkImageCompressionControlEXT(uint32_t featureBits, VkStructureType rootType,
7657 const VkImageCompressionControlEXT* toCount,
7658 size_t* count) {
7659 (void)featureBits;
7660 (void)rootType;
7661 (void)toCount;
7662 (void)count;
7663 *count += sizeof(VkStructureType);
7664 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7665 rootType = toCount->sType;
7666 }
7667 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7668 *count += sizeof(VkImageCompressionFlagsEXT);
7669 *count += sizeof(uint32_t);
7670 // WARNING PTR CHECK
7671 *count += 8;
7672 if (toCount->pFixedRateFlags) {
7673 if (toCount) {
7674 *count +=
7675 toCount->compressionControlPlaneCount * sizeof(VkImageCompressionFixedRateFlagsEXT);
7676 }
7677 }
7678 }
7679
count_VkImageCompressionPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCompressionPropertiesEXT * toCount,size_t * count)7680 void count_VkImageCompressionPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
7681 const VkImageCompressionPropertiesEXT* toCount,
7682 size_t* count) {
7683 (void)featureBits;
7684 (void)rootType;
7685 (void)toCount;
7686 (void)count;
7687 *count += sizeof(VkStructureType);
7688 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7689 rootType = toCount->sType;
7690 }
7691 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7692 *count += sizeof(VkImageCompressionFlagsEXT);
7693 *count += sizeof(VkImageCompressionFixedRateFlagsEXT);
7694 }
7695
7696 #endif
7697 #ifdef VK_EXT_4444_formats
count_VkPhysicalDevice4444FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * toCount,size_t * count)7698 void count_VkPhysicalDevice4444FormatsFeaturesEXT(
7699 uint32_t featureBits, VkStructureType rootType,
7700 const VkPhysicalDevice4444FormatsFeaturesEXT* 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 *count += sizeof(VkBool32);
7712 }
7713
7714 #endif
7715 #ifdef VK_EXT_primitive_topology_list_restart
count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * toCount,size_t * count)7716 void count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
7717 uint32_t featureBits, VkStructureType rootType,
7718 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* toCount, size_t* count) {
7719 (void)featureBits;
7720 (void)rootType;
7721 (void)toCount;
7722 (void)count;
7723 *count += sizeof(VkStructureType);
7724 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7725 rootType = toCount->sType;
7726 }
7727 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7728 *count += sizeof(VkBool32);
7729 *count += sizeof(VkBool32);
7730 }
7731
7732 #endif
7733 #ifdef VK_EXT_extended_dynamic_state2
count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * toCount,size_t * count)7734 void count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
7735 uint32_t featureBits, VkStructureType rootType,
7736 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* toCount, size_t* count) {
7737 (void)featureBits;
7738 (void)rootType;
7739 (void)toCount;
7740 (void)count;
7741 *count += sizeof(VkStructureType);
7742 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7743 rootType = toCount->sType;
7744 }
7745 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7746 *count += sizeof(VkBool32);
7747 *count += sizeof(VkBool32);
7748 *count += sizeof(VkBool32);
7749 }
7750
7751 #endif
7752 #ifdef VK_EXT_color_write_enable
count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * toCount,size_t * count)7753 void count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
7754 uint32_t featureBits, VkStructureType rootType,
7755 const VkPhysicalDeviceColorWriteEnableFeaturesEXT* toCount, size_t* count) {
7756 (void)featureBits;
7757 (void)rootType;
7758 (void)toCount;
7759 (void)count;
7760 *count += sizeof(VkStructureType);
7761 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7762 rootType = toCount->sType;
7763 }
7764 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7765 *count += sizeof(VkBool32);
7766 }
7767
count_VkPipelineColorWriteCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * toCount,size_t * count)7768 void count_VkPipelineColorWriteCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
7769 const VkPipelineColorWriteCreateInfoEXT* toCount,
7770 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 += sizeof(uint32_t);
7781 if (toCount) {
7782 *count += toCount->attachmentCount * sizeof(const VkBool32);
7783 }
7784 }
7785
7786 #endif
7787 #ifdef VK_GOOGLE_gfxstream
count_VkImportColorBufferGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkImportColorBufferGOOGLE * toCount,size_t * count)7788 void count_VkImportColorBufferGOOGLE(uint32_t featureBits, VkStructureType rootType,
7789 const VkImportColorBufferGOOGLE* toCount, size_t* count) {
7790 (void)featureBits;
7791 (void)rootType;
7792 (void)toCount;
7793 (void)count;
7794 *count += sizeof(VkStructureType);
7795 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7796 rootType = toCount->sType;
7797 }
7798 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7799 *count += sizeof(uint32_t);
7800 }
7801
count_VkImportBufferGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkImportBufferGOOGLE * toCount,size_t * count)7802 void count_VkImportBufferGOOGLE(uint32_t featureBits, VkStructureType rootType,
7803 const VkImportBufferGOOGLE* 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 += sizeof(uint32_t);
7814 }
7815
count_VkCreateBlobGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkCreateBlobGOOGLE * toCount,size_t * count)7816 void count_VkCreateBlobGOOGLE(uint32_t featureBits, VkStructureType rootType,
7817 const VkCreateBlobGOOGLE* toCount, size_t* count) {
7818 (void)featureBits;
7819 (void)rootType;
7820 (void)toCount;
7821 (void)count;
7822 *count += sizeof(VkStructureType);
7823 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7824 rootType = toCount->sType;
7825 }
7826 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7827 *count += sizeof(uint32_t);
7828 *count += sizeof(uint32_t);
7829 *count += sizeof(uint64_t);
7830 }
7831
7832 #endif
7833 #ifdef VK_EXT_image_compression_control_swapchain
count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * toCount,size_t * count)7834 void count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
7835 uint32_t featureBits, VkStructureType rootType,
7836 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* 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(VkBool32);
7847 }
7848
7849 #endif
count_extension_struct(uint32_t featureBits,VkStructureType rootType,const void * structExtension,size_t * count)7850 void count_extension_struct(uint32_t featureBits, VkStructureType rootType,
7851 const void* structExtension, size_t* count) {
7852 VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
7853 size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
7854 featureBits, rootType, structExtension);
7855 if (!currExtSize && structExtension) {
7856 // unknown struct extension; skip and call on its pNext field
7857 count_extension_struct(featureBits, rootType, (void*)structAccess->pNext, count);
7858 return;
7859 } else {
7860 // known or null extension struct
7861 *count += sizeof(uint32_t);
7862 if (!currExtSize) {
7863 // exit if this was a null extension struct (size == 0 in this branch)
7864 return;
7865 }
7866 }
7867 *count += sizeof(VkStructureType);
7868 if (!structExtension) {
7869 return;
7870 }
7871 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
7872 switch (structType) {
7873 #ifdef VK_VERSION_1_0
7874 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
7875 count_VkShaderModuleCreateInfo(
7876 featureBits, rootType,
7877 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension), count);
7878 break;
7879 }
7880 case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: {
7881 count_VkPipelineLayoutCreateInfo(
7882 featureBits, rootType,
7883 reinterpret_cast<const VkPipelineLayoutCreateInfo*>(structExtension), count);
7884 break;
7885 }
7886 #endif
7887 #ifdef VK_VERSION_1_1
7888 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
7889 count_VkPhysicalDeviceSubgroupProperties(
7890 featureBits, rootType,
7891 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension),
7892 count);
7893 break;
7894 }
7895 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
7896 count_VkPhysicalDevice16BitStorageFeatures(
7897 featureBits, rootType,
7898 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
7899 count);
7900 break;
7901 }
7902 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
7903 count_VkMemoryDedicatedRequirements(
7904 featureBits, rootType,
7905 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), count);
7906 break;
7907 }
7908 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
7909 count_VkMemoryDedicatedAllocateInfo(
7910 featureBits, rootType,
7911 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), count);
7912 break;
7913 }
7914 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
7915 count_VkMemoryAllocateFlagsInfo(
7916 featureBits, rootType,
7917 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), count);
7918 break;
7919 }
7920 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
7921 count_VkDeviceGroupRenderPassBeginInfo(
7922 featureBits, rootType,
7923 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), count);
7924 break;
7925 }
7926 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
7927 count_VkDeviceGroupCommandBufferBeginInfo(
7928 featureBits, rootType,
7929 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension),
7930 count);
7931 break;
7932 }
7933 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
7934 count_VkDeviceGroupSubmitInfo(
7935 featureBits, rootType,
7936 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), count);
7937 break;
7938 }
7939 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
7940 count_VkDeviceGroupBindSparseInfo(
7941 featureBits, rootType,
7942 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), count);
7943 break;
7944 }
7945 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
7946 count_VkBindBufferMemoryDeviceGroupInfo(
7947 featureBits, rootType,
7948 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), count);
7949 break;
7950 }
7951 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
7952 count_VkBindImageMemoryDeviceGroupInfo(
7953 featureBits, rootType,
7954 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), count);
7955 break;
7956 }
7957 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
7958 count_VkDeviceGroupDeviceCreateInfo(
7959 featureBits, rootType,
7960 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), count);
7961 break;
7962 }
7963 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
7964 count_VkPhysicalDeviceFeatures2(
7965 featureBits, rootType,
7966 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), count);
7967 break;
7968 }
7969 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
7970 count_VkPhysicalDevicePointClippingProperties(
7971 featureBits, rootType,
7972 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
7973 count);
7974 break;
7975 }
7976 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
7977 count_VkRenderPassInputAttachmentAspectCreateInfo(
7978 featureBits, rootType,
7979 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
7980 structExtension),
7981 count);
7982 break;
7983 }
7984 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
7985 count_VkImageViewUsageCreateInfo(
7986 featureBits, rootType,
7987 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), count);
7988 break;
7989 }
7990 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
7991 count_VkPipelineTessellationDomainOriginStateCreateInfo(
7992 featureBits, rootType,
7993 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
7994 structExtension),
7995 count);
7996 break;
7997 }
7998 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
7999 count_VkRenderPassMultiviewCreateInfo(
8000 featureBits, rootType,
8001 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), count);
8002 break;
8003 }
8004 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
8005 count_VkPhysicalDeviceMultiviewFeatures(
8006 featureBits, rootType,
8007 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), count);
8008 break;
8009 }
8010 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
8011 count_VkPhysicalDeviceMultiviewProperties(
8012 featureBits, rootType,
8013 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension),
8014 count);
8015 break;
8016 }
8017 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
8018 count_VkPhysicalDeviceVariablePointersFeatures(
8019 featureBits, rootType,
8020 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
8021 count);
8022 break;
8023 }
8024 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
8025 count_VkPhysicalDeviceProtectedMemoryFeatures(
8026 featureBits, rootType,
8027 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
8028 count);
8029 break;
8030 }
8031 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
8032 count_VkPhysicalDeviceProtectedMemoryProperties(
8033 featureBits, rootType,
8034 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
8035 count);
8036 break;
8037 }
8038 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
8039 count_VkProtectedSubmitInfo(
8040 featureBits, rootType,
8041 reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension), count);
8042 break;
8043 }
8044 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
8045 count_VkSamplerYcbcrConversionInfo(
8046 featureBits, rootType,
8047 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), count);
8048 break;
8049 }
8050 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
8051 count_VkBindImagePlaneMemoryInfo(
8052 featureBits, rootType,
8053 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), count);
8054 break;
8055 }
8056 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
8057 count_VkImagePlaneMemoryRequirementsInfo(
8058 featureBits, rootType,
8059 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension),
8060 count);
8061 break;
8062 }
8063 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
8064 count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
8065 featureBits, rootType,
8066 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
8067 structExtension),
8068 count);
8069 break;
8070 }
8071 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
8072 count_VkSamplerYcbcrConversionImageFormatProperties(
8073 featureBits, rootType,
8074 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
8075 structExtension),
8076 count);
8077 break;
8078 }
8079 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
8080 count_VkPhysicalDeviceExternalImageFormatInfo(
8081 featureBits, rootType,
8082 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
8083 count);
8084 break;
8085 }
8086 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
8087 count_VkExternalImageFormatProperties(
8088 featureBits, rootType,
8089 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), count);
8090 break;
8091 }
8092 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
8093 count_VkPhysicalDeviceIDProperties(
8094 featureBits, rootType,
8095 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), count);
8096 break;
8097 }
8098 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
8099 count_VkExternalMemoryImageCreateInfo(
8100 featureBits, rootType,
8101 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), count);
8102 break;
8103 }
8104 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
8105 count_VkExternalMemoryBufferCreateInfo(
8106 featureBits, rootType,
8107 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), count);
8108 break;
8109 }
8110 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
8111 count_VkExportMemoryAllocateInfo(
8112 featureBits, rootType,
8113 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), count);
8114 break;
8115 }
8116 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
8117 count_VkExportFenceCreateInfo(
8118 featureBits, rootType,
8119 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), count);
8120 break;
8121 }
8122 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
8123 count_VkExportSemaphoreCreateInfo(
8124 featureBits, rootType,
8125 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), count);
8126 break;
8127 }
8128 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
8129 count_VkPhysicalDeviceMaintenance3Properties(
8130 featureBits, rootType,
8131 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
8132 count);
8133 break;
8134 }
8135 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
8136 count_VkPhysicalDeviceShaderDrawParametersFeatures(
8137 featureBits, rootType,
8138 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
8139 structExtension),
8140 count);
8141 break;
8142 }
8143 #endif
8144 #ifdef VK_VERSION_1_2
8145 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
8146 count_VkPhysicalDeviceVulkan11Features(
8147 featureBits, rootType,
8148 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension), count);
8149 break;
8150 }
8151 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
8152 count_VkPhysicalDeviceVulkan11Properties(
8153 featureBits, rootType,
8154 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension),
8155 count);
8156 break;
8157 }
8158 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
8159 count_VkPhysicalDeviceVulkan12Features(
8160 featureBits, rootType,
8161 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension), count);
8162 break;
8163 }
8164 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
8165 count_VkPhysicalDeviceVulkan12Properties(
8166 featureBits, rootType,
8167 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension),
8168 count);
8169 break;
8170 }
8171 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
8172 count_VkImageFormatListCreateInfo(
8173 featureBits, rootType,
8174 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension), count);
8175 break;
8176 }
8177 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
8178 count_VkPhysicalDevice8BitStorageFeatures(
8179 featureBits, rootType,
8180 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension),
8181 count);
8182 break;
8183 }
8184 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
8185 count_VkPhysicalDeviceDriverProperties(
8186 featureBits, rootType,
8187 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension), count);
8188 break;
8189 }
8190 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
8191 count_VkPhysicalDeviceShaderAtomicInt64Features(
8192 featureBits, rootType,
8193 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
8194 count);
8195 break;
8196 }
8197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
8198 count_VkPhysicalDeviceShaderFloat16Int8Features(
8199 featureBits, rootType,
8200 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
8201 count);
8202 break;
8203 }
8204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
8205 count_VkPhysicalDeviceFloatControlsProperties(
8206 featureBits, rootType,
8207 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
8208 count);
8209 break;
8210 }
8211 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
8212 count_VkDescriptorSetLayoutBindingFlagsCreateInfo(
8213 featureBits, rootType,
8214 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
8215 structExtension),
8216 count);
8217 break;
8218 }
8219 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
8220 count_VkPhysicalDeviceDescriptorIndexingFeatures(
8221 featureBits, rootType,
8222 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
8223 structExtension),
8224 count);
8225 break;
8226 }
8227 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
8228 count_VkPhysicalDeviceDescriptorIndexingProperties(
8229 featureBits, rootType,
8230 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
8231 structExtension),
8232 count);
8233 break;
8234 }
8235 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
8236 count_VkDescriptorSetVariableDescriptorCountAllocateInfo(
8237 featureBits, rootType,
8238 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
8239 structExtension),
8240 count);
8241 break;
8242 }
8243 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
8244 count_VkDescriptorSetVariableDescriptorCountLayoutSupport(
8245 featureBits, rootType,
8246 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
8247 structExtension),
8248 count);
8249 break;
8250 }
8251 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
8252 count_VkSubpassDescriptionDepthStencilResolve(
8253 featureBits, rootType,
8254 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
8255 count);
8256 break;
8257 }
8258 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
8259 count_VkPhysicalDeviceDepthStencilResolveProperties(
8260 featureBits, rootType,
8261 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
8262 structExtension),
8263 count);
8264 break;
8265 }
8266 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
8267 count_VkPhysicalDeviceScalarBlockLayoutFeatures(
8268 featureBits, rootType,
8269 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
8270 count);
8271 break;
8272 }
8273 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
8274 count_VkImageStencilUsageCreateInfo(
8275 featureBits, rootType,
8276 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension), count);
8277 break;
8278 }
8279 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
8280 count_VkSamplerReductionModeCreateInfo(
8281 featureBits, rootType,
8282 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension), count);
8283 break;
8284 }
8285 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
8286 count_VkPhysicalDeviceSamplerFilterMinmaxProperties(
8287 featureBits, rootType,
8288 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
8289 structExtension),
8290 count);
8291 break;
8292 }
8293 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
8294 count_VkPhysicalDeviceVulkanMemoryModelFeatures(
8295 featureBits, rootType,
8296 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
8297 count);
8298 break;
8299 }
8300 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
8301 count_VkPhysicalDeviceImagelessFramebufferFeatures(
8302 featureBits, rootType,
8303 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
8304 structExtension),
8305 count);
8306 break;
8307 }
8308 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
8309 count_VkFramebufferAttachmentsCreateInfo(
8310 featureBits, rootType,
8311 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension),
8312 count);
8313 break;
8314 }
8315 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
8316 count_VkRenderPassAttachmentBeginInfo(
8317 featureBits, rootType,
8318 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension), count);
8319 break;
8320 }
8321 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
8322 count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
8323 featureBits, rootType,
8324 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
8325 structExtension),
8326 count);
8327 break;
8328 }
8329 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
8330 count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
8331 featureBits, rootType,
8332 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
8333 structExtension),
8334 count);
8335 break;
8336 }
8337 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
8338 count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
8339 featureBits, rootType,
8340 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
8341 structExtension),
8342 count);
8343 break;
8344 }
8345 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
8346 count_VkAttachmentReferenceStencilLayout(
8347 featureBits, rootType,
8348 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension),
8349 count);
8350 break;
8351 }
8352 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
8353 count_VkAttachmentDescriptionStencilLayout(
8354 featureBits, rootType,
8355 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
8356 count);
8357 break;
8358 }
8359 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
8360 count_VkPhysicalDeviceHostQueryResetFeatures(
8361 featureBits, rootType,
8362 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
8363 count);
8364 break;
8365 }
8366 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
8367 count_VkPhysicalDeviceTimelineSemaphoreFeatures(
8368 featureBits, rootType,
8369 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
8370 count);
8371 break;
8372 }
8373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
8374 count_VkPhysicalDeviceTimelineSemaphoreProperties(
8375 featureBits, rootType,
8376 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
8377 structExtension),
8378 count);
8379 break;
8380 }
8381 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
8382 count_VkSemaphoreTypeCreateInfo(
8383 featureBits, rootType,
8384 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension), count);
8385 break;
8386 }
8387 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
8388 count_VkTimelineSemaphoreSubmitInfo(
8389 featureBits, rootType,
8390 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension), count);
8391 break;
8392 }
8393 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
8394 count_VkPhysicalDeviceBufferDeviceAddressFeatures(
8395 featureBits, rootType,
8396 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
8397 structExtension),
8398 count);
8399 break;
8400 }
8401 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
8402 count_VkBufferOpaqueCaptureAddressCreateInfo(
8403 featureBits, rootType,
8404 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
8405 count);
8406 break;
8407 }
8408 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
8409 count_VkMemoryOpaqueCaptureAddressAllocateInfo(
8410 featureBits, rootType,
8411 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
8412 count);
8413 break;
8414 }
8415 #endif
8416 #ifdef VK_VERSION_1_3
8417 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
8418 count_VkPhysicalDeviceVulkan13Features(
8419 featureBits, rootType,
8420 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension), count);
8421 break;
8422 }
8423 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
8424 count_VkPhysicalDeviceVulkan13Properties(
8425 featureBits, rootType,
8426 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension),
8427 count);
8428 break;
8429 }
8430 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
8431 count_VkPipelineCreationFeedbackCreateInfo(
8432 featureBits, rootType,
8433 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension),
8434 count);
8435 break;
8436 }
8437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
8438 count_VkPhysicalDeviceShaderTerminateInvocationFeatures(
8439 featureBits, rootType,
8440 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
8441 structExtension),
8442 count);
8443 break;
8444 }
8445 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
8446 count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
8447 featureBits, rootType,
8448 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
8449 structExtension),
8450 count);
8451 break;
8452 }
8453 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
8454 count_VkPhysicalDevicePrivateDataFeatures(
8455 featureBits, rootType,
8456 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension),
8457 count);
8458 break;
8459 }
8460 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
8461 count_VkDevicePrivateDataCreateInfo(
8462 featureBits, rootType,
8463 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension), count);
8464 break;
8465 }
8466 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
8467 count_VkPhysicalDevicePipelineCreationCacheControlFeatures(
8468 featureBits, rootType,
8469 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
8470 structExtension),
8471 count);
8472 break;
8473 }
8474 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
8475 count_VkMemoryBarrier2(featureBits, rootType,
8476 reinterpret_cast<const VkMemoryBarrier2*>(structExtension),
8477 count);
8478 break;
8479 }
8480 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
8481 count_VkPhysicalDeviceSynchronization2Features(
8482 featureBits, rootType,
8483 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension),
8484 count);
8485 break;
8486 }
8487 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
8488 count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
8489 featureBits, rootType,
8490 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
8491 structExtension),
8492 count);
8493 break;
8494 }
8495 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
8496 count_VkPhysicalDeviceImageRobustnessFeatures(
8497 featureBits, rootType,
8498 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension),
8499 count);
8500 break;
8501 }
8502 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
8503 count_VkPhysicalDeviceSubgroupSizeControlFeatures(
8504 featureBits, rootType,
8505 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
8506 structExtension),
8507 count);
8508 break;
8509 }
8510 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
8511 count_VkPhysicalDeviceSubgroupSizeControlProperties(
8512 featureBits, rootType,
8513 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
8514 structExtension),
8515 count);
8516 break;
8517 }
8518 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
8519 count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
8520 featureBits, rootType,
8521 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
8522 structExtension),
8523 count);
8524 break;
8525 }
8526 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
8527 count_VkPhysicalDeviceInlineUniformBlockFeatures(
8528 featureBits, rootType,
8529 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
8530 structExtension),
8531 count);
8532 break;
8533 }
8534 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
8535 count_VkPhysicalDeviceInlineUniformBlockProperties(
8536 featureBits, rootType,
8537 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
8538 structExtension),
8539 count);
8540 break;
8541 }
8542 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
8543 count_VkWriteDescriptorSetInlineUniformBlock(
8544 featureBits, rootType,
8545 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension),
8546 count);
8547 break;
8548 }
8549 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
8550 count_VkDescriptorPoolInlineUniformBlockCreateInfo(
8551 featureBits, rootType,
8552 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
8553 structExtension),
8554 count);
8555 break;
8556 }
8557 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
8558 count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
8559 featureBits, rootType,
8560 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
8561 structExtension),
8562 count);
8563 break;
8564 }
8565 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
8566 count_VkPipelineRenderingCreateInfo(
8567 featureBits, rootType,
8568 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension), count);
8569 break;
8570 }
8571 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
8572 count_VkPhysicalDeviceDynamicRenderingFeatures(
8573 featureBits, rootType,
8574 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension),
8575 count);
8576 break;
8577 }
8578 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
8579 count_VkCommandBufferInheritanceRenderingInfo(
8580 featureBits, rootType,
8581 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension),
8582 count);
8583 break;
8584 }
8585 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
8586 count_VkPhysicalDeviceShaderIntegerDotProductFeatures(
8587 featureBits, rootType,
8588 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
8589 structExtension),
8590 count);
8591 break;
8592 }
8593 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
8594 count_VkPhysicalDeviceShaderIntegerDotProductProperties(
8595 featureBits, rootType,
8596 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
8597 structExtension),
8598 count);
8599 break;
8600 }
8601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
8602 count_VkPhysicalDeviceTexelBufferAlignmentProperties(
8603 featureBits, rootType,
8604 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
8605 structExtension),
8606 count);
8607 break;
8608 }
8609 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
8610 count_VkFormatProperties3(featureBits, rootType,
8611 reinterpret_cast<const VkFormatProperties3*>(structExtension),
8612 count);
8613 break;
8614 }
8615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
8616 count_VkPhysicalDeviceMaintenance4Features(
8617 featureBits, rootType,
8618 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension),
8619 count);
8620 break;
8621 }
8622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
8623 count_VkPhysicalDeviceMaintenance4Properties(
8624 featureBits, rootType,
8625 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension),
8626 count);
8627 break;
8628 }
8629 #endif
8630 #ifdef VK_VERSION_1_4
8631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: {
8632 count_VkPhysicalDeviceVulkan14Features(
8633 featureBits, rootType,
8634 reinterpret_cast<const VkPhysicalDeviceVulkan14Features*>(structExtension), count);
8635 break;
8636 }
8637 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: {
8638 count_VkPhysicalDeviceVulkan14Properties(
8639 featureBits, rootType,
8640 reinterpret_cast<const VkPhysicalDeviceVulkan14Properties*>(structExtension),
8641 count);
8642 break;
8643 }
8644 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO: {
8645 count_VkDeviceQueueGlobalPriorityCreateInfo(
8646 featureBits, rootType,
8647 reinterpret_cast<const VkDeviceQueueGlobalPriorityCreateInfo*>(structExtension),
8648 count);
8649 break;
8650 }
8651 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: {
8652 count_VkPhysicalDeviceGlobalPriorityQueryFeatures(
8653 featureBits, rootType,
8654 reinterpret_cast<const VkPhysicalDeviceGlobalPriorityQueryFeatures*>(
8655 structExtension),
8656 count);
8657 break;
8658 }
8659 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: {
8660 count_VkQueueFamilyGlobalPriorityProperties(
8661 featureBits, rootType,
8662 reinterpret_cast<const VkQueueFamilyGlobalPriorityProperties*>(structExtension),
8663 count);
8664 break;
8665 }
8666 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: {
8667 count_VkPhysicalDeviceShaderSubgroupRotateFeatures(
8668 featureBits, rootType,
8669 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupRotateFeatures*>(
8670 structExtension),
8671 count);
8672 break;
8673 }
8674 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: {
8675 count_VkPhysicalDeviceShaderFloatControls2Features(
8676 featureBits, rootType,
8677 reinterpret_cast<const VkPhysicalDeviceShaderFloatControls2Features*>(
8678 structExtension),
8679 count);
8680 break;
8681 }
8682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: {
8683 count_VkPhysicalDeviceShaderExpectAssumeFeatures(
8684 featureBits, rootType,
8685 reinterpret_cast<const VkPhysicalDeviceShaderExpectAssumeFeatures*>(
8686 structExtension),
8687 count);
8688 break;
8689 }
8690 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: {
8691 count_VkPhysicalDeviceLineRasterizationFeatures(
8692 featureBits, rootType,
8693 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeatures*>(structExtension),
8694 count);
8695 break;
8696 }
8697 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: {
8698 count_VkPhysicalDeviceLineRasterizationProperties(
8699 featureBits, rootType,
8700 reinterpret_cast<const VkPhysicalDeviceLineRasterizationProperties*>(
8701 structExtension),
8702 count);
8703 break;
8704 }
8705 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: {
8706 count_VkPipelineRasterizationLineStateCreateInfo(
8707 featureBits, rootType,
8708 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfo*>(
8709 structExtension),
8710 count);
8711 break;
8712 }
8713 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: {
8714 count_VkPhysicalDeviceVertexAttributeDivisorProperties(
8715 featureBits, rootType,
8716 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorProperties*>(
8717 structExtension),
8718 count);
8719 break;
8720 }
8721 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: {
8722 count_VkPipelineVertexInputDivisorStateCreateInfo(
8723 featureBits, rootType,
8724 reinterpret_cast<const VkPipelineVertexInputDivisorStateCreateInfo*>(
8725 structExtension),
8726 count);
8727 break;
8728 }
8729 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: {
8730 count_VkPhysicalDeviceVertexAttributeDivisorFeatures(
8731 featureBits, rootType,
8732 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeatures*>(
8733 structExtension),
8734 count);
8735 break;
8736 }
8737 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: {
8738 count_VkPhysicalDeviceIndexTypeUint8Features(
8739 featureBits, rootType,
8740 reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8Features*>(structExtension),
8741 count);
8742 break;
8743 }
8744 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: {
8745 count_VkPhysicalDeviceMaintenance5Features(
8746 featureBits, rootType,
8747 reinterpret_cast<const VkPhysicalDeviceMaintenance5Features*>(structExtension),
8748 count);
8749 break;
8750 }
8751 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: {
8752 count_VkPhysicalDeviceMaintenance5Properties(
8753 featureBits, rootType,
8754 reinterpret_cast<const VkPhysicalDeviceMaintenance5Properties*>(structExtension),
8755 count);
8756 break;
8757 }
8758 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: {
8759 count_VkPipelineCreateFlags2CreateInfo(
8760 featureBits, rootType,
8761 reinterpret_cast<const VkPipelineCreateFlags2CreateInfo*>(structExtension), count);
8762 break;
8763 }
8764 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: {
8765 count_VkBufferUsageFlags2CreateInfo(
8766 featureBits, rootType,
8767 reinterpret_cast<const VkBufferUsageFlags2CreateInfo*>(structExtension), count);
8768 break;
8769 }
8770 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: {
8771 count_VkPhysicalDevicePushDescriptorProperties(
8772 featureBits, rootType,
8773 reinterpret_cast<const VkPhysicalDevicePushDescriptorProperties*>(structExtension),
8774 count);
8775 break;
8776 }
8777 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: {
8778 count_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(
8779 featureBits, rootType,
8780 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingLocalReadFeatures*>(
8781 structExtension),
8782 count);
8783 break;
8784 }
8785 case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: {
8786 count_VkRenderingAttachmentLocationInfo(
8787 featureBits, rootType,
8788 reinterpret_cast<const VkRenderingAttachmentLocationInfo*>(structExtension), count);
8789 break;
8790 }
8791 case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: {
8792 count_VkRenderingInputAttachmentIndexInfo(
8793 featureBits, rootType,
8794 reinterpret_cast<const VkRenderingInputAttachmentIndexInfo*>(structExtension),
8795 count);
8796 break;
8797 }
8798 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: {
8799 count_VkPhysicalDeviceMaintenance6Features(
8800 featureBits, rootType,
8801 reinterpret_cast<const VkPhysicalDeviceMaintenance6Features*>(structExtension),
8802 count);
8803 break;
8804 }
8805 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: {
8806 count_VkPhysicalDeviceMaintenance6Properties(
8807 featureBits, rootType,
8808 reinterpret_cast<const VkPhysicalDeviceMaintenance6Properties*>(structExtension),
8809 count);
8810 break;
8811 }
8812 case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: {
8813 count_VkBindMemoryStatus(featureBits, rootType,
8814 reinterpret_cast<const VkBindMemoryStatus*>(structExtension),
8815 count);
8816 break;
8817 }
8818 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: {
8819 count_VkPhysicalDevicePipelineProtectedAccessFeatures(
8820 featureBits, rootType,
8821 reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeatures*>(
8822 structExtension),
8823 count);
8824 break;
8825 }
8826 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: {
8827 count_VkPhysicalDevicePipelineRobustnessFeatures(
8828 featureBits, rootType,
8829 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeatures*>(
8830 structExtension),
8831 count);
8832 break;
8833 }
8834 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: {
8835 count_VkPhysicalDevicePipelineRobustnessProperties(
8836 featureBits, rootType,
8837 reinterpret_cast<const VkPhysicalDevicePipelineRobustnessProperties*>(
8838 structExtension),
8839 count);
8840 break;
8841 }
8842 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: {
8843 count_VkPipelineRobustnessCreateInfo(
8844 featureBits, rootType,
8845 reinterpret_cast<const VkPipelineRobustnessCreateInfo*>(structExtension), count);
8846 break;
8847 }
8848 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: {
8849 count_VkPhysicalDeviceHostImageCopyFeatures(
8850 featureBits, rootType,
8851 reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeatures*>(structExtension),
8852 count);
8853 break;
8854 }
8855 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: {
8856 count_VkPhysicalDeviceHostImageCopyProperties(
8857 featureBits, rootType,
8858 reinterpret_cast<const VkPhysicalDeviceHostImageCopyProperties*>(structExtension),
8859 count);
8860 break;
8861 }
8862 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: {
8863 count_VkSubresourceHostMemcpySize(
8864 featureBits, rootType,
8865 reinterpret_cast<const VkSubresourceHostMemcpySize*>(structExtension), count);
8866 break;
8867 }
8868 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: {
8869 count_VkHostImageCopyDevicePerformanceQuery(
8870 featureBits, rootType,
8871 reinterpret_cast<const VkHostImageCopyDevicePerformanceQuery*>(structExtension),
8872 count);
8873 break;
8874 }
8875 #endif
8876 #ifdef VK_KHR_incremental_present
8877 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
8878 count_VkPresentRegionsKHR(featureBits, rootType,
8879 reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
8880 count);
8881 break;
8882 }
8883 #endif
8884 #ifdef VK_KHR_pipeline_executable_properties
8885 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
8886 count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
8887 featureBits, rootType,
8888 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
8889 structExtension),
8890 count);
8891 break;
8892 }
8893 #endif
8894 #ifdef VK_ANDROID_native_buffer
8895 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
8896 count_VkNativeBufferANDROID(
8897 featureBits, rootType,
8898 reinterpret_cast<const VkNativeBufferANDROID*>(structExtension), count);
8899 break;
8900 }
8901 #endif
8902 #ifdef VK_EXT_transform_feedback
8903 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
8904 count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
8905 featureBits, rootType,
8906 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
8907 structExtension),
8908 count);
8909 break;
8910 }
8911 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
8912 count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
8913 featureBits, rootType,
8914 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
8915 structExtension),
8916 count);
8917 break;
8918 }
8919 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
8920 count_VkPipelineRasterizationStateStreamCreateInfoEXT(
8921 featureBits, rootType,
8922 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
8923 structExtension),
8924 count);
8925 break;
8926 }
8927 #endif
8928 #ifdef VK_EXT_depth_clip_enable
8929 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
8930 count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
8931 featureBits, rootType,
8932 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
8933 structExtension),
8934 count);
8935 break;
8936 }
8937 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
8938 count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
8939 featureBits, rootType,
8940 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
8941 structExtension),
8942 count);
8943 break;
8944 }
8945 #endif
8946 #ifdef VK_EXT_image_drm_format_modifier
8947 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
8948 count_VkDrmFormatModifierPropertiesListEXT(
8949 featureBits, rootType,
8950 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension),
8951 count);
8952 break;
8953 }
8954 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
8955 count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
8956 featureBits, rootType,
8957 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
8958 structExtension),
8959 count);
8960 break;
8961 }
8962 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
8963 count_VkImageDrmFormatModifierListCreateInfoEXT(
8964 featureBits, rootType,
8965 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension),
8966 count);
8967 break;
8968 }
8969 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
8970 count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
8971 featureBits, rootType,
8972 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
8973 structExtension),
8974 count);
8975 break;
8976 }
8977 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
8978 count_VkDrmFormatModifierPropertiesList2EXT(
8979 featureBits, rootType,
8980 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension),
8981 count);
8982 break;
8983 }
8984 #endif
8985 #ifdef VK_EXT_vertex_attribute_divisor
8986 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
8987 count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
8988 featureBits, rootType,
8989 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
8990 structExtension),
8991 count);
8992 break;
8993 }
8994 #endif
8995 #ifdef VK_EXT_fragment_density_map
8996 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
8997 switch (rootType) {
8998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
8999 count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
9000 featureBits, rootType,
9001 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
9002 structExtension),
9003 count);
9004 break;
9005 }
9006 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
9007 count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
9008 featureBits, rootType,
9009 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
9010 structExtension),
9011 count);
9012 break;
9013 }
9014 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
9015 count_VkImportColorBufferGOOGLE(
9016 featureBits, rootType,
9017 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
9018 break;
9019 }
9020 default: {
9021 count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
9022 featureBits, rootType,
9023 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
9024 structExtension),
9025 count);
9026 break;
9027 }
9028 }
9029 break;
9030 }
9031 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
9032 switch (rootType) {
9033 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
9034 count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
9035 featureBits, rootType,
9036 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
9037 structExtension),
9038 count);
9039 break;
9040 }
9041 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
9042 count_VkCreateBlobGOOGLE(
9043 featureBits, rootType,
9044 reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension), count);
9045 break;
9046 }
9047 default: {
9048 count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
9049 featureBits, rootType,
9050 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
9051 structExtension),
9052 count);
9053 break;
9054 }
9055 }
9056 break;
9057 }
9058 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
9059 switch (rootType) {
9060 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
9061 count_VkRenderPassFragmentDensityMapCreateInfoEXT(
9062 featureBits, rootType,
9063 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
9064 structExtension),
9065 count);
9066 break;
9067 }
9068 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
9069 count_VkRenderPassFragmentDensityMapCreateInfoEXT(
9070 featureBits, rootType,
9071 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
9072 structExtension),
9073 count);
9074 break;
9075 }
9076 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
9077 count_VkImportBufferGOOGLE(
9078 featureBits, rootType,
9079 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
9080 break;
9081 }
9082 default: {
9083 count_VkRenderPassFragmentDensityMapCreateInfoEXT(
9084 featureBits, rootType,
9085 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
9086 structExtension),
9087 count);
9088 break;
9089 }
9090 }
9091 break;
9092 }
9093 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
9094 count_VkRenderingFragmentDensityMapAttachmentInfoEXT(
9095 featureBits, rootType,
9096 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
9097 structExtension),
9098 count);
9099 break;
9100 }
9101 #endif
9102 #ifdef VK_EXT_provoking_vertex
9103 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
9104 count_VkPhysicalDeviceProvokingVertexFeaturesEXT(
9105 featureBits, rootType,
9106 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
9107 structExtension),
9108 count);
9109 break;
9110 }
9111 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
9112 count_VkPhysicalDeviceProvokingVertexPropertiesEXT(
9113 featureBits, rootType,
9114 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
9115 structExtension),
9116 count);
9117 break;
9118 }
9119 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
9120 count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
9121 featureBits, rootType,
9122 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
9123 structExtension),
9124 count);
9125 break;
9126 }
9127 #endif
9128 #ifdef VK_EXT_extended_dynamic_state
9129 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
9130 count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
9131 featureBits, rootType,
9132 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
9133 structExtension),
9134 count);
9135 break;
9136 }
9137 #endif
9138 #ifdef VK_EXT_texel_buffer_alignment
9139 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
9140 count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
9141 featureBits, rootType,
9142 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
9143 structExtension),
9144 count);
9145 break;
9146 }
9147 #endif
9148 #ifdef VK_EXT_device_memory_report
9149 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
9150 count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
9151 featureBits, rootType,
9152 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
9153 structExtension),
9154 count);
9155 break;
9156 }
9157 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
9158 count_VkDeviceDeviceMemoryReportCreateInfoEXT(
9159 featureBits, rootType,
9160 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
9161 count);
9162 break;
9163 }
9164 #endif
9165 #ifdef VK_EXT_robustness2
9166 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
9167 count_VkPhysicalDeviceRobustness2FeaturesEXT(
9168 featureBits, rootType,
9169 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
9170 count);
9171 break;
9172 }
9173 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
9174 count_VkPhysicalDeviceRobustness2PropertiesEXT(
9175 featureBits, rootType,
9176 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
9177 count);
9178 break;
9179 }
9180 #endif
9181 #ifdef VK_EXT_custom_border_color
9182 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
9183 count_VkSamplerCustomBorderColorCreateInfoEXT(
9184 featureBits, rootType,
9185 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
9186 count);
9187 break;
9188 }
9189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
9190 count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
9191 featureBits, rootType,
9192 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
9193 structExtension),
9194 count);
9195 break;
9196 }
9197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
9198 count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
9199 featureBits, rootType,
9200 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
9201 structExtension),
9202 count);
9203 break;
9204 }
9205 #endif
9206 #ifdef VK_EXT_graphics_pipeline_library
9207 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
9208 count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
9209 featureBits, rootType,
9210 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
9211 structExtension),
9212 count);
9213 break;
9214 }
9215 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
9216 count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
9217 featureBits, rootType,
9218 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
9219 structExtension),
9220 count);
9221 break;
9222 }
9223 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
9224 count_VkGraphicsPipelineLibraryCreateInfoEXT(
9225 featureBits, rootType,
9226 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension),
9227 count);
9228 break;
9229 }
9230 #endif
9231 #ifdef VK_EXT_ycbcr_2plane_444_formats
9232 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
9233 count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
9234 featureBits, rootType,
9235 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
9236 structExtension),
9237 count);
9238 break;
9239 }
9240 #endif
9241 #ifdef VK_EXT_image_compression_control
9242 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
9243 count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
9244 featureBits, rootType,
9245 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
9246 structExtension),
9247 count);
9248 break;
9249 }
9250 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
9251 count_VkImageCompressionControlEXT(
9252 featureBits, rootType,
9253 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension), count);
9254 break;
9255 }
9256 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
9257 count_VkImageCompressionPropertiesEXT(
9258 featureBits, rootType,
9259 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension), count);
9260 break;
9261 }
9262 #endif
9263 #ifdef VK_EXT_4444_formats
9264 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
9265 count_VkPhysicalDevice4444FormatsFeaturesEXT(
9266 featureBits, rootType,
9267 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
9268 count);
9269 break;
9270 }
9271 #endif
9272 #ifdef VK_EXT_primitive_topology_list_restart
9273 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
9274 count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
9275 featureBits, rootType,
9276 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
9277 structExtension),
9278 count);
9279 break;
9280 }
9281 #endif
9282 #ifdef VK_EXT_extended_dynamic_state2
9283 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
9284 count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
9285 featureBits, rootType,
9286 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
9287 structExtension),
9288 count);
9289 break;
9290 }
9291 #endif
9292 #ifdef VK_EXT_color_write_enable
9293 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
9294 count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
9295 featureBits, rootType,
9296 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
9297 structExtension),
9298 count);
9299 break;
9300 }
9301 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
9302 count_VkPipelineColorWriteCreateInfoEXT(
9303 featureBits, rootType,
9304 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension), count);
9305 break;
9306 }
9307 #endif
9308 #ifdef VK_GOOGLE_gfxstream
9309 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
9310 count_VkImportColorBufferGOOGLE(
9311 featureBits, rootType,
9312 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
9313 break;
9314 }
9315 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
9316 count_VkImportBufferGOOGLE(
9317 featureBits, rootType,
9318 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
9319 break;
9320 }
9321 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
9322 count_VkCreateBlobGOOGLE(featureBits, rootType,
9323 reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
9324 count);
9325 break;
9326 }
9327 #endif
9328 #ifdef VK_EXT_image_compression_control_swapchain
9329 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
9330 count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
9331 featureBits, rootType,
9332 reinterpret_cast<
9333 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
9334 structExtension),
9335 count);
9336 break;
9337 }
9338 #endif
9339 default: {
9340 // fatal; the switch is only taken if the extension struct is known
9341 abort();
9342 }
9343 }
9344 }
9345
9346 } // namespace vk
9347 } // namespace gfxstream
9348