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