// 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 // // (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml // -registryGfxstream codegen/vulkan/xml/vk_gfxstream.xml cereal -o host/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.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_VERSION_1_3 #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_video_decode_h264 #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_video_decode_h265 #endif #ifdef VK_KHR_global_priority #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_map_memory2 #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_fragment_shader_barycentric #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_ray_tracing_maintenance1 #endif #ifdef VK_KHR_portability_enumeration #endif #ifdef VK_KHR_maintenance4 #endif #ifdef VK_KHR_ray_tracing_position_fetch #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_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_pipeline_robustness #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_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_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_surface_maintenance1 #endif #ifdef VK_EXT_swapchain_maintenance1 #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_NV_present_barrier #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_low_latency #endif #ifdef VK_EXT_metal_objects #endif #ifdef VK_EXT_descriptor_buffer #endif #ifdef VK_EXT_graphics_pipeline_library #endif #ifdef VK_AMD_shader_early_and_late_fragment_tests #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_image_compression_control #endif #ifdef VK_EXT_attachment_feedback_loop_layout #endif #ifdef VK_EXT_4444_formats #endif #ifdef VK_EXT_device_fault #endif #ifdef VK_ARM_rasterization_order_attachment_access #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_device_address_binding_report #endif #ifdef VK_EXT_depth_clip_control #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_pipeline_properties #endif #ifdef VK_EXT_multisampled_render_to_single_sampled #endif #ifdef VK_EXT_extended_dynamic_state2 #endif #ifdef VK_QNX_screen_surface #endif #ifdef VK_EXT_color_write_enable #endif #ifdef VK_EXT_primitives_generated_query #endif #ifdef VK_GOOGLE_gfxstream #endif #ifdef VK_EXT_global_priority_query #endif #ifdef VK_EXT_image_view_min_lod #endif #ifdef VK_EXT_multi_draw #endif #ifdef VK_EXT_image_2d_view_of_3d #endif #ifdef VK_EXT_shader_tile_image #endif #ifdef VK_EXT_opacity_micromap #endif #ifdef VK_NV_displacement_micromap #endif #ifdef VK_EXT_load_store_op_none #endif #ifdef VK_HUAWEI_cluster_culling_shader #endif #ifdef VK_EXT_border_color_swizzle #endif #ifdef VK_EXT_pageable_device_local_memory #endif #ifdef VK_ARM_shader_core_properties #endif #ifdef VK_EXT_image_sliced_view_of_3d #endif #ifdef VK_VALVE_descriptor_set_host_mapping #endif #ifdef VK_EXT_depth_clamp_zero_one #endif #ifdef VK_EXT_non_seamless_cube_map #endif #ifdef VK_QCOM_fragment_density_map_offset #endif #ifdef VK_NV_copy_memory_indirect #endif #ifdef VK_NV_memory_decompression #endif #ifdef VK_NV_linear_color_attachment #endif #ifdef VK_GOOGLE_surfaceless_query #endif #ifdef VK_EXT_image_compression_control_swapchain #endif #ifdef VK_QCOM_image_processing #endif #ifdef VK_EXT_extended_dynamic_state3 #endif #ifdef VK_EXT_subpass_merge_feedback #endif #ifdef VK_LUNARG_direct_driver_loading #endif #ifdef VK_EXT_shader_module_identifier #endif #ifdef VK_EXT_rasterization_order_attachment_access #endif #ifdef VK_NV_optical_flow #endif #ifdef VK_EXT_legacy_dithering #endif #ifdef VK_EXT_pipeline_protected_access #endif #ifdef VK_EXT_shader_object #endif #ifdef VK_QCOM_tile_properties #endif #ifdef VK_SEC_amigo_profiling #endif #ifdef VK_QCOM_multiview_per_view_viewports #endif #ifdef VK_NV_ray_tracing_invocation_reorder #endif #ifdef VK_EXT_mutable_descriptor_type #endif #ifdef VK_ARM_shader_core_builtins #endif #ifdef VK_EXT_pipeline_library_group_handles #endif #ifdef VK_QCOM_multiview_per_view_render_areas #endif #ifdef VK_EXT_attachment_feedback_loop_dynamic_state #endif #ifdef VK_KHR_acceleration_structure #endif #ifdef VK_KHR_ray_tracing_pipeline #endif #ifdef VK_KHR_ray_query #endif #ifdef VK_EXT_mesh_shader #endif uint32_t goldfish_vk_struct_type(const void* structExtension) { const uint32_t asStructType = *(reinterpret_cast(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_0 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: { return sizeof(VkShaderModuleCreateInfo); } #endif #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_VERSION_1_3 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: { return sizeof(VkPhysicalDeviceVulkan13Features); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: { return sizeof(VkPhysicalDeviceVulkan13Properties); } case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: { return sizeof(VkPipelineCreationFeedbackCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: { return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: { return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: { return sizeof(VkPhysicalDevicePrivateDataFeatures); } case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: { return sizeof(VkDevicePrivateDataCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: { return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures); } case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: { return sizeof(VkMemoryBarrier2); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: { return sizeof(VkPhysicalDeviceSynchronization2Features); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: { return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: { return sizeof(VkPhysicalDeviceImageRobustnessFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: { return sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: { return sizeof(VkPhysicalDeviceSubgroupSizeControlProperties); } case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: { return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: { return sizeof(VkPhysicalDeviceInlineUniformBlockFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { return sizeof(VkPhysicalDeviceInlineUniformBlockProperties); } case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: { return sizeof(VkWriteDescriptorSetInlineUniformBlock); } case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: { return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures); } case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: { return sizeof(VkPipelineRenderingCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: { return sizeof(VkPhysicalDeviceDynamicRenderingFeatures); } case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: { return sizeof(VkCommandBufferInheritanceRenderingInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: { return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: { return sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: { return sizeof(VkPhysicalDeviceTexelBufferAlignmentProperties); } case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: { return sizeof(VkFormatProperties3); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: { return sizeof(VkPhysicalDeviceMaintenance4Features); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: { return sizeof(VkPhysicalDeviceMaintenance4Properties); } #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_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: { return sizeof(VkQueueFamilyQueryResultStatusPropertiesKHR); } case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: { return sizeof(VkQueueFamilyVideoPropertiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: { return sizeof(VkVideoProfileInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: { return sizeof(VkVideoProfileListInfoKHR); } #endif #ifdef VK_KHR_video_decode_queue case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: { return sizeof(VkVideoDecodeCapabilitiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: { return sizeof(VkVideoDecodeUsageInfoKHR); } #endif #ifdef VK_KHR_video_decode_h264 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: { return sizeof(VkVideoDecodeH264ProfileInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: { return sizeof(VkVideoDecodeH264CapabilitiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: { return sizeof(VkVideoDecodeH264SessionParametersAddInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: { return sizeof(VkVideoDecodeH264SessionParametersCreateInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: { return sizeof(VkVideoDecodeH264PictureInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: { return sizeof(VkVideoDecodeH264DpbSlotInfoKHR); } #endif #ifdef VK_KHR_dynamic_rendering 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 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: { return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: { return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_shader_clock case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: { return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR); } #endif #ifdef VK_KHR_video_decode_h265 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: { return sizeof(VkVideoDecodeH265ProfileInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: { return sizeof(VkVideoDecodeH265CapabilitiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: { return sizeof(VkVideoDecodeH265SessionParametersAddInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: { return sizeof(VkVideoDecodeH265SessionParametersCreateInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: { return sizeof(VkVideoDecodeH265PictureInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: { return sizeof(VkVideoDecodeH265DpbSlotInfoKHR); } #endif #ifdef VK_KHR_global_priority case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: { return sizeof(VkDeviceQueueGlobalPriorityCreateInfoKHR); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: { return sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR); } case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: { return sizeof(VkQueueFamilyGlobalPriorityPropertiesKHR); } #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_pipeline_library case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: { return sizeof(VkPipelineLibraryCreateInfoKHR); } #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 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: { return sizeof(VkVideoEncodeCapabilitiesKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: { return sizeof(VkQueryPoolVideoEncodeFeedbackCreateInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: { return sizeof(VkVideoEncodeUsageInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: { return sizeof(VkVideoEncodeRateControlLayerInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: { return sizeof(VkVideoEncodeRateControlInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_synchronization2 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: { return sizeof(VkQueueFamilyCheckpointProperties2NV); } #endif #ifdef VK_KHR_fragment_shader_barycentric case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: { return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: { return sizeof(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR); } #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_workgroup_memory_explicit_layout case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: { return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR); } #endif #ifdef VK_KHR_ray_tracing_maintenance1 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: { return sizeof(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR); } #endif #ifdef VK_KHR_ray_tracing_position_fetch case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: { return sizeof(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR); } #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 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: { return sizeof(VkVideoEncodeH264CapabilitiesEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: { return sizeof(VkVideoEncodeH264SessionParametersAddInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: { return sizeof(VkVideoEncodeH264SessionParametersCreateInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: { return sizeof(VkVideoEncodeH264VclFrameInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: { return sizeof(VkVideoEncodeH264DpbSlotInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: { return sizeof(VkVideoEncodeH264ProfileInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: { return sizeof(VkVideoEncodeH264RateControlInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: { return sizeof(VkVideoEncodeH264RateControlLayerInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_EXT_video_encode_h265 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: { return sizeof(VkVideoEncodeH265CapabilitiesEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: { return sizeof(VkVideoEncodeH265SessionParametersAddInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: { return sizeof(VkVideoEncodeH265SessionParametersCreateInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: { return sizeof(VkVideoEncodeH265VclFrameInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: { return sizeof(VkVideoEncodeH265DpbSlotInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: { return sizeof(VkVideoEncodeH265ProfileInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: { return sizeof(VkVideoEncodeH265RateControlInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: { return sizeof(VkVideoEncodeH265RateControlLayerInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #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_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_pipeline_robustness case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelineRobustnessFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: { return sizeof(VkPhysicalDevicePipelineRobustnessPropertiesEXT); } case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: { return sizeof(VkPipelineRobustnessCreateInfoEXT); } #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_OBJECT_NAME_INFO_EXT: { return sizeof(VkDebugUtilsObjectNameInfoEXT); } 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_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_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_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_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_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; } case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: { return sizeof(VkCreateBlobGOOGLE); 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_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_surface_maintenance1 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: { return sizeof(VkSurfacePresentModeEXT); } case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: { return sizeof(VkSurfacePresentScalingCapabilitiesEXT); } case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: { return sizeof(VkSurfacePresentModeCompatibilityEXT); } #endif #ifdef VK_EXT_swapchain_maintenance1 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: { return sizeof(VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: { return sizeof(VkSwapchainPresentFenceInfoEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: { return sizeof(VkSwapchainPresentModesCreateInfoEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: { return sizeof(VkSwapchainPresentModeInfoEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: { return sizeof(VkSwapchainPresentScalingCreateInfoEXT); } #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); } #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_NV_present_barrier case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: { return sizeof(VkPhysicalDevicePresentBarrierFeaturesNV); } case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: { return sizeof(VkSurfaceCapabilitiesPresentBarrierNV); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: { return sizeof(VkSwapchainPresentBarrierCreateInfoNV); } #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_low_latency case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: { return sizeof(VkQueryLowLatencySupportNV); } #endif #ifdef VK_EXT_metal_objects case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: { return sizeof(VkExportMetalObjectCreateInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: { return sizeof(VkExportMetalDeviceInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: { return sizeof(VkExportMetalCommandQueueInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: { return sizeof(VkExportMetalBufferInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: { return sizeof(VkImportMetalBufferInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: { return sizeof(VkExportMetalTextureInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: { return sizeof(VkImportMetalTextureInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: { return sizeof(VkExportMetalIOSurfaceInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: { return sizeof(VkImportMetalIOSurfaceInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: { return sizeof(VkExportMetalSharedEventInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: { return sizeof(VkImportMetalSharedEventInfoEXT); } #endif #ifdef VK_EXT_descriptor_buffer case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceDescriptorBufferPropertiesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDescriptorBufferFeaturesEXT); } case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: { return sizeof(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT); } case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: { return sizeof(VkOpaqueCaptureDescriptorDataCreateInfoEXT); } #endif #ifdef VK_EXT_graphics_pipeline_library case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: { return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT); } case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: { return sizeof(VkGraphicsPipelineLibraryCreateInfoEXT); } #endif #ifdef VK_AMD_shader_early_and_late_fragment_tests case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: { return sizeof(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD); } #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_compression_control case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageCompressionControlFeaturesEXT); } case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: { return sizeof(VkImageCompressionControlEXT); } case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: { return sizeof(VkImageCompressionPropertiesEXT); } #endif #ifdef VK_EXT_attachment_feedback_loop_layout case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT); } #endif #ifdef VK_EXT_4444_formats case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: { return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT); } #endif #ifdef VK_EXT_device_fault case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceFaultFeaturesEXT); } #endif #ifdef VK_ARM_rasterization_order_attachment_access case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: { return sizeof(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT); } #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_EXT: { return sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT); } case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: { return sizeof(VkMutableDescriptorTypeCreateInfoEXT); } #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_device_address_binding_report case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceAddressBindingReportFeaturesEXT); } case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: { return sizeof(VkDeviceAddressBindingCallbackDataEXT); } #endif #ifdef VK_EXT_depth_clip_control case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT); } case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: { return sizeof(VkPipelineViewportDepthClipControlCreateInfoEXT); } #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_pipeline_properties case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelinePropertiesFeaturesEXT); } #endif #ifdef VK_EXT_multisampled_render_to_single_sampled case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: { return sizeof(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT); } case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: { return sizeof(VkSubpassResolvePerformanceQueryEXT); } case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: { return sizeof(VkMultisampledRenderToSingleSampledInfoEXT); } #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_EXT_primitives_generated_query case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: { return sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT); } #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); } case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: { return sizeof(VkCreateBlobGOOGLE); } #endif #ifdef VK_EXT_image_view_min_lod case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT); } case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: { return sizeof(VkImageViewMinLodCreateInfoEXT); } #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_image_2d_view_of_3d case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT); } #endif #ifdef VK_EXT_shader_tile_image case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderTileImageFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceShaderTileImagePropertiesEXT); } #endif #ifdef VK_EXT_opacity_micromap case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: { return sizeof(VkPhysicalDeviceOpacityMicromapFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceOpacityMicromapPropertiesEXT); } case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: { return sizeof(VkAccelerationStructureTrianglesOpacityMicromapEXT); } #endif #ifdef VK_NV_displacement_micromap #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: { return sizeof(VkPhysicalDeviceDisplacementMicromapFeaturesNV); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceDisplacementMicromapPropertiesNV); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: { return sizeof(VkAccelerationStructureTrianglesDisplacementMicromapNV); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_HUAWEI_cluster_culling_shader case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: { return sizeof(VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: { return sizeof(VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI); } #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_ARM_shader_core_properties case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: { return sizeof(VkPhysicalDeviceShaderCorePropertiesARM); } #endif #ifdef VK_EXT_image_sliced_view_of_3d case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT); } case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: { return sizeof(VkImageViewSlicedCreateInfoEXT); } #endif #ifdef VK_VALVE_descriptor_set_host_mapping case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: { return sizeof(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE); } #endif #ifdef VK_EXT_depth_clamp_zero_one case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT); } #endif #ifdef VK_EXT_non_seamless_cube_map case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: { return sizeof(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT); } #endif #ifdef VK_QCOM_fragment_density_map_offset case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: { return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM); } case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: { return sizeof(VkSubpassFragmentDensityMapOffsetEndInfoQCOM); } #endif #ifdef VK_NV_copy_memory_indirect case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: { return sizeof(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceCopyMemoryIndirectPropertiesNV); } #endif #ifdef VK_NV_memory_decompression case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: { return sizeof(VkPhysicalDeviceMemoryDecompressionFeaturesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceMemoryDecompressionPropertiesNV); } #endif #ifdef VK_NV_linear_color_attachment case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: { return sizeof(VkPhysicalDeviceLinearColorAttachmentFeaturesNV); } #endif #ifdef VK_EXT_image_compression_control_swapchain case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT); } #endif #ifdef VK_QCOM_image_processing case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: { return sizeof(VkImageViewSampleWeightCreateInfoQCOM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceImageProcessingFeaturesQCOM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: { return sizeof(VkPhysicalDeviceImageProcessingPropertiesQCOM); } #endif #ifdef VK_EXT_extended_dynamic_state3 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: { return sizeof(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT); } #endif #ifdef VK_EXT_subpass_merge_feedback case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: { return sizeof(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT); } case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: { return sizeof(VkRenderPassCreationControlEXT); } case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: { return sizeof(VkRenderPassCreationFeedbackCreateInfoEXT); } case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: { return sizeof(VkRenderPassSubpassFeedbackCreateInfoEXT); } #endif #ifdef VK_LUNARG_direct_driver_loading case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: { return sizeof(VkDirectDriverLoadingListLUNARG); } #endif #ifdef VK_EXT_shader_module_identifier case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT); } case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: { return sizeof(VkPipelineShaderStageModuleIdentifierCreateInfoEXT); } #endif #ifdef VK_NV_optical_flow case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: { return sizeof(VkPhysicalDeviceOpticalFlowFeaturesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceOpticalFlowPropertiesNV); } case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: { return sizeof(VkOpticalFlowImageFormatInfoNV); } case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: { return sizeof(VkOpticalFlowSessionCreatePrivateDataInfoNV); } #endif #ifdef VK_EXT_legacy_dithering case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: { return sizeof(VkPhysicalDeviceLegacyDitheringFeaturesEXT); } #endif #ifdef VK_EXT_pipeline_protected_access case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT); } #endif #ifdef VK_EXT_shader_object case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderObjectFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceShaderObjectPropertiesEXT); } #endif #ifdef VK_QCOM_tile_properties case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceTilePropertiesFeaturesQCOM); } #endif #ifdef VK_SEC_amigo_profiling case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: { return sizeof(VkPhysicalDeviceAmigoProfilingFeaturesSEC); } case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: { return sizeof(VkAmigoProfilingSubmitInfoSEC); } #endif #ifdef VK_QCOM_multiview_per_view_viewports case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM); } #endif #ifdef VK_NV_ray_tracing_invocation_reorder case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: { return sizeof(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV); } #endif #ifdef VK_ARM_shader_core_builtins case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: { return sizeof(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: { return sizeof(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM); } #endif #ifdef VK_EXT_pipeline_library_group_handles case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT); } #endif #ifdef VK_QCOM_multiview_per_view_render_areas case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM); } case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: { return sizeof(VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM); } #endif #ifdef VK_EXT_attachment_feedback_loop_dynamic_state case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: { return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT); } #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 #ifdef VK_EXT_mesh_shader case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: { return sizeof(VkPhysicalDeviceMeshShaderFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceMeshShaderPropertiesEXT); } #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_0 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: { return sizeof(VkShaderModuleCreateInfo); } #endif #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_VERSION_1_3 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: { return sizeof(VkPhysicalDeviceVulkan13Features); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: { return sizeof(VkPhysicalDeviceVulkan13Properties); } case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: { return sizeof(VkPipelineCreationFeedbackCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: { return sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: { return sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: { return sizeof(VkPhysicalDevicePrivateDataFeatures); } case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: { return sizeof(VkDevicePrivateDataCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: { return sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures); } case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: { return sizeof(VkMemoryBarrier2); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: { return sizeof(VkPhysicalDeviceSynchronization2Features); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: { return sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: { return sizeof(VkPhysicalDeviceImageRobustnessFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: { return sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: { return sizeof(VkPhysicalDeviceSubgroupSizeControlProperties); } case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: { return sizeof(VkPipelineShaderStageRequiredSubgroupSizeCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: { return sizeof(VkPhysicalDeviceInlineUniformBlockFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: { return sizeof(VkPhysicalDeviceInlineUniformBlockProperties); } case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: { return sizeof(VkWriteDescriptorSetInlineUniformBlock); } case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: { return sizeof(VkDescriptorPoolInlineUniformBlockCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: { return sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures); } case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: { return sizeof(VkPipelineRenderingCreateInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: { return sizeof(VkPhysicalDeviceDynamicRenderingFeatures); } case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: { return sizeof(VkCommandBufferInheritanceRenderingInfo); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: { return sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: { return sizeof(VkPhysicalDeviceShaderIntegerDotProductProperties); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: { return sizeof(VkPhysicalDeviceTexelBufferAlignmentProperties); } case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: { return sizeof(VkFormatProperties3); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: { return sizeof(VkPhysicalDeviceMaintenance4Features); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: { return sizeof(VkPhysicalDeviceMaintenance4Properties); } #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_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: { return sizeof(VkQueueFamilyQueryResultStatusPropertiesKHR); } case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: { return sizeof(VkQueueFamilyVideoPropertiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: { return sizeof(VkVideoProfileInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: { return sizeof(VkVideoProfileListInfoKHR); } #endif #ifdef VK_KHR_video_decode_queue case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: { return sizeof(VkVideoDecodeCapabilitiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: { return sizeof(VkVideoDecodeUsageInfoKHR); } #endif #ifdef VK_KHR_video_decode_h264 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: { return sizeof(VkVideoDecodeH264ProfileInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: { return sizeof(VkVideoDecodeH264CapabilitiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: { return sizeof(VkVideoDecodeH264SessionParametersAddInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: { return sizeof(VkVideoDecodeH264SessionParametersCreateInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: { return sizeof(VkVideoDecodeH264PictureInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: { return sizeof(VkVideoDecodeH264DpbSlotInfoKHR); } #endif #ifdef VK_KHR_dynamic_rendering 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 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: { return sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: { return sizeof(VkPhysicalDevicePortabilitySubsetPropertiesKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_shader_clock case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: { return sizeof(VkPhysicalDeviceShaderClockFeaturesKHR); } #endif #ifdef VK_KHR_video_decode_h265 case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: { return sizeof(VkVideoDecodeH265ProfileInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: { return sizeof(VkVideoDecodeH265CapabilitiesKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: { return sizeof(VkVideoDecodeH265SessionParametersAddInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: { return sizeof(VkVideoDecodeH265SessionParametersCreateInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: { return sizeof(VkVideoDecodeH265PictureInfoKHR); } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: { return sizeof(VkVideoDecodeH265DpbSlotInfoKHR); } #endif #ifdef VK_KHR_global_priority case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR: { return sizeof(VkDeviceQueueGlobalPriorityCreateInfoKHR); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR: { return sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR); } case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR: { return sizeof(VkQueueFamilyGlobalPriorityPropertiesKHR); } #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_pipeline_library case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: { return sizeof(VkPipelineLibraryCreateInfoKHR); } #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 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: { return sizeof(VkVideoEncodeCapabilitiesKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: { return sizeof(VkQueryPoolVideoEncodeFeedbackCreateInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: { return sizeof(VkVideoEncodeUsageInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: { return sizeof(VkVideoEncodeRateControlLayerInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: { return sizeof(VkVideoEncodeRateControlInfoKHR); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_KHR_synchronization2 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: { return sizeof(VkQueueFamilyCheckpointProperties2NV); } #endif #ifdef VK_KHR_fragment_shader_barycentric case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: { return sizeof(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: { return sizeof(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR); } #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_workgroup_memory_explicit_layout case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: { return sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR); } #endif #ifdef VK_KHR_ray_tracing_maintenance1 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: { return sizeof(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR); } #endif #ifdef VK_KHR_ray_tracing_position_fetch case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: { return sizeof(VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR); } #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 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: { return sizeof(VkVideoEncodeH264CapabilitiesEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: { return sizeof(VkVideoEncodeH264SessionParametersAddInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: { return sizeof(VkVideoEncodeH264SessionParametersCreateInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: { return sizeof(VkVideoEncodeH264VclFrameInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: { return sizeof(VkVideoEncodeH264DpbSlotInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT: { return sizeof(VkVideoEncodeH264ProfileInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: { return sizeof(VkVideoEncodeH264RateControlInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: { return sizeof(VkVideoEncodeH264RateControlLayerInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_EXT_video_encode_h265 #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: { return sizeof(VkVideoEncodeH265CapabilitiesEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: { return sizeof(VkVideoEncodeH265SessionParametersAddInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: { return sizeof(VkVideoEncodeH265SessionParametersCreateInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: { return sizeof(VkVideoEncodeH265VclFrameInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: { return sizeof(VkVideoEncodeH265DpbSlotInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT: { return sizeof(VkVideoEncodeH265ProfileInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: { return sizeof(VkVideoEncodeH265RateControlInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: { return sizeof(VkVideoEncodeH265RateControlLayerInfoEXT); } #endif // VK_ENABLE_BETA_EXTENSIONS #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_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_pipeline_robustness case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelineRobustnessFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: { return sizeof(VkPhysicalDevicePipelineRobustnessPropertiesEXT); } case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: { return sizeof(VkPipelineRobustnessCreateInfoEXT); } #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_OBJECT_NAME_INFO_EXT: { return sizeof(VkDebugUtilsObjectNameInfoEXT); } 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_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_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_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_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_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; } case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: { return sizeof(VkCreateBlobGOOGLE); 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_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_surface_maintenance1 case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: { return sizeof(VkSurfacePresentModeEXT); } case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: { return sizeof(VkSurfacePresentScalingCapabilitiesEXT); } case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: { return sizeof(VkSurfacePresentModeCompatibilityEXT); } #endif #ifdef VK_EXT_swapchain_maintenance1 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: { return sizeof(VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: { return sizeof(VkSwapchainPresentFenceInfoEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: { return sizeof(VkSwapchainPresentModesCreateInfoEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: { return sizeof(VkSwapchainPresentModeInfoEXT); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: { return sizeof(VkSwapchainPresentScalingCreateInfoEXT); } #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); } #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_NV_present_barrier case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: { return sizeof(VkPhysicalDevicePresentBarrierFeaturesNV); } case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: { return sizeof(VkSurfaceCapabilitiesPresentBarrierNV); } case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: { return sizeof(VkSwapchainPresentBarrierCreateInfoNV); } #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_low_latency case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: { return sizeof(VkQueryLowLatencySupportNV); } #endif #ifdef VK_EXT_metal_objects case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: { return sizeof(VkExportMetalObjectCreateInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: { return sizeof(VkExportMetalDeviceInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: { return sizeof(VkExportMetalCommandQueueInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: { return sizeof(VkExportMetalBufferInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: { return sizeof(VkImportMetalBufferInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: { return sizeof(VkExportMetalTextureInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: { return sizeof(VkImportMetalTextureInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: { return sizeof(VkExportMetalIOSurfaceInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: { return sizeof(VkImportMetalIOSurfaceInfoEXT); } case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: { return sizeof(VkExportMetalSharedEventInfoEXT); } case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: { return sizeof(VkImportMetalSharedEventInfoEXT); } #endif #ifdef VK_EXT_descriptor_buffer case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceDescriptorBufferPropertiesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDescriptorBufferFeaturesEXT); } case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: { return sizeof(VkDescriptorBufferBindingPushDescriptorBufferHandleEXT); } case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: { return sizeof(VkOpaqueCaptureDescriptorDataCreateInfoEXT); } #endif #ifdef VK_EXT_graphics_pipeline_library case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: { return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT); } case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: { return sizeof(VkGraphicsPipelineLibraryCreateInfoEXT); } #endif #ifdef VK_AMD_shader_early_and_late_fragment_tests case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: { return sizeof(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD); } #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_compression_control case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageCompressionControlFeaturesEXT); } case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: { return sizeof(VkImageCompressionControlEXT); } case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: { return sizeof(VkImageCompressionPropertiesEXT); } #endif #ifdef VK_EXT_attachment_feedback_loop_layout case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT); } #endif #ifdef VK_EXT_4444_formats case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: { return sizeof(VkPhysicalDevice4444FormatsFeaturesEXT); } #endif #ifdef VK_EXT_device_fault case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceFaultFeaturesEXT); } #endif #ifdef VK_ARM_rasterization_order_attachment_access case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: { return sizeof(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT); } #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_EXT: { return sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT); } case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: { return sizeof(VkMutableDescriptorTypeCreateInfoEXT); } #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_device_address_binding_report case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceAddressBindingReportFeaturesEXT); } case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: { return sizeof(VkDeviceAddressBindingCallbackDataEXT); } #endif #ifdef VK_EXT_depth_clip_control case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDepthClipControlFeaturesEXT); } case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: { return sizeof(VkPipelineViewportDepthClipControlCreateInfoEXT); } #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_pipeline_properties case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelinePropertiesFeaturesEXT); } #endif #ifdef VK_EXT_multisampled_render_to_single_sampled case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: { return sizeof(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT); } case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: { return sizeof(VkSubpassResolvePerformanceQueryEXT); } case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: { return sizeof(VkMultisampledRenderToSingleSampledInfoEXT); } #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_EXT_primitives_generated_query case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: { return sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT); } #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); } case VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE: { return sizeof(VkCreateBlobGOOGLE); } #endif #ifdef VK_EXT_image_view_min_lod case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageViewMinLodFeaturesEXT); } case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: { return sizeof(VkImageViewMinLodCreateInfoEXT); } #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_image_2d_view_of_3d case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT); } #endif #ifdef VK_EXT_shader_tile_image case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderTileImageFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceShaderTileImagePropertiesEXT); } #endif #ifdef VK_EXT_opacity_micromap case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: { return sizeof(VkPhysicalDeviceOpacityMicromapFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceOpacityMicromapPropertiesEXT); } case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: { return sizeof(VkAccelerationStructureTrianglesOpacityMicromapEXT); } #endif #ifdef VK_NV_displacement_micromap #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: { return sizeof(VkPhysicalDeviceDisplacementMicromapFeaturesNV); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceDisplacementMicromapPropertiesNV); } #endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: { return sizeof(VkAccelerationStructureTrianglesDisplacementMicromapNV); } #endif // VK_ENABLE_BETA_EXTENSIONS #endif #ifdef VK_HUAWEI_cluster_culling_shader case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: { return sizeof(VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: { return sizeof(VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI); } #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_ARM_shader_core_properties case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: { return sizeof(VkPhysicalDeviceShaderCorePropertiesARM); } #endif #ifdef VK_EXT_image_sliced_view_of_3d case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT); } case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: { return sizeof(VkImageViewSlicedCreateInfoEXT); } #endif #ifdef VK_VALVE_descriptor_set_host_mapping case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: { return sizeof(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE); } #endif #ifdef VK_EXT_depth_clamp_zero_one case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: { return sizeof(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT); } #endif #ifdef VK_EXT_non_seamless_cube_map case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: { return sizeof(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT); } #endif #ifdef VK_QCOM_fragment_density_map_offset case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: { return sizeof(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM); } case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: { return sizeof(VkSubpassFragmentDensityMapOffsetEndInfoQCOM); } #endif #ifdef VK_NV_copy_memory_indirect case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: { return sizeof(VkPhysicalDeviceCopyMemoryIndirectFeaturesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceCopyMemoryIndirectPropertiesNV); } #endif #ifdef VK_NV_memory_decompression case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: { return sizeof(VkPhysicalDeviceMemoryDecompressionFeaturesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceMemoryDecompressionPropertiesNV); } #endif #ifdef VK_NV_linear_color_attachment case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: { return sizeof(VkPhysicalDeviceLinearColorAttachmentFeaturesNV); } #endif #ifdef VK_EXT_image_compression_control_swapchain case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: { return sizeof(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT); } #endif #ifdef VK_QCOM_image_processing case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: { return sizeof(VkImageViewSampleWeightCreateInfoQCOM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceImageProcessingFeaturesQCOM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: { return sizeof(VkPhysicalDeviceImageProcessingPropertiesQCOM); } #endif #ifdef VK_EXT_extended_dynamic_state3 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: { return sizeof(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT); } #endif #ifdef VK_EXT_subpass_merge_feedback case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: { return sizeof(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT); } case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: { return sizeof(VkRenderPassCreationControlEXT); } case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: { return sizeof(VkRenderPassCreationFeedbackCreateInfoEXT); } case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: { return sizeof(VkRenderPassSubpassFeedbackCreateInfoEXT); } #endif #ifdef VK_LUNARG_direct_driver_loading case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: { return sizeof(VkDirectDriverLoadingListLUNARG); } #endif #ifdef VK_EXT_shader_module_identifier case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT); } case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: { return sizeof(VkPipelineShaderStageModuleIdentifierCreateInfoEXT); } #endif #ifdef VK_NV_optical_flow case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: { return sizeof(VkPhysicalDeviceOpticalFlowFeaturesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceOpticalFlowPropertiesNV); } case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: { return sizeof(VkOpticalFlowImageFormatInfoNV); } case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: { return sizeof(VkOpticalFlowSessionCreatePrivateDataInfoNV); } #endif #ifdef VK_EXT_legacy_dithering case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: { return sizeof(VkPhysicalDeviceLegacyDitheringFeaturesEXT); } #endif #ifdef VK_EXT_pipeline_protected_access case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT); } #endif #ifdef VK_EXT_shader_object case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: { return sizeof(VkPhysicalDeviceShaderObjectFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceShaderObjectPropertiesEXT); } #endif #ifdef VK_QCOM_tile_properties case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceTilePropertiesFeaturesQCOM); } #endif #ifdef VK_SEC_amigo_profiling case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: { return sizeof(VkPhysicalDeviceAmigoProfilingFeaturesSEC); } case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: { return sizeof(VkAmigoProfilingSubmitInfoSEC); } #endif #ifdef VK_QCOM_multiview_per_view_viewports case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM); } #endif #ifdef VK_NV_ray_tracing_invocation_reorder case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: { return sizeof(VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: { return sizeof(VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV); } #endif #ifdef VK_ARM_shader_core_builtins case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: { return sizeof(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: { return sizeof(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM); } #endif #ifdef VK_EXT_pipeline_library_group_handles case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: { return sizeof(VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT); } #endif #ifdef VK_QCOM_multiview_per_view_render_areas case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: { return sizeof(VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM); } case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: { return sizeof(VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM); } #endif #ifdef VK_EXT_attachment_feedback_loop_dynamic_state case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: { return sizeof(VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT); } #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 #ifdef VK_EXT_mesh_shader case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: { return sizeof(VkPhysicalDeviceMeshShaderFeaturesEXT); } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: { return sizeof(VkPhysicalDeviceMeshShaderPropertiesEXT); } #endif default: { return (size_t)0; } } } } // namespace vk } // namespace gfxstream