blob: 6e780ba37e8558d7324f474eeb099c3e2044e113 [file] [log] [blame]
// Copyright (C) 2018 The Android Open Source Project
// Copyright (C) 2018 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Autogenerated module goldfish_vk_extension_structs_guest
//
// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
// -o ../vulkan-cereal/stream-servers/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
// or directly from Python by defining:
// VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
// VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
// CEREAL_OUTPUT_DIR: Where to put the generated sources.
//
// python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
// $CEREAL_OUTPUT_DIR
//
#include "goldfish_vk_extension_structs_guest.h"
namespace gfxstream {
namespace vk {
#ifdef VK_VERSION_1_0
#endif
#ifdef VK_VERSION_1_1
#endif
#ifdef VK_VERSION_1_2
#endif
#ifdef VK_KHR_surface
#endif
#ifdef VK_KHR_swapchain
#endif
#ifdef VK_KHR_display
#endif
#ifdef VK_KHR_display_swapchain
#endif
#ifdef VK_KHR_xlib_surface
#endif
#ifdef VK_KHR_xcb_surface
#endif
#ifdef VK_KHR_wayland_surface
#endif
#ifdef VK_KHR_android_surface
#endif
#ifdef VK_KHR_win32_surface
#endif
#ifdef VK_KHR_sampler_mirror_clamp_to_edge
#endif
#ifdef VK_KHR_video_queue
#endif
#ifdef VK_KHR_video_decode_queue
#endif
#ifdef VK_KHR_dynamic_rendering
#endif
#ifdef VK_KHR_multiview
#endif
#ifdef VK_KHR_get_physical_device_properties2
#endif
#ifdef VK_KHR_device_group
#endif
#ifdef VK_KHR_shader_draw_parameters
#endif
#ifdef VK_KHR_maintenance1
#endif
#ifdef VK_KHR_device_group_creation
#endif
#ifdef VK_KHR_external_memory_capabilities
#endif
#ifdef VK_KHR_external_memory
#endif
#ifdef VK_KHR_external_memory_win32
#endif
#ifdef VK_KHR_external_memory_fd
#endif
#ifdef VK_KHR_win32_keyed_mutex
#endif
#ifdef VK_KHR_external_semaphore_capabilities
#endif
#ifdef VK_KHR_external_semaphore
#endif
#ifdef VK_KHR_external_semaphore_win32
#endif
#ifdef VK_KHR_external_semaphore_fd
#endif
#ifdef VK_KHR_push_descriptor
#endif
#ifdef VK_KHR_shader_float16_int8
#endif
#ifdef VK_KHR_16bit_storage
#endif
#ifdef VK_KHR_incremental_present
#endif
#ifdef VK_KHR_descriptor_update_template
#endif
#ifdef VK_KHR_imageless_framebuffer
#endif
#ifdef VK_KHR_create_renderpass2
#endif
#ifdef VK_KHR_shared_presentable_image
#endif
#ifdef VK_KHR_external_fence_capabilities
#endif
#ifdef VK_KHR_external_fence
#endif
#ifdef VK_KHR_external_fence_win32
#endif
#ifdef VK_KHR_external_fence_fd
#endif
#ifdef VK_KHR_performance_query
#endif
#ifdef VK_KHR_maintenance2
#endif
#ifdef VK_KHR_get_surface_capabilities2
#endif
#ifdef VK_KHR_variable_pointers
#endif
#ifdef VK_KHR_get_display_properties2
#endif
#ifdef VK_KHR_dedicated_allocation
#endif
#ifdef VK_KHR_storage_buffer_storage_class
#endif
#ifdef VK_KHR_relaxed_block_layout
#endif
#ifdef VK_KHR_get_memory_requirements2
#endif
#ifdef VK_KHR_image_format_list
#endif
#ifdef VK_KHR_sampler_ycbcr_conversion
#endif
#ifdef VK_KHR_bind_memory2
#endif
#ifdef VK_KHR_portability_subset
#endif
#ifdef VK_KHR_maintenance3
#endif
#ifdef VK_KHR_draw_indirect_count
#endif
#ifdef VK_KHR_shader_subgroup_extended_types
#endif
#ifdef VK_KHR_8bit_storage
#endif
#ifdef VK_KHR_shader_atomic_int64
#endif
#ifdef VK_KHR_shader_clock
#endif
#ifdef VK_KHR_driver_properties
#endif
#ifdef VK_KHR_shader_float_controls
#endif
#ifdef VK_KHR_depth_stencil_resolve
#endif
#ifdef VK_KHR_swapchain_mutable_format
#endif
#ifdef VK_KHR_timeline_semaphore
#endif
#ifdef VK_KHR_vulkan_memory_model
#endif
#ifdef VK_KHR_shader_terminate_invocation
#endif
#ifdef VK_KHR_fragment_shading_rate
#endif
#ifdef VK_KHR_spirv_1_4
#endif
#ifdef VK_KHR_surface_protected_capabilities
#endif
#ifdef VK_KHR_separate_depth_stencil_layouts
#endif
#ifdef VK_KHR_present_wait
#endif
#ifdef VK_KHR_uniform_buffer_standard_layout
#endif
#ifdef VK_KHR_buffer_device_address
#endif
#ifdef VK_KHR_deferred_host_operations
#endif
#ifdef VK_KHR_pipeline_executable_properties
#endif
#ifdef VK_KHR_shader_integer_dot_product
#endif
#ifdef VK_KHR_pipeline_library
#endif
#ifdef VK_KHR_shader_non_semantic_info
#endif
#ifdef VK_KHR_present_id
#endif
#ifdef VK_KHR_video_encode_queue
#endif
#ifdef VK_KHR_synchronization2
#endif
#ifdef VK_KHR_shader_subgroup_uniform_control_flow
#endif
#ifdef VK_KHR_zero_initialize_workgroup_memory
#endif
#ifdef VK_KHR_workgroup_memory_explicit_layout
#endif
#ifdef VK_KHR_copy_commands2
#endif
#ifdef VK_KHR_format_feature_flags2
#endif
#ifdef VK_KHR_maintenance4
#endif
#ifdef VK_ANDROID_native_buffer
#endif
#ifdef VK_EXT_debug_report
#endif
#ifdef VK_NV_glsl_shader
#endif
#ifdef VK_EXT_depth_range_unrestricted
#endif
#ifdef VK_IMG_filter_cubic
#endif
#ifdef VK_AMD_rasterization_order
#endif
#ifdef VK_AMD_shader_trinary_minmax
#endif
#ifdef VK_AMD_shader_explicit_vertex_parameter
#endif
#ifdef VK_EXT_debug_marker
#endif
#ifdef VK_AMD_gcn_shader
#endif
#ifdef VK_NV_dedicated_allocation
#endif
#ifdef VK_EXT_transform_feedback
#endif
#ifdef VK_NVX_binary_import
#endif
#ifdef VK_NVX_image_view_handle
#endif
#ifdef VK_AMD_draw_indirect_count
#endif
#ifdef VK_AMD_negative_viewport_height
#endif
#ifdef VK_AMD_gpu_shader_half_float
#endif
#ifdef VK_AMD_shader_ballot
#endif
#ifdef VK_EXT_video_encode_h264
#endif
#ifdef VK_EXT_video_encode_h265
#endif
#ifdef VK_EXT_video_decode_h264
#endif
#ifdef VK_AMD_texture_gather_bias_lod
#endif
#ifdef VK_AMD_shader_info
#endif
#ifdef VK_AMD_shader_image_load_store_lod
#endif
#ifdef VK_GGP_stream_descriptor_surface
#endif
#ifdef VK_NV_corner_sampled_image
#endif
#ifdef VK_IMG_format_pvrtc
#endif
#ifdef VK_NV_external_memory_capabilities
#endif
#ifdef VK_NV_external_memory
#endif
#ifdef VK_NV_external_memory_win32
#endif
#ifdef VK_NV_win32_keyed_mutex
#endif
#ifdef VK_EXT_validation_flags
#endif
#ifdef VK_NN_vi_surface
#endif
#ifdef VK_EXT_shader_subgroup_ballot
#endif
#ifdef VK_EXT_shader_subgroup_vote
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
#endif
#ifdef VK_EXT_astc_decode_mode
#endif
#ifdef VK_EXT_conditional_rendering
#endif
#ifdef VK_NV_clip_space_w_scaling
#endif
#ifdef VK_EXT_direct_mode_display
#endif
#ifdef VK_EXT_acquire_xlib_display
#endif
#ifdef VK_EXT_display_surface_counter
#endif
#ifdef VK_EXT_display_control
#endif
#ifdef VK_GOOGLE_display_timing
#endif
#ifdef VK_NV_sample_mask_override_coverage
#endif
#ifdef VK_NV_geometry_shader_passthrough
#endif
#ifdef VK_NV_viewport_array2
#endif
#ifdef VK_NVX_multiview_per_view_attributes
#endif
#ifdef VK_NV_viewport_swizzle
#endif
#ifdef VK_EXT_discard_rectangles
#endif
#ifdef VK_EXT_conservative_rasterization
#endif
#ifdef VK_EXT_depth_clip_enable
#endif
#ifdef VK_EXT_swapchain_colorspace
#endif
#ifdef VK_EXT_hdr_metadata
#endif
#ifdef VK_MVK_ios_surface
#endif
#ifdef VK_MVK_macos_surface
#endif
#ifdef VK_MVK_moltenvk
#endif
#ifdef VK_EXT_external_memory_dma_buf
#endif
#ifdef VK_EXT_queue_family_foreign
#endif
#ifdef VK_EXT_debug_utils
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
#endif
#ifdef VK_EXT_sampler_filter_minmax
#endif
#ifdef VK_AMD_gpu_shader_int16
#endif
#ifdef VK_AMD_mixed_attachment_samples
#endif
#ifdef VK_AMD_shader_fragment_mask
#endif
#ifdef VK_EXT_inline_uniform_block
#endif
#ifdef VK_EXT_shader_stencil_export
#endif
#ifdef VK_EXT_sample_locations
#endif
#ifdef VK_EXT_blend_operation_advanced
#endif
#ifdef VK_NV_fragment_coverage_to_color
#endif
#ifdef VK_NV_framebuffer_mixed_samples
#endif
#ifdef VK_NV_fill_rectangle
#endif
#ifdef VK_NV_shader_sm_builtins
#endif
#ifdef VK_EXT_post_depth_coverage
#endif
#ifdef VK_EXT_image_drm_format_modifier
#endif
#ifdef VK_EXT_validation_cache
#endif
#ifdef VK_EXT_descriptor_indexing
#endif
#ifdef VK_EXT_shader_viewport_index_layer
#endif
#ifdef VK_NV_shading_rate_image
#endif
#ifdef VK_NV_ray_tracing
#endif
#ifdef VK_NV_representative_fragment_test
#endif
#ifdef VK_EXT_filter_cubic
#endif
#ifdef VK_QCOM_render_pass_shader_resolve
#endif
#ifdef VK_EXT_global_priority
#endif
#ifdef VK_EXT_external_memory_host
#endif
#ifdef VK_AMD_buffer_marker
#endif
#ifdef VK_AMD_pipeline_compiler_control
#endif
#ifdef VK_EXT_calibrated_timestamps
#endif
#ifdef VK_AMD_shader_core_properties
#endif
#ifdef VK_EXT_video_decode_h265
#endif
#ifdef VK_AMD_memory_overallocation_behavior
#endif
#ifdef VK_EXT_vertex_attribute_divisor
#endif
#ifdef VK_GGP_frame_token
#endif
#ifdef VK_EXT_pipeline_creation_feedback
#endif
#ifdef VK_NV_shader_subgroup_partitioned
#endif
#ifdef VK_NV_compute_shader_derivatives
#endif
#ifdef VK_NV_mesh_shader
#endif
#ifdef VK_NV_fragment_shader_barycentric
#endif
#ifdef VK_NV_shader_image_footprint
#endif
#ifdef VK_NV_scissor_exclusive
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
#endif
#ifdef VK_INTEL_shader_integer_functions2
#endif
#ifdef VK_INTEL_performance_query
#endif
#ifdef VK_EXT_pci_bus_info
#endif
#ifdef VK_AMD_display_native_hdr
#endif
#ifdef VK_FUCHSIA_imagepipe_surface
#endif
#ifdef VK_EXT_metal_surface
#endif
#ifdef VK_EXT_fragment_density_map
#endif
#ifdef VK_EXT_scalar_block_layout
#endif
#ifdef VK_GOOGLE_hlsl_functionality1
#endif
#ifdef VK_GOOGLE_decorate_string
#endif
#ifdef VK_EXT_subgroup_size_control
#endif
#ifdef VK_AMD_shader_core_properties2
#endif
#ifdef VK_AMD_device_coherent_memory
#endif
#ifdef VK_EXT_shader_image_atomic_int64
#endif
#ifdef VK_EXT_memory_budget
#endif
#ifdef VK_EXT_memory_priority
#endif
#ifdef VK_NV_dedicated_allocation_image_aliasing
#endif
#ifdef VK_EXT_buffer_device_address
#endif
#ifdef VK_EXT_tooling_info
#endif
#ifdef VK_EXT_separate_stencil_usage
#endif
#ifdef VK_EXT_validation_features
#endif
#ifdef VK_NV_cooperative_matrix
#endif
#ifdef VK_NV_coverage_reduction_mode
#endif
#ifdef VK_EXT_fragment_shader_interlock
#endif
#ifdef VK_EXT_ycbcr_image_arrays
#endif
#ifdef VK_EXT_provoking_vertex
#endif
#ifdef VK_EXT_full_screen_exclusive
#endif
#ifdef VK_EXT_headless_surface
#endif
#ifdef VK_EXT_line_rasterization
#endif
#ifdef VK_EXT_shader_atomic_float
#endif
#ifdef VK_EXT_host_query_reset
#endif
#ifdef VK_EXT_index_type_uint8
#endif
#ifdef VK_EXT_extended_dynamic_state
#endif
#ifdef VK_EXT_shader_atomic_float2
#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
#endif
#ifdef VK_NV_device_generated_commands
#endif
#ifdef VK_NV_inherited_viewport_scissor
#endif
#ifdef VK_EXT_texel_buffer_alignment
#endif
#ifdef VK_QCOM_render_pass_transform
#endif
#ifdef VK_EXT_device_memory_report
#endif
#ifdef VK_EXT_acquire_drm_display
#endif
#ifdef VK_EXT_robustness2
#endif
#ifdef VK_EXT_custom_border_color
#endif
#ifdef VK_GOOGLE_user_type
#endif
#ifdef VK_EXT_private_data
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
#endif
#ifdef VK_NV_device_diagnostics_config
#endif
#ifdef VK_QCOM_render_pass_store_ops
#endif
#ifdef VK_NV_fragment_shading_rate_enums
#endif
#ifdef VK_NV_ray_tracing_motion_blur
#endif
#ifdef VK_EXT_ycbcr_2plane_444_formats
#endif
#ifdef VK_EXT_fragment_density_map2
#endif
#ifdef VK_QCOM_rotated_copy_commands
#endif
#ifdef VK_EXT_image_robustness
#endif
#ifdef VK_EXT_4444_formats
#endif
#ifdef VK_EXT_rgba10x6_formats
#endif
#ifdef VK_NV_acquire_winrt_display
#endif
#ifdef VK_EXT_directfb_surface
#endif
#ifdef VK_VALVE_mutable_descriptor_type
#endif
#ifdef VK_EXT_vertex_input_dynamic_state
#endif
#ifdef VK_EXT_physical_device_drm
#endif
#ifdef VK_EXT_primitive_topology_list_restart
#endif
#ifdef VK_FUCHSIA_external_memory
#endif
#ifdef VK_FUCHSIA_external_semaphore
#endif
#ifdef VK_FUCHSIA_buffer_collection
#endif
#ifdef VK_HUAWEI_subpass_shading
#endif
#ifdef VK_HUAWEI_invocation_mask
#endif
#ifdef VK_NV_external_memory_rdma
#endif
#ifdef VK_EXT_extended_dynamic_state2
#endif
#ifdef VK_QNX_screen_surface
#endif
#ifdef VK_EXT_color_write_enable
#endif
#ifdef VK_GOOGLE_gfxstream
#endif
#ifdef VK_EXT_global_priority_query
#endif
#ifdef VK_EXT_multi_draw
#endif
#ifdef VK_EXT_load_store_op_none
#endif
#ifdef VK_EXT_border_color_swizzle
#endif
#ifdef VK_EXT_pageable_device_local_memory
#endif
#ifdef VK_KHR_acceleration_structure
#endif
#ifdef VK_KHR_ray_tracing_pipeline
#endif
#ifdef VK_KHR_ray_query
#endif
uint32_t goldfish_vk_struct_type(const void* structExtension) {
const uint32_t asStructType = *(reinterpret_cast<const uint32_t*>(structExtension));
return asStructType;
}
size_t goldfish_vk_extension_struct_size(VkStructureType rootType, const void* structExtension) {
if (!structExtension) {
return (size_t)0;
}
uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
switch (structType) {
#ifdef VK_VERSION_1_1
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
return sizeof(VkPhysicalDeviceSubgroupProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
return sizeof(VkPhysicalDevice16BitStorageFeatures);
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
return sizeof(VkMemoryDedicatedRequirements);
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
return sizeof(VkMemoryDedicatedAllocateInfo);
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
return sizeof(VkMemoryAllocateFlagsInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
return sizeof(VkDeviceGroupRenderPassBeginInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
return sizeof(VkDeviceGroupCommandBufferBeginInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
return sizeof(VkDeviceGroupSubmitInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
return sizeof(VkDeviceGroupBindSparseInfo);
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
return sizeof(VkBindBufferMemoryDeviceGroupInfo);
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
return sizeof(VkBindImageMemoryDeviceGroupInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
return sizeof(VkDeviceGroupDeviceCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
return sizeof(VkPhysicalDeviceFeatures2);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
return sizeof(VkPhysicalDevicePointClippingProperties);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
return sizeof(VkImageViewUsageCreateInfo);
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
return sizeof(VkRenderPassMultiviewCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
return sizeof(VkPhysicalDeviceMultiviewFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
return sizeof(VkPhysicalDeviceMultiviewProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
return sizeof(VkPhysicalDeviceVariablePointersFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
return sizeof(VkProtectedSubmitInfo);
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
return sizeof(VkSamplerYcbcrConversionInfo);
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
return sizeof(VkBindImagePlaneMemoryInfo);
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
return sizeof(VkImagePlaneMemoryRequirementsInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
return sizeof(VkExternalImageFormatProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
return sizeof(VkPhysicalDeviceIDProperties);
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
return sizeof(VkExternalMemoryImageCreateInfo);
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
return sizeof(VkExternalMemoryBufferCreateInfo);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
return sizeof(VkExportMemoryAllocateInfo);
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
return sizeof(VkExportFenceCreateInfo);
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
return sizeof(VkExportSemaphoreCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
return sizeof(VkPhysicalDeviceMaintenance3Properties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
return sizeof(VkPhysicalDeviceShaderDrawParametersFeatures);
}
#endif
#ifdef VK_VERSION_1_2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
return sizeof(VkPhysicalDeviceVulkan11Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
return sizeof(VkPhysicalDeviceVulkan11Properties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
return sizeof(VkPhysicalDeviceVulkan12Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
return sizeof(VkPhysicalDeviceVulkan12Properties);
}
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
return sizeof(VkImageFormatListCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
return sizeof(VkPhysicalDevice8BitStorageFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
return sizeof(VkPhysicalDeviceDriverProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
return sizeof(VkPhysicalDeviceShaderAtomicInt64Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
return sizeof(VkPhysicalDeviceFloatControlsProperties);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
return sizeof(VkPhysicalDeviceDescriptorIndexingFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
return sizeof(VkPhysicalDeviceDescriptorIndexingProperties);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport);
}
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
return sizeof(VkSubpassDescriptionDepthStencilResolve);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
return sizeof(VkPhysicalDeviceDepthStencilResolveProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
return sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures);
}
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
return sizeof(VkImageStencilUsageCreateInfo);
}
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
return sizeof(VkSamplerReductionModeCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
return sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
return sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
return sizeof(VkPhysicalDeviceImagelessFramebufferFeatures);
}
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
return sizeof(VkFramebufferAttachmentsCreateInfo);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
return sizeof(VkRenderPassAttachmentBeginInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
return sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
return sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
return sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures);
}
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
return sizeof(VkAttachmentReferenceStencilLayout);
}
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
return sizeof(VkAttachmentDescriptionStencilLayout);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
return sizeof(VkPhysicalDeviceHostQueryResetFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
return sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
return sizeof(VkPhysicalDeviceTimelineSemaphoreProperties);
}
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
return sizeof(VkSemaphoreTypeCreateInfo);
}
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
return sizeof(VkTimelineSemaphoreSubmitInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
return sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures);
}
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
return sizeof(VkBufferOpaqueCaptureAddressCreateInfo);
}
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
return sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo);
}
#endif
#ifdef VK_KHR_swapchain
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
return sizeof(VkImageSwapchainCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
return sizeof(VkBindImageMemorySwapchainInfoKHR);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
return sizeof(VkDeviceGroupPresentInfoKHR);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
}
#endif
#ifdef VK_KHR_display_swapchain
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
return sizeof(VkDisplayPresentInfoKHR);
}
#endif
#ifdef VK_KHR_video_queue
case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: {
return sizeof(VkVideoQueueFamilyProperties2KHR);
}
case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: {
return sizeof(VkVideoProfileKHR);
}
case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: {
return sizeof(VkVideoProfilesKHR);
}
#endif
#ifdef VK_KHR_dynamic_rendering
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: {
return sizeof(VkPipelineRenderingCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceDynamicRenderingFeaturesKHR);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: {
return sizeof(VkCommandBufferInheritanceRenderingInfoKHR);
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
return sizeof(VkRenderingFragmentShadingRateAttachmentInfoKHR);
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
return sizeof(VkRenderingFragmentDensityMapAttachmentInfoEXT);
}
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
return sizeof(VkAttachmentSampleCountInfoAMD);
}
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
return sizeof(VkMultiviewPerViewAttributesInfoNVX);
}
#endif
#ifdef VK_KHR_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkImportMemoryWin32HandleInfoKHR);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkExportMemoryWin32HandleInfoKHR);
}
#endif
#ifdef VK_KHR_external_memory_fd
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
return sizeof(VkImportMemoryFdInfoKHR);
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
}
#endif
#ifdef VK_KHR_external_semaphore_win32
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkExportSemaphoreWin32HandleInfoKHR);
}
case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: {
return sizeof(VkD3D12FenceSubmitInfoKHR);
}
#endif
#ifdef VK_KHR_push_descriptor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
return sizeof(VkPresentRegionsKHR);
}
#endif
#ifdef VK_KHR_shared_presentable_image
case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
}
#endif
#ifdef VK_KHR_external_fence_win32
case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkExportFenceWin32HandleInfoKHR);
}
#endif
#ifdef VK_KHR_performance_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
return sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR);
}
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
return sizeof(VkQueryPoolPerformanceCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
return sizeof(VkPerformanceQuerySubmitInfoKHR);
}
#endif
#ifdef VK_KHR_portability_subset
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR);
}
#endif
#ifdef VK_KHR_shader_clock
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR);
}
#endif
#ifdef VK_KHR_shader_terminate_invocation
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR);
}
#endif
#ifdef VK_KHR_fragment_shading_rate
case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
return sizeof(VkFragmentShadingRateAttachmentInfoKHR);
}
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
return sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR);
}
#endif
#ifdef VK_KHR_surface_protected_capabilities
case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
return sizeof(VkSurfaceProtectedCapabilitiesKHR);
}
#endif
#ifdef VK_KHR_present_wait
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePresentWaitFeaturesKHR);
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR);
}
#endif
#ifdef VK_KHR_shader_integer_dot_product
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR);
}
#endif
#ifdef VK_KHR_present_id
case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
return sizeof(VkPresentIdKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePresentIdFeaturesKHR);
}
#endif
#ifdef VK_KHR_video_encode_queue
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
return sizeof(VkVideoEncodeRateControlInfoKHR);
}
#endif
#ifdef VK_KHR_synchronization2
case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: {
return sizeof(VkMemoryBarrier2KHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceSynchronization2FeaturesKHR);
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
return sizeof(VkQueueFamilyCheckpointProperties2NV);
}
#endif
#ifdef VK_KHR_shader_subgroup_uniform_control_flow
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR);
}
#endif
#ifdef VK_KHR_zero_initialize_workgroup_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR);
}
#endif
#ifdef VK_KHR_workgroup_memory_explicit_layout
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR);
}
#endif
#ifdef VK_KHR_format_feature_flags2
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: {
return sizeof(VkFormatProperties3KHR);
}
#endif
#ifdef VK_KHR_maintenance4
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceMaintenance4FeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceMaintenance4PropertiesKHR);
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
return sizeof(VkNativeBufferANDROID);
}
#endif
#ifdef VK_EXT_debug_report
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
return sizeof(VkDebugReportCallbackCreateInfoEXT);
}
#endif
#ifdef VK_AMD_rasterization_order
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
}
#endif
#ifdef VK_NV_dedicated_allocation
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
return sizeof(VkDedicatedAllocationImageCreateInfoNV);
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
}
#endif
#ifdef VK_EXT_transform_feedback
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT);
}
#endif
#ifdef VK_EXT_video_encode_h264
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
return sizeof(VkVideoEncodeH264CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH264SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoEncodeH264SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH264SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: {
return sizeof(VkVideoEncodeH264VclFrameInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: {
return sizeof(VkVideoEncodeH264EmitPictureParametersEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: {
return sizeof(VkVideoEncodeH264ProfileEXT);
}
#endif
#ifdef VK_EXT_video_encode_h265
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
return sizeof(VkVideoEncodeH265CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH265SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoEncodeH265SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH265SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: {
return sizeof(VkVideoEncodeH265VclFrameInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: {
return sizeof(VkVideoEncodeH265EmitPictureParametersEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: {
return sizeof(VkVideoEncodeH265ProfileEXT);
}
#endif
#ifdef VK_EXT_video_decode_h264
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: {
return sizeof(VkVideoDecodeH264ProfileEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: {
return sizeof(VkVideoDecodeH264CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH264SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoDecodeH264SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH264SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: {
return sizeof(VkVideoDecodeH264PictureInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: {
return sizeof(VkVideoDecodeH264MvcEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: {
return sizeof(VkVideoDecodeH264DpbSlotInfoEXT);
}
#endif
#ifdef VK_AMD_texture_gather_bias_lod
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
return sizeof(VkTextureLODGatherFormatPropertiesAMD);
}
#endif
#ifdef VK_NV_corner_sampled_image
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
return sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV);
}
#endif
#ifdef VK_NV_external_memory
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
return sizeof(VkExternalMemoryImageCreateInfoNV);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
return sizeof(VkExportMemoryAllocateInfoNV);
}
#endif
#ifdef VK_NV_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
return sizeof(VkImportMemoryWin32HandleInfoNV);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
return sizeof(VkExportMemoryWin32HandleInfoNV);
}
#endif
#ifdef VK_NV_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
}
#endif
#ifdef VK_EXT_validation_flags
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
return sizeof(VkValidationFlagsEXT);
}
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT);
}
#endif
#ifdef VK_EXT_astc_decode_mode
case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
return sizeof(VkImageViewASTCDecodeModeEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT);
}
#endif
#ifdef VK_EXT_conditional_rendering
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
}
#endif
#ifdef VK_NV_clip_space_w_scaling
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_display_control
case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
return sizeof(VkSwapchainCounterCreateInfoEXT);
}
#endif
#ifdef VK_GOOGLE_display_timing
case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
return sizeof(VkPresentTimesInfoGOOGLE);
}
#endif
#ifdef VK_NVX_multiview_per_view_attributes
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
}
#endif
#ifdef VK_NV_viewport_swizzle
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_discard_rectangles
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_conservative_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_depth_clip_enable
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_debug_utils
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: {
return sizeof(VkAndroidHardwareBufferUsageANDROID);
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: {
return sizeof(VkAndroidHardwareBufferFormatPropertiesANDROID);
}
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
return sizeof(VkImportAndroidHardwareBufferInfoANDROID);
}
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: {
return sizeof(VkExternalFormatANDROID);
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: {
return sizeof(VkAndroidHardwareBufferFormatProperties2ANDROID);
}
#endif
#ifdef VK_EXT_inline_uniform_block
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceInlineUniformBlockFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceInlineUniformBlockPropertiesEXT);
}
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: {
return sizeof(VkWriteDescriptorSetInlineUniformBlockEXT);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: {
return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfoEXT);
}
#endif
#ifdef VK_EXT_sample_locations
case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
return sizeof(VkSampleLocationsInfoEXT);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
}
#endif
#ifdef VK_EXT_blend_operation_advanced
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
}
#endif
#ifdef VK_NV_shader_sm_builtins
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
return sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV);
}
#endif
#ifdef VK_EXT_image_drm_format_modifier
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
return sizeof(VkDrmFormatModifierPropertiesListEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
return sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT);
}
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
return sizeof(VkImageDrmFormatModifierListCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
return sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
return sizeof(VkDrmFormatModifierPropertiesList2EXT);
}
#endif
#ifdef VK_EXT_validation_cache
case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
}
#endif
#ifdef VK_NV_shading_rate_image
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
return sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV);
}
#endif
#ifdef VK_NV_ray_tracing
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
return sizeof(VkWriteDescriptorSetAccelerationStructureNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceRayTracingPropertiesNV);
}
#endif
#ifdef VK_NV_representative_fragment_test
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
return sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_filter_cubic
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
return sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT);
}
case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
return sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT);
}
#endif
#ifdef VK_EXT_global_priority
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: {
return sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT);
}
#endif
#ifdef VK_EXT_external_memory_host
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
return sizeof(VkImportMemoryHostPointerInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
}
#endif
#ifdef VK_AMD_pipeline_compiler_control
case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
return sizeof(VkPipelineCompilerControlCreateInfoAMD);
}
#endif
#ifdef VK_AMD_shader_core_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
}
#endif
#ifdef VK_EXT_video_decode_h265
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: {
return sizeof(VkVideoDecodeH265ProfileEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: {
return sizeof(VkVideoDecodeH265CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH265SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoDecodeH265SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH265SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: {
return sizeof(VkVideoDecodeH265PictureInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: {
return sizeof(VkVideoDecodeH265DpbSlotInfoEXT);
}
#endif
#ifdef VK_AMD_memory_overallocation_behavior
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
return sizeof(VkDeviceMemoryOverallocationCreateInfoAMD);
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
}
#endif
#ifdef VK_GGP_frame_token
case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
return sizeof(VkPresentFrameTokenGGP);
}
#endif
#ifdef VK_EXT_pipeline_creation_feedback
case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: {
return sizeof(VkPipelineCreationFeedbackCreateInfoEXT);
}
#endif
#ifdef VK_NV_compute_shader_derivatives
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
return sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV);
}
#endif
#ifdef VK_NV_mesh_shader
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
return sizeof(VkPhysicalDeviceMeshShaderFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceMeshShaderPropertiesNV);
}
#endif
#ifdef VK_NV_fragment_shader_barycentric
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: {
return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV);
}
#endif
#ifdef VK_NV_shader_image_footprint
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
return sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV);
}
#endif
#ifdef VK_NV_scissor_exclusive
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
return sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV);
}
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: {
return sizeof(VkQueueFamilyCheckpointPropertiesNV);
}
#endif
#ifdef VK_INTEL_shader_integer_functions2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
return sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL);
}
#endif
#ifdef VK_INTEL_performance_query
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
return sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL);
}
#endif
#ifdef VK_EXT_pci_bus_info
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
return sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT);
}
#endif
#ifdef VK_AMD_display_native_hdr
case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
return sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD);
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
return sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD);
}
#endif
#ifdef VK_EXT_fragment_density_map
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
switch (rootType) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
return sizeof(VkImportColorBufferGOOGLE);
break;
}
default: {
return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
break;
}
}
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
switch (rootType) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
break;
}
default: {
return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
break;
}
}
}
case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
switch (rootType) {
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
return sizeof(VkImportBufferGOOGLE);
break;
}
default: {
return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
break;
}
}
}
#endif
#ifdef VK_EXT_subgroup_size_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: {
return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT);
}
#endif
#ifdef VK_AMD_shader_core_properties2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
return sizeof(VkPhysicalDeviceShaderCoreProperties2AMD);
}
#endif
#ifdef VK_AMD_device_coherent_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
return sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD);
}
#endif
#ifdef VK_EXT_shader_image_atomic_int64
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT);
}
#endif
#ifdef VK_EXT_memory_budget
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT);
}
#endif
#ifdef VK_EXT_memory_priority
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT);
}
case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
return sizeof(VkMemoryPriorityAllocateInfoEXT);
}
#endif
#ifdef VK_NV_dedicated_allocation_image_aliasing
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
return sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV);
}
#endif
#ifdef VK_EXT_buffer_device_address
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT);
}
case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
return sizeof(VkBufferDeviceAddressCreateInfoEXT);
}
#endif
#ifdef VK_EXT_validation_features
case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
return sizeof(VkValidationFeaturesEXT);
}
#endif
#ifdef VK_NV_cooperative_matrix
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV);
}
#endif
#ifdef VK_NV_coverage_reduction_mode
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
return sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineCoverageReductionStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_fragment_shader_interlock
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
}
#endif
#ifdef VK_EXT_ycbcr_image_arrays
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT);
}
#endif
#ifdef VK_EXT_provoking_vertex
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceProvokingVertexPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_full_screen_exclusive
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
return sizeof(VkSurfaceFullScreenExclusiveInfoEXT);
}
case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
return sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT);
}
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
return sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT);
}
#endif
#ifdef VK_EXT_line_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceLineRasterizationPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationLineStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_shader_atomic_float
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT);
}
#endif
#ifdef VK_EXT_index_type_uint8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT);
}
#endif
#ifdef VK_EXT_shader_atomic_float2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT);
}
#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT);
}
#endif
#ifdef VK_NV_device_generated_commands
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV);
}
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
return sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV);
}
#endif
#ifdef VK_NV_inherited_viewport_scissor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
return sizeof(VkPhysicalDeviceInheritedViewportScissorFeaturesNV);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
return sizeof(VkCommandBufferInheritanceViewportScissorInfoNV);
}
#endif
#ifdef VK_EXT_texel_buffer_alignment
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT);
}
#endif
#ifdef VK_QCOM_render_pass_transform
case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
return sizeof(VkRenderPassTransformBeginInfoQCOM);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
return sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM);
}
#endif
#ifdef VK_EXT_device_memory_report
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT);
}
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
return sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT);
}
#endif
#ifdef VK_EXT_robustness2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceRobustness2FeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceRobustness2PropertiesEXT);
}
#endif
#ifdef VK_EXT_custom_border_color
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
return sizeof(VkSamplerCustomBorderColorCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
}
#endif
#ifdef VK_EXT_private_data
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: {
return sizeof(VkPhysicalDevicePrivateDataFeaturesEXT);
}
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: {
return sizeof(VkDevicePrivateDataCreateInfoEXT);
}
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: {
return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT);
}
#endif
#ifdef VK_NV_device_diagnostics_config
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
return sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV);
}
case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
return sizeof(VkDeviceDiagnosticsConfigCreateInfoNV);
}
#endif
#ifdef VK_NV_fragment_shading_rate_enums
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineFragmentShadingRateEnumStateCreateInfoNV);
}
#endif
#ifdef VK_NV_ray_tracing_motion_blur
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: {
return sizeof(VkAccelerationStructureGeometryMotionTrianglesDataNV);
}
case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: {
return sizeof(VkAccelerationStructureMotionInfoNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: {
return sizeof(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV);
}
#endif
#ifdef VK_EXT_ycbcr_2plane_444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT);
}
#endif
#ifdef VK_EXT_fragment_density_map2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT);
}
#endif
#ifdef VK_QCOM_rotated_copy_commands
case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: {
return sizeof(VkCopyCommandTransformInfoQCOM);
}
#endif
#ifdef VK_EXT_image_robustness
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceImageRobustnessFeaturesEXT);
}
#endif
#ifdef VK_EXT_4444_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: {
return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT);
}
#endif
#ifdef VK_EXT_rgba10x6_formats
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT);
}
#endif
#ifdef VK_VALVE_mutable_descriptor_type
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: {
return sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE);
}
case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: {
return sizeof(VkMutableDescriptorTypeCreateInfoVALVE);
}
#endif
#ifdef VK_EXT_vertex_input_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT);
}
#endif
#ifdef VK_EXT_physical_device_drm
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceDrmPropertiesEXT);
}
#endif
#ifdef VK_EXT_primitive_topology_list_restart
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: {
return sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT);
}
#endif
#ifdef VK_FUCHSIA_external_memory
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: {
return sizeof(VkImportMemoryZirconHandleInfoFUCHSIA);
}
#endif
#ifdef VK_FUCHSIA_buffer_collection
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: {
return sizeof(VkImportMemoryBufferCollectionFUCHSIA);
}
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: {
return sizeof(VkBufferCollectionImageCreateInfoFUCHSIA);
}
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: {
return sizeof(VkBufferCollectionBufferCreateInfoFUCHSIA);
}
#endif
#ifdef VK_HUAWEI_subpass_shading
case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: {
return sizeof(VkSubpassShadingPipelineCreateInfoHUAWEI);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: {
return sizeof(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: {
return sizeof(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI);
}
#endif
#ifdef VK_HUAWEI_invocation_mask
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: {
return sizeof(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI);
}
#endif
#ifdef VK_NV_external_memory_rdma
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: {
return sizeof(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV);
}
#endif
#ifdef VK_EXT_extended_dynamic_state2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT);
}
#endif
#ifdef VK_EXT_color_write_enable
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceColorWriteEnableFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: {
return sizeof(VkPipelineColorWriteCreateInfoEXT);
}
#endif
#ifdef VK_GOOGLE_gfxstream
case VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE: {
return sizeof(VkImportColorBufferGOOGLE);
}
case VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE: {
return sizeof(VkImportBufferGOOGLE);
}
#endif
#ifdef VK_EXT_global_priority_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT);
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: {
return sizeof(VkQueueFamilyGlobalPriorityPropertiesEXT);
}
#endif
#ifdef VK_EXT_multi_draw
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceMultiDrawPropertiesEXT);
}
#endif
#ifdef VK_EXT_border_color_swizzle
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT);
}
case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: {
return sizeof(VkSamplerBorderColorComponentMappingCreateInfoEXT);
}
#endif
#ifdef VK_EXT_pageable_device_local_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: {
return sizeof(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT);
}
#endif
#ifdef VK_KHR_acceleration_structure
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: {
return sizeof(VkWriteDescriptorSetAccelerationStructureKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceAccelerationStructureFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceAccelerationStructurePropertiesKHR);
}
#endif
#ifdef VK_KHR_ray_tracing_pipeline
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceRayTracingPipelineFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceRayTracingPipelinePropertiesKHR);
}
#endif
#ifdef VK_KHR_ray_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceRayQueryFeaturesKHR);
}
#endif
default: {
return (size_t)0;
}
}
}
size_t goldfish_vk_extension_struct_size_with_stream_features(uint32_t streamFeatures,
VkStructureType rootType,
const void* structExtension) {
if (!structExtension) {
return (size_t)0;
}
uint32_t structType = (uint32_t)goldfish_vk_struct_type(structExtension);
switch (structType) {
#ifdef VK_VERSION_1_1
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: {
return sizeof(VkPhysicalDeviceSubgroupProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: {
return sizeof(VkPhysicalDevice16BitStorageFeatures);
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: {
return sizeof(VkMemoryDedicatedRequirements);
}
case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: {
return sizeof(VkMemoryDedicatedAllocateInfo);
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: {
return sizeof(VkMemoryAllocateFlagsInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: {
return sizeof(VkDeviceGroupRenderPassBeginInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: {
return sizeof(VkDeviceGroupCommandBufferBeginInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: {
return sizeof(VkDeviceGroupSubmitInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: {
return sizeof(VkDeviceGroupBindSparseInfo);
}
case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: {
return sizeof(VkBindBufferMemoryDeviceGroupInfo);
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: {
return sizeof(VkBindImageMemoryDeviceGroupInfo);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: {
return sizeof(VkDeviceGroupDeviceCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
return sizeof(VkPhysicalDeviceFeatures2);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: {
return sizeof(VkPhysicalDevicePointClippingProperties);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: {
return sizeof(VkRenderPassInputAttachmentAspectCreateInfo);
}
case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: {
return sizeof(VkImageViewUsageCreateInfo);
}
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: {
return sizeof(VkPipelineTessellationDomainOriginStateCreateInfo);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: {
return sizeof(VkRenderPassMultiviewCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
return sizeof(VkPhysicalDeviceMultiviewFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
return sizeof(VkPhysicalDeviceMultiviewProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: {
return sizeof(VkPhysicalDeviceVariablePointersFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: {
return sizeof(VkPhysicalDeviceProtectedMemoryFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: {
return sizeof(VkPhysicalDeviceProtectedMemoryProperties);
}
case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: {
return sizeof(VkProtectedSubmitInfo);
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: {
return sizeof(VkSamplerYcbcrConversionInfo);
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: {
return sizeof(VkBindImagePlaneMemoryInfo);
}
case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: {
return sizeof(VkImagePlaneMemoryRequirementsInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: {
return sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures);
}
case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: {
return sizeof(VkSamplerYcbcrConversionImageFormatProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: {
return sizeof(VkPhysicalDeviceExternalImageFormatInfo);
}
case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: {
return sizeof(VkExternalImageFormatProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
return sizeof(VkPhysicalDeviceIDProperties);
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: {
return sizeof(VkExternalMemoryImageCreateInfo);
}
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: {
return sizeof(VkExternalMemoryBufferCreateInfo);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
return sizeof(VkExportMemoryAllocateInfo);
}
case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: {
return sizeof(VkExportFenceCreateInfo);
}
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: {
return sizeof(VkExportSemaphoreCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
return sizeof(VkPhysicalDeviceMaintenance3Properties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: {
return sizeof(VkPhysicalDeviceShaderDrawParametersFeatures);
}
#endif
#ifdef VK_VERSION_1_2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: {
return sizeof(VkPhysicalDeviceVulkan11Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: {
return sizeof(VkPhysicalDeviceVulkan11Properties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: {
return sizeof(VkPhysicalDeviceVulkan12Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: {
return sizeof(VkPhysicalDeviceVulkan12Properties);
}
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: {
return sizeof(VkImageFormatListCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: {
return sizeof(VkPhysicalDevice8BitStorageFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: {
return sizeof(VkPhysicalDeviceDriverProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: {
return sizeof(VkPhysicalDeviceShaderAtomicInt64Features);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: {
if (streamFeatures & VULKAN_STREAM_FEATURE_SHADER_FLOAT16_INT8_BIT) {
return sizeof(VkPhysicalDeviceShaderFloat16Int8Features);
} else {
return 0;
}
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: {
return sizeof(VkPhysicalDeviceFloatControlsProperties);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: {
return sizeof(VkDescriptorSetLayoutBindingFlagsCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: {
return sizeof(VkPhysicalDeviceDescriptorIndexingFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: {
return sizeof(VkPhysicalDeviceDescriptorIndexingProperties);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: {
return sizeof(VkDescriptorSetVariableDescriptorCountAllocateInfo);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: {
return sizeof(VkDescriptorSetVariableDescriptorCountLayoutSupport);
}
case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: {
return sizeof(VkSubpassDescriptionDepthStencilResolve);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: {
return sizeof(VkPhysicalDeviceDepthStencilResolveProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: {
return sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures);
}
case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: {
return sizeof(VkImageStencilUsageCreateInfo);
}
case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: {
return sizeof(VkSamplerReductionModeCreateInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: {
return sizeof(VkPhysicalDeviceSamplerFilterMinmaxProperties);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: {
return sizeof(VkPhysicalDeviceVulkanMemoryModelFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: {
return sizeof(VkPhysicalDeviceImagelessFramebufferFeatures);
}
case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: {
return sizeof(VkFramebufferAttachmentsCreateInfo);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: {
return sizeof(VkRenderPassAttachmentBeginInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: {
return sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: {
return sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: {
return sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures);
}
case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: {
return sizeof(VkAttachmentReferenceStencilLayout);
}
case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: {
return sizeof(VkAttachmentDescriptionStencilLayout);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: {
return sizeof(VkPhysicalDeviceHostQueryResetFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: {
return sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: {
return sizeof(VkPhysicalDeviceTimelineSemaphoreProperties);
}
case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: {
return sizeof(VkSemaphoreTypeCreateInfo);
}
case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: {
return sizeof(VkTimelineSemaphoreSubmitInfo);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: {
return sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures);
}
case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: {
return sizeof(VkBufferOpaqueCaptureAddressCreateInfo);
}
case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: {
return sizeof(VkMemoryOpaqueCaptureAddressAllocateInfo);
}
#endif
#ifdef VK_KHR_swapchain
case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: {
return sizeof(VkImageSwapchainCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: {
return sizeof(VkBindImageMemorySwapchainInfoKHR);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: {
return sizeof(VkDeviceGroupPresentInfoKHR);
}
case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: {
return sizeof(VkDeviceGroupSwapchainCreateInfoKHR);
}
#endif
#ifdef VK_KHR_display_swapchain
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: {
return sizeof(VkDisplayPresentInfoKHR);
}
#endif
#ifdef VK_KHR_video_queue
case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: {
return sizeof(VkVideoQueueFamilyProperties2KHR);
}
case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: {
return sizeof(VkVideoProfileKHR);
}
case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: {
return sizeof(VkVideoProfilesKHR);
}
#endif
#ifdef VK_KHR_dynamic_rendering
case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: {
return sizeof(VkPipelineRenderingCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceDynamicRenderingFeaturesKHR);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: {
return sizeof(VkCommandBufferInheritanceRenderingInfoKHR);
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
return sizeof(VkRenderingFragmentShadingRateAttachmentInfoKHR);
}
case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: {
return sizeof(VkRenderingFragmentDensityMapAttachmentInfoEXT);
}
case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: {
return sizeof(VkAttachmentSampleCountInfoAMD);
}
case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: {
return sizeof(VkMultiviewPerViewAttributesInfoNVX);
}
#endif
#ifdef VK_KHR_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkImportMemoryWin32HandleInfoKHR);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkExportMemoryWin32HandleInfoKHR);
}
#endif
#ifdef VK_KHR_external_memory_fd
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: {
return sizeof(VkImportMemoryFdInfoKHR);
}
#endif
#ifdef VK_KHR_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: {
return sizeof(VkWin32KeyedMutexAcquireReleaseInfoKHR);
}
#endif
#ifdef VK_KHR_external_semaphore_win32
case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkExportSemaphoreWin32HandleInfoKHR);
}
case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: {
return sizeof(VkD3D12FenceSubmitInfoKHR);
}
#endif
#ifdef VK_KHR_push_descriptor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: {
return sizeof(VkPhysicalDevicePushDescriptorPropertiesKHR);
}
#endif
#ifdef VK_KHR_incremental_present
case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: {
return sizeof(VkPresentRegionsKHR);
}
#endif
#ifdef VK_KHR_shared_presentable_image
case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: {
return sizeof(VkSharedPresentSurfaceCapabilitiesKHR);
}
#endif
#ifdef VK_KHR_external_fence_win32
case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: {
return sizeof(VkExportFenceWin32HandleInfoKHR);
}
#endif
#ifdef VK_KHR_performance_query
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: {
return sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR);
}
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: {
return sizeof(VkQueryPoolPerformanceCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: {
return sizeof(VkPerformanceQuerySubmitInfoKHR);
}
#endif
#ifdef VK_KHR_portability_subset
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: {
return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR);
}
#endif
#ifdef VK_KHR_shader_clock
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR);
}
#endif
#ifdef VK_KHR_shader_terminate_invocation
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR);
}
#endif
#ifdef VK_KHR_fragment_shading_rate
case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: {
return sizeof(VkFragmentShadingRateAttachmentInfoKHR);
}
case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: {
return sizeof(VkPipelineFragmentShadingRateStateCreateInfoKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceFragmentShadingRatePropertiesKHR);
}
#endif
#ifdef VK_KHR_surface_protected_capabilities
case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: {
return sizeof(VkSurfaceProtectedCapabilitiesKHR);
}
#endif
#ifdef VK_KHR_present_wait
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePresentWaitFeaturesKHR);
}
#endif
#ifdef VK_KHR_pipeline_executable_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR);
}
#endif
#ifdef VK_KHR_shader_integer_dot_product
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR);
}
#endif
#ifdef VK_KHR_present_id
case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: {
return sizeof(VkPresentIdKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: {
return sizeof(VkPhysicalDevicePresentIdFeaturesKHR);
}
#endif
#ifdef VK_KHR_video_encode_queue
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: {
return sizeof(VkVideoEncodeRateControlInfoKHR);
}
#endif
#ifdef VK_KHR_synchronization2
case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: {
return sizeof(VkMemoryBarrier2KHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceSynchronization2FeaturesKHR);
}
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: {
return sizeof(VkQueueFamilyCheckpointProperties2NV);
}
#endif
#ifdef VK_KHR_shader_subgroup_uniform_control_flow
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR);
}
#endif
#ifdef VK_KHR_zero_initialize_workgroup_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR);
}
#endif
#ifdef VK_KHR_workgroup_memory_explicit_layout
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR);
}
#endif
#ifdef VK_KHR_format_feature_flags2
case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: {
return sizeof(VkFormatProperties3KHR);
}
#endif
#ifdef VK_KHR_maintenance4
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: {
return sizeof(VkPhysicalDeviceMaintenance4FeaturesKHR);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: {
return sizeof(VkPhysicalDeviceMaintenance4PropertiesKHR);
}
#endif
#ifdef VK_ANDROID_native_buffer
case VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID: {
return sizeof(VkNativeBufferANDROID);
}
#endif
#ifdef VK_EXT_debug_report
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: {
return sizeof(VkDebugReportCallbackCreateInfoEXT);
}
#endif
#ifdef VK_AMD_rasterization_order
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: {
return sizeof(VkPipelineRasterizationStateRasterizationOrderAMD);
}
#endif
#ifdef VK_NV_dedicated_allocation
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: {
return sizeof(VkDedicatedAllocationImageCreateInfoNV);
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: {
return sizeof(VkDedicatedAllocationBufferCreateInfoNV);
}
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: {
return sizeof(VkDedicatedAllocationMemoryAllocateInfoNV);
}
#endif
#ifdef VK_EXT_transform_feedback
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceTransformFeedbackPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationStateStreamCreateInfoEXT);
}
#endif
#ifdef VK_EXT_video_encode_h264
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: {
return sizeof(VkVideoEncodeH264CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH264SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoEncodeH264SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH264SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: {
return sizeof(VkVideoEncodeH264VclFrameInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: {
return sizeof(VkVideoEncodeH264EmitPictureParametersEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: {
return sizeof(VkVideoEncodeH264ProfileEXT);
}
#endif
#ifdef VK_EXT_video_encode_h265
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: {
return sizeof(VkVideoEncodeH265CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH265SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoEncodeH265SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoEncodeH265SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: {
return sizeof(VkVideoEncodeH265VclFrameInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: {
return sizeof(VkVideoEncodeH265EmitPictureParametersEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: {
return sizeof(VkVideoEncodeH265ProfileEXT);
}
#endif
#ifdef VK_EXT_video_decode_h264
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: {
return sizeof(VkVideoDecodeH264ProfileEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: {
return sizeof(VkVideoDecodeH264CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH264SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoDecodeH264SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH264SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: {
return sizeof(VkVideoDecodeH264PictureInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: {
return sizeof(VkVideoDecodeH264MvcEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: {
return sizeof(VkVideoDecodeH264DpbSlotInfoEXT);
}
#endif
#ifdef VK_AMD_texture_gather_bias_lod
case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: {
return sizeof(VkTextureLODGatherFormatPropertiesAMD);
}
#endif
#ifdef VK_NV_corner_sampled_image
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: {
return sizeof(VkPhysicalDeviceCornerSampledImageFeaturesNV);
}
#endif
#ifdef VK_NV_external_memory
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: {
return sizeof(VkExternalMemoryImageCreateInfoNV);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: {
return sizeof(VkExportMemoryAllocateInfoNV);
}
#endif
#ifdef VK_NV_external_memory_win32
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
return sizeof(VkImportMemoryWin32HandleInfoNV);
}
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: {
return sizeof(VkExportMemoryWin32HandleInfoNV);
}
#endif
#ifdef VK_NV_win32_keyed_mutex
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: {
return sizeof(VkWin32KeyedMutexAcquireReleaseInfoNV);
}
#endif
#ifdef VK_EXT_validation_flags
case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: {
return sizeof(VkValidationFlagsEXT);
}
#endif
#ifdef VK_EXT_texture_compression_astc_hdr
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT);
}
#endif
#ifdef VK_EXT_astc_decode_mode
case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: {
return sizeof(VkImageViewASTCDecodeModeEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT);
}
#endif
#ifdef VK_EXT_conditional_rendering
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: {
return sizeof(VkCommandBufferInheritanceConditionalRenderingInfoEXT);
}
#endif
#ifdef VK_NV_clip_space_w_scaling
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportWScalingStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_display_control
case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: {
return sizeof(VkSwapchainCounterCreateInfoEXT);
}
#endif
#ifdef VK_GOOGLE_display_timing
case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: {
return sizeof(VkPresentTimesInfoGOOGLE);
}
#endif
#ifdef VK_NVX_multiview_per_view_attributes
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: {
return sizeof(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX);
}
#endif
#ifdef VK_NV_viewport_swizzle
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportSwizzleStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_discard_rectangles
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineDiscardRectangleStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_conservative_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceConservativeRasterizationPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationConservativeStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_depth_clip_enable
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationDepthClipStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_debug_utils
case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: {
return sizeof(VkDebugUtilsMessengerCreateInfoEXT);
}
#endif
#ifdef VK_ANDROID_external_memory_android_hardware_buffer
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: {
return sizeof(VkAndroidHardwareBufferUsageANDROID);
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: {
return sizeof(VkAndroidHardwareBufferFormatPropertiesANDROID);
}
case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: {
return sizeof(VkImportAndroidHardwareBufferInfoANDROID);
}
case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: {
return sizeof(VkExternalFormatANDROID);
}
case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: {
return sizeof(VkAndroidHardwareBufferFormatProperties2ANDROID);
}
#endif
#ifdef VK_EXT_inline_uniform_block
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceInlineUniformBlockFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceInlineUniformBlockPropertiesEXT);
}
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: {
return sizeof(VkWriteDescriptorSetInlineUniformBlockEXT);
}
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: {
return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfoEXT);
}
#endif
#ifdef VK_EXT_sample_locations
case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: {
return sizeof(VkSampleLocationsInfoEXT);
}
case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: {
return sizeof(VkRenderPassSampleLocationsBeginInfoEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineSampleLocationsStateCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceSampleLocationsPropertiesEXT);
}
#endif
#ifdef VK_EXT_blend_operation_advanced
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineColorBlendAdvancedStateCreateInfoEXT);
}
#endif
#ifdef VK_NV_fragment_coverage_to_color
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineCoverageToColorStateCreateInfoNV);
}
#endif
#ifdef VK_NV_framebuffer_mixed_samples
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineCoverageModulationStateCreateInfoNV);
}
#endif
#ifdef VK_NV_shader_sm_builtins
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: {
return sizeof(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV);
}
#endif
#ifdef VK_EXT_image_drm_format_modifier
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: {
return sizeof(VkDrmFormatModifierPropertiesListEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: {
return sizeof(VkPhysicalDeviceImageDrmFormatModifierInfoEXT);
}
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: {
return sizeof(VkImageDrmFormatModifierListCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: {
return sizeof(VkImageDrmFormatModifierExplicitCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: {
return sizeof(VkDrmFormatModifierPropertiesList2EXT);
}
#endif
#ifdef VK_EXT_validation_cache
case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: {
return sizeof(VkShaderModuleValidationCacheCreateInfoEXT);
}
#endif
#ifdef VK_NV_shading_rate_image
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportShadingRateImageStateCreateInfoNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: {
return sizeof(VkPhysicalDeviceShadingRateImageFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceShadingRateImagePropertiesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportCoarseSampleOrderStateCreateInfoNV);
}
#endif
#ifdef VK_NV_ray_tracing
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: {
return sizeof(VkWriteDescriptorSetAccelerationStructureNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceRayTracingPropertiesNV);
}
#endif
#ifdef VK_NV_representative_fragment_test
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: {
return sizeof(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineRepresentativeFragmentTestStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_filter_cubic
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: {
return sizeof(VkPhysicalDeviceImageViewImageFormatInfoEXT);
}
case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: {
return sizeof(VkFilterCubicImageViewImageFormatPropertiesEXT);
}
#endif
#ifdef VK_EXT_global_priority
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: {
return sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT);
}
#endif
#ifdef VK_EXT_external_memory_host
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: {
return sizeof(VkImportMemoryHostPointerInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT);
}
#endif
#ifdef VK_AMD_pipeline_compiler_control
case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: {
return sizeof(VkPipelineCompilerControlCreateInfoAMD);
}
#endif
#ifdef VK_AMD_shader_core_properties
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: {
return sizeof(VkPhysicalDeviceShaderCorePropertiesAMD);
}
#endif
#ifdef VK_EXT_video_decode_h265
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: {
return sizeof(VkVideoDecodeH265ProfileEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: {
return sizeof(VkVideoDecodeH265CapabilitiesEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH265SessionCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: {
return sizeof(VkVideoDecodeH265SessionParametersAddInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: {
return sizeof(VkVideoDecodeH265SessionParametersCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: {
return sizeof(VkVideoDecodeH265PictureInfoEXT);
}
case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: {
return sizeof(VkVideoDecodeH265DpbSlotInfoEXT);
}
#endif
#ifdef VK_AMD_memory_overallocation_behavior
case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
return sizeof(VkDeviceMemoryOverallocationCreateInfoAMD);
}
#endif
#ifdef VK_EXT_vertex_attribute_divisor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineVertexInputDivisorStateCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT);
}
#endif
#ifdef VK_GGP_frame_token
case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: {
return sizeof(VkPresentFrameTokenGGP);
}
#endif
#ifdef VK_EXT_pipeline_creation_feedback
case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: {
return sizeof(VkPipelineCreationFeedbackCreateInfoEXT);
}
#endif
#ifdef VK_NV_compute_shader_derivatives
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: {
return sizeof(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV);
}
#endif
#ifdef VK_NV_mesh_shader
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: {
return sizeof(VkPhysicalDeviceMeshShaderFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceMeshShaderPropertiesNV);
}
#endif
#ifdef VK_NV_fragment_shader_barycentric
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: {
return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV);
}
#endif
#ifdef VK_NV_shader_image_footprint
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: {
return sizeof(VkPhysicalDeviceShaderImageFootprintFeaturesNV);
}
#endif
#ifdef VK_NV_scissor_exclusive
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineViewportExclusiveScissorStateCreateInfoNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: {
return sizeof(VkPhysicalDeviceExclusiveScissorFeaturesNV);
}
#endif
#ifdef VK_NV_device_diagnostic_checkpoints
case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: {
return sizeof(VkQueueFamilyCheckpointPropertiesNV);
}
#endif
#ifdef VK_INTEL_shader_integer_functions2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: {
return sizeof(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL);
}
#endif
#ifdef VK_INTEL_performance_query
case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: {
return sizeof(VkQueryPoolPerformanceQueryCreateInfoINTEL);
}
#endif
#ifdef VK_EXT_pci_bus_info
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: {
return sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT);
}
#endif
#ifdef VK_AMD_display_native_hdr
case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: {
return sizeof(VkDisplayNativeHdrSurfaceCapabilitiesAMD);
}
case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: {
return sizeof(VkSwapchainDisplayNativeHdrCreateInfoAMD);
}
#endif
#ifdef VK_EXT_fragment_density_map
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: {
switch (rootType) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: {
return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
break;
}
case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: {
return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
return sizeof(VkImportColorBufferGOOGLE);
break;
}
default: {
return sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT);
break;
}
}
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: {
switch (rootType) {
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: {
return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
break;
}
default: {
return sizeof(VkPhysicalDeviceFragmentDensityMapPropertiesEXT);
break;
}
}
}
case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: {
switch (rootType) {
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: {
return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
break;
}
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: {
return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
break;
}
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: {
return sizeof(VkImportBufferGOOGLE);
break;
}
default: {
return sizeof(VkRenderPassFragmentDensityMapCreateInfoEXT);
break;
}
}
}
#endif
#ifdef VK_EXT_subgroup_size_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: {
return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT);
}
#endif
#ifdef VK_AMD_shader_core_properties2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: {
return sizeof(VkPhysicalDeviceShaderCoreProperties2AMD);
}
#endif
#ifdef VK_AMD_device_coherent_memory
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: {
return sizeof(VkPhysicalDeviceCoherentMemoryFeaturesAMD);
}
#endif
#ifdef VK_EXT_shader_image_atomic_int64
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT);
}
#endif
#ifdef VK_EXT_memory_budget
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceMemoryBudgetPropertiesEXT);
}
#endif
#ifdef VK_EXT_memory_priority
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT);
}
case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: {
return sizeof(VkMemoryPriorityAllocateInfoEXT);
}
#endif
#ifdef VK_NV_dedicated_allocation_image_aliasing
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: {
return sizeof(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV);
}
#endif
#ifdef VK_EXT_buffer_device_address
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT);
}
case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: {
return sizeof(VkBufferDeviceAddressCreateInfoEXT);
}
#endif
#ifdef VK_EXT_validation_features
case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: {
return sizeof(VkValidationFeaturesEXT);
}
#endif
#ifdef VK_NV_cooperative_matrix
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: {
return sizeof(VkPhysicalDeviceCooperativeMatrixFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceCooperativeMatrixPropertiesNV);
}
#endif
#ifdef VK_NV_coverage_reduction_mode
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: {
return sizeof(VkPhysicalDeviceCoverageReductionModeFeaturesNV);
}
case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: {
return sizeof(VkPipelineCoverageReductionStateCreateInfoNV);
}
#endif
#ifdef VK_EXT_fragment_shader_interlock
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT);
}
#endif
#ifdef VK_EXT_ycbcr_image_arrays
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT);
}
#endif
#ifdef VK_EXT_provoking_vertex
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceProvokingVertexPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationProvokingVertexStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_full_screen_exclusive
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: {
return sizeof(VkSurfaceFullScreenExclusiveInfoEXT);
}
case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: {
return sizeof(VkSurfaceCapabilitiesFullScreenExclusiveEXT);
}
case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: {
return sizeof(VkSurfaceFullScreenExclusiveWin32InfoEXT);
}
#endif
#ifdef VK_EXT_line_rasterization
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceLineRasterizationPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: {
return sizeof(VkPipelineRasterizationLineStateCreateInfoEXT);
}
#endif
#ifdef VK_EXT_shader_atomic_float
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT);
}
#endif
#ifdef VK_EXT_index_type_uint8
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT);
}
#endif
#ifdef VK_EXT_extended_dynamic_state
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT);
}
#endif
#ifdef VK_EXT_shader_atomic_float2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT);
}
#endif
#ifdef VK_EXT_shader_demote_to_helper_invocation
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT);
}
#endif
#ifdef VK_NV_device_generated_commands
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: {
return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: {
return sizeof(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV);
}
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: {
return sizeof(VkGraphicsPipelineShaderGroupsCreateInfoNV);
}
#endif
#ifdef VK_NV_inherited_viewport_scissor
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: {
return sizeof(VkPhysicalDeviceInheritedViewportScissorFeaturesNV);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: {
return sizeof(VkCommandBufferInheritanceViewportScissorInfoNV);
}
#endif
#ifdef VK_EXT_texel_buffer_alignment
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT);
}
#endif
#ifdef VK_QCOM_render_pass_transform
case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: {
return sizeof(VkRenderPassTransformBeginInfoQCOM);
}
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: {
return sizeof(VkCommandBufferInheritanceRenderPassTransformInfoQCOM);
}
#endif
#ifdef VK_EXT_device_memory_report
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT);
}
case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: {
return sizeof(VkDeviceDeviceMemoryReportCreateInfoEXT);
}
#endif
#ifdef VK_EXT_robustness2
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceRobustness2FeaturesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceRobustness2PropertiesEXT);
}
#endif
#ifdef VK_EXT_custom_border_color
case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: {
return sizeof(VkSamplerCustomBorderColorCreateInfoEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: {
return sizeof(VkPhysicalDeviceCustomBorderColorPropertiesEXT);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: {
return sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT);
}
#endif
#ifdef VK_EXT_private_data
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: {
return sizeof(VkPhysicalDevicePrivateDataFeaturesEXT);
}
case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: {
return sizeof(VkDevicePrivateDataCreateInfoEXT);
}
#endif
#ifdef VK_EXT_pipeline_creation_cache_control
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: {
return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT);
}
#endif
#ifdef VK_NV_device_diagnostics_config
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: {
return sizeof(VkPhysicalDeviceDiagnosticsConfigFeaturesNV);
}
case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: {
return sizeof(VkDeviceDiagnosticsConfigCreateInfoNV);
}
#endif
#ifdef VK_NV_fragment_shading_rate_enums
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: {
return sizeof(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV);
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: {
return sizeof(VkPhysicalDevic