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_KHR_dynamic_rendering
count_VkRenderingFragmentShadingRateAttachmentInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkRenderingFragmentShadingRateAttachmentInfoKHR * toCount,size_t * count)5711 void count_VkRenderingFragmentShadingRateAttachmentInfoKHR(
5712 uint32_t featureBits, VkStructureType rootType,
5713 const VkRenderingFragmentShadingRateAttachmentInfoKHR* toCount, 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 uint64_t cgen_var_0;
5724 *count += 1 * 8;
5725 *count += sizeof(VkImageLayout);
5726 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->shadingRateAttachmentTexelSize),
5727 count);
5728 }
5729
count_VkRenderingFragmentDensityMapAttachmentInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderingFragmentDensityMapAttachmentInfoEXT * toCount,size_t * count)5730 void count_VkRenderingFragmentDensityMapAttachmentInfoEXT(
5731 uint32_t featureBits, VkStructureType rootType,
5732 const VkRenderingFragmentDensityMapAttachmentInfoEXT* toCount, size_t* count) {
5733 (void)featureBits;
5734 (void)rootType;
5735 (void)toCount;
5736 (void)count;
5737 *count += sizeof(VkStructureType);
5738 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5739 rootType = toCount->sType;
5740 }
5741 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5742 uint64_t cgen_var_0;
5743 *count += 1 * 8;
5744 *count += sizeof(VkImageLayout);
5745 }
5746
count_VkAttachmentSampleCountInfoAMD(uint32_t featureBits,VkStructureType rootType,const VkAttachmentSampleCountInfoAMD * toCount,size_t * count)5747 void count_VkAttachmentSampleCountInfoAMD(uint32_t featureBits, VkStructureType rootType,
5748 const VkAttachmentSampleCountInfoAMD* toCount,
5749 size_t* count) {
5750 (void)featureBits;
5751 (void)rootType;
5752 (void)toCount;
5753 (void)count;
5754 *count += sizeof(VkStructureType);
5755 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5756 rootType = toCount->sType;
5757 }
5758 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5759 *count += sizeof(uint32_t);
5760 // WARNING PTR CHECK
5761 *count += 8;
5762 if (toCount->pColorAttachmentSamples) {
5763 if (toCount) {
5764 *count += toCount->colorAttachmentCount * sizeof(const VkSampleCountFlagBits);
5765 }
5766 }
5767 *count += sizeof(VkSampleCountFlagBits);
5768 }
5769
count_VkMultiviewPerViewAttributesInfoNVX(uint32_t featureBits,VkStructureType rootType,const VkMultiviewPerViewAttributesInfoNVX * toCount,size_t * count)5770 void count_VkMultiviewPerViewAttributesInfoNVX(uint32_t featureBits, VkStructureType rootType,
5771 const VkMultiviewPerViewAttributesInfoNVX* toCount,
5772 size_t* count) {
5773 (void)featureBits;
5774 (void)rootType;
5775 (void)toCount;
5776 (void)count;
5777 *count += sizeof(VkStructureType);
5778 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5779 rootType = toCount->sType;
5780 }
5781 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5782 *count += sizeof(VkBool32);
5783 *count += sizeof(VkBool32);
5784 }
5785
5786 #endif
5787 #ifdef VK_KHR_external_semaphore_fd
count_VkImportSemaphoreFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportSemaphoreFdInfoKHR * toCount,size_t * count)5788 void count_VkImportSemaphoreFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
5789 const VkImportSemaphoreFdInfoKHR* toCount, size_t* count) {
5790 (void)featureBits;
5791 (void)rootType;
5792 (void)toCount;
5793 (void)count;
5794 *count += sizeof(VkStructureType);
5795 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5796 rootType = toCount->sType;
5797 }
5798 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5799 uint64_t cgen_var_0;
5800 *count += 1 * 8;
5801 *count += sizeof(VkSemaphoreImportFlags);
5802 *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
5803 *count += sizeof(int);
5804 }
5805
count_VkSemaphoreGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkSemaphoreGetFdInfoKHR * toCount,size_t * count)5806 void count_VkSemaphoreGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
5807 const VkSemaphoreGetFdInfoKHR* toCount, size_t* count) {
5808 (void)featureBits;
5809 (void)rootType;
5810 (void)toCount;
5811 (void)count;
5812 *count += sizeof(VkStructureType);
5813 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5814 rootType = toCount->sType;
5815 }
5816 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5817 uint64_t cgen_var_0;
5818 *count += 1 * 8;
5819 *count += sizeof(VkExternalSemaphoreHandleTypeFlagBits);
5820 }
5821
5822 #endif
5823 #ifdef VK_KHR_incremental_present
count_VkRectLayerKHR(uint32_t featureBits,VkStructureType rootType,const VkRectLayerKHR * toCount,size_t * count)5824 void count_VkRectLayerKHR(uint32_t featureBits, VkStructureType rootType,
5825 const VkRectLayerKHR* toCount, size_t* count) {
5826 (void)featureBits;
5827 (void)rootType;
5828 (void)toCount;
5829 (void)count;
5830 count_VkOffset2D(featureBits, rootType, (VkOffset2D*)(&toCount->offset), count);
5831 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->extent), count);
5832 *count += sizeof(uint32_t);
5833 }
5834
count_VkPresentRegionKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentRegionKHR * toCount,size_t * count)5835 void count_VkPresentRegionKHR(uint32_t featureBits, VkStructureType rootType,
5836 const VkPresentRegionKHR* toCount, size_t* count) {
5837 (void)featureBits;
5838 (void)rootType;
5839 (void)toCount;
5840 (void)count;
5841 *count += sizeof(uint32_t);
5842 // WARNING PTR CHECK
5843 *count += 8;
5844 if (toCount->pRectangles) {
5845 if (toCount) {
5846 for (uint32_t i = 0; i < (uint32_t)toCount->rectangleCount; ++i) {
5847 count_VkRectLayerKHR(featureBits, rootType,
5848 (const VkRectLayerKHR*)(toCount->pRectangles + i), count);
5849 }
5850 }
5851 }
5852 }
5853
count_VkPresentRegionsKHR(uint32_t featureBits,VkStructureType rootType,const VkPresentRegionsKHR * toCount,size_t * count)5854 void count_VkPresentRegionsKHR(uint32_t featureBits, VkStructureType rootType,
5855 const VkPresentRegionsKHR* toCount, size_t* count) {
5856 (void)featureBits;
5857 (void)rootType;
5858 (void)toCount;
5859 (void)count;
5860 *count += sizeof(VkStructureType);
5861 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5862 rootType = toCount->sType;
5863 }
5864 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5865 *count += sizeof(uint32_t);
5866 // WARNING PTR CHECK
5867 *count += 8;
5868 if (toCount->pRegions) {
5869 if (toCount) {
5870 for (uint32_t i = 0; i < (uint32_t)toCount->swapchainCount; ++i) {
5871 count_VkPresentRegionKHR(featureBits, rootType,
5872 (const VkPresentRegionKHR*)(toCount->pRegions + i), count);
5873 }
5874 }
5875 }
5876 }
5877
5878 #endif
5879 #ifdef VK_KHR_external_fence_fd
count_VkImportFenceFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkImportFenceFdInfoKHR * toCount,size_t * count)5880 void count_VkImportFenceFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
5881 const VkImportFenceFdInfoKHR* toCount, size_t* count) {
5882 (void)featureBits;
5883 (void)rootType;
5884 (void)toCount;
5885 (void)count;
5886 *count += sizeof(VkStructureType);
5887 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5888 rootType = toCount->sType;
5889 }
5890 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5891 uint64_t cgen_var_0;
5892 *count += 1 * 8;
5893 *count += sizeof(VkFenceImportFlags);
5894 *count += sizeof(VkExternalFenceHandleTypeFlagBits);
5895 *count += sizeof(int);
5896 }
5897
count_VkFenceGetFdInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkFenceGetFdInfoKHR * toCount,size_t * count)5898 void count_VkFenceGetFdInfoKHR(uint32_t featureBits, VkStructureType rootType,
5899 const VkFenceGetFdInfoKHR* toCount, size_t* count) {
5900 (void)featureBits;
5901 (void)rootType;
5902 (void)toCount;
5903 (void)count;
5904 *count += sizeof(VkStructureType);
5905 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5906 rootType = toCount->sType;
5907 }
5908 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5909 uint64_t cgen_var_0;
5910 *count += 1 * 8;
5911 *count += sizeof(VkExternalFenceHandleTypeFlagBits);
5912 }
5913
5914 #endif
5915 #ifdef VK_KHR_pipeline_executable_properties
count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR * toCount,size_t * count)5916 void count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
5917 uint32_t featureBits, VkStructureType rootType,
5918 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR* toCount, size_t* count) {
5919 (void)featureBits;
5920 (void)rootType;
5921 (void)toCount;
5922 (void)count;
5923 *count += sizeof(VkStructureType);
5924 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5925 rootType = toCount->sType;
5926 }
5927 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5928 *count += sizeof(VkBool32);
5929 }
5930
count_VkPipelineInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineInfoKHR * toCount,size_t * count)5931 void count_VkPipelineInfoKHR(uint32_t featureBits, VkStructureType rootType,
5932 const VkPipelineInfoKHR* toCount, size_t* count) {
5933 (void)featureBits;
5934 (void)rootType;
5935 (void)toCount;
5936 (void)count;
5937 *count += sizeof(VkStructureType);
5938 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5939 rootType = toCount->sType;
5940 }
5941 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5942 uint64_t cgen_var_0;
5943 *count += 1 * 8;
5944 }
5945
count_VkPipelineExecutablePropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutablePropertiesKHR * toCount,size_t * count)5946 void count_VkPipelineExecutablePropertiesKHR(uint32_t featureBits, VkStructureType rootType,
5947 const VkPipelineExecutablePropertiesKHR* toCount,
5948 size_t* count) {
5949 (void)featureBits;
5950 (void)rootType;
5951 (void)toCount;
5952 (void)count;
5953 *count += sizeof(VkStructureType);
5954 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5955 rootType = toCount->sType;
5956 }
5957 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5958 *count += sizeof(VkShaderStageFlags);
5959 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
5960 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
5961 *count += sizeof(uint32_t);
5962 }
5963
count_VkPipelineExecutableInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableInfoKHR * toCount,size_t * count)5964 void count_VkPipelineExecutableInfoKHR(uint32_t featureBits, VkStructureType rootType,
5965 const VkPipelineExecutableInfoKHR* toCount, size_t* count) {
5966 (void)featureBits;
5967 (void)rootType;
5968 (void)toCount;
5969 (void)count;
5970 *count += sizeof(VkStructureType);
5971 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5972 rootType = toCount->sType;
5973 }
5974 count_extension_struct(featureBits, rootType, toCount->pNext, count);
5975 uint64_t cgen_var_0;
5976 *count += 1 * 8;
5977 *count += sizeof(uint32_t);
5978 }
5979
count_VkPipelineExecutableStatisticValueKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableStatisticValueKHR * toCount,size_t * count)5980 void count_VkPipelineExecutableStatisticValueKHR(
5981 uint32_t featureBits, VkStructureType rootType,
5982 const VkPipelineExecutableStatisticValueKHR* toCount, size_t* count) {
5983 (void)featureBits;
5984 (void)rootType;
5985 (void)toCount;
5986 (void)count;
5987 *count += sizeof(VkBool32);
5988 }
5989
count_VkPipelineExecutableStatisticKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableStatisticKHR * toCount,size_t * count)5990 void count_VkPipelineExecutableStatisticKHR(uint32_t featureBits, VkStructureType rootType,
5991 const VkPipelineExecutableStatisticKHR* toCount,
5992 size_t* count) {
5993 (void)featureBits;
5994 (void)rootType;
5995 (void)toCount;
5996 (void)count;
5997 *count += sizeof(VkStructureType);
5998 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
5999 rootType = toCount->sType;
6000 }
6001 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6002 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6003 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6004 *count += sizeof(VkPipelineExecutableStatisticFormatKHR);
6005 count_VkPipelineExecutableStatisticValueKHR(
6006 featureBits, rootType, (VkPipelineExecutableStatisticValueKHR*)(&toCount->value), count);
6007 }
6008
count_VkPipelineExecutableInternalRepresentationKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineExecutableInternalRepresentationKHR * toCount,size_t * count)6009 void count_VkPipelineExecutableInternalRepresentationKHR(
6010 uint32_t featureBits, VkStructureType rootType,
6011 const VkPipelineExecutableInternalRepresentationKHR* 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 += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6022 *count += VK_MAX_DESCRIPTION_SIZE * sizeof(char);
6023 *count += sizeof(VkBool32);
6024 *count += 8;
6025 // WARNING PTR CHECK
6026 *count += 8;
6027 if (toCount->pData) {
6028 if (toCount) {
6029 *count += toCount->dataSize * sizeof(uint8_t);
6030 }
6031 }
6032 }
6033
6034 #endif
6035 #ifdef VK_KHR_synchronization2
count_VkQueueFamilyCheckpointProperties2NV(uint32_t featureBits,VkStructureType rootType,const VkQueueFamilyCheckpointProperties2NV * toCount,size_t * count)6036 void count_VkQueueFamilyCheckpointProperties2NV(uint32_t featureBits, VkStructureType rootType,
6037 const VkQueueFamilyCheckpointProperties2NV* toCount,
6038 size_t* count) {
6039 (void)featureBits;
6040 (void)rootType;
6041 (void)toCount;
6042 (void)count;
6043 *count += sizeof(VkStructureType);
6044 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6045 rootType = toCount->sType;
6046 }
6047 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6048 *count += sizeof(VkPipelineStageFlags2);
6049 }
6050
count_VkCheckpointData2NV(uint32_t featureBits,VkStructureType rootType,const VkCheckpointData2NV * toCount,size_t * count)6051 void count_VkCheckpointData2NV(uint32_t featureBits, VkStructureType rootType,
6052 const VkCheckpointData2NV* toCount, size_t* count) {
6053 (void)featureBits;
6054 (void)rootType;
6055 (void)toCount;
6056 (void)count;
6057 *count += sizeof(VkStructureType);
6058 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6059 rootType = toCount->sType;
6060 }
6061 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6062 *count += sizeof(VkPipelineStageFlags2);
6063 // WARNING PTR CHECK
6064 *count += 8;
6065 if (toCount->pCheckpointMarker) {
6066 *count += sizeof(uint8_t);
6067 }
6068 }
6069
6070 #endif
6071 #ifdef VK_KHR_maintenance5
count_VkPhysicalDeviceMaintenance5FeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance5FeaturesKHR * toCount,size_t * count)6072 void count_VkPhysicalDeviceMaintenance5FeaturesKHR(
6073 uint32_t featureBits, VkStructureType rootType,
6074 const VkPhysicalDeviceMaintenance5FeaturesKHR* toCount, size_t* count) {
6075 (void)featureBits;
6076 (void)rootType;
6077 (void)toCount;
6078 (void)count;
6079 *count += sizeof(VkStructureType);
6080 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6081 rootType = toCount->sType;
6082 }
6083 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6084 *count += sizeof(VkBool32);
6085 }
6086
count_VkPhysicalDeviceMaintenance5PropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceMaintenance5PropertiesKHR * toCount,size_t * count)6087 void count_VkPhysicalDeviceMaintenance5PropertiesKHR(
6088 uint32_t featureBits, VkStructureType rootType,
6089 const VkPhysicalDeviceMaintenance5PropertiesKHR* toCount, size_t* count) {
6090 (void)featureBits;
6091 (void)rootType;
6092 (void)toCount;
6093 (void)count;
6094 *count += sizeof(VkStructureType);
6095 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6096 rootType = toCount->sType;
6097 }
6098 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6099 *count += sizeof(VkBool32);
6100 *count += sizeof(VkBool32);
6101 *count += sizeof(VkBool32);
6102 *count += sizeof(VkBool32);
6103 *count += sizeof(VkBool32);
6104 *count += sizeof(VkBool32);
6105 }
6106
count_VkRenderingAreaInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkRenderingAreaInfoKHR * toCount,size_t * count)6107 void count_VkRenderingAreaInfoKHR(uint32_t featureBits, VkStructureType rootType,
6108 const VkRenderingAreaInfoKHR* toCount, size_t* count) {
6109 (void)featureBits;
6110 (void)rootType;
6111 (void)toCount;
6112 (void)count;
6113 *count += sizeof(VkStructureType);
6114 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6115 rootType = toCount->sType;
6116 }
6117 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6118 *count += sizeof(uint32_t);
6119 *count += sizeof(uint32_t);
6120 // WARNING PTR CHECK
6121 *count += 8;
6122 if (toCount->pColorAttachmentFormats) {
6123 if (toCount) {
6124 *count += toCount->colorAttachmentCount * sizeof(const VkFormat);
6125 }
6126 }
6127 *count += sizeof(VkFormat);
6128 *count += sizeof(VkFormat);
6129 }
6130
count_VkImageSubresource2KHR(uint32_t featureBits,VkStructureType rootType,const VkImageSubresource2KHR * toCount,size_t * count)6131 void count_VkImageSubresource2KHR(uint32_t featureBits, VkStructureType rootType,
6132 const VkImageSubresource2KHR* toCount, size_t* count) {
6133 (void)featureBits;
6134 (void)rootType;
6135 (void)toCount;
6136 (void)count;
6137 *count += sizeof(VkStructureType);
6138 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6139 rootType = toCount->sType;
6140 }
6141 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6142 count_VkImageSubresource(featureBits, rootType,
6143 (VkImageSubresource*)(&toCount->imageSubresource), count);
6144 }
6145
count_VkDeviceImageSubresourceInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkDeviceImageSubresourceInfoKHR * toCount,size_t * count)6146 void count_VkDeviceImageSubresourceInfoKHR(uint32_t featureBits, VkStructureType rootType,
6147 const VkDeviceImageSubresourceInfoKHR* toCount,
6148 size_t* count) {
6149 (void)featureBits;
6150 (void)rootType;
6151 (void)toCount;
6152 (void)count;
6153 *count += sizeof(VkStructureType);
6154 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6155 rootType = toCount->sType;
6156 }
6157 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6158 count_VkImageCreateInfo(featureBits, rootType, (const VkImageCreateInfo*)(toCount->pCreateInfo),
6159 count);
6160 count_VkImageSubresource2KHR(featureBits, rootType,
6161 (const VkImageSubresource2KHR*)(toCount->pSubresource), count);
6162 }
6163
count_VkSubresourceLayout2KHR(uint32_t featureBits,VkStructureType rootType,const VkSubresourceLayout2KHR * toCount,size_t * count)6164 void count_VkSubresourceLayout2KHR(uint32_t featureBits, VkStructureType rootType,
6165 const VkSubresourceLayout2KHR* toCount, size_t* count) {
6166 (void)featureBits;
6167 (void)rootType;
6168 (void)toCount;
6169 (void)count;
6170 *count += sizeof(VkStructureType);
6171 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6172 rootType = toCount->sType;
6173 }
6174 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6175 count_VkSubresourceLayout(featureBits, rootType,
6176 (VkSubresourceLayout*)(&toCount->subresourceLayout), count);
6177 }
6178
count_VkPipelineCreateFlags2CreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineCreateFlags2CreateInfoKHR * toCount,size_t * count)6179 void count_VkPipelineCreateFlags2CreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6180 const VkPipelineCreateFlags2CreateInfoKHR* toCount,
6181 size_t* count) {
6182 (void)featureBits;
6183 (void)rootType;
6184 (void)toCount;
6185 (void)count;
6186 *count += sizeof(VkStructureType);
6187 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6188 rootType = toCount->sType;
6189 }
6190 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6191 *count += sizeof(VkPipelineCreateFlags2KHR);
6192 }
6193
count_VkBufferUsageFlags2CreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkBufferUsageFlags2CreateInfoKHR * toCount,size_t * count)6194 void count_VkBufferUsageFlags2CreateInfoKHR(uint32_t featureBits, VkStructureType rootType,
6195 const VkBufferUsageFlags2CreateInfoKHR* toCount,
6196 size_t* count) {
6197 (void)featureBits;
6198 (void)rootType;
6199 (void)toCount;
6200 (void)count;
6201 *count += sizeof(VkStructureType);
6202 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6203 rootType = toCount->sType;
6204 }
6205 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6206 *count += sizeof(VkBufferUsageFlags2KHR);
6207 }
6208
6209 #endif
6210 #ifdef VK_KHR_line_rasterization
count_VkPhysicalDeviceLineRasterizationFeaturesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationFeaturesKHR * toCount,size_t * count)6211 void count_VkPhysicalDeviceLineRasterizationFeaturesKHR(
6212 uint32_t featureBits, VkStructureType rootType,
6213 const VkPhysicalDeviceLineRasterizationFeaturesKHR* toCount, size_t* count) {
6214 (void)featureBits;
6215 (void)rootType;
6216 (void)toCount;
6217 (void)count;
6218 *count += sizeof(VkStructureType);
6219 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6220 rootType = toCount->sType;
6221 }
6222 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6223 *count += sizeof(VkBool32);
6224 *count += sizeof(VkBool32);
6225 *count += sizeof(VkBool32);
6226 *count += sizeof(VkBool32);
6227 *count += sizeof(VkBool32);
6228 *count += sizeof(VkBool32);
6229 }
6230
count_VkPhysicalDeviceLineRasterizationPropertiesKHR(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceLineRasterizationPropertiesKHR * toCount,size_t * count)6231 void count_VkPhysicalDeviceLineRasterizationPropertiesKHR(
6232 uint32_t featureBits, VkStructureType rootType,
6233 const VkPhysicalDeviceLineRasterizationPropertiesKHR* toCount, size_t* count) {
6234 (void)featureBits;
6235 (void)rootType;
6236 (void)toCount;
6237 (void)count;
6238 *count += sizeof(VkStructureType);
6239 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6240 rootType = toCount->sType;
6241 }
6242 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6243 *count += sizeof(uint32_t);
6244 }
6245
count_VkPipelineRasterizationLineStateCreateInfoKHR(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationLineStateCreateInfoKHR * toCount,size_t * count)6246 void count_VkPipelineRasterizationLineStateCreateInfoKHR(
6247 uint32_t featureBits, VkStructureType rootType,
6248 const VkPipelineRasterizationLineStateCreateInfoKHR* toCount, size_t* count) {
6249 (void)featureBits;
6250 (void)rootType;
6251 (void)toCount;
6252 (void)count;
6253 *count += sizeof(VkStructureType);
6254 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6255 rootType = toCount->sType;
6256 }
6257 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6258 *count += sizeof(VkLineRasterizationModeKHR);
6259 *count += sizeof(VkBool32);
6260 *count += sizeof(uint32_t);
6261 *count += sizeof(uint16_t);
6262 }
6263
6264 #endif
6265 #ifdef VK_ANDROID_native_buffer
count_VkNativeBufferUsage2ANDROID(uint32_t featureBits,VkStructureType rootType,const VkNativeBufferUsage2ANDROID * toCount,size_t * count)6266 void count_VkNativeBufferUsage2ANDROID(uint32_t featureBits, VkStructureType rootType,
6267 const VkNativeBufferUsage2ANDROID* toCount, size_t* count) {
6268 (void)featureBits;
6269 (void)rootType;
6270 (void)toCount;
6271 (void)count;
6272 *count += sizeof(uint64_t);
6273 *count += sizeof(uint64_t);
6274 }
6275
count_VkNativeBufferANDROID(uint32_t featureBits,VkStructureType rootType,const VkNativeBufferANDROID * toCount,size_t * count)6276 void count_VkNativeBufferANDROID(uint32_t featureBits, VkStructureType rootType,
6277 const VkNativeBufferANDROID* toCount, size_t* count) {
6278 (void)featureBits;
6279 (void)rootType;
6280 (void)toCount;
6281 (void)count;
6282 *count += sizeof(VkStructureType);
6283 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6284 rootType = toCount->sType;
6285 }
6286 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6287 // WARNING PTR CHECK
6288 *count += 8;
6289 if (toCount->handle) {
6290 *count += sizeof(const uint32_t);
6291 }
6292 *count += sizeof(int);
6293 *count += sizeof(int);
6294 *count += sizeof(int);
6295 count_VkNativeBufferUsage2ANDROID(featureBits, rootType,
6296 (VkNativeBufferUsage2ANDROID*)(&toCount->usage2), count);
6297 }
6298
count_VkSwapchainImageCreateInfoANDROID(uint32_t featureBits,VkStructureType rootType,const VkSwapchainImageCreateInfoANDROID * toCount,size_t * count)6299 void count_VkSwapchainImageCreateInfoANDROID(uint32_t featureBits, VkStructureType rootType,
6300 const VkSwapchainImageCreateInfoANDROID* toCount,
6301 size_t* count) {
6302 (void)featureBits;
6303 (void)rootType;
6304 (void)toCount;
6305 (void)count;
6306 *count += sizeof(VkStructureType);
6307 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6308 rootType = toCount->sType;
6309 }
6310 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6311 *count += sizeof(VkSwapchainImageUsageFlagsANDROID);
6312 }
6313
count_VkPhysicalDevicePresentationPropertiesANDROID(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePresentationPropertiesANDROID * toCount,size_t * count)6314 void count_VkPhysicalDevicePresentationPropertiesANDROID(
6315 uint32_t featureBits, VkStructureType rootType,
6316 const VkPhysicalDevicePresentationPropertiesANDROID* toCount, size_t* count) {
6317 (void)featureBits;
6318 (void)rootType;
6319 (void)toCount;
6320 (void)count;
6321 *count += sizeof(VkStructureType);
6322 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6323 rootType = toCount->sType;
6324 }
6325 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6326 *count += sizeof(VkBool32);
6327 }
6328
6329 #endif
6330 #ifdef VK_EXT_transform_feedback
count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackFeaturesEXT * toCount,size_t * count)6331 void count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
6332 uint32_t featureBits, VkStructureType rootType,
6333 const VkPhysicalDeviceTransformFeedbackFeaturesEXT* toCount, size_t* count) {
6334 (void)featureBits;
6335 (void)rootType;
6336 (void)toCount;
6337 (void)count;
6338 *count += sizeof(VkStructureType);
6339 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6340 rootType = toCount->sType;
6341 }
6342 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6343 *count += sizeof(VkBool32);
6344 *count += sizeof(VkBool32);
6345 }
6346
count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTransformFeedbackPropertiesEXT * toCount,size_t * count)6347 void count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
6348 uint32_t featureBits, VkStructureType rootType,
6349 const VkPhysicalDeviceTransformFeedbackPropertiesEXT* toCount, size_t* count) {
6350 (void)featureBits;
6351 (void)rootType;
6352 (void)toCount;
6353 (void)count;
6354 *count += sizeof(VkStructureType);
6355 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6356 rootType = toCount->sType;
6357 }
6358 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6359 *count += sizeof(uint32_t);
6360 *count += sizeof(uint32_t);
6361 *count += sizeof(VkDeviceSize);
6362 *count += sizeof(uint32_t);
6363 *count += sizeof(uint32_t);
6364 *count += sizeof(uint32_t);
6365 *count += sizeof(VkBool32);
6366 *count += sizeof(VkBool32);
6367 *count += sizeof(VkBool32);
6368 *count += sizeof(VkBool32);
6369 }
6370
count_VkPipelineRasterizationStateStreamCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationStateStreamCreateInfoEXT * toCount,size_t * count)6371 void count_VkPipelineRasterizationStateStreamCreateInfoEXT(
6372 uint32_t featureBits, VkStructureType rootType,
6373 const VkPipelineRasterizationStateStreamCreateInfoEXT* toCount, size_t* count) {
6374 (void)featureBits;
6375 (void)rootType;
6376 (void)toCount;
6377 (void)count;
6378 *count += sizeof(VkStructureType);
6379 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6380 rootType = toCount->sType;
6381 }
6382 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6383 *count += sizeof(VkPipelineRasterizationStateStreamCreateFlagsEXT);
6384 *count += sizeof(uint32_t);
6385 }
6386
6387 #endif
6388 #ifdef VK_EXT_depth_clip_enable
count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDepthClipEnableFeaturesEXT * toCount,size_t * count)6389 void count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
6390 uint32_t featureBits, VkStructureType rootType,
6391 const VkPhysicalDeviceDepthClipEnableFeaturesEXT* toCount, size_t* count) {
6392 (void)featureBits;
6393 (void)rootType;
6394 (void)toCount;
6395 (void)count;
6396 *count += sizeof(VkStructureType);
6397 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6398 rootType = toCount->sType;
6399 }
6400 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6401 *count += sizeof(VkBool32);
6402 }
6403
count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationDepthClipStateCreateInfoEXT * toCount,size_t * count)6404 void count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
6405 uint32_t featureBits, VkStructureType rootType,
6406 const VkPipelineRasterizationDepthClipStateCreateInfoEXT* toCount, size_t* count) {
6407 (void)featureBits;
6408 (void)rootType;
6409 (void)toCount;
6410 (void)count;
6411 *count += sizeof(VkStructureType);
6412 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6413 rootType = toCount->sType;
6414 }
6415 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6416 *count += sizeof(VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
6417 *count += sizeof(VkBool32);
6418 }
6419
6420 #endif
6421 #ifdef VK_EXT_image_drm_format_modifier
count_VkDrmFormatModifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesEXT * toCount,size_t * count)6422 void count_VkDrmFormatModifierPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
6423 const VkDrmFormatModifierPropertiesEXT* toCount,
6424 size_t* count) {
6425 (void)featureBits;
6426 (void)rootType;
6427 (void)toCount;
6428 (void)count;
6429 *count += sizeof(uint64_t);
6430 *count += sizeof(uint32_t);
6431 *count += sizeof(VkFormatFeatureFlags);
6432 }
6433
count_VkDrmFormatModifierPropertiesListEXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesListEXT * toCount,size_t * count)6434 void count_VkDrmFormatModifierPropertiesListEXT(uint32_t featureBits, VkStructureType rootType,
6435 const VkDrmFormatModifierPropertiesListEXT* toCount,
6436 size_t* count) {
6437 (void)featureBits;
6438 (void)rootType;
6439 (void)toCount;
6440 (void)count;
6441 *count += sizeof(VkStructureType);
6442 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6443 rootType = toCount->sType;
6444 }
6445 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6446 *count += sizeof(uint32_t);
6447 // WARNING PTR CHECK
6448 *count += 8;
6449 if (toCount->pDrmFormatModifierProperties) {
6450 if (toCount) {
6451 for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierCount; ++i) {
6452 count_VkDrmFormatModifierPropertiesEXT(
6453 featureBits, rootType,
6454 (VkDrmFormatModifierPropertiesEXT*)(toCount->pDrmFormatModifierProperties + i),
6455 count);
6456 }
6457 }
6458 }
6459 }
6460
count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageDrmFormatModifierInfoEXT * toCount,size_t * count)6461 void count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
6462 uint32_t featureBits, VkStructureType rootType,
6463 const VkPhysicalDeviceImageDrmFormatModifierInfoEXT* toCount, size_t* count) {
6464 (void)featureBits;
6465 (void)rootType;
6466 (void)toCount;
6467 (void)count;
6468 *count += sizeof(VkStructureType);
6469 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6470 rootType = toCount->sType;
6471 }
6472 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6473 *count += sizeof(uint64_t);
6474 *count += sizeof(VkSharingMode);
6475 *count += sizeof(uint32_t);
6476 // WARNING PTR CHECK
6477 *count += 8;
6478 if (toCount->pQueueFamilyIndices) {
6479 if (toCount) {
6480 *count += toCount->queueFamilyIndexCount * sizeof(const uint32_t);
6481 }
6482 }
6483 }
6484
count_VkImageDrmFormatModifierListCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierListCreateInfoEXT * toCount,size_t * count)6485 void count_VkImageDrmFormatModifierListCreateInfoEXT(
6486 uint32_t featureBits, VkStructureType rootType,
6487 const VkImageDrmFormatModifierListCreateInfoEXT* toCount, size_t* count) {
6488 (void)featureBits;
6489 (void)rootType;
6490 (void)toCount;
6491 (void)count;
6492 *count += sizeof(VkStructureType);
6493 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6494 rootType = toCount->sType;
6495 }
6496 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6497 *count += sizeof(uint32_t);
6498 if (toCount) {
6499 *count += toCount->drmFormatModifierCount * sizeof(const uint64_t);
6500 }
6501 }
6502
count_VkImageDrmFormatModifierExplicitCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierExplicitCreateInfoEXT * toCount,size_t * count)6503 void count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
6504 uint32_t featureBits, VkStructureType rootType,
6505 const VkImageDrmFormatModifierExplicitCreateInfoEXT* toCount, size_t* count) {
6506 (void)featureBits;
6507 (void)rootType;
6508 (void)toCount;
6509 (void)count;
6510 *count += sizeof(VkStructureType);
6511 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6512 rootType = toCount->sType;
6513 }
6514 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6515 *count += sizeof(uint64_t);
6516 *count += sizeof(uint32_t);
6517 if (toCount) {
6518 for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierPlaneCount; ++i) {
6519 count_VkSubresourceLayout(featureBits, rootType,
6520 (const VkSubresourceLayout*)(toCount->pPlaneLayouts + i),
6521 count);
6522 }
6523 }
6524 }
6525
count_VkImageDrmFormatModifierPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkImageDrmFormatModifierPropertiesEXT * toCount,size_t * count)6526 void count_VkImageDrmFormatModifierPropertiesEXT(
6527 uint32_t featureBits, VkStructureType rootType,
6528 const VkImageDrmFormatModifierPropertiesEXT* toCount, size_t* count) {
6529 (void)featureBits;
6530 (void)rootType;
6531 (void)toCount;
6532 (void)count;
6533 *count += sizeof(VkStructureType);
6534 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6535 rootType = toCount->sType;
6536 }
6537 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6538 *count += sizeof(uint64_t);
6539 }
6540
count_VkDrmFormatModifierProperties2EXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierProperties2EXT * toCount,size_t * count)6541 void count_VkDrmFormatModifierProperties2EXT(uint32_t featureBits, VkStructureType rootType,
6542 const VkDrmFormatModifierProperties2EXT* toCount,
6543 size_t* count) {
6544 (void)featureBits;
6545 (void)rootType;
6546 (void)toCount;
6547 (void)count;
6548 *count += sizeof(uint64_t);
6549 *count += sizeof(uint32_t);
6550 *count += sizeof(VkFormatFeatureFlags2);
6551 }
6552
count_VkDrmFormatModifierPropertiesList2EXT(uint32_t featureBits,VkStructureType rootType,const VkDrmFormatModifierPropertiesList2EXT * toCount,size_t * count)6553 void count_VkDrmFormatModifierPropertiesList2EXT(
6554 uint32_t featureBits, VkStructureType rootType,
6555 const VkDrmFormatModifierPropertiesList2EXT* toCount, size_t* count) {
6556 (void)featureBits;
6557 (void)rootType;
6558 (void)toCount;
6559 (void)count;
6560 *count += sizeof(VkStructureType);
6561 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6562 rootType = toCount->sType;
6563 }
6564 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6565 *count += sizeof(uint32_t);
6566 // WARNING PTR CHECK
6567 *count += 8;
6568 if (toCount->pDrmFormatModifierProperties) {
6569 if (toCount) {
6570 for (uint32_t i = 0; i < (uint32_t)toCount->drmFormatModifierCount; ++i) {
6571 count_VkDrmFormatModifierProperties2EXT(
6572 featureBits, rootType,
6573 (VkDrmFormatModifierProperties2EXT*)(toCount->pDrmFormatModifierProperties + i),
6574 count);
6575 }
6576 }
6577 }
6578 }
6579
6580 #endif
6581 #ifdef VK_EXT_vertex_attribute_divisor
count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT * toCount,size_t * count)6582 void count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
6583 uint32_t featureBits, VkStructureType rootType,
6584 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT* toCount, size_t* count) {
6585 (void)featureBits;
6586 (void)rootType;
6587 (void)toCount;
6588 (void)count;
6589 *count += sizeof(VkStructureType);
6590 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6591 rootType = toCount->sType;
6592 }
6593 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6594 *count += sizeof(uint32_t);
6595 }
6596
6597 #endif
6598 #ifdef VK_EXT_fragment_density_map
count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapFeaturesEXT * toCount,size_t * count)6599 void count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
6600 uint32_t featureBits, VkStructureType rootType,
6601 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT* toCount, size_t* count) {
6602 (void)featureBits;
6603 (void)rootType;
6604 (void)toCount;
6605 (void)count;
6606 *count += sizeof(VkStructureType);
6607 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6608 rootType = toCount->sType;
6609 }
6610 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6611 *count += sizeof(VkBool32);
6612 *count += sizeof(VkBool32);
6613 *count += sizeof(VkBool32);
6614 }
6615
count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceFragmentDensityMapPropertiesEXT * toCount,size_t * count)6616 void count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
6617 uint32_t featureBits, VkStructureType rootType,
6618 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT* toCount, size_t* count) {
6619 (void)featureBits;
6620 (void)rootType;
6621 (void)toCount;
6622 (void)count;
6623 *count += sizeof(VkStructureType);
6624 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6625 rootType = toCount->sType;
6626 }
6627 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6628 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->minFragmentDensityTexelSize),
6629 count);
6630 count_VkExtent2D(featureBits, rootType, (VkExtent2D*)(&toCount->maxFragmentDensityTexelSize),
6631 count);
6632 *count += sizeof(VkBool32);
6633 }
6634
count_VkRenderPassFragmentDensityMapCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkRenderPassFragmentDensityMapCreateInfoEXT * toCount,size_t * count)6635 void count_VkRenderPassFragmentDensityMapCreateInfoEXT(
6636 uint32_t featureBits, VkStructureType rootType,
6637 const VkRenderPassFragmentDensityMapCreateInfoEXT* toCount, size_t* count) {
6638 (void)featureBits;
6639 (void)rootType;
6640 (void)toCount;
6641 (void)count;
6642 *count += sizeof(VkStructureType);
6643 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6644 rootType = toCount->sType;
6645 }
6646 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6647 count_VkAttachmentReference(featureBits, rootType,
6648 (VkAttachmentReference*)(&toCount->fragmentDensityMapAttachment),
6649 count);
6650 }
6651
6652 #endif
6653 #ifdef VK_EXT_provoking_vertex
count_VkPhysicalDeviceProvokingVertexFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexFeaturesEXT * toCount,size_t * count)6654 void count_VkPhysicalDeviceProvokingVertexFeaturesEXT(
6655 uint32_t featureBits, VkStructureType rootType,
6656 const VkPhysicalDeviceProvokingVertexFeaturesEXT* toCount, size_t* count) {
6657 (void)featureBits;
6658 (void)rootType;
6659 (void)toCount;
6660 (void)count;
6661 *count += sizeof(VkStructureType);
6662 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6663 rootType = toCount->sType;
6664 }
6665 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6666 *count += sizeof(VkBool32);
6667 *count += sizeof(VkBool32);
6668 }
6669
count_VkPhysicalDeviceProvokingVertexPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceProvokingVertexPropertiesEXT * toCount,size_t * count)6670 void count_VkPhysicalDeviceProvokingVertexPropertiesEXT(
6671 uint32_t featureBits, VkStructureType rootType,
6672 const VkPhysicalDeviceProvokingVertexPropertiesEXT* toCount, size_t* count) {
6673 (void)featureBits;
6674 (void)rootType;
6675 (void)toCount;
6676 (void)count;
6677 *count += sizeof(VkStructureType);
6678 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6679 rootType = toCount->sType;
6680 }
6681 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6682 *count += sizeof(VkBool32);
6683 *count += sizeof(VkBool32);
6684 }
6685
count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT * toCount,size_t * count)6686 void count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
6687 uint32_t featureBits, VkStructureType rootType,
6688 const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* toCount, size_t* count) {
6689 (void)featureBits;
6690 (void)rootType;
6691 (void)toCount;
6692 (void)count;
6693 *count += sizeof(VkStructureType);
6694 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6695 rootType = toCount->sType;
6696 }
6697 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6698 *count += sizeof(VkProvokingVertexModeEXT);
6699 }
6700
6701 #endif
6702 #ifdef VK_EXT_extended_dynamic_state
count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT * toCount,size_t * count)6703 void count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
6704 uint32_t featureBits, VkStructureType rootType,
6705 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* toCount, size_t* count) {
6706 (void)featureBits;
6707 (void)rootType;
6708 (void)toCount;
6709 (void)count;
6710 *count += sizeof(VkStructureType);
6711 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6712 rootType = toCount->sType;
6713 }
6714 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6715 *count += sizeof(VkBool32);
6716 }
6717
6718 #endif
6719 #ifdef VK_EXT_host_image_copy
count_VkPhysicalDeviceHostImageCopyFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyFeaturesEXT * toCount,size_t * count)6720 void count_VkPhysicalDeviceHostImageCopyFeaturesEXT(
6721 uint32_t featureBits, VkStructureType rootType,
6722 const VkPhysicalDeviceHostImageCopyFeaturesEXT* toCount, size_t* count) {
6723 (void)featureBits;
6724 (void)rootType;
6725 (void)toCount;
6726 (void)count;
6727 *count += sizeof(VkStructureType);
6728 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6729 rootType = toCount->sType;
6730 }
6731 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6732 *count += sizeof(VkBool32);
6733 }
6734
count_VkPhysicalDeviceHostImageCopyPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceHostImageCopyPropertiesEXT * toCount,size_t * count)6735 void count_VkPhysicalDeviceHostImageCopyPropertiesEXT(
6736 uint32_t featureBits, VkStructureType rootType,
6737 const VkPhysicalDeviceHostImageCopyPropertiesEXT* toCount, size_t* count) {
6738 (void)featureBits;
6739 (void)rootType;
6740 (void)toCount;
6741 (void)count;
6742 *count += sizeof(VkStructureType);
6743 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6744 rootType = toCount->sType;
6745 }
6746 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6747 *count += sizeof(uint32_t);
6748 // WARNING PTR CHECK
6749 *count += 8;
6750 if (toCount->pCopySrcLayouts) {
6751 if (toCount) {
6752 *count += toCount->copySrcLayoutCount * sizeof(VkImageLayout);
6753 }
6754 }
6755 *count += sizeof(uint32_t);
6756 // WARNING PTR CHECK
6757 *count += 8;
6758 if (toCount->pCopyDstLayouts) {
6759 if (toCount) {
6760 *count += toCount->copyDstLayoutCount * sizeof(VkImageLayout);
6761 }
6762 }
6763 *count += VK_UUID_SIZE * sizeof(uint8_t);
6764 *count += sizeof(VkBool32);
6765 }
6766
count_VkMemoryToImageCopyEXT(uint32_t featureBits,VkStructureType rootType,const VkMemoryToImageCopyEXT * toCount,size_t * count)6767 void count_VkMemoryToImageCopyEXT(uint32_t featureBits, VkStructureType rootType,
6768 const VkMemoryToImageCopyEXT* toCount, size_t* count) {
6769 (void)featureBits;
6770 (void)rootType;
6771 (void)toCount;
6772 (void)count;
6773 *count += sizeof(VkStructureType);
6774 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6775 rootType = toCount->sType;
6776 }
6777 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6778 *count += sizeof(const uint8_t);
6779 *count += sizeof(uint32_t);
6780 *count += sizeof(uint32_t);
6781 count_VkImageSubresourceLayers(featureBits, rootType,
6782 (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
6783 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
6784 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
6785 }
6786
count_VkImageToMemoryCopyEXT(uint32_t featureBits,VkStructureType rootType,const VkImageToMemoryCopyEXT * toCount,size_t * count)6787 void count_VkImageToMemoryCopyEXT(uint32_t featureBits, VkStructureType rootType,
6788 const VkImageToMemoryCopyEXT* toCount, size_t* count) {
6789 (void)featureBits;
6790 (void)rootType;
6791 (void)toCount;
6792 (void)count;
6793 *count += sizeof(VkStructureType);
6794 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6795 rootType = toCount->sType;
6796 }
6797 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6798 *count += sizeof(uint8_t);
6799 *count += sizeof(uint32_t);
6800 *count += sizeof(uint32_t);
6801 count_VkImageSubresourceLayers(featureBits, rootType,
6802 (VkImageSubresourceLayers*)(&toCount->imageSubresource), count);
6803 count_VkOffset3D(featureBits, rootType, (VkOffset3D*)(&toCount->imageOffset), count);
6804 count_VkExtent3D(featureBits, rootType, (VkExtent3D*)(&toCount->imageExtent), count);
6805 }
6806
count_VkCopyMemoryToImageInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCopyMemoryToImageInfoEXT * toCount,size_t * count)6807 void count_VkCopyMemoryToImageInfoEXT(uint32_t featureBits, VkStructureType rootType,
6808 const VkCopyMemoryToImageInfoEXT* toCount, size_t* count) {
6809 (void)featureBits;
6810 (void)rootType;
6811 (void)toCount;
6812 (void)count;
6813 *count += sizeof(VkStructureType);
6814 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6815 rootType = toCount->sType;
6816 }
6817 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6818 *count += sizeof(VkHostImageCopyFlagsEXT);
6819 uint64_t cgen_var_0;
6820 *count += 1 * 8;
6821 *count += sizeof(VkImageLayout);
6822 *count += sizeof(uint32_t);
6823 if (toCount) {
6824 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
6825 count_VkMemoryToImageCopyEXT(featureBits, rootType,
6826 (const VkMemoryToImageCopyEXT*)(toCount->pRegions + i),
6827 count);
6828 }
6829 }
6830 }
6831
count_VkCopyImageToMemoryInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCopyImageToMemoryInfoEXT * toCount,size_t * count)6832 void count_VkCopyImageToMemoryInfoEXT(uint32_t featureBits, VkStructureType rootType,
6833 const VkCopyImageToMemoryInfoEXT* toCount, size_t* count) {
6834 (void)featureBits;
6835 (void)rootType;
6836 (void)toCount;
6837 (void)count;
6838 *count += sizeof(VkStructureType);
6839 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6840 rootType = toCount->sType;
6841 }
6842 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6843 *count += sizeof(VkHostImageCopyFlagsEXT);
6844 uint64_t cgen_var_0;
6845 *count += 1 * 8;
6846 *count += sizeof(VkImageLayout);
6847 *count += sizeof(uint32_t);
6848 if (toCount) {
6849 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
6850 count_VkImageToMemoryCopyEXT(featureBits, rootType,
6851 (const VkImageToMemoryCopyEXT*)(toCount->pRegions + i),
6852 count);
6853 }
6854 }
6855 }
6856
count_VkCopyImageToImageInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkCopyImageToImageInfoEXT * toCount,size_t * count)6857 void count_VkCopyImageToImageInfoEXT(uint32_t featureBits, VkStructureType rootType,
6858 const VkCopyImageToImageInfoEXT* toCount, size_t* count) {
6859 (void)featureBits;
6860 (void)rootType;
6861 (void)toCount;
6862 (void)count;
6863 *count += sizeof(VkStructureType);
6864 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6865 rootType = toCount->sType;
6866 }
6867 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6868 *count += sizeof(VkHostImageCopyFlagsEXT);
6869 uint64_t cgen_var_0;
6870 *count += 1 * 8;
6871 *count += sizeof(VkImageLayout);
6872 uint64_t cgen_var_1;
6873 *count += 1 * 8;
6874 *count += sizeof(VkImageLayout);
6875 *count += sizeof(uint32_t);
6876 if (toCount) {
6877 for (uint32_t i = 0; i < (uint32_t)toCount->regionCount; ++i) {
6878 count_VkImageCopy2(featureBits, rootType, (const VkImageCopy2*)(toCount->pRegions + i),
6879 count);
6880 }
6881 }
6882 }
6883
count_VkHostImageLayoutTransitionInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkHostImageLayoutTransitionInfoEXT * toCount,size_t * count)6884 void count_VkHostImageLayoutTransitionInfoEXT(uint32_t featureBits, VkStructureType rootType,
6885 const VkHostImageLayoutTransitionInfoEXT* toCount,
6886 size_t* count) {
6887 (void)featureBits;
6888 (void)rootType;
6889 (void)toCount;
6890 (void)count;
6891 *count += sizeof(VkStructureType);
6892 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6893 rootType = toCount->sType;
6894 }
6895 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6896 uint64_t cgen_var_0;
6897 *count += 1 * 8;
6898 *count += sizeof(VkImageLayout);
6899 *count += sizeof(VkImageLayout);
6900 count_VkImageSubresourceRange(featureBits, rootType,
6901 (VkImageSubresourceRange*)(&toCount->subresourceRange), count);
6902 }
6903
count_VkSubresourceHostMemcpySizeEXT(uint32_t featureBits,VkStructureType rootType,const VkSubresourceHostMemcpySizeEXT * toCount,size_t * count)6904 void count_VkSubresourceHostMemcpySizeEXT(uint32_t featureBits, VkStructureType rootType,
6905 const VkSubresourceHostMemcpySizeEXT* toCount,
6906 size_t* count) {
6907 (void)featureBits;
6908 (void)rootType;
6909 (void)toCount;
6910 (void)count;
6911 *count += sizeof(VkStructureType);
6912 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6913 rootType = toCount->sType;
6914 }
6915 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6916 *count += sizeof(VkDeviceSize);
6917 }
6918
count_VkHostImageCopyDevicePerformanceQueryEXT(uint32_t featureBits,VkStructureType rootType,const VkHostImageCopyDevicePerformanceQueryEXT * toCount,size_t * count)6919 void count_VkHostImageCopyDevicePerformanceQueryEXT(
6920 uint32_t featureBits, VkStructureType rootType,
6921 const VkHostImageCopyDevicePerformanceQueryEXT* toCount, size_t* count) {
6922 (void)featureBits;
6923 (void)rootType;
6924 (void)toCount;
6925 (void)count;
6926 *count += sizeof(VkStructureType);
6927 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6928 rootType = toCount->sType;
6929 }
6930 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6931 *count += sizeof(VkBool32);
6932 *count += sizeof(VkBool32);
6933 }
6934
6935 #endif
6936 #ifdef VK_EXT_texel_buffer_alignment
count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT * toCount,size_t * count)6937 void count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
6938 uint32_t featureBits, VkStructureType rootType,
6939 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* toCount, size_t* count) {
6940 (void)featureBits;
6941 (void)rootType;
6942 (void)toCount;
6943 (void)count;
6944 *count += sizeof(VkStructureType);
6945 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6946 rootType = toCount->sType;
6947 }
6948 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6949 *count += sizeof(VkBool32);
6950 }
6951
6952 #endif
6953 #ifdef VK_EXT_device_memory_report
count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT * toCount,size_t * count)6954 void count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
6955 uint32_t featureBits, VkStructureType rootType,
6956 const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* toCount, size_t* count) {
6957 (void)featureBits;
6958 (void)rootType;
6959 (void)toCount;
6960 (void)count;
6961 *count += sizeof(VkStructureType);
6962 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6963 rootType = toCount->sType;
6964 }
6965 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6966 *count += sizeof(VkBool32);
6967 }
6968
count_VkDeviceMemoryReportCallbackDataEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceMemoryReportCallbackDataEXT * toCount,size_t * count)6969 void count_VkDeviceMemoryReportCallbackDataEXT(uint32_t featureBits, VkStructureType rootType,
6970 const VkDeviceMemoryReportCallbackDataEXT* toCount,
6971 size_t* count) {
6972 (void)featureBits;
6973 (void)rootType;
6974 (void)toCount;
6975 (void)count;
6976 *count += sizeof(VkStructureType);
6977 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6978 rootType = toCount->sType;
6979 }
6980 count_extension_struct(featureBits, rootType, toCount->pNext, count);
6981 *count += sizeof(VkDeviceMemoryReportFlagsEXT);
6982 *count += sizeof(VkDeviceMemoryReportEventTypeEXT);
6983 *count += sizeof(uint64_t);
6984 *count += sizeof(VkDeviceSize);
6985 *count += sizeof(VkObjectType);
6986 *count += sizeof(uint64_t);
6987 *count += sizeof(uint32_t);
6988 }
6989
count_VkDeviceDeviceMemoryReportCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkDeviceDeviceMemoryReportCreateInfoEXT * toCount,size_t * count)6990 void count_VkDeviceDeviceMemoryReportCreateInfoEXT(
6991 uint32_t featureBits, VkStructureType rootType,
6992 const VkDeviceDeviceMemoryReportCreateInfoEXT* toCount, size_t* count) {
6993 (void)featureBits;
6994 (void)rootType;
6995 (void)toCount;
6996 (void)count;
6997 *count += sizeof(VkStructureType);
6998 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
6999 rootType = toCount->sType;
7000 }
7001 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7002 *count += sizeof(VkDeviceMemoryReportFlagsEXT);
7003 *count += 8;
7004 *count += sizeof(uint8_t);
7005 }
7006
7007 #endif
7008 #ifdef VK_EXT_robustness2
count_VkPhysicalDeviceRobustness2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRobustness2FeaturesEXT * toCount,size_t * count)7009 void count_VkPhysicalDeviceRobustness2FeaturesEXT(
7010 uint32_t featureBits, VkStructureType rootType,
7011 const VkPhysicalDeviceRobustness2FeaturesEXT* toCount, size_t* count) {
7012 (void)featureBits;
7013 (void)rootType;
7014 (void)toCount;
7015 (void)count;
7016 *count += sizeof(VkStructureType);
7017 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7018 rootType = toCount->sType;
7019 }
7020 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7021 *count += sizeof(VkBool32);
7022 *count += sizeof(VkBool32);
7023 *count += sizeof(VkBool32);
7024 }
7025
count_VkPhysicalDeviceRobustness2PropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceRobustness2PropertiesEXT * toCount,size_t * count)7026 void count_VkPhysicalDeviceRobustness2PropertiesEXT(
7027 uint32_t featureBits, VkStructureType rootType,
7028 const VkPhysicalDeviceRobustness2PropertiesEXT* toCount, size_t* count) {
7029 (void)featureBits;
7030 (void)rootType;
7031 (void)toCount;
7032 (void)count;
7033 *count += sizeof(VkStructureType);
7034 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7035 rootType = toCount->sType;
7036 }
7037 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7038 *count += sizeof(VkDeviceSize);
7039 *count += sizeof(VkDeviceSize);
7040 }
7041
7042 #endif
7043 #ifdef VK_EXT_custom_border_color
count_VkSamplerCustomBorderColorCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkSamplerCustomBorderColorCreateInfoEXT * toCount,size_t * count)7044 void count_VkSamplerCustomBorderColorCreateInfoEXT(
7045 uint32_t featureBits, VkStructureType rootType,
7046 const VkSamplerCustomBorderColorCreateInfoEXT* toCount, size_t* count) {
7047 (void)featureBits;
7048 (void)rootType;
7049 (void)toCount;
7050 (void)count;
7051 *count += sizeof(VkStructureType);
7052 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7053 rootType = toCount->sType;
7054 }
7055 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7056 count_VkClearColorValue(featureBits, rootType,
7057 (VkClearColorValue*)(&toCount->customBorderColor), count);
7058 *count += sizeof(VkFormat);
7059 }
7060
count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorPropertiesEXT * toCount,size_t * count)7061 void count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
7062 uint32_t featureBits, VkStructureType rootType,
7063 const VkPhysicalDeviceCustomBorderColorPropertiesEXT* toCount, size_t* count) {
7064 (void)featureBits;
7065 (void)rootType;
7066 (void)toCount;
7067 (void)count;
7068 *count += sizeof(VkStructureType);
7069 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7070 rootType = toCount->sType;
7071 }
7072 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7073 *count += sizeof(uint32_t);
7074 }
7075
count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceCustomBorderColorFeaturesEXT * toCount,size_t * count)7076 void count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
7077 uint32_t featureBits, VkStructureType rootType,
7078 const VkPhysicalDeviceCustomBorderColorFeaturesEXT* toCount, size_t* count) {
7079 (void)featureBits;
7080 (void)rootType;
7081 (void)toCount;
7082 (void)count;
7083 *count += sizeof(VkStructureType);
7084 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7085 rootType = toCount->sType;
7086 }
7087 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7088 *count += sizeof(VkBool32);
7089 *count += sizeof(VkBool32);
7090 }
7091
7092 #endif
7093 #ifdef VK_EXT_graphics_pipeline_library
count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT * toCount,size_t * count)7094 void count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
7095 uint32_t featureBits, VkStructureType rootType,
7096 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* toCount, size_t* count) {
7097 (void)featureBits;
7098 (void)rootType;
7099 (void)toCount;
7100 (void)count;
7101 *count += sizeof(VkStructureType);
7102 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7103 rootType = toCount->sType;
7104 }
7105 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7106 *count += sizeof(VkBool32);
7107 }
7108
count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT * toCount,size_t * count)7109 void count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
7110 uint32_t featureBits, VkStructureType rootType,
7111 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* toCount, size_t* count) {
7112 (void)featureBits;
7113 (void)rootType;
7114 (void)toCount;
7115 (void)count;
7116 *count += sizeof(VkStructureType);
7117 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7118 rootType = toCount->sType;
7119 }
7120 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7121 *count += sizeof(VkBool32);
7122 *count += sizeof(VkBool32);
7123 }
7124
count_VkGraphicsPipelineLibraryCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkGraphicsPipelineLibraryCreateInfoEXT * toCount,size_t * count)7125 void count_VkGraphicsPipelineLibraryCreateInfoEXT(
7126 uint32_t featureBits, VkStructureType rootType,
7127 const VkGraphicsPipelineLibraryCreateInfoEXT* toCount, size_t* count) {
7128 (void)featureBits;
7129 (void)rootType;
7130 (void)toCount;
7131 (void)count;
7132 *count += sizeof(VkStructureType);
7133 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7134 rootType = toCount->sType;
7135 }
7136 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7137 *count += sizeof(VkGraphicsPipelineLibraryFlagsEXT);
7138 }
7139
7140 #endif
7141 #ifdef VK_EXT_ycbcr_2plane_444_formats
count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT * toCount,size_t * count)7142 void count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
7143 uint32_t featureBits, VkStructureType rootType,
7144 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* toCount, size_t* count) {
7145 (void)featureBits;
7146 (void)rootType;
7147 (void)toCount;
7148 (void)count;
7149 *count += sizeof(VkStructureType);
7150 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7151 rootType = toCount->sType;
7152 }
7153 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7154 *count += sizeof(VkBool32);
7155 }
7156
7157 #endif
7158 #ifdef VK_EXT_image_compression_control
count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlFeaturesEXT * toCount,size_t * count)7159 void count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
7160 uint32_t featureBits, VkStructureType rootType,
7161 const VkPhysicalDeviceImageCompressionControlFeaturesEXT* toCount, size_t* count) {
7162 (void)featureBits;
7163 (void)rootType;
7164 (void)toCount;
7165 (void)count;
7166 *count += sizeof(VkStructureType);
7167 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7168 rootType = toCount->sType;
7169 }
7170 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7171 *count += sizeof(VkBool32);
7172 }
7173
count_VkImageCompressionControlEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCompressionControlEXT * toCount,size_t * count)7174 void count_VkImageCompressionControlEXT(uint32_t featureBits, VkStructureType rootType,
7175 const VkImageCompressionControlEXT* toCount,
7176 size_t* count) {
7177 (void)featureBits;
7178 (void)rootType;
7179 (void)toCount;
7180 (void)count;
7181 *count += sizeof(VkStructureType);
7182 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7183 rootType = toCount->sType;
7184 }
7185 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7186 *count += sizeof(VkImageCompressionFlagsEXT);
7187 *count += sizeof(uint32_t);
7188 // WARNING PTR CHECK
7189 *count += 8;
7190 if (toCount->pFixedRateFlags) {
7191 if (toCount) {
7192 *count +=
7193 toCount->compressionControlPlaneCount * sizeof(VkImageCompressionFixedRateFlagsEXT);
7194 }
7195 }
7196 }
7197
count_VkImageCompressionPropertiesEXT(uint32_t featureBits,VkStructureType rootType,const VkImageCompressionPropertiesEXT * toCount,size_t * count)7198 void count_VkImageCompressionPropertiesEXT(uint32_t featureBits, VkStructureType rootType,
7199 const VkImageCompressionPropertiesEXT* toCount,
7200 size_t* count) {
7201 (void)featureBits;
7202 (void)rootType;
7203 (void)toCount;
7204 (void)count;
7205 *count += sizeof(VkStructureType);
7206 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7207 rootType = toCount->sType;
7208 }
7209 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7210 *count += sizeof(VkImageCompressionFlagsEXT);
7211 *count += sizeof(VkImageCompressionFixedRateFlagsEXT);
7212 }
7213
7214 #endif
7215 #ifdef VK_EXT_4444_formats
count_VkPhysicalDevice4444FormatsFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevice4444FormatsFeaturesEXT * toCount,size_t * count)7216 void count_VkPhysicalDevice4444FormatsFeaturesEXT(
7217 uint32_t featureBits, VkStructureType rootType,
7218 const VkPhysicalDevice4444FormatsFeaturesEXT* toCount, size_t* count) {
7219 (void)featureBits;
7220 (void)rootType;
7221 (void)toCount;
7222 (void)count;
7223 *count += sizeof(VkStructureType);
7224 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7225 rootType = toCount->sType;
7226 }
7227 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7228 *count += sizeof(VkBool32);
7229 *count += sizeof(VkBool32);
7230 }
7231
7232 #endif
7233 #ifdef VK_EXT_primitive_topology_list_restart
count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT * toCount,size_t * count)7234 void count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
7235 uint32_t featureBits, VkStructureType rootType,
7236 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* toCount, size_t* count) {
7237 (void)featureBits;
7238 (void)rootType;
7239 (void)toCount;
7240 (void)count;
7241 *count += sizeof(VkStructureType);
7242 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7243 rootType = toCount->sType;
7244 }
7245 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7246 *count += sizeof(VkBool32);
7247 *count += sizeof(VkBool32);
7248 }
7249
7250 #endif
7251 #ifdef VK_EXT_extended_dynamic_state2
count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT * toCount,size_t * count)7252 void count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
7253 uint32_t featureBits, VkStructureType rootType,
7254 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* toCount, size_t* count) {
7255 (void)featureBits;
7256 (void)rootType;
7257 (void)toCount;
7258 (void)count;
7259 *count += sizeof(VkStructureType);
7260 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7261 rootType = toCount->sType;
7262 }
7263 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7264 *count += sizeof(VkBool32);
7265 *count += sizeof(VkBool32);
7266 *count += sizeof(VkBool32);
7267 }
7268
7269 #endif
7270 #ifdef VK_EXT_color_write_enable
count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceColorWriteEnableFeaturesEXT * toCount,size_t * count)7271 void count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
7272 uint32_t featureBits, VkStructureType rootType,
7273 const VkPhysicalDeviceColorWriteEnableFeaturesEXT* toCount, size_t* count) {
7274 (void)featureBits;
7275 (void)rootType;
7276 (void)toCount;
7277 (void)count;
7278 *count += sizeof(VkStructureType);
7279 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7280 rootType = toCount->sType;
7281 }
7282 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7283 *count += sizeof(VkBool32);
7284 }
7285
count_VkPipelineColorWriteCreateInfoEXT(uint32_t featureBits,VkStructureType rootType,const VkPipelineColorWriteCreateInfoEXT * toCount,size_t * count)7286 void count_VkPipelineColorWriteCreateInfoEXT(uint32_t featureBits, VkStructureType rootType,
7287 const VkPipelineColorWriteCreateInfoEXT* toCount,
7288 size_t* count) {
7289 (void)featureBits;
7290 (void)rootType;
7291 (void)toCount;
7292 (void)count;
7293 *count += sizeof(VkStructureType);
7294 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7295 rootType = toCount->sType;
7296 }
7297 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7298 *count += sizeof(uint32_t);
7299 if (toCount) {
7300 *count += toCount->attachmentCount * sizeof(const VkBool32);
7301 }
7302 }
7303
7304 #endif
7305 #ifdef VK_GOOGLE_gfxstream
count_VkImportColorBufferGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkImportColorBufferGOOGLE * toCount,size_t * count)7306 void count_VkImportColorBufferGOOGLE(uint32_t featureBits, VkStructureType rootType,
7307 const VkImportColorBufferGOOGLE* toCount, size_t* count) {
7308 (void)featureBits;
7309 (void)rootType;
7310 (void)toCount;
7311 (void)count;
7312 *count += sizeof(VkStructureType);
7313 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7314 rootType = toCount->sType;
7315 }
7316 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7317 *count += sizeof(uint32_t);
7318 }
7319
count_VkImportBufferGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkImportBufferGOOGLE * toCount,size_t * count)7320 void count_VkImportBufferGOOGLE(uint32_t featureBits, VkStructureType rootType,
7321 const VkImportBufferGOOGLE* toCount, size_t* count) {
7322 (void)featureBits;
7323 (void)rootType;
7324 (void)toCount;
7325 (void)count;
7326 *count += sizeof(VkStructureType);
7327 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7328 rootType = toCount->sType;
7329 }
7330 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7331 *count += sizeof(uint32_t);
7332 }
7333
count_VkCreateBlobGOOGLE(uint32_t featureBits,VkStructureType rootType,const VkCreateBlobGOOGLE * toCount,size_t * count)7334 void count_VkCreateBlobGOOGLE(uint32_t featureBits, VkStructureType rootType,
7335 const VkCreateBlobGOOGLE* toCount, size_t* count) {
7336 (void)featureBits;
7337 (void)rootType;
7338 (void)toCount;
7339 (void)count;
7340 *count += sizeof(VkStructureType);
7341 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7342 rootType = toCount->sType;
7343 }
7344 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7345 *count += sizeof(uint32_t);
7346 *count += sizeof(uint32_t);
7347 *count += sizeof(uint64_t);
7348 }
7349
7350 #endif
7351 #ifdef VK_EXT_image_compression_control_swapchain
count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(uint32_t featureBits,VkStructureType rootType,const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT * toCount,size_t * count)7352 void count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
7353 uint32_t featureBits, VkStructureType rootType,
7354 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* toCount, size_t* count) {
7355 (void)featureBits;
7356 (void)rootType;
7357 (void)toCount;
7358 (void)count;
7359 *count += sizeof(VkStructureType);
7360 if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM) {
7361 rootType = toCount->sType;
7362 }
7363 count_extension_struct(featureBits, rootType, toCount->pNext, count);
7364 *count += sizeof(VkBool32);
7365 }
7366
7367 #endif
count_extension_struct(uint32_t featureBits,VkStructureType rootType,const void * structExtension,size_t * count)7368 void count_extension_struct(uint32_t featureBits, VkStructureType rootType,
7369 const void* structExtension, size_t* count) {
7370 VkInstanceCreateInfo* structAccess = (VkInstanceCreateInfo*)(structExtension);
7371 size_t currExtSize = goldfish_vk_extension_struct_size_with_stream_features(
7372 featureBits, rootType, structExtension);
7373 if (!currExtSize && structExtension) {
7374 // unknown struct extension; skip and call on its pNext field
7375 count_extension_struct(featureBits, rootType, (void*)structAccess->pNext, count);
7376 return;
7377 } else {
7378 // known or null extension struct
7379 *count += sizeof(uint32_t);
7380 if (!currExtSize) {
7381 // exit if this was a null extension struct (size == 0 in this branch)
7382 return;
7383 }
7384 }
7385 *count += sizeof(VkStructureType);
7386 if (!structExtension) {
7387 return;
7388 }
7389 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
7390 switch (structType) {
7391 #ifdef VK_VERSION_1_0
7392 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
7393 count_VkShaderModuleCreateInfo(
7394 featureBits, rootType,
7395 reinterpret_cast<const VkShaderModuleCreateInfo*>(structExtension), count);
7396 break;
7397 }
7398 case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: {
7399 count_VkPipelineLayoutCreateInfo(
7400 featureBits, rootType,
7401 reinterpret_cast<const VkPipelineLayoutCreateInfo*>(structExtension), count);
7402 break;
7403 }
7404 #endif
7405 #ifdef VK_VERSION_1_1
7406 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
7407 count_VkPhysicalDeviceSubgroupProperties(
7408 featureBits, rootType,
7409 reinterpret_cast<const VkPhysicalDeviceSubgroupProperties*>(structExtension),
7410 count);
7411 break;
7412 }
7413 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
7414 count_VkPhysicalDevice16BitStorageFeatures(
7415 featureBits, rootType,
7416 reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures*>(structExtension),
7417 count);
7418 break;
7419 }
7420 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
7421 count_VkMemoryDedicatedRequirements(
7422 featureBits, rootType,
7423 reinterpret_cast<const VkMemoryDedicatedRequirements*>(structExtension), count);
7424 break;
7425 }
7426 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
7427 count_VkMemoryDedicatedAllocateInfo(
7428 featureBits, rootType,
7429 reinterpret_cast<const VkMemoryDedicatedAllocateInfo*>(structExtension), count);
7430 break;
7431 }
7432 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
7433 count_VkMemoryAllocateFlagsInfo(
7434 featureBits, rootType,
7435 reinterpret_cast<const VkMemoryAllocateFlagsInfo*>(structExtension), count);
7436 break;
7437 }
7438 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
7439 count_VkDeviceGroupRenderPassBeginInfo(
7440 featureBits, rootType,
7441 reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo*>(structExtension), count);
7442 break;
7443 }
7444 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
7445 count_VkDeviceGroupCommandBufferBeginInfo(
7446 featureBits, rootType,
7447 reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo*>(structExtension),
7448 count);
7449 break;
7450 }
7451 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
7452 count_VkDeviceGroupSubmitInfo(
7453 featureBits, rootType,
7454 reinterpret_cast<const VkDeviceGroupSubmitInfo*>(structExtension), count);
7455 break;
7456 }
7457 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
7458 count_VkDeviceGroupBindSparseInfo(
7459 featureBits, rootType,
7460 reinterpret_cast<const VkDeviceGroupBindSparseInfo*>(structExtension), count);
7461 break;
7462 }
7463 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
7464 count_VkBindBufferMemoryDeviceGroupInfo(
7465 featureBits, rootType,
7466 reinterpret_cast<const VkBindBufferMemoryDeviceGroupInfo*>(structExtension), count);
7467 break;
7468 }
7469 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
7470 count_VkBindImageMemoryDeviceGroupInfo(
7471 featureBits, rootType,
7472 reinterpret_cast<const VkBindImageMemoryDeviceGroupInfo*>(structExtension), count);
7473 break;
7474 }
7475 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
7476 count_VkDeviceGroupDeviceCreateInfo(
7477 featureBits, rootType,
7478 reinterpret_cast<const VkDeviceGroupDeviceCreateInfo*>(structExtension), count);
7479 break;
7480 }
7481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
7482 count_VkPhysicalDeviceFeatures2(
7483 featureBits, rootType,
7484 reinterpret_cast<const VkPhysicalDeviceFeatures2*>(structExtension), count);
7485 break;
7486 }
7487 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
7488 count_VkPhysicalDevicePointClippingProperties(
7489 featureBits, rootType,
7490 reinterpret_cast<const VkPhysicalDevicePointClippingProperties*>(structExtension),
7491 count);
7492 break;
7493 }
7494 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
7495 count_VkRenderPassInputAttachmentAspectCreateInfo(
7496 featureBits, rootType,
7497 reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo*>(
7498 structExtension),
7499 count);
7500 break;
7501 }
7502 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
7503 count_VkImageViewUsageCreateInfo(
7504 featureBits, rootType,
7505 reinterpret_cast<const VkImageViewUsageCreateInfo*>(structExtension), count);
7506 break;
7507 }
7508 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
7509 count_VkPipelineTessellationDomainOriginStateCreateInfo(
7510 featureBits, rootType,
7511 reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo*>(
7512 structExtension),
7513 count);
7514 break;
7515 }
7516 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
7517 count_VkRenderPassMultiviewCreateInfo(
7518 featureBits, rootType,
7519 reinterpret_cast<const VkRenderPassMultiviewCreateInfo*>(structExtension), count);
7520 break;
7521 }
7522 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
7523 count_VkPhysicalDeviceMultiviewFeatures(
7524 featureBits, rootType,
7525 reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures*>(structExtension), count);
7526 break;
7527 }
7528 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
7529 count_VkPhysicalDeviceMultiviewProperties(
7530 featureBits, rootType,
7531 reinterpret_cast<const VkPhysicalDeviceMultiviewProperties*>(structExtension),
7532 count);
7533 break;
7534 }
7535 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
7536 count_VkPhysicalDeviceVariablePointersFeatures(
7537 featureBits, rootType,
7538 reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures*>(structExtension),
7539 count);
7540 break;
7541 }
7542 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
7543 count_VkPhysicalDeviceProtectedMemoryFeatures(
7544 featureBits, rootType,
7545 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures*>(structExtension),
7546 count);
7547 break;
7548 }
7549 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
7550 count_VkPhysicalDeviceProtectedMemoryProperties(
7551 featureBits, rootType,
7552 reinterpret_cast<const VkPhysicalDeviceProtectedMemoryProperties*>(structExtension),
7553 count);
7554 break;
7555 }
7556 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
7557 count_VkProtectedSubmitInfo(
7558 featureBits, rootType,
7559 reinterpret_cast<const VkProtectedSubmitInfo*>(structExtension), count);
7560 break;
7561 }
7562 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
7563 count_VkSamplerYcbcrConversionInfo(
7564 featureBits, rootType,
7565 reinterpret_cast<const VkSamplerYcbcrConversionInfo*>(structExtension), count);
7566 break;
7567 }
7568 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
7569 count_VkBindImagePlaneMemoryInfo(
7570 featureBits, rootType,
7571 reinterpret_cast<const VkBindImagePlaneMemoryInfo*>(structExtension), count);
7572 break;
7573 }
7574 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
7575 count_VkImagePlaneMemoryRequirementsInfo(
7576 featureBits, rootType,
7577 reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo*>(structExtension),
7578 count);
7579 break;
7580 }
7581 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
7582 count_VkPhysicalDeviceSamplerYcbcrConversionFeatures(
7583 featureBits, rootType,
7584 reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(
7585 structExtension),
7586 count);
7587 break;
7588 }
7589 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
7590 count_VkSamplerYcbcrConversionImageFormatProperties(
7591 featureBits, rootType,
7592 reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties*>(
7593 structExtension),
7594 count);
7595 break;
7596 }
7597 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
7598 count_VkPhysicalDeviceExternalImageFormatInfo(
7599 featureBits, rootType,
7600 reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo*>(structExtension),
7601 count);
7602 break;
7603 }
7604 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
7605 count_VkExternalImageFormatProperties(
7606 featureBits, rootType,
7607 reinterpret_cast<const VkExternalImageFormatProperties*>(structExtension), count);
7608 break;
7609 }
7610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
7611 count_VkPhysicalDeviceIDProperties(
7612 featureBits, rootType,
7613 reinterpret_cast<const VkPhysicalDeviceIDProperties*>(structExtension), count);
7614 break;
7615 }
7616 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
7617 count_VkExternalMemoryImageCreateInfo(
7618 featureBits, rootType,
7619 reinterpret_cast<const VkExternalMemoryImageCreateInfo*>(structExtension), count);
7620 break;
7621 }
7622 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
7623 count_VkExternalMemoryBufferCreateInfo(
7624 featureBits, rootType,
7625 reinterpret_cast<const VkExternalMemoryBufferCreateInfo*>(structExtension), count);
7626 break;
7627 }
7628 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
7629 count_VkExportMemoryAllocateInfo(
7630 featureBits, rootType,
7631 reinterpret_cast<const VkExportMemoryAllocateInfo*>(structExtension), count);
7632 break;
7633 }
7634 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
7635 count_VkExportFenceCreateInfo(
7636 featureBits, rootType,
7637 reinterpret_cast<const VkExportFenceCreateInfo*>(structExtension), count);
7638 break;
7639 }
7640 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
7641 count_VkExportSemaphoreCreateInfo(
7642 featureBits, rootType,
7643 reinterpret_cast<const VkExportSemaphoreCreateInfo*>(structExtension), count);
7644 break;
7645 }
7646 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
7647 count_VkPhysicalDeviceMaintenance3Properties(
7648 featureBits, rootType,
7649 reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties*>(structExtension),
7650 count);
7651 break;
7652 }
7653 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
7654 count_VkPhysicalDeviceShaderDrawParametersFeatures(
7655 featureBits, rootType,
7656 reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures*>(
7657 structExtension),
7658 count);
7659 break;
7660 }
7661 #endif
7662 #ifdef VK_VERSION_1_2
7663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
7664 count_VkPhysicalDeviceVulkan11Features(
7665 featureBits, rootType,
7666 reinterpret_cast<const VkPhysicalDeviceVulkan11Features*>(structExtension), count);
7667 break;
7668 }
7669 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
7670 count_VkPhysicalDeviceVulkan11Properties(
7671 featureBits, rootType,
7672 reinterpret_cast<const VkPhysicalDeviceVulkan11Properties*>(structExtension),
7673 count);
7674 break;
7675 }
7676 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
7677 count_VkPhysicalDeviceVulkan12Features(
7678 featureBits, rootType,
7679 reinterpret_cast<const VkPhysicalDeviceVulkan12Features*>(structExtension), count);
7680 break;
7681 }
7682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
7683 count_VkPhysicalDeviceVulkan12Properties(
7684 featureBits, rootType,
7685 reinterpret_cast<const VkPhysicalDeviceVulkan12Properties*>(structExtension),
7686 count);
7687 break;
7688 }
7689 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
7690 count_VkImageFormatListCreateInfo(
7691 featureBits, rootType,
7692 reinterpret_cast<const VkImageFormatListCreateInfo*>(structExtension), count);
7693 break;
7694 }
7695 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
7696 count_VkPhysicalDevice8BitStorageFeatures(
7697 featureBits, rootType,
7698 reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures*>(structExtension),
7699 count);
7700 break;
7701 }
7702 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
7703 count_VkPhysicalDeviceDriverProperties(
7704 featureBits, rootType,
7705 reinterpret_cast<const VkPhysicalDeviceDriverProperties*>(structExtension), count);
7706 break;
7707 }
7708 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
7709 count_VkPhysicalDeviceShaderAtomicInt64Features(
7710 featureBits, rootType,
7711 reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features*>(structExtension),
7712 count);
7713 break;
7714 }
7715 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
7716 count_VkPhysicalDeviceShaderFloat16Int8Features(
7717 featureBits, rootType,
7718 reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features*>(structExtension),
7719 count);
7720 break;
7721 }
7722 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
7723 count_VkPhysicalDeviceFloatControlsProperties(
7724 featureBits, rootType,
7725 reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties*>(structExtension),
7726 count);
7727 break;
7728 }
7729 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
7730 count_VkDescriptorSetLayoutBindingFlagsCreateInfo(
7731 featureBits, rootType,
7732 reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo*>(
7733 structExtension),
7734 count);
7735 break;
7736 }
7737 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
7738 count_VkPhysicalDeviceDescriptorIndexingFeatures(
7739 featureBits, rootType,
7740 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures*>(
7741 structExtension),
7742 count);
7743 break;
7744 }
7745 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
7746 count_VkPhysicalDeviceDescriptorIndexingProperties(
7747 featureBits, rootType,
7748 reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties*>(
7749 structExtension),
7750 count);
7751 break;
7752 }
7753 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
7754 count_VkDescriptorSetVariableDescriptorCountAllocateInfo(
7755 featureBits, rootType,
7756 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo*>(
7757 structExtension),
7758 count);
7759 break;
7760 }
7761 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
7762 count_VkDescriptorSetVariableDescriptorCountLayoutSupport(
7763 featureBits, rootType,
7764 reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport*>(
7765 structExtension),
7766 count);
7767 break;
7768 }
7769 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
7770 count_VkSubpassDescriptionDepthStencilResolve(
7771 featureBits, rootType,
7772 reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve*>(structExtension),
7773 count);
7774 break;
7775 }
7776 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
7777 count_VkPhysicalDeviceDepthStencilResolveProperties(
7778 featureBits, rootType,
7779 reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties*>(
7780 structExtension),
7781 count);
7782 break;
7783 }
7784 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
7785 count_VkPhysicalDeviceScalarBlockLayoutFeatures(
7786 featureBits, rootType,
7787 reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures*>(structExtension),
7788 count);
7789 break;
7790 }
7791 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
7792 count_VkImageStencilUsageCreateInfo(
7793 featureBits, rootType,
7794 reinterpret_cast<const VkImageStencilUsageCreateInfo*>(structExtension), count);
7795 break;
7796 }
7797 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
7798 count_VkSamplerReductionModeCreateInfo(
7799 featureBits, rootType,
7800 reinterpret_cast<const VkSamplerReductionModeCreateInfo*>(structExtension), count);
7801 break;
7802 }
7803 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
7804 count_VkPhysicalDeviceSamplerFilterMinmaxProperties(
7805 featureBits, rootType,
7806 reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties*>(
7807 structExtension),
7808 count);
7809 break;
7810 }
7811 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
7812 count_VkPhysicalDeviceVulkanMemoryModelFeatures(
7813 featureBits, rootType,
7814 reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures*>(structExtension),
7815 count);
7816 break;
7817 }
7818 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
7819 count_VkPhysicalDeviceImagelessFramebufferFeatures(
7820 featureBits, rootType,
7821 reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures*>(
7822 structExtension),
7823 count);
7824 break;
7825 }
7826 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
7827 count_VkFramebufferAttachmentsCreateInfo(
7828 featureBits, rootType,
7829 reinterpret_cast<const VkFramebufferAttachmentsCreateInfo*>(structExtension),
7830 count);
7831 break;
7832 }
7833 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
7834 count_VkRenderPassAttachmentBeginInfo(
7835 featureBits, rootType,
7836 reinterpret_cast<const VkRenderPassAttachmentBeginInfo*>(structExtension), count);
7837 break;
7838 }
7839 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
7840 count_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(
7841 featureBits, rootType,
7842 reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(
7843 structExtension),
7844 count);
7845 break;
7846 }
7847 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
7848 count_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
7849 featureBits, rootType,
7850 reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(
7851 structExtension),
7852 count);
7853 break;
7854 }
7855 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
7856 count_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
7857 featureBits, rootType,
7858 reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(
7859 structExtension),
7860 count);
7861 break;
7862 }
7863 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
7864 count_VkAttachmentReferenceStencilLayout(
7865 featureBits, rootType,
7866 reinterpret_cast<const VkAttachmentReferenceStencilLayout*>(structExtension),
7867 count);
7868 break;
7869 }
7870 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
7871 count_VkAttachmentDescriptionStencilLayout(
7872 featureBits, rootType,
7873 reinterpret_cast<const VkAttachmentDescriptionStencilLayout*>(structExtension),
7874 count);
7875 break;
7876 }
7877 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
7878 count_VkPhysicalDeviceHostQueryResetFeatures(
7879 featureBits, rootType,
7880 reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures*>(structExtension),
7881 count);
7882 break;
7883 }
7884 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
7885 count_VkPhysicalDeviceTimelineSemaphoreFeatures(
7886 featureBits, rootType,
7887 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreFeatures*>(structExtension),
7888 count);
7889 break;
7890 }
7891 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
7892 count_VkPhysicalDeviceTimelineSemaphoreProperties(
7893 featureBits, rootType,
7894 reinterpret_cast<const VkPhysicalDeviceTimelineSemaphoreProperties*>(
7895 structExtension),
7896 count);
7897 break;
7898 }
7899 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
7900 count_VkSemaphoreTypeCreateInfo(
7901 featureBits, rootType,
7902 reinterpret_cast<const VkSemaphoreTypeCreateInfo*>(structExtension), count);
7903 break;
7904 }
7905 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
7906 count_VkTimelineSemaphoreSubmitInfo(
7907 featureBits, rootType,
7908 reinterpret_cast<const VkTimelineSemaphoreSubmitInfo*>(structExtension), count);
7909 break;
7910 }
7911 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
7912 count_VkPhysicalDeviceBufferDeviceAddressFeatures(
7913 featureBits, rootType,
7914 reinterpret_cast<const VkPhysicalDeviceBufferDeviceAddressFeatures*>(
7915 structExtension),
7916 count);
7917 break;
7918 }
7919 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
7920 count_VkBufferOpaqueCaptureAddressCreateInfo(
7921 featureBits, rootType,
7922 reinterpret_cast<const VkBufferOpaqueCaptureAddressCreateInfo*>(structExtension),
7923 count);
7924 break;
7925 }
7926 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
7927 count_VkMemoryOpaqueCaptureAddressAllocateInfo(
7928 featureBits, rootType,
7929 reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo*>(structExtension),
7930 count);
7931 break;
7932 }
7933 #endif
7934 #ifdef VK_VERSION_1_3
7935 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
7936 count_VkPhysicalDeviceVulkan13Features(
7937 featureBits, rootType,
7938 reinterpret_cast<const VkPhysicalDeviceVulkan13Features*>(structExtension), count);
7939 break;
7940 }
7941 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
7942 count_VkPhysicalDeviceVulkan13Properties(
7943 featureBits, rootType,
7944 reinterpret_cast<const VkPhysicalDeviceVulkan13Properties*>(structExtension),
7945 count);
7946 break;
7947 }
7948 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
7949 count_VkPipelineCreationFeedbackCreateInfo(
7950 featureBits, rootType,
7951 reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo*>(structExtension),
7952 count);
7953 break;
7954 }
7955 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
7956 count_VkPhysicalDeviceShaderTerminateInvocationFeatures(
7957 featureBits, rootType,
7958 reinterpret_cast<const VkPhysicalDeviceShaderTerminateInvocationFeatures*>(
7959 structExtension),
7960 count);
7961 break;
7962 }
7963 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
7964 count_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(
7965 featureBits, rootType,
7966 reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(
7967 structExtension),
7968 count);
7969 break;
7970 }
7971 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
7972 count_VkPhysicalDevicePrivateDataFeatures(
7973 featureBits, rootType,
7974 reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures*>(structExtension),
7975 count);
7976 break;
7977 }
7978 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
7979 count_VkDevicePrivateDataCreateInfo(
7980 featureBits, rootType,
7981 reinterpret_cast<const VkDevicePrivateDataCreateInfo*>(structExtension), count);
7982 break;
7983 }
7984 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
7985 count_VkPhysicalDevicePipelineCreationCacheControlFeatures(
7986 featureBits, rootType,
7987 reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures*>(
7988 structExtension),
7989 count);
7990 break;
7991 }
7992 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
7993 count_VkMemoryBarrier2(featureBits, rootType,
7994 reinterpret_cast<const VkMemoryBarrier2*>(structExtension),
7995 count);
7996 break;
7997 }
7998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
7999 count_VkPhysicalDeviceSynchronization2Features(
8000 featureBits, rootType,
8001 reinterpret_cast<const VkPhysicalDeviceSynchronization2Features*>(structExtension),
8002 count);
8003 break;
8004 }
8005 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
8006 count_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(
8007 featureBits, rootType,
8008 reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(
8009 structExtension),
8010 count);
8011 break;
8012 }
8013 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
8014 count_VkPhysicalDeviceImageRobustnessFeatures(
8015 featureBits, rootType,
8016 reinterpret_cast<const VkPhysicalDeviceImageRobustnessFeatures*>(structExtension),
8017 count);
8018 break;
8019 }
8020 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
8021 count_VkPhysicalDeviceSubgroupSizeControlFeatures(
8022 featureBits, rootType,
8023 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlFeatures*>(
8024 structExtension),
8025 count);
8026 break;
8027 }
8028 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
8029 count_VkPhysicalDeviceSubgroupSizeControlProperties(
8030 featureBits, rootType,
8031 reinterpret_cast<const VkPhysicalDeviceSubgroupSizeControlProperties*>(
8032 structExtension),
8033 count);
8034 break;
8035 }
8036 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
8037 count_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(
8038 featureBits, rootType,
8039 reinterpret_cast<const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo*>(
8040 structExtension),
8041 count);
8042 break;
8043 }
8044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
8045 count_VkPhysicalDeviceInlineUniformBlockFeatures(
8046 featureBits, rootType,
8047 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockFeatures*>(
8048 structExtension),
8049 count);
8050 break;
8051 }
8052 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
8053 count_VkPhysicalDeviceInlineUniformBlockProperties(
8054 featureBits, rootType,
8055 reinterpret_cast<const VkPhysicalDeviceInlineUniformBlockProperties*>(
8056 structExtension),
8057 count);
8058 break;
8059 }
8060 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
8061 count_VkWriteDescriptorSetInlineUniformBlock(
8062 featureBits, rootType,
8063 reinterpret_cast<const VkWriteDescriptorSetInlineUniformBlock*>(structExtension),
8064 count);
8065 break;
8066 }
8067 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
8068 count_VkDescriptorPoolInlineUniformBlockCreateInfo(
8069 featureBits, rootType,
8070 reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo*>(
8071 structExtension),
8072 count);
8073 break;
8074 }
8075 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
8076 count_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(
8077 featureBits, rootType,
8078 reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(
8079 structExtension),
8080 count);
8081 break;
8082 }
8083 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
8084 count_VkPipelineRenderingCreateInfo(
8085 featureBits, rootType,
8086 reinterpret_cast<const VkPipelineRenderingCreateInfo*>(structExtension), count);
8087 break;
8088 }
8089 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
8090 count_VkPhysicalDeviceDynamicRenderingFeatures(
8091 featureBits, rootType,
8092 reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures*>(structExtension),
8093 count);
8094 break;
8095 }
8096 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
8097 count_VkCommandBufferInheritanceRenderingInfo(
8098 featureBits, rootType,
8099 reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo*>(structExtension),
8100 count);
8101 break;
8102 }
8103 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
8104 count_VkPhysicalDeviceShaderIntegerDotProductFeatures(
8105 featureBits, rootType,
8106 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures*>(
8107 structExtension),
8108 count);
8109 break;
8110 }
8111 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
8112 count_VkPhysicalDeviceShaderIntegerDotProductProperties(
8113 featureBits, rootType,
8114 reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductProperties*>(
8115 structExtension),
8116 count);
8117 break;
8118 }
8119 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
8120 count_VkPhysicalDeviceTexelBufferAlignmentProperties(
8121 featureBits, rootType,
8122 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties*>(
8123 structExtension),
8124 count);
8125 break;
8126 }
8127 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
8128 count_VkFormatProperties3(featureBits, rootType,
8129 reinterpret_cast<const VkFormatProperties3*>(structExtension),
8130 count);
8131 break;
8132 }
8133 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
8134 count_VkPhysicalDeviceMaintenance4Features(
8135 featureBits, rootType,
8136 reinterpret_cast<const VkPhysicalDeviceMaintenance4Features*>(structExtension),
8137 count);
8138 break;
8139 }
8140 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
8141 count_VkPhysicalDeviceMaintenance4Properties(
8142 featureBits, rootType,
8143 reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties*>(structExtension),
8144 count);
8145 break;
8146 }
8147 #endif
8148 #ifdef VK_KHR_dynamic_rendering
8149 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
8150 count_VkRenderingFragmentShadingRateAttachmentInfoKHR(
8151 featureBits, rootType,
8152 reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR*>(
8153 structExtension),
8154 count);
8155 break;
8156 }
8157 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
8158 count_VkRenderingFragmentDensityMapAttachmentInfoEXT(
8159 featureBits, rootType,
8160 reinterpret_cast<const VkRenderingFragmentDensityMapAttachmentInfoEXT*>(
8161 structExtension),
8162 count);
8163 break;
8164 }
8165 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
8166 count_VkAttachmentSampleCountInfoAMD(
8167 featureBits, rootType,
8168 reinterpret_cast<const VkAttachmentSampleCountInfoAMD*>(structExtension), count);
8169 break;
8170 }
8171 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
8172 count_VkMultiviewPerViewAttributesInfoNVX(
8173 featureBits, rootType,
8174 reinterpret_cast<const VkMultiviewPerViewAttributesInfoNVX*>(structExtension),
8175 count);
8176 break;
8177 }
8178 #endif
8179 #ifdef VK_KHR_incremental_present
8180 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
8181 count_VkPresentRegionsKHR(featureBits, rootType,
8182 reinterpret_cast<const VkPresentRegionsKHR*>(structExtension),
8183 count);
8184 break;
8185 }
8186 #endif
8187 #ifdef VK_KHR_pipeline_executable_properties
8188 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
8189 count_VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
8190 featureBits, rootType,
8191 reinterpret_cast<const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR*>(
8192 structExtension),
8193 count);
8194 break;
8195 }
8196 #endif
8197 #ifdef VK_KHR_synchronization2
8198 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
8199 count_VkQueueFamilyCheckpointProperties2NV(
8200 featureBits, rootType,
8201 reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV*>(structExtension),
8202 count);
8203 break;
8204 }
8205 #endif
8206 #ifdef VK_KHR_maintenance5
8207 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
8208 count_VkPhysicalDeviceMaintenance5FeaturesKHR(
8209 featureBits, rootType,
8210 reinterpret_cast<const VkPhysicalDeviceMaintenance5FeaturesKHR*>(structExtension),
8211 count);
8212 break;
8213 }
8214 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
8215 count_VkPhysicalDeviceMaintenance5PropertiesKHR(
8216 featureBits, rootType,
8217 reinterpret_cast<const VkPhysicalDeviceMaintenance5PropertiesKHR*>(structExtension),
8218 count);
8219 break;
8220 }
8221 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
8222 count_VkPipelineCreateFlags2CreateInfoKHR(
8223 featureBits, rootType,
8224 reinterpret_cast<const VkPipelineCreateFlags2CreateInfoKHR*>(structExtension),
8225 count);
8226 break;
8227 }
8228 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
8229 count_VkBufferUsageFlags2CreateInfoKHR(
8230 featureBits, rootType,
8231 reinterpret_cast<const VkBufferUsageFlags2CreateInfoKHR*>(structExtension), count);
8232 break;
8233 }
8234 #endif
8235 #ifdef VK_KHR_line_rasterization
8236 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
8237 count_VkPhysicalDeviceLineRasterizationFeaturesKHR(
8238 featureBits, rootType,
8239 reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeaturesKHR*>(
8240 structExtension),
8241 count);
8242 break;
8243 }
8244 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
8245 count_VkPhysicalDeviceLineRasterizationPropertiesKHR(
8246 featureBits, rootType,
8247 reinterpret_cast<const VkPhysicalDeviceLineRasterizationPropertiesKHR*>(
8248 structExtension),
8249 count);
8250 break;
8251 }
8252 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
8253 count_VkPipelineRasterizationLineStateCreateInfoKHR(
8254 featureBits, rootType,
8255 reinterpret_cast<const VkPipelineRasterizationLineStateCreateInfoKHR*>(
8256 structExtension),
8257 count);
8258 break;
8259 }
8260 #endif
8261 #ifdef VK_ANDROID_native_buffer
8262 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
8263 count_VkNativeBufferANDROID(
8264 featureBits, rootType,
8265 reinterpret_cast<const VkNativeBufferANDROID*>(structExtension), count);
8266 break;
8267 }
8268 #endif
8269 #ifdef VK_EXT_transform_feedback
8270 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
8271 count_VkPhysicalDeviceTransformFeedbackFeaturesEXT(
8272 featureBits, rootType,
8273 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackFeaturesEXT*>(
8274 structExtension),
8275 count);
8276 break;
8277 }
8278 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
8279 count_VkPhysicalDeviceTransformFeedbackPropertiesEXT(
8280 featureBits, rootType,
8281 reinterpret_cast<const VkPhysicalDeviceTransformFeedbackPropertiesEXT*>(
8282 structExtension),
8283 count);
8284 break;
8285 }
8286 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
8287 count_VkPipelineRasterizationStateStreamCreateInfoEXT(
8288 featureBits, rootType,
8289 reinterpret_cast<const VkPipelineRasterizationStateStreamCreateInfoEXT*>(
8290 structExtension),
8291 count);
8292 break;
8293 }
8294 #endif
8295 #ifdef VK_EXT_depth_clip_enable
8296 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
8297 count_VkPhysicalDeviceDepthClipEnableFeaturesEXT(
8298 featureBits, rootType,
8299 reinterpret_cast<const VkPhysicalDeviceDepthClipEnableFeaturesEXT*>(
8300 structExtension),
8301 count);
8302 break;
8303 }
8304 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
8305 count_VkPipelineRasterizationDepthClipStateCreateInfoEXT(
8306 featureBits, rootType,
8307 reinterpret_cast<const VkPipelineRasterizationDepthClipStateCreateInfoEXT*>(
8308 structExtension),
8309 count);
8310 break;
8311 }
8312 #endif
8313 #ifdef VK_EXT_image_drm_format_modifier
8314 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
8315 count_VkDrmFormatModifierPropertiesListEXT(
8316 featureBits, rootType,
8317 reinterpret_cast<const VkDrmFormatModifierPropertiesListEXT*>(structExtension),
8318 count);
8319 break;
8320 }
8321 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
8322 count_VkPhysicalDeviceImageDrmFormatModifierInfoEXT(
8323 featureBits, rootType,
8324 reinterpret_cast<const VkPhysicalDeviceImageDrmFormatModifierInfoEXT*>(
8325 structExtension),
8326 count);
8327 break;
8328 }
8329 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
8330 count_VkImageDrmFormatModifierListCreateInfoEXT(
8331 featureBits, rootType,
8332 reinterpret_cast<const VkImageDrmFormatModifierListCreateInfoEXT*>(structExtension),
8333 count);
8334 break;
8335 }
8336 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
8337 count_VkImageDrmFormatModifierExplicitCreateInfoEXT(
8338 featureBits, rootType,
8339 reinterpret_cast<const VkImageDrmFormatModifierExplicitCreateInfoEXT*>(
8340 structExtension),
8341 count);
8342 break;
8343 }
8344 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
8345 count_VkDrmFormatModifierPropertiesList2EXT(
8346 featureBits, rootType,
8347 reinterpret_cast<const VkDrmFormatModifierPropertiesList2EXT*>(structExtension),
8348 count);
8349 break;
8350 }
8351 #endif
8352 #ifdef VK_EXT_vertex_attribute_divisor
8353 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
8354 count_VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
8355 featureBits, rootType,
8356 reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT*>(
8357 structExtension),
8358 count);
8359 break;
8360 }
8361 #endif
8362 #ifdef VK_EXT_fragment_density_map
8363 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
8364 switch (rootType) {
8365 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
8366 count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
8367 featureBits, rootType,
8368 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
8369 structExtension),
8370 count);
8371 break;
8372 }
8373 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
8374 count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
8375 featureBits, rootType,
8376 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
8377 structExtension),
8378 count);
8379 break;
8380 }
8381 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
8382 count_VkImportColorBufferGOOGLE(
8383 featureBits, rootType,
8384 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
8385 break;
8386 }
8387 default: {
8388 count_VkPhysicalDeviceFragmentDensityMapFeaturesEXT(
8389 featureBits, rootType,
8390 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapFeaturesEXT*>(
8391 structExtension),
8392 count);
8393 break;
8394 }
8395 }
8396 break;
8397 }
8398 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
8399 switch (rootType) {
8400 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
8401 count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
8402 featureBits, rootType,
8403 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
8404 structExtension),
8405 count);
8406 break;
8407 }
8408 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
8409 count_VkCreateBlobGOOGLE(
8410 featureBits, rootType,
8411 reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension), count);
8412 break;
8413 }
8414 default: {
8415 count_VkPhysicalDeviceFragmentDensityMapPropertiesEXT(
8416 featureBits, rootType,
8417 reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapPropertiesEXT*>(
8418 structExtension),
8419 count);
8420 break;
8421 }
8422 }
8423 break;
8424 }
8425 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
8426 switch (rootType) {
8427 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
8428 count_VkRenderPassFragmentDensityMapCreateInfoEXT(
8429 featureBits, rootType,
8430 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
8431 structExtension),
8432 count);
8433 break;
8434 }
8435 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
8436 count_VkRenderPassFragmentDensityMapCreateInfoEXT(
8437 featureBits, rootType,
8438 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
8439 structExtension),
8440 count);
8441 break;
8442 }
8443 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
8444 count_VkImportBufferGOOGLE(
8445 featureBits, rootType,
8446 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
8447 break;
8448 }
8449 default: {
8450 count_VkRenderPassFragmentDensityMapCreateInfoEXT(
8451 featureBits, rootType,
8452 reinterpret_cast<const VkRenderPassFragmentDensityMapCreateInfoEXT*>(
8453 structExtension),
8454 count);
8455 break;
8456 }
8457 }
8458 break;
8459 }
8460 #endif
8461 #ifdef VK_EXT_provoking_vertex
8462 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
8463 count_VkPhysicalDeviceProvokingVertexFeaturesEXT(
8464 featureBits, rootType,
8465 reinterpret_cast<const VkPhysicalDeviceProvokingVertexFeaturesEXT*>(
8466 structExtension),
8467 count);
8468 break;
8469 }
8470 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
8471 count_VkPhysicalDeviceProvokingVertexPropertiesEXT(
8472 featureBits, rootType,
8473 reinterpret_cast<const VkPhysicalDeviceProvokingVertexPropertiesEXT*>(
8474 structExtension),
8475 count);
8476 break;
8477 }
8478 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
8479 count_VkPipelineRasterizationProvokingVertexStateCreateInfoEXT(
8480 featureBits, rootType,
8481 reinterpret_cast<const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT*>(
8482 structExtension),
8483 count);
8484 break;
8485 }
8486 #endif
8487 #ifdef VK_EXT_extended_dynamic_state
8488 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
8489 count_VkPhysicalDeviceExtendedDynamicStateFeaturesEXT(
8490 featureBits, rootType,
8491 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT*>(
8492 structExtension),
8493 count);
8494 break;
8495 }
8496 #endif
8497 #ifdef VK_EXT_host_image_copy
8498 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
8499 count_VkPhysicalDeviceHostImageCopyFeaturesEXT(
8500 featureBits, rootType,
8501 reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeaturesEXT*>(structExtension),
8502 count);
8503 break;
8504 }
8505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
8506 count_VkPhysicalDeviceHostImageCopyPropertiesEXT(
8507 featureBits, rootType,
8508 reinterpret_cast<const VkPhysicalDeviceHostImageCopyPropertiesEXT*>(
8509 structExtension),
8510 count);
8511 break;
8512 }
8513 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
8514 count_VkSubresourceHostMemcpySizeEXT(
8515 featureBits, rootType,
8516 reinterpret_cast<const VkSubresourceHostMemcpySizeEXT*>(structExtension), count);
8517 break;
8518 }
8519 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
8520 count_VkHostImageCopyDevicePerformanceQueryEXT(
8521 featureBits, rootType,
8522 reinterpret_cast<const VkHostImageCopyDevicePerformanceQueryEXT*>(structExtension),
8523 count);
8524 break;
8525 }
8526 #endif
8527 #ifdef VK_EXT_texel_buffer_alignment
8528 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
8529 count_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(
8530 featureBits, rootType,
8531 reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT*>(
8532 structExtension),
8533 count);
8534 break;
8535 }
8536 #endif
8537 #ifdef VK_EXT_device_memory_report
8538 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
8539 count_VkPhysicalDeviceDeviceMemoryReportFeaturesEXT(
8540 featureBits, rootType,
8541 reinterpret_cast<const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT*>(
8542 structExtension),
8543 count);
8544 break;
8545 }
8546 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
8547 count_VkDeviceDeviceMemoryReportCreateInfoEXT(
8548 featureBits, rootType,
8549 reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT*>(structExtension),
8550 count);
8551 break;
8552 }
8553 #endif
8554 #ifdef VK_EXT_robustness2
8555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
8556 count_VkPhysicalDeviceRobustness2FeaturesEXT(
8557 featureBits, rootType,
8558 reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT*>(structExtension),
8559 count);
8560 break;
8561 }
8562 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
8563 count_VkPhysicalDeviceRobustness2PropertiesEXT(
8564 featureBits, rootType,
8565 reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT*>(structExtension),
8566 count);
8567 break;
8568 }
8569 #endif
8570 #ifdef VK_EXT_custom_border_color
8571 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
8572 count_VkSamplerCustomBorderColorCreateInfoEXT(
8573 featureBits, rootType,
8574 reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT*>(structExtension),
8575 count);
8576 break;
8577 }
8578 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
8579 count_VkPhysicalDeviceCustomBorderColorPropertiesEXT(
8580 featureBits, rootType,
8581 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT*>(
8582 structExtension),
8583 count);
8584 break;
8585 }
8586 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
8587 count_VkPhysicalDeviceCustomBorderColorFeaturesEXT(
8588 featureBits, rootType,
8589 reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT*>(
8590 structExtension),
8591 count);
8592 break;
8593 }
8594 #endif
8595 #ifdef VK_EXT_graphics_pipeline_library
8596 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
8597 count_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(
8598 featureBits, rootType,
8599 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT*>(
8600 structExtension),
8601 count);
8602 break;
8603 }
8604 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
8605 count_VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT(
8606 featureBits, rootType,
8607 reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT*>(
8608 structExtension),
8609 count);
8610 break;
8611 }
8612 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
8613 count_VkGraphicsPipelineLibraryCreateInfoEXT(
8614 featureBits, rootType,
8615 reinterpret_cast<const VkGraphicsPipelineLibraryCreateInfoEXT*>(structExtension),
8616 count);
8617 break;
8618 }
8619 #endif
8620 #ifdef VK_EXT_ycbcr_2plane_444_formats
8621 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
8622 count_VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT(
8623 featureBits, rootType,
8624 reinterpret_cast<const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT*>(
8625 structExtension),
8626 count);
8627 break;
8628 }
8629 #endif
8630 #ifdef VK_EXT_image_compression_control
8631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
8632 count_VkPhysicalDeviceImageCompressionControlFeaturesEXT(
8633 featureBits, rootType,
8634 reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(
8635 structExtension),
8636 count);
8637 break;
8638 }
8639 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
8640 count_VkImageCompressionControlEXT(
8641 featureBits, rootType,
8642 reinterpret_cast<const VkImageCompressionControlEXT*>(structExtension), count);
8643 break;
8644 }
8645 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
8646 count_VkImageCompressionPropertiesEXT(
8647 featureBits, rootType,
8648 reinterpret_cast<const VkImageCompressionPropertiesEXT*>(structExtension), count);
8649 break;
8650 }
8651 #endif
8652 #ifdef VK_EXT_4444_formats
8653 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
8654 count_VkPhysicalDevice4444FormatsFeaturesEXT(
8655 featureBits, rootType,
8656 reinterpret_cast<const VkPhysicalDevice4444FormatsFeaturesEXT*>(structExtension),
8657 count);
8658 break;
8659 }
8660 #endif
8661 #ifdef VK_EXT_primitive_topology_list_restart
8662 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
8663 count_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(
8664 featureBits, rootType,
8665 reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT*>(
8666 structExtension),
8667 count);
8668 break;
8669 }
8670 #endif
8671 #ifdef VK_EXT_extended_dynamic_state2
8672 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
8673 count_VkPhysicalDeviceExtendedDynamicState2FeaturesEXT(
8674 featureBits, rootType,
8675 reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT*>(
8676 structExtension),
8677 count);
8678 break;
8679 }
8680 #endif
8681 #ifdef VK_EXT_color_write_enable
8682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
8683 count_VkPhysicalDeviceColorWriteEnableFeaturesEXT(
8684 featureBits, rootType,
8685 reinterpret_cast<const VkPhysicalDeviceColorWriteEnableFeaturesEXT*>(
8686 structExtension),
8687 count);
8688 break;
8689 }
8690 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
8691 count_VkPipelineColorWriteCreateInfoEXT(
8692 featureBits, rootType,
8693 reinterpret_cast<const VkPipelineColorWriteCreateInfoEXT*>(structExtension), count);
8694 break;
8695 }
8696 #endif
8697 #ifdef VK_GOOGLE_gfxstream
8698 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
8699 count_VkImportColorBufferGOOGLE(
8700 featureBits, rootType,
8701 reinterpret_cast<const VkImportColorBufferGOOGLE*>(structExtension), count);
8702 break;
8703 }
8704 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
8705 count_VkImportBufferGOOGLE(
8706 featureBits, rootType,
8707 reinterpret_cast<const VkImportBufferGOOGLE*>(structExtension), count);
8708 break;
8709 }
8710 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
8711 count_VkCreateBlobGOOGLE(featureBits, rootType,
8712 reinterpret_cast<const VkCreateBlobGOOGLE*>(structExtension),
8713 count);
8714 break;
8715 }
8716 #endif
8717 #ifdef VK_EXT_image_compression_control_swapchain
8718 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
8719 count_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT(
8720 featureBits, rootType,
8721 reinterpret_cast<
8722 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(
8723 structExtension),
8724 count);
8725 break;
8726 }
8727 #endif
8728 default: {
8729 // fatal; the switch is only taken if the extension struct is known
8730 abort();
8731 }
8732 }
8733 }
8734
8735 } // namespace vk
8736 } // namespace gfxstream
8737