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_extension_structs
17 //
18 // (impl) generated by scripts/genvk.py -registry
19 // ../../../../../hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/xml/vk.xml
20 // -registryGfxstream xml/vk_gfxstream.xml cereal -o
21 // ../../../../../hardware/google/gfxstream/host/vulkan/cereal
22 //
23 // Please do not modify directly;
24 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh,
25 // or directly from Python by defining:
26 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
27 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
28 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
29 //
30 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
31 // $CEREAL_OUTPUT_DIR
32 //
33
34 #include "goldfish_vk_extension_structs.h"
35 namespace gfxstream {
36 namespace vk {
37
goldfish_vk_struct_type(const void * structExtension)38 uint32_t goldfish_vk_struct_type(const void* structExtension) {
39 const uint32_t asStructType = *(reinterpret_cast<const uint32_t*>(structExtension));
40 return asStructType;
41 }
42
goldfish_vk_extension_struct_size(VkStructureType rootType,const void * structExtension)43 size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* structExtension) {
44 if (!structExtension) {
45 return (size_t)0;
46 }
47 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
48 switch (structType) {
49 #ifdef VK_VERSION_1_0
50 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
51 return sizeof(VkShaderModuleCreateInfo);
52 }
53 #endif
54 #ifdef VK_VERSION_1_1
55 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
56 return sizeof(VkPhysicalDeviceSubgroupProperties);
57 }
58 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
59 return sizeof(VkPhysicalDevice16BitStorageFeatures);
60 }
61 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
62 return sizeof(VkMemoryDedicatedRequirements);
63 }
64 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
65 return sizeof(VkMemoryDedicatedAllocateInfo);
66 }
67 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
68 return sizeof(VkMemoryAllocateFlagsInfo);
69 }
70 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
71 return sizeof(VkDeviceGroupRenderPassBeginInfo);
72 }
73 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
74 return sizeof(VkDeviceGroupCommandBufferBeginInfo);
75 }
76 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
77 return sizeof(VkDeviceGroupSubmitInfo);
78 }
79 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
80 return sizeof(VkDeviceGroupBindSparseInfo);
81 }
82 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
83 return sizeof(VkBindBufferMemoryDeviceGroupInfo);
84 }
85 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
86 return sizeof(VkBindImageMemoryDeviceGroupInfo);
87 }
88 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
89 return sizeof(VkDeviceGroupDeviceCreateInfo);
90 }
91 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
92 return sizeof(VkPhysicalDeviceFeatures2);
93 }
94 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
95 return sizeof(VkPhysicalDevicePointClippingProperties);
96 }
97 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
98 return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
99 }
100 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
101 return sizeof(VkImageViewUsageCreateInfo);
102 }
103 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
104 return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
105 }
106 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
107 return sizeof(VkRenderPassMultiviewCreateInfo);
108 }
109 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
110 return sizeof(VkPhysicalDeviceMultiviewFeatures);
111 }
112 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
113 return sizeof(VkPhysicalDeviceMultiviewProperties);
114 }
115 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
116 return sizeof(VkPhysicalDeviceVariablePointersFeatures);
117 }
118 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
119 return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
120 }
121 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
122 return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
123 }
124 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
125 return sizeof(VkProtectedSubmitInfo);
126 }
127 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
128 return sizeof(VkSamplerYcbcrConversionInfo);
129 }
130 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
131 return sizeof(VkBindImagePlaneMemoryInfo);
132 }
133 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
134 return sizeof(VkImagePlaneMemoryRequirementsInfo);
135 }
136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
137 return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
138 }
139 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
140 return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
141 }
142 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
143 return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
144 }
145 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
146 return sizeof(VkExternalImageFormatProperties);
147 }
148 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
149 return sizeof(VkPhysicalDeviceIDProperties);
150 }
151 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
152 return sizeof(VkExternalMemoryImageCreateInfo);
153 }
154 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
155 return sizeof(VkExternalMemoryBufferCreateInfo);
156 }
157 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
158 return sizeof(VkExportMemoryAllocateInfo);
159 }
160 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
161 return sizeof(VkExportFenceCreateInfo);
162 }
163 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
164 return sizeof(VkExportSemaphoreCreateInfo);
165 }
166 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
167 return sizeof(VkPhysicalDeviceMaintenance3Properties);
168 }
169 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
170 return sizeof(VkPhysicalDeviceShaderDrawParametersFeatures);
171 }
172 #endif
173 #ifdef VK_VERSION_1_2
174 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
175 return sizeof(VkPhysicalDeviceVulkan11Features);
176 }
177 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
178 return sizeof(VkPhysicalDeviceVulkan11Properties);
179 }
180 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
181 return sizeof(VkPhysicalDeviceVulkan12Features);
182 }
183 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
184 return sizeof(VkPhysicalDeviceVulkan12Properties);
185 }
186 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
187 return sizeof(VkImageFormatListCreateInfo);
188 }
189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
190 return sizeof(VkPhysicalDevice8BitStorageFeatures);
191 }
192 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
193 return sizeof(VkPhysicalDeviceDriverProperties);
194 }
195 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
196 return sizeof(VkPhysicalDeviceShaderAtomicInt64Features);
197 }
198 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
199 return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
200 }
201 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
202 return sizeof(VkPhysicalDeviceFloatControlsProperties);
203 }
204 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
205 return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo);
206 }
207 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
208 return sizeof(VkPhysicalDeviceDescriptorIndexingFeatures);
209 }
210 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
211 return sizeof(VkPhysicalDeviceDescriptorIndexingProperties);
212 }
213 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
214 return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo);
215 }
216 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
217 return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport);
218 }
219 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
220 return sizeof(VkSubpassDescriptionDepthStencilResolve);
221 }
222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
223 return sizeof(VkPhysicalDeviceDepthStencilResolveProperties);
224 }
225 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
226 return sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures);
227 }
228 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
229 return sizeof(VkImageStencilUsageCreateInfo);
230 }
231 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
232 return sizeof(VkSamplerReductionModeCreateInfo);
233 }
234 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
235 return sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties);
236 }
237 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
238 return sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures);
239 }
240 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
241 return sizeof(VkPhysicalDeviceImagelessFramebufferFeatures);
242 }
243 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
244 return sizeof(VkFramebufferAttachmentsCreateInfo);
245 }
246 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
247 return sizeof(VkRenderPassAttachmentBeginInfo);
248 }
249 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
250 return sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures);
251 }
252 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
253 return sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures);
254 }
255 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
256 return sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures);
257 }
258 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
259 return sizeof(VkAttachmentReferenceStencilLayout);
260 }
261 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
262 return sizeof(VkAttachmentDescriptionStencilLayout);
263 }
264 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
265 return sizeof(VkPhysicalDeviceHostQueryResetFeatures);
266 }
267 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
268 return sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures);
269 }
270 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
271 return sizeof(VkPhysicalDeviceTimelineSemaphoreProperties);
272 }
273 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
274 return sizeof(VkSemaphoreTypeCreateInfo);
275 }
276 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
277 return sizeof(VkTimelineSemaphoreSubmitInfo);
278 }
279 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
280 return sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures);
281 }
282 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
283 return sizeof(VkBufferOpaqueCaptureAddressCreateInfo);
284 }
285 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
286 return sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo);
287 }
288 #endif
289 #ifdef VK_VERSION_1_3
290 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
291 return sizeof(VkPhysicalDeviceVulkan13Features);
292 }
293 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
294 return sizeof(VkPhysicalDeviceVulkan13Properties);
295 }
296 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
297 return sizeof(VkPipelineCreationFeedbackCreateInfo);
298 }
299 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
300 return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures);
301 }
302 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
303 return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures);
304 }
305 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
306 return sizeof(VkPhysicalDevicePrivateDataFeatures);
307 }
308 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
309 return sizeof(VkDevicePrivateDataCreateInfo);
310 }
311 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
312 return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures);
313 }
314 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
315 return sizeof(VkMemoryBarrier2);
316 }
317 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
318 return sizeof(VkPhysicalDeviceSynchronization2Features);
319 }
320 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
321 return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures);
322 }
323 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
324 return sizeof(VkPhysicalDeviceImageRobustnessFeatures);
325 }
326 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
327 return sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures);
328 }
329 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
330 return sizeof(VkPhysicalDeviceSubgroupSizeControlProperties);
331 }
332 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
333 return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo);
334 }
335 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
336 return sizeof(VkPhysicalDeviceInlineUniformBlockFeatures);
337 }
338 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
339 return sizeof(VkPhysicalDeviceInlineUniformBlockProperties);
340 }
341 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
342 return sizeof(VkWriteDescriptorSetInlineUniformBlock);
343 }
344 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
345 return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfo);
346 }
347 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
348 return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures);
349 }
350 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
351 return sizeof(VkPipelineRenderingCreateInfo);
352 }
353 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
354 return sizeof(VkPhysicalDeviceDynamicRenderingFeatures);
355 }
356 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
357 return sizeof(VkCommandBufferInheritanceRenderingInfo);
358 }
359 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
360 return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures);
361 }
362 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
363 return sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties);
364 }
365 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
366 return sizeof(VkPhysicalDeviceTexelBufferAlignmentProperties);
367 }
368 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
369 return sizeof(VkFormatProperties3);
370 }
371 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
372 return sizeof(VkPhysicalDeviceMaintenance4Features);
373 }
374 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
375 return sizeof(VkPhysicalDeviceMaintenance4Properties);
376 }
377 #endif
378 #ifdef VK_KHR_swapchain
379 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
380 return sizeof(VkImageSwapchainCreateInfoKHR);
381 }
382 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
383 return sizeof(VkBindImageMemorySwapchainInfoKHR);
384 }
385 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
386 return sizeof(VkDeviceGroupPresentInfoKHR);
387 }
388 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
389 return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
390 }
391 #endif
392 #ifdef VK_KHR_display_swapchain
393 case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
394 return sizeof(VkDisplayPresentInfoKHR);
395 }
396 #endif
397 #ifdef VK_KHR_video_queue
398 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: {
399 return sizeof(VkQueueFamilyQueryResultStatusPropertiesKHR);
400 }
401 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: {
402 return sizeof(VkQueueFamilyVideoPropertiesKHR);
403 }
404 case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: {
405 return sizeof(VkVideoProfileInfoKHR);
406 }
407 case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: {
408 return sizeof(VkVideoProfileListInfoKHR);
409 }
410 #endif
411 #ifdef VK_KHR_video_decode_queue
412 case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: {
413 return sizeof(VkVideoDecodeCapabilitiesKHR);
414 }
415 case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: {
416 return sizeof(VkVideoDecodeUsageInfoKHR);
417 }
418 #endif
419 #ifdef VK_KHR_video_decode_h264
420 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: {
421 return sizeof(VkVideoDecodeH264ProfileInfoKHR);
422 }
423 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: {
424 return sizeof(VkVideoDecodeH264CapabilitiesKHR);
425 }
426 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: {
427 return sizeof(VkVideoDecodeH264SessionParametersAddInfoKHR);
428 }
429 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: {
430 return sizeof(VkVideoDecodeH264SessionParametersCreateInfoKHR);
431 }
432 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: {
433 return sizeof(VkVideoDecodeH264PictureInfoKHR);
434 }
435 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: {
436 return sizeof(VkVideoDecodeH264DpbSlotInfoKHR);
437 }
438 #endif
439 #ifdef VK_KHR_dynamic_rendering
440 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
441 return sizeof(VkRenderingFragmentShadingRateAttachmentInfoKHR);
442 }
443 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
444 return sizeof(VkRenderingFragmentDensityMapAttachmentInfoEXT);
445 }
446 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
447 return sizeof(VkAttachmentSampleCountInfoAMD);
448 }
449 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
450 return sizeof(VkMultiviewPerViewAttributesInfoNVX);
451 }
452 #endif
453 #ifdef VK_KHR_win32_keyed_mutex
454 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
455 return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
456 }
457 #endif
458 #ifdef VK_KHR_push_descriptor
459 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
460 return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
461 }
462 #endif
463 #ifdef VK_KHR_incremental_present
464 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
465 return sizeof(VkPresentRegionsKHR);
466 }
467 #endif
468 #ifdef VK_KHR_shared_presentable_image
469 case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
470 return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
471 }
472 #endif
473 #ifdef VK_KHR_external_fence_win32
474 case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
475 return sizeof(VkExportFenceWin32HandleInfoKHR);
476 }
477 #endif
478 #ifdef VK_KHR_performance_query
479 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
480 return sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR);
481 }
482 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
483 return sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR);
484 }
485 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
486 return sizeof(VkQueryPoolPerformanceCreateInfoKHR);
487 }
488 case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
489 return sizeof(VkPerformanceQuerySubmitInfoKHR);
490 }
491 #endif
492 #ifdef VK_KHR_portability_subset
493 #ifdef VK_ENABLE_BETA_EXTENSIONS
494 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
495 return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR);
496 }
497 #endif // VK_ENABLE_BETA_EXTENSIONS
498 #ifdef VK_ENABLE_BETA_EXTENSIONS
499 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
500 return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR);
501 }
502 #endif // VK_ENABLE_BETA_EXTENSIONS
503 #endif
504 #ifdef VK_KHR_shader_clock
505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
506 return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR);
507 }
508 #endif
509 #ifdef VK_KHR_video_decode_h265
510 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: {
511 return sizeof(VkVideoDecodeH265ProfileInfoKHR);
512 }
513 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: {
514 return sizeof(VkVideoDecodeH265CapabilitiesKHR);
515 }
516 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: {
517 return sizeof(VkVideoDecodeH265SessionParametersAddInfoKHR);
518 }
519 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: {
520 return sizeof(VkVideoDecodeH265SessionParametersCreateInfoKHR);
521 }
522 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: {
523 return sizeof(VkVideoDecodeH265PictureInfoKHR);
524 }
525 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: {
526 return sizeof(VkVideoDecodeH265DpbSlotInfoKHR);
527 }
528 #endif
529 #ifdef VK_KHR_global_priority
530 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: {
531 return sizeof(VkDeviceQueueGlobalPriorityCreateInfoKHR);
532 }
533 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: {
534 return sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR);
535 }
536 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: {
537 return sizeof(VkQueueFamilyGlobalPriorityPropertiesKHR);
538 }
539 #endif
540 #ifdef VK_KHR_fragment_shading_rate
541 case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
542 return sizeof(VkFragmentShadingRateAttachmentInfoKHR);
543 }
544 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
545 return sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR);
546 }
547 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
548 return sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR);
549 }
550 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
551 return sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR);
552 }
553 #endif
554 #ifdef VK_KHR_surface_protected_capabilities
555 case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
556 return sizeof(VkSurfaceProtectedCapabilitiesKHR);
557 }
558 #endif
559 #ifdef VK_KHR_present_wait
560 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
561 return sizeof(VkPhysicalDevicePresentWaitFeaturesKHR);
562 }
563 #endif
564 #ifdef VK_KHR_pipeline_executable_properties
565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
566 return sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR);
567 }
568 #endif
569 #ifdef VK_KHR_pipeline_library
570 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: {
571 return sizeof(VkPipelineLibraryCreateInfoKHR);
572 }
573 #endif
574 #ifdef VK_KHR_present_id
575 case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
576 return sizeof(VkPresentIdKHR);
577 }
578 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
579 return sizeof(VkPhysicalDevicePresentIdFeaturesKHR);
580 }
581 #endif
582 #ifdef VK_KHR_video_encode_queue
583 #ifdef VK_ENABLE_BETA_EXTENSIONS
584 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: {
585 return sizeof(VkVideoEncodeCapabilitiesKHR);
586 }
587 #endif // VK_ENABLE_BETA_EXTENSIONS
588 #ifdef VK_ENABLE_BETA_EXTENSIONS
589 case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: {
590 return sizeof(VkQueryPoolVideoEncodeFeedbackCreateInfoKHR);
591 }
592 #endif // VK_ENABLE_BETA_EXTENSIONS
593 #ifdef VK_ENABLE_BETA_EXTENSIONS
594 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: {
595 return sizeof(VkVideoEncodeUsageInfoKHR);
596 }
597 #endif // VK_ENABLE_BETA_EXTENSIONS
598 #ifdef VK_ENABLE_BETA_EXTENSIONS
599 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
600 return sizeof(VkVideoEncodeRateControlInfoKHR);
601 }
602 #endif // VK_ENABLE_BETA_EXTENSIONS
603 #ifdef VK_ENABLE_BETA_EXTENSIONS
604 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: {
605 return sizeof(VkVideoEncodeQualityLevelInfoKHR);
606 }
607 #endif // VK_ENABLE_BETA_EXTENSIONS
608 #endif
609 #ifdef VK_KHR_synchronization2
610 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
611 return sizeof(VkQueueFamilyCheckpointProperties2NV);
612 }
613 #endif
614 #ifdef VK_KHR_fragment_shader_barycentric
615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: {
616 return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR);
617 }
618 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: {
619 return sizeof(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR);
620 }
621 #endif
622 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
624 return sizeof(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR);
625 }
626 #endif
627 #ifdef VK_KHR_workgroup_memory_explicit_layout
628 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
629 return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR);
630 }
631 #endif
632 #ifdef VK_KHR_ray_tracing_maintenance1
633 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: {
634 return sizeof(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR);
635 }
636 #endif
637 #ifdef VK_KHR_maintenance5
638 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
639 return sizeof(VkPhysicalDeviceMaintenance5FeaturesKHR);
640 }
641 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
642 return sizeof(VkPhysicalDeviceMaintenance5PropertiesKHR);
643 }
644 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
645 return sizeof(VkPipelineCreateFlags2CreateInfoKHR);
646 }
647 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
648 return sizeof(VkBufferUsageFlags2CreateInfoKHR);
649 }
650 #endif
651 #ifdef VK_KHR_ray_tracing_position_fetch
652 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: {
653 return sizeof(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR);
654 }
655 #endif
656 #ifdef VK_KHR_cooperative_matrix
657 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: {
658 return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesKHR);
659 }
660 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR: {
661 return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesKHR);
662 }
663 #endif
664 #ifdef VK_KHR_line_rasterization
665 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
666 return sizeof(VkPhysicalDeviceLineRasterizationFeaturesKHR);
667 }
668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
669 return sizeof(VkPhysicalDeviceLineRasterizationPropertiesKHR);
670 }
671 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
672 return sizeof(VkPipelineRasterizationLineStateCreateInfoKHR);
673 }
674 #endif
675 #ifdef VK_ANDROID_native_buffer
676 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
677 return sizeof(VkNativeBufferANDROID);
678 }
679 #endif
680 #ifdef VK_EXT_debug_report
681 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
682 return sizeof(VkDebugReportCallbackCreateInfoEXT);
683 }
684 #endif
685 #ifdef VK_AMD_rasterization_order
686 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
687 return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
688 }
689 #endif
690 #ifdef VK_NV_dedicated_allocation
691 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
692 return sizeof(VkDedicatedAllocationImageCreateInfoNV);
693 }
694 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
695 return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
696 }
697 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
698 return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
699 }
700 #endif
701 #ifdef VK_EXT_transform_feedback
702 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
703 return sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
704 }
705 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
706 return sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
707 }
708 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
709 return sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT);
710 }
711 #endif
712 #ifdef VK_EXT_video_encode_h264
713 #ifdef VK_ENABLE_BETA_EXTENSIONS
714 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
715 return sizeof(VkVideoEncodeH264CapabilitiesEXT);
716 }
717 #endif // VK_ENABLE_BETA_EXTENSIONS
718 #ifdef VK_ENABLE_BETA_EXTENSIONS
719 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT: {
720 return sizeof(VkVideoEncodeH264QualityLevelPropertiesEXT);
721 }
722 #endif // VK_ENABLE_BETA_EXTENSIONS
723 #ifdef VK_ENABLE_BETA_EXTENSIONS
724 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: {
725 return sizeof(VkVideoEncodeH264SessionCreateInfoEXT);
726 }
727 #endif // VK_ENABLE_BETA_EXTENSIONS
728 #ifdef VK_ENABLE_BETA_EXTENSIONS
729 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
730 return sizeof(VkVideoEncodeH264SessionParametersAddInfoEXT);
731 }
732 #endif // VK_ENABLE_BETA_EXTENSIONS
733 #ifdef VK_ENABLE_BETA_EXTENSIONS
734 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
735 return sizeof(VkVideoEncodeH264SessionParametersCreateInfoEXT);
736 }
737 #endif // VK_ENABLE_BETA_EXTENSIONS
738 #ifdef VK_ENABLE_BETA_EXTENSIONS
739 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT: {
740 return sizeof(VkVideoEncodeH264SessionParametersGetInfoEXT);
741 }
742 #endif // VK_ENABLE_BETA_EXTENSIONS
743 #ifdef VK_ENABLE_BETA_EXTENSIONS
744 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT: {
745 return sizeof(VkVideoEncodeH264SessionParametersFeedbackInfoEXT);
746 }
747 #endif // VK_ENABLE_BETA_EXTENSIONS
748 #ifdef VK_ENABLE_BETA_EXTENSIONS
749 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT: {
750 return sizeof(VkVideoEncodeH264PictureInfoEXT);
751 }
752 #endif // VK_ENABLE_BETA_EXTENSIONS
753 #ifdef VK_ENABLE_BETA_EXTENSIONS
754 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: {
755 return sizeof(VkVideoEncodeH264DpbSlotInfoEXT);
756 }
757 #endif // VK_ENABLE_BETA_EXTENSIONS
758 #ifdef VK_ENABLE_BETA_EXTENSIONS
759 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: {
760 return sizeof(VkVideoEncodeH264ProfileInfoEXT);
761 }
762 #endif // VK_ENABLE_BETA_EXTENSIONS
763 #ifdef VK_ENABLE_BETA_EXTENSIONS
764 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: {
765 return sizeof(VkVideoEncodeH264RateControlInfoEXT);
766 }
767 #endif // VK_ENABLE_BETA_EXTENSIONS
768 #ifdef VK_ENABLE_BETA_EXTENSIONS
769 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: {
770 return sizeof(VkVideoEncodeH264RateControlLayerInfoEXT);
771 }
772 #endif // VK_ENABLE_BETA_EXTENSIONS
773 #ifdef VK_ENABLE_BETA_EXTENSIONS
774 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT: {
775 return sizeof(VkVideoEncodeH264GopRemainingFrameInfoEXT);
776 }
777 #endif // VK_ENABLE_BETA_EXTENSIONS
778 #endif
779 #ifdef VK_EXT_video_encode_h265
780 #ifdef VK_ENABLE_BETA_EXTENSIONS
781 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
782 return sizeof(VkVideoEncodeH265CapabilitiesEXT);
783 }
784 #endif // VK_ENABLE_BETA_EXTENSIONS
785 #ifdef VK_ENABLE_BETA_EXTENSIONS
786 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: {
787 return sizeof(VkVideoEncodeH265SessionCreateInfoEXT);
788 }
789 #endif // VK_ENABLE_BETA_EXTENSIONS
790 #ifdef VK_ENABLE_BETA_EXTENSIONS
791 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT: {
792 return sizeof(VkVideoEncodeH265QualityLevelPropertiesEXT);
793 }
794 #endif // VK_ENABLE_BETA_EXTENSIONS
795 #ifdef VK_ENABLE_BETA_EXTENSIONS
796 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
797 return sizeof(VkVideoEncodeH265SessionParametersAddInfoEXT);
798 }
799 #endif // VK_ENABLE_BETA_EXTENSIONS
800 #ifdef VK_ENABLE_BETA_EXTENSIONS
801 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
802 return sizeof(VkVideoEncodeH265SessionParametersCreateInfoEXT);
803 }
804 #endif // VK_ENABLE_BETA_EXTENSIONS
805 #ifdef VK_ENABLE_BETA_EXTENSIONS
806 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT: {
807 return sizeof(VkVideoEncodeH265SessionParametersGetInfoEXT);
808 }
809 #endif // VK_ENABLE_BETA_EXTENSIONS
810 #ifdef VK_ENABLE_BETA_EXTENSIONS
811 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT: {
812 return sizeof(VkVideoEncodeH265SessionParametersFeedbackInfoEXT);
813 }
814 #endif // VK_ENABLE_BETA_EXTENSIONS
815 #ifdef VK_ENABLE_BETA_EXTENSIONS
816 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT: {
817 return sizeof(VkVideoEncodeH265PictureInfoEXT);
818 }
819 #endif // VK_ENABLE_BETA_EXTENSIONS
820 #ifdef VK_ENABLE_BETA_EXTENSIONS
821 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: {
822 return sizeof(VkVideoEncodeH265DpbSlotInfoEXT);
823 }
824 #endif // VK_ENABLE_BETA_EXTENSIONS
825 #ifdef VK_ENABLE_BETA_EXTENSIONS
826 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: {
827 return sizeof(VkVideoEncodeH265ProfileInfoEXT);
828 }
829 #endif // VK_ENABLE_BETA_EXTENSIONS
830 #ifdef VK_ENABLE_BETA_EXTENSIONS
831 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: {
832 return sizeof(VkVideoEncodeH265RateControlInfoEXT);
833 }
834 #endif // VK_ENABLE_BETA_EXTENSIONS
835 #ifdef VK_ENABLE_BETA_EXTENSIONS
836 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: {
837 return sizeof(VkVideoEncodeH265RateControlLayerInfoEXT);
838 }
839 #endif // VK_ENABLE_BETA_EXTENSIONS
840 #ifdef VK_ENABLE_BETA_EXTENSIONS
841 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT: {
842 return sizeof(VkVideoEncodeH265GopRemainingFrameInfoEXT);
843 }
844 #endif // VK_ENABLE_BETA_EXTENSIONS
845 #endif
846 #ifdef VK_AMD_texture_gather_bias_lod
847 case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
848 return sizeof(VkTextureLODGatherFormatPropertiesAMD);
849 }
850 #endif
851 #ifdef VK_NV_corner_sampled_image
852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
853 return sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV);
854 }
855 #endif
856 #ifdef VK_NV_external_memory
857 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
858 return sizeof(VkExternalMemoryImageCreateInfoNV);
859 }
860 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
861 return sizeof(VkExportMemoryAllocateInfoNV);
862 }
863 #endif
864 #ifdef VK_NV_external_memory_win32
865 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
866 return sizeof(VkImportMemoryWin32HandleInfoNV);
867 }
868 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
869 return sizeof(VkExportMemoryWin32HandleInfoNV);
870 }
871 #endif
872 #ifdef VK_NV_win32_keyed_mutex
873 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
874 return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
875 }
876 #endif
877 #ifdef VK_EXT_validation_flags
878 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
879 return sizeof(VkValidationFlagsEXT);
880 }
881 #endif
882 #ifdef VK_EXT_astc_decode_mode
883 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
884 return sizeof(VkImageViewASTCDecodeModeEXT);
885 }
886 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
887 return sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT);
888 }
889 #endif
890 #ifdef VK_EXT_pipeline_robustness
891 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: {
892 return sizeof(VkPhysicalDevicePipelineRobustnessFeaturesEXT);
893 }
894 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: {
895 return sizeof(VkPhysicalDevicePipelineRobustnessPropertiesEXT);
896 }
897 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: {
898 return sizeof(VkPipelineRobustnessCreateInfoEXT);
899 }
900 #endif
901 #ifdef VK_EXT_conditional_rendering
902 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
903 return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
904 }
905 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
906 return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
907 }
908 #endif
909 #ifdef VK_NV_clip_space_w_scaling
910 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
911 return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
912 }
913 #endif
914 #ifdef VK_EXT_display_control
915 case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
916 return sizeof(VkSwapchainCounterCreateInfoEXT);
917 }
918 #endif
919 #ifdef VK_GOOGLE_display_timing
920 case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
921 return sizeof(VkPresentTimesInfoGOOGLE);
922 }
923 #endif
924 #ifdef VK_NVX_multiview_per_view_attributes
925 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
926 return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
927 }
928 #endif
929 #ifdef VK_NV_viewport_swizzle
930 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
931 return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
932 }
933 #endif
934 #ifdef VK_EXT_discard_rectangles
935 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
936 return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
937 }
938 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
939 return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
940 }
941 #endif
942 #ifdef VK_EXT_conservative_rasterization
943 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
944 return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
945 }
946 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
947 return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
948 }
949 #endif
950 #ifdef VK_EXT_depth_clip_enable
951 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
952 return sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
953 }
954 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
955 return sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT);
956 }
957 #endif
958 #ifdef VK_EXT_debug_utils
959 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: {
960 return sizeof(VkDebugUtilsObjectNameInfoEXT);
961 }
962 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
963 return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
964 }
965 #endif
966 #ifdef VK_AMDX_shader_enqueue
967 #ifdef VK_ENABLE_BETA_EXTENSIONS
968 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: {
969 return sizeof(VkPhysicalDeviceShaderEnqueueFeaturesAMDX);
970 }
971 #endif // VK_ENABLE_BETA_EXTENSIONS
972 #ifdef VK_ENABLE_BETA_EXTENSIONS
973 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX: {
974 return sizeof(VkPhysicalDeviceShaderEnqueuePropertiesAMDX);
975 }
976 #endif // VK_ENABLE_BETA_EXTENSIONS
977 #ifdef VK_ENABLE_BETA_EXTENSIONS
978 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX: {
979 return sizeof(VkPipelineShaderStageNodeCreateInfoAMDX);
980 }
981 #endif // VK_ENABLE_BETA_EXTENSIONS
982 #endif
983 #ifdef VK_EXT_sample_locations
984 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
985 return sizeof(VkSampleLocationsInfoEXT);
986 }
987 case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
988 return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
989 }
990 case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
991 return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
992 }
993 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
994 return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
995 }
996 #endif
997 #ifdef VK_EXT_blend_operation_advanced
998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
999 return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
1000 }
1001 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
1002 return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
1003 }
1004 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
1005 return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
1006 }
1007 #endif
1008 #ifdef VK_NV_fragment_coverage_to_color
1009 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
1010 return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
1011 }
1012 #endif
1013 #ifdef VK_NV_framebuffer_mixed_samples
1014 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
1015 return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
1016 }
1017 #endif
1018 #ifdef VK_NV_shader_sm_builtins
1019 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
1020 return sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV);
1021 }
1022 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
1023 return sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV);
1024 }
1025 #endif
1026 #ifdef VK_EXT_image_drm_format_modifier
1027 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
1028 return sizeof(VkDrmFormatModifierPropertiesListEXT);
1029 }
1030 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
1031 return sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT);
1032 }
1033 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
1034 return sizeof(VkImageDrmFormatModifierListCreateInfoEXT);
1035 }
1036 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
1037 return sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT);
1038 }
1039 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
1040 return sizeof(VkDrmFormatModifierPropertiesList2EXT);
1041 }
1042 #endif
1043 #ifdef VK_EXT_validation_cache
1044 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
1045 return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
1046 }
1047 #endif
1048 #ifdef VK_NV_shading_rate_image
1049 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
1050 return sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV);
1051 }
1052 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
1053 return sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV);
1054 }
1055 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
1056 return sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV);
1057 }
1058 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
1059 return sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV);
1060 }
1061 #endif
1062 #ifdef VK_NV_ray_tracing
1063 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
1064 return sizeof(VkWriteDescriptorSetAccelerationStructureNV);
1065 }
1066 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
1067 return sizeof(VkPhysicalDeviceRayTracingPropertiesNV);
1068 }
1069 #endif
1070 #ifdef VK_NV_representative_fragment_test
1071 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
1072 return sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV);
1073 }
1074 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
1075 return sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV);
1076 }
1077 #endif
1078 #ifdef VK_EXT_filter_cubic
1079 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
1080 return sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT);
1081 }
1082 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
1083 return sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT);
1084 }
1085 #endif
1086 #ifdef VK_EXT_external_memory_host
1087 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
1088 return sizeof(VkImportMemoryHostPointerInfoEXT);
1089 }
1090 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
1091 return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
1092 }
1093 #endif
1094 #ifdef VK_AMD_pipeline_compiler_control
1095 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
1096 return sizeof(VkPipelineCompilerControlCreateInfoAMD);
1097 }
1098 #endif
1099 #ifdef VK_AMD_shader_core_properties
1100 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
1101 return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
1102 }
1103 #endif
1104 #ifdef VK_AMD_memory_overallocation_behavior
1105 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
1106 return sizeof(VkDeviceMemoryOverallocationCreateInfoAMD);
1107 }
1108 #endif
1109 #ifdef VK_EXT_vertex_attribute_divisor
1110 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
1111 return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
1112 }
1113 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
1114 return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
1115 }
1116 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
1117 return sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
1118 }
1119 #endif
1120 #ifdef VK_GGP_frame_token
1121 case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
1122 return sizeof(VkPresentFrameTokenGGP);
1123 }
1124 #endif
1125 #ifdef VK_NV_compute_shader_derivatives
1126 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
1127 return sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV);
1128 }
1129 #endif
1130 #ifdef VK_NV_mesh_shader
1131 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
1132 return sizeof(VkPhysicalDeviceMeshShaderFeaturesNV);
1133 }
1134 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
1135 return sizeof(VkPhysicalDeviceMeshShaderPropertiesNV);
1136 }
1137 #endif
1138 #ifdef VK_NV_shader_image_footprint
1139 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
1140 return sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV);
1141 }
1142 #endif
1143 #ifdef VK_NV_scissor_exclusive
1144 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
1145 return sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV);
1146 }
1147 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
1148 return sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV);
1149 }
1150 #endif
1151 #ifdef VK_INTEL_shader_integer_functions2
1152 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
1153 return sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL);
1154 }
1155 #endif
1156 #ifdef VK_INTEL_performance_query
1157 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
1158 return sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL);
1159 }
1160 #endif
1161 #ifdef VK_EXT_pci_bus_info
1162 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
1163 return sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT);
1164 }
1165 #endif
1166 #ifdef VK_AMD_display_native_hdr
1167 case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
1168 return sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD);
1169 }
1170 case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
1171 return sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD);
1172 }
1173 #endif
1174 #ifdef VK_EXT_fragment_density_map
1175 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
1176 switch (rootType) {
1177 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
1178 return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
1179 break;
1180 }
1181 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
1182 return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
1183 break;
1184 }
1185 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
1186 return sizeof(VkImportColorBufferGOOGLE);
1187 break;
1188 }
1189 default: {
1190 return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
1191 break;
1192 }
1193 }
1194 }
1195 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
1196 switch (rootType) {
1197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
1198 return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
1199 break;
1200 }
1201 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
1202 return sizeof(VkCreateBlobGOOGLE);
1203 break;
1204 }
1205 default: {
1206 return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
1207 break;
1208 }
1209 }
1210 }
1211 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
1212 switch (rootType) {
1213 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
1214 return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
1215 break;
1216 }
1217 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
1218 return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
1219 break;
1220 }
1221 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
1222 return sizeof(VkImportBufferGOOGLE);
1223 break;
1224 }
1225 default: {
1226 return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
1227 break;
1228 }
1229 }
1230 }
1231 #endif
1232 #ifdef VK_AMD_shader_core_properties2
1233 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
1234 return sizeof(VkPhysicalDeviceShaderCoreProperties2AMD);
1235 }
1236 #endif
1237 #ifdef VK_AMD_device_coherent_memory
1238 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
1239 return sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD);
1240 }
1241 #endif
1242 #ifdef VK_EXT_shader_image_atomic_int64
1243 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
1244 return sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT);
1245 }
1246 #endif
1247 #ifdef VK_EXT_memory_budget
1248 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
1249 return sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT);
1250 }
1251 #endif
1252 #ifdef VK_EXT_memory_priority
1253 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
1254 return sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT);
1255 }
1256 case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
1257 return sizeof(VkMemoryPriorityAllocateInfoEXT);
1258 }
1259 #endif
1260 #ifdef VK_NV_dedicated_allocation_image_aliasing
1261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
1262 return sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV);
1263 }
1264 #endif
1265 #ifdef VK_EXT_buffer_device_address
1266 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
1267 return sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT);
1268 }
1269 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
1270 return sizeof(VkBufferDeviceAddressCreateInfoEXT);
1271 }
1272 #endif
1273 #ifdef VK_EXT_validation_features
1274 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
1275 return sizeof(VkValidationFeaturesEXT);
1276 }
1277 #endif
1278 #ifdef VK_NV_cooperative_matrix
1279 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
1280 return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV);
1281 }
1282 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
1283 return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV);
1284 }
1285 #endif
1286 #ifdef VK_NV_coverage_reduction_mode
1287 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
1288 return sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV);
1289 }
1290 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
1291 return sizeof(VkPipelineCoverageReductionStateCreateInfoNV);
1292 }
1293 #endif
1294 #ifdef VK_EXT_fragment_shader_interlock
1295 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
1296 return sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
1297 }
1298 #endif
1299 #ifdef VK_EXT_ycbcr_image_arrays
1300 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
1301 return sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT);
1302 }
1303 #endif
1304 #ifdef VK_EXT_provoking_vertex
1305 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
1306 return sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT);
1307 }
1308 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
1309 return sizeof(VkPhysicalDeviceProvokingVertexPropertiesEXT);
1310 }
1311 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
1312 return sizeof(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT);
1313 }
1314 #endif
1315 #ifdef VK_EXT_full_screen_exclusive
1316 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
1317 return sizeof(VkSurfaceFullScreenExclusiveInfoEXT);
1318 }
1319 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
1320 return sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT);
1321 }
1322 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
1323 return sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT);
1324 }
1325 #endif
1326 #ifdef VK_EXT_shader_atomic_float
1327 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
1328 return sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT);
1329 }
1330 #endif
1331 #ifdef VK_EXT_index_type_uint8
1332 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
1333 return sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT);
1334 }
1335 #endif
1336 #ifdef VK_EXT_extended_dynamic_state
1337 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
1338 return sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT);
1339 }
1340 #endif
1341 #ifdef VK_EXT_host_image_copy
1342 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
1343 return sizeof(VkPhysicalDeviceHostImageCopyFeaturesEXT);
1344 }
1345 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
1346 return sizeof(VkPhysicalDeviceHostImageCopyPropertiesEXT);
1347 }
1348 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
1349 return sizeof(VkSubresourceHostMemcpySizeEXT);
1350 }
1351 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
1352 return sizeof(VkHostImageCopyDevicePerformanceQueryEXT);
1353 }
1354 #endif
1355 #ifdef VK_EXT_shader_atomic_float2
1356 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
1357 return sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT);
1358 }
1359 #endif
1360 #ifdef VK_EXT_surface_maintenance1
1361 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: {
1362 return sizeof(VkSurfacePresentModeEXT);
1363 }
1364 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: {
1365 return sizeof(VkSurfacePresentScalingCapabilitiesEXT);
1366 }
1367 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: {
1368 return sizeof(VkSurfacePresentModeCompatibilityEXT);
1369 }
1370 #endif
1371 #ifdef VK_EXT_swapchain_maintenance1
1372 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
1373 return sizeof(VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT);
1374 }
1375 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
1376 return sizeof(VkSwapchainPresentFenceInfoEXT);
1377 }
1378 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
1379 return sizeof(VkSwapchainPresentModesCreateInfoEXT);
1380 }
1381 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
1382 return sizeof(VkSwapchainPresentModeInfoEXT);
1383 }
1384 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
1385 return sizeof(VkSwapchainPresentScalingCreateInfoEXT);
1386 }
1387 #endif
1388 #ifdef VK_NV_device_generated_commands
1389 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
1390 return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV);
1391 }
1392 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
1393 return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV);
1394 }
1395 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
1396 return sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV);
1397 }
1398 #endif
1399 #ifdef VK_NV_inherited_viewport_scissor
1400 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
1401 return sizeof(VkPhysicalDeviceInheritedViewportScissorFeaturesNV);
1402 }
1403 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
1404 return sizeof(VkCommandBufferInheritanceViewportScissorInfoNV);
1405 }
1406 #endif
1407 #ifdef VK_EXT_texel_buffer_alignment
1408 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
1409 return sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT);
1410 }
1411 #endif
1412 #ifdef VK_QCOM_render_pass_transform
1413 case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
1414 return sizeof(VkRenderPassTransformBeginInfoQCOM);
1415 }
1416 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
1417 return sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM);
1418 }
1419 #endif
1420 #ifdef VK_EXT_depth_bias_control
1421 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT: {
1422 return sizeof(VkPhysicalDeviceDepthBiasControlFeaturesEXT);
1423 }
1424 case VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT: {
1425 return sizeof(VkDepthBiasRepresentationInfoEXT);
1426 }
1427 #endif
1428 #ifdef VK_EXT_device_memory_report
1429 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
1430 return sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT);
1431 }
1432 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
1433 return sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT);
1434 }
1435 #endif
1436 #ifdef VK_EXT_robustness2
1437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
1438 return sizeof(VkPhysicalDeviceRobustness2FeaturesEXT);
1439 }
1440 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
1441 return sizeof(VkPhysicalDeviceRobustness2PropertiesEXT);
1442 }
1443 #endif
1444 #ifdef VK_EXT_custom_border_color
1445 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
1446 return sizeof(VkSamplerCustomBorderColorCreateInfoEXT);
1447 }
1448 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
1449 return sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
1450 }
1451 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
1452 return sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
1453 }
1454 #endif
1455 #ifdef VK_NV_present_barrier
1456 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: {
1457 return sizeof(VkPhysicalDevicePresentBarrierFeaturesNV);
1458 }
1459 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: {
1460 return sizeof(VkSurfaceCapabilitiesPresentBarrierNV);
1461 }
1462 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: {
1463 return sizeof(VkSwapchainPresentBarrierCreateInfoNV);
1464 }
1465 #endif
1466 #ifdef VK_NV_device_diagnostics_config
1467 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
1468 return sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV);
1469 }
1470 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
1471 return sizeof(VkDeviceDiagnosticsConfigCreateInfoNV);
1472 }
1473 #endif
1474 #ifdef VK_NV_cuda_kernel_launch
1475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: {
1476 return sizeof(VkPhysicalDeviceCudaKernelLaunchFeaturesNV);
1477 }
1478 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: {
1479 return sizeof(VkPhysicalDeviceCudaKernelLaunchPropertiesNV);
1480 }
1481 #endif
1482 #ifdef VK_NV_low_latency
1483 case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: {
1484 return sizeof(VkQueryLowLatencySupportNV);
1485 }
1486 #endif
1487 #ifdef VK_EXT_descriptor_buffer
1488 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: {
1489 return sizeof(VkPhysicalDeviceDescriptorBufferPropertiesEXT);
1490 }
1491 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: {
1492 return sizeof(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT);
1493 }
1494 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: {
1495 return sizeof(VkPhysicalDeviceDescriptorBufferFeaturesEXT);
1496 }
1497 case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: {
1498 return sizeof(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT);
1499 }
1500 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: {
1501 return sizeof(VkOpaqueCaptureDescriptorDataCreateInfoEXT);
1502 }
1503 #endif
1504 #ifdef VK_EXT_graphics_pipeline_library
1505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
1506 return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT);
1507 }
1508 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
1509 return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT);
1510 }
1511 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
1512 return sizeof(VkGraphicsPipelineLibraryCreateInfoEXT);
1513 }
1514 #endif
1515 #ifdef VK_AMD_shader_early_and_late_fragment_tests
1516 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: {
1517 return sizeof(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD);
1518 }
1519 #endif
1520 #ifdef VK_NV_fragment_shading_rate_enums
1521 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
1522 return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV);
1523 }
1524 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
1525 return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV);
1526 }
1527 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: {
1528 return sizeof(VkPipelineFragmentShadingRateEnumStateCreateInfoNV);
1529 }
1530 #endif
1531 #ifdef VK_NV_ray_tracing_motion_blur
1532 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: {
1533 return sizeof(VkAccelerationStructureGeometryMotionTrianglesDataNV);
1534 }
1535 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: {
1536 return sizeof(VkAccelerationStructureMotionInfoNV);
1537 }
1538 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: {
1539 return sizeof(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV);
1540 }
1541 #endif
1542 #ifdef VK_EXT_ycbcr_2plane_444_formats
1543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
1544 return sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT);
1545 }
1546 #endif
1547 #ifdef VK_EXT_fragment_density_map2
1548 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: {
1549 return sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT);
1550 }
1551 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: {
1552 return sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT);
1553 }
1554 #endif
1555 #ifdef VK_QCOM_rotated_copy_commands
1556 case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: {
1557 return sizeof(VkCopyCommandTransformInfoQCOM);
1558 }
1559 #endif
1560 #ifdef VK_EXT_image_compression_control
1561 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
1562 return sizeof(VkPhysicalDeviceImageCompressionControlFeaturesEXT);
1563 }
1564 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
1565 return sizeof(VkImageCompressionControlEXT);
1566 }
1567 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
1568 return sizeof(VkImageCompressionPropertiesEXT);
1569 }
1570 #endif
1571 #ifdef VK_EXT_attachment_feedback_loop_layout
1572 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: {
1573 return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT);
1574 }
1575 #endif
1576 #ifdef VK_EXT_4444_formats
1577 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
1578 return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT);
1579 }
1580 #endif
1581 #ifdef VK_EXT_device_fault
1582 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: {
1583 return sizeof(VkPhysicalDeviceFaultFeaturesEXT);
1584 }
1585 #endif
1586 #ifdef VK_ARM_rasterization_order_attachment_access
1587 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: {
1588 return sizeof(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT);
1589 }
1590 #endif
1591 #ifdef VK_EXT_rgba10x6_formats
1592 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: {
1593 return sizeof(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT);
1594 }
1595 #endif
1596 #ifdef VK_VALVE_mutable_descriptor_type
1597 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: {
1598 return sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT);
1599 }
1600 case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: {
1601 return sizeof(VkMutableDescriptorTypeCreateInfoEXT);
1602 }
1603 #endif
1604 #ifdef VK_EXT_vertex_input_dynamic_state
1605 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
1606 return sizeof(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT);
1607 }
1608 #endif
1609 #ifdef VK_EXT_physical_device_drm
1610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
1611 return sizeof(VkPhysicalDeviceDrmPropertiesEXT);
1612 }
1613 #endif
1614 #ifdef VK_EXT_device_address_binding_report
1615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: {
1616 return sizeof(VkPhysicalDeviceAddressBindingReportFeaturesEXT);
1617 }
1618 case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: {
1619 return sizeof(VkDeviceAddressBindingCallbackDataEXT);
1620 }
1621 #endif
1622 #ifdef VK_EXT_depth_clip_control
1623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: {
1624 return sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT);
1625 }
1626 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: {
1627 return sizeof(VkPipelineViewportDepthClipControlCreateInfoEXT);
1628 }
1629 #endif
1630 #ifdef VK_EXT_primitive_topology_list_restart
1631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
1632 return sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT);
1633 }
1634 #endif
1635 #ifdef VK_FUCHSIA_external_memory
1636 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: {
1637 return sizeof(VkImportMemoryZirconHandleInfoFUCHSIA);
1638 }
1639 #endif
1640 #ifdef VK_FUCHSIA_buffer_collection
1641 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: {
1642 return sizeof(VkImportMemoryBufferCollectionFUCHSIA);
1643 }
1644 case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: {
1645 return sizeof(VkBufferCollectionImageCreateInfoFUCHSIA);
1646 }
1647 case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: {
1648 return sizeof(VkBufferCollectionBufferCreateInfoFUCHSIA);
1649 }
1650 #endif
1651 #ifdef VK_HUAWEI_subpass_shading
1652 case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: {
1653 return sizeof(VkSubpassShadingPipelineCreateInfoHUAWEI);
1654 }
1655 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: {
1656 return sizeof(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI);
1657 }
1658 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: {
1659 return sizeof(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI);
1660 }
1661 #endif
1662 #ifdef VK_HUAWEI_invocation_mask
1663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: {
1664 return sizeof(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI);
1665 }
1666 #endif
1667 #ifdef VK_NV_external_memory_rdma
1668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: {
1669 return sizeof(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV);
1670 }
1671 #endif
1672 #ifdef VK_EXT_pipeline_properties
1673 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: {
1674 return sizeof(VkPhysicalDevicePipelinePropertiesFeaturesEXT);
1675 }
1676 #endif
1677 #ifdef VK_EXT_frame_boundary
1678 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT: {
1679 return sizeof(VkPhysicalDeviceFrameBoundaryFeaturesEXT);
1680 }
1681 case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT: {
1682 return sizeof(VkFrameBoundaryEXT);
1683 }
1684 #endif
1685 #ifdef VK_EXT_multisampled_render_to_single_sampled
1686 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: {
1687 return sizeof(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT);
1688 }
1689 case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: {
1690 return sizeof(VkSubpassResolvePerformanceQueryEXT);
1691 }
1692 case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: {
1693 return sizeof(VkMultisampledRenderToSingleSampledInfoEXT);
1694 }
1695 #endif
1696 #ifdef VK_EXT_extended_dynamic_state2
1697 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
1698 return sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT);
1699 }
1700 #endif
1701 #ifdef VK_EXT_color_write_enable
1702 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
1703 return sizeof(VkPhysicalDeviceColorWriteEnableFeaturesEXT);
1704 }
1705 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
1706 return sizeof(VkPipelineColorWriteCreateInfoEXT);
1707 }
1708 #endif
1709 #ifdef VK_EXT_primitives_generated_query
1710 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: {
1711 return sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT);
1712 }
1713 #endif
1714 #ifdef VK_GOOGLE_gfxstream
1715 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
1716 return sizeof(VkImportColorBufferGOOGLE);
1717 }
1718 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
1719 return sizeof(VkImportBufferGOOGLE);
1720 }
1721 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
1722 return sizeof(VkCreateBlobGOOGLE);
1723 }
1724 #endif
1725 #ifdef VK_EXT_image_view_min_lod
1726 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: {
1727 return sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT);
1728 }
1729 case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: {
1730 return sizeof(VkImageViewMinLodCreateInfoEXT);
1731 }
1732 #endif
1733 #ifdef VK_EXT_multi_draw
1734 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: {
1735 return sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT);
1736 }
1737 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: {
1738 return sizeof(VkPhysicalDeviceMultiDrawPropertiesEXT);
1739 }
1740 #endif
1741 #ifdef VK_EXT_image_2d_view_of_3d
1742 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: {
1743 return sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT);
1744 }
1745 #endif
1746 #ifdef VK_EXT_shader_tile_image
1747 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: {
1748 return sizeof(VkPhysicalDeviceShaderTileImageFeaturesEXT);
1749 }
1750 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: {
1751 return sizeof(VkPhysicalDeviceShaderTileImagePropertiesEXT);
1752 }
1753 #endif
1754 #ifdef VK_EXT_opacity_micromap
1755 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: {
1756 return sizeof(VkPhysicalDeviceOpacityMicromapFeaturesEXT);
1757 }
1758 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: {
1759 return sizeof(VkPhysicalDeviceOpacityMicromapPropertiesEXT);
1760 }
1761 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: {
1762 return sizeof(VkAccelerationStructureTrianglesOpacityMicromapEXT);
1763 }
1764 #endif
1765 #ifdef VK_NV_displacement_micromap
1766 #ifdef VK_ENABLE_BETA_EXTENSIONS
1767 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: {
1768 return sizeof(VkPhysicalDeviceDisplacementMicromapFeaturesNV);
1769 }
1770 #endif // VK_ENABLE_BETA_EXTENSIONS
1771 #ifdef VK_ENABLE_BETA_EXTENSIONS
1772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: {
1773 return sizeof(VkPhysicalDeviceDisplacementMicromapPropertiesNV);
1774 }
1775 #endif // VK_ENABLE_BETA_EXTENSIONS
1776 #ifdef VK_ENABLE_BETA_EXTENSIONS
1777 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: {
1778 return sizeof(VkAccelerationStructureTrianglesDisplacementMicromapNV);
1779 }
1780 #endif // VK_ENABLE_BETA_EXTENSIONS
1781 #endif
1782 #ifdef VK_HUAWEI_cluster_culling_shader
1783 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: {
1784 return sizeof(VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI);
1785 }
1786 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: {
1787 return sizeof(VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI);
1788 }
1789 #endif
1790 #ifdef VK_EXT_border_color_swizzle
1791 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
1792 return sizeof(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT);
1793 }
1794 case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: {
1795 return sizeof(VkSamplerBorderColorComponentMappingCreateInfoEXT);
1796 }
1797 #endif
1798 #ifdef VK_EXT_pageable_device_local_memory
1799 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: {
1800 return sizeof(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT);
1801 }
1802 #endif
1803 #ifdef VK_ARM_shader_core_properties
1804 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: {
1805 return sizeof(VkPhysicalDeviceShaderCorePropertiesARM);
1806 }
1807 #endif
1808 #ifdef VK_ARM_scheduling_controls
1809 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM: {
1810 return sizeof(VkDeviceQueueShaderCoreControlCreateInfoARM);
1811 }
1812 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM: {
1813 return sizeof(VkPhysicalDeviceSchedulingControlsFeaturesARM);
1814 }
1815 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: {
1816 return sizeof(VkPhysicalDeviceSchedulingControlsPropertiesARM);
1817 }
1818 #endif
1819 #ifdef VK_EXT_image_sliced_view_of_3d
1820 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: {
1821 return sizeof(VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT);
1822 }
1823 case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: {
1824 return sizeof(VkImageViewSlicedCreateInfoEXT);
1825 }
1826 #endif
1827 #ifdef VK_VALVE_descriptor_set_host_mapping
1828 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: {
1829 return sizeof(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE);
1830 }
1831 #endif
1832 #ifdef VK_EXT_depth_clamp_zero_one
1833 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: {
1834 return sizeof(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT);
1835 }
1836 #endif
1837 #ifdef VK_EXT_non_seamless_cube_map
1838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: {
1839 return sizeof(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT);
1840 }
1841 #endif
1842 #ifdef VK_QCOM_fragment_density_map_offset
1843 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: {
1844 return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM);
1845 }
1846 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: {
1847 return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM);
1848 }
1849 case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: {
1850 return sizeof(VkSubpassFragmentDensityMapOffsetEndInfoQCOM);
1851 }
1852 #endif
1853 #ifdef VK_NV_copy_memory_indirect
1854 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: {
1855 return sizeof(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV);
1856 }
1857 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: {
1858 return sizeof(VkPhysicalDeviceCopyMemoryIndirectPropertiesNV);
1859 }
1860 #endif
1861 #ifdef VK_NV_memory_decompression
1862 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: {
1863 return sizeof(VkPhysicalDeviceMemoryDecompressionFeaturesNV);
1864 }
1865 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: {
1866 return sizeof(VkPhysicalDeviceMemoryDecompressionPropertiesNV);
1867 }
1868 #endif
1869 #ifdef VK_NV_device_generated_commands_compute
1870 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: {
1871 return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV);
1872 }
1873 #endif
1874 #ifdef VK_NV_linear_color_attachment
1875 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: {
1876 return sizeof(VkPhysicalDeviceLinearColorAttachmentFeaturesNV);
1877 }
1878 #endif
1879 #ifdef VK_EXT_image_compression_control_swapchain
1880 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
1881 return sizeof(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT);
1882 }
1883 #endif
1884 #ifdef VK_QCOM_image_processing
1885 case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: {
1886 return sizeof(VkImageViewSampleWeightCreateInfoQCOM);
1887 }
1888 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: {
1889 return sizeof(VkPhysicalDeviceImageProcessingFeaturesQCOM);
1890 }
1891 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: {
1892 return sizeof(VkPhysicalDeviceImageProcessingPropertiesQCOM);
1893 }
1894 #endif
1895 #ifdef VK_EXT_nested_command_buffer
1896 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT: {
1897 return sizeof(VkPhysicalDeviceNestedCommandBufferFeaturesEXT);
1898 }
1899 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: {
1900 return sizeof(VkPhysicalDeviceNestedCommandBufferPropertiesEXT);
1901 }
1902 #endif
1903 #ifdef VK_EXT_external_memory_acquire_unmodified
1904 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: {
1905 return sizeof(VkExternalMemoryAcquireUnmodifiedEXT);
1906 }
1907 #endif
1908 #ifdef VK_EXT_extended_dynamic_state3
1909 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: {
1910 return sizeof(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT);
1911 }
1912 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: {
1913 return sizeof(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT);
1914 }
1915 #endif
1916 #ifdef VK_EXT_subpass_merge_feedback
1917 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: {
1918 return sizeof(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT);
1919 }
1920 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: {
1921 return sizeof(VkRenderPassCreationControlEXT);
1922 }
1923 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: {
1924 return sizeof(VkRenderPassCreationFeedbackCreateInfoEXT);
1925 }
1926 case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: {
1927 return sizeof(VkRenderPassSubpassFeedbackCreateInfoEXT);
1928 }
1929 #endif
1930 #ifdef VK_LUNARG_direct_driver_loading
1931 case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: {
1932 return sizeof(VkDirectDriverLoadingListLUNARG);
1933 }
1934 #endif
1935 #ifdef VK_EXT_shader_module_identifier
1936 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: {
1937 return sizeof(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT);
1938 }
1939 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: {
1940 return sizeof(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT);
1941 }
1942 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: {
1943 return sizeof(VkPipelineShaderStageModuleIdentifierCreateInfoEXT);
1944 }
1945 #endif
1946 #ifdef VK_NV_optical_flow
1947 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: {
1948 return sizeof(VkPhysicalDeviceOpticalFlowFeaturesNV);
1949 }
1950 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: {
1951 return sizeof(VkPhysicalDeviceOpticalFlowPropertiesNV);
1952 }
1953 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: {
1954 return sizeof(VkOpticalFlowImageFormatInfoNV);
1955 }
1956 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: {
1957 return sizeof(VkOpticalFlowSessionCreatePrivateDataInfoNV);
1958 }
1959 #endif
1960 #ifdef VK_EXT_legacy_dithering
1961 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: {
1962 return sizeof(VkPhysicalDeviceLegacyDitheringFeaturesEXT);
1963 }
1964 #endif
1965 #ifdef VK_EXT_pipeline_protected_access
1966 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: {
1967 return sizeof(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT);
1968 }
1969 #endif
1970 #ifdef VK_ANDROID_external_format_resolve
1971 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID: {
1972 return sizeof(VkPhysicalDeviceExternalFormatResolveFeaturesANDROID);
1973 }
1974 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID: {
1975 return sizeof(VkPhysicalDeviceExternalFormatResolvePropertiesANDROID);
1976 }
1977 case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID: {
1978 return sizeof(VkAndroidHardwareBufferFormatResolvePropertiesANDROID);
1979 }
1980 #endif
1981 #ifdef VK_EXT_shader_object
1982 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: {
1983 return sizeof(VkPhysicalDeviceShaderObjectFeaturesEXT);
1984 }
1985 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: {
1986 return sizeof(VkPhysicalDeviceShaderObjectPropertiesEXT);
1987 }
1988 #endif
1989 #ifdef VK_QCOM_tile_properties
1990 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: {
1991 return sizeof(VkPhysicalDeviceTilePropertiesFeaturesQCOM);
1992 }
1993 #endif
1994 #ifdef VK_SEC_amigo_profiling
1995 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: {
1996 return sizeof(VkPhysicalDeviceAmigoProfilingFeaturesSEC);
1997 }
1998 case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: {
1999 return sizeof(VkAmigoProfilingSubmitInfoSEC);
2000 }
2001 #endif
2002 #ifdef VK_QCOM_multiview_per_view_viewports
2003 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: {
2004 return sizeof(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM);
2005 }
2006 #endif
2007 #ifdef VK_NV_ray_tracing_invocation_reorder
2008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: {
2009 return sizeof(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV);
2010 }
2011 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: {
2012 return sizeof(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV);
2013 }
2014 #endif
2015 #ifdef VK_NV_extended_sparse_address_space
2016 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: {
2017 return sizeof(VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV);
2018 }
2019 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV: {
2020 return sizeof(VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV);
2021 }
2022 #endif
2023 #ifdef VK_ARM_shader_core_builtins
2024 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: {
2025 return sizeof(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM);
2026 }
2027 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: {
2028 return sizeof(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM);
2029 }
2030 #endif
2031 #ifdef VK_EXT_pipeline_library_group_handles
2032 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: {
2033 return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT);
2034 }
2035 #endif
2036 #ifdef VK_EXT_dynamic_rendering_unused_attachments
2037 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: {
2038 return sizeof(VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT);
2039 }
2040 #endif
2041 #ifdef VK_NV_low_latency2
2042 case VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV: {
2043 return sizeof(VkLatencySubmissionPresentIdNV);
2044 }
2045 case VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV: {
2046 return sizeof(VkSwapchainLatencyCreateInfoNV);
2047 }
2048 case VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: {
2049 return sizeof(VkLatencySurfaceCapabilitiesNV);
2050 }
2051 #endif
2052 #ifdef VK_QCOM_multiview_per_view_render_areas
2053 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: {
2054 return sizeof(VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM);
2055 }
2056 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: {
2057 return sizeof(VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM);
2058 }
2059 #endif
2060 #ifdef VK_QCOM_image_processing2
2061 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM: {
2062 return sizeof(VkPhysicalDeviceImageProcessing2FeaturesQCOM);
2063 }
2064 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM: {
2065 return sizeof(VkPhysicalDeviceImageProcessing2PropertiesQCOM);
2066 }
2067 case VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM: {
2068 return sizeof(VkSamplerBlockMatchWindowCreateInfoQCOM);
2069 }
2070 #endif
2071 #ifdef VK_QCOM_filter_cubic_weights
2072 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM: {
2073 return sizeof(VkPhysicalDeviceCubicWeightsFeaturesQCOM);
2074 }
2075 case VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM: {
2076 return sizeof(VkSamplerCubicWeightsCreateInfoQCOM);
2077 }
2078 case VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM: {
2079 return sizeof(VkBlitImageCubicWeightsInfoQCOM);
2080 }
2081 #endif
2082 #ifdef VK_QCOM_ycbcr_degamma
2083 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM: {
2084 return sizeof(VkPhysicalDeviceYcbcrDegammaFeaturesQCOM);
2085 }
2086 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM: {
2087 return sizeof(VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM);
2088 }
2089 #endif
2090 #ifdef VK_QCOM_filter_cubic_clamp
2091 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM: {
2092 return sizeof(VkPhysicalDeviceCubicClampFeaturesQCOM);
2093 }
2094 #endif
2095 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
2096 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: {
2097 return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT);
2098 }
2099 #endif
2100 #ifdef VK_MSFT_layered_driver
2101 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT: {
2102 return sizeof(VkPhysicalDeviceLayeredDriverPropertiesMSFT);
2103 }
2104 #endif
2105 #ifdef VK_NV_descriptor_pool_overallocation
2106 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: {
2107 return sizeof(VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV);
2108 }
2109 #endif
2110 #ifdef VK_KHR_acceleration_structure
2111 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: {
2112 return sizeof(VkWriteDescriptorSetAccelerationStructureKHR);
2113 }
2114 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
2115 return sizeof(VkPhysicalDeviceAccelerationStructureFeaturesKHR);
2116 }
2117 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
2118 return sizeof(VkPhysicalDeviceAccelerationStructurePropertiesKHR);
2119 }
2120 #endif
2121 #ifdef VK_KHR_ray_tracing_pipeline
2122 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
2123 return sizeof(VkPhysicalDeviceRayTracingPipelineFeaturesKHR);
2124 }
2125 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
2126 return sizeof(VkPhysicalDeviceRayTracingPipelinePropertiesKHR);
2127 }
2128 #endif
2129 #ifdef VK_KHR_ray_query
2130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: {
2131 return sizeof(VkPhysicalDeviceRayQueryFeaturesKHR);
2132 }
2133 #endif
2134 #ifdef VK_EXT_mesh_shader
2135 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: {
2136 return sizeof(VkPhysicalDeviceMeshShaderFeaturesEXT);
2137 }
2138 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: {
2139 return sizeof(VkPhysicalDeviceMeshShaderPropertiesEXT);
2140 }
2141 #endif
2142 default: {
2143 fprintf(stderr, "Unhandled Vulkan structure type %s [%d], aborting.\n",
2144 string_VkStructureType(VkStructureType(structType)), structType);
2145 GFXSTREAM_ABORT(::emugl::FatalError(::emugl::ABORT_REASON_OTHER));
2146 return static_cast<size_t>(0);
2147 }
2148 }
2149 }
2150
goldfish_vk_extension_struct_size_with_stream_features(uint32_t streamFeatures,VkStructureType rootType,const void * structExtension)2151 size_t goldfish_vk_extension_struct_size_with_stream_features(uint32_t streamFeatures,
2152 VkStructureType rootType,
2153 const void* structExtension) {
2154 if (!structExtension) {
2155 return (size_t)0;
2156 }
2157 uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
2158 switch (structType) {
2159 #ifdef VK_VERSION_1_0
2160 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: {
2161 return sizeof(VkShaderModuleCreateInfo);
2162 }
2163 #endif
2164 #ifdef VK_VERSION_1_1
2165 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
2166 return sizeof(VkPhysicalDeviceSubgroupProperties);
2167 }
2168 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
2169 return sizeof(VkPhysicalDevice16BitStorageFeatures);
2170 }
2171 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
2172 return sizeof(VkMemoryDedicatedRequirements);
2173 }
2174 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
2175 return sizeof(VkMemoryDedicatedAllocateInfo);
2176 }
2177 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
2178 return sizeof(VkMemoryAllocateFlagsInfo);
2179 }
2180 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
2181 return sizeof(VkDeviceGroupRenderPassBeginInfo);
2182 }
2183 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
2184 return sizeof(VkDeviceGroupCommandBufferBeginInfo);
2185 }
2186 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
2187 return sizeof(VkDeviceGroupSubmitInfo);
2188 }
2189 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
2190 return sizeof(VkDeviceGroupBindSparseInfo);
2191 }
2192 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
2193 return sizeof(VkBindBufferMemoryDeviceGroupInfo);
2194 }
2195 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
2196 return sizeof(VkBindImageMemoryDeviceGroupInfo);
2197 }
2198 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
2199 return sizeof(VkDeviceGroupDeviceCreateInfo);
2200 }
2201 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
2202 return sizeof(VkPhysicalDeviceFeatures2);
2203 }
2204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
2205 return sizeof(VkPhysicalDevicePointClippingProperties);
2206 }
2207 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
2208 return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
2209 }
2210 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
2211 return sizeof(VkImageViewUsageCreateInfo);
2212 }
2213 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
2214 return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
2215 }
2216 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
2217 return sizeof(VkRenderPassMultiviewCreateInfo);
2218 }
2219 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
2220 return sizeof(VkPhysicalDeviceMultiviewFeatures);
2221 }
2222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
2223 return sizeof(VkPhysicalDeviceMultiviewProperties);
2224 }
2225 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
2226 return sizeof(VkPhysicalDeviceVariablePointersFeatures);
2227 }
2228 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
2229 return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
2230 }
2231 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
2232 return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
2233 }
2234 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
2235 return sizeof(VkProtectedSubmitInfo);
2236 }
2237 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
2238 return sizeof(VkSamplerYcbcrConversionInfo);
2239 }
2240 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
2241 return sizeof(VkBindImagePlaneMemoryInfo);
2242 }
2243 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
2244 return sizeof(VkImagePlaneMemoryRequirementsInfo);
2245 }
2246 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
2247 return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
2248 }
2249 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
2250 return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
2251 }
2252 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
2253 return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
2254 }
2255 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
2256 return sizeof(VkExternalImageFormatProperties);
2257 }
2258 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
2259 return sizeof(VkPhysicalDeviceIDProperties);
2260 }
2261 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
2262 return sizeof(VkExternalMemoryImageCreateInfo);
2263 }
2264 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
2265 return sizeof(VkExternalMemoryBufferCreateInfo);
2266 }
2267 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
2268 return sizeof(VkExportMemoryAllocateInfo);
2269 }
2270 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
2271 return sizeof(VkExportFenceCreateInfo);
2272 }
2273 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
2274 return sizeof(VkExportSemaphoreCreateInfo);
2275 }
2276 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
2277 return sizeof(VkPhysicalDeviceMaintenance3Properties);
2278 }
2279 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
2280 return sizeof(VkPhysicalDeviceShaderDrawParametersFeatures);
2281 }
2282 #endif
2283 #ifdef VK_VERSION_1_2
2284 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
2285 return sizeof(VkPhysicalDeviceVulkan11Features);
2286 }
2287 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
2288 return sizeof(VkPhysicalDeviceVulkan11Properties);
2289 }
2290 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
2291 return sizeof(VkPhysicalDeviceVulkan12Features);
2292 }
2293 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
2294 return sizeof(VkPhysicalDeviceVulkan12Properties);
2295 }
2296 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
2297 return sizeof(VkImageFormatListCreateInfo);
2298 }
2299 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
2300 return sizeof(VkPhysicalDevice8BitStorageFeatures);
2301 }
2302 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
2303 return sizeof(VkPhysicalDeviceDriverProperties);
2304 }
2305 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
2306 return sizeof(VkPhysicalDeviceShaderAtomicInt64Features);
2307 }
2308 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
2309 if (streamFeatures & VULKAN_STREAM_FEATURE_SHADER_FLOAT16_INT8_BIT) {
2310 return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
2311 } else {
2312 return 0;
2313 }
2314 }
2315 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
2316 return sizeof(VkPhysicalDeviceFloatControlsProperties);
2317 }
2318 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
2319 return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo);
2320 }
2321 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
2322 return sizeof(VkPhysicalDeviceDescriptorIndexingFeatures);
2323 }
2324 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
2325 return sizeof(VkPhysicalDeviceDescriptorIndexingProperties);
2326 }
2327 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
2328 return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo);
2329 }
2330 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
2331 return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport);
2332 }
2333 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
2334 return sizeof(VkSubpassDescriptionDepthStencilResolve);
2335 }
2336 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
2337 return sizeof(VkPhysicalDeviceDepthStencilResolveProperties);
2338 }
2339 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
2340 return sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures);
2341 }
2342 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
2343 return sizeof(VkImageStencilUsageCreateInfo);
2344 }
2345 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
2346 return sizeof(VkSamplerReductionModeCreateInfo);
2347 }
2348 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
2349 return sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties);
2350 }
2351 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
2352 return sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures);
2353 }
2354 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
2355 return sizeof(VkPhysicalDeviceImagelessFramebufferFeatures);
2356 }
2357 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
2358 return sizeof(VkFramebufferAttachmentsCreateInfo);
2359 }
2360 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
2361 return sizeof(VkRenderPassAttachmentBeginInfo);
2362 }
2363 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
2364 return sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures);
2365 }
2366 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
2367 return sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures);
2368 }
2369 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
2370 return sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures);
2371 }
2372 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
2373 return sizeof(VkAttachmentReferenceStencilLayout);
2374 }
2375 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
2376 return sizeof(VkAttachmentDescriptionStencilLayout);
2377 }
2378 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
2379 return sizeof(VkPhysicalDeviceHostQueryResetFeatures);
2380 }
2381 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
2382 return sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures);
2383 }
2384 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
2385 return sizeof(VkPhysicalDeviceTimelineSemaphoreProperties);
2386 }
2387 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
2388 return sizeof(VkSemaphoreTypeCreateInfo);
2389 }
2390 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
2391 return sizeof(VkTimelineSemaphoreSubmitInfo);
2392 }
2393 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
2394 return sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures);
2395 }
2396 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
2397 return sizeof(VkBufferOpaqueCaptureAddressCreateInfo);
2398 }
2399 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
2400 return sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo);
2401 }
2402 #endif
2403 #ifdef VK_VERSION_1_3
2404 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: {
2405 return sizeof(VkPhysicalDeviceVulkan13Features);
2406 }
2407 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: {
2408 return sizeof(VkPhysicalDeviceVulkan13Properties);
2409 }
2410 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: {
2411 return sizeof(VkPipelineCreationFeedbackCreateInfo);
2412 }
2413 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: {
2414 return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures);
2415 }
2416 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: {
2417 return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures);
2418 }
2419 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: {
2420 return sizeof(VkPhysicalDevicePrivateDataFeatures);
2421 }
2422 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: {
2423 return sizeof(VkDevicePrivateDataCreateInfo);
2424 }
2425 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: {
2426 return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures);
2427 }
2428 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: {
2429 return sizeof(VkMemoryBarrier2);
2430 }
2431 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: {
2432 return sizeof(VkPhysicalDeviceSynchronization2Features);
2433 }
2434 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: {
2435 return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures);
2436 }
2437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: {
2438 return sizeof(VkPhysicalDeviceImageRobustnessFeatures);
2439 }
2440 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
2441 return sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures);
2442 }
2443 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: {
2444 return sizeof(VkPhysicalDeviceSubgroupSizeControlProperties);
2445 }
2446 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: {
2447 return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo);
2448 }
2449 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: {
2450 return sizeof(VkPhysicalDeviceInlineUniformBlockFeatures);
2451 }
2452 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: {
2453 return sizeof(VkPhysicalDeviceInlineUniformBlockProperties);
2454 }
2455 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: {
2456 return sizeof(VkWriteDescriptorSetInlineUniformBlock);
2457 }
2458 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: {
2459 return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfo);
2460 }
2461 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: {
2462 return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures);
2463 }
2464 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: {
2465 return sizeof(VkPipelineRenderingCreateInfo);
2466 }
2467 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: {
2468 return sizeof(VkPhysicalDeviceDynamicRenderingFeatures);
2469 }
2470 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: {
2471 return sizeof(VkCommandBufferInheritanceRenderingInfo);
2472 }
2473 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: {
2474 return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures);
2475 }
2476 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: {
2477 return sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties);
2478 }
2479 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: {
2480 return sizeof(VkPhysicalDeviceTexelBufferAlignmentProperties);
2481 }
2482 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: {
2483 return sizeof(VkFormatProperties3);
2484 }
2485 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: {
2486 return sizeof(VkPhysicalDeviceMaintenance4Features);
2487 }
2488 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: {
2489 return sizeof(VkPhysicalDeviceMaintenance4Properties);
2490 }
2491 #endif
2492 #ifdef VK_KHR_swapchain
2493 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
2494 return sizeof(VkImageSwapchainCreateInfoKHR);
2495 }
2496 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
2497 return sizeof(VkBindImageMemorySwapchainInfoKHR);
2498 }
2499 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
2500 return sizeof(VkDeviceGroupPresentInfoKHR);
2501 }
2502 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
2503 return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
2504 }
2505 #endif
2506 #ifdef VK_KHR_display_swapchain
2507 case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
2508 return sizeof(VkDisplayPresentInfoKHR);
2509 }
2510 #endif
2511 #ifdef VK_KHR_video_queue
2512 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: {
2513 return sizeof(VkQueueFamilyQueryResultStatusPropertiesKHR);
2514 }
2515 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: {
2516 return sizeof(VkQueueFamilyVideoPropertiesKHR);
2517 }
2518 case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: {
2519 return sizeof(VkVideoProfileInfoKHR);
2520 }
2521 case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: {
2522 return sizeof(VkVideoProfileListInfoKHR);
2523 }
2524 #endif
2525 #ifdef VK_KHR_video_decode_queue
2526 case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: {
2527 return sizeof(VkVideoDecodeCapabilitiesKHR);
2528 }
2529 case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: {
2530 return sizeof(VkVideoDecodeUsageInfoKHR);
2531 }
2532 #endif
2533 #ifdef VK_KHR_video_decode_h264
2534 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: {
2535 return sizeof(VkVideoDecodeH264ProfileInfoKHR);
2536 }
2537 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: {
2538 return sizeof(VkVideoDecodeH264CapabilitiesKHR);
2539 }
2540 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: {
2541 return sizeof(VkVideoDecodeH264SessionParametersAddInfoKHR);
2542 }
2543 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: {
2544 return sizeof(VkVideoDecodeH264SessionParametersCreateInfoKHR);
2545 }
2546 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: {
2547 return sizeof(VkVideoDecodeH264PictureInfoKHR);
2548 }
2549 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: {
2550 return sizeof(VkVideoDecodeH264DpbSlotInfoKHR);
2551 }
2552 #endif
2553 #ifdef VK_KHR_dynamic_rendering
2554 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
2555 return sizeof(VkRenderingFragmentShadingRateAttachmentInfoKHR);
2556 }
2557 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
2558 return sizeof(VkRenderingFragmentDensityMapAttachmentInfoEXT);
2559 }
2560 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
2561 return sizeof(VkAttachmentSampleCountInfoAMD);
2562 }
2563 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
2564 return sizeof(VkMultiviewPerViewAttributesInfoNVX);
2565 }
2566 #endif
2567 #ifdef VK_KHR_win32_keyed_mutex
2568 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
2569 return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
2570 }
2571 #endif
2572 #ifdef VK_KHR_push_descriptor
2573 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
2574 return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
2575 }
2576 #endif
2577 #ifdef VK_KHR_incremental_present
2578 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
2579 return sizeof(VkPresentRegionsKHR);
2580 }
2581 #endif
2582 #ifdef VK_KHR_shared_presentable_image
2583 case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
2584 return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
2585 }
2586 #endif
2587 #ifdef VK_KHR_external_fence_win32
2588 case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
2589 return sizeof(VkExportFenceWin32HandleInfoKHR);
2590 }
2591 #endif
2592 #ifdef VK_KHR_performance_query
2593 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
2594 return sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR);
2595 }
2596 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
2597 return sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR);
2598 }
2599 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
2600 return sizeof(VkQueryPoolPerformanceCreateInfoKHR);
2601 }
2602 case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
2603 return sizeof(VkPerformanceQuerySubmitInfoKHR);
2604 }
2605 #endif
2606 #ifdef VK_KHR_portability_subset
2607 #ifdef VK_ENABLE_BETA_EXTENSIONS
2608 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
2609 return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR);
2610 }
2611 #endif // VK_ENABLE_BETA_EXTENSIONS
2612 #ifdef VK_ENABLE_BETA_EXTENSIONS
2613 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
2614 return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR);
2615 }
2616 #endif // VK_ENABLE_BETA_EXTENSIONS
2617 #endif
2618 #ifdef VK_KHR_shader_clock
2619 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
2620 return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR);
2621 }
2622 #endif
2623 #ifdef VK_KHR_video_decode_h265
2624 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: {
2625 return sizeof(VkVideoDecodeH265ProfileInfoKHR);
2626 }
2627 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: {
2628 return sizeof(VkVideoDecodeH265CapabilitiesKHR);
2629 }
2630 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: {
2631 return sizeof(VkVideoDecodeH265SessionParametersAddInfoKHR);
2632 }
2633 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: {
2634 return sizeof(VkVideoDecodeH265SessionParametersCreateInfoKHR);
2635 }
2636 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: {
2637 return sizeof(VkVideoDecodeH265PictureInfoKHR);
2638 }
2639 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: {
2640 return sizeof(VkVideoDecodeH265DpbSlotInfoKHR);
2641 }
2642 #endif
2643 #ifdef VK_KHR_global_priority
2644 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: {
2645 return sizeof(VkDeviceQueueGlobalPriorityCreateInfoKHR);
2646 }
2647 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: {
2648 return sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR);
2649 }
2650 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: {
2651 return sizeof(VkQueueFamilyGlobalPriorityPropertiesKHR);
2652 }
2653 #endif
2654 #ifdef VK_KHR_fragment_shading_rate
2655 case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
2656 return sizeof(VkFragmentShadingRateAttachmentInfoKHR);
2657 }
2658 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
2659 return sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR);
2660 }
2661 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
2662 return sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR);
2663 }
2664 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
2665 return sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR);
2666 }
2667 #endif
2668 #ifdef VK_KHR_surface_protected_capabilities
2669 case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
2670 return sizeof(VkSurfaceProtectedCapabilitiesKHR);
2671 }
2672 #endif
2673 #ifdef VK_KHR_present_wait
2674 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
2675 return sizeof(VkPhysicalDevicePresentWaitFeaturesKHR);
2676 }
2677 #endif
2678 #ifdef VK_KHR_pipeline_executable_properties
2679 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
2680 return sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR);
2681 }
2682 #endif
2683 #ifdef VK_KHR_pipeline_library
2684 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: {
2685 return sizeof(VkPipelineLibraryCreateInfoKHR);
2686 }
2687 #endif
2688 #ifdef VK_KHR_present_id
2689 case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
2690 return sizeof(VkPresentIdKHR);
2691 }
2692 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
2693 return sizeof(VkPhysicalDevicePresentIdFeaturesKHR);
2694 }
2695 #endif
2696 #ifdef VK_KHR_video_encode_queue
2697 #ifdef VK_ENABLE_BETA_EXTENSIONS
2698 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: {
2699 return sizeof(VkVideoEncodeCapabilitiesKHR);
2700 }
2701 #endif // VK_ENABLE_BETA_EXTENSIONS
2702 #ifdef VK_ENABLE_BETA_EXTENSIONS
2703 case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: {
2704 return sizeof(VkQueryPoolVideoEncodeFeedbackCreateInfoKHR);
2705 }
2706 #endif // VK_ENABLE_BETA_EXTENSIONS
2707 #ifdef VK_ENABLE_BETA_EXTENSIONS
2708 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: {
2709 return sizeof(VkVideoEncodeUsageInfoKHR);
2710 }
2711 #endif // VK_ENABLE_BETA_EXTENSIONS
2712 #ifdef VK_ENABLE_BETA_EXTENSIONS
2713 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
2714 return sizeof(VkVideoEncodeRateControlInfoKHR);
2715 }
2716 #endif // VK_ENABLE_BETA_EXTENSIONS
2717 #ifdef VK_ENABLE_BETA_EXTENSIONS
2718 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: {
2719 return sizeof(VkVideoEncodeQualityLevelInfoKHR);
2720 }
2721 #endif // VK_ENABLE_BETA_EXTENSIONS
2722 #endif
2723 #ifdef VK_KHR_synchronization2
2724 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
2725 return sizeof(VkQueueFamilyCheckpointProperties2NV);
2726 }
2727 #endif
2728 #ifdef VK_KHR_fragment_shader_barycentric
2729 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: {
2730 return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR);
2731 }
2732 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: {
2733 return sizeof(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR);
2734 }
2735 #endif
2736 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
2737 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
2738 return sizeof(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR);
2739 }
2740 #endif
2741 #ifdef VK_KHR_workgroup_memory_explicit_layout
2742 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
2743 return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR);
2744 }
2745 #endif
2746 #ifdef VK_KHR_ray_tracing_maintenance1
2747 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: {
2748 return sizeof(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR);
2749 }
2750 #endif
2751 #ifdef VK_KHR_maintenance5
2752 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR: {
2753 return sizeof(VkPhysicalDeviceMaintenance5FeaturesKHR);
2754 }
2755 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR: {
2756 return sizeof(VkPhysicalDeviceMaintenance5PropertiesKHR);
2757 }
2758 case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR: {
2759 return sizeof(VkPipelineCreateFlags2CreateInfoKHR);
2760 }
2761 case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR: {
2762 return sizeof(VkBufferUsageFlags2CreateInfoKHR);
2763 }
2764 #endif
2765 #ifdef VK_KHR_ray_tracing_position_fetch
2766 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: {
2767 return sizeof(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR);
2768 }
2769 #endif
2770 #ifdef VK_KHR_cooperative_matrix
2771 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: {
2772 return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesKHR);
2773 }
2774 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR: {
2775 return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesKHR);
2776 }
2777 #endif
2778 #ifdef VK_KHR_line_rasterization
2779 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR: {
2780 return sizeof(VkPhysicalDeviceLineRasterizationFeaturesKHR);
2781 }
2782 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR: {
2783 return sizeof(VkPhysicalDeviceLineRasterizationPropertiesKHR);
2784 }
2785 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR: {
2786 return sizeof(VkPipelineRasterizationLineStateCreateInfoKHR);
2787 }
2788 #endif
2789 #ifdef VK_ANDROID_native_buffer
2790 case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
2791 return sizeof(VkNativeBufferANDROID);
2792 }
2793 #endif
2794 #ifdef VK_EXT_debug_report
2795 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
2796 return sizeof(VkDebugReportCallbackCreateInfoEXT);
2797 }
2798 #endif
2799 #ifdef VK_AMD_rasterization_order
2800 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
2801 return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
2802 }
2803 #endif
2804 #ifdef VK_NV_dedicated_allocation
2805 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
2806 return sizeof(VkDedicatedAllocationImageCreateInfoNV);
2807 }
2808 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
2809 return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
2810 }
2811 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
2812 return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
2813 }
2814 #endif
2815 #ifdef VK_EXT_transform_feedback
2816 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
2817 return sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
2818 }
2819 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
2820 return sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
2821 }
2822 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
2823 return sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT);
2824 }
2825 #endif
2826 #ifdef VK_EXT_video_encode_h264
2827 #ifdef VK_ENABLE_BETA_EXTENSIONS
2828 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
2829 return sizeof(VkVideoEncodeH264CapabilitiesEXT);
2830 }
2831 #endif // VK_ENABLE_BETA_EXTENSIONS
2832 #ifdef VK_ENABLE_BETA_EXTENSIONS
2833 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT: {
2834 return sizeof(VkVideoEncodeH264QualityLevelPropertiesEXT);
2835 }
2836 #endif // VK_ENABLE_BETA_EXTENSIONS
2837 #ifdef VK_ENABLE_BETA_EXTENSIONS
2838 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: {
2839 return sizeof(VkVideoEncodeH264SessionCreateInfoEXT);
2840 }
2841 #endif // VK_ENABLE_BETA_EXTENSIONS
2842 #ifdef VK_ENABLE_BETA_EXTENSIONS
2843 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
2844 return sizeof(VkVideoEncodeH264SessionParametersAddInfoEXT);
2845 }
2846 #endif // VK_ENABLE_BETA_EXTENSIONS
2847 #ifdef VK_ENABLE_BETA_EXTENSIONS
2848 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
2849 return sizeof(VkVideoEncodeH264SessionParametersCreateInfoEXT);
2850 }
2851 #endif // VK_ENABLE_BETA_EXTENSIONS
2852 #ifdef VK_ENABLE_BETA_EXTENSIONS
2853 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT: {
2854 return sizeof(VkVideoEncodeH264SessionParametersGetInfoEXT);
2855 }
2856 #endif // VK_ENABLE_BETA_EXTENSIONS
2857 #ifdef VK_ENABLE_BETA_EXTENSIONS
2858 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT: {
2859 return sizeof(VkVideoEncodeH264SessionParametersFeedbackInfoEXT);
2860 }
2861 #endif // VK_ENABLE_BETA_EXTENSIONS
2862 #ifdef VK_ENABLE_BETA_EXTENSIONS
2863 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT: {
2864 return sizeof(VkVideoEncodeH264PictureInfoEXT);
2865 }
2866 #endif // VK_ENABLE_BETA_EXTENSIONS
2867 #ifdef VK_ENABLE_BETA_EXTENSIONS
2868 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: {
2869 return sizeof(VkVideoEncodeH264DpbSlotInfoEXT);
2870 }
2871 #endif // VK_ENABLE_BETA_EXTENSIONS
2872 #ifdef VK_ENABLE_BETA_EXTENSIONS
2873 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: {
2874 return sizeof(VkVideoEncodeH264ProfileInfoEXT);
2875 }
2876 #endif // VK_ENABLE_BETA_EXTENSIONS
2877 #ifdef VK_ENABLE_BETA_EXTENSIONS
2878 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: {
2879 return sizeof(VkVideoEncodeH264RateControlInfoEXT);
2880 }
2881 #endif // VK_ENABLE_BETA_EXTENSIONS
2882 #ifdef VK_ENABLE_BETA_EXTENSIONS
2883 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: {
2884 return sizeof(VkVideoEncodeH264RateControlLayerInfoEXT);
2885 }
2886 #endif // VK_ENABLE_BETA_EXTENSIONS
2887 #ifdef VK_ENABLE_BETA_EXTENSIONS
2888 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT: {
2889 return sizeof(VkVideoEncodeH264GopRemainingFrameInfoEXT);
2890 }
2891 #endif // VK_ENABLE_BETA_EXTENSIONS
2892 #endif
2893 #ifdef VK_EXT_video_encode_h265
2894 #ifdef VK_ENABLE_BETA_EXTENSIONS
2895 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
2896 return sizeof(VkVideoEncodeH265CapabilitiesEXT);
2897 }
2898 #endif // VK_ENABLE_BETA_EXTENSIONS
2899 #ifdef VK_ENABLE_BETA_EXTENSIONS
2900 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: {
2901 return sizeof(VkVideoEncodeH265SessionCreateInfoEXT);
2902 }
2903 #endif // VK_ENABLE_BETA_EXTENSIONS
2904 #ifdef VK_ENABLE_BETA_EXTENSIONS
2905 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT: {
2906 return sizeof(VkVideoEncodeH265QualityLevelPropertiesEXT);
2907 }
2908 #endif // VK_ENABLE_BETA_EXTENSIONS
2909 #ifdef VK_ENABLE_BETA_EXTENSIONS
2910 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
2911 return sizeof(VkVideoEncodeH265SessionParametersAddInfoEXT);
2912 }
2913 #endif // VK_ENABLE_BETA_EXTENSIONS
2914 #ifdef VK_ENABLE_BETA_EXTENSIONS
2915 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
2916 return sizeof(VkVideoEncodeH265SessionParametersCreateInfoEXT);
2917 }
2918 #endif // VK_ENABLE_BETA_EXTENSIONS
2919 #ifdef VK_ENABLE_BETA_EXTENSIONS
2920 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT: {
2921 return sizeof(VkVideoEncodeH265SessionParametersGetInfoEXT);
2922 }
2923 #endif // VK_ENABLE_BETA_EXTENSIONS
2924 #ifdef VK_ENABLE_BETA_EXTENSIONS
2925 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT: {
2926 return sizeof(VkVideoEncodeH265SessionParametersFeedbackInfoEXT);
2927 }
2928 #endif // VK_ENABLE_BETA_EXTENSIONS
2929 #ifdef VK_ENABLE_BETA_EXTENSIONS
2930 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT: {
2931 return sizeof(VkVideoEncodeH265PictureInfoEXT);
2932 }
2933 #endif // VK_ENABLE_BETA_EXTENSIONS
2934 #ifdef VK_ENABLE_BETA_EXTENSIONS
2935 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: {
2936 return sizeof(VkVideoEncodeH265DpbSlotInfoEXT);
2937 }
2938 #endif // VK_ENABLE_BETA_EXTENSIONS
2939 #ifdef VK_ENABLE_BETA_EXTENSIONS
2940 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: {
2941 return sizeof(VkVideoEncodeH265ProfileInfoEXT);
2942 }
2943 #endif // VK_ENABLE_BETA_EXTENSIONS
2944 #ifdef VK_ENABLE_BETA_EXTENSIONS
2945 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: {
2946 return sizeof(VkVideoEncodeH265RateControlInfoEXT);
2947 }
2948 #endif // VK_ENABLE_BETA_EXTENSIONS
2949 #ifdef VK_ENABLE_BETA_EXTENSIONS
2950 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: {
2951 return sizeof(VkVideoEncodeH265RateControlLayerInfoEXT);
2952 }
2953 #endif // VK_ENABLE_BETA_EXTENSIONS
2954 #ifdef VK_ENABLE_BETA_EXTENSIONS
2955 case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT: {
2956 return sizeof(VkVideoEncodeH265GopRemainingFrameInfoEXT);
2957 }
2958 #endif // VK_ENABLE_BETA_EXTENSIONS
2959 #endif
2960 #ifdef VK_AMD_texture_gather_bias_lod
2961 case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
2962 return sizeof(VkTextureLODGatherFormatPropertiesAMD);
2963 }
2964 #endif
2965 #ifdef VK_NV_corner_sampled_image
2966 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
2967 return sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV);
2968 }
2969 #endif
2970 #ifdef VK_NV_external_memory
2971 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
2972 return sizeof(VkExternalMemoryImageCreateInfoNV);
2973 }
2974 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
2975 return sizeof(VkExportMemoryAllocateInfoNV);
2976 }
2977 #endif
2978 #ifdef VK_NV_external_memory_win32
2979 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
2980 return sizeof(VkImportMemoryWin32HandleInfoNV);
2981 }
2982 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
2983 return sizeof(VkExportMemoryWin32HandleInfoNV);
2984 }
2985 #endif
2986 #ifdef VK_NV_win32_keyed_mutex
2987 case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
2988 return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
2989 }
2990 #endif
2991 #ifdef VK_EXT_validation_flags
2992 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
2993 return sizeof(VkValidationFlagsEXT);
2994 }
2995 #endif
2996 #ifdef VK_EXT_astc_decode_mode
2997 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
2998 return sizeof(VkImageViewASTCDecodeModeEXT);
2999 }
3000 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
3001 return sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT);
3002 }
3003 #endif
3004 #ifdef VK_EXT_pipeline_robustness
3005 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: {
3006 return sizeof(VkPhysicalDevicePipelineRobustnessFeaturesEXT);
3007 }
3008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: {
3009 return sizeof(VkPhysicalDevicePipelineRobustnessPropertiesEXT);
3010 }
3011 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: {
3012 return sizeof(VkPipelineRobustnessCreateInfoEXT);
3013 }
3014 #endif
3015 #ifdef VK_EXT_conditional_rendering
3016 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
3017 return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
3018 }
3019 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
3020 return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
3021 }
3022 #endif
3023 #ifdef VK_NV_clip_space_w_scaling
3024 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
3025 return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
3026 }
3027 #endif
3028 #ifdef VK_EXT_display_control
3029 case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
3030 return sizeof(VkSwapchainCounterCreateInfoEXT);
3031 }
3032 #endif
3033 #ifdef VK_GOOGLE_display_timing
3034 case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
3035 return sizeof(VkPresentTimesInfoGOOGLE);
3036 }
3037 #endif
3038 #ifdef VK_NVX_multiview_per_view_attributes
3039 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
3040 return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
3041 }
3042 #endif
3043 #ifdef VK_NV_viewport_swizzle
3044 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
3045 return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
3046 }
3047 #endif
3048 #ifdef VK_EXT_discard_rectangles
3049 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
3050 return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
3051 }
3052 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
3053 return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
3054 }
3055 #endif
3056 #ifdef VK_EXT_conservative_rasterization
3057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
3058 return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
3059 }
3060 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
3061 return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
3062 }
3063 #endif
3064 #ifdef VK_EXT_depth_clip_enable
3065 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
3066 return sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
3067 }
3068 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
3069 return sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT);
3070 }
3071 #endif
3072 #ifdef VK_EXT_debug_utils
3073 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: {
3074 return sizeof(VkDebugUtilsObjectNameInfoEXT);
3075 }
3076 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
3077 return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
3078 }
3079 #endif
3080 #ifdef VK_AMDX_shader_enqueue
3081 #ifdef VK_ENABLE_BETA_EXTENSIONS
3082 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: {
3083 return sizeof(VkPhysicalDeviceShaderEnqueueFeaturesAMDX);
3084 }
3085 #endif // VK_ENABLE_BETA_EXTENSIONS
3086 #ifdef VK_ENABLE_BETA_EXTENSIONS
3087 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX: {
3088 return sizeof(VkPhysicalDeviceShaderEnqueuePropertiesAMDX);
3089 }
3090 #endif // VK_ENABLE_BETA_EXTENSIONS
3091 #ifdef VK_ENABLE_BETA_EXTENSIONS
3092 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX: {
3093 return sizeof(VkPipelineShaderStageNodeCreateInfoAMDX);
3094 }
3095 #endif // VK_ENABLE_BETA_EXTENSIONS
3096 #endif
3097 #ifdef VK_EXT_sample_locations
3098 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
3099 return sizeof(VkSampleLocationsInfoEXT);
3100 }
3101 case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
3102 return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
3103 }
3104 case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
3105 return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
3106 }
3107 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
3108 return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
3109 }
3110 #endif
3111 #ifdef VK_EXT_blend_operation_advanced
3112 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
3113 return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
3114 }
3115 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
3116 return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
3117 }
3118 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
3119 return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
3120 }
3121 #endif
3122 #ifdef VK_NV_fragment_coverage_to_color
3123 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
3124 return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
3125 }
3126 #endif
3127 #ifdef VK_NV_framebuffer_mixed_samples
3128 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
3129 return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
3130 }
3131 #endif
3132 #ifdef VK_NV_shader_sm_builtins
3133 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
3134 return sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV);
3135 }
3136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
3137 return sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV);
3138 }
3139 #endif
3140 #ifdef VK_EXT_image_drm_format_modifier
3141 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
3142 return sizeof(VkDrmFormatModifierPropertiesListEXT);
3143 }
3144 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
3145 return sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT);
3146 }
3147 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
3148 return sizeof(VkImageDrmFormatModifierListCreateInfoEXT);
3149 }
3150 case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
3151 return sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT);
3152 }
3153 case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
3154 return sizeof(VkDrmFormatModifierPropertiesList2EXT);
3155 }
3156 #endif
3157 #ifdef VK_EXT_validation_cache
3158 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
3159 return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
3160 }
3161 #endif
3162 #ifdef VK_NV_shading_rate_image
3163 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
3164 return sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV);
3165 }
3166 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
3167 return sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV);
3168 }
3169 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
3170 return sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV);
3171 }
3172 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
3173 return sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV);
3174 }
3175 #endif
3176 #ifdef VK_NV_ray_tracing
3177 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
3178 return sizeof(VkWriteDescriptorSetAccelerationStructureNV);
3179 }
3180 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
3181 return sizeof(VkPhysicalDeviceRayTracingPropertiesNV);
3182 }
3183 #endif
3184 #ifdef VK_NV_representative_fragment_test
3185 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
3186 return sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV);
3187 }
3188 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
3189 return sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV);
3190 }
3191 #endif
3192 #ifdef VK_EXT_filter_cubic
3193 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
3194 return sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT);
3195 }
3196 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
3197 return sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT);
3198 }
3199 #endif
3200 #ifdef VK_EXT_external_memory_host
3201 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
3202 return sizeof(VkImportMemoryHostPointerInfoEXT);
3203 }
3204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
3205 return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
3206 }
3207 #endif
3208 #ifdef VK_AMD_pipeline_compiler_control
3209 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
3210 return sizeof(VkPipelineCompilerControlCreateInfoAMD);
3211 }
3212 #endif
3213 #ifdef VK_AMD_shader_core_properties
3214 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
3215 return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
3216 }
3217 #endif
3218 #ifdef VK_AMD_memory_overallocation_behavior
3219 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
3220 return sizeof(VkDeviceMemoryOverallocationCreateInfoAMD);
3221 }
3222 #endif
3223 #ifdef VK_EXT_vertex_attribute_divisor
3224 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
3225 return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
3226 }
3227 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
3228 return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
3229 }
3230 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
3231 return sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
3232 }
3233 #endif
3234 #ifdef VK_GGP_frame_token
3235 case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
3236 return sizeof(VkPresentFrameTokenGGP);
3237 }
3238 #endif
3239 #ifdef VK_NV_compute_shader_derivatives
3240 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
3241 return sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV);
3242 }
3243 #endif
3244 #ifdef VK_NV_mesh_shader
3245 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
3246 return sizeof(VkPhysicalDeviceMeshShaderFeaturesNV);
3247 }
3248 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
3249 return sizeof(VkPhysicalDeviceMeshShaderPropertiesNV);
3250 }
3251 #endif
3252 #ifdef VK_NV_shader_image_footprint
3253 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
3254 return sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV);
3255 }
3256 #endif
3257 #ifdef VK_NV_scissor_exclusive
3258 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
3259 return sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV);
3260 }
3261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
3262 return sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV);
3263 }
3264 #endif
3265 #ifdef VK_INTEL_shader_integer_functions2
3266 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
3267 return sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL);
3268 }
3269 #endif
3270 #ifdef VK_INTEL_performance_query
3271 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
3272 return sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL);
3273 }
3274 #endif
3275 #ifdef VK_EXT_pci_bus_info
3276 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
3277 return sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT);
3278 }
3279 #endif
3280 #ifdef VK_AMD_display_native_hdr
3281 case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
3282 return sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD);
3283 }
3284 case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
3285 return sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD);
3286 }
3287 #endif
3288 #ifdef VK_EXT_fragment_density_map
3289 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
3290 switch (rootType) {
3291 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
3292 return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
3293 break;
3294 }
3295 case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
3296 return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
3297 break;
3298 }
3299 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
3300 return sizeof(VkImportColorBufferGOOGLE);
3301 break;
3302 }
3303 default: {
3304 return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
3305 break;
3306 }
3307 }
3308 }
3309 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
3310 switch (rootType) {
3311 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
3312 return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
3313 break;
3314 }
3315 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
3316 return sizeof(VkCreateBlobGOOGLE);
3317 break;
3318 }
3319 default: {
3320 return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
3321 break;
3322 }
3323 }
3324 }
3325 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
3326 switch (rootType) {
3327 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
3328 return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
3329 break;
3330 }
3331 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
3332 return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
3333 break;
3334 }
3335 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
3336 return sizeof(VkImportBufferGOOGLE);
3337 break;
3338 }
3339 default: {
3340 return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
3341 break;
3342 }
3343 }
3344 }
3345 #endif
3346 #ifdef VK_AMD_shader_core_properties2
3347 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
3348 return sizeof(VkPhysicalDeviceShaderCoreProperties2AMD);
3349 }
3350 #endif
3351 #ifdef VK_AMD_device_coherent_memory
3352 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
3353 return sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD);
3354 }
3355 #endif
3356 #ifdef VK_EXT_shader_image_atomic_int64
3357 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
3358 return sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT);
3359 }
3360 #endif
3361 #ifdef VK_EXT_memory_budget
3362 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
3363 return sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT);
3364 }
3365 #endif
3366 #ifdef VK_EXT_memory_priority
3367 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
3368 return sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT);
3369 }
3370 case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
3371 return sizeof(VkMemoryPriorityAllocateInfoEXT);
3372 }
3373 #endif
3374 #ifdef VK_NV_dedicated_allocation_image_aliasing
3375 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
3376 return sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV);
3377 }
3378 #endif
3379 #ifdef VK_EXT_buffer_device_address
3380 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
3381 return sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT);
3382 }
3383 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
3384 return sizeof(VkBufferDeviceAddressCreateInfoEXT);
3385 }
3386 #endif
3387 #ifdef VK_EXT_validation_features
3388 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
3389 return sizeof(VkValidationFeaturesEXT);
3390 }
3391 #endif
3392 #ifdef VK_NV_cooperative_matrix
3393 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
3394 return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV);
3395 }
3396 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
3397 return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV);
3398 }
3399 #endif
3400 #ifdef VK_NV_coverage_reduction_mode
3401 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
3402 return sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV);
3403 }
3404 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
3405 return sizeof(VkPipelineCoverageReductionStateCreateInfoNV);
3406 }
3407 #endif
3408 #ifdef VK_EXT_fragment_shader_interlock
3409 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
3410 return sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
3411 }
3412 #endif
3413 #ifdef VK_EXT_ycbcr_image_arrays
3414 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
3415 return sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT);
3416 }
3417 #endif
3418 #ifdef VK_EXT_provoking_vertex
3419 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
3420 return sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT);
3421 }
3422 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
3423 return sizeof(VkPhysicalDeviceProvokingVertexPropertiesEXT);
3424 }
3425 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
3426 return sizeof(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT);
3427 }
3428 #endif
3429 #ifdef VK_EXT_full_screen_exclusive
3430 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
3431 return sizeof(VkSurfaceFullScreenExclusiveInfoEXT);
3432 }
3433 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
3434 return sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT);
3435 }
3436 case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
3437 return sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT);
3438 }
3439 #endif
3440 #ifdef VK_EXT_shader_atomic_float
3441 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
3442 return sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT);
3443 }
3444 #endif
3445 #ifdef VK_EXT_index_type_uint8
3446 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
3447 return sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT);
3448 }
3449 #endif
3450 #ifdef VK_EXT_extended_dynamic_state
3451 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
3452 return sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT);
3453 }
3454 #endif
3455 #ifdef VK_EXT_host_image_copy
3456 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT: {
3457 return sizeof(VkPhysicalDeviceHostImageCopyFeaturesEXT);
3458 }
3459 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT: {
3460 return sizeof(VkPhysicalDeviceHostImageCopyPropertiesEXT);
3461 }
3462 case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT: {
3463 return sizeof(VkSubresourceHostMemcpySizeEXT);
3464 }
3465 case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT: {
3466 return sizeof(VkHostImageCopyDevicePerformanceQueryEXT);
3467 }
3468 #endif
3469 #ifdef VK_EXT_shader_atomic_float2
3470 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
3471 return sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT);
3472 }
3473 #endif
3474 #ifdef VK_EXT_surface_maintenance1
3475 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: {
3476 return sizeof(VkSurfacePresentModeEXT);
3477 }
3478 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: {
3479 return sizeof(VkSurfacePresentScalingCapabilitiesEXT);
3480 }
3481 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: {
3482 return sizeof(VkSurfacePresentModeCompatibilityEXT);
3483 }
3484 #endif
3485 #ifdef VK_EXT_swapchain_maintenance1
3486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: {
3487 return sizeof(VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT);
3488 }
3489 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: {
3490 return sizeof(VkSwapchainPresentFenceInfoEXT);
3491 }
3492 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: {
3493 return sizeof(VkSwapchainPresentModesCreateInfoEXT);
3494 }
3495 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: {
3496 return sizeof(VkSwapchainPresentModeInfoEXT);
3497 }
3498 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: {
3499 return sizeof(VkSwapchainPresentScalingCreateInfoEXT);
3500 }
3501 #endif
3502 #ifdef VK_NV_device_generated_commands
3503 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
3504 return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV);
3505 }
3506 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
3507 return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV);
3508 }
3509 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
3510 return sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV);
3511 }
3512 #endif
3513 #ifdef VK_NV_inherited_viewport_scissor
3514 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
3515 return sizeof(VkPhysicalDeviceInheritedViewportScissorFeaturesNV);
3516 }
3517 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
3518 return sizeof(VkCommandBufferInheritanceViewportScissorInfoNV);
3519 }
3520 #endif
3521 #ifdef VK_EXT_texel_buffer_alignment
3522 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
3523 return sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT);
3524 }
3525 #endif
3526 #ifdef VK_QCOM_render_pass_transform
3527 case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
3528 return sizeof(VkRenderPassTransformBeginInfoQCOM);
3529 }
3530 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
3531 return sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM);
3532 }
3533 #endif
3534 #ifdef VK_EXT_depth_bias_control
3535 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT: {
3536 return sizeof(VkPhysicalDeviceDepthBiasControlFeaturesEXT);
3537 }
3538 case VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT: {
3539 return sizeof(VkDepthBiasRepresentationInfoEXT);
3540 }
3541 #endif
3542 #ifdef VK_EXT_device_memory_report
3543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
3544 return sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT);
3545 }
3546 case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
3547 return sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT);
3548 }
3549 #endif
3550 #ifdef VK_EXT_robustness2
3551 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
3552 return sizeof(VkPhysicalDeviceRobustness2FeaturesEXT);
3553 }
3554 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
3555 return sizeof(VkPhysicalDeviceRobustness2PropertiesEXT);
3556 }
3557 #endif
3558 #ifdef VK_EXT_custom_border_color
3559 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
3560 return sizeof(VkSamplerCustomBorderColorCreateInfoEXT);
3561 }
3562 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
3563 return sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
3564 }
3565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
3566 return sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
3567 }
3568 #endif
3569 #ifdef VK_NV_present_barrier
3570 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: {
3571 return sizeof(VkPhysicalDevicePresentBarrierFeaturesNV);
3572 }
3573 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: {
3574 return sizeof(VkSurfaceCapabilitiesPresentBarrierNV);
3575 }
3576 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: {
3577 return sizeof(VkSwapchainPresentBarrierCreateInfoNV);
3578 }
3579 #endif
3580 #ifdef VK_NV_device_diagnostics_config
3581 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
3582 return sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV);
3583 }
3584 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
3585 return sizeof(VkDeviceDiagnosticsConfigCreateInfoNV);
3586 }
3587 #endif
3588 #ifdef VK_NV_cuda_kernel_launch
3589 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: {
3590 return sizeof(VkPhysicalDeviceCudaKernelLaunchFeaturesNV);
3591 }
3592 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: {
3593 return sizeof(VkPhysicalDeviceCudaKernelLaunchPropertiesNV);
3594 }
3595 #endif
3596 #ifdef VK_NV_low_latency
3597 case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: {
3598 return sizeof(VkQueryLowLatencySupportNV);
3599 }
3600 #endif
3601 #ifdef VK_EXT_descriptor_buffer
3602 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: {
3603 return sizeof(VkPhysicalDeviceDescriptorBufferPropertiesEXT);
3604 }
3605 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: {
3606 return sizeof(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT);
3607 }
3608 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: {
3609 return sizeof(VkPhysicalDeviceDescriptorBufferFeaturesEXT);
3610 }
3611 case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: {
3612 return sizeof(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT);
3613 }
3614 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: {
3615 return sizeof(VkOpaqueCaptureDescriptorDataCreateInfoEXT);
3616 }
3617 #endif
3618 #ifdef VK_EXT_graphics_pipeline_library
3619 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: {
3620 return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT);
3621 }
3622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: {
3623 return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT);
3624 }
3625 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: {
3626 return sizeof(VkGraphicsPipelineLibraryCreateInfoEXT);
3627 }
3628 #endif
3629 #ifdef VK_AMD_shader_early_and_late_fragment_tests
3630 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: {
3631 return sizeof(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD);
3632 }
3633 #endif
3634 #ifdef VK_NV_fragment_shading_rate_enums
3635 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
3636 return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV);
3637 }
3638 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
3639 return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV);
3640 }
3641 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: {
3642 return sizeof(VkPipelineFragmentShadingRateEnumStateCreateInfoNV);
3643 }
3644 #endif
3645 #ifdef VK_NV_ray_tracing_motion_blur
3646 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: {
3647 return sizeof(VkAccelerationStructureGeometryMotionTrianglesDataNV);
3648 }
3649 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: {
3650 return sizeof(VkAccelerationStructureMotionInfoNV);
3651 }
3652 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: {
3653 return sizeof(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV);
3654 }
3655 #endif
3656 #ifdef VK_EXT_ycbcr_2plane_444_formats
3657 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
3658 return sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT);
3659 }
3660 #endif
3661 #ifdef VK_EXT_fragment_density_map2
3662 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: {
3663 return sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT);
3664 }
3665 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: {
3666 return sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT);
3667 }
3668 #endif
3669 #ifdef VK_QCOM_rotated_copy_commands
3670 case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: {
3671 return sizeof(VkCopyCommandTransformInfoQCOM);
3672 }
3673 #endif
3674 #ifdef VK_EXT_image_compression_control
3675 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: {
3676 return sizeof(VkPhysicalDeviceImageCompressionControlFeaturesEXT);
3677 }
3678 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: {
3679 return sizeof(VkImageCompressionControlEXT);
3680 }
3681 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: {
3682 return sizeof(VkImageCompressionPropertiesEXT);
3683 }
3684 #endif
3685 #ifdef VK_EXT_attachment_feedback_loop_layout
3686 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: {
3687 return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT);
3688 }
3689 #endif
3690 #ifdef VK_EXT_4444_formats
3691 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
3692 return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT);
3693 }
3694 #endif
3695 #ifdef VK_EXT_device_fault
3696 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: {
3697 return sizeof(VkPhysicalDeviceFaultFeaturesEXT);
3698 }
3699 #endif
3700 #ifdef VK_ARM_rasterization_order_attachment_access
3701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: {
3702 return sizeof(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT);
3703 }
3704 #endif
3705 #ifdef VK_EXT_rgba10x6_formats
3706 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: {
3707 return sizeof(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT);
3708 }
3709 #endif
3710 #ifdef VK_VALVE_mutable_descriptor_type
3711 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: {
3712 return sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT);
3713 }
3714 case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: {
3715 return sizeof(VkMutableDescriptorTypeCreateInfoEXT);
3716 }
3717 #endif
3718 #ifdef VK_EXT_vertex_input_dynamic_state
3719 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
3720 return sizeof(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT);
3721 }
3722 #endif
3723 #ifdef VK_EXT_physical_device_drm
3724 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
3725 return sizeof(VkPhysicalDeviceDrmPropertiesEXT);
3726 }
3727 #endif
3728 #ifdef VK_EXT_device_address_binding_report
3729 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: {
3730 return sizeof(VkPhysicalDeviceAddressBindingReportFeaturesEXT);
3731 }
3732 case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: {
3733 return sizeof(VkDeviceAddressBindingCallbackDataEXT);
3734 }
3735 #endif
3736 #ifdef VK_EXT_depth_clip_control
3737 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: {
3738 return sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT);
3739 }
3740 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: {
3741 return sizeof(VkPipelineViewportDepthClipControlCreateInfoEXT);
3742 }
3743 #endif
3744 #ifdef VK_EXT_primitive_topology_list_restart
3745 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
3746 return sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT);
3747 }
3748 #endif
3749 #ifdef VK_FUCHSIA_external_memory
3750 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: {
3751 return sizeof(VkImportMemoryZirconHandleInfoFUCHSIA);
3752 }
3753 #endif
3754 #ifdef VK_FUCHSIA_buffer_collection
3755 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: {
3756 return sizeof(VkImportMemoryBufferCollectionFUCHSIA);
3757 }
3758 case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: {
3759 return sizeof(VkBufferCollectionImageCreateInfoFUCHSIA);
3760 }
3761 case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: {
3762 return sizeof(VkBufferCollectionBufferCreateInfoFUCHSIA);
3763 }
3764 #endif
3765 #ifdef VK_HUAWEI_subpass_shading
3766 case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: {
3767 return sizeof(VkSubpassShadingPipelineCreateInfoHUAWEI);
3768 }
3769 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: {
3770 return sizeof(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI);
3771 }
3772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: {
3773 return sizeof(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI);
3774 }
3775 #endif
3776 #ifdef VK_HUAWEI_invocation_mask
3777 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: {
3778 return sizeof(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI);
3779 }
3780 #endif
3781 #ifdef VK_NV_external_memory_rdma
3782 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: {
3783 return sizeof(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV);
3784 }
3785 #endif
3786 #ifdef VK_EXT_pipeline_properties
3787 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: {
3788 return sizeof(VkPhysicalDevicePipelinePropertiesFeaturesEXT);
3789 }
3790 #endif
3791 #ifdef VK_EXT_frame_boundary
3792 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT: {
3793 return sizeof(VkPhysicalDeviceFrameBoundaryFeaturesEXT);
3794 }
3795 case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT: {
3796 return sizeof(VkFrameBoundaryEXT);
3797 }
3798 #endif
3799 #ifdef VK_EXT_multisampled_render_to_single_sampled
3800 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: {
3801 return sizeof(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT);
3802 }
3803 case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: {
3804 return sizeof(VkSubpassResolvePerformanceQueryEXT);
3805 }
3806 case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: {
3807 return sizeof(VkMultisampledRenderToSingleSampledInfoEXT);
3808 }
3809 #endif
3810 #ifdef VK_EXT_extended_dynamic_state2
3811 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
3812 return sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT);
3813 }
3814 #endif
3815 #ifdef VK_EXT_color_write_enable
3816 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
3817 return sizeof(VkPhysicalDeviceColorWriteEnableFeaturesEXT);
3818 }
3819 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
3820 return sizeof(VkPipelineColorWriteCreateInfoEXT);
3821 }
3822 #endif
3823 #ifdef VK_EXT_primitives_generated_query
3824 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: {
3825 return sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT);
3826 }
3827 #endif
3828 #ifdef VK_GOOGLE_gfxstream
3829 case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
3830 return sizeof(VkImportColorBufferGOOGLE);
3831 }
3832 case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
3833 return sizeof(VkImportBufferGOOGLE);
3834 }
3835 case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: {
3836 return sizeof(VkCreateBlobGOOGLE);
3837 }
3838 #endif
3839 #ifdef VK_EXT_image_view_min_lod
3840 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: {
3841 return sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT);
3842 }
3843 case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: {
3844 return sizeof(VkImageViewMinLodCreateInfoEXT);
3845 }
3846 #endif
3847 #ifdef VK_EXT_multi_draw
3848 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: {
3849 return sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT);
3850 }
3851 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: {
3852 return sizeof(VkPhysicalDeviceMultiDrawPropertiesEXT);
3853 }
3854 #endif
3855 #ifdef VK_EXT_image_2d_view_of_3d
3856 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: {
3857 return sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT);
3858 }
3859 #endif
3860 #ifdef VK_EXT_shader_tile_image
3861 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: {
3862 return sizeof(VkPhysicalDeviceShaderTileImageFeaturesEXT);
3863 }
3864 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: {
3865 return sizeof(VkPhysicalDeviceShaderTileImagePropertiesEXT);
3866 }
3867 #endif
3868 #ifdef VK_EXT_opacity_micromap
3869 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: {
3870 return sizeof(VkPhysicalDeviceOpacityMicromapFeaturesEXT);
3871 }
3872 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: {
3873 return sizeof(VkPhysicalDeviceOpacityMicromapPropertiesEXT);
3874 }
3875 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: {
3876 return sizeof(VkAccelerationStructureTrianglesOpacityMicromapEXT);
3877 }
3878 #endif
3879 #ifdef VK_NV_displacement_micromap
3880 #ifdef VK_ENABLE_BETA_EXTENSIONS
3881 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: {
3882 return sizeof(VkPhysicalDeviceDisplacementMicromapFeaturesNV);
3883 }
3884 #endif // VK_ENABLE_BETA_EXTENSIONS
3885 #ifdef VK_ENABLE_BETA_EXTENSIONS
3886 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: {
3887 return sizeof(VkPhysicalDeviceDisplacementMicromapPropertiesNV);
3888 }
3889 #endif // VK_ENABLE_BETA_EXTENSIONS
3890 #ifdef VK_ENABLE_BETA_EXTENSIONS
3891 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: {
3892 return sizeof(VkAccelerationStructureTrianglesDisplacementMicromapNV);
3893 }
3894 #endif // VK_ENABLE_BETA_EXTENSIONS
3895 #endif
3896 #ifdef VK_HUAWEI_cluster_culling_shader
3897 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: {
3898 return sizeof(VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI);
3899 }
3900 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: {
3901 return sizeof(VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI);
3902 }
3903 #endif
3904 #ifdef VK_EXT_border_color_swizzle
3905 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
3906 return sizeof(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT);
3907 }
3908 case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: {
3909 return sizeof(VkSamplerBorderColorComponentMappingCreateInfoEXT);
3910 }
3911 #endif
3912 #ifdef VK_EXT_pageable_device_local_memory
3913 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: {
3914 return sizeof(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT);
3915 }
3916 #endif
3917 #ifdef VK_ARM_shader_core_properties
3918 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: {
3919 return sizeof(VkPhysicalDeviceShaderCorePropertiesARM);
3920 }
3921 #endif
3922 #ifdef VK_ARM_scheduling_controls
3923 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM: {
3924 return sizeof(VkDeviceQueueShaderCoreControlCreateInfoARM);
3925 }
3926 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM: {
3927 return sizeof(VkPhysicalDeviceSchedulingControlsFeaturesARM);
3928 }
3929 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: {
3930 return sizeof(VkPhysicalDeviceSchedulingControlsPropertiesARM);
3931 }
3932 #endif
3933 #ifdef VK_EXT_image_sliced_view_of_3d
3934 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: {
3935 return sizeof(VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT);
3936 }
3937 case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: {
3938 return sizeof(VkImageViewSlicedCreateInfoEXT);
3939 }
3940 #endif
3941 #ifdef VK_VALVE_descriptor_set_host_mapping
3942 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: {
3943 return sizeof(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE);
3944 }
3945 #endif
3946 #ifdef VK_EXT_depth_clamp_zero_one
3947 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: {
3948 return sizeof(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT);
3949 }
3950 #endif
3951 #ifdef VK_EXT_non_seamless_cube_map
3952 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: {
3953 return sizeof(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT);
3954 }
3955 #endif
3956 #ifdef VK_QCOM_fragment_density_map_offset
3957 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: {
3958 return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM);
3959 }
3960 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: {
3961 return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM);
3962 }
3963 case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: {
3964 return sizeof(VkSubpassFragmentDensityMapOffsetEndInfoQCOM);
3965 }
3966 #endif
3967 #ifdef VK_NV_copy_memory_indirect
3968 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: {
3969 return sizeof(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV);
3970 }
3971 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: {
3972 return sizeof(VkPhysicalDeviceCopyMemoryIndirectPropertiesNV);
3973 }
3974 #endif
3975 #ifdef VK_NV_memory_decompression
3976 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: {
3977 return sizeof(VkPhysicalDeviceMemoryDecompressionFeaturesNV);
3978 }
3979 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: {
3980 return sizeof(VkPhysicalDeviceMemoryDecompressionPropertiesNV);
3981 }
3982 #endif
3983 #ifdef VK_NV_device_generated_commands_compute
3984 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: {
3985 return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV);
3986 }
3987 #endif
3988 #ifdef VK_NV_linear_color_attachment
3989 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: {
3990 return sizeof(VkPhysicalDeviceLinearColorAttachmentFeaturesNV);
3991 }
3992 #endif
3993 #ifdef VK_EXT_image_compression_control_swapchain
3994 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: {
3995 return sizeof(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT);
3996 }
3997 #endif
3998 #ifdef VK_QCOM_image_processing
3999 case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: {
4000 return sizeof(VkImageViewSampleWeightCreateInfoQCOM);
4001 }
4002 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: {
4003 return sizeof(VkPhysicalDeviceImageProcessingFeaturesQCOM);
4004 }
4005 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: {
4006 return sizeof(VkPhysicalDeviceImageProcessingPropertiesQCOM);
4007 }
4008 #endif
4009 #ifdef VK_EXT_nested_command_buffer
4010 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT: {
4011 return sizeof(VkPhysicalDeviceNestedCommandBufferFeaturesEXT);
4012 }
4013 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: {
4014 return sizeof(VkPhysicalDeviceNestedCommandBufferPropertiesEXT);
4015 }
4016 #endif
4017 #ifdef VK_EXT_external_memory_acquire_unmodified
4018 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: {
4019 return sizeof(VkExternalMemoryAcquireUnmodifiedEXT);
4020 }
4021 #endif
4022 #ifdef VK_EXT_extended_dynamic_state3
4023 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: {
4024 return sizeof(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT);
4025 }
4026 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: {
4027 return sizeof(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT);
4028 }
4029 #endif
4030 #ifdef VK_EXT_subpass_merge_feedback
4031 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: {
4032 return sizeof(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT);
4033 }
4034 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: {
4035 return sizeof(VkRenderPassCreationControlEXT);
4036 }
4037 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: {
4038 return sizeof(VkRenderPassCreationFeedbackCreateInfoEXT);
4039 }
4040 case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: {
4041 return sizeof(VkRenderPassSubpassFeedbackCreateInfoEXT);
4042 }
4043 #endif
4044 #ifdef VK_LUNARG_direct_driver_loading
4045 case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: {
4046 return sizeof(VkDirectDriverLoadingListLUNARG);
4047 }
4048 #endif
4049 #ifdef VK_EXT_shader_module_identifier
4050 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: {
4051 return sizeof(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT);
4052 }
4053 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: {
4054 return sizeof(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT);
4055 }
4056 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: {
4057 return sizeof(VkPipelineShaderStageModuleIdentifierCreateInfoEXT);
4058 }
4059 #endif
4060 #ifdef VK_NV_optical_flow
4061 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: {
4062 return sizeof(VkPhysicalDeviceOpticalFlowFeaturesNV);
4063 }
4064 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: {
4065 return sizeof(VkPhysicalDeviceOpticalFlowPropertiesNV);
4066 }
4067 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: {
4068 return sizeof(VkOpticalFlowImageFormatInfoNV);
4069 }
4070 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: {
4071 return sizeof(VkOpticalFlowSessionCreatePrivateDataInfoNV);
4072 }
4073 #endif
4074 #ifdef VK_EXT_legacy_dithering
4075 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: {
4076 return sizeof(VkPhysicalDeviceLegacyDitheringFeaturesEXT);
4077 }
4078 #endif
4079 #ifdef VK_EXT_pipeline_protected_access
4080 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: {
4081 return sizeof(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT);
4082 }
4083 #endif
4084 #ifdef VK_ANDROID_external_format_resolve
4085 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID: {
4086 return sizeof(VkPhysicalDeviceExternalFormatResolveFeaturesANDROID);
4087 }
4088 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID: {
4089 return sizeof(VkPhysicalDeviceExternalFormatResolvePropertiesANDROID);
4090 }
4091 case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID: {
4092 return sizeof(VkAndroidHardwareBufferFormatResolvePropertiesANDROID);
4093 }
4094 #endif
4095 #ifdef VK_EXT_shader_object
4096 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: {
4097 return sizeof(VkPhysicalDeviceShaderObjectFeaturesEXT);
4098 }
4099 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: {
4100 return sizeof(VkPhysicalDeviceShaderObjectPropertiesEXT);
4101 }
4102 #endif
4103 #ifdef VK_QCOM_tile_properties
4104 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: {
4105 return sizeof(VkPhysicalDeviceTilePropertiesFeaturesQCOM);
4106 }
4107 #endif
4108 #ifdef VK_SEC_amigo_profiling
4109 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: {
4110 return sizeof(VkPhysicalDeviceAmigoProfilingFeaturesSEC);
4111 }
4112 case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: {
4113 return sizeof(VkAmigoProfilingSubmitInfoSEC);
4114 }
4115 #endif
4116 #ifdef VK_QCOM_multiview_per_view_viewports
4117 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: {
4118 return sizeof(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM);
4119 }
4120 #endif
4121 #ifdef VK_NV_ray_tracing_invocation_reorder
4122 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: {
4123 return sizeof(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV);
4124 }
4125 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: {
4126 return sizeof(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV);
4127 }
4128 #endif
4129 #ifdef VK_NV_extended_sparse_address_space
4130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: {
4131 return sizeof(VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV);
4132 }
4133 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV: {
4134 return sizeof(VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV);
4135 }
4136 #endif
4137 #ifdef VK_ARM_shader_core_builtins
4138 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: {
4139 return sizeof(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM);
4140 }
4141 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: {
4142 return sizeof(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM);
4143 }
4144 #endif
4145 #ifdef VK_EXT_pipeline_library_group_handles
4146 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: {
4147 return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT);
4148 }
4149 #endif
4150 #ifdef VK_EXT_dynamic_rendering_unused_attachments
4151 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: {
4152 return sizeof(VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT);
4153 }
4154 #endif
4155 #ifdef VK_NV_low_latency2
4156 case VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV: {
4157 return sizeof(VkLatencySubmissionPresentIdNV);
4158 }
4159 case VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV: {
4160 return sizeof(VkSwapchainLatencyCreateInfoNV);
4161 }
4162 case VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: {
4163 return sizeof(VkLatencySurfaceCapabilitiesNV);
4164 }
4165 #endif
4166 #ifdef VK_QCOM_multiview_per_view_render_areas
4167 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: {
4168 return sizeof(VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM);
4169 }
4170 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: {
4171 return sizeof(VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM);
4172 }
4173 #endif
4174 #ifdef VK_QCOM_image_processing2
4175 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM: {
4176 return sizeof(VkPhysicalDeviceImageProcessing2FeaturesQCOM);
4177 }
4178 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM: {
4179 return sizeof(VkPhysicalDeviceImageProcessing2PropertiesQCOM);
4180 }
4181 case VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM: {
4182 return sizeof(VkSamplerBlockMatchWindowCreateInfoQCOM);
4183 }
4184 #endif
4185 #ifdef VK_QCOM_filter_cubic_weights
4186 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM: {
4187 return sizeof(VkPhysicalDeviceCubicWeightsFeaturesQCOM);
4188 }
4189 case VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM: {
4190 return sizeof(VkSamplerCubicWeightsCreateInfoQCOM);
4191 }
4192 case VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM: {
4193 return sizeof(VkBlitImageCubicWeightsInfoQCOM);
4194 }
4195 #endif
4196 #ifdef VK_QCOM_ycbcr_degamma
4197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM: {
4198 return sizeof(VkPhysicalDeviceYcbcrDegammaFeaturesQCOM);
4199 }
4200 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM: {
4201 return sizeof(VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM);
4202 }
4203 #endif
4204 #ifdef VK_QCOM_filter_cubic_clamp
4205 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM: {
4206 return sizeof(VkPhysicalDeviceCubicClampFeaturesQCOM);
4207 }
4208 #endif
4209 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
4210 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: {
4211 return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT);
4212 }
4213 #endif
4214 #ifdef VK_MSFT_layered_driver
4215 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT: {
4216 return sizeof(VkPhysicalDeviceLayeredDriverPropertiesMSFT);
4217 }
4218 #endif
4219 #ifdef VK_NV_descriptor_pool_overallocation
4220 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: {
4221 return sizeof(VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV);
4222 }
4223 #endif
4224 #ifdef VK_KHR_acceleration_structure
4225 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: {
4226 return sizeof(VkWriteDescriptorSetAccelerationStructureKHR);
4227 }
4228 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
4229 return sizeof(VkPhysicalDeviceAccelerationStructureFeaturesKHR);
4230 }
4231 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
4232 return sizeof(VkPhysicalDeviceAccelerationStructurePropertiesKHR);
4233 }
4234 #endif
4235 #ifdef VK_KHR_ray_tracing_pipeline
4236 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
4237 return sizeof(VkPhysicalDeviceRayTracingPipelineFeaturesKHR);
4238 }
4239 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
4240 return sizeof(VkPhysicalDeviceRayTracingPipelinePropertiesKHR);
4241 }
4242 #endif
4243 #ifdef VK_KHR_ray_query
4244 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: {
4245 return sizeof(VkPhysicalDeviceRayQueryFeaturesKHR);
4246 }
4247 #endif
4248 #ifdef VK_EXT_mesh_shader
4249 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: {
4250 return sizeof(VkPhysicalDeviceMeshShaderFeaturesEXT);
4251 }
4252 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: {
4253 return sizeof(VkPhysicalDeviceMeshShaderPropertiesEXT);
4254 }
4255 #endif
4256 default: {
4257 fprintf(stderr, "Unhandled Vulkan structure type %s [%d], aborting.\n",
4258 string_VkStructureType(VkStructureType(structType)), structType);
4259 GFXSTREAM_ABORT(::emugl::FatalError(::emugl::ABORT_REASON_OTHER));
4260 return static_cast<size_t>(0);
4261 }
4262 }
4263 }
4264
4265 } // namespace vk
4266 } // namespace gfxstream
4267