Update vulkan-docs version
authorPiotr Byszewski <piotr.byszewski@mobica.com>
Thu, 6 Oct 2022 10:19:16 +0000 (12:19 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Wed, 26 Oct 2022 20:43:55 +0000 (20:43 +0000)
To support recent additions to vk.xml a few small changes had to be
done in gen_framework.py. There are also two new handle types:
VkMicromapEXT and VkOpticalFlowSessionNV. Instead of copying and
pasting null driver classes for them a new macro was added.
All other basic null driver classes were also replaced using this
macro which reduced number of ifdefs for VK SC in vkNullDriver.cpp.

Components: Framework, Vulkan
VK-GL-CTS Issue: 10356

Affects:
dEQP-VK.*

Change-Id: I499a9a747d4dda25ea4853f0694a46dac4a1f872

43 files changed:
android/cts/main/src/vk-master-2019-03-01.txt
android/cts/main/vk-master-2019-03-01/api.txt
android/cts/main/vk-master-2022-03-01/api.txt
android/cts/main/vk-master/api.txt
external/fetch_sources.py
external/vulkancts/framework/vulkan/generated/vulkan/vkApiExtensionDependencyInfo.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkConcreteDeviceInterface.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkConcreteInstanceInterface.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatureTest.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures2.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDecl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForContextDefs.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceProperties.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDecl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForContextDefs.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkExtensionFunctions.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkFunctionPointerTypes.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkHandleType.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkInitInstanceFunctionPointers.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkInstanceDriverImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkInstanceFunctionPointers.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkNullDriverImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkObjTypeImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkRefUtil.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkRefUtilImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkTypeUtil.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkVirtualInstanceInterface.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkVulkan_c.inl
external/vulkancts/framework/vulkan/vkNullDriver.cpp
external/vulkancts/mustpass/main/vk-default/api.txt
external/vulkancts/scripts/gen_framework.py

index cb06a07..b3cd6f2 100644 (file)
@@ -3874,7 +3874,6 @@ dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr2_plane444_forma
 dEQP-VK.api.device_init.create_device_unsupported_features.fragment_density_map2_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.4444_formats_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.rgba10_x6_formats_features_ext
-dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_valve
 dEQP-VK.api.device_init.create_device_unsupported_features.vertex_input_dynamic_state_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clip_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.primitive_topology_list_restart_features_ext
index 6574e1a..65c17ce 100644 (file)
@@ -10111,7 +10111,6 @@ dEQP-VK.api.device_init.create_device_unsupported_features.shader_image_atomic_i
 dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate_features_khr
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_terminate_invocation_features
 dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate_enums_features_nv
-dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_valve
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clip_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.vertex_input_dynamic_state_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.external_memory_rdma_features_nv
index f11ac2d..907d4da 100644 (file)
@@ -11,14 +11,17 @@ dEQP-VK.api.info.get_physical_device_properties2.features.vulkan11_features
 dEQP-VK.api.info.get_physical_device_properties2.features.vulkan12_features
 dEQP-VK.api.info.get_physical_device_properties2.features.vulkan13_features
 dEQP-VK.api.info.get_physical_device_properties2.features.border_color_swizzle_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state3_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_subgroup_uniform_control_flow_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.portability_subset_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_image_atomic_int64_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.image2_d_view_of3_d_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.mutable_descriptor_type_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.depth_clip_control_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.primitives_generated_query_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.legacy_dithering_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.multisampled_render_to_single_sampled_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_protected_access_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.fragment_shader_barycentric_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.rgba10_x6_formats_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.image_view_min_lod_features_ext
@@ -28,12 +31,15 @@ dEQP-VK.api.info.get_physical_device_properties2.features.shader_module_identifi
 dEQP-VK.api.info.get_physical_device_properties2.features.image_compression_control_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.image_compression_control_swapchain_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.subpass_merge_feedback_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.opacity_micromap_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_properties_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.non_seamless_cube_map_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_robustness_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.amigo_profiling_features_sec
 dEQP-VK.api.info.get_physical_device_properties2.features.attachment_feedback_loop_layout_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.depth_clamp_zero_one_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.address_binding_report_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.fault_features_ext
 dEQP-VK.api.info.vulkan1p3.features
 dEQP-VK.api.info.vulkan1p3.properties
 dEQP-VK.api.info.vulkan1p3.feature_extensions_consistency
@@ -1681,10 +1687,14 @@ dEQP-VK.api.device_init.create_device_global_priority_query.basic
 dEQP-VK.api.device_init.create_device_global_priority_query_khr.basic
 dEQP-VK.api.device_init.create_device_unsupported_features.mesh_shader_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.ray_tracing_maintenance1_features_khr
+dEQP-VK.api.device_init.create_device_unsupported_features.present_barrier_features_nv
+dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state3_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.image2_d_view_of3_d_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.primitives_generated_query_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.legacy_dithering_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.multisampled_render_to_single_sampled_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_protected_access_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.rasterization_order_attachment_access_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.graphics_pipeline_library_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.descriptor_set_host_mapping_features_valve
@@ -1692,6 +1702,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.shader_module_identif
 dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_swapchain_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.subpass_merge_feedback_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.opacity_micromap_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_properties_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_early_and_late_fragment_tests_features_amd
 dEQP-VK.api.device_init.create_device_unsupported_features.non_seamless_cube_map_features_ext
@@ -1701,6 +1712,10 @@ dEQP-VK.api.device_init.create_device_unsupported_features.tile_properties_featu
 dEQP-VK.api.device_init.create_device_unsupported_features.amigo_profiling_features_sec
 dEQP-VK.api.device_init.create_device_unsupported_features.attachment_feedback_loop_layout_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clamp_zero_one_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.address_binding_report_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.optical_flow_features_nv
+dEQP-VK.api.device_init.create_device_unsupported_features.fault_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.shader_core_builtins_features_arm
 dEQP-VK.api.device_init.create_device_queue2_two_queues.basic
 dEQP-VK.api.device_init.create_device_queue2_all_protected.basic
 dEQP-VK.api.device_init.create_device_queue2_all_unprotected.basic
index f3469a6..45eaf98 100644 (file)
@@ -1936,6 +1936,7 @@ dEQP-VK.api.info.get_physical_device_properties2.features.custom_border_color_fe
 dEQP-VK.api.info.get_physical_device_properties2.features.border_color_swizzle_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state2_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state3_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.zero_initialize_workgroup_memory_features
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_subgroup_uniform_control_flow_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.robustness2_features_ext
@@ -1947,6 +1948,7 @@ dEQP-VK.api.info.get_physical_device_properties2.features.shader_image_atomic_in
 dEQP-VK.api.info.get_physical_device_properties2.features.fragment_shading_rate_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_terminate_invocation_features
 dEQP-VK.api.info.get_physical_device_properties2.features.image2_d_view_of3_d_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.mutable_descriptor_type_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.depth_clip_control_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.vertex_input_dynamic_state_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.color_write_enable_features_ext
@@ -1954,6 +1956,7 @@ dEQP-VK.api.info.get_physical_device_properties2.features.synchronization2_featu
 dEQP-VK.api.info.get_physical_device_properties2.features.primitives_generated_query_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.legacy_dithering_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.multisampled_render_to_single_sampled_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_protected_access_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.ycbcr2_plane444_formats_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.provoking_vertex_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_integer_dot_product_features
@@ -1967,12 +1970,15 @@ dEQP-VK.api.info.get_physical_device_properties2.features.shader_module_identifi
 dEQP-VK.api.info.get_physical_device_properties2.features.image_compression_control_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.image_compression_control_swapchain_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.subpass_merge_feedback_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.opacity_micromap_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_properties_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.non_seamless_cube_map_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_robustness_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.amigo_profiling_features_sec
 dEQP-VK.api.info.get_physical_device_properties2.features.attachment_feedback_loop_layout_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.depth_clamp_zero_one_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.address_binding_report_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.fault_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.properties.basic
 dEQP-VK.api.info.get_physical_device_properties2.format_properties.basic
 dEQP-VK.api.info.get_physical_device_properties2.queue_family_properties.basic
@@ -42390,6 +42396,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.imageless_framebuffer
 dEQP-VK.api.device_init.create_device_unsupported_features.texture_compression_astchdr_features
 dEQP-VK.api.device_init.create_device_unsupported_features.cooperative_matrix_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr_image_arrays_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.present_barrier_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.performance_query_features_khr
 dEQP-VK.api.device_init.create_device_unsupported_features.coverage_reduction_mode_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel
@@ -42413,6 +42420,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.custom_border_color_f
 dEQP-VK.api.device_init.create_device_unsupported_features.border_color_swizzle_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state2_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state3_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.diagnostics_config_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.zero_initialize_workgroup_memory_features
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_subgroup_uniform_control_flow_features_khr
@@ -42427,7 +42435,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_terminate_invocation_features
 dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate_enums_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.image2_d_view_of3_d_features_ext
-dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_valve
+dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clip_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.vertex_input_dynamic_state_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.external_memory_rdma_features_nv
@@ -42436,6 +42444,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.synchronization2_feat
 dEQP-VK.api.device_init.create_device_unsupported_features.primitives_generated_query_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.legacy_dithering_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.multisampled_render_to_single_sampled_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_protected_access_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.inherited_viewport_scissor_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr2_plane444_formats_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.provoking_vertex_features_ext
@@ -42453,6 +42462,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.shader_module_identif
 dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_swapchain_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.subpass_merge_feedback_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.opacity_micromap_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_properties_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_early_and_late_fragment_tests_features_amd
 dEQP-VK.api.device_init.create_device_unsupported_features.non_seamless_cube_map_features_ext
@@ -42462,6 +42472,10 @@ dEQP-VK.api.device_init.create_device_unsupported_features.tile_properties_featu
 dEQP-VK.api.device_init.create_device_unsupported_features.amigo_profiling_features_sec
 dEQP-VK.api.device_init.create_device_unsupported_features.attachment_feedback_loop_layout_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clamp_zero_one_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.address_binding_report_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.optical_flow_features_nv
+dEQP-VK.api.device_init.create_device_unsupported_features.fault_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.shader_core_builtins_features_arm
 dEQP-VK.api.device_init.create_device_queue2.basic
 dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic
 dEQP-VK.api.device_init.create_device_queue2_two_queues.basic
index d4929df..cafaf8b 100644 (file)
@@ -315,7 +315,7 @@ PACKAGES = [
        GitRepo(
                "https://github.com/KhronosGroup/Vulkan-Docs.git",
                "git@github.com:KhronosGroup/Vulkan-Docs.git",
-               "09d120580acb942d9cc3a96c863815a05990893c",
+               "7a319840243ea33aa4caa42cdce0143b150e02bb",
                "vulkan-docs"),
        GitRepo(
                "https://github.com/google/amber.git",
index 8636691..1ec9cb0 100644 (file)
@@ -387,6 +387,19 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"),
        std::make_tuple(0, 1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_surface"),
        std::make_tuple(0, 1, 0, "VK_EXT_device_memory_report", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_surface"),
+       std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
+       std::make_tuple(0, 1, 0, "VK_NV_present_barrier", "VK_KHR_swapchain"),
+       std::make_tuple(0, 1, 1, "VK_NV_present_barrier", "VK_KHR_surface"),
+       std::make_tuple(0, 1, 1, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
+       std::make_tuple(0, 1, 1, "VK_NV_present_barrier", "VK_KHR_swapchain"),
+       std::make_tuple(0, 1, 2, "VK_NV_present_barrier", "VK_KHR_surface"),
+       std::make_tuple(0, 1, 2, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
+       std::make_tuple(0, 1, 2, "VK_NV_present_barrier", "VK_KHR_swapchain"),
+       std::make_tuple(0, 1, 3, "VK_NV_present_barrier", "VK_KHR_surface"),
+       std::make_tuple(0, 1, 3, "VK_NV_present_barrier", "VK_KHR_get_surface_capabilities2"),
+       std::make_tuple(0, 1, 3, "VK_NV_present_barrier", "VK_KHR_swapchain"),
        std::make_tuple(0, 1, 0, "VK_KHR_present_id", "VK_KHR_swapchain"),
        std::make_tuple(0, 1, 1, "VK_KHR_present_id", "VK_KHR_swapchain"),
        std::make_tuple(0, 1, 2, "VK_KHR_present_id", "VK_KHR_swapchain"),
@@ -434,6 +447,7 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 0, "VK_KHR_workgroup_memory_explicit_layout", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_attachment_feedback_loop_layout", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_4444_formats", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_device_fault", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_ARM_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_rgba10x6_formats", "VK_KHR_sampler_ycbcr_conversion"),
        std::make_tuple(0, 1, 0, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"),
@@ -443,6 +457,11 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 0, "VK_VALVE_mutable_descriptor_type", "VK_KHR_maintenance3"),
        std::make_tuple(0, 1, 0, "VK_EXT_vertex_input_dynamic_state", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_physical_device_drm", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_device_address_binding_report", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
+       std::make_tuple(0, 1, 1, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
+       std::make_tuple(0, 1, 2, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
+       std::make_tuple(0, 1, 3, "VK_EXT_device_address_binding_report", "VK_EXT_debug_utils"),
        std::make_tuple(0, 1, 0, "VK_EXT_depth_clip_control", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory_capabilities"),
@@ -489,6 +508,13 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 0, "VK_EXT_image_view_min_lod", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_maintenance1"),
        std::make_tuple(0, 1, 0, "VK_EXT_image_2d_view_of_3d", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
+       std::make_tuple(0, 1, 0, "VK_EXT_opacity_micromap", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 1, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
+       std::make_tuple(0, 1, 1, "VK_EXT_opacity_micromap", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 2, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
+       std::make_tuple(0, 1, 2, "VK_EXT_opacity_micromap", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 3, "VK_EXT_opacity_micromap", "VK_KHR_acceleration_structure"),
        std::make_tuple(0, 1, 0, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
        std::make_tuple(0, 1, 1, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
        std::make_tuple(0, 1, 2, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"),
@@ -509,14 +535,24 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 0, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
        std::make_tuple(0, 1, 1, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
        std::make_tuple(0, 1, 2, "VK_QCOM_image_processing", "VK_KHR_format_feature_flags2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_extended_dynamic_state3", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_shader_module_identifier", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
        std::make_tuple(0, 1, 1, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
        std::make_tuple(0, 1, 2, "VK_EXT_shader_module_identifier", "VK_EXT_pipeline_creation_cache_control"),
        std::make_tuple(0, 1, 0, "VK_EXT_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_NV_optical_flow", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_NV_optical_flow", "VK_KHR_format_feature_flags2"),
+       std::make_tuple(0, 1, 0, "VK_NV_optical_flow", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 1, "VK_NV_optical_flow", "VK_KHR_format_feature_flags2"),
+       std::make_tuple(0, 1, 1, "VK_NV_optical_flow", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 2, "VK_NV_optical_flow", "VK_KHR_format_feature_flags2"),
+       std::make_tuple(0, 1, 2, "VK_NV_optical_flow", "VK_KHR_synchronization2"),
        std::make_tuple(0, 1, 0, "VK_EXT_legacy_dithering", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_pipeline_protected_access", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_QCOM_tile_properties", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_SEC_amigo_profiling", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_mutable_descriptor_type", "VK_KHR_maintenance3"),
 };
 static const std::tuple<deUint32, deUint32, deUint32, deUint32>        releasedApiVersions[]   =
 {
@@ -752,6 +788,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_custom_border_color"),
        std::make_tuple(1, 0, "VK_GOOGLE_user_type"),
        std::make_tuple(1, 0, "VK_KHR_pipeline_library"),
+       std::make_tuple(1, 0, "VK_NV_present_barrier"),
        std::make_tuple(1, 0, "VK_KHR_shader_non_semantic_info"),
        std::make_tuple(1, 0, "VK_KHR_present_id"),
        std::make_tuple(1, 0, "VK_EXT_private_data"),
@@ -778,12 +815,14 @@ static const std::tuple<deUint32, deUint32, const char*>  extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_image_compression_control"),
        std::make_tuple(1, 0, "VK_EXT_attachment_feedback_loop_layout"),
        std::make_tuple(1, 0, "VK_EXT_4444_formats"),
+       std::make_tuple(1, 0, "VK_EXT_device_fault"),
        std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access"),
        std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats"),
        std::make_tuple(1, 0, "VK_NV_acquire_winrt_display"),
        std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type"),
        std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state"),
        std::make_tuple(1, 0, "VK_EXT_physical_device_drm"),
+       std::make_tuple(1, 0, "VK_EXT_device_address_binding_report"),
        std::make_tuple(1, 0, "VK_EXT_depth_clip_control"),
        std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"),
        std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"),
@@ -805,6 +844,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_multi_draw"),
        std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d"),
        std::make_tuple(1, 0, "VK_KHR_portability_enumeration"),
+       std::make_tuple(1, 0, "VK_EXT_opacity_micromap"),
        std::make_tuple(1, 0, "VK_EXT_load_store_op_none"),
        std::make_tuple(1, 0, "VK_EXT_border_color_swizzle"),
        std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory"),
@@ -817,10 +857,15 @@ static const std::tuple<deUint32, deUint32, const char*>  extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query"),
        std::make_tuple(1, 0, "VK_EXT_image_compression_control_swapchain"),
        std::make_tuple(1, 0, "VK_QCOM_image_processing"),
+       std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state3"),
        std::make_tuple(1, 0, "VK_EXT_subpass_merge_feedback"),
        std::make_tuple(1, 0, "VK_EXT_shader_module_identifier"),
        std::make_tuple(1, 0, "VK_EXT_rasterization_order_attachment_access"),
+       std::make_tuple(1, 0, "VK_NV_optical_flow"),
        std::make_tuple(1, 0, "VK_EXT_legacy_dithering"),
+       std::make_tuple(1, 0, "VK_EXT_pipeline_protected_access"),
        std::make_tuple(1, 0, "VK_QCOM_tile_properties"),
        std::make_tuple(1, 0, "VK_SEC_amigo_profiling"),
+       std::make_tuple(1, 0, "VK_EXT_mutable_descriptor_type"),
+       std::make_tuple(1, 0, "VK_ARM_shader_core_builtins"),
 };
index 8e85e9d..494cfec 100644 (file)
@@ -73,6 +73,8 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE     (VkPrivateDataSlot,                                     HANDLE_TYPE_PRIVATE_DA
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPrivateDataSlotEXT,                          HANDLE_TYPE_PRIVATE_DATA_SLOT);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkCuModuleNVX,                                         HANDLE_TYPE_CU_MODULE_NVX);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkCuFunctionNVX,                                       HANDLE_TYPE_CU_FUNCTION_NVX);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkOpticalFlowSessionNV,                        HANDLE_TYPE_OPTICAL_FLOW_SESSION_NV);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkMicromapEXT,                                         HANDLE_TYPE_MICROMAP_EXT);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDisplayKHR,                                          HANDLE_TYPE_DISPLAY_KHR);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDisplayModeKHR,                                      HANDLE_TYPE_DISPLAY_MODE_KHR);
 VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSurfaceKHR,                                          HANDLE_TYPE_SURFACE_KHR);
@@ -244,8 +246,9 @@ enum VkDescriptorSetLayoutCreateFlagBits
 {
        VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR                 = 0x00000001,
        VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT              = 0x00000002,
-       VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE                = 0x00000004,
+       VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT                  = 0x00000004,
        VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT  = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
+       VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE                = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
        VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                              = 0x7FFFFFFF
 };
 
@@ -295,6 +298,8 @@ enum VkBufferUsageFlagBits
        VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT                                                               = 0x00020000,
        VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR    = 0x00080000,
        VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR                                  = 0x00100000,
+       VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT                                  = 0x00800000,
+       VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT                                                                = 0x01000000,
        VK_BUFFER_USAGE_RAY_TRACING_BIT_NV                                                                              = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
        VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT                                                   = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
        VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR                                                   = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
@@ -398,68 +403,100 @@ enum VkDescriptorType
        VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK                 = 1000138000,
        VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR   = 1000150000,
        VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV    = 1000165000,
-       VK_DESCRIPTOR_TYPE_MUTABLE_VALVE                                = 1000351000,
+       VK_DESCRIPTOR_TYPE_MUTABLE_EXT                                  = 1000351000,
        VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM             = 1000440000,
        VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM               = 1000440001,
        VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT             = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
+       VK_DESCRIPTOR_TYPE_MUTABLE_VALVE                                = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
        VK_DESCRIPTOR_TYPE_MAX_ENUM                                             = 0x7FFFFFFF
 };
 
 enum VkDynamicState
 {
-       VK_DYNAMIC_STATE_VIEWPORT                                                               = 0,
-       VK_DYNAMIC_STATE_SCISSOR                                                                = 1,
-       VK_DYNAMIC_STATE_LINE_WIDTH                                                             = 2,
-       VK_DYNAMIC_STATE_DEPTH_BIAS                                                             = 3,
-       VK_DYNAMIC_STATE_BLEND_CONSTANTS                                                = 4,
-       VK_DYNAMIC_STATE_DEPTH_BOUNDS                                                   = 5,
-       VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                                   = 6,
-       VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                                             = 7,
-       VK_DYNAMIC_STATE_STENCIL_REFERENCE                                              = 8,
-       VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV                                  = 1000087000,
-       VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT                                  = 1000099000,
-       VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                                   = 1000143000,
-       VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV               = 1000164004,
-       VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV                = 1000164006,
-       VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                                   = 1000205001,
-       VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR                              = 1000226000,
-       VK_DYNAMIC_STATE_LINE_STIPPLE_EXT                                               = 1000259000,
-       VK_DYNAMIC_STATE_CULL_MODE                                                              = 1000267000,
-       VK_DYNAMIC_STATE_FRONT_FACE                                                             = 1000267001,
-       VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY                                             = 1000267002,
-       VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT                                    = 1000267003,
-       VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT                                             = 1000267004,
-       VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE                    = 1000267005,
-       VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE                                              = 1000267006,
-       VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE                                             = 1000267007,
-       VK_DYNAMIC_STATE_DEPTH_COMPARE_OP                                               = 1000267008,
-       VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE                               = 1000267009,
-       VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE                                    = 1000267010,
-       VK_DYNAMIC_STATE_STENCIL_OP                                                             = 1000267011,
-       VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR    = 1000347000,
-       VK_DYNAMIC_STATE_VERTEX_INPUT_EXT                                               = 1000352000,
-       VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT                               = 1000377000,
-       VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE                              = 1000377001,
-       VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE                                              = 1000377002,
-       VK_DYNAMIC_STATE_LOGIC_OP_EXT                                                   = 1000377003,
-       VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE                               = 1000377004,
-       VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT                                 = 1000381000,
-       VK_DYNAMIC_STATE_CULL_MODE_EXT                                                  = VK_DYNAMIC_STATE_CULL_MODE,
-       VK_DYNAMIC_STATE_FRONT_FACE_EXT                                                 = VK_DYNAMIC_STATE_FRONT_FACE,
-       VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT                                 = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
-       VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT                                = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
-       VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT                                 = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
-       VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT                = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
-       VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT                                  = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
-       VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT                                 = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
-       VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT                                   = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
-       VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT                   = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
-       VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT                                = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
-       VK_DYNAMIC_STATE_STENCIL_OP_EXT                                                 = VK_DYNAMIC_STATE_STENCIL_OP,
-       VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT                  = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
-       VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT                                  = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
-       VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT                   = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
-       VK_DYNAMIC_STATE_MAX_ENUM                                                               = 0x7FFFFFFF
+       VK_DYNAMIC_STATE_VIEWPORT                                                                       = 0,
+       VK_DYNAMIC_STATE_SCISSOR                                                                        = 1,
+       VK_DYNAMIC_STATE_LINE_WIDTH                                                                     = 2,
+       VK_DYNAMIC_STATE_DEPTH_BIAS                                                                     = 3,
+       VK_DYNAMIC_STATE_BLEND_CONSTANTS                                                        = 4,
+       VK_DYNAMIC_STATE_DEPTH_BOUNDS                                                           = 5,
+       VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK                                           = 6,
+       VK_DYNAMIC_STATE_STENCIL_WRITE_MASK                                                     = 7,
+       VK_DYNAMIC_STATE_STENCIL_REFERENCE                                                      = 8,
+       VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV                                          = 1000087000,
+       VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT                                          = 1000099000,
+       VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT                                           = 1000143000,
+       VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV                       = 1000164004,
+       VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV                        = 1000164006,
+       VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV                                           = 1000205001,
+       VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR                                      = 1000226000,
+       VK_DYNAMIC_STATE_LINE_STIPPLE_EXT                                                       = 1000259000,
+       VK_DYNAMIC_STATE_CULL_MODE                                                                      = 1000267000,
+       VK_DYNAMIC_STATE_FRONT_FACE                                                                     = 1000267001,
+       VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY                                                     = 1000267002,
+       VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT                                            = 1000267003,
+       VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT                                                     = 1000267004,
+       VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE                            = 1000267005,
+       VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE                                                      = 1000267006,
+       VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE                                                     = 1000267007,
+       VK_DYNAMIC_STATE_DEPTH_COMPARE_OP                                                       = 1000267008,
+       VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE                                       = 1000267009,
+       VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE                                            = 1000267010,
+       VK_DYNAMIC_STATE_STENCIL_OP                                                                     = 1000267011,
+       VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR            = 1000347000,
+       VK_DYNAMIC_STATE_VERTEX_INPUT_EXT                                                       = 1000352000,
+       VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT                                       = 1000377000,
+       VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE                                      = 1000377001,
+       VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE                                                      = 1000377002,
+       VK_DYNAMIC_STATE_LOGIC_OP_EXT                                                           = 1000377003,
+       VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE                                       = 1000377004,
+       VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT                                         = 1000381000,
+       VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT                         = 1000455002,
+       VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT                                         = 1000455003,
+       VK_DYNAMIC_STATE_POLYGON_MODE_EXT                                                       = 1000455004,
+       VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT                                      = 1000455005,
+       VK_DYNAMIC_STATE_SAMPLE_MASK_EXT                                                        = 1000455006,
+       VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT                           = 1000455007,
+       VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT                                        = 1000455008,
+       VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT                                            = 1000455009,
+       VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT                                         = 1000455010,
+       VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT                                       = 1000455011,
+       VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT                                           = 1000455012,
+       VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT                                       = 1000455013,
+       VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT            = 1000455014,
+       VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT        = 1000455015,
+       VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT                                          = 1000455016,
+       VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT                            = 1000455017,
+       VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT                                       = 1000455018,
+       VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT                                      = 1000455019,
+       VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT                            = 1000455020,
+       VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT                                        = 1000455021,
+       VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT                     = 1000455022,
+       VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV                           = 1000455023,
+       VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV                                            = 1000455024,
+       VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV                            = 1000455025,
+       VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV                          = 1000455026,
+       VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV                            = 1000455027,
+       VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV            = 1000455028,
+       VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV                           = 1000455029,
+       VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV                           = 1000455030,
+       VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV         = 1000455031,
+       VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV                                     = 1000455032,
+       VK_DYNAMIC_STATE_CULL_MODE_EXT                                                          = VK_DYNAMIC_STATE_CULL_MODE,
+       VK_DYNAMIC_STATE_FRONT_FACE_EXT                                                         = VK_DYNAMIC_STATE_FRONT_FACE,
+       VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT                                         = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
+       VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT                                        = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
+       VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT                                         = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
+       VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT                        = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
+       VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT                                          = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
+       VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT                                         = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
+       VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT                                           = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
+       VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT                           = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
+       VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT                                        = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
+       VK_DYNAMIC_STATE_STENCIL_OP_EXT                                                         = VK_DYNAMIC_STATE_STENCIL_OP,
+       VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT                          = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
+       VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT                                          = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
+       VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT                           = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
+       VK_DYNAMIC_STATE_MAX_ENUM                                                                       = 0x7FFFFFFF
 };
 
 enum VkFenceCreateFlagBits
@@ -726,6 +763,7 @@ enum VkFormat
        VK_FORMAT_G16_B16R16_2PLANE_444_UNORM                                           = 1000330003,
        VK_FORMAT_A4R4G4B4_UNORM_PACK16                                                         = 1000340000,
        VK_FORMAT_A4B4G4R4_UNORM_PACK16                                                         = 1000340001,
+       VK_FORMAT_R16G16_S10_5_NV                                                                       = 1000464000,
        VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT                                                     = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
        VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT                                                     = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
        VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT                                                     = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
@@ -1140,8 +1178,11 @@ enum VkPipelineCreateFlagBits
        VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR                   = 0x00200000,
        VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT                    = 0x00400000,
        VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT                                   = 0x00800000,
+       VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT                                                 = 0x01000000,
        VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT                                               = 0x02000000,
        VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT                               = 0x04000000,
+       VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT                                                                  = 0x08000000,
+       VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT                                                                = 0x40000000,
        VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR                                                 = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
        VK_PIPELINE_CREATE_DISPATCH_BASE                                                                                                = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
        VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                                                                                    = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
@@ -1220,6 +1261,8 @@ enum VkQueryType
        VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT                                                                                  = 1000382000,
        VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR    = 1000386000,
        VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR                                                                   = 1000386001,
+       VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT                                                                   = 1000396000,
+       VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT                                                                               = 1000396001,
        VK_QUERY_TYPE_MAX_ENUM                                                                                                                  = 0x7FFFFFFF
 };
 
@@ -1232,6 +1275,7 @@ enum VkQueueFlagBits
        VK_QUEUE_PROTECTED_BIT                  = 0x00000010,
        VK_QUEUE_VIDEO_DECODE_BIT_KHR   = 0x00000020,
        VK_QUEUE_VIDEO_ENCODE_BIT_KHR   = 0x00000040,
+       VK_QUEUE_OPTICAL_FLOW_BIT_NV    = 0x00000100,
        VK_QUEUE_FLAG_BITS_MAX_ENUM             = 0x7FFFFFFF
 };
 
@@ -1487,7 +1531,6 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT                                                 = 1000039010,
        VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT                                                                    = 1000040000,
        VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT                                                                    = 1000040001,
-       VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT                                                                                = 1000040002,
        VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT                                                                    = 1000040003,
        VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT                                  = 1000040004,
        VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT                                             = 1000040005,
@@ -1887,6 +1930,9 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT                                    = 1000287001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT                                              = 1000287002,
        VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR                                                                              = 1000290000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV                                                   = 1000292000,
+       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV                                                               = 1000292001,
+       VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV                                                              = 1000292002,
        VK_STRUCTURE_TYPE_PRESENT_ID_KHR                                                                                                                = 1000294000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR                                                               = 1000294001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES                                                                 = 1000295000,
@@ -1961,18 +2007,23 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT                                                                              = 1000338004,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT                  = 1000339000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                                                             = 1000340000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT                                                                    = 1000341000,
+       VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT                                                                                               = 1000341001,
+       VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT                                                                                                 = 1000341002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT    = 1000342000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT                                                 = 1000344000,
        VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT                                                                              = 1000346000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR                                             = 1000347000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR                                   = 1000347001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR                                                                = 1000348013,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE                                = 1000351000,
-       VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                                                             = 1000351002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT                                  = 1000351000,
+       VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT                                                               = 1000351002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT                               = 1000352000,
        VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT                                                                = 1000352001,
        VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT                                                              = 1000352002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT                                                                    = 1000353000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT                                   = 1000354000,
+       VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT                                                              = 1000354001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT                                               = 1000355000,
        VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT                                  = 1000355001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT                  = 1000356000,
@@ -2016,6 +2067,16 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT                                                               = 1000392000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT                                                             = 1000392001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT                                              = 1000393000,
+       VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT                                                                                               = 1000396000,
+       VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT                                                                                             = 1000396001,
+       VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT                                                                                                = 1000396002,
+       VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT                                                                              = 1000396003,
+       VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT                                                                              = 1000396004,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT                                                 = 1000396005,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT                                               = 1000396006,
+       VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT                                                                                              = 1000396007,
+       VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT                                                                                 = 1000396008,
+       VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT                                 = 1000396009,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT                                             = 1000411000,
        VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT                                = 1000411001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT                             = 1000412000,
@@ -2036,6 +2097,8 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM                                                = 1000440000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM                                              = 1000440001,
        VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM                                                             = 1000440002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT                                 = 1000455000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT                               = 1000455001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT                                   = 1000458000,
        VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT                                                                              = 1000458001,
        VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT                                                 = 1000458002,
@@ -2044,11 +2107,21 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT                               = 1000462001,
        VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT                               = 1000462002,
        VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT                                                                                  = 1000462003,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV                                                              = 1000464000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV                                                    = 1000464001,
+       VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV                                                                             = 1000464002,
+       VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV                                                               = 1000464003,
+       VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV                                                                   = 1000464004,
+       VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV                                                                                  = 1000464005,
+       VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV                                              = 1000464010,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT                                                 = 1000465000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT                                = 1000466000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM                                                 = 1000484000,
        VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM                                                                                                  = 1000484001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC                                                  = 1000485000,
        VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC                                                                               = 1000485001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM                                             = 1000497000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM                                   = 1000497001,
        VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT                                                                                  = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
        VK_STRUCTURE_TYPE_RENDERING_INFO_KHR                                                                                                    = VK_STRUCTURE_TYPE_RENDERING_INFO,
        VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR                                                                                 = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
@@ -2213,6 +2286,8 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                                                                                               = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
        VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                                                                                                   = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE                                = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
+       VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE                                                             = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
        VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR                                                                                               = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT                                    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
        VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT                                                   = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
@@ -2346,8 +2421,9 @@ enum VkDescriptorPoolCreateFlagBits
 {
        VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT       = 0x00000001,
        VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT         = 0x00000002,
-       VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE           = 0x00000004,
+       VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT                     = 0x00000004,
        VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT     = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
+       VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE           = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
        VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM            = 0x7FFFFFFF
 };
 
@@ -2410,6 +2486,8 @@ enum VkObjectType
        VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV              = 1000277000,
        VK_OBJECT_TYPE_PRIVATE_DATA_SLOT                                = 1000295000,
        VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA                = 1000366000,
+       VK_OBJECT_TYPE_MICROMAP_EXT                                             = 1000396000,
+       VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV                  = 1000464000,
        VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR   = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
        VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR             = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
        VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT                    = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
@@ -2645,6 +2723,8 @@ enum VkGeometryInstanceFlagBitsKHR
        VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR                               = 0x00000002,
        VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                                               = 0x00000004,
        VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR                                    = 0x00000008,
+       VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT                 = 0x00000010,
+       VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT                              = 0x00000020,
        VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV                               = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
        VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR    = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
        VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV             = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
@@ -2656,18 +2736,21 @@ typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
 
 enum VkBuildAccelerationStructureFlagBitsKHR
 {
-       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR            = 0x00000001,
-       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR        = 0x00000002,
-       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR       = 0x00000004,
-       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR       = 0x00000008,
-       VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR                      = 0x00000010,
-       VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV                           = 0x00000020,
-       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV                     = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
-       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV         = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
-       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV        = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
-       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV        = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
-       VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV                       = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
-       VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR          = 0x7FFFFFFF
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR                                    = 0x00000001,
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR                                = 0x00000002,
+       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR                               = 0x00000004,
+       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR                               = 0x00000008,
+       VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR                                              = 0x00000010,
+       VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV                                                   = 0x00000020,
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT               = 0x00000040,
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT             = 0x00000080,
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT  = 0x00000100,
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV                                             = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
+       VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV                                 = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
+       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV                                = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
+       VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV                                = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
+       VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV                                               = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
+       VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR                                  = 0x7FFFFFFF
 };
 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
 
@@ -3063,6 +3146,10 @@ static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR                                             = 0x20
 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR                                          = 0x4000000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI                                     = 0x8000000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR                           = 0x10000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV                                                    = 0x40000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV                                           = 0x80000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT                                                       = 0x100000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT                                                      = 0x200000000000ULL;
 
 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
 
@@ -3122,6 +3209,8 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR                                         = 0x04000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR                                         = 0x08000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR          = 0x10000000ULL;
+static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV                                          = 0x20000000ULL;
+static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT                                       = 0x40000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT                                                                     = 0x100000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR                                                         = 0x100000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT                                                          = 0x200000000ULL;
@@ -3226,6 +3315,9 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_B
 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM                                                                                                                      = 0x1000000000ULL;
 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM                                                                                                          = 0x2000000000ULL;
 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV                                                                                                       = 0x4000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV                                                                                                                    = 0x10000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV                                                                                                           = 0x20000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV                                                                                                                     = 0x40000000000ULL;
 
 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
 
@@ -3328,6 +3420,80 @@ enum VkPipelineRobustnessImageBehaviorEXT
        VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT                              = 0x7FFFFFFF
 };
 
+enum VkDeviceAddressBindingFlagBitsEXT
+{
+       VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT       = 0x00000001,
+       VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT        = 0x7FFFFFFF
+};
+
+enum VkDeviceAddressBindingTypeEXT
+{
+       VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT         = 0,
+       VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT       = 1,
+       VK_DEVICE_ADDRESS_BINDING_TYPE_EXT_LAST,
+       VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT     = 0x7FFFFFFF
+};
+
+enum VkMicromapTypeEXT
+{
+       VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT   = 0,
+       VK_MICROMAP_TYPE_EXT_LAST,
+       VK_MICROMAP_TYPE_MAX_ENUM_EXT                   = 0x7FFFFFFF
+};
+
+enum VkBuildMicromapModeEXT
+{
+       VK_BUILD_MICROMAP_MODE_BUILD_EXT        = 0,
+       VK_BUILD_MICROMAP_MODE_EXT_LAST,
+       VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT     = 0x7FFFFFFF
+};
+
+enum VkCopyMicromapModeEXT
+{
+       VK_COPY_MICROMAP_MODE_CLONE_EXT                 = 0,
+       VK_COPY_MICROMAP_MODE_SERIALIZE_EXT             = 1,
+       VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT   = 2,
+       VK_COPY_MICROMAP_MODE_COMPACT_EXT               = 3,
+       VK_COPY_MICROMAP_MODE_EXT_LAST,
+       VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT              = 0x7FFFFFFF
+};
+
+enum VkBuildMicromapFlagBitsEXT
+{
+       VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT     = 0x00000001,
+       VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT     = 0x00000002,
+       VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT      = 0x00000004,
+       VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT        = 0x7FFFFFFF
+};
+
+enum VkMicromapCreateFlagBitsEXT
+{
+       VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT        = 0x00000001,
+       VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT                                       = 0x7FFFFFFF
+};
+
+enum VkOpacityMicromapFormatEXT
+{
+       VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT  = 1,
+       VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT  = 2,
+       VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF
+};
+
+enum VkOpacityMicromapSpecialIndexEXT
+{
+       VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT              = -4,
+       VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
+       VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT                              = -2,
+       VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT                 = -1,
+       VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT                                  = 0x7FFFFFFF
+};
+
+enum VkDeviceFaultVendorBinaryHeaderVersionEXT
+{
+       VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT            = 1,
+       VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT       = 0x7FFFFFFF
+};
+
 enum VkColorSpaceKHR
 {
        VK_COLOR_SPACE_SRGB_NONLINEAR_KHR                       = 0,
@@ -3797,10 +3963,11 @@ enum VkDebugUtilsMessageSeverityFlagBitsEXT
 
 enum VkDebugUtilsMessageTypeFlagBitsEXT
 {
-       VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT                     = 0x00000001,
-       VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT          = 0x00000002,
-       VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT         = 0x00000004,
-       VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT      = 0x7FFFFFFF
+       VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT                                     = 0x00000001,
+       VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT                          = 0x00000002,
+       VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT                         = 0x00000004,
+       VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT      = 0x00000008,
+       VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT                      = 0x7FFFFFFF
 };
 
 enum VkFullScreenExclusiveEXT
@@ -3860,6 +4027,81 @@ enum VkGraphicsPipelineLibraryFlagBitsEXT
        VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT                             = 0x7FFFFFFF
 };
 
+enum VkOpticalFlowGridSizeFlagBitsNV
+{
+       VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV                    = 0,
+       VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV                    = 0x00000001,
+       VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV                    = 0x00000002,
+       VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV                    = 0x00000004,
+       VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV                    = 0x00000008,
+       VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+};
+
+enum VkOpticalFlowUsageFlagBitsNV
+{
+       VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV                        = 0,
+       VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV                      = 0x00000001,
+       VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV                     = 0x00000002,
+       VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV                       = 0x00000004,
+       VK_OPTICAL_FLOW_USAGE_COST_BIT_NV                       = 0x00000008,
+       VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV        = 0x00000010,
+       VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV     = 0x7FFFFFFF
+};
+
+enum VkOpticalFlowPerformanceLevelNV
+{
+       VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV    = 0,
+       VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV               = 1,
+       VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV             = 2,
+       VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV               = 3,
+       VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_NV_LAST,
+       VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV   = 0x7FFFFFFF
+};
+
+enum VkOpticalFlowSessionBindingPointNV
+{
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV                                = 0,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV                                  = 1,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV                              = 2,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV                                   = 3,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV                    = 4,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV   = 5,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV                                   = 6,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV                  = 7,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV                    = 8,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_NV_LAST,
+       VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV                               = 0x7FFFFFFF
+};
+
+enum VkOpticalFlowSessionCreateFlagBitsNV
+{
+       VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV                       = 0x00000001,
+       VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV                       = 0x00000002,
+       VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV        = 0x00000004,
+       VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV                     = 0x00000008,
+       VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV           = 0x00000010,
+       VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV            = 0x7FFFFFFF
+};
+
+enum VkOpticalFlowExecuteFlagBitsNV
+{
+       VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV   = 0x00000001,
+       VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV                   = 0x7FFFFFFF
+};
+
+enum VkDeviceFaultAddressTypeEXT
+{
+       VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT                                                   = 0,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT                                   = 1,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT                                  = 2,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT                                = 3,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT    = 4,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT    = 5,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT              = 6,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_EXT_LAST,
+       VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT                                               = 0x7FFFFFFF
+};
+
 enum VkVendorId
 {
        VK_VENDOR_ID_VIV                = 0x10001,
@@ -4233,29 +4475,29 @@ enum StdVideoH264ProfileIdc
        STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM                             = 0x7FFFFFFF
 };
 
-enum StdVideoH264Level
-{
-       STD_VIDEO_H264_LEVEL_1_0                = 0,
-       STD_VIDEO_H264_LEVEL_1_1                = 1,
-       STD_VIDEO_H264_LEVEL_1_2                = 2,
-       STD_VIDEO_H264_LEVEL_1_3                = 3,
-       STD_VIDEO_H264_LEVEL_2_0                = 4,
-       STD_VIDEO_H264_LEVEL_2_1                = 5,
-       STD_VIDEO_H264_LEVEL_2_2                = 6,
-       STD_VIDEO_H264_LEVEL_3_0                = 7,
-       STD_VIDEO_H264_LEVEL_3_1                = 8,
-       STD_VIDEO_H264_LEVEL_3_2                = 9,
-       STD_VIDEO_H264_LEVEL_4_0                = 10,
-       STD_VIDEO_H264_LEVEL_4_1                = 11,
-       STD_VIDEO_H264_LEVEL_4_2                = 12,
-       STD_VIDEO_H264_LEVEL_5_0                = 13,
-       STD_VIDEO_H264_LEVEL_5_1                = 14,
-       STD_VIDEO_H264_LEVEL_5_2                = 15,
-       STD_VIDEO_H264_LEVEL_6_0                = 16,
-       STD_VIDEO_H264_LEVEL_6_1                = 17,
-       STD_VIDEO_H264_LEVEL_6_2                = 18,
-       STD_VIDEO_H264_LEVEL_INVALID    = 0x7FFFFFFF,
-       STD_VIDEO_H264_LEVEL_MAX_ENUM   = 0x7FFFFFFF
+enum StdVideoH264LevelIdc
+{
+       STD_VIDEO_H264_LEVEL_IDC_1_0            = 0,
+       STD_VIDEO_H264_LEVEL_IDC_1_1            = 1,
+       STD_VIDEO_H264_LEVEL_IDC_1_2            = 2,
+       STD_VIDEO_H264_LEVEL_IDC_1_3            = 3,
+       STD_VIDEO_H264_LEVEL_IDC_2_0            = 4,
+       STD_VIDEO_H264_LEVEL_IDC_2_1            = 5,
+       STD_VIDEO_H264_LEVEL_IDC_2_2            = 6,
+       STD_VIDEO_H264_LEVEL_IDC_3_0            = 7,
+       STD_VIDEO_H264_LEVEL_IDC_3_1            = 8,
+       STD_VIDEO_H264_LEVEL_IDC_3_2            = 9,
+       STD_VIDEO_H264_LEVEL_IDC_4_0            = 10,
+       STD_VIDEO_H264_LEVEL_IDC_4_1            = 11,
+       STD_VIDEO_H264_LEVEL_IDC_4_2            = 12,
+       STD_VIDEO_H264_LEVEL_IDC_5_0            = 13,
+       STD_VIDEO_H264_LEVEL_IDC_5_1            = 14,
+       STD_VIDEO_H264_LEVEL_IDC_5_2            = 15,
+       STD_VIDEO_H264_LEVEL_IDC_6_0            = 16,
+       STD_VIDEO_H264_LEVEL_IDC_6_1            = 17,
+       STD_VIDEO_H264_LEVEL_IDC_6_2            = 18,
+       STD_VIDEO_H264_LEVEL_IDC_INVALID        = 0x7FFFFFFF,
+       STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM       = 0x7FFFFFFF
 };
 
 enum StdVideoH264PocType
@@ -4402,23 +4644,23 @@ enum StdVideoH265ProfileIdc
        STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM                                     = 0x7FFFFFFF
 };
 
-enum StdVideoH265Level
+enum StdVideoH265LevelIdc
 {
-       STD_VIDEO_H265_LEVEL_1_0                = 0,
-       STD_VIDEO_H265_LEVEL_2_0                = 1,
-       STD_VIDEO_H265_LEVEL_2_1                = 2,
-       STD_VIDEO_H265_LEVEL_3_0                = 3,
-       STD_VIDEO_H265_LEVEL_3_1                = 4,
-       STD_VIDEO_H265_LEVEL_4_0                = 5,
-       STD_VIDEO_H265_LEVEL_4_1                = 6,
-       STD_VIDEO_H265_LEVEL_5_0                = 7,
-       STD_VIDEO_H265_LEVEL_5_1                = 8,
-       STD_VIDEO_H265_LEVEL_5_2                = 9,
-       STD_VIDEO_H265_LEVEL_6_0                = 10,
-       STD_VIDEO_H265_LEVEL_6_1                = 11,
-       STD_VIDEO_H265_LEVEL_6_2                = 12,
-       STD_VIDEO_H265_LEVEL_INVALID    = 0x7FFFFFFF,
-       STD_VIDEO_H265_LEVEL_MAX_ENUM   = 0x7FFFFFFF
+       STD_VIDEO_H265_LEVEL_IDC_1_0            = 0,
+       STD_VIDEO_H265_LEVEL_IDC_2_0            = 1,
+       STD_VIDEO_H265_LEVEL_IDC_2_1            = 2,
+       STD_VIDEO_H265_LEVEL_IDC_3_0            = 3,
+       STD_VIDEO_H265_LEVEL_IDC_3_1            = 4,
+       STD_VIDEO_H265_LEVEL_IDC_4_0            = 5,
+       STD_VIDEO_H265_LEVEL_IDC_4_1            = 6,
+       STD_VIDEO_H265_LEVEL_IDC_5_0            = 7,
+       STD_VIDEO_H265_LEVEL_IDC_5_1            = 8,
+       STD_VIDEO_H265_LEVEL_IDC_5_2            = 9,
+       STD_VIDEO_H265_LEVEL_IDC_6_0            = 10,
+       STD_VIDEO_H265_LEVEL_IDC_6_1            = 11,
+       STD_VIDEO_H265_LEVEL_IDC_6_2            = 12,
+       STD_VIDEO_H265_LEVEL_IDC_INVALID        = 0x7FFFFFFF,
+       STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM       = 0x7FFFFFFF
 };
 
 enum StdVideoH265SliceType
@@ -4440,6 +4682,30 @@ enum StdVideoH265PictureType
        STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM    = 0x7FFFFFFF
 };
 
+enum StdVideoH265AspectRatioIdc
+{
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED             = 0,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE                  = 1,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11                   = 2,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11                   = 3,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11                   = 4,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33                   = 5,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11                   = 6,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11                   = 7,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11                   = 8,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33                   = 9,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11                   = 10,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11                   = 11,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33                   = 12,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99                  = 13,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3                             = 14,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2                             = 15,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1                             = 16,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR    = 255,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID                 = 0x7FFFFFFF,
+       STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM                = 0x7FFFFFFF
+};
+
 typedef uint32_t VkFramebufferCreateFlags;
 
 typedef uint32_t VkQueryPoolCreateFlags;
@@ -4622,6 +4888,10 @@ typedef uint32_t VkRenderingFlags;
 
 typedef VkRenderingFlags VkRenderingFlagsKHR;
 
+typedef uint32_t VkBuildMicromapFlagsEXT;
+
+typedef uint32_t VkMicromapCreateFlagsEXT;
+
 typedef uint32_t VkCompositeAlphaFlagsKHR;
 
 typedef uint32_t VkDisplayPlaneAlphaFlagsKHR;
@@ -4776,6 +5046,16 @@ typedef uint32_t VkImageCompressionFixedRateFlagsEXT;
 
 typedef uint32_t VkExportMetalObjectTypeFlagsEXT;
 
+typedef uint32_t VkDeviceAddressBindingFlagsEXT;
+
+typedef uint32_t VkOpticalFlowGridSizeFlagsNV;
+
+typedef uint32_t VkOpticalFlowUsageFlagsNV;
+
+typedef uint32_t VkOpticalFlowSessionCreateFlagsNV;
+
+typedef uint32_t VkOpticalFlowExecuteFlagsNV;
+
 typedef uint32_t VkVideoCodecOperationFlagsKHR;
 
 typedef uint32_t VkVideoCapabilityFlagsKHR;
@@ -4899,7 +5179,7 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                        void*)
 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
-#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 5
+#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 7
 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
 #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 6
 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue"
@@ -4921,11 +5201,11 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                      void*)
 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
-#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 8
+#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 9
 #define VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_EXT_video_encode_h264"
-#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 8
+#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 9
 #define VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_EXT_video_encode_h265"
-#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 6
+#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 7
 #define VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME "VK_EXT_video_decode_h264"
 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
@@ -5163,7 +5443,7 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                        void*)
 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
-#define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 4
+#define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 5
 #define VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME "VK_EXT_video_decode_h265"
 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
@@ -5313,6 +5593,8 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                        void*)
 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
+#define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1
+#define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier"
 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
@@ -5365,6 +5647,8 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                        void*)
 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout"
 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
+#define VK_EXT_DEVICE_FAULT_SPEC_VERSION 1
+#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
@@ -5377,6 +5661,8 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                        void*)
 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
+#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1
+#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report"
 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
@@ -5419,6 +5705,8 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                        void*)
 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
+#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
+#define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap"
 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
@@ -5437,39 +5725,48 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                      void*)
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
-#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
+#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2
 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1
 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing"
+#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2
+#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3"
 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access"
+#define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1
+#define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow"
 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1
 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
+#define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1
+#define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access"
 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1
 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling"
+#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
+#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type"
+#define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 1
+#define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins"
 #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
-#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2
+#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6
 #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
 #define STD_VIDEO_H264_MAX_NUM_LIST_REF 32
 #define STD_VIDEO_H264_MAX_CHROMA_PLANES 2
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_8
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
-#define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
 #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_8
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
-#define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
+#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7
 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
@@ -5485,8 +5782,13 @@ VK_DEFINE_PLATFORM_TYPE(MTLSharedEvent_id,                       void*)
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
 #define STD_VIDEO_H265_MAX_NUM_LIST_REF 15
 #define STD_VIDEO_H265_MAX_CHROMA_PLANES 2
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7
+#define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64
+#define STD_VIDEO_H265_MAX_DPB_SIZE 16
+#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32
+#define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16
+#define STD_VIDEO_H265_MAX_DELTA_POC 48
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_9
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
 #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_7
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_9
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_encode"
index 128f482..1feaed4 100644 (file)
@@ -329,6 +329,37 @@ virtual void                               cmdSetDepthBiasEnable                                                   (VkCommandBuffer commandBuffer, VkBo
 virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const;
 virtual void                           cmdSetPrimitiveRestartEnable                                    (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const;
 virtual VkResult                       createPrivateDataSlot                                                   (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) const;
+virtual void                           cmdSetTessellationDomainOriginEXT                               (VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) const;
+virtual void                           cmdSetDepthClampEnableEXT                                               (VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) const;
+virtual void                           cmdSetPolygonModeEXT                                                    (VkCommandBuffer commandBuffer, VkPolygonMode polygonMode) const;
+virtual void                           cmdSetRasterizationSamplesEXT                                   (VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples) const;
+virtual void                           cmdSetSampleMaskEXT                                                             (VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask) const;
+virtual void                           cmdSetAlphaToCoverageEnableEXT                                  (VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable) const;
+virtual void                           cmdSetAlphaToOneEnableEXT                                               (VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable) const;
+virtual void                           cmdSetLogicOpEnableEXT                                                  (VkCommandBuffer commandBuffer, VkBool32 logicOpEnable) const;
+virtual void                           cmdSetColorBlendEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables) const;
+virtual void                           cmdSetColorBlendEquationEXT                                             (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations) const;
+virtual void                           cmdSetColorWriteMaskEXT                                                 (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks) const;
+virtual void                           cmdSetRasterizationStreamEXT                                    (VkCommandBuffer commandBuffer, uint32_t rasterizationStream) const;
+virtual void                           cmdSetConservativeRasterizationModeEXT                  (VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) const;
+virtual void                           cmdSetExtraPrimitiveOverestimationSizeEXT               (VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize) const;
+virtual void                           cmdSetDepthClipEnableEXT                                                (VkCommandBuffer commandBuffer, VkBool32 depthClipEnable) const;
+virtual void                           cmdSetSampleLocationsEnableEXT                                  (VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable) const;
+virtual void                           cmdSetColorBlendAdvancedEXT                                             (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced) const;
+virtual void                           cmdSetProvokingVertexModeEXT                                    (VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode) const;
+virtual void                           cmdSetLineRasterizationModeEXT                                  (VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode) const;
+virtual void                           cmdSetLineStippleEnableEXT                                              (VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable) const;
+virtual void                           cmdSetDepthClipNegativeOneToOneEXT                              (VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne) const;
+virtual void                           cmdSetViewportWScalingEnableNV                                  (VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable) const;
+virtual void                           cmdSetViewportSwizzleNV                                                 (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles) const;
+virtual void                           cmdSetCoverageToColorEnableNV                                   (VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable) const;
+virtual void                           cmdSetCoverageToColorLocationNV                                 (VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation) const;
+virtual void                           cmdSetCoverageModulationModeNV                                  (VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode) const;
+virtual void                           cmdSetCoverageModulationTableEnableNV                   (VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable) const;
+virtual void                           cmdSetCoverageModulationTableNV                                 (VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable) const;
+virtual void                           cmdSetShadingRateImageEnableNV                                  (VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable) const;
+virtual void                           cmdSetCoverageReductionModeNV                                   (VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode) const;
+virtual void                           cmdSetRepresentativeFragmentTestEnableNV                (VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable) const;
 virtual void                           destroyPrivateDataSlot                                                  (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const;
 virtual VkResult                       setPrivateData                                                                  (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) const;
 virtual void                           getPrivateData                                                                  (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) const;
@@ -358,7 +389,7 @@ virtual VkResult                    updateVideoSessionParametersKHR                                 (VkDevice device, VkVideo
 virtual void                           destroyVideoSessionParametersKHR                                (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const;
 virtual VkResult                       getVideoSessionMemoryRequirementsKHR                    (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements) const;
 virtual VkResult                       bindVideoSessionMemoryKHR                                               (VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos) const;
-virtual void                           cmdDecodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const;
+virtual void                           cmdDecodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo) const;
 virtual void                           cmdBeginVideoCodingKHR                                                  (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const;
 virtual void                           cmdControlVideoCodingKHR                                                (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const;
 virtual void                           cmdEndVideoCodingKHR                                                    (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const;
@@ -379,6 +410,20 @@ virtual void                               cmdBeginRendering                                                               (VkCommandBuffer commandBuffer, const V
 virtual void                           cmdEndRendering                                                                 (VkCommandBuffer commandBuffer) const;
 virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const;
 virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const;
+virtual VkResult                       createMicromapEXT                                                               (VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap) const;
+virtual void                           cmdBuildMicromapsEXT                                                    (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const;
+virtual VkResult                       buildMicromapsEXT                                                               (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const;
+virtual void                           destroyMicromapEXT                                                              (VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           cmdCopyMicromapEXT                                                              (VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo) const;
+virtual VkResult                       copyMicromapEXT                                                                 (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo) const;
+virtual void                           cmdCopyMicromapToMemoryEXT                                              (VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo) const;
+virtual VkResult                       copyMicromapToMemoryEXT                                                 (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo) const;
+virtual void                           cmdCopyMemoryToMicromapEXT                                              (VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo) const;
+virtual VkResult                       copyMemoryToMicromapEXT                                                 (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo) const;
+virtual void                           cmdWriteMicromapsPropertiesEXT                                  (VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const;
+virtual VkResult                       writeMicromapsPropertiesEXT                                             (VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const;
+virtual void                           getDeviceMicromapCompatibilityEXT                               (VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const;
+virtual void                           getMicromapBuildSizesEXT                                                (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo) const;
 virtual void                           getShaderModuleIdentifierEXT                                    (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const;
 virtual void                           getShaderModuleCreateInfoIdentifierEXT                  (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const;
 virtual void                           getImageSubresourceLayout2EXT                                   (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const;
@@ -386,3 +431,8 @@ virtual VkResult                    getPipelinePropertiesEXT                                                (VkDevice device, const VkPipel
 virtual void                           exportMetalObjectsEXT                                                   (VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo) const;
 virtual VkResult                       getFramebufferTilePropertiesQCOM                                (VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties) const;
 virtual VkResult                       getDynamicRenderingTilePropertiesQCOM                   (VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties) const;
+virtual VkResult                       createOpticalFlowSessionNV                                              (VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession) const;
+virtual void                           destroyOpticalFlowSessionNV                                             (VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       bindOpticalFlowSessionImageNV                                   (VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout) const;
+virtual void                           cmdOpticalFlowExecuteNV                                                 (VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo) const;
+virtual VkResult                       getDeviceFaultInfoEXT                                                   (VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo) const;
index cc63289..b88cdba 100644 (file)
@@ -89,3 +89,4 @@ virtual VkResult      getPhysicalDeviceVideoCapabilitiesKHR                                                   (VkPhysicalDevice p
 virtual VkResult       getPhysicalDeviceVideoFormatPropertiesKHR                                               (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties) const;
 virtual VkResult       acquireDrmDisplayEXT                                                                                    (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display) const;
 virtual VkResult       getDrmDisplayEXT                                                                                                (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display) const;
+virtual VkResult       getPhysicalDeviceOpticalFlowImageFormatsNV                                              (VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties) const;
index 211d875..1b7af58 100644 (file)
@@ -1634,6 +1634,161 @@ VkResult DeviceDriver::createPrivateDataSlot (VkDevice device, const VkPrivateDa
        return m_vk.createPrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot);
 }
 
+void DeviceDriver::cmdSetTessellationDomainOriginEXT (VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) const
+{
+       m_vk.cmdSetTessellationDomainOriginEXT(commandBuffer, domainOrigin);
+}
+
+void DeviceDriver::cmdSetDepthClampEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) const
+{
+       m_vk.cmdSetDepthClampEnableEXT(commandBuffer, depthClampEnable);
+}
+
+void DeviceDriver::cmdSetPolygonModeEXT (VkCommandBuffer commandBuffer, VkPolygonMode polygonMode) const
+{
+       m_vk.cmdSetPolygonModeEXT(commandBuffer, polygonMode);
+}
+
+void DeviceDriver::cmdSetRasterizationSamplesEXT (VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples) const
+{
+       m_vk.cmdSetRasterizationSamplesEXT(commandBuffer, rasterizationSamples);
+}
+
+void DeviceDriver::cmdSetSampleMaskEXT (VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask) const
+{
+       m_vk.cmdSetSampleMaskEXT(commandBuffer, samples, pSampleMask);
+}
+
+void DeviceDriver::cmdSetAlphaToCoverageEnableEXT (VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable) const
+{
+       m_vk.cmdSetAlphaToCoverageEnableEXT(commandBuffer, alphaToCoverageEnable);
+}
+
+void DeviceDriver::cmdSetAlphaToOneEnableEXT (VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable) const
+{
+       m_vk.cmdSetAlphaToOneEnableEXT(commandBuffer, alphaToOneEnable);
+}
+
+void DeviceDriver::cmdSetLogicOpEnableEXT (VkCommandBuffer commandBuffer, VkBool32 logicOpEnable) const
+{
+       m_vk.cmdSetLogicOpEnableEXT(commandBuffer, logicOpEnable);
+}
+
+void DeviceDriver::cmdSetColorBlendEnableEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables) const
+{
+       m_vk.cmdSetColorBlendEnableEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables);
+}
+
+void DeviceDriver::cmdSetColorBlendEquationEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations) const
+{
+       m_vk.cmdSetColorBlendEquationEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations);
+}
+
+void DeviceDriver::cmdSetColorWriteMaskEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks) const
+{
+       m_vk.cmdSetColorWriteMaskEXT(commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks);
+}
+
+void DeviceDriver::cmdSetRasterizationStreamEXT (VkCommandBuffer commandBuffer, uint32_t rasterizationStream) const
+{
+       m_vk.cmdSetRasterizationStreamEXT(commandBuffer, rasterizationStream);
+}
+
+void DeviceDriver::cmdSetConservativeRasterizationModeEXT (VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) const
+{
+       m_vk.cmdSetConservativeRasterizationModeEXT(commandBuffer, conservativeRasterizationMode);
+}
+
+void DeviceDriver::cmdSetExtraPrimitiveOverestimationSizeEXT (VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize) const
+{
+       m_vk.cmdSetExtraPrimitiveOverestimationSizeEXT(commandBuffer, extraPrimitiveOverestimationSize);
+}
+
+void DeviceDriver::cmdSetDepthClipEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthClipEnable) const
+{
+       m_vk.cmdSetDepthClipEnableEXT(commandBuffer, depthClipEnable);
+}
+
+void DeviceDriver::cmdSetSampleLocationsEnableEXT (VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable) const
+{
+       m_vk.cmdSetSampleLocationsEnableEXT(commandBuffer, sampleLocationsEnable);
+}
+
+void DeviceDriver::cmdSetColorBlendAdvancedEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced) const
+{
+       m_vk.cmdSetColorBlendAdvancedEXT(commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced);
+}
+
+void DeviceDriver::cmdSetProvokingVertexModeEXT (VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode) const
+{
+       m_vk.cmdSetProvokingVertexModeEXT(commandBuffer, provokingVertexMode);
+}
+
+void DeviceDriver::cmdSetLineRasterizationModeEXT (VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode) const
+{
+       m_vk.cmdSetLineRasterizationModeEXT(commandBuffer, lineRasterizationMode);
+}
+
+void DeviceDriver::cmdSetLineStippleEnableEXT (VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable) const
+{
+       m_vk.cmdSetLineStippleEnableEXT(commandBuffer, stippledLineEnable);
+}
+
+void DeviceDriver::cmdSetDepthClipNegativeOneToOneEXT (VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne) const
+{
+       m_vk.cmdSetDepthClipNegativeOneToOneEXT(commandBuffer, negativeOneToOne);
+}
+
+void DeviceDriver::cmdSetViewportWScalingEnableNV (VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable) const
+{
+       m_vk.cmdSetViewportWScalingEnableNV(commandBuffer, viewportWScalingEnable);
+}
+
+void DeviceDriver::cmdSetViewportSwizzleNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles) const
+{
+       m_vk.cmdSetViewportSwizzleNV(commandBuffer, firstViewport, viewportCount, pViewportSwizzles);
+}
+
+void DeviceDriver::cmdSetCoverageToColorEnableNV (VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable) const
+{
+       m_vk.cmdSetCoverageToColorEnableNV(commandBuffer, coverageToColorEnable);
+}
+
+void DeviceDriver::cmdSetCoverageToColorLocationNV (VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation) const
+{
+       m_vk.cmdSetCoverageToColorLocationNV(commandBuffer, coverageToColorLocation);
+}
+
+void DeviceDriver::cmdSetCoverageModulationModeNV (VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode) const
+{
+       m_vk.cmdSetCoverageModulationModeNV(commandBuffer, coverageModulationMode);
+}
+
+void DeviceDriver::cmdSetCoverageModulationTableEnableNV (VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable) const
+{
+       m_vk.cmdSetCoverageModulationTableEnableNV(commandBuffer, coverageModulationTableEnable);
+}
+
+void DeviceDriver::cmdSetCoverageModulationTableNV (VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable) const
+{
+       m_vk.cmdSetCoverageModulationTableNV(commandBuffer, coverageModulationTableCount, pCoverageModulationTable);
+}
+
+void DeviceDriver::cmdSetShadingRateImageEnableNV (VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable) const
+{
+       m_vk.cmdSetShadingRateImageEnableNV(commandBuffer, shadingRateImageEnable);
+}
+
+void DeviceDriver::cmdSetCoverageReductionModeNV (VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode) const
+{
+       m_vk.cmdSetCoverageReductionModeNV(commandBuffer, coverageReductionMode);
+}
+
+void DeviceDriver::cmdSetRepresentativeFragmentTestEnableNV (VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable) const
+{
+       m_vk.cmdSetRepresentativeFragmentTestEnableNV(commandBuffer, representativeFragmentTestEnable);
+}
+
 void DeviceDriver::destroyPrivateDataSlot (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const
 {
        m_vk.destroyPrivateDataSlot(device, privateDataSlot, pAllocator);
@@ -1779,9 +1934,9 @@ VkResult DeviceDriver::bindVideoSessionMemoryKHR (VkDevice device, VkVideoSessio
        return m_vk.bindVideoSessionMemoryKHR(device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos);
 }
 
-void DeviceDriver::cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const
+void DeviceDriver::cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo) const
 {
-       m_vk.cmdDecodeVideoKHR(commandBuffer, pFrameInfo);
+       m_vk.cmdDecodeVideoKHR(commandBuffer, pDecodeInfo);
 }
 
 void DeviceDriver::cmdBeginVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const
@@ -1884,6 +2039,76 @@ void DeviceDriver::getDescriptorSetHostMappingVALVE (VkDevice device, VkDescript
        m_vk.getDescriptorSetHostMappingVALVE(device, descriptorSet, ppData);
 }
 
+VkResult DeviceDriver::createMicromapEXT (VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap) const
+{
+       return m_vk.createMicromapEXT(device, pCreateInfo, pAllocator, pMicromap);
+}
+
+void DeviceDriver::cmdBuildMicromapsEXT (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const
+{
+       m_vk.cmdBuildMicromapsEXT(commandBuffer, infoCount, pInfos);
+}
+
+VkResult DeviceDriver::buildMicromapsEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const
+{
+       return m_vk.buildMicromapsEXT(device, deferredOperation, infoCount, pInfos);
+}
+
+void DeviceDriver::destroyMicromapEXT (VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator) const
+{
+       m_vk.destroyMicromapEXT(device, micromap, pAllocator);
+}
+
+void DeviceDriver::cmdCopyMicromapEXT (VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo) const
+{
+       m_vk.cmdCopyMicromapEXT(commandBuffer, pInfo);
+}
+
+VkResult DeviceDriver::copyMicromapEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo) const
+{
+       return m_vk.copyMicromapEXT(device, deferredOperation, pInfo);
+}
+
+void DeviceDriver::cmdCopyMicromapToMemoryEXT (VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo) const
+{
+       m_vk.cmdCopyMicromapToMemoryEXT(commandBuffer, pInfo);
+}
+
+VkResult DeviceDriver::copyMicromapToMemoryEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo) const
+{
+       return m_vk.copyMicromapToMemoryEXT(device, deferredOperation, pInfo);
+}
+
+void DeviceDriver::cmdCopyMemoryToMicromapEXT (VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo) const
+{
+       m_vk.cmdCopyMemoryToMicromapEXT(commandBuffer, pInfo);
+}
+
+VkResult DeviceDriver::copyMemoryToMicromapEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo) const
+{
+       return m_vk.copyMemoryToMicromapEXT(device, deferredOperation, pInfo);
+}
+
+void DeviceDriver::cmdWriteMicromapsPropertiesEXT (VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const
+{
+       m_vk.cmdWriteMicromapsPropertiesEXT(commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery);
+}
+
+VkResult DeviceDriver::writeMicromapsPropertiesEXT (VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const
+{
+       return m_vk.writeMicromapsPropertiesEXT(device, micromapCount, pMicromaps, queryType, dataSize, pData, stride);
+}
+
+void DeviceDriver::getDeviceMicromapCompatibilityEXT (VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const
+{
+       m_vk.getDeviceMicromapCompatibilityEXT(device, pVersionInfo, pCompatibility);
+}
+
+void DeviceDriver::getMicromapBuildSizesEXT (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo) const
+{
+       m_vk.getMicromapBuildSizesEXT(device, buildType, pBuildInfo, pSizeInfo);
+}
+
 void DeviceDriver::getShaderModuleIdentifierEXT (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const
 {
        m_vk.getShaderModuleIdentifierEXT(device, shaderModule, pIdentifier);
@@ -1918,3 +2143,28 @@ VkResult DeviceDriver::getDynamicRenderingTilePropertiesQCOM (VkDevice device, c
 {
        return m_vk.getDynamicRenderingTilePropertiesQCOM(device, pRenderingInfo, pProperties);
 }
+
+VkResult DeviceDriver::createOpticalFlowSessionNV (VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession) const
+{
+       return m_vk.createOpticalFlowSessionNV(device, pCreateInfo, pAllocator, pSession);
+}
+
+void DeviceDriver::destroyOpticalFlowSessionNV (VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator) const
+{
+       m_vk.destroyOpticalFlowSessionNV(device, session, pAllocator);
+}
+
+VkResult DeviceDriver::bindOpticalFlowSessionImageNV (VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout) const
+{
+       return m_vk.bindOpticalFlowSessionImageNV(device, session, bindingPoint, view, layout);
+}
+
+void DeviceDriver::cmdOpticalFlowExecuteNV (VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo) const
+{
+       m_vk.cmdOpticalFlowExecuteNV(commandBuffer, session, pExecuteInfo);
+}
+
+VkResult DeviceDriver::getDeviceFaultInfoEXT (VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo) const
+{
+       return m_vk.getDeviceFaultInfoEXT(device, pFaultCounts, pFaultInfo);
+}
index b892d9a..f5beaa5 100644 (file)
@@ -2811,6 +2811,53 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestYcbcrImageArraysFeaturesE
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestPresentBarrierFeaturesNV (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDevicePresentBarrierFeaturesNV>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDevicePresentBarrierFeaturesNV, presentBarrier),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDevicePresentBarrierFeaturesNV*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestPerformanceQueryFeaturesKHR (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -3978,6 +4025,83 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestExtendedDynamicState2Feat
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestExtendedDynamicState3FeaturesEXT (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3TessellationDomainOrigin),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3DepthClampEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3PolygonMode),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3RasterizationSamples),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3SampleMask),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3AlphaToCoverageEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3AlphaToOneEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3LogicOpEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ColorBlendEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ColorBlendEquation),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ColorWriteMask),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3RasterizationStream),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ConservativeRasterizationMode),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ExtraPrimitiveOverestimationSize),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3DepthClipEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3SampleLocationsEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ColorBlendAdvanced),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ProvokingVertexMode),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3LineRasterizationMode),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3LineStippleEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3DepthClipNegativeOneToOne),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ViewportWScalingEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ViewportSwizzle),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3CoverageToColorEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3CoverageToColorLocation),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3CoverageModulationMode),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3CoverageModulationTableEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3CoverageModulationTable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3CoverageReductionMode),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3RepresentativeFragmentTestEnable),
+               FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState3FeaturesEXT, extendedDynamicState3ShadingRateImageEnable),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 31, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -4662,7 +4786,7 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestImage2DViewOf3DFeaturesEX
 }
 
 
-tcu::TestStatus createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeaturesVALVE (Context& context)
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeaturesEXT (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
        tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
@@ -4692,13 +4816,13 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeat
        for (const string& extension : nonCoreExtensions)
                extensionNames.push_back(extension.c_str());
 
-       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>()))
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>()))
        {
                static const Feature features[] =
                {
-               FEATURE_ITEM (VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE, mutableDescriptorType),
+               FEATURE_ITEM (VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT, mutableDescriptorType),
                };
-               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE*>(featuresStruct);
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT*>(featuresStruct);
                checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
        }
 
@@ -5087,6 +5211,53 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestMultisampledRenderToSingl
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestPipelineProtectedAccessFeaturesEXT (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDevicePipelineProtectedAccessFeaturesEXT, pipelineProtectedAccess),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestInheritedViewportScissorFeaturesNV (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -5890,6 +6061,55 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestSubpassMergeFeedbackFeatu
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestOpacityMicromapFeaturesEXT (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceOpacityMicromapFeaturesEXT>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceOpacityMicromapFeaturesEXT, micromap),
+               FEATURE_ITEM (VkPhysicalDeviceOpacityMicromapFeaturesEXT, micromapCaptureReplay),
+               FEATURE_ITEM (VkPhysicalDeviceOpacityMicromapFeaturesEXT, micromapHostCommands),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceOpacityMicromapFeaturesEXT*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 tcu::TestStatus createDeviceWithUnsupportedFeaturesTestPipelinePropertiesFeaturesEXT (Context& context)
 {
        const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
@@ -6315,6 +6535,195 @@ tcu::TestStatus createDeviceWithUnsupportedFeaturesTestDepthClampZeroOneFeatures
 }
 
 
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestAddressBindingReportFeaturesEXT (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceAddressBindingReportFeaturesEXT>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceAddressBindingReportFeaturesEXT, reportAddressBinding),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceAddressBindingReportFeaturesEXT*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestOpticalFlowFeaturesNV (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceOpticalFlowFeaturesNV>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceOpticalFlowFeaturesNV, opticalFlow),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceOpticalFlowFeaturesNV*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestFaultFeaturesEXT (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFaultFeaturesEXT>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceFaultFeaturesEXT, deviceFault),
+               FEATURE_ITEM (VkPhysicalDeviceFaultFeaturesEXT, deviceFaultVendorBinary),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFaultFeaturesEXT*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
+tcu::TestStatus createDeviceWithUnsupportedFeaturesTestShaderCoreBuiltinsFeaturesARM (Context& context)
+{
+       const PlatformInterface&                                vkp                                             = context.getPlatformInterface();
+       tcu::TestLog&                                                   log                                             = context.getTestContext().getLog();
+       tcu::ResultCollector                                    resultCollector                 (log);
+       const CustomInstance                                    instance                                (createCustomInstanceWithExtensions(context, context.getInstanceExtensions(), DE_NULL, true));
+       const InstanceDriver&                                   instanceDriver                  (instance.getDriver());
+       const VkPhysicalDevice                                  physicalDevice                  = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine());
+       const deUint32                                                  queueFamilyIndex                = 0;
+       const deUint32                                                  queueCount                              = 1;
+       const float                                                             queuePriority                   = 1.0f;
+       const DeviceFeatures                                    deviceFeaturesAll               (context.getInstanceInterface(), context.getUsedApiVersion(), physicalDevice, context.getInstanceExtensions(), context.getDeviceExtensions(), DE_TRUE);
+       const VkPhysicalDeviceFeatures2                 deviceFeatures2                 = deviceFeaturesAll.getCoreFeatures2();
+       int                                                                             numErrors                               = 0;
+       bool                                                                    isSubProcess                    = context.getTestContext().getCommandLine().isSubProcess();
+
+
+       VkPhysicalDeviceFeatures emptyDeviceFeatures;
+       deMemset(&emptyDeviceFeatures, 0, sizeof(emptyDeviceFeatures));
+
+       // Only non-core extensions will be used when creating the device.
+       vector<const char*>     coreExtensions;
+       getCoreDeviceExtensions(context.getUsedApiVersion(), coreExtensions);
+       vector<string> nonCoreExtensions(removeExtensions(context.getDeviceExtensions(), coreExtensions));
+
+       vector<const char*> extensionNames;
+       extensionNames.reserve(nonCoreExtensions.size());
+       for (const string& extension : nonCoreExtensions)
+               extensionNames.push_back(extension.c_str());
+
+       if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM>()))
+       {
+               static const Feature features[] =
+               {
+               FEATURE_ITEM (VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM, shaderCoreBuiltins),
+               };
+               auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM*>(featuresStruct);
+               checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+       }
+
+       if (numErrors > 0)
+               return tcu::TestStatus(resultCollector.getResult(), "Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.");
+       else
+               return tcu::TestStatus(resultCollector.getResult(), resultCollector.getMessage());
+}
+
+
 void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
 {
 
@@ -6376,6 +6785,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "texture_compression_astchdr_features", "createDeviceWithUnsupportedFeaturesTestTextureCompressionASTCHDRFeatures", createDeviceWithUnsupportedFeaturesTestTextureCompressionASTCHDRFeatures);
        addFunctionCase(testGroup, "cooperative_matrix_features_nv", "createDeviceWithUnsupportedFeaturesTestCooperativeMatrixFeaturesNV", createDeviceWithUnsupportedFeaturesTestCooperativeMatrixFeaturesNV);
        addFunctionCase(testGroup, "ycbcr_image_arrays_features_ext", "createDeviceWithUnsupportedFeaturesTestYcbcrImageArraysFeaturesEXT", createDeviceWithUnsupportedFeaturesTestYcbcrImageArraysFeaturesEXT);
+       addFunctionCase(testGroup, "present_barrier_features_nv", "createDeviceWithUnsupportedFeaturesTestPresentBarrierFeaturesNV", createDeviceWithUnsupportedFeaturesTestPresentBarrierFeaturesNV);
        addFunctionCase(testGroup, "performance_query_features_khr", "createDeviceWithUnsupportedFeaturesTestPerformanceQueryFeaturesKHR", createDeviceWithUnsupportedFeaturesTestPerformanceQueryFeaturesKHR);
        addFunctionCase(testGroup, "coverage_reduction_mode_features_nv", "createDeviceWithUnsupportedFeaturesTestCoverageReductionModeFeaturesNV", createDeviceWithUnsupportedFeaturesTestCoverageReductionModeFeaturesNV);
        addFunctionCase(testGroup, "shader_integer_functions2_features_intel", "createDeviceWithUnsupportedFeaturesTestShaderIntegerFunctions2FeaturesINTEL", createDeviceWithUnsupportedFeaturesTestShaderIntegerFunctions2FeaturesINTEL);
@@ -6399,6 +6809,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "border_color_swizzle_features_ext", "createDeviceWithUnsupportedFeaturesTestBorderColorSwizzleFeaturesEXT", createDeviceWithUnsupportedFeaturesTestBorderColorSwizzleFeaturesEXT);
        addFunctionCase(testGroup, "extended_dynamic_state_features_ext", "createDeviceWithUnsupportedFeaturesTestExtendedDynamicStateFeaturesEXT", createDeviceWithUnsupportedFeaturesTestExtendedDynamicStateFeaturesEXT);
        addFunctionCase(testGroup, "extended_dynamic_state2_features_ext", "createDeviceWithUnsupportedFeaturesTestExtendedDynamicState2FeaturesEXT", createDeviceWithUnsupportedFeaturesTestExtendedDynamicState2FeaturesEXT);
+       addFunctionCase(testGroup, "extended_dynamic_state3_features_ext", "createDeviceWithUnsupportedFeaturesTestExtendedDynamicState3FeaturesEXT", createDeviceWithUnsupportedFeaturesTestExtendedDynamicState3FeaturesEXT);
        addFunctionCase(testGroup, "diagnostics_config_features_nv", "createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV", createDeviceWithUnsupportedFeaturesTestDiagnosticsConfigFeaturesNV);
        addFunctionCase(testGroup, "zero_initialize_workgroup_memory_features", "createDeviceWithUnsupportedFeaturesTestZeroInitializeWorkgroupMemoryFeatures", createDeviceWithUnsupportedFeaturesTestZeroInitializeWorkgroupMemoryFeatures);
        addFunctionCase(testGroup, "shader_subgroup_uniform_control_flow_features_khr", "createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR", createDeviceWithUnsupportedFeaturesTestShaderSubgroupUniformControlFlowFeaturesKHR);
@@ -6413,7 +6824,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "shader_terminate_invocation_features", "createDeviceWithUnsupportedFeaturesTestShaderTerminateInvocationFeatures", createDeviceWithUnsupportedFeaturesTestShaderTerminateInvocationFeatures);
        addFunctionCase(testGroup, "fragment_shading_rate_enums_features_nv", "createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV", createDeviceWithUnsupportedFeaturesTestFragmentShadingRateEnumsFeaturesNV);
        addFunctionCase(testGroup, "image2_d_view_of3_d_features_ext", "createDeviceWithUnsupportedFeaturesTestImage2DViewOf3DFeaturesEXT", createDeviceWithUnsupportedFeaturesTestImage2DViewOf3DFeaturesEXT);
-       addFunctionCase(testGroup, "mutable_descriptor_type_features_valve", "createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeaturesVALVE", createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeaturesVALVE);
+       addFunctionCase(testGroup, "mutable_descriptor_type_features_ext", "createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeaturesEXT", createDeviceWithUnsupportedFeaturesTestMutableDescriptorTypeFeaturesEXT);
        addFunctionCase(testGroup, "depth_clip_control_features_ext", "createDeviceWithUnsupportedFeaturesTestDepthClipControlFeaturesEXT", createDeviceWithUnsupportedFeaturesTestDepthClipControlFeaturesEXT);
        addFunctionCase(testGroup, "vertex_input_dynamic_state_features_ext", "createDeviceWithUnsupportedFeaturesTestVertexInputDynamicStateFeaturesEXT", createDeviceWithUnsupportedFeaturesTestVertexInputDynamicStateFeaturesEXT);
        addFunctionCase(testGroup, "external_memory_rdma_features_nv", "createDeviceWithUnsupportedFeaturesTestExternalMemoryRDMAFeaturesNV", createDeviceWithUnsupportedFeaturesTestExternalMemoryRDMAFeaturesNV);
@@ -6422,6 +6833,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "primitives_generated_query_features_ext", "createDeviceWithUnsupportedFeaturesTestPrimitivesGeneratedQueryFeaturesEXT", createDeviceWithUnsupportedFeaturesTestPrimitivesGeneratedQueryFeaturesEXT);
        addFunctionCase(testGroup, "legacy_dithering_features_ext", "createDeviceWithUnsupportedFeaturesTestLegacyDitheringFeaturesEXT", createDeviceWithUnsupportedFeaturesTestLegacyDitheringFeaturesEXT);
        addFunctionCase(testGroup, "multisampled_render_to_single_sampled_features_ext", "createDeviceWithUnsupportedFeaturesTestMultisampledRenderToSingleSampledFeaturesEXT", createDeviceWithUnsupportedFeaturesTestMultisampledRenderToSingleSampledFeaturesEXT);
+       addFunctionCase(testGroup, "pipeline_protected_access_features_ext", "createDeviceWithUnsupportedFeaturesTestPipelineProtectedAccessFeaturesEXT", createDeviceWithUnsupportedFeaturesTestPipelineProtectedAccessFeaturesEXT);
        addFunctionCase(testGroup, "inherited_viewport_scissor_features_nv", "createDeviceWithUnsupportedFeaturesTestInheritedViewportScissorFeaturesNV", createDeviceWithUnsupportedFeaturesTestInheritedViewportScissorFeaturesNV);
        addFunctionCase(testGroup, "ycbcr2_plane444_formats_features_ext", "createDeviceWithUnsupportedFeaturesTestYcbcr2Plane444FormatsFeaturesEXT", createDeviceWithUnsupportedFeaturesTestYcbcr2Plane444FormatsFeaturesEXT);
        addFunctionCase(testGroup, "provoking_vertex_features_ext", "createDeviceWithUnsupportedFeaturesTestProvokingVertexFeaturesEXT", createDeviceWithUnsupportedFeaturesTestProvokingVertexFeaturesEXT);
@@ -6439,6 +6851,7 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "image_compression_control_features_ext", "createDeviceWithUnsupportedFeaturesTestImageCompressionControlFeaturesEXT", createDeviceWithUnsupportedFeaturesTestImageCompressionControlFeaturesEXT);
        addFunctionCase(testGroup, "image_compression_control_swapchain_features_ext", "createDeviceWithUnsupportedFeaturesTestImageCompressionControlSwapchainFeaturesEXT", createDeviceWithUnsupportedFeaturesTestImageCompressionControlSwapchainFeaturesEXT);
        addFunctionCase(testGroup, "subpass_merge_feedback_features_ext", "createDeviceWithUnsupportedFeaturesTestSubpassMergeFeedbackFeaturesEXT", createDeviceWithUnsupportedFeaturesTestSubpassMergeFeedbackFeaturesEXT);
+       addFunctionCase(testGroup, "opacity_micromap_features_ext", "createDeviceWithUnsupportedFeaturesTestOpacityMicromapFeaturesEXT", createDeviceWithUnsupportedFeaturesTestOpacityMicromapFeaturesEXT);
        addFunctionCase(testGroup, "pipeline_properties_features_ext", "createDeviceWithUnsupportedFeaturesTestPipelinePropertiesFeaturesEXT", createDeviceWithUnsupportedFeaturesTestPipelinePropertiesFeaturesEXT);
        addFunctionCase(testGroup, "shader_early_and_late_fragment_tests_features_amd", "createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD", createDeviceWithUnsupportedFeaturesTestShaderEarlyAndLateFragmentTestsFeaturesAMD);
        addFunctionCase(testGroup, "non_seamless_cube_map_features_ext", "createDeviceWithUnsupportedFeaturesTestNonSeamlessCubeMapFeaturesEXT", createDeviceWithUnsupportedFeaturesTestNonSeamlessCubeMapFeaturesEXT);
@@ -6448,5 +6861,9 @@ void addSeparateUnsupportedFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "amigo_profiling_features_sec", "createDeviceWithUnsupportedFeaturesTestAmigoProfilingFeaturesSEC", createDeviceWithUnsupportedFeaturesTestAmigoProfilingFeaturesSEC);
        addFunctionCase(testGroup, "attachment_feedback_loop_layout_features_ext", "createDeviceWithUnsupportedFeaturesTestAttachmentFeedbackLoopLayoutFeaturesEXT", createDeviceWithUnsupportedFeaturesTestAttachmentFeedbackLoopLayoutFeaturesEXT);
        addFunctionCase(testGroup, "depth_clamp_zero_one_features_ext", "createDeviceWithUnsupportedFeaturesTestDepthClampZeroOneFeaturesEXT", createDeviceWithUnsupportedFeaturesTestDepthClampZeroOneFeaturesEXT);
+       addFunctionCase(testGroup, "address_binding_report_features_ext", "createDeviceWithUnsupportedFeaturesTestAddressBindingReportFeaturesEXT", createDeviceWithUnsupportedFeaturesTestAddressBindingReportFeaturesEXT);
+       addFunctionCase(testGroup, "optical_flow_features_nv", "createDeviceWithUnsupportedFeaturesTestOpticalFlowFeaturesNV", createDeviceWithUnsupportedFeaturesTestOpticalFlowFeaturesNV);
+       addFunctionCase(testGroup, "fault_features_ext", "createDeviceWithUnsupportedFeaturesTestFaultFeaturesEXT", createDeviceWithUnsupportedFeaturesTestFaultFeaturesEXT);
+       addFunctionCase(testGroup, "shader_core_builtins_features_arm", "createDeviceWithUnsupportedFeaturesTestShaderCoreBuiltinsFeaturesARM", createDeviceWithUnsupportedFeaturesTestShaderCoreBuiltinsFeaturesARM);
 }
 
index 965b9be..a18bcd4 100644 (file)
@@ -212,6 +212,7 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePageableDeviceLocalMemoryFea
 template<> void initFeatureFromBlob<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(VkPhysicalDeviceCooperativeMatrixFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDevicePresentBarrierFeaturesNV>(VkPhysicalDevicePresentBarrierFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePerformanceQueryFeaturesKHR>(VkPhysicalDevicePerformanceQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(VkPhysicalDeviceCoverageReductionModeFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&, const AllFeaturesBlobs&) {}
@@ -228,6 +229,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceCustomBorderColorFeaturesEXT
 template<> void initFeatureFromBlob<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT>(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(VkPhysicalDeviceDiagnosticsConfigFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRobustness2FeaturesEXT>(VkPhysicalDeviceRobustness2FeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -239,7 +241,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceShaderImageAtomicInt64Featur
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(VkPhysicalDeviceFragmentShadingRateFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&, const AllFeaturesBlobs&) {}
-template<> void initFeatureFromBlob<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDepthClipControlFeaturesEXT>(VkPhysicalDeviceDepthClipControlFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&, const AllFeaturesBlobs&) {}
@@ -247,6 +249,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceColorWriteEnableFeaturesEXT>
 template<> void initFeatureFromBlob<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceLegacyDitheringFeaturesEXT>(VkPhysicalDeviceLegacyDitheringFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT>(VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT>(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(VkPhysicalDeviceInheritedViewportScissorFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceProvokingVertexFeaturesEXT>(VkPhysicalDeviceProvokingVertexFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -262,6 +265,7 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceShaderModuleIdentifierFeatur
 template<> void initFeatureFromBlob<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(VkPhysicalDeviceImageCompressionControlFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceOpacityMicromapFeaturesEXT>(VkPhysicalDeviceOpacityMicromapFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(VkPhysicalDevicePipelinePropertiesFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT>(VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -271,133 +275,145 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceTilePropertiesFeaturesQCOM>(
 template<> void initFeatureFromBlob<VkPhysicalDeviceAmigoProfilingFeaturesSEC>(VkPhysicalDeviceAmigoProfilingFeaturesSEC&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>(VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT>(VkPhysicalDeviceDepthClampZeroOneFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceAddressBindingReportFeaturesEXT>(VkPhysicalDeviceAddressBindingReportFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceOpticalFlowFeaturesNV>(VkPhysicalDeviceOpticalFlowFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceFaultFeaturesEXT>(VkPhysicalDeviceFaultFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM>(VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM&, const AllFeaturesBlobs&) {}
 
 
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 127}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 126}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 125}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 124}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 123}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 122}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineRobustnessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT, VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION, 121}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 120}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 119}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 118}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 117}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 116}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 115}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVariablePointersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 114}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 113}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 112}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 111}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 110}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 109}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 108}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 107}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 106}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 105}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShadingRateImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 104}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 103}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 102}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 101}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 100}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 99}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME, VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION, 98}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 97}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 96}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 95}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 94}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 93}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTimelineSemaphoreFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 92}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 91}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVulkanMemoryModelFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 90}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 89}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 88}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 87}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 86}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 85}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME, VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION, 84}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 83}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 82}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 81}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 80}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 79}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentWaitFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 78}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 77}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 76}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 75}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 74}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 73}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProvokingVertexFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 72}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 71}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 70}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 69}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 68}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 67}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 66}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 65}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 64}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 63}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 62}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 61}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerDotProductFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 60}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 59}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 58}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 57}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 56}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentIdFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 55}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 54}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 53}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME, VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION, 52}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSynchronization2Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 51}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 50}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION, 49}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 48}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION, 47}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION, 46}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 45}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 44}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT, VK_EXT_MESH_SHADER_EXTENSION_NAME, VK_EXT_MESH_SHADER_SPEC_VERSION, 43}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT, VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME, VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION, 42}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 41}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 40}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION, 39}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION, 38}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT, VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME, VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION, 37}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 36}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 35}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 34}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION, 33}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 32}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 31}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 30}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 29}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 28}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION, 27}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT, VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME, VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION, 26}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 25}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 24}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME, VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION, 23}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION, 22}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 21}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiDrawFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 20}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION, 19}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 18}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 17}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 16}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 15}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT, VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME, VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION, 14}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT, VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME, VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION, 13}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 12}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 11}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION, 10}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageProcessingFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM, VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME, VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION, 9}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT, VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME, VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION, 8}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION, 7}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME, VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION, 6}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLegacyDitheringFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT, VK_EXT_LEGACY_DITHERING_EXTENSION_NAME, VK_EXT_LEGACY_DITHERING_SPEC_VERSION, 5}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTilePropertiesFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM, VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME, VK_QCOM_TILE_PROPERTIES_SPEC_VERSION, 4}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAmigoProfilingFeaturesSEC>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC, VK_SEC_AMIGO_PROFILING_EXTENSION_NAME, VK_SEC_AMIGO_PROFILING_SPEC_VERSION, 3}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 135}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 134}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCornerSampledImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 133}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 132}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 131}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceASTCDecodeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 130}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineRobustnessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT, VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION, 129}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceConditionalRenderingFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 128}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 127}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 126}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 125}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 124}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 123}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVariablePointersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 122}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 121}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 120}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 119}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 118}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 117}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 116}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 115}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 114}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 113}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShadingRateImageFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 112}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 111}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 110}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 109}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 108}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderClockFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 107}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME, VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION, 106}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 105}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 104}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 103}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 102}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExclusiveScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 101}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTimelineSemaphoreFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 100}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 99}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVulkanMemoryModelFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 98}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 97}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 95}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 94}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 93}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME, VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION, 92}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 91}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMemoryPriorityFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 90}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 89}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 88}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 87}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentWaitFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 86}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCooperativeMatrixFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 85}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoverageReductionModeFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 84}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 83}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 82}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 81}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProvokingVertexFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 80}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 79}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 78}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 75}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 74}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 73}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 72}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 71}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 70}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 69}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerDotProductFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 68}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 67}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 66}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRobustness2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 65}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 64}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentBarrierFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV, VK_NV_PRESENT_BARRIER_EXTENSION_NAME, VK_NV_PRESENT_BARRIER_SPEC_VERSION, 63}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePresentIdFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 62}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 61}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 60}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME, VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION, 59}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSynchronization2Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 58}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 57}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION, 56}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 55}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION, 54}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION, 53}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 52}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 51}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMeshShaderFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT, VK_EXT_MESH_SHADER_EXTENSION_NAME, VK_EXT_MESH_SHADER_SPEC_VERSION, 50}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT, VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME, VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION, 49}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 48}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 47}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION, 46}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION, 45}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT, VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME, VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION, 44}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice4444FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 43}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFaultFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT, VK_EXT_DEVICE_FAULT_EXTENSION_NAME, VK_EXT_DEVICE_FAULT_SPEC_VERSION, 42}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 41}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION, 40}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAddressBindingReportFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT, VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION, 39}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClipControlFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 38}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 37}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 36}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 35}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 34}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION, 33}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT, VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME, VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION, 32}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 31}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 30}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT, VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME, VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION, 29}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION, 28}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageViewMinLodFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 27}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiDrawFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 26}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION, 25}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceOpacityMicromapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT, VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME, VK_EXT_OPACITY_MICROMAP_SPEC_VERSION, 24}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 23}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 22}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 21}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION, 20}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT, VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME, VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION, 19}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT, VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME, VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION, 18}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 17}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION, 16}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION, 15}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageProcessingFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM, VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME, VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION, 14}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION, 13}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT, VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME, VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION, 12}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION, 11}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME, VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION, 10}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceOpticalFlowFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV, VK_NV_OPTICAL_FLOW_EXTENSION_NAME, VK_NV_OPTICAL_FLOW_SPEC_VERSION, 9}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLegacyDitheringFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT, VK_EXT_LEGACY_DITHERING_EXTENSION_NAME, VK_EXT_LEGACY_DITHERING_SPEC_VERSION, 8}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT, VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME, VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION, 7}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTilePropertiesFeaturesQCOM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM, VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME, VK_QCOM_TILE_PROPERTIES_SPEC_VERSION, 6}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceAmigoProfilingFeaturesSEC>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC, VK_SEC_AMIGO_PROFILING_EXTENSION_NAME, VK_SEC_AMIGO_PROFILING_SPEC_VERSION, 5}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 4}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM, VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME, VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION, 3}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 2}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, DECL_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, 0, 1}; }
 
@@ -476,6 +492,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRobustness2FeaturesEXT>, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceCustomBorderColorFeaturesEXT>, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDevicePresentBarrierFeaturesNV>, VK_NV_PRESENT_BARRIER_EXTENSION_NAME, VK_NV_PRESENT_BARRIER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePresentIdFeaturesKHR>, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePrivateDataFeatures>, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePipelineCreationCacheControlFeatures>, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION },
@@ -496,9 +513,10 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceImageCompressionControlFeaturesEXT>, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>, VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME, VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevice4444FormatsFeaturesEXT>, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceFaultFeaturesEXT>, VK_EXT_DEVICE_FAULT_EXTENSION_NAME, VK_EXT_DEVICE_FAULT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION },
-       { createFeatureStructWrapper<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceAddressBindingReportFeaturesEXT>, VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDepthClipControlFeaturesEXT>, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION },
@@ -513,6 +531,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceImageViewMinLodFeaturesEXT>, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceMultiDrawFeaturesEXT>, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceOpacityMicromapFeaturesEXT>, VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME, VK_EXT_OPACITY_MICROMAP_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceMaintenance4Features>, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION },
@@ -523,12 +542,17 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>, VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME, VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageProcessingFeaturesQCOM>, VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME, VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT>, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>, VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME, VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT>, VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME, VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceOpticalFlowFeaturesNV>, VK_NV_OPTICAL_FLOW_EXTENSION_NAME, VK_NV_OPTICAL_FLOW_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceLegacyDitheringFeaturesEXT>, VK_EXT_LEGACY_DITHERING_EXTENSION_NAME, VK_EXT_LEGACY_DITHERING_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT>, VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME, VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceTilePropertiesFeaturesQCOM>, VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME, VK_QCOM_TILE_PROPERTIES_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceAmigoProfilingFeaturesSEC>, VK_SEC_AMIGO_PROFILING_EXTENSION_NAME, VK_SEC_AMIGO_PROFILING_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>, VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM>, VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME, VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceProtectedMemoryFeatures>, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderDrawParametersFeatures>, DECL_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, 0 },
 };
index 7092f6d..68c5500 100644 (file)
@@ -2570,6 +2570,73 @@ tcu::TestStatus testPhysicalDeviceFeatureExtendedDynamicState2FeaturesEXT (Conte
        return tcu::TestStatus::pass("Querying succeeded");
 }
 
+tcu::TestStatus testPhysicalDeviceFeatureExtendedDynamicState3FeaturesEXT (Context& context)
+{
+       const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
+       const CustomInstance            instance                (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
+       const InstanceDriver&           vki                             (instance.getDriver());
+       const int                                       count                   = 2u;
+       TestLog&                                        log                             = context.getTestContext().getLog();
+       VkPhysicalDeviceFeatures2       extFeatures;
+       vector<VkExtensionProperties> properties        = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
+
+       VkPhysicalDeviceExtendedDynamicState3FeaturesEXT        deviceExtendedDynamicState3FeaturesEXT[count];
+       const bool                                                                                      isExtendedDynamicState3FeaturesEXT = checkExtension(properties, "VK_EXT_extended_dynamic_state3");
+
+       for (int ndx = 0; ndx < count; ++ndx)
+       {
+               deMemset(&deviceExtendedDynamicState3FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceExtendedDynamicState3FeaturesEXT));
+               deviceExtendedDynamicState3FeaturesEXT[ndx].sType = isExtendedDynamicState3FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
+               deviceExtendedDynamicState3FeaturesEXT[ndx].pNext = DE_NULL;
+
+               deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
+               extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+               extFeatures.pNext = &deviceExtendedDynamicState3FeaturesEXT[ndx];
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures);
+       }
+
+       if (isExtendedDynamicState3FeaturesEXT)
+               log << TestLog::Message << deviceExtendedDynamicState3FeaturesEXT[0] << TestLog::EndMessage;
+
+       if (isExtendedDynamicState3FeaturesEXT &&
+               (deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3TessellationDomainOrigin != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3TessellationDomainOrigin ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3DepthClampEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3DepthClampEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3PolygonMode != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3PolygonMode ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3RasterizationSamples != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3RasterizationSamples ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3SampleMask != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3SampleMask ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3AlphaToCoverageEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3AlphaToCoverageEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3AlphaToOneEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3AlphaToOneEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3LogicOpEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3LogicOpEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ColorBlendEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ColorBlendEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ColorBlendEquation != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ColorBlendEquation ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ColorWriteMask != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ColorWriteMask ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3RasterizationStream != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3RasterizationStream ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ConservativeRasterizationMode != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ConservativeRasterizationMode ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ExtraPrimitiveOverestimationSize != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ExtraPrimitiveOverestimationSize ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3DepthClipEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3DepthClipEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3SampleLocationsEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3SampleLocationsEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ColorBlendAdvanced != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ColorBlendAdvanced ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ProvokingVertexMode != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ProvokingVertexMode ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3LineRasterizationMode != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3LineRasterizationMode ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3LineStippleEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3LineStippleEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3DepthClipNegativeOneToOne != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3DepthClipNegativeOneToOne ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ViewportWScalingEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ViewportWScalingEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ViewportSwizzle != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ViewportSwizzle ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3CoverageToColorEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3CoverageToColorEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3CoverageToColorLocation != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3CoverageToColorLocation ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3CoverageModulationMode != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3CoverageModulationMode ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3CoverageModulationTableEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3CoverageModulationTableEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3CoverageModulationTable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3CoverageModulationTable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3CoverageReductionMode != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3CoverageReductionMode ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3RepresentativeFragmentTestEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3RepresentativeFragmentTestEnable ||
+                deviceExtendedDynamicState3FeaturesEXT[0].extendedDynamicState3ShadingRateImageEnable != deviceExtendedDynamicState3FeaturesEXT[1].extendedDynamicState3ShadingRateImageEnable))
+       {
+               TCU_FAIL("Mismatch between VkPhysicalDeviceExtendedDynamicState3FeaturesEXT");
+       }
+       return tcu::TestStatus::pass("Querying succeeded");
+}
+
 tcu::TestStatus testPhysicalDeviceFeatureZeroInitializeWorkgroupMemoryFeatures (Context& context)
 {
        const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
@@ -3001,6 +3068,43 @@ tcu::TestStatus testPhysicalDeviceFeatureImage2DViewOf3DFeaturesEXT (Context& co
        return tcu::TestStatus::pass("Querying succeeded");
 }
 
+tcu::TestStatus testPhysicalDeviceFeatureMutableDescriptorTypeFeaturesEXT (Context& context)
+{
+       const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
+       const CustomInstance            instance                (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
+       const InstanceDriver&           vki                             (instance.getDriver());
+       const int                                       count                   = 2u;
+       TestLog&                                        log                             = context.getTestContext().getLog();
+       VkPhysicalDeviceFeatures2       extFeatures;
+       vector<VkExtensionProperties> properties        = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
+
+       VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT        deviceMutableDescriptorTypeFeaturesEXT[count];
+       const bool                                                                                      isMutableDescriptorTypeFeaturesEXT = checkExtension(properties, "VK_EXT_mutable_descriptor_type");
+
+       for (int ndx = 0; ndx < count; ++ndx)
+       {
+               deMemset(&deviceMutableDescriptorTypeFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT));
+               deviceMutableDescriptorTypeFeaturesEXT[ndx].sType = isMutableDescriptorTypeFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
+               deviceMutableDescriptorTypeFeaturesEXT[ndx].pNext = DE_NULL;
+
+               deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
+               extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+               extFeatures.pNext = &deviceMutableDescriptorTypeFeaturesEXT[ndx];
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures);
+       }
+
+       if (isMutableDescriptorTypeFeaturesEXT)
+               log << TestLog::Message << deviceMutableDescriptorTypeFeaturesEXT[0] << TestLog::EndMessage;
+
+       if (isMutableDescriptorTypeFeaturesEXT &&
+               (deviceMutableDescriptorTypeFeaturesEXT[0].mutableDescriptorType != deviceMutableDescriptorTypeFeaturesEXT[1].mutableDescriptorType))
+       {
+               TCU_FAIL("Mismatch between VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT");
+       }
+       return tcu::TestStatus::pass("Querying succeeded");
+}
+
 tcu::TestStatus testPhysicalDeviceFeatureDepthClipControlFeaturesEXT (Context& context)
 {
        const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
@@ -3262,6 +3366,43 @@ tcu::TestStatus testPhysicalDeviceFeatureMultisampledRenderToSingleSampledFeatur
        return tcu::TestStatus::pass("Querying succeeded");
 }
 
+tcu::TestStatus testPhysicalDeviceFeaturePipelineProtectedAccessFeaturesEXT (Context& context)
+{
+       const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
+       const CustomInstance            instance                (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
+       const InstanceDriver&           vki                             (instance.getDriver());
+       const int                                       count                   = 2u;
+       TestLog&                                        log                             = context.getTestContext().getLog();
+       VkPhysicalDeviceFeatures2       extFeatures;
+       vector<VkExtensionProperties> properties        = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
+
+       VkPhysicalDevicePipelineProtectedAccessFeaturesEXT      devicePipelineProtectedAccessFeaturesEXT[count];
+       const bool                                                                                      isPipelineProtectedAccessFeaturesEXT = checkExtension(properties, "VK_EXT_pipeline_protected_access");
+
+       for (int ndx = 0; ndx < count; ++ndx)
+       {
+               deMemset(&devicePipelineProtectedAccessFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePipelineProtectedAccessFeaturesEXT));
+               devicePipelineProtectedAccessFeaturesEXT[ndx].sType = isPipelineProtectedAccessFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
+               devicePipelineProtectedAccessFeaturesEXT[ndx].pNext = DE_NULL;
+
+               deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
+               extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+               extFeatures.pNext = &devicePipelineProtectedAccessFeaturesEXT[ndx];
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures);
+       }
+
+       if (isPipelineProtectedAccessFeaturesEXT)
+               log << TestLog::Message << devicePipelineProtectedAccessFeaturesEXT[0] << TestLog::EndMessage;
+
+       if (isPipelineProtectedAccessFeaturesEXT &&
+               (devicePipelineProtectedAccessFeaturesEXT[0].pipelineProtectedAccess != devicePipelineProtectedAccessFeaturesEXT[1].pipelineProtectedAccess))
+       {
+               TCU_FAIL("Mismatch between VkPhysicalDevicePipelineProtectedAccessFeaturesEXT");
+       }
+       return tcu::TestStatus::pass("Querying succeeded");
+}
+
 tcu::TestStatus testPhysicalDeviceFeatureYcbcr2Plane444FormatsFeaturesEXT (Context& context)
 {
        const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
@@ -3746,6 +3887,45 @@ tcu::TestStatus testPhysicalDeviceFeatureSubpassMergeFeedbackFeaturesEXT (Contex
        return tcu::TestStatus::pass("Querying succeeded");
 }
 
+tcu::TestStatus testPhysicalDeviceFeatureOpacityMicromapFeaturesEXT (Context& context)
+{
+       const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
+       const CustomInstance            instance                (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
+       const InstanceDriver&           vki                             (instance.getDriver());
+       const int                                       count                   = 2u;
+       TestLog&                                        log                             = context.getTestContext().getLog();
+       VkPhysicalDeviceFeatures2       extFeatures;
+       vector<VkExtensionProperties> properties        = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
+
+       VkPhysicalDeviceOpacityMicromapFeaturesEXT      deviceOpacityMicromapFeaturesEXT[count];
+       const bool                                                                      isOpacityMicromapFeaturesEXT = checkExtension(properties, "VK_EXT_opacity_micromap");
+
+       for (int ndx = 0; ndx < count; ++ndx)
+       {
+               deMemset(&deviceOpacityMicromapFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceOpacityMicromapFeaturesEXT));
+               deviceOpacityMicromapFeaturesEXT[ndx].sType = isOpacityMicromapFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
+               deviceOpacityMicromapFeaturesEXT[ndx].pNext = DE_NULL;
+
+               deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
+               extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+               extFeatures.pNext = &deviceOpacityMicromapFeaturesEXT[ndx];
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures);
+       }
+
+       if (isOpacityMicromapFeaturesEXT)
+               log << TestLog::Message << deviceOpacityMicromapFeaturesEXT[0] << TestLog::EndMessage;
+
+       if (isOpacityMicromapFeaturesEXT &&
+               (deviceOpacityMicromapFeaturesEXT[0].micromap != deviceOpacityMicromapFeaturesEXT[1].micromap ||
+                deviceOpacityMicromapFeaturesEXT[0].micromapCaptureReplay != deviceOpacityMicromapFeaturesEXT[1].micromapCaptureReplay ||
+                deviceOpacityMicromapFeaturesEXT[0].micromapHostCommands != deviceOpacityMicromapFeaturesEXT[1].micromapHostCommands))
+       {
+               TCU_FAIL("Mismatch between VkPhysicalDeviceOpacityMicromapFeaturesEXT");
+       }
+       return tcu::TestStatus::pass("Querying succeeded");
+}
+
 tcu::TestStatus testPhysicalDeviceFeaturePipelinePropertiesFeaturesEXT (Context& context)
 {
        const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
@@ -3968,6 +4148,81 @@ tcu::TestStatus testPhysicalDeviceFeatureDepthClampZeroOneFeaturesEXT (Context&
        return tcu::TestStatus::pass("Querying succeeded");
 }
 
+tcu::TestStatus testPhysicalDeviceFeatureAddressBindingReportFeaturesEXT (Context& context)
+{
+       const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
+       const CustomInstance            instance                (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
+       const InstanceDriver&           vki                             (instance.getDriver());
+       const int                                       count                   = 2u;
+       TestLog&                                        log                             = context.getTestContext().getLog();
+       VkPhysicalDeviceFeatures2       extFeatures;
+       vector<VkExtensionProperties> properties        = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
+
+       VkPhysicalDeviceAddressBindingReportFeaturesEXT deviceAddressBindingReportFeaturesEXT[count];
+       const bool                                                                              isAddressBindingReportFeaturesEXT = checkExtension(properties, "VK_EXT_device_address_binding_report");
+
+       for (int ndx = 0; ndx < count; ++ndx)
+       {
+               deMemset(&deviceAddressBindingReportFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceAddressBindingReportFeaturesEXT));
+               deviceAddressBindingReportFeaturesEXT[ndx].sType = isAddressBindingReportFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
+               deviceAddressBindingReportFeaturesEXT[ndx].pNext = DE_NULL;
+
+               deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
+               extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+               extFeatures.pNext = &deviceAddressBindingReportFeaturesEXT[ndx];
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures);
+       }
+
+       if (isAddressBindingReportFeaturesEXT)
+               log << TestLog::Message << deviceAddressBindingReportFeaturesEXT[0] << TestLog::EndMessage;
+
+       if (isAddressBindingReportFeaturesEXT &&
+               (deviceAddressBindingReportFeaturesEXT[0].reportAddressBinding != deviceAddressBindingReportFeaturesEXT[1].reportAddressBinding))
+       {
+               TCU_FAIL("Mismatch between VkPhysicalDeviceAddressBindingReportFeaturesEXT");
+       }
+       return tcu::TestStatus::pass("Querying succeeded");
+}
+
+tcu::TestStatus testPhysicalDeviceFeatureFaultFeaturesEXT (Context& context)
+{
+       const VkPhysicalDevice          physicalDevice  = context.getPhysicalDevice();
+       const CustomInstance            instance                (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
+       const InstanceDriver&           vki                             (instance.getDriver());
+       const int                                       count                   = 2u;
+       TestLog&                                        log                             = context.getTestContext().getLog();
+       VkPhysicalDeviceFeatures2       extFeatures;
+       vector<VkExtensionProperties> properties        = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL);
+
+       VkPhysicalDeviceFaultFeaturesEXT        deviceFaultFeaturesEXT[count];
+       const bool                                                      isFaultFeaturesEXT = checkExtension(properties, "VK_EXT_device_fault");
+
+       for (int ndx = 0; ndx < count; ++ndx)
+       {
+               deMemset(&deviceFaultFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFaultFeaturesEXT));
+               deviceFaultFeaturesEXT[ndx].sType = isFaultFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM;
+               deviceFaultFeaturesEXT[ndx].pNext = DE_NULL;
+
+               deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
+               extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+               extFeatures.pNext = &deviceFaultFeaturesEXT[ndx];
+
+               vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures);
+       }
+
+       if (isFaultFeaturesEXT)
+               log << TestLog::Message << deviceFaultFeaturesEXT[0] << TestLog::EndMessage;
+
+       if (isFaultFeaturesEXT &&
+               (deviceFaultFeaturesEXT[0].deviceFault != deviceFaultFeaturesEXT[1].deviceFault ||
+                deviceFaultFeaturesEXT[0].deviceFaultVendorBinary != deviceFaultFeaturesEXT[1].deviceFaultVendorBinary))
+       {
+               TCU_FAIL("Mismatch between VkPhysicalDeviceFaultFeaturesEXT");
+       }
+       return tcu::TestStatus::pass("Querying succeeded");
+}
+
 void addSeparateFeatureTests (tcu::TestCaseGroup* testGroup)
 {
        addFunctionCase(testGroup, "private_data_features", "VkPhysicalDevicePrivateDataFeatures", testPhysicalDeviceFeaturePrivateDataFeatures);
@@ -4035,6 +4290,7 @@ void addSeparateFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "border_color_swizzle_features_ext", "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT", testPhysicalDeviceFeatureBorderColorSwizzleFeaturesEXT);
        addFunctionCase(testGroup, "extended_dynamic_state_features_ext", "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT", testPhysicalDeviceFeatureExtendedDynamicStateFeaturesEXT);
        addFunctionCase(testGroup, "extended_dynamic_state2_features_ext", "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT", testPhysicalDeviceFeatureExtendedDynamicState2FeaturesEXT);
+       addFunctionCase(testGroup, "extended_dynamic_state3_features_ext", "VkPhysicalDeviceExtendedDynamicState3FeaturesEXT", testPhysicalDeviceFeatureExtendedDynamicState3FeaturesEXT);
        addFunctionCase(testGroup, "zero_initialize_workgroup_memory_features", "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures", testPhysicalDeviceFeatureZeroInitializeWorkgroupMemoryFeatures);
        addFunctionCase(testGroup, "shader_subgroup_uniform_control_flow_features_khr", "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR", testPhysicalDeviceFeatureShaderSubgroupUniformControlFlowFeaturesKHR);
        addFunctionCase(testGroup, "robustness2_features_ext", "VkPhysicalDeviceRobustness2FeaturesEXT", testPhysicalDeviceFeatureRobustness2FeaturesEXT);
@@ -4046,6 +4302,7 @@ void addSeparateFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "fragment_shading_rate_features_khr", "VkPhysicalDeviceFragmentShadingRateFeaturesKHR", testPhysicalDeviceFeatureFragmentShadingRateFeaturesKHR);
        addFunctionCase(testGroup, "shader_terminate_invocation_features", "VkPhysicalDeviceShaderTerminateInvocationFeatures", testPhysicalDeviceFeatureShaderTerminateInvocationFeatures);
        addFunctionCase(testGroup, "image2_d_view_of3_d_features_ext", "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT", testPhysicalDeviceFeatureImage2DViewOf3DFeaturesEXT);
+       addFunctionCase(testGroup, "mutable_descriptor_type_features_ext", "VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT", testPhysicalDeviceFeatureMutableDescriptorTypeFeaturesEXT);
        addFunctionCase(testGroup, "depth_clip_control_features_ext", "VkPhysicalDeviceDepthClipControlFeaturesEXT", testPhysicalDeviceFeatureDepthClipControlFeaturesEXT);
        addFunctionCase(testGroup, "vertex_input_dynamic_state_features_ext", "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT", testPhysicalDeviceFeatureVertexInputDynamicStateFeaturesEXT);
        addFunctionCase(testGroup, "color_write_enable_features_ext", "VkPhysicalDeviceColorWriteEnableFeaturesEXT", testPhysicalDeviceFeatureColorWriteEnableFeaturesEXT);
@@ -4053,6 +4310,7 @@ void addSeparateFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "primitives_generated_query_features_ext", "VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT", testPhysicalDeviceFeaturePrimitivesGeneratedQueryFeaturesEXT);
        addFunctionCase(testGroup, "legacy_dithering_features_ext", "VkPhysicalDeviceLegacyDitheringFeaturesEXT", testPhysicalDeviceFeatureLegacyDitheringFeaturesEXT);
        addFunctionCase(testGroup, "multisampled_render_to_single_sampled_features_ext", "VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT", testPhysicalDeviceFeatureMultisampledRenderToSingleSampledFeaturesEXT);
+       addFunctionCase(testGroup, "pipeline_protected_access_features_ext", "VkPhysicalDevicePipelineProtectedAccessFeaturesEXT", testPhysicalDeviceFeaturePipelineProtectedAccessFeaturesEXT);
        addFunctionCase(testGroup, "ycbcr2_plane444_formats_features_ext", "VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT", testPhysicalDeviceFeatureYcbcr2Plane444FormatsFeaturesEXT);
        addFunctionCase(testGroup, "provoking_vertex_features_ext", "VkPhysicalDeviceProvokingVertexFeaturesEXT", testPhysicalDeviceFeatureProvokingVertexFeaturesEXT);
        addFunctionCase(testGroup, "shader_integer_dot_product_features", "VkPhysicalDeviceShaderIntegerDotProductFeatures", testPhysicalDeviceFeatureShaderIntegerDotProductFeatures);
@@ -4066,11 +4324,14 @@ void addSeparateFeatureTests (tcu::TestCaseGroup* testGroup)
        addFunctionCase(testGroup, "image_compression_control_features_ext", "VkPhysicalDeviceImageCompressionControlFeaturesEXT", testPhysicalDeviceFeatureImageCompressionControlFeaturesEXT);
        addFunctionCase(testGroup, "image_compression_control_swapchain_features_ext", "VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT", testPhysicalDeviceFeatureImageCompressionControlSwapchainFeaturesEXT);
        addFunctionCase(testGroup, "subpass_merge_feedback_features_ext", "VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT", testPhysicalDeviceFeatureSubpassMergeFeedbackFeaturesEXT);
+       addFunctionCase(testGroup, "opacity_micromap_features_ext", "VkPhysicalDeviceOpacityMicromapFeaturesEXT", testPhysicalDeviceFeatureOpacityMicromapFeaturesEXT);
        addFunctionCase(testGroup, "pipeline_properties_features_ext", "VkPhysicalDevicePipelinePropertiesFeaturesEXT", testPhysicalDeviceFeaturePipelinePropertiesFeaturesEXT);
        addFunctionCase(testGroup, "non_seamless_cube_map_features_ext", "VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT", testPhysicalDeviceFeatureNonSeamlessCubeMapFeaturesEXT);
        addFunctionCase(testGroup, "pipeline_robustness_features_ext", "VkPhysicalDevicePipelineRobustnessFeaturesEXT", testPhysicalDeviceFeaturePipelineRobustnessFeaturesEXT);
        addFunctionCase(testGroup, "amigo_profiling_features_sec", "VkPhysicalDeviceAmigoProfilingFeaturesSEC", testPhysicalDeviceFeatureAmigoProfilingFeaturesSEC);
        addFunctionCase(testGroup, "attachment_feedback_loop_layout_features_ext", "VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT", testPhysicalDeviceFeatureAttachmentFeedbackLoopLayoutFeaturesEXT);
        addFunctionCase(testGroup, "depth_clamp_zero_one_features_ext", "VkPhysicalDeviceDepthClampZeroOneFeaturesEXT", testPhysicalDeviceFeatureDepthClampZeroOneFeaturesEXT);
+       addFunctionCase(testGroup, "address_binding_report_features_ext", "VkPhysicalDeviceAddressBindingReportFeaturesEXT", testPhysicalDeviceFeatureAddressBindingReportFeaturesEXT);
+       addFunctionCase(testGroup, "fault_features_ext", "VkPhysicalDeviceFaultFeaturesEXT", testPhysicalDeviceFeatureFaultFeaturesEXT);
 }
 
index 25eca88..42c763b 100644 (file)
@@ -75,6 +75,7 @@ const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                                    getTexelBufferAli
 const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                                       getDeviceMemoryReportFeaturesEXT                                        (void) const;
 const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                                      getRobustness2FeaturesEXT                                                       (void) const;
 const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                                getCustomBorderColorFeaturesEXT                                         (void) const;
+const vk::VkPhysicalDevicePresentBarrierFeaturesNV&                                                    getPresentBarrierFeatures                                                       (void) const;
 const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                                getPresentIdFeatures                                                            (void) const;
 const vk::VkPhysicalDevicePrivateDataFeatures&                                                         getPrivateDataFeatures                                                          (void) const;
 const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                                getPipelineCreationCacheControlFeatures                         (void) const;
@@ -95,9 +96,10 @@ const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                  getWorkgro
 const vk::VkPhysicalDeviceImageCompressionControlFeaturesEXT&                          getImageCompressionControlFeaturesEXT                           (void) const;
 const vk::VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT&                     getAttachmentFeedbackLoopLayoutFeaturesEXT                      (void) const;
 const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                                      get4444FormatsFeaturesEXT                                                       (void) const;
+const vk::VkPhysicalDeviceFaultFeaturesEXT&                                                                    getFaultFeaturesEXT                                                                     (void) const;
 const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                          getRGBA10X6FormatsFeaturesEXT                                           (void) const;
-const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                          getMutableDescriptorTypeFeaturesVALVE                           (void) const;
 const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                          getVertexInputDynamicStateFeaturesEXT                           (void) const;
+const vk::VkPhysicalDeviceAddressBindingReportFeaturesEXT&                                     getAddressBindingReportFeaturesEXT                                      (void) const;
 const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                         getDepthClipControlFeaturesEXT                                          (void) const;
 const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&                     getPrimitiveTopologyListRestartFeaturesEXT                      (void) const;
 const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                                getSubpassShadingFeaturesHUAWEI                                         (void) const;
@@ -112,6 +114,7 @@ const vk::VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                                getRayTracingMai
 const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                          getImageViewMinLodFeaturesEXT                                           (void) const;
 const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                                getMultiDrawFeaturesEXT                                                         (void) const;
 const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                          getImage2DViewOf3DFeaturesEXT                                           (void) const;
+const vk::VkPhysicalDeviceOpacityMicromapFeaturesEXT&                                          getOpacityMicromapFeaturesEXT                                           (void) const;
 const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                                       getBorderColorSwizzleFeaturesEXT                                        (void) const;
 const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                                getPageableDeviceLocalMemoryFeaturesEXT                         (void) const;
 const vk::VkPhysicalDeviceMaintenance4Features&                                                                getMaintenance4Features                                                         (void) const;
@@ -122,11 +125,16 @@ const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                           getFragmentDe
 const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                                     getLinearColorAttachmentFeatures                                        (void) const;
 const vk::VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&         getImageCompressionControlSwapchainFeaturesEXT          (void) const;
 const vk::VkPhysicalDeviceImageProcessingFeaturesQCOM&                                         getImageProcessingFeaturesQCOM                                          (void) const;
+const vk::VkPhysicalDeviceExtendedDynamicState3FeaturesEXT&                                    getExtendedDynamicState3FeaturesEXT                                     (void) const;
 const vk::VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                                     getSubpassMergeFeedbackFeaturesEXT                                      (void) const;
 const vk::VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&                           getShaderModuleIdentifierFeaturesEXT                            (void) const;
 const vk::VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT&       getRasterizationOrderAttachmentAccessFeaturesEXT        (void) const;
+const vk::VkPhysicalDeviceOpticalFlowFeaturesNV&                                                       getOpticalFlowFeatures                                                          (void) const;
 const vk::VkPhysicalDeviceLegacyDitheringFeaturesEXT&                                          getLegacyDitheringFeaturesEXT                                           (void) const;
+const vk::VkPhysicalDevicePipelineProtectedAccessFeaturesEXT&                          getPipelineProtectedAccessFeaturesEXT                           (void) const;
 const vk::VkPhysicalDeviceTilePropertiesFeaturesQCOM&                                          getTilePropertiesFeaturesQCOM                                           (void) const;
 const vk::VkPhysicalDeviceAmigoProfilingFeaturesSEC&                                           getAmigoProfilingFeaturesSEC                                            (void) const;
+const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT&                                    getMutableDescriptorTypeFeaturesEXT                                     (void) const;
+const vk::VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM&                                       getShaderCoreBuiltinsFeaturesARM                                        (void) const;
 const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                                     getProtectedMemoryFeatures                                                      (void) const;
 const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                                getShaderDrawParametersFeatures                                         (void) const;
index 9358b47..f3a6143 100644 (file)
@@ -75,6 +75,7 @@ const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                                    Context::getTexel
 const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                                       Context::getDeviceMemoryReportFeaturesEXT                                       (void) const { return m_device->getDeviceMemoryReportFeaturesEXT();                                     }
 const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                                      Context::getRobustness2FeaturesEXT                                                      (void) const { return m_device->getRobustness2FeaturesEXT();                                            }
 const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                                Context::getCustomBorderColorFeaturesEXT                                        (void) const { return m_device->getCustomBorderColorFeaturesEXT();                                      }
+const vk::VkPhysicalDevicePresentBarrierFeaturesNV&                                                    Context::getPresentBarrierFeatures                                                      (void) const { return m_device->getPresentBarrierFeatures();                                            }
 const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                                Context::getPresentIdFeatures                                                           (void) const { return m_device->getPresentIdFeatures();                                                         }
 const vk::VkPhysicalDevicePrivateDataFeatures&                                                         Context::getPrivateDataFeatures                                                         (void) const { return m_device->getPrivateDataFeatures();                                                       }
 const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                                Context::getPipelineCreationCacheControlFeatures                        (void) const { return m_device->getPipelineCreationCacheControlFeatures();                      }
@@ -95,9 +96,10 @@ const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                  Context::g
 const vk::VkPhysicalDeviceImageCompressionControlFeaturesEXT&                          Context::getImageCompressionControlFeaturesEXT                          (void) const { return m_device->getImageCompressionControlFeaturesEXT();                        }
 const vk::VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT&                     Context::getAttachmentFeedbackLoopLayoutFeaturesEXT                     (void) const { return m_device->getAttachmentFeedbackLoopLayoutFeaturesEXT();           }
 const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                                      Context::get4444FormatsFeaturesEXT                                                      (void) const { return m_device->get4444FormatsFeaturesEXT();                                            }
+const vk::VkPhysicalDeviceFaultFeaturesEXT&                                                                    Context::getFaultFeaturesEXT                                                            (void) const { return m_device->getFaultFeaturesEXT();                                                          }
 const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                          Context::getRGBA10X6FormatsFeaturesEXT                                          (void) const { return m_device->getRGBA10X6FormatsFeaturesEXT();                                        }
-const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                          Context::getMutableDescriptorTypeFeaturesVALVE                          (void) const { return m_device->getMutableDescriptorTypeFeaturesVALVE();                        }
 const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                          Context::getVertexInputDynamicStateFeaturesEXT                          (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT();                        }
+const vk::VkPhysicalDeviceAddressBindingReportFeaturesEXT&                                     Context::getAddressBindingReportFeaturesEXT                                     (void) const { return m_device->getAddressBindingReportFeaturesEXT();                           }
 const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                         Context::getDepthClipControlFeaturesEXT                                         (void) const { return m_device->getDepthClipControlFeaturesEXT();                                       }
 const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&                     Context::getPrimitiveTopologyListRestartFeaturesEXT                     (void) const { return m_device->getPrimitiveTopologyListRestartFeaturesEXT();           }
 const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                                Context::getSubpassShadingFeaturesHUAWEI                                        (void) const { return m_device->getSubpassShadingFeaturesHUAWEI();                                      }
@@ -112,6 +114,7 @@ const vk::VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                                Context::getRayT
 const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                          Context::getImageViewMinLodFeaturesEXT                                          (void) const { return m_device->getImageViewMinLodFeaturesEXT();                                        }
 const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                                Context::getMultiDrawFeaturesEXT                                                        (void) const { return m_device->getMultiDrawFeaturesEXT();                                                      }
 const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                          Context::getImage2DViewOf3DFeaturesEXT                                          (void) const { return m_device->getImage2DViewOf3DFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceOpacityMicromapFeaturesEXT&                                          Context::getOpacityMicromapFeaturesEXT                                          (void) const { return m_device->getOpacityMicromapFeaturesEXT();                                        }
 const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                                       Context::getBorderColorSwizzleFeaturesEXT                                       (void) const { return m_device->getBorderColorSwizzleFeaturesEXT();                                     }
 const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                                Context::getPageableDeviceLocalMemoryFeaturesEXT                        (void) const { return m_device->getPageableDeviceLocalMemoryFeaturesEXT();                      }
 const vk::VkPhysicalDeviceMaintenance4Features&                                                                Context::getMaintenance4Features                                                        (void) const { return m_device->getMaintenance4Features();                                                      }
@@ -122,11 +125,16 @@ const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                           Context::getF
 const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                                     Context::getLinearColorAttachmentFeatures                                       (void) const { return m_device->getLinearColorAttachmentFeatures();                                     }
 const vk::VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&         Context::getImageCompressionControlSwapchainFeaturesEXT         (void) const { return m_device->getImageCompressionControlSwapchainFeaturesEXT();       }
 const vk::VkPhysicalDeviceImageProcessingFeaturesQCOM&                                         Context::getImageProcessingFeaturesQCOM                                         (void) const { return m_device->getImageProcessingFeaturesQCOM();                                       }
+const vk::VkPhysicalDeviceExtendedDynamicState3FeaturesEXT&                                    Context::getExtendedDynamicState3FeaturesEXT                            (void) const { return m_device->getExtendedDynamicState3FeaturesEXT();                          }
 const vk::VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                                     Context::getSubpassMergeFeedbackFeaturesEXT                                     (void) const { return m_device->getSubpassMergeFeedbackFeaturesEXT();                           }
 const vk::VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&                           Context::getShaderModuleIdentifierFeaturesEXT                           (void) const { return m_device->getShaderModuleIdentifierFeaturesEXT();                         }
 const vk::VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT&       Context::getRasterizationOrderAttachmentAccessFeaturesEXT       (void) const { return m_device->getRasterizationOrderAttachmentAccessFeaturesEXT();     }
+const vk::VkPhysicalDeviceOpticalFlowFeaturesNV&                                                       Context::getOpticalFlowFeatures                                                         (void) const { return m_device->getOpticalFlowFeatures();                                                       }
 const vk::VkPhysicalDeviceLegacyDitheringFeaturesEXT&                                          Context::getLegacyDitheringFeaturesEXT                                          (void) const { return m_device->getLegacyDitheringFeaturesEXT();                                        }
+const vk::VkPhysicalDevicePipelineProtectedAccessFeaturesEXT&                          Context::getPipelineProtectedAccessFeaturesEXT                          (void) const { return m_device->getPipelineProtectedAccessFeaturesEXT();                        }
 const vk::VkPhysicalDeviceTilePropertiesFeaturesQCOM&                                          Context::getTilePropertiesFeaturesQCOM                                          (void) const { return m_device->getTilePropertiesFeaturesQCOM();                                        }
 const vk::VkPhysicalDeviceAmigoProfilingFeaturesSEC&                                           Context::getAmigoProfilingFeaturesSEC                                           (void) const { return m_device->getAmigoProfilingFeaturesSEC();                                         }
+const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT&                                    Context::getMutableDescriptorTypeFeaturesEXT                            (void) const { return m_device->getMutableDescriptorTypeFeaturesEXT();                          }
+const vk::VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM&                                       Context::getShaderCoreBuiltinsFeaturesARM                                       (void) const { return m_device->getShaderCoreBuiltinsFeaturesARM();                                     }
 const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                                     Context::getProtectedMemoryFeatures                                                     (void) const { return m_device->getProtectedMemoryFeatures();                                           }
 const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                                Context::getShaderDrawParametersFeatures                                        (void) const { return m_device->getShaderDrawParametersFeatures();                                      }
index 4dc8cf6..417b420 100644 (file)
@@ -75,6 +75,7 @@ const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                                        getTexelBufferAlignme
 const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                                   getDeviceMemoryReportFeaturesEXT                                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>();                                 }
 const VkPhysicalDeviceRobustness2FeaturesEXT&                                                  getRobustness2FeaturesEXT                                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRobustness2FeaturesEXT>();                                                }
 const VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                            getCustomBorderColorFeaturesEXT                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCustomBorderColorFeaturesEXT>();                                  }
+const VkPhysicalDevicePresentBarrierFeaturesNV&                                                        getPresentBarrierFeatures                                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentBarrierFeaturesNV>();                                              }
 const VkPhysicalDevicePresentIdFeaturesKHR&                                                            getPresentIdFeatures                                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentIdFeaturesKHR>();                                                  }
 const VkPhysicalDevicePrivateDataFeatures&                                                             getPrivateDataFeatures                                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrivateDataFeatures>();                                                   }
 const VkPhysicalDevicePipelineCreationCacheControlFeatures&                            getPipelineCreationCacheControlFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineCreationCacheControlFeatures>();                  }
@@ -95,9 +96,10 @@ const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                      getWorkgroupMe
 const VkPhysicalDeviceImageCompressionControlFeaturesEXT&                              getImageCompressionControlFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT>();                    }
 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT&                 getAttachmentFeedbackLoopLayoutFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>();               }
 const VkPhysicalDevice4444FormatsFeaturesEXT&                                                  get4444FormatsFeaturesEXT                                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice4444FormatsFeaturesEXT>();                                                }
+const VkPhysicalDeviceFaultFeaturesEXT&                                                                        getFaultFeaturesEXT                                                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFaultFeaturesEXT>();                                                              }
 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                              getRGBA10X6FormatsFeaturesEXT                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>();                                    }
-const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                              getMutableDescriptorTypeFeaturesVALVE                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>();                    }
 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                              getVertexInputDynamicStateFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>();                    }
+const VkPhysicalDeviceAddressBindingReportFeaturesEXT&                                 getAddressBindingReportFeaturesEXT                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAddressBindingReportFeaturesEXT>();                               }
 const VkPhysicalDeviceDepthClipControlFeaturesEXT&                                             getDepthClipControlFeaturesEXT                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>();                                   }
 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&                 getPrimitiveTopologyListRestartFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>();               }
 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                            getSubpassShadingFeaturesHUAWEI                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>();                                  }
@@ -112,6 +114,7 @@ const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                            getRayTracingMainten
 const VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                              getImageViewMinLodFeaturesEXT                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>();                                    }
 const VkPhysicalDeviceMultiDrawFeaturesEXT&                                                            getMultiDrawFeaturesEXT                                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiDrawFeaturesEXT>();                                                  }
 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                              getImage2DViewOf3DFeaturesEXT                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>();                                    }
+const VkPhysicalDeviceOpacityMicromapFeaturesEXT&                                              getOpacityMicromapFeaturesEXT                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceOpacityMicromapFeaturesEXT>();                                    }
 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                                   getBorderColorSwizzleFeaturesEXT                                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>();                                 }
 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                            getPageableDeviceLocalMemoryFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>();                  }
 const VkPhysicalDeviceMaintenance4Features&                                                            getMaintenance4Features                                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMaintenance4Features>();                                                  }
@@ -122,11 +125,16 @@ const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                               getFragmentDensit
 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                                 getLinearColorAttachmentFeatures                                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>();                               }
 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&             getImageCompressionControlSwapchainFeaturesEXT          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>();   }
 const VkPhysicalDeviceImageProcessingFeaturesQCOM&                                             getImageProcessingFeaturesQCOM                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageProcessingFeaturesQCOM>();                                   }
+const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT&                                        getExtendedDynamicState3FeaturesEXT                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT>();                              }
 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                                 getSubpassMergeFeedbackFeaturesEXT                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>();                               }
 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT&                               getShaderModuleIdentifierFeaturesEXT                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>();                             }
 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT&   getRasterizationOrderAttachmentAccessFeaturesEXT        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT>(); }
+const VkPhysicalDeviceOpticalFlowFeaturesNV&                                                   getOpticalFlowFeatures                                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceOpticalFlowFeaturesNV>();                                                 }
 const VkPhysicalDeviceLegacyDitheringFeaturesEXT&                                              getLegacyDitheringFeaturesEXT                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLegacyDitheringFeaturesEXT>();                                    }
+const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT&                              getPipelineProtectedAccessFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT>();                    }
 const VkPhysicalDeviceTilePropertiesFeaturesQCOM&                                              getTilePropertiesFeaturesQCOM                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTilePropertiesFeaturesQCOM>();                                    }
 const VkPhysicalDeviceAmigoProfilingFeaturesSEC&                                               getAmigoProfilingFeaturesSEC                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAmigoProfilingFeaturesSEC>();                                             }
+const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT&                                        getMutableDescriptorTypeFeaturesEXT                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();                              }
+const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM&                                   getShaderCoreBuiltinsFeaturesARM                                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM>();                                 }
 const VkPhysicalDeviceProtectedMemoryFeatures&                                                 getProtectedMemoryFeatures                                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
 const VkPhysicalDeviceShaderDrawParametersFeatures&                                            getShaderDrawParametersFeatures                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
index df3e17e..31d4424 100644 (file)
@@ -329,6 +329,37 @@ CmdSetDepthBiasEnableFunc                                                  cmdSetDepthBiasEnable;
 CmdSetLogicOpEXTFunc                                                           cmdSetLogicOpEXT;
 CmdSetPrimitiveRestartEnableFunc                                       cmdSetPrimitiveRestartEnable;
 CreatePrivateDataSlotFunc                                                      createPrivateDataSlot;
+CmdSetTessellationDomainOriginEXTFunc                          cmdSetTessellationDomainOriginEXT;
+CmdSetDepthClampEnableEXTFunc                                          cmdSetDepthClampEnableEXT;
+CmdSetPolygonModeEXTFunc                                                       cmdSetPolygonModeEXT;
+CmdSetRasterizationSamplesEXTFunc                                      cmdSetRasterizationSamplesEXT;
+CmdSetSampleMaskEXTFunc                                                                cmdSetSampleMaskEXT;
+CmdSetAlphaToCoverageEnableEXTFunc                                     cmdSetAlphaToCoverageEnableEXT;
+CmdSetAlphaToOneEnableEXTFunc                                          cmdSetAlphaToOneEnableEXT;
+CmdSetLogicOpEnableEXTFunc                                                     cmdSetLogicOpEnableEXT;
+CmdSetColorBlendEnableEXTFunc                                          cmdSetColorBlendEnableEXT;
+CmdSetColorBlendEquationEXTFunc                                                cmdSetColorBlendEquationEXT;
+CmdSetColorWriteMaskEXTFunc                                                    cmdSetColorWriteMaskEXT;
+CmdSetRasterizationStreamEXTFunc                                       cmdSetRasterizationStreamEXT;
+CmdSetConservativeRasterizationModeEXTFunc                     cmdSetConservativeRasterizationModeEXT;
+CmdSetExtraPrimitiveOverestimationSizeEXTFunc          cmdSetExtraPrimitiveOverestimationSizeEXT;
+CmdSetDepthClipEnableEXTFunc                                           cmdSetDepthClipEnableEXT;
+CmdSetSampleLocationsEnableEXTFunc                                     cmdSetSampleLocationsEnableEXT;
+CmdSetColorBlendAdvancedEXTFunc                                                cmdSetColorBlendAdvancedEXT;
+CmdSetProvokingVertexModeEXTFunc                                       cmdSetProvokingVertexModeEXT;
+CmdSetLineRasterizationModeEXTFunc                                     cmdSetLineRasterizationModeEXT;
+CmdSetLineStippleEnableEXTFunc                                         cmdSetLineStippleEnableEXT;
+CmdSetDepthClipNegativeOneToOneEXTFunc                         cmdSetDepthClipNegativeOneToOneEXT;
+CmdSetViewportWScalingEnableNVFunc                                     cmdSetViewportWScalingEnableNV;
+CmdSetViewportSwizzleNVFunc                                                    cmdSetViewportSwizzleNV;
+CmdSetCoverageToColorEnableNVFunc                                      cmdSetCoverageToColorEnableNV;
+CmdSetCoverageToColorLocationNVFunc                                    cmdSetCoverageToColorLocationNV;
+CmdSetCoverageModulationModeNVFunc                                     cmdSetCoverageModulationModeNV;
+CmdSetCoverageModulationTableEnableNVFunc                      cmdSetCoverageModulationTableEnableNV;
+CmdSetCoverageModulationTableNVFunc                                    cmdSetCoverageModulationTableNV;
+CmdSetShadingRateImageEnableNVFunc                                     cmdSetShadingRateImageEnableNV;
+CmdSetCoverageReductionModeNVFunc                                      cmdSetCoverageReductionModeNV;
+CmdSetRepresentativeFragmentTestEnableNVFunc           cmdSetRepresentativeFragmentTestEnableNV;
 DestroyPrivateDataSlotFunc                                                     destroyPrivateDataSlot;
 SetPrivateDataFunc                                                                     setPrivateData;
 GetPrivateDataFunc                                                                     getPrivateData;
@@ -379,6 +410,20 @@ CmdBeginRenderingFunc                                                              cmdBeginRendering;
 CmdEndRenderingFunc                                                                    cmdEndRendering;
 GetDescriptorSetLayoutHostMappingInfoVALVEFunc         getDescriptorSetLayoutHostMappingInfoVALVE;
 GetDescriptorSetHostMappingVALVEFunc                           getDescriptorSetHostMappingVALVE;
+CreateMicromapEXTFunc                                                          createMicromapEXT;
+CmdBuildMicromapsEXTFunc                                                       cmdBuildMicromapsEXT;
+BuildMicromapsEXTFunc                                                          buildMicromapsEXT;
+DestroyMicromapEXTFunc                                                         destroyMicromapEXT;
+CmdCopyMicromapEXTFunc                                                         cmdCopyMicromapEXT;
+CopyMicromapEXTFunc                                                                    copyMicromapEXT;
+CmdCopyMicromapToMemoryEXTFunc                                         cmdCopyMicromapToMemoryEXT;
+CopyMicromapToMemoryEXTFunc                                                    copyMicromapToMemoryEXT;
+CmdCopyMemoryToMicromapEXTFunc                                         cmdCopyMemoryToMicromapEXT;
+CopyMemoryToMicromapEXTFunc                                                    copyMemoryToMicromapEXT;
+CmdWriteMicromapsPropertiesEXTFunc                                     cmdWriteMicromapsPropertiesEXT;
+WriteMicromapsPropertiesEXTFunc                                                writeMicromapsPropertiesEXT;
+GetDeviceMicromapCompatibilityEXTFunc                          getDeviceMicromapCompatibilityEXT;
+GetMicromapBuildSizesEXTFunc                                           getMicromapBuildSizesEXT;
 GetShaderModuleIdentifierEXTFunc                                       getShaderModuleIdentifierEXT;
 GetShaderModuleCreateInfoIdentifierEXTFunc                     getShaderModuleCreateInfoIdentifierEXT;
 GetImageSubresourceLayout2EXTFunc                                      getImageSubresourceLayout2EXT;
@@ -386,3 +431,8 @@ GetPipelinePropertiesEXTFunc                                                getPipelinePropertiesEXT;
 ExportMetalObjectsEXTFunc                                                      exportMetalObjectsEXT;
 GetFramebufferTilePropertiesQCOMFunc                           getFramebufferTilePropertiesQCOM;
 GetDynamicRenderingTilePropertiesQCOMFunc                      getDynamicRenderingTilePropertiesQCOM;
+CreateOpticalFlowSessionNVFunc                                         createOpticalFlowSessionNV;
+DestroyOpticalFlowSessionNVFunc                                                destroyOpticalFlowSessionNV;
+BindOpticalFlowSessionImageNVFunc                                      bindOpticalFlowSessionImageNV;
+CmdOpticalFlowExecuteNVFunc                                                    cmdOpticalFlowExecuteNV;
+GetDeviceFaultInfoEXTFunc                                                      getDeviceFaultInfoEXT;
index 0fd0db0..1d397b4 100644 (file)
@@ -210,6 +210,7 @@ template<> void initPropertyFromBlob<VkPhysicalDeviceSubpassShadingPropertiesHUA
 template<> void initPropertyFromBlob<VkPhysicalDeviceLineRasterizationPropertiesEXT>(VkPhysicalDeviceLineRasterizationPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceToolProperties>(VkPhysicalDeviceToolProperties&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(VkPhysicalDeviceCustomBorderColorPropertiesEXT&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT>(VkPhysicalDeviceExtendedDynamicState3PropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceRobustness2PropertiesEXT>(VkPhysicalDeviceRobustness2PropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(VkPhysicalDeviceFragmentShadingRatePropertiesKHR&, const AllPropertiesBlobs&) {}
@@ -219,67 +220,74 @@ template<> void initPropertyFromBlob<VkPhysicalDeviceDrmPropertiesEXT>(VkPhysica
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>(VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceOpacityMicromapPropertiesEXT>(VkPhysicalDeviceOpacityMicromapPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(VkPhysicalDevicePipelinePropertiesFeaturesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDevicePipelineRobustnessPropertiesEXT>(VkPhysicalDevicePipelineRobustnessPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceImageProcessingPropertiesQCOM>(VkPhysicalDeviceImageProcessingPropertiesQCOM&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceTilePropertiesFeaturesQCOM>(VkPhysicalDeviceTilePropertiesFeaturesQCOM&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceOpticalFlowPropertiesNV>(VkPhysicalDeviceOpticalFlowPropertiesNV&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM>(VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM&, const AllPropertiesBlobs&) {}
 
 
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceTransformFeedbackPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 57}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 56}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePipelineRobustnessPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT, VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION, 55}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION, 54}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePushDescriptorPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, 53}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION, 52}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 51}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 50}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePerformanceQueryPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 49}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePointClippingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR, VK_KHR_MAINTENANCE_2_EXTENSION_NAME, VK_KHR_MAINTENANCE_2_SPEC_VERSION, 48}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSamplerFilterMinmaxProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION, 47}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceInlineUniformBlockProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 46}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSampleLocationsPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION, 45}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 44}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 43}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPipelinePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 42}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 41}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 40}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 39}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShadingRateImagePropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 38}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV, VK_NV_RAY_TRACING_EXTENSION_NAME, VK_NV_RAY_TRACING_SPEC_VERSION, 37}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance3Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR, VK_KHR_MAINTENANCE_3_EXTENSION_NAME, VK_KHR_MAINTENANCE_3_SPEC_VERSION, 36}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 35}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCorePropertiesAMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION, 34}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 33}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 32}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 31}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 30}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMeshShaderPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 29}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceTimelineSemaphoreProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 28}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePCIBusInfoPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT, VK_EXT_PCI_BUS_INFO_EXTENSION_NAME, VK_EXT_PCI_BUS_INFO_SPEC_VERSION, 27}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 26}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubgroupSizeControlProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 25}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 24}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCoreProperties2AMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION, 23}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 22}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProvokingVertexPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 21}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceLineRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 20}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 19}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderIntegerDotProductProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 18}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceTexelBufferAlignmentProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 17}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRobustness2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 16}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 15}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 14}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 13}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 12}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMeshShaderPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT, VK_EXT_MESH_SHADER_EXTENSION_NAME, VK_EXT_MESH_SHADER_SPEC_VERSION, 11}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 10}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 9}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 8}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiDrawPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 7}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance4Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 6}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 5}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceImageProcessingPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM, VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME, VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION, 4}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION, 3}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceTransformFeedbackPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 61}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 60}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePipelineRobustnessPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT, VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION, 59}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceIDProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION, 58}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePushDescriptorPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, 57}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION, 56}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 55}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceConservativeRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 54}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePerformanceQueryPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 53}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePointClippingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR, VK_KHR_MAINTENANCE_2_EXTENSION_NAME, VK_KHR_MAINTENANCE_2_SPEC_VERSION, 52}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSamplerFilterMinmaxProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION, 51}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceInlineUniformBlockProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 50}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSampleLocationsPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION, 49}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 48}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 47}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPipelinePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 46}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 45}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 44}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 43}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShadingRateImagePropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 42}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRayTracingPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV, VK_NV_RAY_TRACING_EXTENSION_NAME, VK_NV_RAY_TRACING_SPEC_VERSION, 41}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance3Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR, VK_KHR_MAINTENANCE_3_EXTENSION_NAME, VK_KHR_MAINTENANCE_3_SPEC_VERSION, 40}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 39}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCorePropertiesAMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION, 38}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 37}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 36}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 35}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 34}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMeshShaderPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 33}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceTimelineSemaphoreProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 32}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDevicePCIBusInfoPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT, VK_EXT_PCI_BUS_INFO_EXTENSION_NAME, VK_EXT_PCI_BUS_INFO_SPEC_VERSION, 31}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 30}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubgroupSizeControlProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 29}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 28}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCoreProperties2AMD>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION, 27}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCooperativeMatrixPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 26}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProvokingVertexPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 25}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceLineRasterizationPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 24}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 23}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderIntegerDotProductProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 22}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceTexelBufferAlignmentProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 21}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceRobustness2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 20}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 19}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION, 18}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 17}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 16}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMeshShaderPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT, VK_EXT_MESH_SHADER_EXTENSION_NAME, VK_EXT_MESH_SHADER_SPEC_VERSION, 15}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 14}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDrmPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 13}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 12}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMultiDrawPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 11}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceOpacityMicromapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT, VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME, VK_EXT_OPACITY_MICROMAP_SPEC_VERSION, 10}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceMaintenance4Properties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 9}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION, 8}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceImageProcessingPropertiesQCOM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM, VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME, VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION, 7}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION, 6}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION, 5}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceOpticalFlowPropertiesNV>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV, VK_NV_OPTICAL_FLOW_EXTENSION_NAME, VK_NV_OPTICAL_FLOW_SPEC_VERSION, 4}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM, VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME, VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION, 3}; }
 template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceSubgroupProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, DECL_SUBGROUP_EXTENSION_NAME, 0, 2}; }
 template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceProtectedMemoryProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 1}; }
 
@@ -337,10 +345,14 @@ static const PropertyStructCreationData propertyStructCreationArray[] =
        { createPropertyStructWrapper<VkPhysicalDeviceDrmPropertiesEXT>, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceMultiDrawPropertiesEXT>, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceOpacityMicromapPropertiesEXT>, VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME, VK_EXT_OPACITY_MICROMAP_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceMaintenance4Properties>, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceImageProcessingPropertiesQCOM>, VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME, VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT>, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>, VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME, VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceOpticalFlowPropertiesNV>, VK_NV_OPTICAL_FLOW_EXTENSION_NAME, VK_NV_OPTICAL_FLOW_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM>, VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME, VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceSubgroupProperties>, DECL_SUBGROUP_EXTENSION_NAME, 0 },
        { createPropertyStructWrapper<VkPhysicalDeviceProtectedMemoryProperties>, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 },
 };
index 1c46036..0f127fc 100644 (file)
@@ -54,9 +54,13 @@ const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&                  getFragmentDensity
 const vk::VkPhysicalDeviceDrmPropertiesEXT&                                                    getDrmPropertiesEXT                                                     (void) const;
 const vk::VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&                      getSubpassShadingPropertiesHUAWEI                       (void) const;
 const vk::VkPhysicalDeviceMultiDrawPropertiesEXT&                                      getMultiDrawPropertiesEXT                                       (void) const;
+const vk::VkPhysicalDeviceOpacityMicromapPropertiesEXT&                                getOpacityMicromapPropertiesEXT                         (void) const;
 const vk::VkPhysicalDeviceMaintenance4Properties&                                      getMaintenance4Properties                                       (void) const;
 const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&      getFragmentDensityMapOffsetPropertiesQCOM       (void) const;
 const vk::VkPhysicalDeviceImageProcessingPropertiesQCOM&                       getImageProcessingPropertiesQCOM                        (void) const;
+const vk::VkPhysicalDeviceExtendedDynamicState3PropertiesEXT&          getExtendedDynamicState3PropertiesEXT           (void) const;
 const vk::VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&         getShaderModuleIdentifierPropertiesEXT          (void) const;
+const vk::VkPhysicalDeviceOpticalFlowPropertiesNV&                                     getOpticalFlowProperties                                        (void) const;
+const vk::VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM&                     getShaderCoreBuiltinsPropertiesARM                      (void) const;
 const vk::VkPhysicalDeviceSubgroupProperties&                                          getSubgroupProperties                                           (void) const;
 const vk::VkPhysicalDeviceProtectedMemoryProperties&                           getProtectedMemoryProperties                            (void) const;
index ec85d96..66a69e1 100644 (file)
@@ -54,9 +54,13 @@ const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&                  Context::getFragme
 const vk::VkPhysicalDeviceDrmPropertiesEXT&                                                    Context::getDrmPropertiesEXT                                            (void) const { return m_device->getDrmPropertiesEXT();                                                  }
 const vk::VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&                      Context::getSubpassShadingPropertiesHUAWEI                      (void) const { return m_device->getSubpassShadingPropertiesHUAWEI();                    }
 const vk::VkPhysicalDeviceMultiDrawPropertiesEXT&                                      Context::getMultiDrawPropertiesEXT                                      (void) const { return m_device->getMultiDrawPropertiesEXT();                                    }
+const vk::VkPhysicalDeviceOpacityMicromapPropertiesEXT&                                Context::getOpacityMicromapPropertiesEXT                        (void) const { return m_device->getOpacityMicromapPropertiesEXT();                              }
 const vk::VkPhysicalDeviceMaintenance4Properties&                                      Context::getMaintenance4Properties                                      (void) const { return m_device->getMaintenance4Properties();                                    }
 const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&      Context::getFragmentDensityMapOffsetPropertiesQCOM      (void) const { return m_device->getFragmentDensityMapOffsetPropertiesQCOM();    }
 const vk::VkPhysicalDeviceImageProcessingPropertiesQCOM&                       Context::getImageProcessingPropertiesQCOM                       (void) const { return m_device->getImageProcessingPropertiesQCOM();                             }
+const vk::VkPhysicalDeviceExtendedDynamicState3PropertiesEXT&          Context::getExtendedDynamicState3PropertiesEXT          (void) const { return m_device->getExtendedDynamicState3PropertiesEXT();                }
 const vk::VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&         Context::getShaderModuleIdentifierPropertiesEXT         (void) const { return m_device->getShaderModuleIdentifierPropertiesEXT();               }
+const vk::VkPhysicalDeviceOpticalFlowPropertiesNV&                                     Context::getOpticalFlowProperties                                       (void) const { return m_device->getOpticalFlowProperties();                                             }
+const vk::VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM&                     Context::getShaderCoreBuiltinsPropertiesARM                     (void) const { return m_device->getShaderCoreBuiltinsPropertiesARM();                   }
 const vk::VkPhysicalDeviceSubgroupProperties&                                          Context::getSubgroupProperties                                          (void) const { return m_device->getSubgroupProperties();                                                }
 const vk::VkPhysicalDeviceProtectedMemoryProperties&                           Context::getProtectedMemoryProperties                           (void) const { return m_device->getProtectedMemoryProperties();                                 }
index 589c8bb..d2d5e4f 100644 (file)
@@ -54,9 +54,13 @@ const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&                      getFragmentDensityMap2
 const VkPhysicalDeviceDrmPropertiesEXT&                                                        getDrmPropertiesEXT                                                     (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDrmPropertiesEXT>();                                                   }
 const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&                  getSubpassShadingPropertiesHUAWEI                       (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>();                             }
 const VkPhysicalDeviceMultiDrawPropertiesEXT&                                  getMultiDrawPropertiesEXT                                       (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceMultiDrawPropertiesEXT>();                                             }
+const VkPhysicalDeviceOpacityMicromapPropertiesEXT&                            getOpacityMicromapPropertiesEXT                         (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceOpacityMicromapPropertiesEXT>();                               }
 const VkPhysicalDeviceMaintenance4Properties&                                  getMaintenance4Properties                                       (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceMaintenance4Properties>();                                             }
 const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&  getFragmentDensityMapOffsetPropertiesQCOM       (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>();             }
 const VkPhysicalDeviceImageProcessingPropertiesQCOM&                   getImageProcessingPropertiesQCOM                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceImageProcessingPropertiesQCOM>();                              }
+const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT&              getExtendedDynamicState3PropertiesEXT           (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT>();                 }
 const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT&             getShaderModuleIdentifierPropertiesEXT          (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>();                }
+const VkPhysicalDeviceOpticalFlowPropertiesNV&                                 getOpticalFlowProperties                                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceOpticalFlowPropertiesNV>();                                    }
+const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM&                 getShaderCoreBuiltinsPropertiesARM                      (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM>();                    }
 const VkPhysicalDeviceSubgroupProperties&                                              getSubgroupProperties                                           (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceSubgroupProperties>();                                                 }
 const VkPhysicalDeviceProtectedMemoryProperties&                               getProtectedMemoryProperties                            (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceProtectedMemoryProperties>();                                  }
index 029920c..28e4d12 100644 (file)
@@ -966,6 +966,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_NV_present_barrier")
+       {
+               return;
+       }
        if (extName == "VK_KHR_shader_non_semantic_info")
        {
                return;
@@ -1070,6 +1074,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_device_fault")
+       {
+               return;
+       }
        if (extName == "VK_ARM_rasterization_order_attachment_access")
        {
                return;
@@ -1096,6 +1104,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_device_address_binding_report")
+       {
+               return;
+       }
        if (extName == "VK_EXT_depth_clip_control")
        {
                return;
@@ -1182,6 +1194,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_opacity_micromap")
+       {
+               return;
+       }
        if (extName == "VK_EXT_load_store_op_none")
        {
                return;
@@ -1230,6 +1246,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_extended_dynamic_state3")
+       {
+               return;
+       }
        if (extName == "VK_EXT_subpass_merge_feedback")
        {
                return;
@@ -1242,10 +1262,19 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_NV_optical_flow")
+       {
+               functions.push_back("vkGetPhysicalDeviceOpticalFlowImageFormatsNV");
+               return;
+       }
        if (extName == "VK_EXT_legacy_dithering")
        {
                return;
        }
+       if (extName == "VK_EXT_pipeline_protected_access")
+       {
+               return;
+       }
        if (extName == "VK_QCOM_tile_properties")
        {
                return;
@@ -1254,6 +1283,14 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_mutable_descriptor_type")
+       {
+               return;
+       }
+       if (extName == "VK_ARM_shader_core_builtins")
+       {
+               return;
+       }
        if (extName == "vulkan_video_codecs_common")
        {
                return;
@@ -2356,6 +2393,10 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_NV_present_barrier")
+       {
+               return;
+       }
        if (extName == "VK_KHR_shader_non_semantic_info")
        {
                return;
@@ -2467,6 +2508,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_device_fault")
+       {
+               functions.push_back("vkGetDeviceFaultInfoEXT");
+               return;
+       }
        if (extName == "VK_ARM_rasterization_order_attachment_access")
        {
                return;
@@ -2492,6 +2538,10 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_device_address_binding_report")
+       {
+               return;
+       }
        if (extName == "VK_EXT_depth_clip_control")
        {
                return;
@@ -2596,6 +2646,24 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_opacity_micromap")
+       {
+               functions.push_back("vkCreateMicromapEXT");
+               functions.push_back("vkDestroyMicromapEXT");
+               functions.push_back("vkCmdBuildMicromapsEXT");
+               functions.push_back("vkBuildMicromapsEXT");
+               functions.push_back("vkCopyMicromapEXT");
+               functions.push_back("vkCopyMicromapToMemoryEXT");
+               functions.push_back("vkCopyMemoryToMicromapEXT");
+               functions.push_back("vkWriteMicromapsPropertiesEXT");
+               functions.push_back("vkCmdCopyMicromapEXT");
+               functions.push_back("vkCmdCopyMicromapToMemoryEXT");
+               functions.push_back("vkCmdCopyMemoryToMicromapEXT");
+               functions.push_back("vkCmdWriteMicromapsPropertiesEXT");
+               functions.push_back("vkGetDeviceMicromapCompatibilityEXT");
+               functions.push_back("vkGetMicromapBuildSizesEXT");
+               return;
+       }
        if (extName == "VK_EXT_load_store_op_none")
        {
                return;
@@ -2647,6 +2715,31 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_extended_dynamic_state3")
+       {
+               functions.push_back("vkCmdSetTessellationDomainOriginEXT");
+               functions.push_back("vkCmdSetDepthClampEnableEXT");
+               functions.push_back("vkCmdSetPolygonModeEXT");
+               functions.push_back("vkCmdSetRasterizationSamplesEXT");
+               functions.push_back("vkCmdSetSampleMaskEXT");
+               functions.push_back("vkCmdSetAlphaToCoverageEnableEXT");
+               functions.push_back("vkCmdSetAlphaToOneEnableEXT");
+               functions.push_back("vkCmdSetLogicOpEnableEXT");
+               functions.push_back("vkCmdSetColorBlendEnableEXT");
+               functions.push_back("vkCmdSetColorBlendEquationEXT");
+               functions.push_back("vkCmdSetColorWriteMaskEXT");
+               functions.push_back("vkCmdSetRasterizationStreamEXT");
+               functions.push_back("vkCmdSetConservativeRasterizationModeEXT");
+               functions.push_back("vkCmdSetExtraPrimitiveOverestimationSizeEXT");
+               functions.push_back("vkCmdSetDepthClipEnableEXT");
+               functions.push_back("vkCmdSetSampleLocationsEnableEXT");
+               functions.push_back("vkCmdSetColorBlendAdvancedEXT");
+               functions.push_back("vkCmdSetProvokingVertexModeEXT");
+               functions.push_back("vkCmdSetLineRasterizationModeEXT");
+               functions.push_back("vkCmdSetLineStippleEnableEXT");
+               functions.push_back("vkCmdSetDepthClipNegativeOneToOneEXT");
+               return;
+       }
        if (extName == "VK_EXT_subpass_merge_feedback")
        {
                return;
@@ -2661,10 +2754,22 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_NV_optical_flow")
+       {
+               functions.push_back("vkCreateOpticalFlowSessionNV");
+               functions.push_back("vkDestroyOpticalFlowSessionNV");
+               functions.push_back("vkBindOpticalFlowSessionImageNV");
+               functions.push_back("vkCmdOpticalFlowExecuteNV");
+               return;
+       }
        if (extName == "VK_EXT_legacy_dithering")
        {
                return;
        }
+       if (extName == "VK_EXT_pipeline_protected_access")
+       {
+               return;
+       }
        if (extName == "VK_QCOM_tile_properties")
        {
                functions.push_back("vkGetFramebufferTilePropertiesQCOM");
@@ -2675,6 +2780,14 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_mutable_descriptor_type")
+       {
+               return;
+       }
+       if (extName == "VK_ARM_shader_core_builtins")
+       {
+               return;
+       }
        if (extName == "vulkan_video_codecs_common")
        {
                return;
@@ -2940,6 +3053,7 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_EXT_custom_border_color",
        "VK_GOOGLE_user_type",
        "VK_KHR_pipeline_library",
+       "VK_NV_present_barrier",
        "VK_KHR_shader_non_semantic_info",
        "VK_KHR_present_id",
        "VK_EXT_private_data",
@@ -2966,12 +3080,14 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_EXT_image_compression_control",
        "VK_EXT_attachment_feedback_loop_layout",
        "VK_EXT_4444_formats",
+       "VK_EXT_device_fault",
        "VK_ARM_rasterization_order_attachment_access",
        "VK_EXT_rgba10x6_formats",
        "VK_NV_acquire_winrt_display",
        "VK_VALVE_mutable_descriptor_type",
        "VK_EXT_vertex_input_dynamic_state",
        "VK_EXT_physical_device_drm",
+       "VK_EXT_device_address_binding_report",
        "VK_EXT_depth_clip_control",
        "VK_EXT_primitive_topology_list_restart",
        "VK_KHR_format_feature_flags2",
@@ -2991,6 +3107,7 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_EXT_image_view_min_lod",
        "VK_EXT_multi_draw",
        "VK_EXT_image_2d_view_of_3d",
+       "VK_EXT_opacity_micromap",
        "VK_EXT_load_store_op_none",
        "VK_EXT_border_color_swizzle",
        "VK_EXT_pageable_device_local_memory",
@@ -3002,10 +3119,15 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_NV_linear_color_attachment",
        "VK_EXT_image_compression_control_swapchain",
        "VK_QCOM_image_processing",
+       "VK_EXT_extended_dynamic_state3",
        "VK_EXT_subpass_merge_feedback",
        "VK_EXT_shader_module_identifier",
        "VK_EXT_rasterization_order_attachment_access",
+       "VK_NV_optical_flow",
        "VK_EXT_legacy_dithering",
+       "VK_EXT_pipeline_protected_access",
        "VK_QCOM_tile_properties",
        "VK_SEC_amigo_profiling",
+       "VK_EXT_mutable_descriptor_type",
+       "VK_ARM_shader_core_builtins",
 };
index 3e053f1..cf41759 100644 (file)
@@ -478,6 +478,37 @@ typedef VKAPI_ATTR void                                    (VKAPI_CALL* CmdSetPrimitiveRestartEnableFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetPrimitiveRestartEnableEXTFunc)                                                                       (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreatePrivateDataSlotFunc)                                                                                         (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreatePrivateDataSlotEXTFunc)                                                                                      (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetTessellationDomainOriginEXTFunc)                                                                     (VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetDepthClampEnableEXTFunc)                                                                                     (VkCommandBuffer commandBuffer, VkBool32 depthClampEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetPolygonModeEXTFunc)                                                                                          (VkCommandBuffer commandBuffer, VkPolygonMode polygonMode);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetRasterizationSamplesEXTFunc)                                                                         (VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetSampleMaskEXTFunc)                                                                                           (VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetAlphaToCoverageEnableEXTFunc)                                                                        (VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetAlphaToOneEnableEXTFunc)                                                                                     (VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetLogicOpEnableEXTFunc)                                                                                        (VkCommandBuffer commandBuffer, VkBool32 logicOpEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetColorBlendEnableEXTFunc)                                                                                     (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetColorBlendEquationEXTFunc)                                                                           (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetColorWriteMaskEXTFunc)                                                                                       (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetRasterizationStreamEXTFunc)                                                                          (VkCommandBuffer commandBuffer, uint32_t rasterizationStream);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetConservativeRasterizationModeEXTFunc)                                                        (VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetExtraPrimitiveOverestimationSizeEXTFunc)                                                     (VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetDepthClipEnableEXTFunc)                                                                                      (VkCommandBuffer commandBuffer, VkBool32 depthClipEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetSampleLocationsEnableEXTFunc)                                                                        (VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetColorBlendAdvancedEXTFunc)                                                                           (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetProvokingVertexModeEXTFunc)                                                                          (VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetLineRasterizationModeEXTFunc)                                                                        (VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetLineStippleEnableEXTFunc)                                                                            (VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetDepthClipNegativeOneToOneEXTFunc)                                                            (VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetViewportWScalingEnableNVFunc)                                                                        (VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetViewportSwizzleNVFunc)                                                                                       (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetCoverageToColorEnableNVFunc)                                                                         (VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetCoverageToColorLocationNVFunc)                                                                       (VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetCoverageModulationModeNVFunc)                                                                        (VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetCoverageModulationTableEnableNVFunc)                                                         (VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetCoverageModulationTableNVFunc)                                                                       (VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetShadingRateImageEnableNVFunc)                                                                        (VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetCoverageReductionModeNVFunc)                                                                         (VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetRepresentativeFragmentTestEnableNVFunc)                                                      (VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyPrivateDataSlotFunc)                                                                                        (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyPrivateDataSlotEXTFunc)                                                                                     (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* SetPrivateDataFunc)                                                                                                        (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
@@ -525,7 +556,7 @@ typedef VKAPI_ATTR VkResult                         (VKAPI_CALL* UpdateVideoSessionParametersKHRFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyVideoSessionParametersKHRFunc)                                                                      (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetVideoSessionMemoryRequirementsKHRFunc)                                                          (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* BindVideoSessionMemoryKHRFunc)                                                                                     (VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos);
-typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdDecodeVideoKHRFunc)                                                                                                     (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdDecodeVideoKHRFunc)                                                                                                     (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBeginVideoCodingKHRFunc)                                                                                        (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdControlVideoCodingKHRFunc)                                                                                      (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdEndVideoCodingKHRFunc)                                                                                          (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);
@@ -550,6 +581,20 @@ typedef VKAPI_ATTR void                                    (VKAPI_CALL* CmdEndRenderingFunc)                                                                                                       (VkCom
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdEndRenderingKHRFunc)                                                                                            (VkCommandBuffer commandBuffer);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDescriptorSetLayoutHostMappingInfoVALVEFunc)                                            (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDescriptorSetHostMappingVALVEFunc)                                                                      (VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreateMicromapEXTFunc)                                                                                                     (VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBuildMicromapsEXTFunc)                                                                                          (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* BuildMicromapsEXTFunc)                                                                                                     (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyMicromapEXTFunc)                                                                                            (VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdCopyMicromapEXTFunc)                                                                                            (VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CopyMicromapEXTFunc)                                                                                                       (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdCopyMicromapToMemoryEXTFunc)                                                                            (VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CopyMicromapToMemoryEXTFunc)                                                                                       (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdCopyMemoryToMicromapEXTFunc)                                                                            (VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CopyMemoryToMicromapEXTFunc)                                                                                       (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdWriteMicromapsPropertiesEXTFunc)                                                                        (VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* WriteMicromapsPropertiesEXTFunc)                                                                           (VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceMicromapCompatibilityEXTFunc)                                                                     (VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetMicromapBuildSizesEXTFunc)                                                                                      (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetShaderModuleIdentifierEXTFunc)                                                                          (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetShaderModuleCreateInfoIdentifierEXTFunc)                                                        (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetImageSubresourceLayout2EXTFunc)                                                                         (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
@@ -557,3 +602,9 @@ typedef VKAPI_ATTR VkResult                         (VKAPI_CALL* GetPipelinePropertiesEXTFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* ExportMetalObjectsEXTFunc)                                                                                         (VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetFramebufferTilePropertiesQCOMFunc)                                                                      (VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetDynamicRenderingTilePropertiesQCOMFunc)                                                         (VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetPhysicalDeviceOpticalFlowImageFormatsNVFunc)                                            (VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* CreateOpticalFlowSessionNVFunc)                                                                            (VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyOpticalFlowSessionNVFunc)                                                                           (VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* BindOpticalFlowSessionImageNVFunc)                                                                         (VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdOpticalFlowExecuteNVFunc)                                                                                       (VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetDeviceFaultInfoEXTFunc)                                                                                         (VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
index 8a9589d..169da0c 100644 (file)
@@ -1963,6 +1963,21 @@ template<> VkStructureType getStructureType<VkSurfaceCapabilitiesFullScreenExclu
        return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDevicePresentBarrierFeaturesNV> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV;
+}
+
+template<> VkStructureType getStructureType<VkSurfaceCapabilitiesPresentBarrierNV> (void)
+{
+       return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV;
+}
+
+template<> VkStructureType getStructureType<VkSwapchainPresentBarrierCreateInfoNV> (void)
+{
+       return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDevicePerformanceQueryFeaturesKHR> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR;
@@ -2343,6 +2358,16 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkRenderPassTransformBeginInfoQCOM> (void)
 {
        return VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM;
@@ -2533,14 +2558,14 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceImage2DViewOf3DFeatu
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT;
 }
 
-template<> VkStructureType getStructureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE> (void)
+template<> VkStructureType getStructureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT> (void)
 {
-       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE;
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT;
 }
 
-template<> VkStructureType getStructureType<VkMutableDescriptorTypeCreateInfoVALVE> (void)
+template<> VkStructureType getStructureType<VkMutableDescriptorTypeCreateInfoEXT> (void)
 {
-       return VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE;
+       return VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT;
 }
 
 template<> VkStructureType getStructureType<VkPhysicalDeviceDepthClipControlFeaturesEXT> (void)
@@ -2658,6 +2683,11 @@ template<> VkStructureType getStructureType<VkMultisampledRenderToSingleSampledI
        return VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkQueueFamilyVideoPropertiesKHR> (void)
 {
        return VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR;
@@ -2758,11 +2788,6 @@ template<> VkStructureType getStructureType<VkVideoDecodeH264DpbSlotInfoEXT> (vo
        return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT;
 }
 
-template<> VkStructureType getStructureType<VkVideoDecodeH264MvcInfoEXT> (void)
-{
-       return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT;
-}
-
 template<> VkStructureType getStructureType<VkVideoDecodeH265ProfileInfoEXT> (void)
 {
        return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT;
@@ -3283,6 +3308,56 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceSubpassMergeFeedback
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT;
 }
 
+template<> VkStructureType getStructureType<VkMicromapBuildInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkMicromapCreateInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkMicromapVersionInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkCopyMicromapInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkCopyMicromapToMemoryInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkCopyMemoryToMicromapInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkMicromapBuildSizesInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceOpacityMicromapFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceOpacityMicromapPropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkAccelerationStructureTrianglesOpacityMicromapEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPipelinePropertiesIdentifierEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT;
@@ -3423,3 +3498,73 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceDepthClampZeroOneFea
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceAddressBindingReportFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkDeviceAddressBindingCallbackDataEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceOpticalFlowFeaturesNV> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceOpticalFlowPropertiesNV> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV;
+}
+
+template<> VkStructureType getStructureType<VkOpticalFlowImageFormatInfoNV> (void)
+{
+       return VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV;
+}
+
+template<> VkStructureType getStructureType<VkOpticalFlowImageFormatPropertiesNV> (void)
+{
+       return VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV;
+}
+
+template<> VkStructureType getStructureType<VkOpticalFlowSessionCreateInfoNV> (void)
+{
+       return VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV;
+}
+
+template<> VkStructureType getStructureType<VkOpticalFlowSessionCreatePrivateDataInfoNV> (void)
+{
+       return VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV;
+}
+
+template<> VkStructureType getStructureType<VkOpticalFlowExecuteInfoNV> (void)
+{
+       return VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceFaultFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkDeviceFaultCountsEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT;
+}
+
+template<> VkStructureType getStructureType<VkDeviceFaultInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM;
+}
+
index 41c027c..11b6a77 100644 (file)
@@ -42,6 +42,8 @@ enum HandleType
        HANDLE_TYPE_PRIVATE_DATA_SLOT,
        HANDLE_TYPE_CU_MODULE_NVX,
        HANDLE_TYPE_CU_FUNCTION_NVX,
+       HANDLE_TYPE_OPTICAL_FLOW_SESSION_NV,
+       HANDLE_TYPE_MICROMAP_EXT,
        HANDLE_TYPE_DISPLAY_KHR,
        HANDLE_TYPE_DISPLAY_MODE_KHR,
        HANDLE_TYPE_SURFACE_KHR,
index 3348ec9..f6a4713 100644 (file)
@@ -431,6 +431,37 @@ if (!m_vk.cmdSetPrimitiveRestartEnable)
 m_vk.createPrivateDataSlot                                                             = (CreatePrivateDataSlotFunc)                                                   GET_PROC_ADDR("vkCreatePrivateDataSlot");
 if (!m_vk.createPrivateDataSlot)
        m_vk.createPrivateDataSlot                                                      = (CreatePrivateDataSlotFunc)                                                   GET_PROC_ADDR("vkCreatePrivateDataSlotEXT");
+m_vk.cmdSetTessellationDomainOriginEXT                                 = (CmdSetTessellationDomainOriginEXTFunc)                               GET_PROC_ADDR("vkCmdSetTessellationDomainOriginEXT");
+m_vk.cmdSetDepthClampEnableEXT                                                 = (CmdSetDepthClampEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetDepthClampEnableEXT");
+m_vk.cmdSetPolygonModeEXT                                                              = (CmdSetPolygonModeEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetPolygonModeEXT");
+m_vk.cmdSetRasterizationSamplesEXT                                             = (CmdSetRasterizationSamplesEXTFunc)                                   GET_PROC_ADDR("vkCmdSetRasterizationSamplesEXT");
+m_vk.cmdSetSampleMaskEXT                                                               = (CmdSetSampleMaskEXTFunc)                                                             GET_PROC_ADDR("vkCmdSetSampleMaskEXT");
+m_vk.cmdSetAlphaToCoverageEnableEXT                                            = (CmdSetAlphaToCoverageEnableEXTFunc)                                  GET_PROC_ADDR("vkCmdSetAlphaToCoverageEnableEXT");
+m_vk.cmdSetAlphaToOneEnableEXT                                                 = (CmdSetAlphaToOneEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetAlphaToOneEnableEXT");
+m_vk.cmdSetLogicOpEnableEXT                                                            = (CmdSetLogicOpEnableEXTFunc)                                                  GET_PROC_ADDR("vkCmdSetLogicOpEnableEXT");
+m_vk.cmdSetColorBlendEnableEXT                                                 = (CmdSetColorBlendEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetColorBlendEnableEXT");
+m_vk.cmdSetColorBlendEquationEXT                                               = (CmdSetColorBlendEquationEXTFunc)                                             GET_PROC_ADDR("vkCmdSetColorBlendEquationEXT");
+m_vk.cmdSetColorWriteMaskEXT                                                   = (CmdSetColorWriteMaskEXTFunc)                                                 GET_PROC_ADDR("vkCmdSetColorWriteMaskEXT");
+m_vk.cmdSetRasterizationStreamEXT                                              = (CmdSetRasterizationStreamEXTFunc)                                    GET_PROC_ADDR("vkCmdSetRasterizationStreamEXT");
+m_vk.cmdSetConservativeRasterizationModeEXT                            = (CmdSetConservativeRasterizationModeEXTFunc)                  GET_PROC_ADDR("vkCmdSetConservativeRasterizationModeEXT");
+m_vk.cmdSetExtraPrimitiveOverestimationSizeEXT                 = (CmdSetExtraPrimitiveOverestimationSizeEXTFunc)               GET_PROC_ADDR("vkCmdSetExtraPrimitiveOverestimationSizeEXT");
+m_vk.cmdSetDepthClipEnableEXT                                                  = (CmdSetDepthClipEnableEXTFunc)                                                GET_PROC_ADDR("vkCmdSetDepthClipEnableEXT");
+m_vk.cmdSetSampleLocationsEnableEXT                                            = (CmdSetSampleLocationsEnableEXTFunc)                                  GET_PROC_ADDR("vkCmdSetSampleLocationsEnableEXT");
+m_vk.cmdSetColorBlendAdvancedEXT                                               = (CmdSetColorBlendAdvancedEXTFunc)                                             GET_PROC_ADDR("vkCmdSetColorBlendAdvancedEXT");
+m_vk.cmdSetProvokingVertexModeEXT                                              = (CmdSetProvokingVertexModeEXTFunc)                                    GET_PROC_ADDR("vkCmdSetProvokingVertexModeEXT");
+m_vk.cmdSetLineRasterizationModeEXT                                            = (CmdSetLineRasterizationModeEXTFunc)                                  GET_PROC_ADDR("vkCmdSetLineRasterizationModeEXT");
+m_vk.cmdSetLineStippleEnableEXT                                                        = (CmdSetLineStippleEnableEXTFunc)                                              GET_PROC_ADDR("vkCmdSetLineStippleEnableEXT");
+m_vk.cmdSetDepthClipNegativeOneToOneEXT                                        = (CmdSetDepthClipNegativeOneToOneEXTFunc)                              GET_PROC_ADDR("vkCmdSetDepthClipNegativeOneToOneEXT");
+m_vk.cmdSetViewportWScalingEnableNV                                            = (CmdSetViewportWScalingEnableNVFunc)                                  GET_PROC_ADDR("vkCmdSetViewportWScalingEnableNV");
+m_vk.cmdSetViewportSwizzleNV                                                   = (CmdSetViewportSwizzleNVFunc)                                                 GET_PROC_ADDR("vkCmdSetViewportSwizzleNV");
+m_vk.cmdSetCoverageToColorEnableNV                                             = (CmdSetCoverageToColorEnableNVFunc)                                   GET_PROC_ADDR("vkCmdSetCoverageToColorEnableNV");
+m_vk.cmdSetCoverageToColorLocationNV                                   = (CmdSetCoverageToColorLocationNVFunc)                                 GET_PROC_ADDR("vkCmdSetCoverageToColorLocationNV");
+m_vk.cmdSetCoverageModulationModeNV                                            = (CmdSetCoverageModulationModeNVFunc)                                  GET_PROC_ADDR("vkCmdSetCoverageModulationModeNV");
+m_vk.cmdSetCoverageModulationTableEnableNV                             = (CmdSetCoverageModulationTableEnableNVFunc)                   GET_PROC_ADDR("vkCmdSetCoverageModulationTableEnableNV");
+m_vk.cmdSetCoverageModulationTableNV                                   = (CmdSetCoverageModulationTableNVFunc)                                 GET_PROC_ADDR("vkCmdSetCoverageModulationTableNV");
+m_vk.cmdSetShadingRateImageEnableNV                                            = (CmdSetShadingRateImageEnableNVFunc)                                  GET_PROC_ADDR("vkCmdSetShadingRateImageEnableNV");
+m_vk.cmdSetCoverageReductionModeNV                                             = (CmdSetCoverageReductionModeNVFunc)                                   GET_PROC_ADDR("vkCmdSetCoverageReductionModeNV");
+m_vk.cmdSetRepresentativeFragmentTestEnableNV                  = (CmdSetRepresentativeFragmentTestEnableNVFunc)                GET_PROC_ADDR("vkCmdSetRepresentativeFragmentTestEnableNV");
 m_vk.destroyPrivateDataSlot                                                            = (DestroyPrivateDataSlotFunc)                                                  GET_PROC_ADDR("vkDestroyPrivateDataSlot");
 if (!m_vk.destroyPrivateDataSlot)
        m_vk.destroyPrivateDataSlot                                                     = (DestroyPrivateDataSlotFunc)                                                  GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT");
@@ -515,6 +546,20 @@ if (!m_vk.cmdEndRendering)
        m_vk.cmdEndRendering                                                            = (CmdEndRenderingFunc)                                                                 GET_PROC_ADDR("vkCmdEndRenderingKHR");
 m_vk.getDescriptorSetLayoutHostMappingInfoVALVE                        = (GetDescriptorSetLayoutHostMappingInfoVALVEFunc)              GET_PROC_ADDR("vkGetDescriptorSetLayoutHostMappingInfoVALVE");
 m_vk.getDescriptorSetHostMappingVALVE                                  = (GetDescriptorSetHostMappingVALVEFunc)                                GET_PROC_ADDR("vkGetDescriptorSetHostMappingVALVE");
+m_vk.createMicromapEXT                                                                 = (CreateMicromapEXTFunc)                                                               GET_PROC_ADDR("vkCreateMicromapEXT");
+m_vk.cmdBuildMicromapsEXT                                                              = (CmdBuildMicromapsEXTFunc)                                                    GET_PROC_ADDR("vkCmdBuildMicromapsEXT");
+m_vk.buildMicromapsEXT                                                                 = (BuildMicromapsEXTFunc)                                                               GET_PROC_ADDR("vkBuildMicromapsEXT");
+m_vk.destroyMicromapEXT                                                                        = (DestroyMicromapEXTFunc)                                                              GET_PROC_ADDR("vkDestroyMicromapEXT");
+m_vk.cmdCopyMicromapEXT                                                                        = (CmdCopyMicromapEXTFunc)                                                              GET_PROC_ADDR("vkCmdCopyMicromapEXT");
+m_vk.copyMicromapEXT                                                                   = (CopyMicromapEXTFunc)                                                                 GET_PROC_ADDR("vkCopyMicromapEXT");
+m_vk.cmdCopyMicromapToMemoryEXT                                                        = (CmdCopyMicromapToMemoryEXTFunc)                                              GET_PROC_ADDR("vkCmdCopyMicromapToMemoryEXT");
+m_vk.copyMicromapToMemoryEXT                                                   = (CopyMicromapToMemoryEXTFunc)                                                 GET_PROC_ADDR("vkCopyMicromapToMemoryEXT");
+m_vk.cmdCopyMemoryToMicromapEXT                                                        = (CmdCopyMemoryToMicromapEXTFunc)                                              GET_PROC_ADDR("vkCmdCopyMemoryToMicromapEXT");
+m_vk.copyMemoryToMicromapEXT                                                   = (CopyMemoryToMicromapEXTFunc)                                                 GET_PROC_ADDR("vkCopyMemoryToMicromapEXT");
+m_vk.cmdWriteMicromapsPropertiesEXT                                            = (CmdWriteMicromapsPropertiesEXTFunc)                                  GET_PROC_ADDR("vkCmdWriteMicromapsPropertiesEXT");
+m_vk.writeMicromapsPropertiesEXT                                               = (WriteMicromapsPropertiesEXTFunc)                                             GET_PROC_ADDR("vkWriteMicromapsPropertiesEXT");
+m_vk.getDeviceMicromapCompatibilityEXT                                 = (GetDeviceMicromapCompatibilityEXTFunc)                               GET_PROC_ADDR("vkGetDeviceMicromapCompatibilityEXT");
+m_vk.getMicromapBuildSizesEXT                                                  = (GetMicromapBuildSizesEXTFunc)                                                GET_PROC_ADDR("vkGetMicromapBuildSizesEXT");
 m_vk.getShaderModuleIdentifierEXT                                              = (GetShaderModuleIdentifierEXTFunc)                                    GET_PROC_ADDR("vkGetShaderModuleIdentifierEXT");
 m_vk.getShaderModuleCreateInfoIdentifierEXT                            = (GetShaderModuleCreateInfoIdentifierEXTFunc)                  GET_PROC_ADDR("vkGetShaderModuleCreateInfoIdentifierEXT");
 m_vk.getImageSubresourceLayout2EXT                                             = (GetImageSubresourceLayout2EXTFunc)                                   GET_PROC_ADDR("vkGetImageSubresourceLayout2EXT");
@@ -522,3 +567,8 @@ m_vk.getPipelinePropertiesEXT                                                       = (GetPipelinePropertiesEXTFunc)                                                GET_PR
 m_vk.exportMetalObjectsEXT                                                             = (ExportMetalObjectsEXTFunc)                                                   GET_PROC_ADDR("vkExportMetalObjectsEXT");
 m_vk.getFramebufferTilePropertiesQCOM                                  = (GetFramebufferTilePropertiesQCOMFunc)                                GET_PROC_ADDR("vkGetFramebufferTilePropertiesQCOM");
 m_vk.getDynamicRenderingTilePropertiesQCOM                             = (GetDynamicRenderingTilePropertiesQCOMFunc)                   GET_PROC_ADDR("vkGetDynamicRenderingTilePropertiesQCOM");
+m_vk.createOpticalFlowSessionNV                                                        = (CreateOpticalFlowSessionNVFunc)                                              GET_PROC_ADDR("vkCreateOpticalFlowSessionNV");
+m_vk.destroyOpticalFlowSessionNV                                               = (DestroyOpticalFlowSessionNVFunc)                                             GET_PROC_ADDR("vkDestroyOpticalFlowSessionNV");
+m_vk.bindOpticalFlowSessionImageNV                                             = (BindOpticalFlowSessionImageNVFunc)                                   GET_PROC_ADDR("vkBindOpticalFlowSessionImageNV");
+m_vk.cmdOpticalFlowExecuteNV                                                   = (CmdOpticalFlowExecuteNVFunc)                                                 GET_PROC_ADDR("vkCmdOpticalFlowExecuteNV");
+m_vk.getDeviceFaultInfoEXT                                                             = (GetDeviceFaultInfoEXTFunc)                                                   GET_PROC_ADDR("vkGetDeviceFaultInfoEXT");
index dde2155..4cadbe4 100644 (file)
@@ -124,3 +124,4 @@ m_vk.getPhysicalDeviceVideoCapabilitiesKHR                                                          = (GetPhysicalDeviceVideoCapab
 m_vk.getPhysicalDeviceVideoFormatPropertiesKHR                                                 = (GetPhysicalDeviceVideoFormatPropertiesKHRFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceVideoFormatPropertiesKHR");
 m_vk.acquireDrmDisplayEXT                                                                                              = (AcquireDrmDisplayEXTFunc)                                                                                    GET_PROC_ADDR("vkAcquireDrmDisplayEXT");
 m_vk.getDrmDisplayEXT                                                                                                  = (GetDrmDisplayEXTFunc)                                                                                                GET_PROC_ADDR("vkGetDrmDisplayEXT");
+m_vk.getPhysicalDeviceOpticalFlowImageFormatsNV                                                        = (GetPhysicalDeviceOpticalFlowImageFormatsNVFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceOpticalFlowImageFormatsNV");
index 930e325..732dd2a 100644 (file)
@@ -488,3 +488,8 @@ VkResult InstanceDriver::getDrmDisplayEXT (VkPhysicalDevice physicalDevice, int3
 {
        return m_vk.getDrmDisplayEXT(physicalDevice, drmFd, connectorId, display);
 }
+
+VkResult InstanceDriver::getPhysicalDeviceOpticalFlowImageFormatsNV (VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties) const
+{
+       return m_vk.getPhysicalDeviceOpticalFlowImageFormatsNV(physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties);
+}
index 7b378cf..5d916ea 100644 (file)
@@ -101,3 +101,4 @@ GetPhysicalDeviceVideoCapabilitiesKHRFunc                                                   getPhysicalDeviceVideoCapabiliti
 GetPhysicalDeviceVideoFormatPropertiesKHRFunc                                          getPhysicalDeviceVideoFormatPropertiesKHR;
 AcquireDrmDisplayEXTFunc                                                                                       acquireDrmDisplayEXT;
 GetDrmDisplayEXTFunc                                                                                           getDrmDisplayEXT;
+GetPhysicalDeviceOpticalFlowImageFormatsNVFunc                                         getPhysicalDeviceOpticalFlowImageFormatsNV;
index bf6e72f..5dea660 100644 (file)
@@ -303,6 +303,18 @@ VKAPI_ATTR VkResult VKAPI_CALL createBufferCollectionFUCHSIA (VkDevice device, c
        VK_NULL_RETURN((*pCollection = allocateNonDispHandle<BufferCollectionFUCHSIA, VkBufferCollectionFUCHSIA>(device, pCreateInfo, pAllocator)));
 }
 
+VKAPI_ATTR VkResult VKAPI_CALL createMicromapEXT (VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap)
+{
+       DE_UNREF(pAllocator);
+       VK_NULL_RETURN((*pMicromap = allocateNonDispHandle<MicromapEXT, VkMicromapEXT>(device, pCreateInfo, pAllocator)));
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL createOpticalFlowSessionNV (VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession)
+{
+       DE_UNREF(pAllocator);
+       VK_NULL_RETURN((*pSession = allocateNonDispHandle<OpticalFlowSessionNV, VkOpticalFlowSessionNV>(device, pCreateInfo, pAllocator)));
+}
+
 VKAPI_ATTR void VKAPI_CALL destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator)
 {
        freeHandle<Instance, VkInstance>(instance, pAllocator);
@@ -529,6 +541,18 @@ VKAPI_ATTR void VKAPI_CALL destroyBufferCollectionFUCHSIA (VkDevice device, VkBu
        freeNonDispHandle<BufferCollectionFUCHSIA, VkBufferCollectionFUCHSIA>(collection, pAllocator);
 }
 
+VKAPI_ATTR void VKAPI_CALL destroyMicromapEXT (VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator)
+{
+       DE_UNREF(device);
+       freeNonDispHandle<MicromapEXT, VkMicromapEXT>(micromap, pAllocator);
+}
+
+VKAPI_ATTR void VKAPI_CALL destroyOpticalFlowSessionNV (VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator)
+{
+       DE_UNREF(device);
+       freeNonDispHandle<OpticalFlowSessionNV, VkOpticalFlowSessionNV>(session, pAllocator);
+}
+
 VKAPI_ATTR VkResult VKAPI_CALL enumerateInstanceVersion (uint32_t* pApiVersion)
 {
        DE_UNREF(pApiVersion);
@@ -2991,6 +3015,204 @@ VKAPI_ATTR void VKAPI_CALL cmdSetPrimitiveRestartEnable (VkCommandBuffer command
        DE_UNREF(primitiveRestartEnable);
 }
 
+VKAPI_ATTR void VKAPI_CALL cmdSetTessellationDomainOriginEXT (VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(domainOrigin);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetDepthClampEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthClampEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(depthClampEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetPolygonModeEXT (VkCommandBuffer commandBuffer, VkPolygonMode polygonMode)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(polygonMode);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetRasterizationSamplesEXT (VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(rasterizationSamples);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetSampleMaskEXT (VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(samples);
+       DE_UNREF(pSampleMask);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetAlphaToCoverageEnableEXT (VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(alphaToCoverageEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetAlphaToOneEnableEXT (VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(alphaToOneEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetLogicOpEnableEXT (VkCommandBuffer commandBuffer, VkBool32 logicOpEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(logicOpEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetColorBlendEnableEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(firstAttachment);
+       DE_UNREF(attachmentCount);
+       DE_UNREF(pColorBlendEnables);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetColorBlendEquationEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(firstAttachment);
+       DE_UNREF(attachmentCount);
+       DE_UNREF(pColorBlendEquations);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetColorWriteMaskEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(firstAttachment);
+       DE_UNREF(attachmentCount);
+       DE_UNREF(pColorWriteMasks);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetRasterizationStreamEXT (VkCommandBuffer commandBuffer, uint32_t rasterizationStream)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(rasterizationStream);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetConservativeRasterizationModeEXT (VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(conservativeRasterizationMode);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetExtraPrimitiveOverestimationSizeEXT (VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(extraPrimitiveOverestimationSize);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetDepthClipEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthClipEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(depthClipEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetSampleLocationsEnableEXT (VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(sampleLocationsEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetColorBlendAdvancedEXT (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(firstAttachment);
+       DE_UNREF(attachmentCount);
+       DE_UNREF(pColorBlendAdvanced);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetProvokingVertexModeEXT (VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(provokingVertexMode);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetLineRasterizationModeEXT (VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(lineRasterizationMode);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetLineStippleEnableEXT (VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(stippledLineEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetDepthClipNegativeOneToOneEXT (VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(negativeOneToOne);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetViewportWScalingEnableNV (VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(viewportWScalingEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetViewportSwizzleNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(firstViewport);
+       DE_UNREF(viewportCount);
+       DE_UNREF(pViewportSwizzles);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetCoverageToColorEnableNV (VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(coverageToColorEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetCoverageToColorLocationNV (VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(coverageToColorLocation);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetCoverageModulationModeNV (VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(coverageModulationMode);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetCoverageModulationTableEnableNV (VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(coverageModulationTableEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetCoverageModulationTableNV (VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(coverageModulationTableCount);
+       DE_UNREF(pCoverageModulationTable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetShadingRateImageEnableNV (VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(shadingRateImageEnable);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetCoverageReductionModeNV (VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(coverageReductionMode);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetRepresentativeFragmentTestEnableNV (VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(representativeFragmentTestEnable);
+}
+
 VKAPI_ATTR VkResult VKAPI_CALL setPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data)
 {
        DE_UNREF(device);
@@ -3197,10 +3419,10 @@ VKAPI_ATTR VkResult VKAPI_CALL bindVideoSessionMemoryKHR (VkDevice device, VkVid
        return VK_SUCCESS;
 }
 
-VKAPI_ATTR void VKAPI_CALL cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo)
+VKAPI_ATTR void VKAPI_CALL cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo)
 {
        DE_UNREF(commandBuffer);
-       DE_UNREF(pFrameInfo);
+       DE_UNREF(pDecodeInfo);
 }
 
 VKAPI_ATTR void VKAPI_CALL cmdBeginVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo)
@@ -3315,6 +3537,101 @@ VKAPI_ATTR void VKAPI_CALL getDescriptorSetHostMappingVALVE (VkDevice device, Vk
        DE_UNREF(ppData);
 }
 
+VKAPI_ATTR void VKAPI_CALL cmdBuildMicromapsEXT (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(infoCount);
+       DE_UNREF(pInfos);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL buildMicromapsEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos)
+{
+       DE_UNREF(device);
+       DE_UNREF(deferredOperation);
+       DE_UNREF(infoCount);
+       DE_UNREF(pInfos);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdCopyMicromapEXT (VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(pInfo);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL copyMicromapEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo)
+{
+       DE_UNREF(device);
+       DE_UNREF(deferredOperation);
+       DE_UNREF(pInfo);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdCopyMicromapToMemoryEXT (VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(pInfo);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL copyMicromapToMemoryEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo)
+{
+       DE_UNREF(device);
+       DE_UNREF(deferredOperation);
+       DE_UNREF(pInfo);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdCopyMemoryToMicromapEXT (VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(pInfo);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL copyMemoryToMicromapEXT (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo)
+{
+       DE_UNREF(device);
+       DE_UNREF(deferredOperation);
+       DE_UNREF(pInfo);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdWriteMicromapsPropertiesEXT (VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(micromapCount);
+       DE_UNREF(pMicromaps);
+       DE_UNREF(queryType);
+       DE_UNREF(queryPool);
+       DE_UNREF(firstQuery);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL writeMicromapsPropertiesEXT (VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride)
+{
+       DE_UNREF(device);
+       DE_UNREF(micromapCount);
+       DE_UNREF(pMicromaps);
+       DE_UNREF(queryType);
+       DE_UNREF(dataSize);
+       DE_UNREF(pData);
+       DE_UNREF(stride);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL getDeviceMicromapCompatibilityEXT (VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility)
+{
+       DE_UNREF(device);
+       DE_UNREF(pVersionInfo);
+       DE_UNREF(pCompatibility);
+}
+
+VKAPI_ATTR void VKAPI_CALL getMicromapBuildSizesEXT (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo)
+{
+       DE_UNREF(device);
+       DE_UNREF(buildType);
+       DE_UNREF(pBuildInfo);
+       DE_UNREF(pSizeInfo);
+}
+
 VKAPI_ATTR void VKAPI_CALL getShaderModuleIdentifierEXT (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier)
 {
        DE_UNREF(device);
@@ -3368,6 +3685,40 @@ VKAPI_ATTR VkResult VKAPI_CALL getDynamicRenderingTilePropertiesQCOM (VkDevice d
        return VK_SUCCESS;
 }
 
+VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceOpticalFlowImageFormatsNV (VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties)
+{
+       DE_UNREF(physicalDevice);
+       DE_UNREF(pOpticalFlowImageFormatInfo);
+       DE_UNREF(pFormatCount);
+       DE_UNREF(pImageFormatProperties);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL bindOpticalFlowSessionImageNV (VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout)
+{
+       DE_UNREF(device);
+       DE_UNREF(session);
+       DE_UNREF(bindingPoint);
+       DE_UNREF(view);
+       DE_UNREF(layout);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdOpticalFlowExecuteNV (VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(session);
+       DE_UNREF(pExecuteInfo);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getDeviceFaultInfoEXT (VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo)
+{
+       DE_UNREF(device);
+       DE_UNREF(pFaultCounts);
+       DE_UNREF(pFaultInfo);
+       return VK_SUCCESS;
+}
+
 static const tcu::StaticFunctionLibrary::Entry s_platformFunctions[] =
 {
        VK_NULL_FUNC_ENTRY(vkCreateInstance,                                            createInstance),
@@ -3465,6 +3816,7 @@ static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceVideoFormatPropertiesKHR,                                                 getPhysicalDeviceVideoFormatPropertiesKHR),
        VK_NULL_FUNC_ENTRY(vkAcquireDrmDisplayEXT,                                                                                              acquireDrmDisplayEXT),
        VK_NULL_FUNC_ENTRY(vkGetDrmDisplayEXT,                                                                                                  getDrmDisplayEXT),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceOpticalFlowImageFormatsNV,                                                getPhysicalDeviceOpticalFlowImageFormatsNV),
 };
 
 static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
@@ -3795,6 +4147,37 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkCmdSetLogicOpEXT,                                                                  cmdSetLogicOpEXT),
        VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnable,                                              cmdSetPrimitiveRestartEnable),
        VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlot,                                                             createPrivateDataSlot),
+       VK_NULL_FUNC_ENTRY(vkCmdSetTessellationDomainOriginEXT,                                 cmdSetTessellationDomainOriginEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthClampEnableEXT,                                                 cmdSetDepthClampEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPolygonModeEXT,                                                              cmdSetPolygonModeEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizationSamplesEXT,                                             cmdSetRasterizationSamplesEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetSampleMaskEXT,                                                               cmdSetSampleMaskEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetAlphaToCoverageEnableEXT,                                    cmdSetAlphaToCoverageEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetAlphaToOneEnableEXT,                                                 cmdSetAlphaToOneEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetLogicOpEnableEXT,                                                    cmdSetLogicOpEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetColorBlendEnableEXT,                                                 cmdSetColorBlendEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetColorBlendEquationEXT,                                               cmdSetColorBlendEquationEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetColorWriteMaskEXT,                                                   cmdSetColorWriteMaskEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizationStreamEXT,                                              cmdSetRasterizationStreamEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetConservativeRasterizationModeEXT,                    cmdSetConservativeRasterizationModeEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetExtraPrimitiveOverestimationSizeEXT,                 cmdSetExtraPrimitiveOverestimationSizeEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthClipEnableEXT,                                                  cmdSetDepthClipEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetSampleLocationsEnableEXT,                                    cmdSetSampleLocationsEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetColorBlendAdvancedEXT,                                               cmdSetColorBlendAdvancedEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetProvokingVertexModeEXT,                                              cmdSetProvokingVertexModeEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetLineRasterizationModeEXT,                                    cmdSetLineRasterizationModeEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEnableEXT,                                                cmdSetLineStippleEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthClipNegativeOneToOneEXT,                                cmdSetDepthClipNegativeOneToOneEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWScalingEnableNV,                                    cmdSetViewportWScalingEnableNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewportSwizzleNV,                                                   cmdSetViewportSwizzleNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoverageToColorEnableNV,                                             cmdSetCoverageToColorEnableNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoverageToColorLocationNV,                                   cmdSetCoverageToColorLocationNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoverageModulationModeNV,                                    cmdSetCoverageModulationModeNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoverageModulationTableEnableNV,                             cmdSetCoverageModulationTableEnableNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoverageModulationTableNV,                                   cmdSetCoverageModulationTableNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetShadingRateImageEnableNV,                                    cmdSetShadingRateImageEnableNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoverageReductionModeNV,                                             cmdSetCoverageReductionModeNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRepresentativeFragmentTestEnableNV,                  cmdSetRepresentativeFragmentTestEnableNV),
        VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlot,                                                    destroyPrivateDataSlot),
        VK_NULL_FUNC_ENTRY(vkSetPrivateData,                                                                    setPrivateData),
        VK_NULL_FUNC_ENTRY(vkGetPrivateData,                                                                    getPrivateData),
@@ -3845,6 +4228,20 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkCmdEndRendering,                                                                   cmdEndRendering),
        VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutHostMappingInfoVALVE,                getDescriptorSetLayoutHostMappingInfoVALVE),
        VK_NULL_FUNC_ENTRY(vkGetDescriptorSetHostMappingVALVE,                                  getDescriptorSetHostMappingVALVE),
+       VK_NULL_FUNC_ENTRY(vkCreateMicromapEXT,                                                                 createMicromapEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBuildMicromapsEXT,                                                              cmdBuildMicromapsEXT),
+       VK_NULL_FUNC_ENTRY(vkBuildMicromapsEXT,                                                                 buildMicromapsEXT),
+       VK_NULL_FUNC_ENTRY(vkDestroyMicromapEXT,                                                                destroyMicromapEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyMicromapEXT,                                                                cmdCopyMicromapEXT),
+       VK_NULL_FUNC_ENTRY(vkCopyMicromapEXT,                                                                   copyMicromapEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyMicromapToMemoryEXT,                                                cmdCopyMicromapToMemoryEXT),
+       VK_NULL_FUNC_ENTRY(vkCopyMicromapToMemoryEXT,                                                   copyMicromapToMemoryEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyMemoryToMicromapEXT,                                                cmdCopyMemoryToMicromapEXT),
+       VK_NULL_FUNC_ENTRY(vkCopyMemoryToMicromapEXT,                                                   copyMemoryToMicromapEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteMicromapsPropertiesEXT,                                    cmdWriteMicromapsPropertiesEXT),
+       VK_NULL_FUNC_ENTRY(vkWriteMicromapsPropertiesEXT,                                               writeMicromapsPropertiesEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceMicromapCompatibilityEXT,                                 getDeviceMicromapCompatibilityEXT),
+       VK_NULL_FUNC_ENTRY(vkGetMicromapBuildSizesEXT,                                                  getMicromapBuildSizesEXT),
        VK_NULL_FUNC_ENTRY(vkGetShaderModuleIdentifierEXT,                                              getShaderModuleIdentifierEXT),
        VK_NULL_FUNC_ENTRY(vkGetShaderModuleCreateInfoIdentifierEXT,                    getShaderModuleCreateInfoIdentifierEXT),
        VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout2EXT,                                             getImageSubresourceLayout2EXT),
@@ -3852,5 +4249,10 @@ static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
        VK_NULL_FUNC_ENTRY(vkExportMetalObjectsEXT,                                                             exportMetalObjectsEXT),
        VK_NULL_FUNC_ENTRY(vkGetFramebufferTilePropertiesQCOM,                                  getFramebufferTilePropertiesQCOM),
        VK_NULL_FUNC_ENTRY(vkGetDynamicRenderingTilePropertiesQCOM,                             getDynamicRenderingTilePropertiesQCOM),
+       VK_NULL_FUNC_ENTRY(vkCreateOpticalFlowSessionNV,                                                createOpticalFlowSessionNV),
+       VK_NULL_FUNC_ENTRY(vkDestroyOpticalFlowSessionNV,                                               destroyOpticalFlowSessionNV),
+       VK_NULL_FUNC_ENTRY(vkBindOpticalFlowSessionImageNV,                                             bindOpticalFlowSessionImageNV),
+       VK_NULL_FUNC_ENTRY(vkCmdOpticalFlowExecuteNV,                                                   cmdOpticalFlowExecuteNV),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceFaultInfoEXT,                                                             getDeviceFaultInfoEXT),
 };
 
index 69074ef..14d5251 100644 (file)
@@ -43,6 +43,8 @@ template<> inline VkObjectType        getObjectType<VkDeferredOperationKHR>                   (void) {
 template<> inline VkObjectType getObjectType<VkPrivateDataSlot>                                (void) { return VK_OBJECT_TYPE_PRIVATE_DATA_SLOT;                               }
 template<> inline VkObjectType getObjectType<VkCuModuleNVX>                                    (void) { return VK_OBJECT_TYPE_CU_MODULE_NVX;                                   }
 template<> inline VkObjectType getObjectType<VkCuFunctionNVX>                                  (void) { return VK_OBJECT_TYPE_CU_FUNCTION_NVX;                                 }
+template<> inline VkObjectType getObjectType<VkOpticalFlowSessionNV>                   (void) { return VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV;                 }
+template<> inline VkObjectType getObjectType<VkMicromapEXT>                                    (void) { return VK_OBJECT_TYPE_MICROMAP_EXT;                                    }
 template<> inline VkObjectType getObjectType<VkDisplayKHR>                                             (void) { return VK_OBJECT_TYPE_DISPLAY_KHR;                                             }
 template<> inline VkObjectType getObjectType<VkDisplayModeKHR>                                 (void) { return VK_OBJECT_TYPE_DISPLAY_MODE_KHR;                                }
 template<> inline VkObjectType getObjectType<VkSurfaceKHR>                                             (void) { return VK_OBJECT_TYPE_SURFACE_KHR;                                             }
index c10cc3b..27b0821 100644 (file)
@@ -55,3 +55,5 @@ Move<VkVideoSessionParametersKHR>     createVideoSessionParametersKHR         (const Device
 Move<VkCuModuleNVX>                                    createCuModuleNVX                                       (const DeviceInterface& vk, VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL);
 Move<VkCuFunctionNVX>                          createCuFunctionNVX                                     (const DeviceInterface& vk, VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL);
 Move<VkBufferCollectionFUCHSIA>                createBufferCollectionFUCHSIA           (const DeviceInterface& vk, VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL);
+Move<VkMicromapEXT>                                    createMicromapEXT                                       (const DeviceInterface& vk, VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL);
+Move<VkOpticalFlowSessionNV>           createOpticalFlowSessionNV                      (const DeviceInterface& vk, VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL);
index de2d562..3a808c3 100644 (file)
@@ -204,6 +204,18 @@ void Deleter<VkBufferCollectionFUCHSIA>::operator() (VkBufferCollectionFUCHSIA o
        m_deviceIface->destroyBufferCollectionFUCHSIA(m_device, obj, m_allocator);
 }
 
+template<>
+void Deleter<VkMicromapEXT>::operator() (VkMicromapEXT obj) const
+{
+       m_deviceIface->destroyMicromapEXT(m_device, obj, m_allocator);
+}
+
+template<>
+void Deleter<VkOpticalFlowSessionNV>::operator() (VkOpticalFlowSessionNV obj) const
+{
+       m_deviceIface->destroyOpticalFlowSessionNV(m_device, obj, m_allocator);
+}
+
 } // refdetails
 
 Move<VkInstance> createInstance (const PlatformInterface& vk, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator)
@@ -570,3 +582,17 @@ Move<VkBufferCollectionFUCHSIA> createBufferCollectionFUCHSIA (const DeviceInter
        return Move<VkBufferCollectionFUCHSIA>(check<VkBufferCollectionFUCHSIA>(object), Deleter<VkBufferCollectionFUCHSIA>(vk, device, pAllocator));
 }
 
+Move<VkMicromapEXT> createMicromapEXT (const DeviceInterface& vk, VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator)
+{
+       VkMicromapEXT object = 0;
+       VK_CHECK(vk.createMicromapEXT(device, pCreateInfo, pAllocator, &object));
+       return Move<VkMicromapEXT>(check<VkMicromapEXT>(object), Deleter<VkMicromapEXT>(vk, device, pAllocator));
+}
+
+Move<VkOpticalFlowSessionNV> createOpticalFlowSessionNV (const DeviceInterface& vk, VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator)
+{
+       VkOpticalFlowSessionNV object = 0;
+       VK_CHECK(vk.createOpticalFlowSessionNV(device, pCreateInfo, pAllocator, &object));
+       return Move<VkOpticalFlowSessionNV>(check<VkOpticalFlowSessionNV>(object), Deleter<VkOpticalFlowSessionNV>(vk, device, pAllocator));
+}
+
index 3e12cf4..6a23dc4 100644 (file)
@@ -79,6 +79,13 @@ const char*  getSubpassMergeStatusEXTName                                                    (VkSubpassMergeStatusEXT value);
 const char*    getProvokingVertexModeEXTName                                                   (VkProvokingVertexModeEXT value);
 const char*    getPipelineRobustnessBufferBehaviorEXTName                              (VkPipelineRobustnessBufferBehaviorEXT value);
 const char*    getPipelineRobustnessImageBehaviorEXTName                               (VkPipelineRobustnessImageBehaviorEXT value);
+const char*    getDeviceAddressBindingTypeEXTName                                              (VkDeviceAddressBindingTypeEXT value);
+const char*    getMicromapTypeEXTName                                                                  (VkMicromapTypeEXT value);
+const char*    getBuildMicromapModeEXTName                                                             (VkBuildMicromapModeEXT value);
+const char*    getCopyMicromapModeEXTName                                                              (VkCopyMicromapModeEXT value);
+const char*    getOpacityMicromapFormatEXTName                                                 (VkOpacityMicromapFormatEXT value);
+const char*    getOpacityMicromapSpecialIndexEXTName                                   (VkOpacityMicromapSpecialIndexEXT value);
+const char*    getDeviceFaultVendorBinaryHeaderVersionEXTName                  (VkDeviceFaultVendorBinaryHeaderVersionEXT value);
 const char*    getColorSpaceKHRName                                                                    (VkColorSpaceKHR value);
 const char*    getPresentModeKHRName                                                                   (VkPresentModeKHR value);
 const char*    getDebugReportObjectTypeEXTName                                                 (VkDebugReportObjectTypeEXT value);
@@ -99,6 +106,9 @@ const char*  getBlendOverlapEXTName                                                                  (VkBlendOverlapEXT value);
 const char*    getFullScreenExclusiveEXTName                                                   (VkFullScreenExclusiveEXT value);
 const char*    getShaderFloatControlsIndependenceName                                  (VkShaderFloatControlsIndependence value);
 const char*    getFragmentShadingRateCombinerOpKHRName                                 (VkFragmentShadingRateCombinerOpKHR value);
+const char*    getOpticalFlowPerformanceLevelNVName                                    (VkOpticalFlowPerformanceLevelNV value);
+const char*    getOpticalFlowSessionBindingPointNVName                                 (VkOpticalFlowSessionBindingPointNV value);
+const char*    getDeviceFaultAddressTypeEXTName                                                (VkDeviceFaultAddressTypeEXT value);
 const char*    getVendorIdName                                                                                 (VkVendorId value);
 const char*    getDriverIdName                                                                                 (VkDriverId value);
 const char*    getShadingRatePaletteEntryNVName                                                (VkShadingRatePaletteEntryNV value);
@@ -111,7 +121,7 @@ const char* getVideoEncodeH265RateControlStructureEXTName                   (VkVideoEncodeH265Ra
 const char*    getAccelerationStructureMotionInstanceTypeNVName                (VkAccelerationStructureMotionInstanceTypeNV value);
 const char*    getdVideoH264ChromaFormatIdcName                                                (StdVideoH264ChromaFormatIdc value);
 const char*    getdVideoH264ProfileIdcName                                                             (StdVideoH264ProfileIdc value);
-const char*    getdVideoH264LevelName                                                                  (StdVideoH264Level value);
+const char*    getdVideoH264LevelIdcName                                                               (StdVideoH264LevelIdc value);
 const char*    getdVideoH264PocTypeName                                                                (StdVideoH264PocType value);
 const char*    getdVideoH264AspectRatioIdcName                                                 (StdVideoH264AspectRatioIdc value);
 const char*    getdVideoH264WeightedBipredIdcName                                              (StdVideoH264WeightedBipredIdc value);
@@ -125,9 +135,10 @@ const char*        getdVideoH264NonVclNaluTypeName                                                 (StdVideoH264NonVclNaluType va
 const char*    getdVideoDecodeH264FieldOrderCountName                                  (StdVideoDecodeH264FieldOrderCount value);
 const char*    getdVideoH265ChromaFormatIdcName                                                (StdVideoH265ChromaFormatIdc value);
 const char*    getdVideoH265ProfileIdcName                                                             (StdVideoH265ProfileIdc value);
-const char*    getdVideoH265LevelName                                                                  (StdVideoH265Level value);
+const char*    getdVideoH265LevelIdcName                                                               (StdVideoH265LevelIdc value);
 const char*    getdVideoH265SliceTypeName                                                              (StdVideoH265SliceType value);
 const char*    getdVideoH265PictureTypeName                                                    (StdVideoH265PictureType value);
+const char*    getdVideoH265AspectRatioIdcName                                                 (StdVideoH265AspectRatioIdc value);
 
 inline tcu::Format::Enum<VkAttachmentLoadOp>                                                           getAttachmentLoadOpStr                                                          (VkAttachmentLoadOp value)                                                              { return tcu::Format::Enum<VkAttachmentLoadOp>(getAttachmentLoadOpName, value);                                                                                                                         }
 inline tcu::Format::Enum<VkAttachmentStoreOp>                                                          getAttachmentStoreOpStr                                                         (VkAttachmentStoreOp value)                                                             { return tcu::Format::Enum<VkAttachmentStoreOp>(getAttachmentStoreOpName, value);                                                                                                                       }
@@ -205,6 +216,13 @@ inline tcu::Format::Enum<VkSubpassMergeStatusEXT>                                                  getSubpassMergeStatusEXT
 inline tcu::Format::Enum<VkProvokingVertexModeEXT>                                                     getProvokingVertexModeEXTStr                                            (VkProvokingVertexModeEXT value)                                                { return tcu::Format::Enum<VkProvokingVertexModeEXT>(getProvokingVertexModeEXTName, value);                                                                                                     }
 inline tcu::Format::Enum<VkPipelineRobustnessBufferBehaviorEXT>                                getPipelineRobustnessBufferBehaviorEXTStr                       (VkPipelineRobustnessBufferBehaviorEXT value)                   { return tcu::Format::Enum<VkPipelineRobustnessBufferBehaviorEXT>(getPipelineRobustnessBufferBehaviorEXTName, value);                                           }
 inline tcu::Format::Enum<VkPipelineRobustnessImageBehaviorEXT>                         getPipelineRobustnessImageBehaviorEXTStr                        (VkPipelineRobustnessImageBehaviorEXT value)                    { return tcu::Format::Enum<VkPipelineRobustnessImageBehaviorEXT>(getPipelineRobustnessImageBehaviorEXTName, value);                                                     }
+inline tcu::Format::Enum<VkDeviceAddressBindingTypeEXT>                                                getDeviceAddressBindingTypeEXTStr                                       (VkDeviceAddressBindingTypeEXT value)                                   { return tcu::Format::Enum<VkDeviceAddressBindingTypeEXT>(getDeviceAddressBindingTypeEXTName, value);                                                                           }
+inline tcu::Format::Enum<VkMicromapTypeEXT>                                                                    getMicromapTypeEXTStr                                                           (VkMicromapTypeEXT value)                                                               { return tcu::Format::Enum<VkMicromapTypeEXT>(getMicromapTypeEXTName, value);                                                                                                                           }
+inline tcu::Format::Enum<VkBuildMicromapModeEXT>                                                       getBuildMicromapModeEXTStr                                                      (VkBuildMicromapModeEXT value)                                                  { return tcu::Format::Enum<VkBuildMicromapModeEXT>(getBuildMicromapModeEXTName, value);                                                                                                         }
+inline tcu::Format::Enum<VkCopyMicromapModeEXT>                                                                getCopyMicromapModeEXTStr                                                       (VkCopyMicromapModeEXT value)                                                   { return tcu::Format::Enum<VkCopyMicromapModeEXT>(getCopyMicromapModeEXTName, value);                                                                                                           }
+inline tcu::Format::Enum<VkOpacityMicromapFormatEXT>                                           getOpacityMicromapFormatEXTStr                                          (VkOpacityMicromapFormatEXT value)                                              { return tcu::Format::Enum<VkOpacityMicromapFormatEXT>(getOpacityMicromapFormatEXTName, value);                                                                                         }
+inline tcu::Format::Enum<VkOpacityMicromapSpecialIndexEXT>                                     getOpacityMicromapSpecialIndexEXTStr                            (VkOpacityMicromapSpecialIndexEXT value)                                { return tcu::Format::Enum<VkOpacityMicromapSpecialIndexEXT>(getOpacityMicromapSpecialIndexEXTName, value);                                                                     }
+inline tcu::Format::Enum<VkDeviceFaultVendorBinaryHeaderVersionEXT>                    getDeviceFaultVendorBinaryHeaderVersionEXTStr           (VkDeviceFaultVendorBinaryHeaderVersionEXT value)               { return tcu::Format::Enum<VkDeviceFaultVendorBinaryHeaderVersionEXT>(getDeviceFaultVendorBinaryHeaderVersionEXTName, value);                           }
 inline tcu::Format::Enum<VkColorSpaceKHR>                                                                      getColorSpaceKHRStr                                                                     (VkColorSpaceKHR value)                                                                 { return tcu::Format::Enum<VkColorSpaceKHR>(getColorSpaceKHRName, value);                                                                                                                                       }
 inline tcu::Format::Enum<VkPresentModeKHR>                                                                     getPresentModeKHRStr                                                            (VkPresentModeKHR value)                                                                { return tcu::Format::Enum<VkPresentModeKHR>(getPresentModeKHRName, value);                                                                                                                                     }
 inline tcu::Format::Enum<VkDebugReportObjectTypeEXT>                                           getDebugReportObjectTypeEXTStr                                          (VkDebugReportObjectTypeEXT value)                                              { return tcu::Format::Enum<VkDebugReportObjectTypeEXT>(getDebugReportObjectTypeEXTName, value);                                                                                         }
@@ -225,6 +243,9 @@ inline tcu::Format::Enum<VkBlendOverlapEXT>                                                                 getBlendOverlapEXTStr
 inline tcu::Format::Enum<VkFullScreenExclusiveEXT>                                                     getFullScreenExclusiveEXTStr                                            (VkFullScreenExclusiveEXT value)                                                { return tcu::Format::Enum<VkFullScreenExclusiveEXT>(getFullScreenExclusiveEXTName, value);                                                                                                     }
 inline tcu::Format::Enum<VkShaderFloatControlsIndependence>                                    getShaderFloatControlsIndependenceStr                           (VkShaderFloatControlsIndependence value)                               { return tcu::Format::Enum<VkShaderFloatControlsIndependence>(getShaderFloatControlsIndependenceName, value);                                                           }
 inline tcu::Format::Enum<VkFragmentShadingRateCombinerOpKHR>                           getFragmentShadingRateCombinerOpKHRStr                          (VkFragmentShadingRateCombinerOpKHR value)                              { return tcu::Format::Enum<VkFragmentShadingRateCombinerOpKHR>(getFragmentShadingRateCombinerOpKHRName, value);                                                         }
+inline tcu::Format::Enum<VkOpticalFlowPerformanceLevelNV>                                      getOpticalFlowPerformanceLevelNVStr                                     (VkOpticalFlowPerformanceLevelNV value)                                 { return tcu::Format::Enum<VkOpticalFlowPerformanceLevelNV>(getOpticalFlowPerformanceLevelNVName, value);                                                                       }
+inline tcu::Format::Enum<VkOpticalFlowSessionBindingPointNV>                           getOpticalFlowSessionBindingPointNVStr                          (VkOpticalFlowSessionBindingPointNV value)                              { return tcu::Format::Enum<VkOpticalFlowSessionBindingPointNV>(getOpticalFlowSessionBindingPointNVName, value);                                                         }
+inline tcu::Format::Enum<VkDeviceFaultAddressTypeEXT>                                          getDeviceFaultAddressTypeEXTStr                                         (VkDeviceFaultAddressTypeEXT value)                                             { return tcu::Format::Enum<VkDeviceFaultAddressTypeEXT>(getDeviceFaultAddressTypeEXTName, value);                                                                                       }
 inline tcu::Format::Enum<VkVendorId>                                                                           getVendorIdStr                                                                          (VkVendorId value)                                                                              { return tcu::Format::Enum<VkVendorId>(getVendorIdName, value);                                                                                                                                                         }
 inline tcu::Format::Enum<VkDriverId>                                                                           getDriverIdStr                                                                          (VkDriverId value)                                                                              { return tcu::Format::Enum<VkDriverId>(getDriverIdName, value);                                                                                                                                                         }
 inline tcu::Format::Enum<VkShadingRatePaletteEntryNV>                                          getShadingRatePaletteEntryNVStr                                         (VkShadingRatePaletteEntryNV value)                                             { return tcu::Format::Enum<VkShadingRatePaletteEntryNV>(getShadingRatePaletteEntryNVName, value);                                                                                       }
@@ -237,7 +258,7 @@ inline tcu::Format::Enum<VkVideoEncodeH265RateControlStructureEXT>                  getVideoEnc
 inline tcu::Format::Enum<VkAccelerationStructureMotionInstanceTypeNV>          getAccelerationStructureMotionInstanceTypeNVStr         (VkAccelerationStructureMotionInstanceTypeNV value)             { return tcu::Format::Enum<VkAccelerationStructureMotionInstanceTypeNV>(getAccelerationStructureMotionInstanceTypeNVName, value);                       }
 inline tcu::Format::Enum<StdVideoH264ChromaFormatIdc>                                          getdVideoH264ChromaFormatIdcStr                                         (StdVideoH264ChromaFormatIdc value)                                             { return tcu::Format::Enum<StdVideoH264ChromaFormatIdc>(getdVideoH264ChromaFormatIdcName, value);                                                                                       }
 inline tcu::Format::Enum<StdVideoH264ProfileIdc>                                                       getdVideoH264ProfileIdcStr                                                      (StdVideoH264ProfileIdc value)                                                  { return tcu::Format::Enum<StdVideoH264ProfileIdc>(getdVideoH264ProfileIdcName, value);                                                                                                         }
-inline tcu::Format::Enum<StdVideoH264Level>                                                                    getdVideoH264LevelStr                                                           (StdVideoH264Level value)                                                               { return tcu::Format::Enum<StdVideoH264Level>(getdVideoH264LevelName, value);                                                                                                                           }
+inline tcu::Format::Enum<StdVideoH264LevelIdc>                                                         getdVideoH264LevelIdcStr                                                        (StdVideoH264LevelIdc value)                                                    { return tcu::Format::Enum<StdVideoH264LevelIdc>(getdVideoH264LevelIdcName, value);                                                                                                                     }
 inline tcu::Format::Enum<StdVideoH264PocType>                                                          getdVideoH264PocTypeStr                                                         (StdVideoH264PocType value)                                                             { return tcu::Format::Enum<StdVideoH264PocType>(getdVideoH264PocTypeName, value);                                                                                                                       }
 inline tcu::Format::Enum<StdVideoH264AspectRatioIdc>                                           getdVideoH264AspectRatioIdcStr                                          (StdVideoH264AspectRatioIdc value)                                              { return tcu::Format::Enum<StdVideoH264AspectRatioIdc>(getdVideoH264AspectRatioIdcName, value);                                                                                         }
 inline tcu::Format::Enum<StdVideoH264WeightedBipredIdc>                                                getdVideoH264WeightedBipredIdcStr                                       (StdVideoH264WeightedBipredIdc value)                                   { return tcu::Format::Enum<StdVideoH264WeightedBipredIdc>(getdVideoH264WeightedBipredIdcName, value);                                                                           }
@@ -251,9 +272,10 @@ inline tcu::Format::Enum<StdVideoH264NonVclNaluType>                                               getdVideoH264NonVclNal
 inline tcu::Format::Enum<StdVideoDecodeH264FieldOrderCount>                                    getdVideoDecodeH264FieldOrderCountStr                           (StdVideoDecodeH264FieldOrderCount value)                               { return tcu::Format::Enum<StdVideoDecodeH264FieldOrderCount>(getdVideoDecodeH264FieldOrderCountName, value);                                                           }
 inline tcu::Format::Enum<StdVideoH265ChromaFormatIdc>                                          getdVideoH265ChromaFormatIdcStr                                         (StdVideoH265ChromaFormatIdc value)                                             { return tcu::Format::Enum<StdVideoH265ChromaFormatIdc>(getdVideoH265ChromaFormatIdcName, value);                                                                                       }
 inline tcu::Format::Enum<StdVideoH265ProfileIdc>                                                       getdVideoH265ProfileIdcStr                                                      (StdVideoH265ProfileIdc value)                                                  { return tcu::Format::Enum<StdVideoH265ProfileIdc>(getdVideoH265ProfileIdcName, value);                                                                                                         }
-inline tcu::Format::Enum<StdVideoH265Level>                                                                    getdVideoH265LevelStr                                                           (StdVideoH265Level value)                                                               { return tcu::Format::Enum<StdVideoH265Level>(getdVideoH265LevelName, value);                                                                                                                           }
+inline tcu::Format::Enum<StdVideoH265LevelIdc>                                                         getdVideoH265LevelIdcStr                                                        (StdVideoH265LevelIdc value)                                                    { return tcu::Format::Enum<StdVideoH265LevelIdc>(getdVideoH265LevelIdcName, value);                                                                                                                     }
 inline tcu::Format::Enum<StdVideoH265SliceType>                                                                getdVideoH265SliceTypeStr                                                       (StdVideoH265SliceType value)                                                   { return tcu::Format::Enum<StdVideoH265SliceType>(getdVideoH265SliceTypeName, value);                                                                                                           }
 inline tcu::Format::Enum<StdVideoH265PictureType>                                                      getdVideoH265PictureTypeStr                                                     (StdVideoH265PictureType value)                                                 { return tcu::Format::Enum<StdVideoH265PictureType>(getdVideoH265PictureTypeName, value);                                                                                                       }
+inline tcu::Format::Enum<StdVideoH265AspectRatioIdc>                                           getdVideoH265AspectRatioIdcStr                                          (StdVideoH265AspectRatioIdc value)                                              { return tcu::Format::Enum<StdVideoH265AspectRatioIdc>(getdVideoH265AspectRatioIdcName, value);                                                                                         }
 
 inline std::ostream&   operator<<      (std::ostream& s, VkAttachmentLoadOp value)                                                                     { return s << getAttachmentLoadOpStr(value);                                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkAttachmentStoreOp value)                                                            { return s << getAttachmentStoreOpStr(value);                                                           }
@@ -331,6 +353,13 @@ inline std::ostream&       operator<<      (std::ostream& s, VkSubpassMergeStatusEXT value)
 inline std::ostream&   operator<<      (std::ostream& s, VkProvokingVertexModeEXT value)                                                       { return s << getProvokingVertexModeEXTStr(value);                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkPipelineRobustnessBufferBehaviorEXT value)                          { return s << getPipelineRobustnessBufferBehaviorEXTStr(value);                         }
 inline std::ostream&   operator<<      (std::ostream& s, VkPipelineRobustnessImageBehaviorEXT value)                           { return s << getPipelineRobustnessImageBehaviorEXTStr(value);                          }
+inline std::ostream&   operator<<      (std::ostream& s, VkDeviceAddressBindingTypeEXT value)                                          { return s << getDeviceAddressBindingTypeEXTStr(value);                                         }
+inline std::ostream&   operator<<      (std::ostream& s, VkMicromapTypeEXT value)                                                                      { return s << getMicromapTypeEXTStr(value);                                                                     }
+inline std::ostream&   operator<<      (std::ostream& s, VkBuildMicromapModeEXT value)                                                         { return s << getBuildMicromapModeEXTStr(value);                                                        }
+inline std::ostream&   operator<<      (std::ostream& s, VkCopyMicromapModeEXT value)                                                          { return s << getCopyMicromapModeEXTStr(value);                                                         }
+inline std::ostream&   operator<<      (std::ostream& s, VkOpacityMicromapFormatEXT value)                                                     { return s << getOpacityMicromapFormatEXTStr(value);                                            }
+inline std::ostream&   operator<<      (std::ostream& s, VkOpacityMicromapSpecialIndexEXT value)                                       { return s << getOpacityMicromapSpecialIndexEXTStr(value);                                      }
+inline std::ostream&   operator<<      (std::ostream& s, VkDeviceFaultVendorBinaryHeaderVersionEXT value)                      { return s << getDeviceFaultVendorBinaryHeaderVersionEXTStr(value);                     }
 inline std::ostream&   operator<<      (std::ostream& s, VkColorSpaceKHR value)                                                                        { return s << getColorSpaceKHRStr(value);                                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkPresentModeKHR value)                                                                       { return s << getPresentModeKHRStr(value);                                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkDebugReportObjectTypeEXT value)                                                     { return s << getDebugReportObjectTypeEXTStr(value);                                            }
@@ -351,6 +380,9 @@ inline std::ostream&        operator<<      (std::ostream& s, VkBlendOverlapEXT value)
 inline std::ostream&   operator<<      (std::ostream& s, VkFullScreenExclusiveEXT value)                                                       { return s << getFullScreenExclusiveEXTStr(value);                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkShaderFloatControlsIndependence value)                                      { return s << getShaderFloatControlsIndependenceStr(value);                                     }
 inline std::ostream&   operator<<      (std::ostream& s, VkFragmentShadingRateCombinerOpKHR value)                                     { return s << getFragmentShadingRateCombinerOpKHRStr(value);                            }
+inline std::ostream&   operator<<      (std::ostream& s, VkOpticalFlowPerformanceLevelNV value)                                        { return s << getOpticalFlowPerformanceLevelNVStr(value);                                       }
+inline std::ostream&   operator<<      (std::ostream& s, VkOpticalFlowSessionBindingPointNV value)                                     { return s << getOpticalFlowSessionBindingPointNVStr(value);                            }
+inline std::ostream&   operator<<      (std::ostream& s, VkDeviceFaultAddressTypeEXT value)                                            { return s << getDeviceFaultAddressTypeEXTStr(value);                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkVendorId value)                                                                                     { return s << getVendorIdStr(value);                                                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkDriverId value)                                                                                     { return s << getDriverIdStr(value);                                                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkShadingRatePaletteEntryNV value)                                            { return s << getShadingRatePaletteEntryNVStr(value);                                           }
@@ -363,7 +395,7 @@ inline std::ostream&        operator<<      (std::ostream& s, VkVideoEncodeH265RateControlSt
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureMotionInstanceTypeNV value)            { return s << getAccelerationStructureMotionInstanceTypeNVStr(value);           }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264ChromaFormatIdc value)                                            { return s << getdVideoH264ChromaFormatIdcStr(value);                                           }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264ProfileIdc value)                                                         { return s << getdVideoH264ProfileIdcStr(value);                                                        }
-inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264Level value)                                                                      { return s << getdVideoH264LevelStr(value);                                                                     }
+inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264LevelIdc value)                                                           { return s << getdVideoH264LevelIdcStr(value);                                                          }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264PocType value)                                                            { return s << getdVideoH264PocTypeStr(value);                                                           }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264AspectRatioIdc value)                                                     { return s << getdVideoH264AspectRatioIdcStr(value);                                            }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH264WeightedBipredIdc value)                                          { return s << getdVideoH264WeightedBipredIdcStr(value);                                         }
@@ -377,9 +409,10 @@ inline std::ostream&       operator<<      (std::ostream& s, StdVideoH264NonVclNaluType val
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoDecodeH264FieldOrderCount value)                                      { return s << getdVideoDecodeH264FieldOrderCountStr(value);                                     }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265ChromaFormatIdc value)                                            { return s << getdVideoH265ChromaFormatIdcStr(value);                                           }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265ProfileIdc value)                                                         { return s << getdVideoH265ProfileIdcStr(value);                                                        }
-inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265Level value)                                                                      { return s << getdVideoH265LevelStr(value);                                                                     }
+inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265LevelIdc value)                                                           { return s << getdVideoH265LevelIdcStr(value);                                                          }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265SliceType value)                                                          { return s << getdVideoH265SliceTypeStr(value);                                                         }
 inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265PictureType value)                                                        { return s << getdVideoH265PictureTypeStr(value);                                                       }
+inline std::ostream&   operator<<      (std::ostream& s, StdVideoH265AspectRatioIdc value)                                                     { return s << getdVideoH265AspectRatioIdcStr(value);                                            }
 
 tcu::Format::Bitfield<32>      getFramebufferCreateFlagsStr                                                            (VkFramebufferCreateFlags value);
 tcu::Format::Bitfield<32>      getQueryPoolCreateFlagsStr                                                                      (VkQueryPoolCreateFlags value);
@@ -461,6 +494,8 @@ tcu::Format::Bitfield<32>   getAccelerationStructureMotionInfoFlagsNVStr                            (VkAcc
 tcu::Format::Bitfield<32>      getAccelerationStructureMotionInstanceFlagsNVStr                        (VkAccelerationStructureMotionInstanceFlagsNV value);
 tcu::Format::Bitfield<64>      getFormatFeatureFlags2Str                                                                       (VkFormatFeatureFlags2 value);
 tcu::Format::Bitfield<32>      getRenderingFlagsStr                                                                            (VkRenderingFlags value);
+tcu::Format::Bitfield<32>      getBuildMicromapFlagsEXTStr                                                                     (VkBuildMicromapFlagsEXT value);
+tcu::Format::Bitfield<32>      getMicromapCreateFlagsEXTStr                                                            (VkMicromapCreateFlagsEXT value);
 tcu::Format::Bitfield<32>      getCompositeAlphaFlagsKHRStr                                                            (VkCompositeAlphaFlagsKHR value);
 tcu::Format::Bitfield<32>      getDisplayPlaneAlphaFlagsKHRStr                                                         (VkDisplayPlaneAlphaFlagsKHR value);
 tcu::Format::Bitfield<32>      getSurfaceTransformFlagsKHRStr                                                          (VkSurfaceTransformFlagsKHR value);
@@ -523,6 +558,11 @@ tcu::Format::Bitfield<32>  getGraphicsPipelineLibraryFlagsEXTStr                                           (VkGraphics
 tcu::Format::Bitfield<32>      getImageCompressionFlagsEXTStr                                                          (VkImageCompressionFlagsEXT value);
 tcu::Format::Bitfield<32>      getImageCompressionFixedRateFlagsEXTStr                                         (VkImageCompressionFixedRateFlagsEXT value);
 tcu::Format::Bitfield<32>      getExportMetalObjectTypeFlagsEXTStr                                                     (VkExportMetalObjectTypeFlagsEXT value);
+tcu::Format::Bitfield<32>      getDeviceAddressBindingFlagsEXTStr                                                      (VkDeviceAddressBindingFlagsEXT value);
+tcu::Format::Bitfield<32>      getOpticalFlowGridSizeFlagsNVStr                                                        (VkOpticalFlowGridSizeFlagsNV value);
+tcu::Format::Bitfield<32>      getOpticalFlowUsageFlagsNVStr                                                           (VkOpticalFlowUsageFlagsNV value);
+tcu::Format::Bitfield<32>      getOpticalFlowSessionCreateFlagsNVStr                                           (VkOpticalFlowSessionCreateFlagsNV value);
+tcu::Format::Bitfield<32>      getOpticalFlowExecuteFlagsNVStr                                                         (VkOpticalFlowExecuteFlagsNV value);
 tcu::Format::Bitfield<32>      getVideoCodecOperationFlagsKHRStr                                                       (VkVideoCodecOperationFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoCapabilityFlagsKHRStr                                                           (VkVideoCapabilityFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoSessionCreateFlagsKHRStr                                                        (VkVideoSessionCreateFlagsKHR value);
@@ -1050,6 +1090,9 @@ std::ostream&     operator<<      (std::ostream& s, const VkPipelineCreationFeedbackCreat
 std::ostream&  operator<<      (std::ostream& s, const VkSurfaceFullScreenExclusiveInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSurfaceFullScreenExclusiveWin32InfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSurfaceCapabilitiesFullScreenExclusiveEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePresentBarrierFeaturesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSurfaceCapabilitiesPresentBarrierNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSwapchainPresentBarrierCreateInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePerformanceQueryPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPerformanceCounterKHR& value);
@@ -1137,6 +1180,10 @@ std::ostream&    operator<<      (std::ostream& s, const VkRayTracingPipelineInterfaceCr
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineLibraryCreateInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkColorBlendEquationEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkColorBlendAdvancedEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkRenderPassTransformBeginInfoQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkCommandBufferInheritanceRenderPassTransformInfoQCOM& value);
@@ -1175,9 +1222,9 @@ std::ostream&     operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShading
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureBuildSizesInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT& value);
-std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& value);
-std::ostream&  operator<<      (std::ostream& s, const VkMutableDescriptorTypeListVALVE& value);
-std::ostream&  operator<<      (std::ostream& s, const VkMutableDescriptorTypeCreateInfoVALVE& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMutableDescriptorTypeListEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMutableDescriptorTypeCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDepthClipControlFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineViewportDepthClipControlCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value);
@@ -1201,6 +1248,7 @@ std::ostream&     operator<<      (std::ostream& s, const VkPhysicalDeviceLegacyDithering
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubpassResolvePerformanceQueryEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMultisampledRenderToSingleSampledInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkQueueFamilyVideoPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkQueueFamilyQueryResultStatusPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoProfileListInfoKHR& value);
@@ -1221,7 +1269,6 @@ std::ostream&     operator<<      (std::ostream& s, const VkVideoDecodeH264SessionParamet
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH264SessionParametersCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH264PictureInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH264DpbSlotInfoEXT& value);
-std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH264MvcInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH265ProfileInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH265CapabilitiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkVideoDecodeH265SessionParametersAddInfoEXT& value);
@@ -1338,6 +1385,18 @@ std::ostream&    operator<<      (std::ostream& s, const VkRenderPassCreationFeedbackCre
 std::ostream&  operator<<      (std::ostream& s, const VkRenderPassSubpassFeedbackInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkRenderPassSubpassFeedbackCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMicromapBuildInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMicromapCreateInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMicromapVersionInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkCopyMicromapInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkCopyMicromapToMemoryInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkCopyMemoryToMicromapInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMicromapBuildSizesInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMicromapUsageEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkMicromapTriangleEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceOpacityMicromapFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceOpacityMicromapPropertiesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureTrianglesOpacityMicromapEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelinePropertiesIdentifierEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePipelinePropertiesFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& value);
@@ -1366,6 +1425,23 @@ std::ostream&    operator<<      (std::ostream& s, const VkPhysicalDeviceAmigoProfilingF
 std::ostream&  operator<<      (std::ostream& s, const VkAmigoProfilingSubmitInfoSEC& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceAddressBindingReportFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDeviceAddressBindingCallbackDataEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceOpticalFlowFeaturesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceOpticalFlowPropertiesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOpticalFlowImageFormatInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOpticalFlowImageFormatPropertiesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOpticalFlowSessionCreateInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOpticalFlowSessionCreatePrivateDataInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOpticalFlowExecuteInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFaultFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDeviceFaultAddressInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDeviceFaultVendorInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDeviceFaultCountsEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDeviceFaultInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDeviceFaultVendorBinaryHeaderVersionOneEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH264SpsVuiFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH264HrdParameters& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH264SequenceParameterSetVui& value);
@@ -1378,9 +1454,6 @@ std::ostream&     operator<<      (std::ostream& s, const StdVideoDecodeH264PictureInfoFl
 std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH264PictureInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH264ReferenceInfoFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH264ReferenceInfo& value);
-std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH264MvcElementFlags& value);
-std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH264MvcElement& value);
-std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH264Mvc& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264WeightTableFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264WeightTable& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264SliceHeaderFlags& value);
@@ -1393,6 +1466,8 @@ std::ostream&     operator<<      (std::ostream& s, const StdVideoEncodeH264RefMemMgmtCtr
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264PictureInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264ReferenceInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH264SliceHeader& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoH265ProfileTierLevelFlags& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoH265ProfileTierLevel& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265DecPicBufMgr& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265SubLayerHrdParameters& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265HrdFlags& value);
@@ -1400,6 +1475,9 @@ std::ostream&     operator<<      (std::ostream& s, const StdVideoH265HrdParameters& valu
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265VpsFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265VideoParameterSet& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265ScalingLists& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoH265ShortTermRefPicSetFlags& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoH265ShortTermRefPicSet& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoH265LongTermRefPicsSps& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265SpsVuiFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265SequenceParameterSetVui& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoH265PredictorPaletteEntries& value);
@@ -1413,6 +1491,7 @@ std::ostream&     operator<<      (std::ostream& s, const StdVideoDecodeH265ReferenceInfo
 std::ostream&  operator<<      (std::ostream& s, const StdVideoDecodeH265ReferenceInfo& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265WeightTableFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265WeightTable& value);
+std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceSegmentLongTermRefPics& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeaderFlags& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeader& value);
 std::ostream&  operator<<      (std::ostream& s, const StdVideoEncodeH265ReferenceModificationFlags& value);
index c2c70b5..6eed66e 100644 (file)
@@ -40,6 +40,8 @@ template<> const char*        getTypeName<VkDeferredOperationKHR>                             (void) { return "V
 template<> const char* getTypeName<VkPrivateDataSlot>                                  (void) { return "VkPrivateDataSlot";                            }
 template<> const char* getTypeName<VkCuModuleNVX>                                              (void) { return "VkCuModuleNVX";                                        }
 template<> const char* getTypeName<VkCuFunctionNVX>                                    (void) { return "VkCuFunctionNVX";                                      }
+template<> const char* getTypeName<VkOpticalFlowSessionNV>                             (void) { return "VkOpticalFlowSessionNV";                       }
+template<> const char* getTypeName<VkMicromapEXT>                                              (void) { return "VkMicromapEXT";                                        }
 template<> const char* getTypeName<VkDisplayKHR>                                               (void) { return "VkDisplayKHR";                                         }
 template<> const char* getTypeName<VkDisplayModeKHR>                                   (void) { return "VkDisplayModeKHR";                                     }
 template<> const char* getTypeName<VkSurfaceKHR>                                               (void) { return "VkSurfaceKHR";                                         }
@@ -273,7 +275,7 @@ tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetL
        {
                tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,           "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"),
                tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,        "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT"),
-               tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,          "VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,            "VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -333,6 +335,8 @@ tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value)
                tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,                                                         "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR,      "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR,                            "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,                            "VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT,                                                          "VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -460,7 +464,7 @@ const char* getDescriptorTypeName (VkDescriptorType value)
                case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK:           return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK";
                case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR:     return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR";
                case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV:      return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV";
-               case VK_DESCRIPTOR_TYPE_MUTABLE_VALVE:                          return "VK_DESCRIPTOR_TYPE_MUTABLE_VALVE";
+               case VK_DESCRIPTOR_TYPE_MUTABLE_EXT:                            return "VK_DESCRIPTOR_TYPE_MUTABLE_EXT";
                case VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM:       return "VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM";
                case VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM:         return "VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM";
                default:                                                                                        return DE_NULL;
@@ -471,44 +475,75 @@ const char* getDynamicStateName (VkDynamicState value)
 {
        switch (value)
        {
-               case VK_DYNAMIC_STATE_VIEWPORT:                                                         return "VK_DYNAMIC_STATE_VIEWPORT";
-               case VK_DYNAMIC_STATE_SCISSOR:                                                          return "VK_DYNAMIC_STATE_SCISSOR";
-               case VK_DYNAMIC_STATE_LINE_WIDTH:                                                       return "VK_DYNAMIC_STATE_LINE_WIDTH";
-               case VK_DYNAMIC_STATE_DEPTH_BIAS:                                                       return "VK_DYNAMIC_STATE_DEPTH_BIAS";
-               case VK_DYNAMIC_STATE_BLEND_CONSTANTS:                                          return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
-               case VK_DYNAMIC_STATE_DEPTH_BOUNDS:                                                     return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
-               case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK:                                     return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
-               case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK:                                       return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
-               case VK_DYNAMIC_STATE_STENCIL_REFERENCE:                                        return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
-               case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV:                            return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV";
-               case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT:                            return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT";
-               case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT:                                     return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT";
-               case VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV:         return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV";
-               case VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV:          return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV";
-               case VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV:                                     return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV";
-               case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR:                        return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR";
-               case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT:                                         return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT";
-               case VK_DYNAMIC_STATE_CULL_MODE:                                                        return "VK_DYNAMIC_STATE_CULL_MODE";
-               case VK_DYNAMIC_STATE_FRONT_FACE:                                                       return "VK_DYNAMIC_STATE_FRONT_FACE";
-               case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY:                                       return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY";
-               case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT:                                      return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT";
-               case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT:                                       return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT";
-               case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE:                      return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE";
-               case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE:                                        return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE";
-               case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE:                                       return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE";
-               case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP:                                         return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP";
-               case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE:                         return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE";
-               case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE:                                      return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE";
-               case VK_DYNAMIC_STATE_STENCIL_OP:                                                       return "VK_DYNAMIC_STATE_STENCIL_OP";
-               case VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR:      return "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR";
-               case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT:                                         return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT";
-               case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT:                         return "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT";
-               case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE:                        return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE";
-               case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE:                                        return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE";
-               case VK_DYNAMIC_STATE_LOGIC_OP_EXT:                                                     return "VK_DYNAMIC_STATE_LOGIC_OP_EXT";
-               case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE:                         return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE";
-               case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT:                           return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT";
-               default:                                                                                                        return DE_NULL;
+               case VK_DYNAMIC_STATE_VIEWPORT:                                                                 return "VK_DYNAMIC_STATE_VIEWPORT";
+               case VK_DYNAMIC_STATE_SCISSOR:                                                                  return "VK_DYNAMIC_STATE_SCISSOR";
+               case VK_DYNAMIC_STATE_LINE_WIDTH:                                                               return "VK_DYNAMIC_STATE_LINE_WIDTH";
+               case VK_DYNAMIC_STATE_DEPTH_BIAS:                                                               return "VK_DYNAMIC_STATE_DEPTH_BIAS";
+               case VK_DYNAMIC_STATE_BLEND_CONSTANTS:                                                  return "VK_DYNAMIC_STATE_BLEND_CONSTANTS";
+               case VK_DYNAMIC_STATE_DEPTH_BOUNDS:                                                             return "VK_DYNAMIC_STATE_DEPTH_BOUNDS";
+               case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK:                                             return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK";
+               case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK:                                               return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK";
+               case VK_DYNAMIC_STATE_STENCIL_REFERENCE:                                                return "VK_DYNAMIC_STATE_STENCIL_REFERENCE";
+               case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV:                                    return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV";
+               case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT:                                    return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT";
+               case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT:                                             return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT";
+               case VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV:                 return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV";
+               case VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV:                  return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV";
+               case VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV:                                             return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV";
+               case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR:                                return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR";
+               case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT:                                                 return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT";
+               case VK_DYNAMIC_STATE_CULL_MODE:                                                                return "VK_DYNAMIC_STATE_CULL_MODE";
+               case VK_DYNAMIC_STATE_FRONT_FACE:                                                               return "VK_DYNAMIC_STATE_FRONT_FACE";
+               case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY:                                               return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY";
+               case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT:                                              return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT";
+               case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT:                                               return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT";
+               case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE:                              return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE";
+               case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE:                                                return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE";
+               case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE:                                               return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE";
+               case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP:                                                 return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP";
+               case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE:                                 return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE";
+               case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE:                                              return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE";
+               case VK_DYNAMIC_STATE_STENCIL_OP:                                                               return "VK_DYNAMIC_STATE_STENCIL_OP";
+               case VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR:              return "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR";
+               case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT:                                                 return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT";
+               case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT:                                 return "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT";
+               case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE:                                return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE";
+               case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE:                                                return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE";
+               case VK_DYNAMIC_STATE_LOGIC_OP_EXT:                                                             return "VK_DYNAMIC_STATE_LOGIC_OP_EXT";
+               case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE:                                 return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE";
+               case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT:                                   return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT:                   return "VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT";
+               case VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT:                                   return "VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_POLYGON_MODE_EXT:                                                 return "VK_DYNAMIC_STATE_POLYGON_MODE_EXT";
+               case VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT:                                return "VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT";
+               case VK_DYNAMIC_STATE_SAMPLE_MASK_EXT:                                                  return "VK_DYNAMIC_STATE_SAMPLE_MASK_EXT";
+               case VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT:                             return "VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT:                                  return "VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT:                                              return "VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT:                                   return "VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT:                                 return "VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT";
+               case VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT:                                             return "VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT";
+               case VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT:                                 return "VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT";
+               case VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT:              return "VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT";
+               case VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT:  return "VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT";
+               case VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT:                                    return "VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT:                              return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT:                                 return "VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT";
+               case VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT:                                return "VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT";
+               case VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT:                              return "VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT";
+               case VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT:                                  return "VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT";
+               case VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT:               return "VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT";
+               case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV:                             return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV";
+               case VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV:                                              return "VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV";
+               case VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV:                              return "VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV";
+               case VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV:                    return "VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV";
+               case VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV:                              return "VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV";
+               case VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV:              return "VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV";
+               case VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV:                             return "VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV";
+               case VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV:                             return "VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV";
+               case VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV:   return "VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV";
+               case VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV:                               return "VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV";
+               default:                                                                                                                return DE_NULL;
        }
 }
 
@@ -784,6 +819,7 @@ const char* getFormatName (VkFormat value)
                case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM:                                     return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM";
                case VK_FORMAT_A4R4G4B4_UNORM_PACK16:                                           return "VK_FORMAT_A4R4G4B4_UNORM_PACK16";
                case VK_FORMAT_A4B4G4R4_UNORM_PACK16:                                           return "VK_FORMAT_A4B4G4R4_UNORM_PACK16";
+               case VK_FORMAT_R16G16_S10_5_NV:                                                         return "VK_FORMAT_R16G16_S10_5_NV";
                default:                                                                                                        return DE_NULL;
        }
 }
@@ -1157,8 +1193,11 @@ tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value
                tcu::Format::BitDesc(VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,             "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"),
                tcu::Format::BitDesc(VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,              "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"),
                tcu::Format::BitDesc(VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,                             "VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"),
+               tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT,                                   "VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT"),
                tcu::Format::BitDesc(VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,                                 "VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"),
                tcu::Format::BitDesc(VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT,                 "VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"),
+               tcu::Format::BitDesc(VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT,                                                    "VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT"),
+               tcu::Format::BitDesc(VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT,                                                  "VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -1244,6 +1283,8 @@ const char* getQueryTypeName (VkQueryType value)
                case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:                                                                            return "VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT";
                case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR:      return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR";
                case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR:                                                                     return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR";
+               case VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT:                                                                     return "VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT";
+               case VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT:                                                                         return "VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT";
                default:                                                                                                                                                        return DE_NULL;
        }
 }
@@ -1259,6 +1300,7 @@ tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value)
                tcu::Format::BitDesc(VK_QUEUE_PROTECTED_BIT,            "VK_QUEUE_PROTECTED_BIT"),
                tcu::Format::BitDesc(VK_QUEUE_VIDEO_DECODE_BIT_KHR,     "VK_QUEUE_VIDEO_DECODE_BIT_KHR"),
                tcu::Format::BitDesc(VK_QUEUE_VIDEO_ENCODE_BIT_KHR,     "VK_QUEUE_VIDEO_ENCODE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_QUEUE_OPTICAL_FLOW_BIT_NV,      "VK_QUEUE_OPTICAL_FLOW_BIT_NV"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -1516,7 +1558,6 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT:                                           return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT:                                                                      return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT:                                                                      return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT";
-               case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT:                                                                          return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT:                                                                      return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT:                            return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT:                                       return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT";
@@ -1916,6 +1957,9 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT:                                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR:                                                                        return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV:                                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV:                                                         return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV";
+               case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV:                                                        return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_PRESENT_ID_KHR:                                                                                                          return "VK_STRUCTURE_TYPE_PRESENT_ID_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR:                                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES:                                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES";
@@ -1990,18 +2034,23 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT:                                                                        return "VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT:            return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT:                                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT:                                                                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT:                                                                                         return "VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT";
+               case VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT:                                                                                           return "VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT:      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT:                                                                        return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR:                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR:                                                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR";
-               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE";
-               case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE:                                                       return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT:                            return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT:                                                         return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT:                                                          return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT";
                case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT:                                                        return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT:                                                                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT:                                                        return "VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT:                            return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT:            return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT";
@@ -2045,6 +2094,16 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:                                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT:                                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT:                                                                                         return "VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT";
+               case VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT:                                                                                       return "VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT";
+               case VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT:                                                                                          return "VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT";
+               case VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT:                                                                        return "VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT";
+               case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT:                                                                        return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT";
+               case VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT:                                                                                        return "VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT:                                                                           return "VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT";
+               case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT:                           return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT:                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT:                          return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT:                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT";
@@ -2065,6 +2124,8 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM:                                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM";
                case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM:                                                       return "VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT:                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT:                                                                        return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT";
                case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT:                                           return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT";
@@ -2073,11 +2134,21 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT:                         return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT:                                                                            return "VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV:                                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV:                                                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV";
+               case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV:                                                                       return "VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV";
+               case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV:                                                         return "VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV";
+               case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV:                                                                     return "VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV";
+               case VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV:                                                                            return "VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV";
+               case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV:                                        return "VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM";
                case VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM:                                                                                            return "VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC:                                            return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC";
                case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC:                                                                         return "VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM:                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM";
                default:                                                                                                                                                                        return DE_NULL;
        }
 }
@@ -2224,7 +2295,7 @@ tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreat
        {
                tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"),
                tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,   "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"),
-               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE,             "VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,               "VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2291,6 +2362,8 @@ const char* getObjectTypeName (VkObjectType value)
                case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV:                return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV";
                case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT:                                  return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT";
                case VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA:                  return "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA";
+               case VK_OBJECT_TYPE_MICROMAP_EXT:                                               return "VK_OBJECT_TYPE_MICROMAP_EXT";
+               case VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV:                    return "VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV";
                default:                                                                                                return DE_NULL;
        }
 }
@@ -2551,6 +2624,8 @@ tcu::Format::Bitfield<32> getGeometryInstanceFlagsKHRStr (VkGeometryInstanceFlag
                tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,                 "VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR"),
                tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,                                 "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR"),
                tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,                              "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT,   "VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT"),
+               tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT,                "VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2559,12 +2634,15 @@ tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsKHRStr (VkBuildAccel
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,              "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"),
-               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,  "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"),
-               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"),
-               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"),
-               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,                "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"),
-               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV,                             "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,                                              "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,                                  "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,                                 "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,                                 "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,                                                "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV,                                                             "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT,                 "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT,               "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT"),
+               tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT,    "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -2978,6 +3056,10 @@ tcu::Format::Bitfield<64> getAccessFlags2Str (VkAccessFlags2 value)
                tcu::Format::BitDesc(VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR,                                    "VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR"),
                tcu::Format::BitDesc(VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,                               "VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI"),
                tcu::Format::BitDesc(VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,                             "VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR"),
+               tcu::Format::BitDesc(VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV,                                              "VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV,                                             "VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV"),
+               tcu::Format::BitDesc(VK_ACCESS_2_MICROMAP_READ_BIT_EXT,                                                 "VK_ACCESS_2_MICROMAP_READ_BIT_EXT"),
+               tcu::Format::BitDesc(VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT,                                                "VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT"),
        };
        return tcu::Format::Bitfield<64>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -3016,6 +3098,8 @@ tcu::Format::Bitfield<64> getPipelineStageFlags2Str (VkPipelineStageFlags2 value
                tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR,                                          "VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR"),
                tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR,                                          "VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR"),
                tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,           "VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR"),
+               tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV,                                           "VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV"),
+               tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,                                        "VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"),
                tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_COPY_BIT,                                                                      "VK_PIPELINE_STAGE_2_COPY_BIT"),
                tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_RESOLVE_BIT,                                                           "VK_PIPELINE_STAGE_2_RESOLVE_BIT"),
                tcu::Format::BitDesc(VK_PIPELINE_STAGE_2_BLIT_BIT,                                                                      "VK_PIPELINE_STAGE_2_BLIT_BIT"),
@@ -3095,6 +3179,9 @@ tcu::Format::Bitfield<64> getFormatFeatureFlags2Str (VkFormatFeatureFlags2 value
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM,                                                                                                               "VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM,                                                                                                   "VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM"),
                tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV,                                                                                                "VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV,                                                                                                             "VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV,                                                                                                    "VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV"),
+               tcu::Format::BitDesc(VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV,                                                                                                              "VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV"),
        };
        return tcu::Format::Bitfield<64>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -3213,6 +3300,106 @@ const char* getPipelineRobustnessImageBehaviorEXTName (VkPipelineRobustnessImage
        }
 }
 
+tcu::Format::Bitfield<32> getDeviceAddressBindingFlagsEXTStr (VkDeviceAddressBindingFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT, "VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+const char* getDeviceAddressBindingTypeEXTName (VkDeviceAddressBindingTypeEXT value)
+{
+       switch (value)
+       {
+               case VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT:   return "VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT";
+               case VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT: return "VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT";
+               default:                                                                                return DE_NULL;
+       }
+}
+
+const char* getMicromapTypeEXTName (VkMicromapTypeEXT value)
+{
+       switch (value)
+       {
+               case VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT:     return "VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT";
+               default:                                                                        return DE_NULL;
+       }
+}
+
+const char* getBuildMicromapModeEXTName (VkBuildMicromapModeEXT value)
+{
+       switch (value)
+       {
+               case VK_BUILD_MICROMAP_MODE_BUILD_EXT:  return "VK_BUILD_MICROMAP_MODE_BUILD_EXT";
+               default:                                                                return DE_NULL;
+       }
+}
+
+const char* getCopyMicromapModeEXTName (VkCopyMicromapModeEXT value)
+{
+       switch (value)
+       {
+               case VK_COPY_MICROMAP_MODE_CLONE_EXT:           return "VK_COPY_MICROMAP_MODE_CLONE_EXT";
+               case VK_COPY_MICROMAP_MODE_SERIALIZE_EXT:       return "VK_COPY_MICROMAP_MODE_SERIALIZE_EXT";
+               case VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT:     return "VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT";
+               case VK_COPY_MICROMAP_MODE_COMPACT_EXT:         return "VK_COPY_MICROMAP_MODE_COMPACT_EXT";
+               default:                                                                        return DE_NULL;
+       }
+}
+
+tcu::Format::Bitfield<32> getBuildMicromapFlagsEXTStr (VkBuildMicromapFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT,       "VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT,       "VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT"),
+               tcu::Format::BitDesc(VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT,        "VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getMicromapCreateFlagsEXTStr (VkMicromapCreateFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,  "VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+const char* getOpacityMicromapFormatEXTName (VkOpacityMicromapFormatEXT value)
+{
+       switch (value)
+       {
+               case VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT:    return "VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT";
+               case VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT:    return "VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT";
+               default:                                                                                return DE_NULL;
+       }
+}
+
+const char* getOpacityMicromapSpecialIndexEXTName (VkOpacityMicromapSpecialIndexEXT value)
+{
+       switch (value)
+       {
+               case VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT:                return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT";
+               case VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT:   return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT";
+               case VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT:                                return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT";
+               case VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT:                   return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT";
+               default:                                                                                                                                return DE_NULL;
+       }
+}
+
+const char* getDeviceFaultVendorBinaryHeaderVersionEXTName (VkDeviceFaultVendorBinaryHeaderVersionEXT value)
+{
+       switch (value)
+       {
+               case VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT:      return "VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT";
+               default:                                                                                                        return DE_NULL;
+       }
+}
+
 const char* getColorSpaceKHRName (VkColorSpaceKHR value)
 {
        switch (value)
@@ -3715,9 +3902,10 @@ tcu::Format::Bitfield<32> getDebugUtilsMessageTypeFlagsEXTStr (VkDebugUtilsMessa
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,               "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"),
-               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,    "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"),
-               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,   "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,                                       "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,                            "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,                           "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT,        "VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -3788,6 +3976,99 @@ tcu::Format::Bitfield<32> getGraphicsPipelineLibraryFlagsEXTStr (VkGraphicsPipel
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
 
+tcu::Format::Bitfield<32> getOpticalFlowGridSizeFlagsNVStr (VkOpticalFlowGridSizeFlagsNV value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV,      "VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV,      "VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV,      "VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV,      "VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV,      "VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getOpticalFlowUsageFlagsNVStr (VkOpticalFlowUsageFlagsNV value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV,                  "VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV,                "VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV,               "VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV,                 "VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_USAGE_COST_BIT_NV,                 "VK_OPTICAL_FLOW_USAGE_COST_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV,  "VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+const char* getOpticalFlowPerformanceLevelNVName (VkOpticalFlowPerformanceLevelNV value)
+{
+       switch (value)
+       {
+               case VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV:      return "VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV";
+               case VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV:         return "VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV";
+               case VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV:       return "VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV";
+               case VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV:         return "VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV";
+               default:                                                                                        return DE_NULL;
+       }
+}
+
+const char* getOpticalFlowSessionBindingPointNVName (VkOpticalFlowSessionBindingPointNV value)
+{
+       switch (value)
+       {
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV:                          return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV:                            return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV:                        return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV:                                     return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV:                      return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV:     return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV:                                     return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV:            return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV";
+               case VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV:                      return "VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV";
+               default:                                                                                                                        return DE_NULL;
+       }
+}
+
+tcu::Format::Bitfield<32> getOpticalFlowSessionCreateFlagsNVStr (VkOpticalFlowSessionCreateFlagsNV value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV,                 "VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV,                 "VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV,  "VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV,               "VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV"),
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV,             "VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getOpticalFlowExecuteFlagsNVStr (VkOpticalFlowExecuteFlagsNV value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV,     "VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+const char* getDeviceFaultAddressTypeEXTName (VkDeviceFaultAddressTypeEXT value)
+{
+       switch (value)
+       {
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT:                                                     return "VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT";
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT:                                     return "VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT";
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT:                            return "VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT";
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT:                          return "VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT";
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT:      return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT";
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT:      return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT";
+               case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT:        return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT";
+               default:                                                                                                                        return DE_NULL;
+       }
+}
+
 const char* getVendorIdName (VkVendorId value)
 {
        switch (value)
@@ -4240,31 +4521,31 @@ const char* getdVideoH264ProfileIdcName (StdVideoH264ProfileIdc value)
        }
 }
 
-const char* getdVideoH264LevelName (StdVideoH264Level value)
+const char* getdVideoH264LevelIdcName (StdVideoH264LevelIdc value)
 {
        switch (value)
        {
-               case STD_VIDEO_H264_LEVEL_1_0:          return "STD_VIDEO_H264_LEVEL_1_0";
-               case STD_VIDEO_H264_LEVEL_1_1:          return "STD_VIDEO_H264_LEVEL_1_1";
-               case STD_VIDEO_H264_LEVEL_1_2:          return "STD_VIDEO_H264_LEVEL_1_2";
-               case STD_VIDEO_H264_LEVEL_1_3:          return "STD_VIDEO_H264_LEVEL_1_3";
-               case STD_VIDEO_H264_LEVEL_2_0:          return "STD_VIDEO_H264_LEVEL_2_0";
-               case STD_VIDEO_H264_LEVEL_2_1:          return "STD_VIDEO_H264_LEVEL_2_1";
-               case STD_VIDEO_H264_LEVEL_2_2:          return "STD_VIDEO_H264_LEVEL_2_2";
-               case STD_VIDEO_H264_LEVEL_3_0:          return "STD_VIDEO_H264_LEVEL_3_0";
-               case STD_VIDEO_H264_LEVEL_3_1:          return "STD_VIDEO_H264_LEVEL_3_1";
-               case STD_VIDEO_H264_LEVEL_3_2:          return "STD_VIDEO_H264_LEVEL_3_2";
-               case STD_VIDEO_H264_LEVEL_4_0:          return "STD_VIDEO_H264_LEVEL_4_0";
-               case STD_VIDEO_H264_LEVEL_4_1:          return "STD_VIDEO_H264_LEVEL_4_1";
-               case STD_VIDEO_H264_LEVEL_4_2:          return "STD_VIDEO_H264_LEVEL_4_2";
-               case STD_VIDEO_H264_LEVEL_5_0:          return "STD_VIDEO_H264_LEVEL_5_0";
-               case STD_VIDEO_H264_LEVEL_5_1:          return "STD_VIDEO_H264_LEVEL_5_1";
-               case STD_VIDEO_H264_LEVEL_5_2:          return "STD_VIDEO_H264_LEVEL_5_2";
-               case STD_VIDEO_H264_LEVEL_6_0:          return "STD_VIDEO_H264_LEVEL_6_0";
-               case STD_VIDEO_H264_LEVEL_6_1:          return "STD_VIDEO_H264_LEVEL_6_1";
-               case STD_VIDEO_H264_LEVEL_6_2:          return "STD_VIDEO_H264_LEVEL_6_2";
-               case STD_VIDEO_H264_LEVEL_INVALID:      return "STD_VIDEO_H264_LEVEL_INVALID";
-               default:                                                        return DE_NULL;
+               case STD_VIDEO_H264_LEVEL_IDC_1_0:              return "STD_VIDEO_H264_LEVEL_IDC_1_0";
+               case STD_VIDEO_H264_LEVEL_IDC_1_1:              return "STD_VIDEO_H264_LEVEL_IDC_1_1";
+               case STD_VIDEO_H264_LEVEL_IDC_1_2:              return "STD_VIDEO_H264_LEVEL_IDC_1_2";
+               case STD_VIDEO_H264_LEVEL_IDC_1_3:              return "STD_VIDEO_H264_LEVEL_IDC_1_3";
+               case STD_VIDEO_H264_LEVEL_IDC_2_0:              return "STD_VIDEO_H264_LEVEL_IDC_2_0";
+               case STD_VIDEO_H264_LEVEL_IDC_2_1:              return "STD_VIDEO_H264_LEVEL_IDC_2_1";
+               case STD_VIDEO_H264_LEVEL_IDC_2_2:              return "STD_VIDEO_H264_LEVEL_IDC_2_2";
+               case STD_VIDEO_H264_LEVEL_IDC_3_0:              return "STD_VIDEO_H264_LEVEL_IDC_3_0";
+               case STD_VIDEO_H264_LEVEL_IDC_3_1:              return "STD_VIDEO_H264_LEVEL_IDC_3_1";
+               case STD_VIDEO_H264_LEVEL_IDC_3_2:              return "STD_VIDEO_H264_LEVEL_IDC_3_2";
+               case STD_VIDEO_H264_LEVEL_IDC_4_0:              return "STD_VIDEO_H264_LEVEL_IDC_4_0";
+               case STD_VIDEO_H264_LEVEL_IDC_4_1:              return "STD_VIDEO_H264_LEVEL_IDC_4_1";
+               case STD_VIDEO_H264_LEVEL_IDC_4_2:              return "STD_VIDEO_H264_LEVEL_IDC_4_2";
+               case STD_VIDEO_H264_LEVEL_IDC_5_0:              return "STD_VIDEO_H264_LEVEL_IDC_5_0";
+               case STD_VIDEO_H264_LEVEL_IDC_5_1:              return "STD_VIDEO_H264_LEVEL_IDC_5_1";
+               case STD_VIDEO_H264_LEVEL_IDC_5_2:              return "STD_VIDEO_H264_LEVEL_IDC_5_2";
+               case STD_VIDEO_H264_LEVEL_IDC_6_0:              return "STD_VIDEO_H264_LEVEL_IDC_6_0";
+               case STD_VIDEO_H264_LEVEL_IDC_6_1:              return "STD_VIDEO_H264_LEVEL_IDC_6_1";
+               case STD_VIDEO_H264_LEVEL_IDC_6_2:              return "STD_VIDEO_H264_LEVEL_IDC_6_2";
+               case STD_VIDEO_H264_LEVEL_IDC_INVALID:  return "STD_VIDEO_H264_LEVEL_IDC_INVALID";
+               default:                                                                return DE_NULL;
        }
 }
 
@@ -4451,25 +4732,25 @@ const char* getdVideoH265ProfileIdcName (StdVideoH265ProfileIdc value)
        }
 }
 
-const char* getdVideoH265LevelName (StdVideoH265Level value)
+const char* getdVideoH265LevelIdcName (StdVideoH265LevelIdc value)
 {
        switch (value)
        {
-               case STD_VIDEO_H265_LEVEL_1_0:          return "STD_VIDEO_H265_LEVEL_1_0";
-               case STD_VIDEO_H265_LEVEL_2_0:          return "STD_VIDEO_H265_LEVEL_2_0";
-               case STD_VIDEO_H265_LEVEL_2_1:          return "STD_VIDEO_H265_LEVEL_2_1";
-               case STD_VIDEO_H265_LEVEL_3_0:          return "STD_VIDEO_H265_LEVEL_3_0";
-               case STD_VIDEO_H265_LEVEL_3_1:          return "STD_VIDEO_H265_LEVEL_3_1";
-               case STD_VIDEO_H265_LEVEL_4_0:          return "STD_VIDEO_H265_LEVEL_4_0";
-               case STD_VIDEO_H265_LEVEL_4_1:          return "STD_VIDEO_H265_LEVEL_4_1";
-               case STD_VIDEO_H265_LEVEL_5_0:          return "STD_VIDEO_H265_LEVEL_5_0";
-               case STD_VIDEO_H265_LEVEL_5_1:          return "STD_VIDEO_H265_LEVEL_5_1";
-               case STD_VIDEO_H265_LEVEL_5_2:          return "STD_VIDEO_H265_LEVEL_5_2";
-               case STD_VIDEO_H265_LEVEL_6_0:          return "STD_VIDEO_H265_LEVEL_6_0";
-               case STD_VIDEO_H265_LEVEL_6_1:          return "STD_VIDEO_H265_LEVEL_6_1";
-               case STD_VIDEO_H265_LEVEL_6_2:          return "STD_VIDEO_H265_LEVEL_6_2";
-               case STD_VIDEO_H265_LEVEL_INVALID:      return "STD_VIDEO_H265_LEVEL_INVALID";
-               default:                                                        return DE_NULL;
+               case STD_VIDEO_H265_LEVEL_IDC_1_0:              return "STD_VIDEO_H265_LEVEL_IDC_1_0";
+               case STD_VIDEO_H265_LEVEL_IDC_2_0:              return "STD_VIDEO_H265_LEVEL_IDC_2_0";
+               case STD_VIDEO_H265_LEVEL_IDC_2_1:              return "STD_VIDEO_H265_LEVEL_IDC_2_1";
+               case STD_VIDEO_H265_LEVEL_IDC_3_0:              return "STD_VIDEO_H265_LEVEL_IDC_3_0";
+               case STD_VIDEO_H265_LEVEL_IDC_3_1:              return "STD_VIDEO_H265_LEVEL_IDC_3_1";
+               case STD_VIDEO_H265_LEVEL_IDC_4_0:              return "STD_VIDEO_H265_LEVEL_IDC_4_0";
+               case STD_VIDEO_H265_LEVEL_IDC_4_1:              return "STD_VIDEO_H265_LEVEL_IDC_4_1";
+               case STD_VIDEO_H265_LEVEL_IDC_5_0:              return "STD_VIDEO_H265_LEVEL_IDC_5_0";
+               case STD_VIDEO_H265_LEVEL_IDC_5_1:              return "STD_VIDEO_H265_LEVEL_IDC_5_1";
+               case STD_VIDEO_H265_LEVEL_IDC_5_2:              return "STD_VIDEO_H265_LEVEL_IDC_5_2";
+               case STD_VIDEO_H265_LEVEL_IDC_6_0:              return "STD_VIDEO_H265_LEVEL_IDC_6_0";
+               case STD_VIDEO_H265_LEVEL_IDC_6_1:              return "STD_VIDEO_H265_LEVEL_IDC_6_1";
+               case STD_VIDEO_H265_LEVEL_IDC_6_2:              return "STD_VIDEO_H265_LEVEL_IDC_6_2";
+               case STD_VIDEO_H265_LEVEL_IDC_INVALID:  return "STD_VIDEO_H265_LEVEL_IDC_INVALID";
+               default:                                                                return DE_NULL;
        }
 }
 
@@ -4498,6 +4779,33 @@ const char* getdVideoH265PictureTypeName (StdVideoH265PictureType value)
        }
 }
 
+const char* getdVideoH265AspectRatioIdcName (StdVideoH265AspectRatioIdc value)
+{
+       switch (value)
+       {
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED:       return "STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE:            return "STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33:                     return "STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99:            return "STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3:                       return "STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2:                       return "STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1:                       return "STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR:      return "STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR";
+               case STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID:           return "STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID";
+               default:                                                                                        return DE_NULL;
+       }
+}
+
 tcu::Format::Bitfield<32> getQueryPoolCreateFlagsStr (VkQueryPoolCreateFlags value)
 {
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
@@ -10928,6 +11236,36 @@ std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesFullScreen
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentBarrierFeaturesNV& value)
+{
+       s << "VkPhysicalDevicePresentBarrierFeaturesNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpresentBarrier = " << value.presentBarrier << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesPresentBarrierNV& value)
+{
+       s << "VkSurfaceCapabilitiesPresentBarrierNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpresentBarrierSupported = " << value.presentBarrierSupported << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSwapchainPresentBarrierCreateInfoNV& value)
+{
+       s << "VkSwapchainPresentBarrierCreateInfoNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpresentBarrierEnable = " << value.presentBarrierEnable << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value)
 {
        s << "VkPhysicalDevicePerformanceQueryFeaturesKHR = {\n";
@@ -12076,6 +12414,81 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamic
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceExtendedDynamicState3FeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\textendedDynamicState3TessellationDomainOrigin = " << value.extendedDynamicState3TessellationDomainOrigin << '\n';
+       s << "\textendedDynamicState3DepthClampEnable = " << value.extendedDynamicState3DepthClampEnable << '\n';
+       s << "\textendedDynamicState3PolygonMode = " << value.extendedDynamicState3PolygonMode << '\n';
+       s << "\textendedDynamicState3RasterizationSamples = " << value.extendedDynamicState3RasterizationSamples << '\n';
+       s << "\textendedDynamicState3SampleMask = " << value.extendedDynamicState3SampleMask << '\n';
+       s << "\textendedDynamicState3AlphaToCoverageEnable = " << value.extendedDynamicState3AlphaToCoverageEnable << '\n';
+       s << "\textendedDynamicState3AlphaToOneEnable = " << value.extendedDynamicState3AlphaToOneEnable << '\n';
+       s << "\textendedDynamicState3LogicOpEnable = " << value.extendedDynamicState3LogicOpEnable << '\n';
+       s << "\textendedDynamicState3ColorBlendEnable = " << value.extendedDynamicState3ColorBlendEnable << '\n';
+       s << "\textendedDynamicState3ColorBlendEquation = " << value.extendedDynamicState3ColorBlendEquation << '\n';
+       s << "\textendedDynamicState3ColorWriteMask = " << value.extendedDynamicState3ColorWriteMask << '\n';
+       s << "\textendedDynamicState3RasterizationStream = " << value.extendedDynamicState3RasterizationStream << '\n';
+       s << "\textendedDynamicState3ConservativeRasterizationMode = " << value.extendedDynamicState3ConservativeRasterizationMode << '\n';
+       s << "\textendedDynamicState3ExtraPrimitiveOverestimationSize = " << value.extendedDynamicState3ExtraPrimitiveOverestimationSize << '\n';
+       s << "\textendedDynamicState3DepthClipEnable = " << value.extendedDynamicState3DepthClipEnable << '\n';
+       s << "\textendedDynamicState3SampleLocationsEnable = " << value.extendedDynamicState3SampleLocationsEnable << '\n';
+       s << "\textendedDynamicState3ColorBlendAdvanced = " << value.extendedDynamicState3ColorBlendAdvanced << '\n';
+       s << "\textendedDynamicState3ProvokingVertexMode = " << value.extendedDynamicState3ProvokingVertexMode << '\n';
+       s << "\textendedDynamicState3LineRasterizationMode = " << value.extendedDynamicState3LineRasterizationMode << '\n';
+       s << "\textendedDynamicState3LineStippleEnable = " << value.extendedDynamicState3LineStippleEnable << '\n';
+       s << "\textendedDynamicState3DepthClipNegativeOneToOne = " << value.extendedDynamicState3DepthClipNegativeOneToOne << '\n';
+       s << "\textendedDynamicState3ViewportWScalingEnable = " << value.extendedDynamicState3ViewportWScalingEnable << '\n';
+       s << "\textendedDynamicState3ViewportSwizzle = " << value.extendedDynamicState3ViewportSwizzle << '\n';
+       s << "\textendedDynamicState3CoverageToColorEnable = " << value.extendedDynamicState3CoverageToColorEnable << '\n';
+       s << "\textendedDynamicState3CoverageToColorLocation = " << value.extendedDynamicState3CoverageToColorLocation << '\n';
+       s << "\textendedDynamicState3CoverageModulationMode = " << value.extendedDynamicState3CoverageModulationMode << '\n';
+       s << "\textendedDynamicState3CoverageModulationTableEnable = " << value.extendedDynamicState3CoverageModulationTableEnable << '\n';
+       s << "\textendedDynamicState3CoverageModulationTable = " << value.extendedDynamicState3CoverageModulationTable << '\n';
+       s << "\textendedDynamicState3CoverageReductionMode = " << value.extendedDynamicState3CoverageReductionMode << '\n';
+       s << "\textendedDynamicState3RepresentativeFragmentTestEnable = " << value.extendedDynamicState3RepresentativeFragmentTestEnable << '\n';
+       s << "\textendedDynamicState3ShadingRateImageEnable = " << value.extendedDynamicState3ShadingRateImageEnable << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT& value)
+{
+       s << "VkPhysicalDeviceExtendedDynamicState3PropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdynamicPrimitiveTopologyUnrestricted = " << value.dynamicPrimitiveTopologyUnrestricted << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkColorBlendEquationEXT& value)
+{
+       s << "VkColorBlendEquationEXT = {\n";
+       s << "\tsrcColorBlendFactor = " << value.srcColorBlendFactor << '\n';
+       s << "\tdstColorBlendFactor = " << value.dstColorBlendFactor << '\n';
+       s << "\tcolorBlendOp = " << value.colorBlendOp << '\n';
+       s << "\tsrcAlphaBlendFactor = " << value.srcAlphaBlendFactor << '\n';
+       s << "\tdstAlphaBlendFactor = " << value.dstAlphaBlendFactor << '\n';
+       s << "\talphaBlendOp = " << value.alphaBlendOp << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkColorBlendAdvancedEXT& value)
+{
+       s << "VkColorBlendAdvancedEXT = {\n";
+       s << "\tadvancedBlendOp = " << value.advancedBlendOp << '\n';
+       s << "\tsrcPremultiplied = " << value.srcPremultiplied << '\n';
+       s << "\tdstPremultiplied = " << value.dstPremultiplied << '\n';
+       s << "\tblendOverlap = " << value.blendOverlap << '\n';
+       s << "\tclampResults = " << value.clampResults << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkRenderPassTransformBeginInfoQCOM& value)
 {
        s << "VkRenderPassTransformBeginInfoQCOM = {\n";
@@ -12552,9 +12965,9 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImage2DViewOf3D
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& value)
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT& value)
 {
-       s << "VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE = {\n";
+       s << "VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tmutableDescriptorType = " << value.mutableDescriptorType << '\n';
@@ -12562,18 +12975,18 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMutableDescript
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeListVALVE& value)
+std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeListEXT& value)
 {
-       s << "VkMutableDescriptorTypeListVALVE = {\n";
+       s << "VkMutableDescriptorTypeListEXT = {\n";
        s << "\tdescriptorTypeCount = " << value.descriptorTypeCount << '\n';
        s << "\tpDescriptorTypes = " << value.pDescriptorTypes << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeCreateInfoVALVE& value)
+std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeCreateInfoEXT& value)
 {
-       s << "VkMutableDescriptorTypeCreateInfoVALVE = {\n";
+       s << "VkMutableDescriptorTypeCreateInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tmutableDescriptorTypeListCount = " << value.mutableDescriptorTypeListCount << '\n';
@@ -12859,6 +13272,16 @@ std::ostream& operator<< (std::ostream& s, const VkMultisampledRenderToSingleSam
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT& value)
+{
+       s << "VkPhysicalDevicePipelineProtectedAccessFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpipelineProtectedAccess = " << value.pipelineProtectedAccess << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkQueueFamilyVideoPropertiesKHR& value)
 {
        s << "VkQueueFamilyVideoPropertiesKHR = {\n";
@@ -12933,14 +13356,14 @@ std::ostream& operator<< (std::ostream& s, const VkVideoCapabilitiesKHR& value)
        s << "VkVideoCapabilitiesKHR = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tcapabilityFlags = " << getVideoCapabilityFlagsKHRStr(value.capabilityFlags) << '\n';
+       s << "\tflags = " << getVideoCapabilityFlagsKHRStr(value.flags) << '\n';
        s << "\tminBitstreamBufferOffsetAlignment = " << value.minBitstreamBufferOffsetAlignment << '\n';
        s << "\tminBitstreamBufferSizeAlignment = " << value.minBitstreamBufferSizeAlignment << '\n';
-       s << "\tvideoPictureExtentGranularity = " << value.videoPictureExtentGranularity << '\n';
-       s << "\tminExtent = " << value.minExtent << '\n';
-       s << "\tmaxExtent = " << value.maxExtent << '\n';
-       s << "\tmaxReferencePicturesSlotsCount = " << value.maxReferencePicturesSlotsCount << '\n';
-       s << "\tmaxReferencePicturesActiveCount = " << value.maxReferencePicturesActiveCount << '\n';
+       s << "\tpictureAccessGranularity = " << value.pictureAccessGranularity << '\n';
+       s << "\tminCodedExtent = " << value.minCodedExtent << '\n';
+       s << "\tmaxCodedExtent = " << value.maxCodedExtent << '\n';
+       s << "\tmaxDpbSlots = " << value.maxDpbSlots << '\n';
+       s << "\tmaxActiveReferencePictures = " << value.maxActiveReferencePictures << '\n';
        s << "\tstdHeaderVersion = " << value.stdHeaderVersion << '\n';
        s << '}';
        return s;
@@ -13037,7 +13460,7 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264ProfileInfoEXT
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n';
-       s << "\tpictureLayout = " << getVideoDecodeH264PictureLayoutFlagsEXTStr(value.pictureLayout) << '\n';
+       s << "\tpictureLayout = " << value.pictureLayout << '\n';
        s << '}';
        return s;
 }
@@ -13047,7 +13470,7 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264CapabilitiesEX
        s << "VkVideoDecodeH264CapabilitiesEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmaxLevel = " << value.maxLevel << '\n';
+       s << "\tmaxLevelIdc = " << value.maxLevelIdc << '\n';
        s << "\tfieldOffsetGranularity = " << value.fieldOffsetGranularity << '\n';
        s << '}';
        return s;
@@ -13058,10 +13481,10 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParamet
        s << "VkVideoDecodeH264SessionParametersAddInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tspsStdCount = " << value.spsStdCount << '\n';
-       s << "\tpSpsStd = " << value.pSpsStd << '\n';
-       s << "\tppsStdCount = " << value.ppsStdCount << '\n';
-       s << "\tpPpsStd = " << value.pPpsStd << '\n';
+       s << "\tstdSPSCount = " << value.stdSPSCount << '\n';
+       s << "\tpStdSPSs = " << value.pStdSPSs << '\n';
+       s << "\tstdPPSCount = " << value.stdPPSCount << '\n';
+       s << "\tpStdPPSs = " << value.pStdPPSs << '\n';
        s << '}';
        return s;
 }
@@ -13071,8 +13494,8 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParamet
        s << "VkVideoDecodeH264SessionParametersCreateInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
-       s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
+       s << "\tmaxStdSPSCount = " << value.maxStdSPSCount << '\n';
+       s << "\tmaxStdPPSCount = " << value.maxStdPPSCount << '\n';
        s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
        s << '}';
        return s;
@@ -13084,8 +13507,8 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264PictureInfoEXT
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n';
-       s << "\tslicesCount = " << value.slicesCount << '\n';
-       s << "\tpSlicesDataOffsets = " << value.pSlicesDataOffsets << '\n';
+       s << "\tsliceCount = " << value.sliceCount << '\n';
+       s << "\tpSliceOffsets = " << value.pSliceOffsets << '\n';
        s << '}';
        return s;
 }
@@ -13100,16 +13523,6 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264DpbSlotInfoEXT
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264MvcInfoEXT& value)
-{
-       s << "VkVideoDecodeH264MvcInfoEXT = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tpStdMvc = " << value.pStdMvc << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265ProfileInfoEXT& value)
 {
        s << "VkVideoDecodeH265ProfileInfoEXT = {\n";
@@ -13125,7 +13538,7 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265CapabilitiesEX
        s << "VkVideoDecodeH265CapabilitiesEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmaxLevel = " << value.maxLevel << '\n';
+       s << "\tmaxLevelIdc = " << value.maxLevelIdc << '\n';
        s << '}';
        return s;
 }
@@ -13135,12 +13548,12 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParamet
        s << "VkVideoDecodeH265SessionParametersAddInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tvpsStdCount = " << value.vpsStdCount << '\n';
-       s << "\tpVpsStd = " << value.pVpsStd << '\n';
-       s << "\tspsStdCount = " << value.spsStdCount << '\n';
-       s << "\tpSpsStd = " << value.pSpsStd << '\n';
-       s << "\tppsStdCount = " << value.ppsStdCount << '\n';
-       s << "\tpPpsStd = " << value.pPpsStd << '\n';
+       s << "\tstdVPSCount = " << value.stdVPSCount << '\n';
+       s << "\tpStdVPSs = " << value.pStdVPSs << '\n';
+       s << "\tstdSPSCount = " << value.stdSPSCount << '\n';
+       s << "\tpStdSPSs = " << value.pStdSPSs << '\n';
+       s << "\tstdPPSCount = " << value.stdPPSCount << '\n';
+       s << "\tpStdPPSs = " << value.pStdPPSs << '\n';
        s << '}';
        return s;
 }
@@ -13150,9 +13563,9 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParamet
        s << "VkVideoDecodeH265SessionParametersCreateInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmaxVpsStdCount = " << value.maxVpsStdCount << '\n';
-       s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
-       s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
+       s << "\tmaxStdVPSCount = " << value.maxStdVPSCount << '\n';
+       s << "\tmaxStdSPSCount = " << value.maxStdSPSCount << '\n';
+       s << "\tmaxStdPPSCount = " << value.maxStdPPSCount << '\n';
        s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
        s << '}';
        return s;
@@ -13164,8 +13577,8 @@ std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265PictureInfoEXT
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
        s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n';
-       s << "\tslicesCount = " << value.slicesCount << '\n';
-       s << "\tpSlicesDataOffsets = " << value.pSlicesDataOffsets << '\n';
+       s << "\tsliceCount = " << value.sliceCount << '\n';
+       s << "\tpSliceOffsets = " << value.pSliceOffsets << '\n';
        s << '}';
        return s;
 }
@@ -13190,9 +13603,9 @@ std::ostream& operator<< (std::ostream& s, const VkVideoSessionCreateInfoKHR& va
        s << "\tpVideoProfile = " << value.pVideoProfile << '\n';
        s << "\tpictureFormat = " << value.pictureFormat << '\n';
        s << "\tmaxCodedExtent = " << value.maxCodedExtent << '\n';
-       s << "\treferencePicturesFormat = " << value.referencePicturesFormat << '\n';
-       s << "\tmaxReferencePicturesSlotsCount = " << value.maxReferencePicturesSlotsCount << '\n';
-       s << "\tmaxReferencePicturesActiveCount = " << value.maxReferencePicturesActiveCount << '\n';
+       s << "\treferencePictureFormat = " << value.referencePictureFormat << '\n';
+       s << "\tmaxDpbSlots = " << value.maxDpbSlots << '\n';
+       s << "\tmaxActiveReferencePictures = " << value.maxActiveReferencePictures << '\n';
        s << "\tpStdHeaderVersion = " << value.pStdHeaderVersion << '\n';
        s << '}';
        return s;
@@ -13352,10 +13765,10 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParamet
        s << "VkVideoEncodeH264SessionParametersAddInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tspsStdCount = " << value.spsStdCount << '\n';
-       s << "\tpSpsStd = " << value.pSpsStd << '\n';
-       s << "\tppsStdCount = " << value.ppsStdCount << '\n';
-       s << "\tpPpsStd = " << value.pPpsStd << '\n';
+       s << "\tstdSPSCount = " << value.stdSPSCount << '\n';
+       s << "\tpStdSPSs = " << value.pStdSPSs << '\n';
+       s << "\tstdPPSCount = " << value.stdPPSCount << '\n';
+       s << "\tpStdPPSs = " << value.pStdPPSs << '\n';
        s << '}';
        return s;
 }
@@ -13365,8 +13778,8 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParamet
        s << "VkVideoEncodeH264SessionParametersCreateInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
-       s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
+       s << "\tmaxStdSPSCount = " << value.maxStdSPSCount << '\n';
+       s << "\tmaxStdPPSCount = " << value.maxStdPPSCount << '\n';
        s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
        s << '}';
        return s;
@@ -13531,12 +13944,12 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParamet
        s << "VkVideoEncodeH265SessionParametersAddInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tvpsStdCount = " << value.vpsStdCount << '\n';
-       s << "\tpVpsStd = " << value.pVpsStd << '\n';
-       s << "\tspsStdCount = " << value.spsStdCount << '\n';
-       s << "\tpSpsStd = " << value.pSpsStd << '\n';
-       s << "\tppsStdCount = " << value.ppsStdCount << '\n';
-       s << "\tpPpsStd = " << value.pPpsStd << '\n';
+       s << "\tstdVPSCount = " << value.stdVPSCount << '\n';
+       s << "\tpStdVPSs = " << value.pStdVPSs << '\n';
+       s << "\tstdSPSCount = " << value.stdSPSCount << '\n';
+       s << "\tpStdSPSs = " << value.pStdSPSs << '\n';
+       s << "\tstdPPSCount = " << value.stdPPSCount << '\n';
+       s << "\tpStdPPSs = " << value.pStdPPSs << '\n';
        s << '}';
        return s;
 }
@@ -13546,9 +13959,9 @@ std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParamet
        s << "VkVideoEncodeH265SessionParametersCreateInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmaxVpsStdCount = " << value.maxVpsStdCount << '\n';
-       s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n';
-       s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n';
+       s << "\tmaxStdVPSCount = " << value.maxStdVPSCount << '\n';
+       s << "\tmaxStdSPSCount = " << value.maxStdSPSCount << '\n';
+       s << "\tmaxStdPPSCount = " << value.maxStdPPSCount << '\n';
        s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n';
        s << '}';
        return s;
@@ -14561,93 +14974,246 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassMergeFee
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkPipelinePropertiesIdentifierEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkMicromapBuildInfoEXT& value)
 {
-       s << "VkPipelinePropertiesIdentifierEXT = {\n";
+       s << "VkMicromapBuildInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tpipelineIdentifier = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineIdentifier)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineIdentifier))) << '\n';
+       s << "\ttype = " << value.type << '\n';
+       s << "\tflags = " << getBuildMicromapFlagsEXTStr(value.flags) << '\n';
+       s << "\tmode = " << value.mode << '\n';
+       s << "\tdstMicromap = " << value.dstMicromap << '\n';
+       s << "\tusageCountsCount = " << value.usageCountsCount << '\n';
+       s << "\tpUsageCounts = " << value.pUsageCounts << '\n';
+       s << "\tppUsageCounts = " << value.ppUsageCounts << '\n';
+       s << "\tdata = " << value.data << '\n';
+       s << "\tscratchData = " << value.scratchData << '\n';
+       s << "\ttriangleArray = " << value.triangleArray << '\n';
+       s << "\ttriangleArrayStride = " << value.triangleArrayStride << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelinePropertiesFeaturesEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkMicromapCreateInfoEXT& value)
 {
-       s << "VkPhysicalDevicePipelinePropertiesFeaturesEXT = {\n";
+       s << "VkMicromapCreateInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tpipelinePropertiesIdentifier = " << value.pipelinePropertiesIdentifier << '\n';
+       s << "\tcreateFlags = " << getMicromapCreateFlagsEXTStr(value.createFlags) << '\n';
+       s << "\tbuffer = " << value.buffer << '\n';
+       s << "\toffset = " << value.offset << '\n';
+       s << "\tsize = " << value.size << '\n';
+       s << "\ttype = " << value.type << '\n';
+       s << "\tdeviceAddress = " << value.deviceAddress << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& value)
+std::ostream& operator<< (std::ostream& s, const VkMicromapVersionInfoEXT& value)
 {
-       s << "VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = {\n";
+       s << "VkMicromapVersionInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tshaderEarlyAndLateFragmentTests = " << value.shaderEarlyAndLateFragmentTests << '\n';
+       s << "\tpVersionData = " << value.pVersionData << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkExportMetalObjectCreateInfoEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkCopyMicromapInfoEXT& value)
 {
-       s << "VkExportMetalObjectCreateInfoEXT = {\n";
+       s << "VkCopyMicromapInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\texportObjectType = " << value.exportObjectType << '\n';
+       s << "\tsrc = " << value.src << '\n';
+       s << "\tdst = " << value.dst << '\n';
+       s << "\tmode = " << value.mode << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkExportMetalObjectsInfoEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkCopyMicromapToMemoryInfoEXT& value)
 {
-       s << "VkExportMetalObjectsInfoEXT = {\n";
+       s << "VkCopyMicromapToMemoryInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsrc = " << value.src << '\n';
+       s << "\tdst = " << value.dst << '\n';
+       s << "\tmode = " << value.mode << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkExportMetalDeviceInfoEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkCopyMemoryToMicromapInfoEXT& value)
 {
-       s << "VkExportMetalDeviceInfoEXT = {\n";
+       s << "VkCopyMemoryToMicromapInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmtlDevice = " << value.mtlDevice << '\n';
+       s << "\tsrc = " << value.src << '\n';
+       s << "\tdst = " << value.dst << '\n';
+       s << "\tmode = " << value.mode << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkExportMetalCommandQueueInfoEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkMicromapBuildSizesInfoEXT& value)
 {
-       s << "VkExportMetalCommandQueueInfoEXT = {\n";
+       s << "VkMicromapBuildSizesInfoEXT = {\n";
        s << "\tsType = " << value.sType << '\n';
        s << "\tpNext = " << value.pNext << '\n';
-       s << "\tqueue = " << value.queue << '\n';
-       s << "\tmtlCommandQueue = " << value.mtlCommandQueue << '\n';
+       s << "\tmicromapSize = " << value.micromapSize << '\n';
+       s << "\tbuildScratchSize = " << value.buildScratchSize << '\n';
+       s << "\tdiscardable = " << value.discardable << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkExportMetalBufferInfoEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkMicromapUsageEXT& value)
 {
-       s << "VkExportMetalBufferInfoEXT = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmemory = " << value.memory << '\n';
-       s << "\tmtlBuffer = " << value.mtlBuffer << '\n';
+       s << "VkMicromapUsageEXT = {\n";
+       s << "\tcount = " << value.count << '\n';
+       s << "\tsubdivisionLevel = " << value.subdivisionLevel << '\n';
+       s << "\tformat = " << value.format << '\n';
        s << '}';
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkImportMetalBufferInfoEXT& value)
+std::ostream& operator<< (std::ostream& s, const VkMicromapTriangleEXT& value)
 {
-       s << "VkImportMetalBufferInfoEXT = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tmtlBuffer = " << value.mtlBuffer << '\n';
+       s << "VkMicromapTriangleEXT = {\n";
+       s << "\tdataOffset = " << value.dataOffset << '\n';
+       s << "\tsubdivisionLevel = " << value.subdivisionLevel << '\n';
+       s << "\tformat = " << value.format << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceOpacityMicromapFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceOpacityMicromapFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tmicromap = " << value.micromap << '\n';
+       s << "\tmicromapCaptureReplay = " << value.micromapCaptureReplay << '\n';
+       s << "\tmicromapHostCommands = " << value.micromapHostCommands << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceOpacityMicromapPropertiesEXT& value)
+{
+       s << "VkPhysicalDeviceOpacityMicromapPropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tmaxOpacity2StateSubdivisionLevel = " << value.maxOpacity2StateSubdivisionLevel << '\n';
+       s << "\tmaxOpacity4StateSubdivisionLevel = " << value.maxOpacity4StateSubdivisionLevel << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureTrianglesOpacityMicromapEXT& value)
+{
+       s << "VkAccelerationStructureTrianglesOpacityMicromapEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tindexType = " << value.indexType << '\n';
+       s << "\tindexBuffer = " << value.indexBuffer << '\n';
+       s << "\tindexStride = " << value.indexStride << '\n';
+       s << "\tbaseTriangle = " << value.baseTriangle << '\n';
+       s << "\tusageCountsCount = " << value.usageCountsCount << '\n';
+       s << "\tpUsageCounts = " << value.pUsageCounts << '\n';
+       s << "\tppUsageCounts = " << value.ppUsageCounts << '\n';
+       s << "\tmicromap = " << value.micromap << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPipelinePropertiesIdentifierEXT& value)
+{
+       s << "VkPipelinePropertiesIdentifierEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpipelineIdentifier = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineIdentifier)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineIdentifier))) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelinePropertiesFeaturesEXT& value)
+{
+       s << "VkPhysicalDevicePipelinePropertiesFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpipelinePropertiesIdentifier = " << value.pipelinePropertiesIdentifier << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& value)
+{
+       s << "VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tshaderEarlyAndLateFragmentTests = " << value.shaderEarlyAndLateFragmentTests << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkExportMetalObjectCreateInfoEXT& value)
+{
+       s << "VkExportMetalObjectCreateInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\texportObjectType = " << value.exportObjectType << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkExportMetalObjectsInfoEXT& value)
+{
+       s << "VkExportMetalObjectsInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkExportMetalDeviceInfoEXT& value)
+{
+       s << "VkExportMetalDeviceInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tmtlDevice = " << value.mtlDevice << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkExportMetalCommandQueueInfoEXT& value)
+{
+       s << "VkExportMetalCommandQueueInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tqueue = " << value.queue << '\n';
+       s << "\tmtlCommandQueue = " << value.mtlCommandQueue << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkExportMetalBufferInfoEXT& value)
+{
+       s << "VkExportMetalBufferInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tmemory = " << value.memory << '\n';
+       s << "\tmtlBuffer = " << value.mtlBuffer << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImportMetalBufferInfoEXT& value)
+{
+       s << "VkImportMetalBufferInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tmtlBuffer = " << value.mtlBuffer << '\n';
        s << '}';
        return s;
 }
@@ -14866,6 +15432,214 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClampZeroO
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAddressBindingReportFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceAddressBindingReportFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\treportAddressBinding = " << value.reportAddressBinding << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDeviceAddressBindingCallbackDataEXT& value)
+{
+       s << "VkDeviceAddressBindingCallbackDataEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getDeviceAddressBindingFlagsEXTStr(value.flags) << '\n';
+       s << "\tbaseAddress = " << value.baseAddress << '\n';
+       s << "\tsize = " << value.size << '\n';
+       s << "\tbindingType = " << value.bindingType << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceOpticalFlowFeaturesNV& value)
+{
+       s << "VkPhysicalDeviceOpticalFlowFeaturesNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\topticalFlow = " << value.opticalFlow << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceOpticalFlowPropertiesNV& value)
+{
+       s << "VkPhysicalDeviceOpticalFlowPropertiesNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsupportedOutputGridSizes = " << getOpticalFlowGridSizeFlagsNVStr(value.supportedOutputGridSizes) << '\n';
+       s << "\tsupportedHintGridSizes = " << getOpticalFlowGridSizeFlagsNVStr(value.supportedHintGridSizes) << '\n';
+       s << "\thintSupported = " << value.hintSupported << '\n';
+       s << "\tcostSupported = " << value.costSupported << '\n';
+       s << "\tbidirectionalFlowSupported = " << value.bidirectionalFlowSupported << '\n';
+       s << "\tglobalFlowSupported = " << value.globalFlowSupported << '\n';
+       s << "\tminWidth = " << value.minWidth << '\n';
+       s << "\tminHeight = " << value.minHeight << '\n';
+       s << "\tmaxWidth = " << value.maxWidth << '\n';
+       s << "\tmaxHeight = " << value.maxHeight << '\n';
+       s << "\tmaxNumRegionsOfInterest = " << value.maxNumRegionsOfInterest << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOpticalFlowImageFormatInfoNV& value)
+{
+       s << "VkOpticalFlowImageFormatInfoNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tusage = " << getOpticalFlowUsageFlagsNVStr(value.usage) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOpticalFlowImageFormatPropertiesNV& value)
+{
+       s << "VkOpticalFlowImageFormatPropertiesNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tformat = " << value.format << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOpticalFlowSessionCreateInfoNV& value)
+{
+       s << "VkOpticalFlowSessionCreateInfoNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\twidth = " << value.width << '\n';
+       s << "\theight = " << value.height << '\n';
+       s << "\timageFormat = " << value.imageFormat << '\n';
+       s << "\tflowVectorFormat = " << value.flowVectorFormat << '\n';
+       s << "\tcostFormat = " << value.costFormat << '\n';
+       s << "\toutputGridSize = " << getOpticalFlowGridSizeFlagsNVStr(value.outputGridSize) << '\n';
+       s << "\thintGridSize = " << getOpticalFlowGridSizeFlagsNVStr(value.hintGridSize) << '\n';
+       s << "\tperformanceLevel = " << value.performanceLevel << '\n';
+       s << "\tflags = " << getOpticalFlowSessionCreateFlagsNVStr(value.flags) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOpticalFlowSessionCreatePrivateDataInfoNV& value)
+{
+       s << "VkOpticalFlowSessionCreatePrivateDataInfoNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tid = " << value.id << '\n';
+       s << "\tsize = " << value.size << '\n';
+       s << "\tpPrivateData = " << value.pPrivateData << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOpticalFlowExecuteInfoNV& value)
+{
+       s << "VkOpticalFlowExecuteInfoNV = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getOpticalFlowExecuteFlagsNVStr(value.flags) << '\n';
+       s << "\tregionCount = " << value.regionCount << '\n';
+       s << "\tpRegions = " << value.pRegions << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFaultFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceFaultFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdeviceFault = " << value.deviceFault << '\n';
+       s << "\tdeviceFaultVendorBinary = " << value.deviceFaultVendorBinary << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDeviceFaultAddressInfoEXT& value)
+{
+       s << "VkDeviceFaultAddressInfoEXT = {\n";
+       s << "\taddressType = " << value.addressType << '\n';
+       s << "\treportedAddress = " << value.reportedAddress << '\n';
+       s << "\taddressPrecision = " << value.addressPrecision << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDeviceFaultVendorInfoEXT& value)
+{
+       s << "VkDeviceFaultVendorInfoEXT = {\n";
+       s << "\tdescription = " << (const char*)value.description << '\n';
+       s << "\tvendorFaultCode = " << value.vendorFaultCode << '\n';
+       s << "\tvendorFaultData = " << value.vendorFaultData << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDeviceFaultCountsEXT& value)
+{
+       s << "VkDeviceFaultCountsEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\taddressInfoCount = " << value.addressInfoCount << '\n';
+       s << "\tvendorInfoCount = " << value.vendorInfoCount << '\n';
+       s << "\tvendorBinarySize = " << value.vendorBinarySize << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDeviceFaultInfoEXT& value)
+{
+       s << "VkDeviceFaultInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdescription = " << (const char*)value.description << '\n';
+       s << "\tpAddressInfos = " << value.pAddressInfos << '\n';
+       s << "\tpVendorInfos = " << value.pVendorInfos << '\n';
+       s << "\tpVendorBinaryData = " << value.pVendorBinaryData << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDeviceFaultVendorBinaryHeaderVersionOneEXT& value)
+{
+       s << "VkDeviceFaultVendorBinaryHeaderVersionOneEXT = {\n";
+       s << "\theaderSize = " << value.headerSize << '\n';
+       s << "\theaderVersion = " << value.headerVersion << '\n';
+       s << "\tvendorID = " << value.vendorID << '\n';
+       s << "\tdeviceID = " << value.deviceID << '\n';
+       s << "\tdriverVersion = " << value.driverVersion << '\n';
+       s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n';
+       s << "\tapplicationNameOffset = " << value.applicationNameOffset << '\n';
+       s << "\tapplicationVersion = " << value.applicationVersion << '\n';
+       s << "\tengineNameOffset = " << value.engineNameOffset << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM& value)
+{
+       s << "VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tshaderCoreCount = " << value.shaderCoreCount << '\n';
+       s << "\tshaderWarpsPerCore = " << value.shaderWarpsPerCore << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM& value)
+{
+       s << "VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tshaderCoreBuiltins = " << value.shaderCoreBuiltins << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsVuiFlags& value)
 {
        s << "StdVideoH264SpsVuiFlags = {\n";
@@ -14891,6 +15665,7 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH264HrdParameters& valu
        s << "\tcpb_cnt_minus1 = " << value.cpb_cnt_minus1 << '\n';
        s << "\tbit_rate_scale = " << value.bit_rate_scale << '\n';
        s << "\tcpb_size_scale = " << value.cpb_size_scale << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
        s << "\tbit_rate_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_value_minus1), DE_ARRAY_END(value.bit_rate_value_minus1)) << '\n';
        s << "\tcpb_size_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_value_minus1), DE_ARRAY_END(value.cpb_size_value_minus1)) << '\n';
        s << "\tcbr_flag = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.cbr_flag)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.cbr_flag))) << '\n';
@@ -14910,14 +15685,17 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSe
        s << "\tsar_width = " << value.sar_width << '\n';
        s << "\tsar_height = " << value.sar_height << '\n';
        s << "\tvideo_format = " << value.video_format << '\n';
-       s << "\tcolor_primaries = " << value.color_primaries << '\n';
+       s << "\tcolour_primaries = " << value.colour_primaries << '\n';
        s << "\ttransfer_characteristics = " << value.transfer_characteristics << '\n';
        s << "\tmatrix_coefficients = " << value.matrix_coefficients << '\n';
        s << "\tnum_units_in_tick = " << value.num_units_in_tick << '\n';
        s << "\ttime_scale = " << value.time_scale << '\n';
-       s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
        s << "\tmax_num_reorder_frames = " << value.max_num_reorder_frames << '\n';
        s << "\tmax_dec_frame_buffering = " << value.max_dec_frame_buffering << '\n';
+       s << "\tchroma_sample_loc_type_top_field = " << value.chroma_sample_loc_type_top_field << '\n';
+       s << "\tchroma_sample_loc_type_bottom_field = " << value.chroma_sample_loc_type_bottom_field << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
        s << '}';
        return s;
 }
@@ -14962,23 +15740,25 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSe
        s << "\tflags = " << value.flags << '\n';
        s << "\tprofile_idc = " << value.profile_idc << '\n';
        s << "\tlevel_idc = " << value.level_idc << '\n';
-       s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
        s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n';
+       s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
        s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n';
        s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n';
        s << "\tlog2_max_frame_num_minus4 = " << value.log2_max_frame_num_minus4 << '\n';
        s << "\tpic_order_cnt_type = " << value.pic_order_cnt_type << '\n';
-       s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n';
        s << "\toffset_for_non_ref_pic = " << value.offset_for_non_ref_pic << '\n';
        s << "\toffset_for_top_to_bottom_field = " << value.offset_for_top_to_bottom_field << '\n';
+       s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n';
        s << "\tnum_ref_frames_in_pic_order_cnt_cycle = " << value.num_ref_frames_in_pic_order_cnt_cycle << '\n';
        s << "\tmax_num_ref_frames = " << value.max_num_ref_frames << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
        s << "\tpic_width_in_mbs_minus1 = " << value.pic_width_in_mbs_minus1 << '\n';
        s << "\tpic_height_in_map_units_minus1 = " << value.pic_height_in_map_units_minus1 << '\n';
        s << "\tframe_crop_left_offset = " << value.frame_crop_left_offset << '\n';
        s << "\tframe_crop_right_offset = " << value.frame_crop_right_offset << '\n';
        s << "\tframe_crop_top_offset = " << value.frame_crop_top_offset << '\n';
        s << "\tframe_crop_bottom_offset = " << value.frame_crop_bottom_offset << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
        s << "\tpOffsetForRefFrame = " << value.pOffsetForRefFrame << '\n';
        s << "\tpScalingLists = " << value.pScalingLists << '\n';
        s << "\tpSequenceParameterSetVui = " << value.pSequenceParameterSetVui << '\n';
@@ -14993,9 +15773,8 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH264PpsFlags& value)
        s << "\tredundant_pic_cnt_present_flag = " << value.redundant_pic_cnt_present_flag << '\n';
        s << "\tconstrained_intra_pred_flag = " << value.constrained_intra_pred_flag << '\n';
        s << "\tdeblocking_filter_control_present_flag = " << value.deblocking_filter_control_present_flag << '\n';
-       s << "\tweighted_bipred_idc_flag = " << value.weighted_bipred_idc_flag << '\n';
        s << "\tweighted_pred_flag = " << value.weighted_pred_flag << '\n';
-       s << "\tpic_order_present_flag = " << value.pic_order_present_flag << '\n';
+       s << "\tbottom_field_pic_order_in_frame_present_flag = " << value.bottom_field_pic_order_in_frame_present_flag << '\n';
        s << "\tentropy_coding_mode_flag = " << value.entropy_coding_mode_flag << '\n';
        s << "\tpic_scaling_matrix_present_flag = " << value.pic_scaling_matrix_present_flag << '\n';
        s << '}';
@@ -15039,7 +15818,8 @@ std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfo&
        s << "\tflags = " << value.flags << '\n';
        s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n';
        s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n';
-       s << "\treserved = " << value.reserved << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
        s << "\tframe_num = " << value.frame_num << '\n';
        s << "\tidr_pic_id = " << value.idr_pic_id << '\n';
        s << "\tPicOrderCnt = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PicOrderCnt), DE_ARRAY_END(value.PicOrderCnt)) << '\n';
@@ -15069,46 +15849,6 @@ std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfo
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElementFlags& value)
-{
-       s << "StdVideoDecodeH264MvcElementFlags = {\n";
-       s << "\tnon_idr = " << value.non_idr << '\n';
-       s << "\tanchor_pic = " << value.anchor_pic << '\n';
-       s << "\tinter_view = " << value.inter_view << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElement& value)
-{
-       s << "StdVideoDecodeH264MvcElement = {\n";
-       s << "\tflags = " << value.flags << '\n';
-       s << "\tviewOrderIndex = " << value.viewOrderIndex << '\n';
-       s << "\tviewId = " << value.viewId << '\n';
-       s << "\ttemporalId = " << value.temporalId << '\n';
-       s << "\tpriorityId = " << value.priorityId << '\n';
-       s << "\tnumOfAnchorRefsInL0 = " << value.numOfAnchorRefsInL0 << '\n';
-       s << "\tviewIdOfAnchorRefsInL0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfAnchorRefsInL0), DE_ARRAY_END(value.viewIdOfAnchorRefsInL0)) << '\n';
-       s << "\tnumOfAnchorRefsInL1 = " << value.numOfAnchorRefsInL1 << '\n';
-       s << "\tviewIdOfAnchorRefsInL1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfAnchorRefsInL1), DE_ARRAY_END(value.viewIdOfAnchorRefsInL1)) << '\n';
-       s << "\tnumOfNonAnchorRefsInL0 = " << value.numOfNonAnchorRefsInL0 << '\n';
-       s << "\tviewIdOfNonAnchorRefsInL0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfNonAnchorRefsInL0), DE_ARRAY_END(value.viewIdOfNonAnchorRefsInL0)) << '\n';
-       s << "\tnumOfNonAnchorRefsInL1 = " << value.numOfNonAnchorRefsInL1 << '\n';
-       s << "\tviewIdOfNonAnchorRefsInL1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfNonAnchorRefsInL1), DE_ARRAY_END(value.viewIdOfNonAnchorRefsInL1)) << '\n';
-       s << '}';
-       return s;
-}
-
-std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264Mvc& value)
-{
-       s << "StdVideoDecodeH264Mvc = {\n";
-       s << "\tviewId0 = " << value.viewId0 << '\n';
-       s << "\tmvcElementCount = " << value.mvcElementCount << '\n';
-       s << "\tpMvcElements = " << value.pMvcElements << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264WeightTableFlags& value)
 {
        s << "StdVideoEncodeH264WeightTableFlags = {\n";
@@ -15256,6 +15996,28 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeader&
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const StdVideoH265ProfileTierLevelFlags& value)
+{
+       s << "StdVideoH265ProfileTierLevelFlags = {\n";
+       s << "\tgeneral_tier_flag = " << value.general_tier_flag << '\n';
+       s << "\tgeneral_progressive_source_flag = " << value.general_progressive_source_flag << '\n';
+       s << "\tgeneral_interlaced_source_flag = " << value.general_interlaced_source_flag << '\n';
+       s << "\tgeneral_non_packed_constraint_flag = " << value.general_non_packed_constraint_flag << '\n';
+       s << "\tgeneral_frame_only_constraint_flag = " << value.general_frame_only_constraint_flag << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const StdVideoH265ProfileTierLevel& value)
+{
+       s << "StdVideoH265ProfileTierLevel = {\n";
+       s << "\tflags = " << value.flags << '\n';
+       s << "\tgeneral_profile_idc = " << value.general_profile_idc << '\n';
+       s << "\tgeneral_level_idc = " << value.general_level_idc << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const StdVideoH265DecPicBufMgr& value)
 {
        s << "StdVideoH265DecPicBufMgr = {\n";
@@ -15307,8 +16069,9 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdParameters& valu
        s << "\tdpb_output_delay_length_minus1 = " << value.dpb_output_delay_length_minus1 << '\n';
        s << "\tcpb_cnt_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.cpb_cnt_minus1)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.cpb_cnt_minus1))) << '\n';
        s << "\telemental_duration_in_tc_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.elemental_duration_in_tc_minus1), DE_ARRAY_END(value.elemental_duration_in_tc_minus1)) << '\n';
-       s << "\tpSubLayerHrdParametersNal = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pSubLayerHrdParametersNal), DE_ARRAY_END(value.pSubLayerHrdParametersNal)) << '\n';
-       s << "\tpSubLayerHrdParametersVcl = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pSubLayerHrdParametersVcl), DE_ARRAY_END(value.pSubLayerHrdParametersVcl)) << '\n';
+       s << "\treserved = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.reserved), DE_ARRAY_END(value.reserved)) << '\n';
+       s << "\tpSubLayerHrdParametersNal = " << value.pSubLayerHrdParametersNal << '\n';
+       s << "\tpSubLayerHrdParametersVcl = " << value.pSubLayerHrdParametersVcl << '\n';
        s << '}';
        return s;
 }
@@ -15330,11 +16093,15 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265VideoParameterSet&
        s << "\tflags = " << value.flags << '\n';
        s << "\tvps_video_parameter_set_id = " << value.vps_video_parameter_set_id << '\n';
        s << "\tvps_max_sub_layers_minus1 = " << value.vps_max_sub_layers_minus1 << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
        s << "\tvps_num_units_in_tick = " << value.vps_num_units_in_tick << '\n';
        s << "\tvps_time_scale = " << value.vps_time_scale << '\n';
        s << "\tvps_num_ticks_poc_diff_one_minus1 = " << value.vps_num_ticks_poc_diff_one_minus1 << '\n';
+       s << "\treserved3 = " << value.reserved3 << '\n';
        s << "\tpDecPicBufMgr = " << value.pDecPicBufMgr << '\n';
        s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
+       s << "\tpProfileTierLevel = " << value.pProfileTierLevel << '\n';
        s << '}';
        return s;
 }
@@ -15352,6 +16119,45 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265ScalingLists& value
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const StdVideoH265ShortTermRefPicSetFlags& value)
+{
+       s << "StdVideoH265ShortTermRefPicSetFlags = {\n";
+       s << "\tinter_ref_pic_set_prediction_flag = " << value.inter_ref_pic_set_prediction_flag << '\n';
+       s << "\tdelta_rps_sign = " << value.delta_rps_sign << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const StdVideoH265ShortTermRefPicSet& value)
+{
+       s << "StdVideoH265ShortTermRefPicSet = {\n";
+       s << "\tflags = " << value.flags << '\n';
+       s << "\tdelta_idx_minus1 = " << value.delta_idx_minus1 << '\n';
+       s << "\tuse_delta_flag = " << value.use_delta_flag << '\n';
+       s << "\tabs_delta_rps_minus1 = " << value.abs_delta_rps_minus1 << '\n';
+       s << "\tused_by_curr_pic_flag = " << value.used_by_curr_pic_flag << '\n';
+       s << "\tused_by_curr_pic_s0_flag = " << value.used_by_curr_pic_s0_flag << '\n';
+       s << "\tused_by_curr_pic_s1_flag = " << value.used_by_curr_pic_s1_flag << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
+       s << "\treserved3 = " << value.reserved3 << '\n';
+       s << "\tnum_negative_pics = " << value.num_negative_pics << '\n';
+       s << "\tnum_positive_pics = " << value.num_positive_pics << '\n';
+       s << "\tdelta_poc_s0_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_poc_s0_minus1), DE_ARRAY_END(value.delta_poc_s0_minus1)) << '\n';
+       s << "\tdelta_poc_s1_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_poc_s1_minus1), DE_ARRAY_END(value.delta_poc_s1_minus1)) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const StdVideoH265LongTermRefPicsSps& value)
+{
+       s << "StdVideoH265LongTermRefPicsSps = {\n";
+       s << "\tused_by_curr_pic_lt_sps_flag = " << value.used_by_curr_pic_lt_sps_flag << '\n';
+       s << "\tlt_ref_pic_poc_lsb_sps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.lt_ref_pic_poc_lsb_sps), DE_ARRAY_END(value.lt_ref_pic_poc_lsb_sps)) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsVuiFlags& value)
 {
        s << "StdVideoH265SpsVuiFlags = {\n";
@@ -15390,6 +16196,8 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSe
        s << "\tmatrix_coeffs = " << value.matrix_coeffs << '\n';
        s << "\tchroma_sample_loc_type_top_field = " << value.chroma_sample_loc_type_top_field << '\n';
        s << "\tchroma_sample_loc_type_bottom_field = " << value.chroma_sample_loc_type_bottom_field << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
        s << "\tdef_disp_win_left_offset = " << value.def_disp_win_left_offset << '\n';
        s << "\tdef_disp_win_right_offset = " << value.def_disp_win_right_offset << '\n';
        s << "\tdef_disp_win_top_offset = " << value.def_disp_win_top_offset << '\n';
@@ -15397,12 +16205,13 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSe
        s << "\tvui_num_units_in_tick = " << value.vui_num_units_in_tick << '\n';
        s << "\tvui_time_scale = " << value.vui_time_scale << '\n';
        s << "\tvui_num_ticks_poc_diff_one_minus1 = " << value.vui_num_ticks_poc_diff_one_minus1 << '\n';
-       s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
        s << "\tmin_spatial_segmentation_idc = " << value.min_spatial_segmentation_idc << '\n';
+       s << "\treserved3 = " << value.reserved3 << '\n';
        s << "\tmax_bytes_per_pic_denom = " << value.max_bytes_per_pic_denom << '\n';
        s << "\tmax_bits_per_min_cu_denom = " << value.max_bits_per_min_cu_denom << '\n';
        s << "\tlog2_max_mv_length_horizontal = " << value.log2_max_mv_length_horizontal << '\n';
        s << "\tlog2_max_mv_length_vertical = " << value.log2_max_mv_length_vertical << '\n';
+       s << "\tpHrdParameters = " << value.pHrdParameters << '\n';
        s << '}';
        return s;
 }
@@ -15420,6 +16229,8 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsFlags& value)
        s << "StdVideoH265SpsFlags = {\n";
        s << "\tsps_temporal_id_nesting_flag = " << value.sps_temporal_id_nesting_flag << '\n';
        s << "\tseparate_colour_plane_flag = " << value.separate_colour_plane_flag << '\n';
+       s << "\tconformance_window_flag = " << value.conformance_window_flag << '\n';
+       s << "\tsps_sub_layer_ordering_info_present_flag = " << value.sps_sub_layer_ordering_info_present_flag << '\n';
        s << "\tscaling_list_enabled_flag = " << value.scaling_list_enabled_flag << '\n';
        s << "\tsps_scaling_list_data_present_flag = " << value.sps_scaling_list_data_present_flag << '\n';
        s << "\tamp_enabled_flag = " << value.amp_enabled_flag << '\n';
@@ -15444,7 +16255,7 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsFlags& value)
        s << "\tsps_scc_extension_flag = " << value.sps_scc_extension_flag << '\n';
        s << "\tsps_curr_pic_ref_enabled_flag = " << value.sps_curr_pic_ref_enabled_flag << '\n';
        s << "\tpalette_mode_enabled_flag = " << value.palette_mode_enabled_flag << '\n';
-       s << "\tsps_palette_predictor_initializer_present_flag = " << value.sps_palette_predictor_initializer_present_flag << '\n';
+       s << "\tsps_palette_predictor_initializers_present_flag = " << value.sps_palette_predictor_initializers_present_flag << '\n';
        s << "\tintra_boundary_filtering_disabled_flag = " << value.intra_boundary_filtering_disabled_flag << '\n';
        s << '}';
        return s;
@@ -15454,14 +16265,12 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSe
 {
        s << "StdVideoH265SequenceParameterSet = {\n";
        s << "\tflags = " << value.flags << '\n';
-       s << "\tprofile_idc = " << value.profile_idc << '\n';
-       s << "\tlevel_idc = " << value.level_idc << '\n';
+       s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n';
        s << "\tpic_width_in_luma_samples = " << value.pic_width_in_luma_samples << '\n';
        s << "\tpic_height_in_luma_samples = " << value.pic_height_in_luma_samples << '\n';
        s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n';
        s << "\tsps_max_sub_layers_minus1 = " << value.sps_max_sub_layers_minus1 << '\n';
        s << "\tsps_seq_parameter_set_id = " << value.sps_seq_parameter_set_id << '\n';
-       s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n';
        s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n';
        s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n';
        s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n';
@@ -15477,17 +16286,22 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSe
        s << "\tpcm_sample_bit_depth_chroma_minus1 = " << value.pcm_sample_bit_depth_chroma_minus1 << '\n';
        s << "\tlog2_min_pcm_luma_coding_block_size_minus3 = " << value.log2_min_pcm_luma_coding_block_size_minus3 << '\n';
        s << "\tlog2_diff_max_min_pcm_luma_coding_block_size = " << value.log2_diff_max_min_pcm_luma_coding_block_size << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
+       s << "\tpalette_max_size = " << value.palette_max_size << '\n';
+       s << "\tdelta_palette_max_predictor_size = " << value.delta_palette_max_predictor_size << '\n';
+       s << "\tmotion_vector_resolution_control_idc = " << value.motion_vector_resolution_control_idc << '\n';
+       s << "\tsps_num_palette_predictor_initializers_minus1 = " << value.sps_num_palette_predictor_initializers_minus1 << '\n';
        s << "\tconf_win_left_offset = " << value.conf_win_left_offset << '\n';
        s << "\tconf_win_right_offset = " << value.conf_win_right_offset << '\n';
        s << "\tconf_win_top_offset = " << value.conf_win_top_offset << '\n';
        s << "\tconf_win_bottom_offset = " << value.conf_win_bottom_offset << '\n';
+       s << "\tpProfileTierLevel = " << value.pProfileTierLevel << '\n';
        s << "\tpDecPicBufMgr = " << value.pDecPicBufMgr << '\n';
        s << "\tpScalingLists = " << value.pScalingLists << '\n';
+       s << "\tpShortTermRefPicSet = " << value.pShortTermRefPicSet << '\n';
+       s << "\tpLongTermRefPicsSps = " << value.pLongTermRefPicsSps << '\n';
        s << "\tpSequenceParameterSetVui = " << value.pSequenceParameterSetVui << '\n';
-       s << "\tpalette_max_size = " << value.palette_max_size << '\n';
-       s << "\tdelta_palette_max_predictor_size = " << value.delta_palette_max_predictor_size << '\n';
-       s << "\tmotion_vector_resolution_control_idc = " << value.motion_vector_resolution_control_idc << '\n';
-       s << "\tsps_num_palette_predictor_initializer_minus1 = " << value.sps_num_palette_predictor_initializer_minus1 << '\n';
        s << "\tpPredictorPaletteEntries = " << value.pPredictorPaletteEntries << '\n';
        s << '}';
        return s;
@@ -15524,7 +16338,7 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265PpsFlags& value)
        s << "\tpps_curr_pic_ref_enabled_flag = " << value.pps_curr_pic_ref_enabled_flag << '\n';
        s << "\tresidual_adaptive_colour_transform_enabled_flag = " << value.residual_adaptive_colour_transform_enabled_flag << '\n';
        s << "\tpps_slice_act_qp_offsets_present_flag = " << value.pps_slice_act_qp_offsets_present_flag << '\n';
-       s << "\tpps_palette_predictor_initializer_present_flag = " << value.pps_palette_predictor_initializer_present_flag << '\n';
+       s << "\tpps_palette_predictor_initializers_present_flag = " << value.pps_palette_predictor_initializers_present_flag << '\n';
        s << "\tmonochrome_palette_flag = " << value.monochrome_palette_flag << '\n';
        s << "\tpps_range_extension_flag = " << value.pps_range_extension_flag << '\n';
        s << '}';
@@ -15537,6 +16351,7 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet
        s << "\tflags = " << value.flags << '\n';
        s << "\tpps_pic_parameter_set_id = " << value.pps_pic_parameter_set_id << '\n';
        s << "\tpps_seq_parameter_set_id = " << value.pps_seq_parameter_set_id << '\n';
+       s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n';
        s << "\tnum_extra_slice_header_bits = " << value.num_extra_slice_header_bits << '\n';
        s << "\tnum_ref_idx_l0_default_active_minus1 = " << value.num_ref_idx_l0_default_active_minus1 << '\n';
        s << "\tnum_ref_idx_l1_default_active_minus1 = " << value.num_ref_idx_l1_default_active_minus1 << '\n';
@@ -15544,14 +16359,9 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet
        s << "\tdiff_cu_qp_delta_depth = " << value.diff_cu_qp_delta_depth << '\n';
        s << "\tpps_cb_qp_offset = " << value.pps_cb_qp_offset << '\n';
        s << "\tpps_cr_qp_offset = " << value.pps_cr_qp_offset << '\n';
-       s << "\tnum_tile_columns_minus1 = " << value.num_tile_columns_minus1 << '\n';
-       s << "\tnum_tile_rows_minus1 = " << value.num_tile_rows_minus1 << '\n';
-       s << "\tcolumn_width_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.column_width_minus1), DE_ARRAY_END(value.column_width_minus1)) << '\n';
-       s << "\trow_height_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.row_height_minus1), DE_ARRAY_END(value.row_height_minus1)) << '\n';
        s << "\tpps_beta_offset_div2 = " << value.pps_beta_offset_div2 << '\n';
        s << "\tpps_tc_offset_div2 = " << value.pps_tc_offset_div2 << '\n';
        s << "\tlog2_parallel_merge_level_minus2 = " << value.log2_parallel_merge_level_minus2 << '\n';
-       s << "\tpScalingLists = " << value.pScalingLists << '\n';
        s << "\tlog2_max_transform_skip_block_size_minus2 = " << value.log2_max_transform_skip_block_size_minus2 << '\n';
        s << "\tdiff_cu_chroma_qp_offset_depth = " << value.diff_cu_chroma_qp_offset_depth << '\n';
        s << "\tchroma_qp_offset_list_len_minus1 = " << value.chroma_qp_offset_list_len_minus1 << '\n';
@@ -15561,10 +16371,18 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet
        s << "\tlog2_sao_offset_scale_chroma = " << value.log2_sao_offset_scale_chroma << '\n';
        s << "\tpps_act_y_qp_offset_plus5 = " << value.pps_act_y_qp_offset_plus5 << '\n';
        s << "\tpps_act_cb_qp_offset_plus5 = " << value.pps_act_cb_qp_offset_plus5 << '\n';
-       s << "\tpps_act_cr_qp_offset_plus5 = " << value.pps_act_cr_qp_offset_plus5 << '\n';
-       s << "\tpps_num_palette_predictor_initializer = " << value.pps_num_palette_predictor_initializer << '\n';
+       s << "\tpps_act_cr_qp_offset_plus3 = " << value.pps_act_cr_qp_offset_plus3 << '\n';
+       s << "\tpps_num_palette_predictor_initializers = " << value.pps_num_palette_predictor_initializers << '\n';
        s << "\tluma_bit_depth_entry_minus8 = " << value.luma_bit_depth_entry_minus8 << '\n';
        s << "\tchroma_bit_depth_entry_minus8 = " << value.chroma_bit_depth_entry_minus8 << '\n';
+       s << "\tnum_tile_columns_minus1 = " << value.num_tile_columns_minus1 << '\n';
+       s << "\tnum_tile_rows_minus1 = " << value.num_tile_rows_minus1 << '\n';
+       s << "\treserved1 = " << value.reserved1 << '\n';
+       s << "\treserved2 = " << value.reserved2 << '\n';
+       s << "\tcolumn_width_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.column_width_minus1), DE_ARRAY_END(value.column_width_minus1)) << '\n';
+       s << "\trow_height_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.row_height_minus1), DE_ARRAY_END(value.row_height_minus1)) << '\n';
+       s << "\treserved3 = " << value.reserved3 << '\n';
+       s << "\tpScalingLists = " << value.pScalingLists << '\n';
        s << "\tpPredictorPaletteEntries = " << value.pPredictorPaletteEntries << '\n';
        s << '}';
        return s;
@@ -15588,10 +16406,10 @@ std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfo&
        s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n';
        s << "\tpps_seq_parameter_set_id = " << value.pps_seq_parameter_set_id << '\n';
        s << "\tpps_pic_parameter_set_id = " << value.pps_pic_parameter_set_id << '\n';
-       s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n';
+       s << "\tNumDeltaPocsOfRefRpsIdx = " << value.NumDeltaPocsOfRefRpsIdx << '\n';
        s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n';
        s << "\tNumBitsForSTRefPicSetInSlice = " << value.NumBitsForSTRefPicSetInSlice << '\n';
-       s << "\tNumDeltaPocsOfRefRpsIdx = " << value.NumDeltaPocsOfRefRpsIdx << '\n';
+       s << "\treserved = " << value.reserved << '\n';
        s << "\tRefPicSetStCurrBefore = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.RefPicSetStCurrBefore)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.RefPicSetStCurrBefore))) << '\n';
        s << "\tRefPicSetStCurrAfter = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.RefPicSetStCurrAfter)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.RefPicSetStCurrAfter))) << '\n';
        s << "\tRefPicSetLtCurr = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.RefPicSetLtCurr)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.RefPicSetLtCurr))) << '\n';
@@ -15604,7 +16422,6 @@ std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfo
        s << "StdVideoDecodeH265ReferenceInfoFlags = {\n";
        s << "\tused_for_long_term_reference = " << value.used_for_long_term_reference << '\n';
        s << "\tunused_for_reference = " << value.unused_for_reference << '\n';
-       s << "\tis_non_existing = " << value.is_non_existing << '\n';
        s << '}';
        return s;
 }
@@ -15647,6 +16464,20 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265WeightTable&
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentLongTermRefPics& value)
+{
+       s << "StdVideoEncodeH265SliceSegmentLongTermRefPics = {\n";
+       s << "\tnum_long_term_sps = " << value.num_long_term_sps << '\n';
+       s << "\tnum_long_term_pics = " << value.num_long_term_pics << '\n';
+       s << "\tlt_idx_sps = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.lt_idx_sps)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.lt_idx_sps))) << '\n';
+       s << "\tpoc_lsb_lt = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.poc_lsb_lt)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.poc_lsb_lt))) << '\n';
+       s << "\tused_by_curr_pic_lt_flag = " << value.used_by_curr_pic_lt_flag << '\n';
+       s << "\tdelta_poc_msb_present_flag = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.delta_poc_msb_present_flag)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.delta_poc_msb_present_flag))) << '\n';
+       s << "\tdelta_poc_msb_cycle_lt = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.delta_poc_msb_cycle_lt)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.delta_poc_msb_cycle_lt))) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentHeaderFlags& value)
 {
        s << "StdVideoEncodeH265SliceSegmentHeaderFlags = {\n";
@@ -15661,7 +16492,9 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentH
        s << "\tnum_ref_idx_active_override_flag = " << value.num_ref_idx_active_override_flag << '\n';
        s << "\tmvd_l1_zero_flag = " << value.mvd_l1_zero_flag << '\n';
        s << "\tcabac_init_flag = " << value.cabac_init_flag << '\n';
-       s << "\tslice_deblocking_filter_disable_flag = " << value.slice_deblocking_filter_disable_flag << '\n';
+       s << "\tcu_chroma_qp_offset_enabled_flag = " << value.cu_chroma_qp_offset_enabled_flag << '\n';
+       s << "\tdeblocking_filter_override_flag = " << value.deblocking_filter_override_flag << '\n';
+       s << "\tslice_deblocking_filter_disabled_flag = " << value.slice_deblocking_filter_disabled_flag << '\n';
        s << "\tcollocated_from_l0_flag = " << value.collocated_from_l0_flag << '\n';
        s << "\tslice_loop_filter_across_slices_enabled_flag = " << value.slice_loop_filter_across_slices_enabled_flag << '\n';
        s << '}';
@@ -15673,11 +16506,8 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentH
        s << "StdVideoEncodeH265SliceSegmentHeader = {\n";
        s << "\tflags = " << value.flags << '\n';
        s << "\tslice_type = " << value.slice_type << '\n';
-       s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n';
        s << "\tslice_segment_address = " << value.slice_segment_address << '\n';
        s << "\tshort_term_ref_pic_set_idx = " << value.short_term_ref_pic_set_idx << '\n';
-       s << "\tnum_long_term_sps = " << value.num_long_term_sps << '\n';
-       s << "\tnum_long_term_pics = " << value.num_long_term_pics << '\n';
        s << "\tcollocated_ref_idx = " << value.collocated_ref_idx << '\n';
        s << "\tnum_ref_idx_l0_active_minus1 = " << value.num_ref_idx_l0_active_minus1 << '\n';
        s << "\tnum_ref_idx_l1_active_minus1 = " << value.num_ref_idx_l1_active_minus1 << '\n';
@@ -15689,6 +16519,8 @@ std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceSegmentH
        s << "\tslice_act_y_qp_offset = " << value.slice_act_y_qp_offset << '\n';
        s << "\tslice_act_cb_qp_offset = " << value.slice_act_cb_qp_offset << '\n';
        s << "\tslice_act_cr_qp_offset = " << value.slice_act_cr_qp_offset << '\n';
+       s << "\tpShortTermRefPicSet = " << value.pShortTermRefPicSet << '\n';
+       s << "\tpLongTermRefPics = " << value.pLongTermRefPics << '\n';
        s << "\tpWeightTable = " << value.pWeightTable << '\n';
        s << '}';
        return s;
index ff94668..ebfa846 100644 (file)
@@ -4633,6 +4633,27 @@ struct VkSurfaceCapabilitiesFullScreenExclusiveEXT
        VkBool32                fullScreenExclusiveSupported;
 };
 
+struct VkPhysicalDevicePresentBarrierFeaturesNV
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                presentBarrier;
+};
+
+struct VkSurfaceCapabilitiesPresentBarrierNV
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                presentBarrierSupported;
+};
+
+struct VkSwapchainPresentBarrierCreateInfoNV
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                presentBarrierEnable;
+};
+
 struct VkPhysicalDevicePerformanceQueryFeaturesKHR
 {
        VkStructureType sType;
@@ -5538,6 +5559,69 @@ struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
        VkBool32                extendedDynamicState2PatchControlPoints;
 };
 
+struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                extendedDynamicState3TessellationDomainOrigin;
+       VkBool32                extendedDynamicState3DepthClampEnable;
+       VkBool32                extendedDynamicState3PolygonMode;
+       VkBool32                extendedDynamicState3RasterizationSamples;
+       VkBool32                extendedDynamicState3SampleMask;
+       VkBool32                extendedDynamicState3AlphaToCoverageEnable;
+       VkBool32                extendedDynamicState3AlphaToOneEnable;
+       VkBool32                extendedDynamicState3LogicOpEnable;
+       VkBool32                extendedDynamicState3ColorBlendEnable;
+       VkBool32                extendedDynamicState3ColorBlendEquation;
+       VkBool32                extendedDynamicState3ColorWriteMask;
+       VkBool32                extendedDynamicState3RasterizationStream;
+       VkBool32                extendedDynamicState3ConservativeRasterizationMode;
+       VkBool32                extendedDynamicState3ExtraPrimitiveOverestimationSize;
+       VkBool32                extendedDynamicState3DepthClipEnable;
+       VkBool32                extendedDynamicState3SampleLocationsEnable;
+       VkBool32                extendedDynamicState3ColorBlendAdvanced;
+       VkBool32                extendedDynamicState3ProvokingVertexMode;
+       VkBool32                extendedDynamicState3LineRasterizationMode;
+       VkBool32                extendedDynamicState3LineStippleEnable;
+       VkBool32                extendedDynamicState3DepthClipNegativeOneToOne;
+       VkBool32                extendedDynamicState3ViewportWScalingEnable;
+       VkBool32                extendedDynamicState3ViewportSwizzle;
+       VkBool32                extendedDynamicState3CoverageToColorEnable;
+       VkBool32                extendedDynamicState3CoverageToColorLocation;
+       VkBool32                extendedDynamicState3CoverageModulationMode;
+       VkBool32                extendedDynamicState3CoverageModulationTableEnable;
+       VkBool32                extendedDynamicState3CoverageModulationTable;
+       VkBool32                extendedDynamicState3CoverageReductionMode;
+       VkBool32                extendedDynamicState3RepresentativeFragmentTestEnable;
+       VkBool32                extendedDynamicState3ShadingRateImageEnable;
+};
+
+struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                dynamicPrimitiveTopologyUnrestricted;
+};
+
+struct VkColorBlendEquationEXT
+{
+       VkBlendFactor   srcColorBlendFactor;
+       VkBlendFactor   dstColorBlendFactor;
+       VkBlendOp               colorBlendOp;
+       VkBlendFactor   srcAlphaBlendFactor;
+       VkBlendFactor   dstAlphaBlendFactor;
+       VkBlendOp               alphaBlendOp;
+};
+
+struct VkColorBlendAdvancedEXT
+{
+       VkBlendOp                       advancedBlendOp;
+       VkBool32                        srcPremultiplied;
+       VkBool32                        dstPremultiplied;
+       VkBlendOverlapEXT       blendOverlap;
+       VkBool32                        clampResults;
+};
+
 struct VkRenderPassTransformBeginInfoQCOM
 {
        VkStructureType                                 sType;
@@ -5900,25 +5984,25 @@ struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
        VkBool32                sampler2DViewOf3D;
 };
 
-struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
+struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
 {
        VkStructureType sType;
        void*                   pNext;
        VkBool32                mutableDescriptorType;
 };
 
-struct VkMutableDescriptorTypeListVALVE
+struct VkMutableDescriptorTypeListEXT
 {
        uint32_t                                descriptorTypeCount;
        const VkDescriptorType* pDescriptorTypes;
 };
 
-struct VkMutableDescriptorTypeCreateInfoVALVE
+struct VkMutableDescriptorTypeCreateInfoEXT
 {
        VkStructureType                                                 sType;
        const void*                                                             pNext;
        uint32_t                                                                mutableDescriptorTypeListCount;
-       const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
+       const VkMutableDescriptorTypeListEXT*   pMutableDescriptorTypeLists;
 };
 
 struct VkPhysicalDeviceDepthClipControlFeaturesEXT
@@ -6129,6 +6213,13 @@ struct VkMultisampledRenderToSingleSampledInfoEXT
        VkSampleCountFlagBits   rasterizationSamples;
 };
 
+struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                pipelineProtectedAccess;
+};
+
 struct VkQueueFamilyVideoPropertiesKHR
 {
        VkStructureType                                 sType;
@@ -6184,14 +6275,14 @@ struct VkVideoCapabilitiesKHR
 {
        VkStructureType                         sType;
        void*                                           pNext;
-       VkVideoCapabilityFlagsKHR       capabilityFlags;
+       VkVideoCapabilityFlagsKHR       flags;
        VkDeviceSize                            minBitstreamBufferOffsetAlignment;
        VkDeviceSize                            minBitstreamBufferSizeAlignment;
-       VkExtent2D                                      videoPictureExtentGranularity;
-       VkExtent2D                                      minExtent;
-       VkExtent2D                                      maxExtent;
-       uint32_t                                        maxReferencePicturesSlotsCount;
-       uint32_t                                        maxReferencePicturesActiveCount;
+       VkExtent2D                                      pictureAccessGranularity;
+       VkExtent2D                                      minCodedExtent;
+       VkExtent2D                                      maxCodedExtent;
+       uint32_t                                        maxDpbSlots;
+       uint32_t                                        maxActiveReferencePictures;
        VkExtensionProperties           stdHeaderVersion;
 };
 
@@ -6227,7 +6318,7 @@ struct VkVideoReferenceSlotInfoKHR
 {
        VkStructureType                                                 sType;
        const void*                                                             pNext;
-       int8_t                                                                  slotIndex;
+       int32_t                                                                 slotIndex;
        const VkVideoPictureResourceInfoKHR*    pPictureResource;
 };
 
@@ -6261,18 +6352,18 @@ struct VkVideoDecodeInfoKHR
 
 struct VkVideoDecodeH264ProfileInfoEXT
 {
-       VkStructureType                                                 sType;
-       const void*                                                             pNext;
-       StdVideoH264ProfileIdc                                  stdProfileIdc;
-       VkVideoDecodeH264PictureLayoutFlagsEXT  pictureLayout;
+       VkStructureType                                                         sType;
+       const void*                                                                     pNext;
+       StdVideoH264ProfileIdc                                          stdProfileIdc;
+       VkVideoDecodeH264PictureLayoutFlagBitsEXT       pictureLayout;
 };
 
 struct VkVideoDecodeH264CapabilitiesEXT
 {
-       VkStructureType         sType;
-       void*                           pNext;
-       StdVideoH264Level       maxLevel;
-       VkOffset2D                      fieldOffsetGranularity;
+       VkStructureType                 sType;
+       void*                                   pNext;
+       StdVideoH264LevelIdc    maxLevelIdc;
+       VkOffset2D                              fieldOffsetGranularity;
 };
 
 struct VkVideoDecodeH265ProfileInfoEXT
@@ -6284,9 +6375,9 @@ struct VkVideoDecodeH265ProfileInfoEXT
 
 struct VkVideoDecodeH265CapabilitiesEXT
 {
-       VkStructureType         sType;
-       void*                           pNext;
-       StdVideoH265Level       maxLevel;
+       VkStructureType                 sType;
+       void*                                   pNext;
+       StdVideoH265LevelIdc    maxLevelIdc;
 };
 
 struct VkVideoSessionCreateInfoKHR
@@ -6298,9 +6389,9 @@ struct VkVideoSessionCreateInfoKHR
        const VkVideoProfileInfoKHR*    pVideoProfile;
        VkFormat                                                pictureFormat;
        VkExtent2D                                              maxCodedExtent;
-       VkFormat                                                referencePicturesFormat;
-       uint32_t                                                maxReferencePicturesSlotsCount;
-       uint32_t                                                maxReferencePicturesActiveCount;
+       VkFormat                                                referencePictureFormat;
+       uint32_t                                                maxDpbSlots;
+       uint32_t                                                maxActiveReferencePictures;
        const VkExtensionProperties*    pStdHeaderVersion;
 };
 
@@ -7223,6 +7314,123 @@ struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
        VkBool32                subpassMergeFeedback;
 };
 
+struct VkMicromapCreateInfoEXT
+{
+       VkStructureType                         sType;
+       const void*                                     pNext;
+       VkMicromapCreateFlagsEXT        createFlags;
+       VkBuffer                                        buffer;
+       VkDeviceSize                            offset;
+       VkDeviceSize                            size;
+       VkMicromapTypeEXT                       type;
+       VkDeviceAddress                         deviceAddress;
+};
+
+struct VkMicromapVersionInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       const uint8_t*  pVersionData;
+};
+
+struct VkCopyMicromapInfoEXT
+{
+       VkStructureType                 sType;
+       const void*                             pNext;
+       VkMicromapEXT                   src;
+       VkMicromapEXT                   dst;
+       VkCopyMicromapModeEXT   mode;
+};
+
+struct VkCopyMicromapToMemoryInfoEXT
+{
+       VkStructureType                         sType;
+       const void*                                     pNext;
+       VkMicromapEXT                           src;
+       VkDeviceOrHostAddressKHR        dst;
+       VkCopyMicromapModeEXT           mode;
+};
+
+struct VkCopyMemoryToMicromapInfoEXT
+{
+       VkStructureType                                 sType;
+       const void*                                             pNext;
+       VkDeviceOrHostAddressConstKHR   src;
+       VkMicromapEXT                                   dst;
+       VkCopyMicromapModeEXT                   mode;
+};
+
+struct VkMicromapBuildSizesInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkDeviceSize    micromapSize;
+       VkDeviceSize    buildScratchSize;
+       VkBool32                discardable;
+};
+
+struct VkMicromapUsageEXT
+{
+       uint32_t        count;
+       uint32_t        subdivisionLevel;
+       uint32_t        format;
+};
+
+struct VkMicromapBuildInfoEXT
+{
+       VkStructureType                                         sType;
+       const void*                                                     pNext;
+       VkMicromapTypeEXT                                       type;
+       VkBuildMicromapFlagsEXT                         flags;
+       VkBuildMicromapModeEXT                          mode;
+       VkMicromapEXT                                           dstMicromap;
+       uint32_t                                                        usageCountsCount;
+       const VkMicromapUsageEXT*                       pUsageCounts;
+       const VkMicromapUsageEXT* const*        ppUsageCounts;
+       VkDeviceOrHostAddressConstKHR           data;
+       VkDeviceOrHostAddressKHR                        scratchData;
+       VkDeviceOrHostAddressConstKHR           triangleArray;
+       VkDeviceSize                                            triangleArrayStride;
+};
+
+struct VkMicromapTriangleEXT
+{
+       uint32_t        dataOffset;
+       uint16_t        subdivisionLevel;
+       uint16_t        format;
+};
+
+struct VkPhysicalDeviceOpacityMicromapFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                micromap;
+       VkBool32                micromapCaptureReplay;
+       VkBool32                micromapHostCommands;
+};
+
+struct VkPhysicalDeviceOpacityMicromapPropertiesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint32_t                maxOpacity2StateSubdivisionLevel;
+       uint32_t                maxOpacity4StateSubdivisionLevel;
+};
+
+struct VkAccelerationStructureTrianglesOpacityMicromapEXT
+{
+       VkStructureType                                         sType;
+       void*                                                           pNext;
+       VkIndexType                                                     indexType;
+       VkDeviceOrHostAddressConstKHR           indexBuffer;
+       VkDeviceSize                                            indexStride;
+       uint32_t                                                        baseTriangle;
+       uint32_t                                                        usageCountsCount;
+       const VkMicromapUsageEXT*                       pUsageCounts;
+       const VkMicromapUsageEXT* const*        ppUsageCounts;
+       VkMicromapEXT                                           micromap;
+};
+
 struct VkPipelinePropertiesIdentifierEXT
 {
        VkStructureType sType;
@@ -7444,6 +7652,163 @@ struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
        VkBool32                depthClampZeroOne;
 };
 
+struct VkPhysicalDeviceAddressBindingReportFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                reportAddressBinding;
+};
+
+struct VkDeviceAddressBindingCallbackDataEXT
+{
+       VkStructureType                                 sType;
+       void*                                                   pNext;
+       VkDeviceAddressBindingFlagsEXT  flags;
+       VkDeviceAddress                                 baseAddress;
+       VkDeviceSize                                    size;
+       VkDeviceAddressBindingTypeEXT   bindingType;
+};
+
+struct VkPhysicalDeviceOpticalFlowFeaturesNV
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                opticalFlow;
+};
+
+struct VkPhysicalDeviceOpticalFlowPropertiesNV
+{
+       VkStructureType                                 sType;
+       void*                                                   pNext;
+       VkOpticalFlowGridSizeFlagsNV    supportedOutputGridSizes;
+       VkOpticalFlowGridSizeFlagsNV    supportedHintGridSizes;
+       VkBool32                                                hintSupported;
+       VkBool32                                                costSupported;
+       VkBool32                                                bidirectionalFlowSupported;
+       VkBool32                                                globalFlowSupported;
+       uint32_t                                                minWidth;
+       uint32_t                                                minHeight;
+       uint32_t                                                maxWidth;
+       uint32_t                                                maxHeight;
+       uint32_t                                                maxNumRegionsOfInterest;
+};
+
+struct VkOpticalFlowImageFormatInfoNV
+{
+       VkStructureType                         sType;
+       const void*                                     pNext;
+       VkOpticalFlowUsageFlagsNV       usage;
+};
+
+struct VkOpticalFlowImageFormatPropertiesNV
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkFormat                format;
+};
+
+struct VkOpticalFlowSessionCreateInfoNV
+{
+       VkStructureType                                         sType;
+       void*                                                           pNext;
+       uint32_t                                                        width;
+       uint32_t                                                        height;
+       VkFormat                                                        imageFormat;
+       VkFormat                                                        flowVectorFormat;
+       VkFormat                                                        costFormat;
+       VkOpticalFlowGridSizeFlagsNV            outputGridSize;
+       VkOpticalFlowGridSizeFlagsNV            hintGridSize;
+       VkOpticalFlowPerformanceLevelNV         performanceLevel;
+       VkOpticalFlowSessionCreateFlagsNV       flags;
+};
+
+struct VkOpticalFlowSessionCreatePrivateDataInfoNV
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint32_t                id;
+       uint32_t                size;
+       const void*             pPrivateData;
+};
+
+struct VkOpticalFlowExecuteInfoNV
+{
+       VkStructureType                         sType;
+       void*                                           pNext;
+       VkOpticalFlowExecuteFlagsNV     flags;
+       uint32_t                                        regionCount;
+       const VkRect2D*                         pRegions;
+};
+
+struct VkPhysicalDeviceFaultFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                deviceFault;
+       VkBool32                deviceFaultVendorBinary;
+};
+
+struct VkDeviceFaultAddressInfoEXT
+{
+       VkDeviceFaultAddressTypeEXT     addressType;
+       VkDeviceAddress                         reportedAddress;
+       VkDeviceSize                            addressPrecision;
+};
+
+struct VkDeviceFaultVendorInfoEXT
+{
+       char            description[VK_MAX_DESCRIPTION_SIZE];
+       uint64_t        vendorFaultCode;
+       uint64_t        vendorFaultData;
+};
+
+struct VkDeviceFaultCountsEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint32_t                addressInfoCount;
+       uint32_t                vendorInfoCount;
+       VkDeviceSize    vendorBinarySize;
+};
+
+struct VkDeviceFaultInfoEXT
+{
+       VkStructureType                                 sType;
+       void*                                                   pNext;
+       char                                                    description[VK_MAX_DESCRIPTION_SIZE];
+       VkDeviceFaultAddressInfoEXT*    pAddressInfos;
+       VkDeviceFaultVendorInfoEXT*             pVendorInfos;
+       void*                                                   pVendorBinaryData;
+};
+
+struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT
+{
+       uint32_t                                                                        headerSize;
+       VkDeviceFaultVendorBinaryHeaderVersionEXT       headerVersion;
+       uint32_t                                                                        vendorID;
+       uint32_t                                                                        deviceID;
+       uint32_t                                                                        driverVersion;
+       uint8_t                                                                         pipelineCacheUUID[VK_UUID_SIZE];
+       uint32_t                                                                        applicationNameOffset;
+       uint32_t                                                                        applicationVersion;
+       uint32_t                                                                        engineNameOffset;
+};
+
+struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint32_t                shaderCoreCount;
+       uint32_t                shaderWarpsPerCore;
+};
+
+struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                shaderCoreBuiltins;
+};
+
 struct StdVideoH264SpsVuiFlags
 {
        uint32_t        aspect_ratio_info_present_flag:1;
@@ -7465,6 +7830,7 @@ struct StdVideoH264HrdParameters
        uint8_t         cpb_cnt_minus1;
        uint8_t         bit_rate_scale;
        uint8_t         cpb_size_scale;
+       uint8_t         reserved1;
        uint32_t        bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
        uint32_t        cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
        uint8_t         cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
@@ -7481,14 +7847,17 @@ struct StdVideoH264SequenceParameterSetVui
        uint16_t                                                        sar_width;
        uint16_t                                                        sar_height;
        uint8_t                                                         video_format;
-       uint8_t                                                         color_primaries;
+       uint8_t                                                         colour_primaries;
        uint8_t                                                         transfer_characteristics;
        uint8_t                                                         matrix_coefficients;
        uint32_t                                                        num_units_in_tick;
        uint32_t                                                        time_scale;
-       const StdVideoH264HrdParameters*        pHrdParameters;
        uint8_t                                                         max_num_reorder_frames;
        uint8_t                                                         max_dec_frame_buffering;
+       uint8_t                                                         chroma_sample_loc_type_top_field;
+       uint8_t                                                         chroma_sample_loc_type_bottom_field;
+       uint32_t                                                        reserved1;
+       const StdVideoH264HrdParameters*        pHrdParameters;
 };
 
 struct StdVideoH264SpsFlags
@@ -7513,34 +7882,36 @@ struct StdVideoH264SpsFlags
 
 struct StdVideoH264ScalingLists
 {
-       uint8_t scaling_list_present_mask;
-       uint8_t use_default_scaling_matrix_mask;
-       uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
-       uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
+       uint16_t        scaling_list_present_mask;
+       uint16_t        use_default_scaling_matrix_mask;
+       uint8_t         ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
+       uint8_t         ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
 };
 
 struct StdVideoH264SequenceParameterSet
 {
        StdVideoH264SpsFlags                                            flags;
        StdVideoH264ProfileIdc                                          profile_idc;
-       StdVideoH264Level                                                       level_idc;
-       uint8_t                                                                         seq_parameter_set_id;
+       StdVideoH264LevelIdc                                            level_idc;
        StdVideoH264ChromaFormatIdc                                     chroma_format_idc;
+       uint8_t                                                                         seq_parameter_set_id;
        uint8_t                                                                         bit_depth_luma_minus8;
        uint8_t                                                                         bit_depth_chroma_minus8;
        uint8_t                                                                         log2_max_frame_num_minus4;
        StdVideoH264PocType                                                     pic_order_cnt_type;
-       uint8_t                                                                         log2_max_pic_order_cnt_lsb_minus4;
        int32_t                                                                         offset_for_non_ref_pic;
        int32_t                                                                         offset_for_top_to_bottom_field;
+       uint8_t                                                                         log2_max_pic_order_cnt_lsb_minus4;
        uint8_t                                                                         num_ref_frames_in_pic_order_cnt_cycle;
        uint8_t                                                                         max_num_ref_frames;
+       uint8_t                                                                         reserved1;
        uint32_t                                                                        pic_width_in_mbs_minus1;
        uint32_t                                                                        pic_height_in_map_units_minus1;
        uint32_t                                                                        frame_crop_left_offset;
        uint32_t                                                                        frame_crop_right_offset;
        uint32_t                                                                        frame_crop_top_offset;
        uint32_t                                                                        frame_crop_bottom_offset;
+       uint32_t                                                                        reserved2;
        const int32_t*                                                          pOffsetForRefFrame;
        const StdVideoH264ScalingLists*                         pScalingLists;
        const StdVideoH264SequenceParameterSetVui*      pSequenceParameterSetVui;
@@ -7552,9 +7923,8 @@ struct StdVideoH264PpsFlags
        uint32_t        redundant_pic_cnt_present_flag:1;
        uint32_t        constrained_intra_pred_flag:1;
        uint32_t        deblocking_filter_control_present_flag:1;
-       uint32_t        weighted_bipred_idc_flag:1;
        uint32_t        weighted_pred_flag:1;
-       uint32_t        pic_order_present_flag:1;
+       uint32_t        bottom_field_pic_order_in_frame_present_flag:1;
        uint32_t        entropy_coding_mode_flag:1;
        uint32_t        pic_scaling_matrix_present_flag:1;
 };
@@ -7578,20 +7948,20 @@ struct VkVideoDecodeH264SessionParametersAddInfoEXT
 {
        VkStructureType                                                 sType;
        const void*                                                             pNext;
-       uint32_t                                                                spsStdCount;
-       const StdVideoH264SequenceParameterSet* pSpsStd;
-       uint32_t                                                                ppsStdCount;
-       const StdVideoH264PictureParameterSet*  pPpsStd;
+       uint32_t                                                                stdSPSCount;
+       const StdVideoH264SequenceParameterSet* pStdSPSs;
+       uint32_t                                                                stdPPSCount;
+       const StdVideoH264PictureParameterSet*  pStdPPSs;
 };
 
 struct VkVideoEncodeH264SessionParametersAddInfoEXT
 {
        VkStructureType                                                 sType;
        const void*                                                             pNext;
-       uint32_t                                                                spsStdCount;
-       const StdVideoH264SequenceParameterSet* pSpsStd;
-       uint32_t                                                                ppsStdCount;
-       const StdVideoH264PictureParameterSet*  pPpsStd;
+       uint32_t                                                                stdSPSCount;
+       const StdVideoH264SequenceParameterSet* pStdSPSs;
+       uint32_t                                                                stdPPSCount;
+       const StdVideoH264PictureParameterSet*  pStdPPSs;
 };
 
 struct StdVideoDecodeH264PictureInfoFlags
@@ -7608,8 +7978,8 @@ struct VkVideoDecodeH264SessionParametersCreateInfoEXT
 {
        VkStructureType                                                                         sType;
        const void*                                                                                     pNext;
-       uint32_t                                                                                        maxSpsStdCount;
-       uint32_t                                                                                        maxPpsStdCount;
+       uint32_t                                                                                        maxStdSPSCount;
+       uint32_t                                                                                        maxStdPPSCount;
        const VkVideoDecodeH264SessionParametersAddInfoEXT*     pParametersAddInfo;
 };
 
@@ -7617,8 +7987,8 @@ struct VkVideoEncodeH264SessionParametersCreateInfoEXT
 {
        VkStructureType                                                                         sType;
        const void*                                                                                     pNext;
-       uint32_t                                                                                        maxSpsStdCount;
-       uint32_t                                                                                        maxPpsStdCount;
+       uint32_t                                                                                        maxStdSPSCount;
+       uint32_t                                                                                        maxStdPPSCount;
        const VkVideoEncodeH264SessionParametersAddInfoEXT*     pParametersAddInfo;
 };
 
@@ -7627,7 +7997,8 @@ struct StdVideoDecodeH264PictureInfo
        StdVideoDecodeH264PictureInfoFlags      flags;
        uint8_t                                                         seq_parameter_set_id;
        uint8_t                                                         pic_parameter_set_id;
-       uint16_t                                                        reserved;
+       uint8_t                                                         reserved1;
+       uint8_t                                                         reserved2;
        uint16_t                                                        frame_num;
        uint16_t                                                        idr_pic_id;
        int32_t                                                         PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
@@ -7638,8 +8009,8 @@ struct VkVideoDecodeH264PictureInfoEXT
        VkStructureType                                                 sType;
        const void*                                                             pNext;
        const StdVideoDecodeH264PictureInfo*    pStdPictureInfo;
-       uint32_t                                                                slicesCount;
-       const uint32_t*                                                 pSlicesDataOffsets;
+       uint32_t                                                                sliceCount;
+       const uint32_t*                                                 pSliceOffsets;
 };
 
 struct StdVideoDecodeH264ReferenceInfoFlags
@@ -7655,7 +8026,7 @@ struct StdVideoDecodeH264ReferenceInfo
        StdVideoDecodeH264ReferenceInfoFlags    flags;
        uint16_t                                                                FrameNum;
        uint16_t                                                                reserved;
-       int32_t                                                                 PicOrderCnt[2];
+       int32_t                                                                 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
 };
 
 struct VkVideoDecodeH264DpbSlotInfoEXT
@@ -7665,44 +8036,6 @@ struct VkVideoDecodeH264DpbSlotInfoEXT
        const StdVideoDecodeH264ReferenceInfo*  pStdReferenceInfo;
 };
 
-struct StdVideoDecodeH264MvcElementFlags
-{
-       uint32_t        non_idr:1;
-       uint32_t        anchor_pic:1;
-       uint32_t        inter_view:1;
-};
-
-struct StdVideoDecodeH264MvcElement
-{
-       StdVideoDecodeH264MvcElementFlags       flags;
-       uint16_t                                                        viewOrderIndex;
-       uint16_t                                                        viewId;
-       uint16_t                                                        temporalId;
-       uint16_t                                                        priorityId;
-       uint16_t                                                        numOfAnchorRefsInL0;
-       uint16_t                                                        viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-       uint16_t                                                        numOfAnchorRefsInL1;
-       uint16_t                                                        viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-       uint16_t                                                        numOfNonAnchorRefsInL0;
-       uint16_t                                                        viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-       uint16_t                                                        numOfNonAnchorRefsInL1;
-       uint16_t                                                        viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-};
-
-struct StdVideoDecodeH264Mvc
-{
-       uint32_t                                                        viewId0;
-       uint32_t                                                        mvcElementCount;
-       const StdVideoDecodeH264MvcElement*     pMvcElements;
-};
-
-struct VkVideoDecodeH264MvcInfoEXT
-{
-       VkStructureType                                 sType;
-       const void*                                             pNext;
-       const StdVideoDecodeH264Mvc*    pStdMvc;
-};
-
 struct StdVideoEncodeH264WeightTableFlags
 {
        uint32_t        luma_weight_l0_flag;
@@ -7833,11 +8166,13 @@ struct VkVideoEncodeH264ReferenceListsInfoEXT
        const StdVideoEncodeH264RefMemMgmtCtrlOperations*       pMemMgmtCtrlOperations;
 };
 
-struct StdVideoH265DecPicBufMgr
+struct StdVideoH265ProfileTierLevelFlags
 {
-       uint32_t        max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-       uint8_t         max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-       uint8_t         max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+       uint32_t        general_tier_flag:1;
+       uint32_t        general_progressive_source_flag:1;
+       uint32_t        general_interlaced_source_flag:1;
+       uint32_t        general_non_packed_constraint_flag:1;
+       uint32_t        general_frame_only_constraint_flag:1;
 };
 
 struct VkVideoEncodeH264NaluSliceInfoEXT
@@ -7849,13 +8184,11 @@ struct VkVideoEncodeH264NaluSliceInfoEXT
        const StdVideoEncodeH264SliceHeader*                    pSliceHeaderStd;
 };
 
-struct StdVideoH265SubLayerHrdParameters
+struct StdVideoH265ProfileTierLevel
 {
-       uint32_t        bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
-       uint32_t        cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
-       uint32_t        cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
-       uint32_t        bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
-       uint32_t        cbr_flag;
+       StdVideoH265ProfileTierLevelFlags       flags;
+       StdVideoH265ProfileIdc                          general_profile_idc;
+       StdVideoH265LevelIdc                            general_level_idc;
 };
 
 struct VkVideoEncodeH264VclFrameInfoEXT
@@ -7868,6 +8201,22 @@ struct VkVideoEncodeH264VclFrameInfoEXT
        const StdVideoEncodeH264PictureInfo*                    pCurrentPictureInfo;
 };
 
+struct StdVideoH265DecPicBufMgr
+{
+       uint32_t        max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+       uint8_t         max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+       uint8_t         max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+};
+
+struct StdVideoH265SubLayerHrdParameters
+{
+       uint32_t        bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+       uint32_t        cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+       uint32_t        cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+       uint32_t        bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
+       uint32_t        cbr_flag;
+};
+
 struct StdVideoH265HrdFlags
 {
        uint32_t        nal_hrd_parameters_present_flag:1;
@@ -7891,10 +8240,11 @@ struct StdVideoH265HrdParameters
        uint8_t                                                                         initial_cpb_removal_delay_length_minus1;
        uint8_t                                                                         au_cpb_removal_delay_length_minus1;
        uint8_t                                                                         dpb_output_delay_length_minus1;
-       uint8_t                                                                         cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-       uint16_t                                                                        elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-       const StdVideoH265SubLayerHrdParameters*        pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-       const StdVideoH265SubLayerHrdParameters*        pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+       uint8_t                                                                         cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+       uint16_t                                                                        elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+       uint16_t                                                                        reserved[3];
+       const StdVideoH265SubLayerHrdParameters*        pSubLayerHrdParametersNal;
+       const StdVideoH265SubLayerHrdParameters*        pSubLayerHrdParametersVcl;
 };
 
 struct StdVideoH265VpsFlags
@@ -7910,11 +8260,15 @@ struct StdVideoH265VideoParameterSet
        StdVideoH265VpsFlags                            flags;
        uint8_t                                                         vps_video_parameter_set_id;
        uint8_t                                                         vps_max_sub_layers_minus1;
+       uint8_t                                                         reserved1;
+       uint8_t                                                         reserved2;
        uint32_t                                                        vps_num_units_in_tick;
        uint32_t                                                        vps_time_scale;
        uint32_t                                                        vps_num_ticks_poc_diff_one_minus1;
+       uint32_t                                                        reserved3;
        const StdVideoH265DecPicBufMgr*         pDecPicBufMgr;
        const StdVideoH265HrdParameters*        pHrdParameters;
+       const StdVideoH265ProfileTierLevel*     pProfileTierLevel;
 };
 
 struct StdVideoH265ScalingLists
@@ -7927,6 +8281,36 @@ struct StdVideoH265ScalingLists
        uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
 };
 
+struct StdVideoH265ShortTermRefPicSetFlags
+{
+       uint32_t        inter_ref_pic_set_prediction_flag:1;
+       uint32_t        delta_rps_sign:1;
+};
+
+struct StdVideoH265ShortTermRefPicSet
+{
+       StdVideoH265ShortTermRefPicSetFlags     flags;
+       uint32_t                                                        delta_idx_minus1;
+       uint16_t                                                        use_delta_flag;
+       uint16_t                                                        abs_delta_rps_minus1;
+       uint16_t                                                        used_by_curr_pic_flag;
+       uint16_t                                                        used_by_curr_pic_s0_flag;
+       uint16_t                                                        used_by_curr_pic_s1_flag;
+       uint16_t                                                        reserved1;
+       uint8_t                                                         reserved2;
+       uint8_t                                                         reserved3;
+       uint8_t                                                         num_negative_pics;
+       uint8_t                                                         num_positive_pics;
+       uint16_t                                                        delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
+       uint16_t                                                        delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
+};
+
+struct StdVideoH265LongTermRefPicsSps
+{
+       uint32_t        used_by_curr_pic_lt_sps_flag;
+       uint32_t        lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
+};
+
 struct StdVideoH265SpsVuiFlags
 {
        uint32_t        aspect_ratio_info_present_flag:1;
@@ -7952,7 +8336,7 @@ struct StdVideoH265SpsVuiFlags
 struct StdVideoH265SequenceParameterSetVui
 {
        StdVideoH265SpsVuiFlags                         flags;
-       uint8_t                                                         aspect_ratio_idc;
+       StdVideoH265AspectRatioIdc                      aspect_ratio_idc;
        uint16_t                                                        sar_width;
        uint16_t                                                        sar_height;
        uint8_t                                                         video_format;
@@ -7961,6 +8345,8 @@ struct StdVideoH265SequenceParameterSetVui
        uint8_t                                                         matrix_coeffs;
        uint8_t                                                         chroma_sample_loc_type_top_field;
        uint8_t                                                         chroma_sample_loc_type_bottom_field;
+       uint8_t                                                         reserved1;
+       uint8_t                                                         reserved2;
        uint16_t                                                        def_disp_win_left_offset;
        uint16_t                                                        def_disp_win_right_offset;
        uint16_t                                                        def_disp_win_top_offset;
@@ -7968,12 +8354,13 @@ struct StdVideoH265SequenceParameterSetVui
        uint32_t                                                        vui_num_units_in_tick;
        uint32_t                                                        vui_time_scale;
        uint32_t                                                        vui_num_ticks_poc_diff_one_minus1;
-       const StdVideoH265HrdParameters*        pHrdParameters;
        uint16_t                                                        min_spatial_segmentation_idc;
+       uint16_t                                                        reserved3;
        uint8_t                                                         max_bytes_per_pic_denom;
        uint8_t                                                         max_bits_per_min_cu_denom;
        uint8_t                                                         log2_max_mv_length_horizontal;
        uint8_t                                                         log2_max_mv_length_vertical;
+       const StdVideoH265HrdParameters*        pHrdParameters;
 };
 
 struct StdVideoH265PredictorPaletteEntries
@@ -7985,6 +8372,8 @@ struct StdVideoH265SpsFlags
 {
        uint32_t        sps_temporal_id_nesting_flag:1;
        uint32_t        separate_colour_plane_flag:1;
+       uint32_t        conformance_window_flag:1;
+       uint32_t        sps_sub_layer_ordering_info_present_flag:1;
        uint32_t        scaling_list_enabled_flag:1;
        uint32_t        sps_scaling_list_data_present_flag:1;
        uint32_t        amp_enabled_flag:1;
@@ -8009,21 +8398,19 @@ struct StdVideoH265SpsFlags
        uint32_t        sps_scc_extension_flag:1;
        uint32_t        sps_curr_pic_ref_enabled_flag:1;
        uint32_t        palette_mode_enabled_flag:1;
-       uint32_t        sps_palette_predictor_initializer_present_flag:1;
+       uint32_t        sps_palette_predictor_initializers_present_flag:1;
        uint32_t        intra_boundary_filtering_disabled_flag:1;
 };
 
 struct StdVideoH265SequenceParameterSet
 {
        StdVideoH265SpsFlags                                            flags;
-       StdVideoH265ProfileIdc                                          profile_idc;
-       StdVideoH265Level                                                       level_idc;
+       StdVideoH265ChromaFormatIdc                                     chroma_format_idc;
        uint32_t                                                                        pic_width_in_luma_samples;
        uint32_t                                                                        pic_height_in_luma_samples;
        uint8_t                                                                         sps_video_parameter_set_id;
        uint8_t                                                                         sps_max_sub_layers_minus1;
        uint8_t                                                                         sps_seq_parameter_set_id;
-       uint8_t                                                                         chroma_format_idc;
        uint8_t                                                                         bit_depth_luma_minus8;
        uint8_t                                                                         bit_depth_chroma_minus8;
        uint8_t                                                                         log2_max_pic_order_cnt_lsb_minus4;
@@ -8039,17 +8426,22 @@ struct StdVideoH265SequenceParameterSet
        uint8_t                                                                         pcm_sample_bit_depth_chroma_minus1;
        uint8_t                                                                         log2_min_pcm_luma_coding_block_size_minus3;
        uint8_t                                                                         log2_diff_max_min_pcm_luma_coding_block_size;
+       uint8_t                                                                         reserved1;
+       uint8_t                                                                         reserved2;
+       uint8_t                                                                         palette_max_size;
+       uint8_t                                                                         delta_palette_max_predictor_size;
+       uint8_t                                                                         motion_vector_resolution_control_idc;
+       uint8_t                                                                         sps_num_palette_predictor_initializers_minus1;
        uint32_t                                                                        conf_win_left_offset;
        uint32_t                                                                        conf_win_right_offset;
        uint32_t                                                                        conf_win_top_offset;
        uint32_t                                                                        conf_win_bottom_offset;
+       const StdVideoH265ProfileTierLevel*                     pProfileTierLevel;
        const StdVideoH265DecPicBufMgr*                         pDecPicBufMgr;
        const StdVideoH265ScalingLists*                         pScalingLists;
+       const StdVideoH265ShortTermRefPicSet*           pShortTermRefPicSet;
+       const StdVideoH265LongTermRefPicsSps*           pLongTermRefPicsSps;
        const StdVideoH265SequenceParameterSetVui*      pSequenceParameterSetVui;
-       uint8_t                                                                         palette_max_size;
-       uint8_t                                                                         delta_palette_max_predictor_size;
-       uint8_t                                                                         motion_vector_resolution_control_idc;
-       uint8_t                                                                         sps_num_palette_predictor_initializer_minus1;
        const StdVideoH265PredictorPaletteEntries*      pPredictorPaletteEntries;
 };
 
@@ -8083,7 +8475,7 @@ struct StdVideoH265PpsFlags
        uint32_t        pps_curr_pic_ref_enabled_flag:1;
        uint32_t        residual_adaptive_colour_transform_enabled_flag:1;
        uint32_t        pps_slice_act_qp_offsets_present_flag:1;
-       uint32_t        pps_palette_predictor_initializer_present_flag:1;
+       uint32_t        pps_palette_predictor_initializers_present_flag:1;
        uint32_t        monochrome_palette_flag:1;
        uint32_t        pps_range_extension_flag:1;
 };
@@ -8093,6 +8485,7 @@ struct StdVideoH265PictureParameterSet
        StdVideoH265PpsFlags                                            flags;
        uint8_t                                                                         pps_pic_parameter_set_id;
        uint8_t                                                                         pps_seq_parameter_set_id;
+       uint8_t                                                                         sps_video_parameter_set_id;
        uint8_t                                                                         num_extra_slice_header_bits;
        uint8_t                                                                         num_ref_idx_l0_default_active_minus1;
        uint8_t                                                                         num_ref_idx_l1_default_active_minus1;
@@ -8100,14 +8493,9 @@ struct StdVideoH265PictureParameterSet
        uint8_t                                                                         diff_cu_qp_delta_depth;
        int8_t                                                                          pps_cb_qp_offset;
        int8_t                                                                          pps_cr_qp_offset;
-       uint8_t                                                                         num_tile_columns_minus1;
-       uint8_t                                                                         num_tile_rows_minus1;
-       uint16_t                                                                        column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
-       uint16_t                                                                        row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
        int8_t                                                                          pps_beta_offset_div2;
        int8_t                                                                          pps_tc_offset_div2;
        uint8_t                                                                         log2_parallel_merge_level_minus2;
-       const StdVideoH265ScalingLists*                         pScalingLists;
        uint8_t                                                                         log2_max_transform_skip_block_size_minus2;
        uint8_t                                                                         diff_cu_chroma_qp_offset_depth;
        uint8_t                                                                         chroma_qp_offset_list_len_minus1;
@@ -8117,10 +8505,18 @@ struct StdVideoH265PictureParameterSet
        uint8_t                                                                         log2_sao_offset_scale_chroma;
        int8_t                                                                          pps_act_y_qp_offset_plus5;
        int8_t                                                                          pps_act_cb_qp_offset_plus5;
-       int8_t                                                                          pps_act_cr_qp_offset_plus5;
-       uint8_t                                                                         pps_num_palette_predictor_initializer;
+       int8_t                                                                          pps_act_cr_qp_offset_plus3;
+       uint8_t                                                                         pps_num_palette_predictor_initializers;
        uint8_t                                                                         luma_bit_depth_entry_minus8;
        uint8_t                                                                         chroma_bit_depth_entry_minus8;
+       uint8_t                                                                         num_tile_columns_minus1;
+       uint8_t                                                                         num_tile_rows_minus1;
+       uint8_t                                                                         reserved1;
+       uint8_t                                                                         reserved2;
+       uint16_t                                                                        column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
+       uint16_t                                                                        row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
+       uint32_t                                                                        reserved3;
+       const StdVideoH265ScalingLists*                         pScalingLists;
        const StdVideoH265PredictorPaletteEntries*      pPredictorPaletteEntries;
 };
 
@@ -8128,24 +8524,24 @@ struct VkVideoDecodeH265SessionParametersAddInfoEXT
 {
        VkStructureType                                                 sType;
        const void*                                                             pNext;
-       uint32_t                                                                vpsStdCount;
-       const StdVideoH265VideoParameterSet*    pVpsStd;
-       uint32_t                                                                spsStdCount;
-       const StdVideoH265SequenceParameterSet* pSpsStd;
-       uint32_t                                                                ppsStdCount;
-       const StdVideoH265PictureParameterSet*  pPpsStd;
+       uint32_t                                                                stdVPSCount;
+       const StdVideoH265VideoParameterSet*    pStdVPSs;
+       uint32_t                                                                stdSPSCount;
+       const StdVideoH265SequenceParameterSet* pStdSPSs;
+       uint32_t                                                                stdPPSCount;
+       const StdVideoH265PictureParameterSet*  pStdPPSs;
 };
 
 struct VkVideoEncodeH265SessionParametersAddInfoEXT
 {
        VkStructureType                                                 sType;
        const void*                                                             pNext;
-       uint32_t                                                                vpsStdCount;
-       const StdVideoH265VideoParameterSet*    pVpsStd;
-       uint32_t                                                                spsStdCount;
-       const StdVideoH265SequenceParameterSet* pSpsStd;
-       uint32_t                                                                ppsStdCount;
-       const StdVideoH265PictureParameterSet*  pPpsStd;
+       uint32_t                                                                stdVPSCount;
+       const StdVideoH265VideoParameterSet*    pStdVPSs;
+       uint32_t                                                                stdSPSCount;
+       const StdVideoH265SequenceParameterSet* pStdSPSs;
+       uint32_t                                                                stdPPSCount;
+       const StdVideoH265PictureParameterSet*  pStdPPSs;
 };
 
 struct StdVideoDecodeH265PictureInfoFlags
@@ -8160,9 +8556,9 @@ struct VkVideoDecodeH265SessionParametersCreateInfoEXT
 {
        VkStructureType                                                                         sType;
        const void*                                                                                     pNext;
-       uint32_t                                                                                        maxVpsStdCount;
-       uint32_t                                                                                        maxSpsStdCount;
-       uint32_t                                                                                        maxPpsStdCount;
+       uint32_t                                                                                        maxStdVPSCount;
+       uint32_t                                                                                        maxStdSPSCount;
+       uint32_t                                                                                        maxStdPPSCount;
        const VkVideoDecodeH265SessionParametersAddInfoEXT*     pParametersAddInfo;
 };
 
@@ -8170,9 +8566,9 @@ struct VkVideoEncodeH265SessionParametersCreateInfoEXT
 {
        VkStructureType                                                                         sType;
        const void*                                                                                     pNext;
-       uint32_t                                                                                        maxVpsStdCount;
-       uint32_t                                                                                        maxSpsStdCount;
-       uint32_t                                                                                        maxPpsStdCount;
+       uint32_t                                                                                        maxStdVPSCount;
+       uint32_t                                                                                        maxStdSPSCount;
+       uint32_t                                                                                        maxStdPPSCount;
        const VkVideoEncodeH265SessionParametersAddInfoEXT*     pParametersAddInfo;
 };
 
@@ -8182,10 +8578,10 @@ struct StdVideoDecodeH265PictureInfo
        uint8_t                                                         sps_video_parameter_set_id;
        uint8_t                                                         pps_seq_parameter_set_id;
        uint8_t                                                         pps_pic_parameter_set_id;
-       uint8_t                                                         num_short_term_ref_pic_sets;
+       uint8_t                                                         NumDeltaPocsOfRefRpsIdx;
        int32_t                                                         PicOrderCntVal;
        uint16_t                                                        NumBitsForSTRefPicSetInSlice;
-       uint8_t                                                         NumDeltaPocsOfRefRpsIdx;
+       uint16_t                                                        reserved;
        uint8_t                                                         RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
        uint8_t                                                         RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
        uint8_t                                                         RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
@@ -8196,15 +8592,14 @@ struct VkVideoDecodeH265PictureInfoEXT
        VkStructureType                                 sType;
        const void*                                             pNext;
        StdVideoDecodeH265PictureInfo*  pStdPictureInfo;
-       uint32_t                                                slicesCount;
-       const uint32_t*                                 pSlicesDataOffsets;
+       uint32_t                                                sliceCount;
+       const uint32_t*                                 pSliceOffsets;
 };
 
 struct StdVideoDecodeH265ReferenceInfoFlags
 {
        uint32_t        used_for_long_term_reference:1;
        uint32_t        unused_for_reference:1;
-       uint32_t        is_non_existing:1;
 };
 
 struct StdVideoDecodeH265ReferenceInfo
@@ -8243,6 +8638,17 @@ struct StdVideoEncodeH265WeightTable
        int8_t                                                          delta_chroma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES];
 };
 
+struct StdVideoEncodeH265SliceSegmentLongTermRefPics
+{
+       uint8_t         num_long_term_sps;
+       uint8_t         num_long_term_pics;
+       uint8_t         lt_idx_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
+       uint8_t         poc_lsb_lt[STD_VIDEO_H265_MAX_LONG_TERM_PICS];
+       uint16_t        used_by_curr_pic_lt_flag;
+       uint8_t         delta_poc_msb_present_flag[STD_VIDEO_H265_MAX_DELTA_POC];
+       uint8_t         delta_poc_msb_cycle_lt[STD_VIDEO_H265_MAX_DELTA_POC];
+};
+
 struct StdVideoEncodeH265SliceSegmentHeaderFlags
 {
        uint32_t        first_slice_segment_in_pic_flag:1;
@@ -8256,32 +8662,33 @@ struct StdVideoEncodeH265SliceSegmentHeaderFlags
        uint32_t        num_ref_idx_active_override_flag:1;
        uint32_t        mvd_l1_zero_flag:1;
        uint32_t        cabac_init_flag:1;
-       uint32_t        slice_deblocking_filter_disable_flag:1;
+       uint32_t        cu_chroma_qp_offset_enabled_flag:1;
+       uint32_t        deblocking_filter_override_flag:1;
+       uint32_t        slice_deblocking_filter_disabled_flag:1;
        uint32_t        collocated_from_l0_flag:1;
        uint32_t        slice_loop_filter_across_slices_enabled_flag:1;
 };
 
 struct StdVideoEncodeH265SliceSegmentHeader
 {
-       StdVideoEncodeH265SliceSegmentHeaderFlags       flags;
-       StdVideoH265SliceType                                           slice_type;
-       uint8_t                                                                         num_short_term_ref_pic_sets;
-       uint32_t                                                                        slice_segment_address;
-       uint8_t                                                                         short_term_ref_pic_set_idx;
-       uint8_t                                                                         num_long_term_sps;
-       uint8_t                                                                         num_long_term_pics;
-       uint8_t                                                                         collocated_ref_idx;
-       uint8_t                                                                         num_ref_idx_l0_active_minus1;
-       uint8_t                                                                         num_ref_idx_l1_active_minus1;
-       uint8_t                                                                         MaxNumMergeCand;
-       int8_t                                                                          slice_cb_qp_offset;
-       int8_t                                                                          slice_cr_qp_offset;
-       int8_t                                                                          slice_beta_offset_div2;
-       int8_t                                                                          slice_tc_offset_div2;
-       int8_t                                                                          slice_act_y_qp_offset;
-       int8_t                                                                          slice_act_cb_qp_offset;
-       int8_t                                                                          slice_act_cr_qp_offset;
-       const StdVideoEncodeH265WeightTable*            pWeightTable;
+       StdVideoEncodeH265SliceSegmentHeaderFlags                               flags;
+       StdVideoH265SliceType                                                                   slice_type;
+       uint32_t                                                                                                slice_segment_address;
+       uint8_t                                                                                                 short_term_ref_pic_set_idx;
+       uint8_t                                                                                                 collocated_ref_idx;
+       uint8_t                                                                                                 num_ref_idx_l0_active_minus1;
+       uint8_t                                                                                                 num_ref_idx_l1_active_minus1;
+       uint8_t                                                                                                 MaxNumMergeCand;
+       int8_t                                                                                                  slice_cb_qp_offset;
+       int8_t                                                                                                  slice_cr_qp_offset;
+       int8_t                                                                                                  slice_beta_offset_div2;
+       int8_t                                                                                                  slice_tc_offset_div2;
+       int8_t                                                                                                  slice_act_y_qp_offset;
+       int8_t                                                                                                  slice_act_cb_qp_offset;
+       int8_t                                                                                                  slice_act_cr_qp_offset;
+       const StdVideoH265ShortTermRefPicSet*                                   pShortTermRefPicSet;
+       const StdVideoEncodeH265SliceSegmentLongTermRefPics*    pLongTermRefPics;
+       const StdVideoEncodeH265WeightTable*                                    pWeightTable;
 };
 
 struct StdVideoEncodeH265ReferenceModificationFlags
@@ -8686,6 +9093,12 @@ typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
 
 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
 
+typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+
+typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE;
+
+typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE;
+
 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
 
 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
index 565f49f..6113ee8 100644 (file)
@@ -691,9 +691,32 @@ inline VkAabbPositionsKHR makeAabbPositionsKHR (float minX, float minY, float mi
        return res;
 }
 
-inline VkMutableDescriptorTypeListVALVE makeMutableDescriptorTypeListVALVE (uint32_t descriptorTypeCount, const VkDescriptorType* pDescriptorTypes)
+inline VkColorBlendEquationEXT makeColorBlendEquationEXT (VkBlendFactor srcColorBlendFactor, VkBlendFactor dstColorBlendFactor, VkBlendOp colorBlendOp, VkBlendFactor srcAlphaBlendFactor, VkBlendFactor dstAlphaBlendFactor, VkBlendOp alphaBlendOp)
 {
-       VkMutableDescriptorTypeListVALVE res;
+       VkColorBlendEquationEXT res;
+       res.srcColorBlendFactor = srcColorBlendFactor;
+       res.dstColorBlendFactor = dstColorBlendFactor;
+       res.colorBlendOp                = colorBlendOp;
+       res.srcAlphaBlendFactor = srcAlphaBlendFactor;
+       res.dstAlphaBlendFactor = dstAlphaBlendFactor;
+       res.alphaBlendOp                = alphaBlendOp;
+       return res;
+}
+
+inline VkColorBlendAdvancedEXT makeColorBlendAdvancedEXT (VkBlendOp advancedBlendOp, VkBool32 srcPremultiplied, VkBool32 dstPremultiplied, VkBlendOverlapEXT blendOverlap, VkBool32 clampResults)
+{
+       VkColorBlendAdvancedEXT res;
+       res.advancedBlendOp             = advancedBlendOp;
+       res.srcPremultiplied    = srcPremultiplied;
+       res.dstPremultiplied    = dstPremultiplied;
+       res.blendOverlap                = blendOverlap;
+       res.clampResults                = clampResults;
+       return res;
+}
+
+inline VkMutableDescriptorTypeListEXT makeMutableDescriptorTypeListEXT (uint32_t descriptorTypeCount, const VkDescriptorType* pDescriptorTypes)
+{
+       VkMutableDescriptorTypeListEXT res;
        res.descriptorTypeCount = descriptorTypeCount;
        res.pDescriptorTypes    = pDescriptorTypes;
        return res;
@@ -773,12 +796,30 @@ inline VkRenderPassCreationFeedbackInfoEXT makeRenderPassCreationFeedbackInfoEXT
        return res;
 }
 
-inline StdVideoDecodeH264Mvc makeStdVideoDecodeH264Mvc (uint32_t viewId0, uint32_t mvcElementCount, const StdVideoDecodeH264MvcElement* pMvcElements)
+inline VkMicromapUsageEXT makeMicromapUsageEXT (uint32_t count, uint32_t subdivisionLevel, uint32_t format)
+{
+       VkMicromapUsageEXT res;
+       res.count                               = count;
+       res.subdivisionLevel    = subdivisionLevel;
+       res.format                              = format;
+       return res;
+}
+
+inline VkMicromapTriangleEXT makeMicromapTriangleEXT (uint32_t dataOffset, uint16_t subdivisionLevel, uint16_t format)
+{
+       VkMicromapTriangleEXT res;
+       res.dataOffset                  = dataOffset;
+       res.subdivisionLevel    = subdivisionLevel;
+       res.format                              = format;
+       return res;
+}
+
+inline VkDeviceFaultAddressInfoEXT makeDeviceFaultAddressInfoEXT (VkDeviceFaultAddressTypeEXT addressType, VkDeviceAddress reportedAddress, VkDeviceSize addressPrecision)
 {
-       StdVideoDecodeH264Mvc res;
-       res.viewId0                     = viewId0;
-       res.mvcElementCount     = mvcElementCount;
-       res.pMvcElements        = pMvcElements;
+       VkDeviceFaultAddressInfoEXT res;
+       res.addressType                 = addressType;
+       res.reportedAddress             = reportedAddress;
+       res.addressPrecision    = addressPrecision;
        return res;
 }
 
index b1d4c0a..ea1d7b5 100644 (file)
@@ -329,6 +329,37 @@ virtual void                               cmdSetDepthBiasEnable                                                   (VkCommandBuffer commandBuffer, VkBo
 virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0;
 virtual void                           cmdSetPrimitiveRestartEnable                                    (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0;
 virtual VkResult                       createPrivateDataSlot                                                   (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) const = 0;
+virtual void                           cmdSetTessellationDomainOriginEXT                               (VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin) const = 0;
+virtual void                           cmdSetDepthClampEnableEXT                                               (VkCommandBuffer commandBuffer, VkBool32 depthClampEnable) const = 0;
+virtual void                           cmdSetPolygonModeEXT                                                    (VkCommandBuffer commandBuffer, VkPolygonMode polygonMode) const = 0;
+virtual void                           cmdSetRasterizationSamplesEXT                                   (VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples) const = 0;
+virtual void                           cmdSetSampleMaskEXT                                                             (VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask) const = 0;
+virtual void                           cmdSetAlphaToCoverageEnableEXT                                  (VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable) const = 0;
+virtual void                           cmdSetAlphaToOneEnableEXT                                               (VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable) const = 0;
+virtual void                           cmdSetLogicOpEnableEXT                                                  (VkCommandBuffer commandBuffer, VkBool32 logicOpEnable) const = 0;
+virtual void                           cmdSetColorBlendEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables) const = 0;
+virtual void                           cmdSetColorBlendEquationEXT                                             (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations) const = 0;
+virtual void                           cmdSetColorWriteMaskEXT                                                 (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks) const = 0;
+virtual void                           cmdSetRasterizationStreamEXT                                    (VkCommandBuffer commandBuffer, uint32_t rasterizationStream) const = 0;
+virtual void                           cmdSetConservativeRasterizationModeEXT                  (VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode) const = 0;
+virtual void                           cmdSetExtraPrimitiveOverestimationSizeEXT               (VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize) const = 0;
+virtual void                           cmdSetDepthClipEnableEXT                                                (VkCommandBuffer commandBuffer, VkBool32 depthClipEnable) const = 0;
+virtual void                           cmdSetSampleLocationsEnableEXT                                  (VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable) const = 0;
+virtual void                           cmdSetColorBlendAdvancedEXT                                             (VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced) const = 0;
+virtual void                           cmdSetProvokingVertexModeEXT                                    (VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode) const = 0;
+virtual void                           cmdSetLineRasterizationModeEXT                                  (VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode) const = 0;
+virtual void                           cmdSetLineStippleEnableEXT                                              (VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable) const = 0;
+virtual void                           cmdSetDepthClipNegativeOneToOneEXT                              (VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne) const = 0;
+virtual void                           cmdSetViewportWScalingEnableNV                                  (VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable) const = 0;
+virtual void                           cmdSetViewportSwizzleNV                                                 (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles) const = 0;
+virtual void                           cmdSetCoverageToColorEnableNV                                   (VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable) const = 0;
+virtual void                           cmdSetCoverageToColorLocationNV                                 (VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation) const = 0;
+virtual void                           cmdSetCoverageModulationModeNV                                  (VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode) const = 0;
+virtual void                           cmdSetCoverageModulationTableEnableNV                   (VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable) const = 0;
+virtual void                           cmdSetCoverageModulationTableNV                                 (VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable) const = 0;
+virtual void                           cmdSetShadingRateImageEnableNV                                  (VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable) const = 0;
+virtual void                           cmdSetCoverageReductionModeNV                                   (VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode) const = 0;
+virtual void                           cmdSetRepresentativeFragmentTestEnableNV                (VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable) const = 0;
 virtual void                           destroyPrivateDataSlot                                                  (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const = 0;
 virtual VkResult                       setPrivateData                                                                  (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) const = 0;
 virtual void                           getPrivateData                                                                  (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) const = 0;
@@ -358,7 +389,7 @@ virtual VkResult                    updateVideoSessionParametersKHR                                 (VkDevice device, VkVideo
 virtual void                           destroyVideoSessionParametersKHR                                (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const = 0;
 virtual VkResult                       getVideoSessionMemoryRequirementsKHR                    (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements) const = 0;
 virtual VkResult                       bindVideoSessionMemoryKHR                                               (VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos) const = 0;
-virtual void                           cmdDecodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const = 0;
+virtual void                           cmdDecodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo) const = 0;
 virtual void                           cmdBeginVideoCodingKHR                                                  (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const = 0;
 virtual void                           cmdControlVideoCodingKHR                                                (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const = 0;
 virtual void                           cmdEndVideoCodingKHR                                                    (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const = 0;
@@ -379,6 +410,20 @@ virtual void                               cmdBeginRendering                                                               (VkCommandBuffer commandBuffer, const V
 virtual void                           cmdEndRendering                                                                 (VkCommandBuffer commandBuffer) const = 0;
 virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const = 0;
 virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const = 0;
+virtual VkResult                       createMicromapEXT                                                               (VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap) const = 0;
+virtual void                           cmdBuildMicromapsEXT                                                    (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const = 0;
+virtual VkResult                       buildMicromapsEXT                                                               (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos) const = 0;
+virtual void                           destroyMicromapEXT                                                              (VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           cmdCopyMicromapEXT                                                              (VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo) const = 0;
+virtual VkResult                       copyMicromapEXT                                                                 (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo) const = 0;
+virtual void                           cmdCopyMicromapToMemoryEXT                                              (VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo) const = 0;
+virtual VkResult                       copyMicromapToMemoryEXT                                                 (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo) const = 0;
+virtual void                           cmdCopyMemoryToMicromapEXT                                              (VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo) const = 0;
+virtual VkResult                       copyMemoryToMicromapEXT                                                 (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo) const = 0;
+virtual void                           cmdWriteMicromapsPropertiesEXT                                  (VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
+virtual VkResult                       writeMicromapsPropertiesEXT                                             (VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const = 0;
+virtual void                           getDeviceMicromapCompatibilityEXT                               (VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const = 0;
+virtual void                           getMicromapBuildSizesEXT                                                (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo) const = 0;
 virtual void                           getShaderModuleIdentifierEXT                                    (VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier) const = 0;
 virtual void                           getShaderModuleCreateInfoIdentifierEXT                  (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier) const = 0;
 virtual void                           getImageSubresourceLayout2EXT                                   (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const = 0;
@@ -386,3 +431,8 @@ virtual VkResult                    getPipelinePropertiesEXT                                                (VkDevice device, const VkPipel
 virtual void                           exportMetalObjectsEXT                                                   (VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo) const = 0;
 virtual VkResult                       getFramebufferTilePropertiesQCOM                                (VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties) const = 0;
 virtual VkResult                       getDynamicRenderingTilePropertiesQCOM                   (VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties) const = 0;
+virtual VkResult                       createOpticalFlowSessionNV                                              (VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession) const = 0;
+virtual void                           destroyOpticalFlowSessionNV                                             (VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       bindOpticalFlowSessionImageNV                                   (VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout) const = 0;
+virtual void                           cmdOpticalFlowExecuteNV                                                 (VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo) const = 0;
+virtual VkResult                       getDeviceFaultInfoEXT                                                   (VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo) const = 0;
index f7c53b4..7f08e07 100644 (file)
@@ -89,3 +89,4 @@ virtual VkResult      getPhysicalDeviceVideoCapabilitiesKHR                                                   (VkPhysicalDevice p
 virtual VkResult       getPhysicalDeviceVideoFormatPropertiesKHR                                               (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties) const = 0;
 virtual VkResult       acquireDrmDisplayEXT                                                                                    (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display) const = 0;
 virtual VkResult       getDrmDisplayEXT                                                                                                (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display) const = 0;
+virtual VkResult       getPhysicalDeviceOpticalFlowImageFormatsNV                                              (VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties) const = 0;
index 6ae57af..953b707 100644 (file)
@@ -60,7 +60,7 @@ extern "C" {
 #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE  32
 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
-#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2
+#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6
 #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
 #define STD_VIDEO_H264_MAX_NUM_LIST_REF   32
 #define STD_VIDEO_H264_MAX_CHROMA_PLANES  2
@@ -83,29 +83,29 @@ typedef enum StdVideoH264ProfileIdc {
     STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
 } StdVideoH264ProfileIdc;
 
-typedef enum StdVideoH264Level {
-    STD_VIDEO_H264_LEVEL_1_0 = 0,
-    STD_VIDEO_H264_LEVEL_1_1 = 1,
-    STD_VIDEO_H264_LEVEL_1_2 = 2,
-    STD_VIDEO_H264_LEVEL_1_3 = 3,
-    STD_VIDEO_H264_LEVEL_2_0 = 4,
-    STD_VIDEO_H264_LEVEL_2_1 = 5,
-    STD_VIDEO_H264_LEVEL_2_2 = 6,
-    STD_VIDEO_H264_LEVEL_3_0 = 7,
-    STD_VIDEO_H264_LEVEL_3_1 = 8,
-    STD_VIDEO_H264_LEVEL_3_2 = 9,
-    STD_VIDEO_H264_LEVEL_4_0 = 10,
-    STD_VIDEO_H264_LEVEL_4_1 = 11,
-    STD_VIDEO_H264_LEVEL_4_2 = 12,
-    STD_VIDEO_H264_LEVEL_5_0 = 13,
-    STD_VIDEO_H264_LEVEL_5_1 = 14,
-    STD_VIDEO_H264_LEVEL_5_2 = 15,
-    STD_VIDEO_H264_LEVEL_6_0 = 16,
-    STD_VIDEO_H264_LEVEL_6_1 = 17,
-    STD_VIDEO_H264_LEVEL_6_2 = 18,
-    STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF,
-    STD_VIDEO_H264_LEVEL_MAX_ENUM = 0x7FFFFFFF
-} StdVideoH264Level;
+typedef enum StdVideoH264LevelIdc {
+    STD_VIDEO_H264_LEVEL_IDC_1_0 = 0,
+    STD_VIDEO_H264_LEVEL_IDC_1_1 = 1,
+    STD_VIDEO_H264_LEVEL_IDC_1_2 = 2,
+    STD_VIDEO_H264_LEVEL_IDC_1_3 = 3,
+    STD_VIDEO_H264_LEVEL_IDC_2_0 = 4,
+    STD_VIDEO_H264_LEVEL_IDC_2_1 = 5,
+    STD_VIDEO_H264_LEVEL_IDC_2_2 = 6,
+    STD_VIDEO_H264_LEVEL_IDC_3_0 = 7,
+    STD_VIDEO_H264_LEVEL_IDC_3_1 = 8,
+    STD_VIDEO_H264_LEVEL_IDC_3_2 = 9,
+    STD_VIDEO_H264_LEVEL_IDC_4_0 = 10,
+    STD_VIDEO_H264_LEVEL_IDC_4_1 = 11,
+    STD_VIDEO_H264_LEVEL_IDC_4_2 = 12,
+    STD_VIDEO_H264_LEVEL_IDC_5_0 = 13,
+    STD_VIDEO_H264_LEVEL_IDC_5_1 = 14,
+    STD_VIDEO_H264_LEVEL_IDC_5_2 = 15,
+    STD_VIDEO_H264_LEVEL_IDC_6_0 = 16,
+    STD_VIDEO_H264_LEVEL_IDC_6_1 = 17,
+    STD_VIDEO_H264_LEVEL_IDC_6_2 = 18,
+    STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF,
+    STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
+} StdVideoH264LevelIdc;
 
 typedef enum StdVideoH264PocType {
     STD_VIDEO_H264_POC_TYPE_0 = 0,
@@ -230,6 +230,7 @@ typedef struct StdVideoH264HrdParameters {
     deUint8     cpb_cnt_minus1;
     deUint8     bit_rate_scale;
     deUint8     cpb_size_scale;
+    deUint8     reserved1;
     deUint32    bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
     deUint32    cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
     deUint8     cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
@@ -245,14 +246,17 @@ typedef struct StdVideoH264SequenceParameterSetVui {
     deUint16                            sar_width;
     deUint16                            sar_height;
     deUint8                             video_format;
-    deUint8                             color_primaries;
+    deUint8                             colour_primaries;
     deUint8                             transfer_characteristics;
     deUint8                             matrix_coefficients;
     deUint32                            num_units_in_tick;
     deUint32                            time_scale;
-    const StdVideoH264HrdParameters*    pHrdParameters;
     deUint8                             max_num_reorder_frames;
     deUint8                             max_dec_frame_buffering;
+    deUint8                             chroma_sample_loc_type_top_field;
+    deUint8                             chroma_sample_loc_type_bottom_field;
+    deUint32                            reserved1;
+    const StdVideoH264HrdParameters*    pHrdParameters;
 } StdVideoH264SequenceParameterSetVui;
 
 typedef struct StdVideoH264SpsFlags {
@@ -275,33 +279,35 @@ typedef struct StdVideoH264SpsFlags {
 } StdVideoH264SpsFlags;
 
 typedef struct StdVideoH264ScalingLists {
-    deUint8    scaling_list_present_mask;
-    deUint8    use_default_scaling_matrix_mask;
-    deUint8    ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
-    deUint8    ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
+    deUint16    scaling_list_present_mask;
+    deUint16    use_default_scaling_matrix_mask;
+    deUint8     ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
+    deUint8     ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
 } StdVideoH264ScalingLists;
 
 typedef struct StdVideoH264SequenceParameterSet {
     StdVideoH264SpsFlags                          flags;
     StdVideoH264ProfileIdc                        profile_idc;
-    StdVideoH264Level                             level_idc;
-    deUint8                                       seq_parameter_set_id;
+    StdVideoH264LevelIdc                          level_idc;
     StdVideoH264ChromaFormatIdc                   chroma_format_idc;
+    deUint8                                       seq_parameter_set_id;
     deUint8                                       bit_depth_luma_minus8;
     deUint8                                       bit_depth_chroma_minus8;
     deUint8                                       log2_max_frame_num_minus4;
     StdVideoH264PocType                           pic_order_cnt_type;
-    deUint8                                       log2_max_pic_order_cnt_lsb_minus4;
     deInt32                                       offset_for_non_ref_pic;
     deInt32                                       offset_for_top_to_bottom_field;
+    deUint8                                       log2_max_pic_order_cnt_lsb_minus4;
     deUint8                                       num_ref_frames_in_pic_order_cnt_cycle;
     deUint8                                       max_num_ref_frames;
+    deUint8                                       reserved1;
     deUint32                                      pic_width_in_mbs_minus1;
     deUint32                                      pic_height_in_map_units_minus1;
     deUint32                                      frame_crop_left_offset;
     deUint32                                      frame_crop_right_offset;
     deUint32                                      frame_crop_top_offset;
     deUint32                                      frame_crop_bottom_offset;
+    deUint32                                      reserved2;
     const deInt32*                                pOffsetForRefFrame;
     const StdVideoH264ScalingLists*               pScalingLists;
     const StdVideoH264SequenceParameterSetVui*    pSequenceParameterSetVui;
@@ -312,9 +318,8 @@ typedef struct StdVideoH264PpsFlags {
     deUint32    redundant_pic_cnt_present_flag : 1;
     deUint32    constrained_intra_pred_flag : 1;
     deUint32    deblocking_filter_control_present_flag : 1;
-    deUint32    weighted_bipred_idc_flag : 1;
     deUint32    weighted_pred_flag : 1;
-    deUint32    pic_order_present_flag : 1;
+    deUint32    bottom_field_pic_order_in_frame_present_flag : 1;
     deUint32    entropy_coding_mode_flag : 1;
     deUint32    pic_scaling_matrix_present_flag : 1;
 } StdVideoH264PpsFlags;
@@ -362,9 +367,9 @@ extern "C" {
 
 #define vulkan_video_codec_h264std_encode 1
 // Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6) // Patch version should always be set to 0
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_8 VK_MAKE_VIDEO_STD_VERSION(0, 9, 8) // Patch version should always be set to 0
 
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_8
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
 typedef struct StdVideoEncodeH264WeightTableFlags {
     deUint32    luma_weight_l0_flag;
@@ -493,7 +498,7 @@ extern "C" {
 
 
 #define vulkan_video_codec_h265std 1
-#define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
+#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7
 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE  32
 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
@@ -505,11 +510,16 @@ extern "C" {
 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
+#define STD_VIDEO_H265_MAX_DPB_SIZE       16
+#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32
+#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
-#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
 #define STD_VIDEO_H265_MAX_NUM_LIST_REF   15
 #define STD_VIDEO_H265_MAX_CHROMA_PLANES  2
+#define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64
+#define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16
+#define STD_VIDEO_H265_MAX_DELTA_POC      48
 
 typedef enum StdVideoH265ChromaFormatIdc {
     STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
@@ -530,23 +540,23 @@ typedef enum StdVideoH265ProfileIdc {
     STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
 } StdVideoH265ProfileIdc;
 
-typedef enum StdVideoH265Level {
-    STD_VIDEO_H265_LEVEL_1_0 = 0,
-    STD_VIDEO_H265_LEVEL_2_0 = 1,
-    STD_VIDEO_H265_LEVEL_2_1 = 2,
-    STD_VIDEO_H265_LEVEL_3_0 = 3,
-    STD_VIDEO_H265_LEVEL_3_1 = 4,
-    STD_VIDEO_H265_LEVEL_4_0 = 5,
-    STD_VIDEO_H265_LEVEL_4_1 = 6,
-    STD_VIDEO_H265_LEVEL_5_0 = 7,
-    STD_VIDEO_H265_LEVEL_5_1 = 8,
-    STD_VIDEO_H265_LEVEL_5_2 = 9,
-    STD_VIDEO_H265_LEVEL_6_0 = 10,
-    STD_VIDEO_H265_LEVEL_6_1 = 11,
-    STD_VIDEO_H265_LEVEL_6_2 = 12,
-    STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF,
-    STD_VIDEO_H265_LEVEL_MAX_ENUM = 0x7FFFFFFF
-} StdVideoH265Level;
+typedef enum StdVideoH265LevelIdc {
+    STD_VIDEO_H265_LEVEL_IDC_1_0 = 0,
+    STD_VIDEO_H265_LEVEL_IDC_2_0 = 1,
+    STD_VIDEO_H265_LEVEL_IDC_2_1 = 2,
+    STD_VIDEO_H265_LEVEL_IDC_3_0 = 3,
+    STD_VIDEO_H265_LEVEL_IDC_3_1 = 4,
+    STD_VIDEO_H265_LEVEL_IDC_4_0 = 5,
+    STD_VIDEO_H265_LEVEL_IDC_4_1 = 6,
+    STD_VIDEO_H265_LEVEL_IDC_5_0 = 7,
+    STD_VIDEO_H265_LEVEL_IDC_5_1 = 8,
+    STD_VIDEO_H265_LEVEL_IDC_5_2 = 9,
+    STD_VIDEO_H265_LEVEL_IDC_6_0 = 10,
+    STD_VIDEO_H265_LEVEL_IDC_6_1 = 11,
+    STD_VIDEO_H265_LEVEL_IDC_6_2 = 12,
+    STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF,
+    STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
+} StdVideoH265LevelIdc;
 
 typedef enum StdVideoH265SliceType {
     STD_VIDEO_H265_SLICE_TYPE_B = 0,
@@ -564,10 +574,33 @@ typedef enum StdVideoH265PictureType {
     STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
     STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
 } StdVideoH265PictureType;
+
+typedef enum StdVideoH265AspectRatioIdc {
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
+    STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
+} StdVideoH265AspectRatioIdc;
 typedef struct StdVideoH265DecPicBufMgr {
-    deUint32    max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-    deUint8     max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-    deUint8     max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+    deUint32    max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+    deUint8     max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+    deUint8     max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
 } StdVideoH265DecPicBufMgr;
 
 typedef struct StdVideoH265SubLayerHrdParameters {
@@ -599,10 +632,11 @@ typedef struct StdVideoH265HrdParameters {
     deUint8                                     initial_cpb_removal_delay_length_minus1;
     deUint8                                     au_cpb_removal_delay_length_minus1;
     deUint8                                     dpb_output_delay_length_minus1;
-    deUint8                                     cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-    deUint16                                    elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-    const StdVideoH265SubLayerHrdParameters*    pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
-    const StdVideoH265SubLayerHrdParameters*    pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
+    deUint8                                     cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+    deUint16                                    elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
+    deUint16                                    reserved[3];
+    const StdVideoH265SubLayerHrdParameters*    pSubLayerHrdParametersNal;
+    const StdVideoH265SubLayerHrdParameters*    pSubLayerHrdParametersVcl;
 } StdVideoH265HrdParameters;
 
 typedef struct StdVideoH265VpsFlags {
@@ -612,15 +646,33 @@ typedef struct StdVideoH265VpsFlags {
     deUint32    vps_poc_proportional_to_timing_flag : 1;
 } StdVideoH265VpsFlags;
 
+typedef struct StdVideoH265ProfileTierLevelFlags {
+    deUint32    general_tier_flag : 1;
+    deUint32    general_progressive_source_flag : 1;
+    deUint32    general_interlaced_source_flag : 1;
+    deUint32    general_non_packed_constraint_flag : 1;
+    deUint32    general_frame_only_constraint_flag : 1;
+} StdVideoH265ProfileTierLevelFlags;
+
+typedef struct StdVideoH265ProfileTierLevel {
+    StdVideoH265ProfileTierLevelFlags    flags;
+    StdVideoH265ProfileIdc               general_profile_idc;
+    StdVideoH265LevelIdc                 general_level_idc;
+} StdVideoH265ProfileTierLevel;
+
 typedef struct StdVideoH265VideoParameterSet {
-    StdVideoH265VpsFlags                flags;
-    deUint8                             vps_video_parameter_set_id;
-    deUint8                             vps_max_sub_layers_minus1;
-    deUint32                            vps_num_units_in_tick;
-    deUint32                            vps_time_scale;
-    deUint32                            vps_num_ticks_poc_diff_one_minus1;
-    const StdVideoH265DecPicBufMgr*     pDecPicBufMgr;
-    const StdVideoH265HrdParameters*    pHrdParameters;
+    StdVideoH265VpsFlags                   flags;
+    deUint8                                vps_video_parameter_set_id;
+    deUint8                                vps_max_sub_layers_minus1;
+    deUint8                                reserved1;
+    deUint8                                reserved2;
+    deUint32                               vps_num_units_in_tick;
+    deUint32                               vps_time_scale;
+    deUint32                               vps_num_ticks_poc_diff_one_minus1;
+    deUint32                               reserved3;
+    const StdVideoH265DecPicBufMgr*        pDecPicBufMgr;
+    const StdVideoH265HrdParameters*       pHrdParameters;
+    const StdVideoH265ProfileTierLevel*    pProfileTierLevel;
 } StdVideoH265VideoParameterSet;
 
 typedef struct StdVideoH265ScalingLists {
@@ -655,7 +707,7 @@ typedef struct StdVideoH265SpsVuiFlags {
 
 typedef struct StdVideoH265SequenceParameterSetVui {
     StdVideoH265SpsVuiFlags             flags;
-    deUint8                             aspect_ratio_idc;
+    StdVideoH265AspectRatioIdc          aspect_ratio_idc;
     deUint16                            sar_width;
     deUint16                            sar_height;
     deUint8                             video_format;
@@ -664,6 +716,8 @@ typedef struct StdVideoH265SequenceParameterSetVui {
     deUint8                             matrix_coeffs;
     deUint8                             chroma_sample_loc_type_top_field;
     deUint8                             chroma_sample_loc_type_bottom_field;
+    deUint8                             reserved1;
+    deUint8                             reserved2;
     deUint16                            def_disp_win_left_offset;
     deUint16                            def_disp_win_right_offset;
     deUint16                            def_disp_win_top_offset;
@@ -671,12 +725,13 @@ typedef struct StdVideoH265SequenceParameterSetVui {
     deUint32                            vui_num_units_in_tick;
     deUint32                            vui_time_scale;
     deUint32                            vui_num_ticks_poc_diff_one_minus1;
-    const StdVideoH265HrdParameters*    pHrdParameters;
     deUint16                            min_spatial_segmentation_idc;
+    deUint16                            reserved3;
     deUint8                             max_bytes_per_pic_denom;
     deUint8                             max_bits_per_min_cu_denom;
     deUint8                             log2_max_mv_length_horizontal;
     deUint8                             log2_max_mv_length_vertical;
+    const StdVideoH265HrdParameters*    pHrdParameters;
 } StdVideoH265SequenceParameterSetVui;
 
 typedef struct StdVideoH265PredictorPaletteEntries {
@@ -686,6 +741,8 @@ typedef struct StdVideoH265PredictorPaletteEntries {
 typedef struct StdVideoH265SpsFlags {
     deUint32    sps_temporal_id_nesting_flag : 1;
     deUint32    separate_colour_plane_flag : 1;
+    deUint32    conformance_window_flag : 1;
+    deUint32    sps_sub_layer_ordering_info_present_flag : 1;
     deUint32    scaling_list_enabled_flag : 1;
     deUint32    sps_scaling_list_data_present_flag : 1;
     deUint32    amp_enabled_flag : 1;
@@ -710,20 +767,45 @@ typedef struct StdVideoH265SpsFlags {
     deUint32    sps_scc_extension_flag : 1;
     deUint32    sps_curr_pic_ref_enabled_flag : 1;
     deUint32    palette_mode_enabled_flag : 1;
-    deUint32    sps_palette_predictor_initializer_present_flag : 1;
+    deUint32    sps_palette_predictor_initializers_present_flag : 1;
     deUint32    intra_boundary_filtering_disabled_flag : 1;
 } StdVideoH265SpsFlags;
 
+typedef struct StdVideoH265ShortTermRefPicSetFlags {
+    deUint32    inter_ref_pic_set_prediction_flag : 1;
+    deUint32    delta_rps_sign : 1;
+} StdVideoH265ShortTermRefPicSetFlags;
+
+typedef struct StdVideoH265ShortTermRefPicSet {
+    StdVideoH265ShortTermRefPicSetFlags    flags;
+    deUint32                               delta_idx_minus1;
+    deUint16                               use_delta_flag;
+    deUint16                               abs_delta_rps_minus1;
+    deUint16                               used_by_curr_pic_flag;
+    deUint16                               used_by_curr_pic_s0_flag;
+    deUint16                               used_by_curr_pic_s1_flag;
+    deUint16                               reserved1;
+    deUint8                                reserved2;
+    deUint8                                reserved3;
+    deUint8                                num_negative_pics;
+    deUint8                                num_positive_pics;
+    deUint16                               delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
+    deUint16                               delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
+} StdVideoH265ShortTermRefPicSet;
+
+typedef struct StdVideoH265LongTermRefPicsSps {
+    deUint32    used_by_curr_pic_lt_sps_flag;
+    deUint32    lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
+} StdVideoH265LongTermRefPicsSps;
+
 typedef struct StdVideoH265SequenceParameterSet {
     StdVideoH265SpsFlags                          flags;
-    StdVideoH265ProfileIdc                        profile_idc;
-    StdVideoH265Level                             level_idc;
+    StdVideoH265ChromaFormatIdc                   chroma_format_idc;
     deUint32                                      pic_width_in_luma_samples;
     deUint32                                      pic_height_in_luma_samples;
     deUint8                                       sps_video_parameter_set_id;
     deUint8                                       sps_max_sub_layers_minus1;
     deUint8                                       sps_seq_parameter_set_id;
-    deUint8                                       chroma_format_idc;
     deUint8                                       bit_depth_luma_minus8;
     deUint8                                       bit_depth_chroma_minus8;
     deUint8                                       log2_max_pic_order_cnt_lsb_minus4;
@@ -739,17 +821,22 @@ typedef struct StdVideoH265SequenceParameterSet {
     deUint8                                       pcm_sample_bit_depth_chroma_minus1;
     deUint8                                       log2_min_pcm_luma_coding_block_size_minus3;
     deUint8                                       log2_diff_max_min_pcm_luma_coding_block_size;
+    deUint8                                       reserved1;
+    deUint8                                       reserved2;
+    deUint8                                       palette_max_size;
+    deUint8                                       delta_palette_max_predictor_size;
+    deUint8                                       motion_vector_resolution_control_idc;
+    deUint8                                       sps_num_palette_predictor_initializers_minus1;
     deUint32                                      conf_win_left_offset;
     deUint32                                      conf_win_right_offset;
     deUint32                                      conf_win_top_offset;
     deUint32                                      conf_win_bottom_offset;
+    const StdVideoH265ProfileTierLevel*           pProfileTierLevel;
     const StdVideoH265DecPicBufMgr*               pDecPicBufMgr;
     const StdVideoH265ScalingLists*               pScalingLists;
+    const StdVideoH265ShortTermRefPicSet*         pShortTermRefPicSet;
+    const StdVideoH265LongTermRefPicsSps*         pLongTermRefPicsSps;
     const StdVideoH265SequenceParameterSetVui*    pSequenceParameterSetVui;
-    deUint8                                       palette_max_size;
-    deUint8                                       delta_palette_max_predictor_size;
-    deUint8                                       motion_vector_resolution_control_idc;
-    deUint8                                       sps_num_palette_predictor_initializer_minus1;
     const StdVideoH265PredictorPaletteEntries*    pPredictorPaletteEntries;
 } StdVideoH265SequenceParameterSet;
 
@@ -782,7 +869,7 @@ typedef struct StdVideoH265PpsFlags {
     deUint32    pps_curr_pic_ref_enabled_flag : 1;
     deUint32    residual_adaptive_colour_transform_enabled_flag : 1;
     deUint32    pps_slice_act_qp_offsets_present_flag : 1;
-    deUint32    pps_palette_predictor_initializer_present_flag : 1;
+    deUint32    pps_palette_predictor_initializers_present_flag : 1;
     deUint32    monochrome_palette_flag : 1;
     deUint32    pps_range_extension_flag : 1;
 } StdVideoH265PpsFlags;
@@ -791,6 +878,7 @@ typedef struct StdVideoH265PictureParameterSet {
     StdVideoH265PpsFlags                          flags;
     deUint8                                       pps_pic_parameter_set_id;
     deUint8                                       pps_seq_parameter_set_id;
+    deUint8                                       sps_video_parameter_set_id;
     deUint8                                       num_extra_slice_header_bits;
     deUint8                                       num_ref_idx_l0_default_active_minus1;
     deUint8                                       num_ref_idx_l1_default_active_minus1;
@@ -798,14 +886,9 @@ typedef struct StdVideoH265PictureParameterSet {
     deUint8                                       diff_cu_qp_delta_depth;
     deInt8                                        pps_cb_qp_offset;
     deInt8                                        pps_cr_qp_offset;
-    deUint8                                       num_tile_columns_minus1;
-    deUint8                                       num_tile_rows_minus1;
-    deUint16                                      column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
-    deUint16                                      row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
     deInt8                                        pps_beta_offset_div2;
     deInt8                                        pps_tc_offset_div2;
     deUint8                                       log2_parallel_merge_level_minus2;
-    const StdVideoH265ScalingLists*               pScalingLists;
     deUint8                                       log2_max_transform_skip_block_size_minus2;
     deUint8                                       diff_cu_chroma_qp_offset_depth;
     deUint8                                       chroma_qp_offset_list_len_minus1;
@@ -815,10 +898,18 @@ typedef struct StdVideoH265PictureParameterSet {
     deUint8                                       log2_sao_offset_scale_chroma;
     deInt8                                        pps_act_y_qp_offset_plus5;
     deInt8                                        pps_act_cb_qp_offset_plus5;
-    deInt8                                        pps_act_cr_qp_offset_plus5;
-    deUint8                                       pps_num_palette_predictor_initializer;
+    deInt8                                        pps_act_cr_qp_offset_plus3;
+    deUint8                                       pps_num_palette_predictor_initializers;
     deUint8                                       luma_bit_depth_entry_minus8;
     deUint8                                       chroma_bit_depth_entry_minus8;
+    deUint8                                       num_tile_columns_minus1;
+    deUint8                                       num_tile_rows_minus1;
+    deUint8                                       reserved1;
+    deUint8                                       reserved2;
+    deUint16                                      column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
+    deUint16                                      row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
+    deUint32                                      reserved3;
+    const StdVideoH265ScalingLists*               pScalingLists;
     const StdVideoH265PredictorPaletteEntries*    pPredictorPaletteEntries;
 } StdVideoH265PictureParameterSet;
 
@@ -851,11 +942,10 @@ extern "C" {
 
 #define vulkan_video_codec_h264std_decode 1
 // Vulkan 0.9 provisional Vulkan video H.264 decode std specification version number
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6) // Patch version should always be set to 0
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_8 VK_MAKE_VIDEO_STD_VERSION(0, 9, 8) // Patch version should always be set to 0
 
 #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
-#define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
-#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_8
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
 
 typedef enum StdVideoDecodeH264FieldOrderCount {
@@ -877,7 +967,8 @@ typedef struct StdVideoDecodeH264PictureInfo {
     StdVideoDecodeH264PictureInfoFlags    flags;
     deUint8                               seq_parameter_set_id;
     deUint8                               pic_parameter_set_id;
-    deUint16                              reserved;
+    deUint8                               reserved1;
+    deUint8                               reserved2;
     deUint16                              frame_num;
     deUint16                              idr_pic_id;
     deInt32                               PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
@@ -894,37 +985,9 @@ typedef struct StdVideoDecodeH264ReferenceInfo {
     StdVideoDecodeH264ReferenceInfoFlags    flags;
     deUint16                                FrameNum;
     deUint16                                reserved;
-    deInt32                                 PicOrderCnt[2];
+    deInt32                                 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
 } StdVideoDecodeH264ReferenceInfo;
 
-typedef struct StdVideoDecodeH264MvcElementFlags {
-    deUint32    non_idr : 1;
-    deUint32    anchor_pic : 1;
-    deUint32    inter_view : 1;
-} StdVideoDecodeH264MvcElementFlags;
-
-typedef struct StdVideoDecodeH264MvcElement {
-    StdVideoDecodeH264MvcElementFlags    flags;
-    deUint16                             viewOrderIndex;
-    deUint16                             viewId;
-    deUint16                             temporalId;
-    deUint16                             priorityId;
-    deUint16                             numOfAnchorRefsInL0;
-    deUint16                             viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-    deUint16                             numOfAnchorRefsInL1;
-    deUint16                             viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-    deUint16                             numOfNonAnchorRefsInL0;
-    deUint16                             viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-    deUint16                             numOfNonAnchorRefsInL1;
-    deUint16                             viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
-} StdVideoDecodeH264MvcElement;
-
-typedef struct StdVideoDecodeH264Mvc {
-    deUint32                               viewId0;
-    deUint32                               mvcElementCount;
-    const StdVideoDecodeH264MvcElement*    pMvcElements;
-} StdVideoDecodeH264Mvc;
-
 
 #ifdef __cplusplus
 }
@@ -954,10 +1017,10 @@ extern "C" {
 
 #define vulkan_video_codec_h265std_decode 1
 // Vulkan 0.9 provisional Vulkan video H.265 decode std specification version number
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_VERSION(0, 9, 7) // Patch version should always be set to 0
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_9 VK_MAKE_VIDEO_STD_VERSION(0, 9, 9) // Patch version should always be set to 0
 
 #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_9
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
 typedef struct StdVideoDecodeH265PictureInfoFlags {
     deUint32    IrapPicFlag : 1;
@@ -971,10 +1034,10 @@ typedef struct StdVideoDecodeH265PictureInfo {
     deUint8                               sps_video_parameter_set_id;
     deUint8                               pps_seq_parameter_set_id;
     deUint8                               pps_pic_parameter_set_id;
-    deUint8                               num_short_term_ref_pic_sets;
+    deUint8                               NumDeltaPocsOfRefRpsIdx;
     deInt32                               PicOrderCntVal;
     deUint16                              NumBitsForSTRefPicSetInSlice;
-    deUint8                               NumDeltaPocsOfRefRpsIdx;
+    deUint16                              reserved;
     deUint8                               RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
     deUint8                               RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
     deUint8                               RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
@@ -983,7 +1046,6 @@ typedef struct StdVideoDecodeH265PictureInfo {
 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
     deUint32    used_for_long_term_reference : 1;
     deUint32    unused_for_reference : 1;
-    deUint32    is_non_existing : 1;
 } StdVideoDecodeH265ReferenceInfoFlags;
 
 typedef struct StdVideoDecodeH265ReferenceInfo {
@@ -1071,7 +1133,7 @@ extern "C" {
 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
 
 // Version of this file
-#define VK_HEADER_VERSION 227
+#define VK_HEADER_VERSION 231
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -1586,9 +1648,6 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
-    VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT = 1000040002,
-#endif
-#ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT = 1000040003,
 #endif
 #ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -1878,6 +1937,9 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
     VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
+    VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
+    VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
     VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
 #ifdef VK_ENABLE_BETA_EXTENSIONS
@@ -1938,14 +2000,17 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
+    VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001,
+    VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
     VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
-    VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
     VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
     VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
+    VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
@@ -1986,6 +2051,16 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
+    VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
+    VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
+    VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
+    VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
+    VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
+    VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007,
+    VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
     VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
@@ -2002,6 +2077,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
     VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
     VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
@@ -2011,11 +2088,23 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
     VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
+    VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
+    VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
+    VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
+    VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005,
+    VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
     VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
     VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
+    VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
     VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
@@ -2179,6 +2268,8 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
     VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
+    VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
     VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
@@ -2299,6 +2390,8 @@ typedef enum VkObjectType {
     VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
     VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
+    VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
+    VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
     VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
@@ -2577,6 +2670,7 @@ typedef enum VkFormat {
     VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
     VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
     VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
+    VK_FORMAT_R16G16_S10_5_NV = 1000464000,
     VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
     VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
     VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
@@ -2677,6 +2771,8 @@ typedef enum VkQueryType {
     VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
+    VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000,
+    VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001,
     VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkQueryType;
 
@@ -2836,6 +2932,37 @@ typedef enum VkDynamicState {
     VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
     VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
     VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
+    VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
+    VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003,
+    VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004,
+    VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005,
+    VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006,
+    VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007,
+    VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008,
+    VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009,
+    VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010,
+    VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011,
+    VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
+    VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013,
+    VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
+    VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
+    VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016,
+    VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017,
+    VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018,
+    VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019,
+    VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020,
+    VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021,
+    VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022,
+    VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023,
+    VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024,
+    VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025,
+    VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026,
+    VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027,
+    VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028,
+    VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029,
+    VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030,
+    VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
+    VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032,
     VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
     VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
     VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
@@ -2972,10 +3099,11 @@ typedef enum VkDescriptorType {
     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
     VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
     VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
-    VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
     VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
     VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
+    VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000,
     VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
+    VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT,
     VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkDescriptorType;
 
@@ -3260,6 +3388,7 @@ typedef enum VkQueueFlagBits {
 #ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
 #endif
+    VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100,
     VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkQueueFlagBits;
 typedef VkFlags VkQueueFlags;
@@ -3410,6 +3539,8 @@ typedef enum VkBufferUsageFlagBits {
 #ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
 #endif
+    VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000,
+    VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000,
     VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
     VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
@@ -3469,6 +3600,9 @@ typedef enum VkPipelineCreateFlagBits {
     VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
     VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000,
     VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000,
+    VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000,
+    VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000,
+    VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000,
     VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
     VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
     VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
@@ -3569,8 +3703,9 @@ typedef VkFlags VkSamplerCreateFlags;
 typedef enum VkDescriptorPoolCreateFlagBits {
     VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
-    VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
+    VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004,
     VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
+    VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT,
     VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkDescriptorPoolCreateFlagBits;
 typedef VkFlags VkDescriptorPoolCreateFlags;
@@ -3579,8 +3714,9 @@ typedef VkFlags VkDescriptorPoolResetFlags;
 typedef enum VkDescriptorSetLayoutCreateFlagBits {
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
-    VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkDescriptorSetLayoutCreateFlagBits;
 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
@@ -7465,6 +7601,8 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT =
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
+static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL;
+static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL;
 
 typedef VkFlags64 VkAccessFlags2;
 
@@ -7540,6 +7678,10 @@ static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0
 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL;
 
 
 typedef enum VkSubmitFlagBits {
@@ -7638,6 +7780,9 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL;
 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL;
 
 typedef struct VkPhysicalDeviceVulkan13Features {
     VkStructureType    sType;
@@ -11842,6 +11987,7 @@ typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
     VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
     VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
     VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
+    VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008,
     VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
 } VkDebugUtilsMessageTypeFlagBitsEXT;
 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
@@ -12512,6 +12658,8 @@ typedef enum VkGeometryInstanceFlagBitsKHR {
     VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
     VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
     VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
+    VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010,
+    VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020,
     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
     VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
@@ -12532,6 +12680,9 @@ typedef enum VkBuildAccelerationStructureFlagBitsKHR {
     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
     VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
     VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040,
+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080,
+    VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100,
     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
     VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
     VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
@@ -14351,6 +14502,29 @@ typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
 
 
+#define VK_NV_present_barrier 1
+#define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1
+#define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier"
+typedef struct VkPhysicalDevicePresentBarrierFeaturesNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           presentBarrier;
+} VkPhysicalDevicePresentBarrierFeaturesNV;
+
+typedef struct VkSurfaceCapabilitiesPresentBarrierNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           presentBarrierSupported;
+} VkSurfaceCapabilitiesPresentBarrierNV;
+
+typedef struct VkSwapchainPresentBarrierCreateInfoNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           presentBarrierEnable;
+} VkSwapchainPresentBarrierCreateInfoNV;
+
+
+
 #define VK_EXT_private_data 1
 typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
 
@@ -14784,6 +14958,83 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
 
 
 
+#define VK_EXT_device_fault 1
+#define VK_EXT_DEVICE_FAULT_SPEC_VERSION  1
+#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
+
+typedef enum VkDeviceFaultAddressTypeEXT {
+    VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6,
+    VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkDeviceFaultAddressTypeEXT;
+
+typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT {
+    VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1,
+    VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkDeviceFaultVendorBinaryHeaderVersionEXT;
+typedef struct VkPhysicalDeviceFaultFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           deviceFault;
+    VkBool32           deviceFaultVendorBinary;
+} VkPhysicalDeviceFaultFeaturesEXT;
+
+typedef struct VkDeviceFaultCountsEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint32           addressInfoCount;
+    deUint32           vendorInfoCount;
+    VkDeviceSize       vendorBinarySize;
+} VkDeviceFaultCountsEXT;
+
+typedef struct VkDeviceFaultAddressInfoEXT {
+    VkDeviceFaultAddressTypeEXT    addressType;
+    VkDeviceAddress                reportedAddress;
+    VkDeviceSize                   addressPrecision;
+} VkDeviceFaultAddressInfoEXT;
+
+typedef struct VkDeviceFaultVendorInfoEXT {
+    char        description[VK_MAX_DESCRIPTION_SIZE];
+    deUint64    vendorFaultCode;
+    deUint64    vendorFaultData;
+} VkDeviceFaultVendorInfoEXT;
+
+typedef struct VkDeviceFaultInfoEXT {
+    VkStructureType                 sType;
+    void*                           pNext;
+    char                            description[VK_MAX_DESCRIPTION_SIZE];
+    VkDeviceFaultAddressInfoEXT*    pAddressInfos;
+    VkDeviceFaultVendorInfoEXT*     pVendorInfos;
+    void*                           pVendorBinaryData;
+} VkDeviceFaultInfoEXT;
+
+typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
+    deUint32                                     headerSize;
+    VkDeviceFaultVendorBinaryHeaderVersionEXT    headerVersion;
+    deUint32                                     vendorID;
+    deUint32                                     deviceID;
+    deUint32                                     driverVersion;
+    deUint8                                      pipelineCacheUUID[VK_UUID_SIZE];
+    deUint32                                     applicationNameOffset;
+    deUint32                                     applicationVersion;
+    deUint32                                     engineNameOffset;
+} VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT(
+    VkDevice                                    device,
+    VkDeviceFaultCountsEXT*                     pFaultCounts,
+    VkDeviceFaultInfoEXT*                       pFaultInfo);
+#endif
+
+
 #define VK_ARM_rasterization_order_attachment_access 1
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
@@ -14831,23 +15082,29 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
 #define VK_VALVE_mutable_descriptor_type 1
 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
-typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
+typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT {
     VkStructureType    sType;
     void*              pNext;
     VkBool32           mutableDescriptorType;
-} VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
+} VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT;
+
+typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
 
-typedef struct VkMutableDescriptorTypeListVALVE {
+typedef struct VkMutableDescriptorTypeListEXT {
     deUint32                   descriptorTypeCount;
     const VkDescriptorType*    pDescriptorTypes;
-} VkMutableDescriptorTypeListVALVE;
+} VkMutableDescriptorTypeListEXT;
 
-typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
-    VkStructureType                            sType;
-    const void*                                pNext;
-    deUint32                                   mutableDescriptorTypeListCount;
-    const VkMutableDescriptorTypeListVALVE*    pMutableDescriptorTypeLists;
-} VkMutableDescriptorTypeCreateInfoVALVE;
+typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE;
+
+typedef struct VkMutableDescriptorTypeCreateInfoEXT {
+    VkStructureType                          sType;
+    const void*                              pNext;
+    deUint32                                 mutableDescriptorTypeListCount;
+    const VkMutableDescriptorTypeListEXT*    pMutableDescriptorTypeLists;
+} VkMutableDescriptorTypeCreateInfoEXT;
+
+typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE;
 
 
 
@@ -14906,6 +15163,38 @@ typedef struct VkPhysicalDeviceDrmPropertiesEXT {
 
 
 
+#define VK_EXT_device_address_binding_report 1
+#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1
+#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report"
+
+typedef enum VkDeviceAddressBindingTypeEXT {
+    VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0,
+    VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1,
+    VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkDeviceAddressBindingTypeEXT;
+
+typedef enum VkDeviceAddressBindingFlagBitsEXT {
+    VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001,
+    VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkDeviceAddressBindingFlagBitsEXT;
+typedef VkFlags VkDeviceAddressBindingFlagsEXT;
+typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           reportAddressBinding;
+} VkPhysicalDeviceAddressBindingReportFeaturesEXT;
+
+typedef struct VkDeviceAddressBindingCallbackDataEXT {
+    VkStructureType                   sType;
+    void*                             pNext;
+    VkDeviceAddressBindingFlagsEXT    flags;
+    VkDeviceAddress                   baseAddress;
+    VkDeviceSize                      size;
+    VkDeviceAddressBindingTypeEXT     bindingType;
+} VkDeviceAddressBindingCallbackDataEXT;
+
+
+
 #define VK_EXT_depth_clip_control 1
 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
@@ -15235,6 +15524,274 @@ typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
 
 
 
+#define VK_EXT_opacity_micromap 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT)
+#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
+#define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap"
+
+typedef enum VkMicromapTypeEXT {
+    VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0,
+    VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkMicromapTypeEXT;
+
+typedef enum VkBuildMicromapModeEXT {
+    VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0,
+    VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkBuildMicromapModeEXT;
+
+typedef enum VkCopyMicromapModeEXT {
+    VK_COPY_MICROMAP_MODE_CLONE_EXT = 0,
+    VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1,
+    VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2,
+    VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3,
+    VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkCopyMicromapModeEXT;
+
+typedef enum VkOpacityMicromapFormatEXT {
+    VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1,
+    VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2,
+    VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkOpacityMicromapFormatEXT;
+
+typedef enum VkOpacityMicromapSpecialIndexEXT {
+    VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1,
+    VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2,
+    VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
+    VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4,
+    VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkOpacityMicromapSpecialIndexEXT;
+
+typedef enum VkAccelerationStructureCompatibilityKHR {
+    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
+    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
+    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkAccelerationStructureCompatibilityKHR;
+
+typedef enum VkAccelerationStructureBuildTypeKHR {
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
+    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkAccelerationStructureBuildTypeKHR;
+
+typedef enum VkBuildMicromapFlagBitsEXT {
+    VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001,
+    VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002,
+    VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004,
+    VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkBuildMicromapFlagBitsEXT;
+typedef VkFlags VkBuildMicromapFlagsEXT;
+
+typedef enum VkMicromapCreateFlagBitsEXT {
+    VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001,
+    VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkMicromapCreateFlagBitsEXT;
+typedef VkFlags VkMicromapCreateFlagsEXT;
+typedef struct VkMicromapUsageEXT {
+    deUint32    count;
+    deUint32    subdivisionLevel;
+    deUint32    format;
+} VkMicromapUsageEXT;
+
+typedef union VkDeviceOrHostAddressKHR {
+    VkDeviceAddress    deviceAddress;
+    void*              hostAddress;
+} VkDeviceOrHostAddressKHR;
+
+typedef struct VkMicromapBuildInfoEXT {
+    VkStructureType                     sType;
+    const void*                         pNext;
+    VkMicromapTypeEXT                   type;
+    VkBuildMicromapFlagsEXT             flags;
+    VkBuildMicromapModeEXT              mode;
+    VkMicromapEXT                       dstMicromap;
+    deUint32                            usageCountsCount;
+    const VkMicromapUsageEXT*           pUsageCounts;
+    const VkMicromapUsageEXT* const*    ppUsageCounts;
+    VkDeviceOrHostAddressConstKHR       data;
+    VkDeviceOrHostAddressKHR            scratchData;
+    VkDeviceOrHostAddressConstKHR       triangleArray;
+    VkDeviceSize                        triangleArrayStride;
+} VkMicromapBuildInfoEXT;
+
+typedef struct VkMicromapCreateInfoEXT {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkMicromapCreateFlagsEXT    createFlags;
+    VkBuffer                    buffer;
+    VkDeviceSize                offset;
+    VkDeviceSize                size;
+    VkMicromapTypeEXT           type;
+    VkDeviceAddress             deviceAddress;
+} VkMicromapCreateInfoEXT;
+
+typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           micromap;
+    VkBool32           micromapCaptureReplay;
+    VkBool32           micromapHostCommands;
+} VkPhysicalDeviceOpacityMicromapFeaturesEXT;
+
+typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint32           maxOpacity2StateSubdivisionLevel;
+    deUint32           maxOpacity4StateSubdivisionLevel;
+} VkPhysicalDeviceOpacityMicromapPropertiesEXT;
+
+typedef struct VkMicromapVersionInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    const deUint8*     pVersionData;
+} VkMicromapVersionInfoEXT;
+
+typedef struct VkCopyMicromapToMemoryInfoEXT {
+    VkStructureType             sType;
+    const void*                 pNext;
+    VkMicromapEXT               src;
+    VkDeviceOrHostAddressKHR    dst;
+    VkCopyMicromapModeEXT       mode;
+} VkCopyMicromapToMemoryInfoEXT;
+
+typedef struct VkCopyMemoryToMicromapInfoEXT {
+    VkStructureType                  sType;
+    const void*                      pNext;
+    VkDeviceOrHostAddressConstKHR    src;
+    VkMicromapEXT                    dst;
+    VkCopyMicromapModeEXT            mode;
+} VkCopyMemoryToMicromapInfoEXT;
+
+typedef struct VkCopyMicromapInfoEXT {
+    VkStructureType          sType;
+    const void*              pNext;
+    VkMicromapEXT            src;
+    VkMicromapEXT            dst;
+    VkCopyMicromapModeEXT    mode;
+} VkCopyMicromapInfoEXT;
+
+typedef struct VkMicromapBuildSizesInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkDeviceSize       micromapSize;
+    VkDeviceSize       buildScratchSize;
+    VkBool32           discardable;
+} VkMicromapBuildSizesInfoEXT;
+
+typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT {
+    VkStructureType                     sType;
+    void*                               pNext;
+    VkIndexType                         indexType;
+    VkDeviceOrHostAddressConstKHR       indexBuffer;
+    VkDeviceSize                        indexStride;
+    deUint32                            baseTriangle;
+    deUint32                            usageCountsCount;
+    const VkMicromapUsageEXT*           pUsageCounts;
+    const VkMicromapUsageEXT* const*    ppUsageCounts;
+    VkMicromapEXT                       micromap;
+} VkAccelerationStructureTrianglesOpacityMicromapEXT;
+
+typedef struct VkMicromapTriangleEXT {
+    deUint32    dataOffset;
+    deUint16    subdivisionLevel;
+    deUint16    format;
+} VkMicromapTriangleEXT;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice                                           device, const VkMicromapCreateInfoEXT*        pCreateInfo, const VkAllocationCallbacks*       pAllocator, VkMicromapEXT*                        pMicromap);
+typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator);
+typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer                                    commandBuffer, deUint32 infoCount, const VkMicromapBuildInfoEXT* pInfos);
+typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice                                           device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkMicromapBuildInfoEXT* pInfos);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, deUint32 micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType  queryType, deUintptr       dataSize, void* pData, deUintptr stride);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, deUint32 micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
+typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
+typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice                                            device, VkAccelerationStructureBuildTypeKHR                 buildType, const VkMicromapBuildInfoEXT*  pBuildInfo, VkMicromapBuildSizesInfoEXT*           pSizeInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT(
+    VkDevice                                    device,
+    const VkMicromapCreateInfoEXT*              pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkMicromapEXT*                              pMicromap);
+
+VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT(
+    VkDevice                                    device,
+    VkMicromapEXT                               micromap,
+    const VkAllocationCallbacks*                pAllocator);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    infoCount,
+    const VkMicromapBuildInfoEXT*               pInfos);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    deUint32                                    infoCount,
+    const VkMicromapBuildInfoEXT*               pInfos);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    const VkCopyMicromapInfoEXT*                pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    const VkCopyMicromapToMemoryInfoEXT*        pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT(
+    VkDevice                                    device,
+    VkDeferredOperationKHR                      deferredOperation,
+    const VkCopyMemoryToMicromapInfoEXT*        pInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(
+    VkDevice                                    device,
+    deUint32                                    micromapCount,
+    const VkMicromapEXT*                        pMicromaps,
+    VkQueryType                                 queryType,
+    deUintptr                                      dataSize,
+    void*                                       pData,
+    deUintptr                                      stride);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyMicromapInfoEXT*                pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyMicromapToMemoryInfoEXT*        pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT(
+    VkCommandBuffer                             commandBuffer,
+    const VkCopyMemoryToMicromapInfoEXT*        pInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    micromapCount,
+    const VkMicromapEXT*                        pMicromaps,
+    VkQueryType                                 queryType,
+    VkQueryPool                                 queryPool,
+    deUint32                                    firstQuery);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT(
+    VkDevice                                    device,
+    const VkMicromapVersionInfoEXT*             pVersionInfo,
+    VkAccelerationStructureCompatibilityKHR*    pCompatibility);
+
+VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT(
+    VkDevice                                    device,
+    VkAccelerationStructureBuildTypeKHR         buildType,
+    const VkMicromapBuildInfoEXT*               pBuildInfo,
+    VkMicromapBuildSizesInfoEXT*                pSizeInfo);
+#endif
+
+
 #define VK_EXT_load_store_op_none 1
 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
@@ -15375,7 +15932,7 @@ typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
 
 
 #define VK_GOOGLE_surfaceless_query 1
-#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
+#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2
 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
 
 
@@ -15420,6 +15977,239 @@ typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
 
 
 
+#define VK_EXT_extended_dynamic_state3 1
+#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2
+#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3"
+typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           extendedDynamicState3TessellationDomainOrigin;
+    VkBool32           extendedDynamicState3DepthClampEnable;
+    VkBool32           extendedDynamicState3PolygonMode;
+    VkBool32           extendedDynamicState3RasterizationSamples;
+    VkBool32           extendedDynamicState3SampleMask;
+    VkBool32           extendedDynamicState3AlphaToCoverageEnable;
+    VkBool32           extendedDynamicState3AlphaToOneEnable;
+    VkBool32           extendedDynamicState3LogicOpEnable;
+    VkBool32           extendedDynamicState3ColorBlendEnable;
+    VkBool32           extendedDynamicState3ColorBlendEquation;
+    VkBool32           extendedDynamicState3ColorWriteMask;
+    VkBool32           extendedDynamicState3RasterizationStream;
+    VkBool32           extendedDynamicState3ConservativeRasterizationMode;
+    VkBool32           extendedDynamicState3ExtraPrimitiveOverestimationSize;
+    VkBool32           extendedDynamicState3DepthClipEnable;
+    VkBool32           extendedDynamicState3SampleLocationsEnable;
+    VkBool32           extendedDynamicState3ColorBlendAdvanced;
+    VkBool32           extendedDynamicState3ProvokingVertexMode;
+    VkBool32           extendedDynamicState3LineRasterizationMode;
+    VkBool32           extendedDynamicState3LineStippleEnable;
+    VkBool32           extendedDynamicState3DepthClipNegativeOneToOne;
+    VkBool32           extendedDynamicState3ViewportWScalingEnable;
+    VkBool32           extendedDynamicState3ViewportSwizzle;
+    VkBool32           extendedDynamicState3CoverageToColorEnable;
+    VkBool32           extendedDynamicState3CoverageToColorLocation;
+    VkBool32           extendedDynamicState3CoverageModulationMode;
+    VkBool32           extendedDynamicState3CoverageModulationTableEnable;
+    VkBool32           extendedDynamicState3CoverageModulationTable;
+    VkBool32           extendedDynamicState3CoverageReductionMode;
+    VkBool32           extendedDynamicState3RepresentativeFragmentTestEnable;
+    VkBool32           extendedDynamicState3ShadingRateImageEnable;
+} VkPhysicalDeviceExtendedDynamicState3FeaturesEXT;
+
+typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           dynamicPrimitiveTopologyUnrestricted;
+} VkPhysicalDeviceExtendedDynamicState3PropertiesEXT;
+
+typedef struct VkColorBlendEquationEXT {
+    VkBlendFactor    srcColorBlendFactor;
+    VkBlendFactor    dstColorBlendFactor;
+    VkBlendOp        colorBlendOp;
+    VkBlendFactor    srcAlphaBlendFactor;
+    VkBlendFactor    dstAlphaBlendFactor;
+    VkBlendOp        alphaBlendOp;
+} VkColorBlendEquationEXT;
+
+typedef struct VkColorBlendAdvancedEXT {
+    VkBlendOp            advancedBlendOp;
+    VkBool32             srcPremultiplied;
+    VkBool32             dstPremultiplied;
+    VkBlendOverlapEXT    blendOverlap;
+    VkBool32             clampResults;
+} VkColorBlendAdvancedEXT;
+
+typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin);
+typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode);
+typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits  rasterizationSamples);
+typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits  samples, const VkSampleMask*    pSampleMask);
+typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkBool32* pColorBlendEnables);
+typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations);
+typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkColorComponentFlags* pColorWriteMasks);
+typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, deUint32 rasterizationStream);
+typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode);
+typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize);
+typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced);
+typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode);
+typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode);
+typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne);
+typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportSwizzleNV* pViewportSwizzles);
+typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, deUint32 coverageToColorLocation);
+typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode);
+typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, deUint32 coverageModulationTableCount, const float* pCoverageModulationTable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable);
+typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkTessellationDomainOrigin                  domainOrigin);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    depthClampEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkPolygonMode                               polygonMode);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkSampleCountFlagBits                       rasterizationSamples);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkSampleCountFlagBits                       samples,
+    const VkSampleMask*                         pSampleMask);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    alphaToCoverageEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    alphaToOneEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    logicOpEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    firstAttachment,
+    deUint32                                    attachmentCount,
+    const VkBool32*                             pColorBlendEnables);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    firstAttachment,
+    deUint32                                    attachmentCount,
+    const VkColorBlendEquationEXT*              pColorBlendEquations);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    firstAttachment,
+    deUint32                                    attachmentCount,
+    const VkColorComponentFlags*                pColorWriteMasks);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    rasterizationStream);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkConservativeRasterizationModeEXT          conservativeRasterizationMode);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT(
+    VkCommandBuffer                             commandBuffer,
+    float                                       extraPrimitiveOverestimationSize);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    depthClipEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    sampleLocationsEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    firstAttachment,
+    deUint32                                    attachmentCount,
+    const VkColorBlendAdvancedEXT*              pColorBlendAdvanced);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkProvokingVertexModeEXT                    provokingVertexMode);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkLineRasterizationModeEXT                  lineRasterizationMode);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    stippledLineEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    negativeOneToOne);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    viewportWScalingEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    firstViewport,
+    deUint32                                    viewportCount,
+    const VkViewportSwizzleNV*                  pViewportSwizzles);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    coverageToColorEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    coverageToColorLocation);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV(
+    VkCommandBuffer                             commandBuffer,
+    VkCoverageModulationModeNV                  coverageModulationMode);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    coverageModulationTableEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV(
+    VkCommandBuffer                             commandBuffer,
+    deUint32                                    coverageModulationTableCount,
+    const float*                                pCoverageModulationTable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    shadingRateImageEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV(
+    VkCommandBuffer                             commandBuffer,
+    VkBool32                                    representativeFragmentTestEnable);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV(
+    VkCommandBuffer                             commandBuffer,
+    VkCoverageReductionModeNV                   coverageReductionMode);
+#endif
+
+
 #define VK_EXT_subpass_merge_feedback 1
 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
@@ -15528,6 +16318,170 @@ VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access"
 
 
+#define VK_NV_optical_flow 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV)
+#define VK_NV_OPTICAL_FLOW_SPEC_VERSION   1
+#define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow"
+
+typedef enum VkOpticalFlowPerformanceLevelNV {
+    VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0,
+    VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1,
+    VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2,
+    VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3,
+    VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF
+} VkOpticalFlowPerformanceLevelNV;
+
+typedef enum VkOpticalFlowSessionBindingPointNV {
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8,
+    VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF
+} VkOpticalFlowSessionBindingPointNV;
+
+typedef enum VkOpticalFlowGridSizeFlagBitsNV {
+    VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0,
+    VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001,
+    VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002,
+    VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004,
+    VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008,
+    VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkOpticalFlowGridSizeFlagBitsNV;
+typedef VkFlags   VkOpticalFlowGridSizeFlagsNV;
+
+typedef enum VkOpticalFlowUsageFlagBitsNV {
+    VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0,
+    VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001,
+    VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002,
+    VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004,
+    VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008,
+    VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010,
+    VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkOpticalFlowUsageFlagBitsNV;
+typedef VkFlags   VkOpticalFlowUsageFlagsNV;
+
+typedef enum VkOpticalFlowSessionCreateFlagBitsNV {
+    VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001,
+    VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002,
+    VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004,
+    VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008,
+    VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010,
+    VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkOpticalFlowSessionCreateFlagBitsNV;
+typedef VkFlags   VkOpticalFlowSessionCreateFlagsNV;
+
+typedef enum VkOpticalFlowExecuteFlagBitsNV {
+    VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001,
+    VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
+} VkOpticalFlowExecuteFlagBitsNV;
+typedef VkFlags   VkOpticalFlowExecuteFlagsNV;
+typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           opticalFlow;
+} VkPhysicalDeviceOpticalFlowFeaturesNV;
+
+typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV {
+    VkStructureType                 sType;
+    void*                           pNext;
+    VkOpticalFlowGridSizeFlagsNV    supportedOutputGridSizes;
+    VkOpticalFlowGridSizeFlagsNV    supportedHintGridSizes;
+    VkBool32                        hintSupported;
+    VkBool32                        costSupported;
+    VkBool32                        bidirectionalFlowSupported;
+    VkBool32                        globalFlowSupported;
+    deUint32                        minWidth;
+    deUint32                        minHeight;
+    deUint32                        maxWidth;
+    deUint32                        maxHeight;
+    deUint32                        maxNumRegionsOfInterest;
+} VkPhysicalDeviceOpticalFlowPropertiesNV;
+
+typedef struct VkOpticalFlowImageFormatInfoNV {
+    VkStructureType              sType;
+    const void*                  pNext;
+    VkOpticalFlowUsageFlagsNV    usage;
+} VkOpticalFlowImageFormatInfoNV;
+
+typedef struct VkOpticalFlowImageFormatPropertiesNV {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkFormat           format;
+} VkOpticalFlowImageFormatPropertiesNV;
+
+typedef struct VkOpticalFlowSessionCreateInfoNV {
+    VkStructureType                      sType;
+    void*                                pNext;
+    deUint32                             width;
+    deUint32                             height;
+    VkFormat                             imageFormat;
+    VkFormat                             flowVectorFormat;
+    VkFormat                             costFormat;
+    VkOpticalFlowGridSizeFlagsNV         outputGridSize;
+    VkOpticalFlowGridSizeFlagsNV         hintGridSize;
+    VkOpticalFlowPerformanceLevelNV      performanceLevel;
+    VkOpticalFlowSessionCreateFlagsNV    flags;
+} VkOpticalFlowSessionCreateInfoNV;
+
+typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint32           id;
+    deUint32           size;
+    const void*        pPrivateData;
+} VkOpticalFlowSessionCreatePrivateDataInfoNV;
+
+typedef struct VkOpticalFlowExecuteInfoNV {
+    VkStructureType                sType;
+    void*                          pNext;
+    VkOpticalFlowExecuteFlagsNV    flags;
+    deUint32                       regionCount;
+    const VkRect2D*                pRegions;
+} VkOpticalFlowExecuteInfoNV;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, deUint32* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);
+typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession);
+typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator);
+typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout);
+typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV(
+    VkPhysicalDevice                            physicalDevice,
+    const VkOpticalFlowImageFormatInfoNV*       pOpticalFlowImageFormatInfo,
+    deUint32*                                   pFormatCount,
+    VkOpticalFlowImageFormatPropertiesNV*       pImageFormatProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV(
+    VkDevice                                    device,
+    const VkOpticalFlowSessionCreateInfoNV*     pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkOpticalFlowSessionNV*                     pSession);
+
+VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV(
+    VkDevice                                    device,
+    VkOpticalFlowSessionNV                      session,
+    const VkAllocationCallbacks*                pAllocator);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV(
+    VkDevice                                    device,
+    VkOpticalFlowSessionNV                      session,
+    VkOpticalFlowSessionBindingPointNV          bindingPoint,
+    VkImageView                                 view,
+    VkImageLayout                               layout);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV(
+    VkCommandBuffer                             commandBuffer,
+    VkOpticalFlowSessionNV                      session,
+    const VkOpticalFlowExecuteInfoNV*           pExecuteInfo);
+#endif
+
+
 #define VK_EXT_legacy_dithering 1
 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1
 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
@@ -15539,6 +16493,17 @@ typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
 
 
 
+#define VK_EXT_pipeline_protected_access 1
+#define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1
+#define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access"
+typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           pipelineProtectedAccess;
+} VkPhysicalDevicePipelineProtectedAccessFeaturesEXT;
+
+
+
 #define VK_QCOM_tile_properties 1
 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
@@ -15591,6 +16556,29 @@ typedef struct VkAmigoProfilingSubmitInfoSEC {
 
 
 
+#define VK_EXT_mutable_descriptor_type 1
+#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
+#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type"
+
+
+#define VK_ARM_shader_core_builtins 1
+#define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 1
+#define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins"
+typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           shaderCoreBuiltins;
+} VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM;
+
+typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint32           shaderCoreCount;
+    deUint32           shaderWarpsPerCore;
+} VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM;
+
+
+
 #define VK_KHR_acceleration_structure 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
@@ -15602,30 +16590,12 @@ typedef enum VkBuildAccelerationStructureModeKHR {
     VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkBuildAccelerationStructureModeKHR;
 
-typedef enum VkAccelerationStructureBuildTypeKHR {
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
-    VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
-} VkAccelerationStructureBuildTypeKHR;
-
-typedef enum VkAccelerationStructureCompatibilityKHR {
-    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
-    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
-    VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
-} VkAccelerationStructureCompatibilityKHR;
-
 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
     VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
     VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
     VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkAccelerationStructureCreateFlagBitsKHR;
 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
-typedef union VkDeviceOrHostAddressKHR {
-    VkDeviceAddress    deviceAddress;
-    void*              hostAddress;
-} VkDeviceOrHostAddressKHR;
-
 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
     deUint32    primitiveCount;
     deUint32    primitiveOffset;
index de2bd2d..7876d89 100644 (file)
@@ -200,20 +200,44 @@ struct NAME                                                                                       \
        NAME (VkDevice, const Vk##NAME##CreateInfo*) {} \
 }
 
+#define VK_NULL_DEFINE_OBJ_WITH_POSTFIX(DEVICE_OR_INSTANCE, NAME, POSTFIX)                     \
+struct NAME##POSTFIX                                                                                                                           \
+{                                                                                                                                                                      \
+       NAME##POSTFIX (DEVICE_OR_INSTANCE, const Vk##NAME##CreateInfo##POSTFIX*) {}             \
+};
+
 VK_NULL_DEFINE_DEVICE_OBJ(Fence);
 VK_NULL_DEFINE_DEVICE_OBJ(Semaphore);
 VK_NULL_DEFINE_DEVICE_OBJ(Event);
 VK_NULL_DEFINE_DEVICE_OBJ(QueryPool);
 VK_NULL_DEFINE_DEVICE_OBJ(BufferView);
 VK_NULL_DEFINE_DEVICE_OBJ(ImageView);
-#ifndef CTS_USES_VULKANSC
-VK_NULL_DEFINE_DEVICE_OBJ(ShaderModule);
-#endif // CTS_USES_VULKANSC
 VK_NULL_DEFINE_DEVICE_OBJ(PipelineCache);
 VK_NULL_DEFINE_DEVICE_OBJ(PipelineLayout);
 VK_NULL_DEFINE_DEVICE_OBJ(DescriptorSetLayout);
 VK_NULL_DEFINE_DEVICE_OBJ(Sampler);
 VK_NULL_DEFINE_DEVICE_OBJ(Framebuffer);
+VK_NULL_DEFINE_DEVICE_OBJ(SamplerYcbcrConversion);
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, Swapchain, KHR)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkInstance, DebugUtilsMessenger, EXT)
+
+#ifndef CTS_USES_VULKANSC
+VK_NULL_DEFINE_DEVICE_OBJ(ShaderModule);
+VK_NULL_DEFINE_DEVICE_OBJ(DescriptorUpdateTemplate);
+VK_NULL_DEFINE_DEVICE_OBJ(PrivateDataSlot);
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkInstance, DebugReportCallback, EXT)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, CuModule, NVX)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, CuFunction, NVX)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, Micromap, EXT)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, OpticalFlowSession, NV)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, IndirectCommandsLayout, NV)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, AccelerationStructure, NV)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, AccelerationStructure, KHR)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, VideoSession, KHR)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, VideoSessionParameters, KHR)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, ValidationCache, EXT)
+VK_NULL_DEFINE_OBJ_WITH_POSTFIX(VkDevice, BufferCollection, FUCHSIA)
+#endif // CTS_USES_VULKANSC
 
 class Instance
 {
@@ -256,30 +280,6 @@ public:
                                                                                ~DisplayModeKHR (void) {}
 };
 
-#ifndef CTS_USES_VULKANSC
-class DebugReportCallbackEXT
-{
-public:
-                                                                               DebugReportCallbackEXT  (VkInstance, const VkDebugReportCallbackCreateInfoEXT*) {}
-                                                                               ~DebugReportCallbackEXT (void) {}
-};
-
-class CuModuleNVX
-{
-public:
-                                                                               CuModuleNVX     (VkDevice, const VkCuModuleCreateInfoNVX*) {}
-                                                                               ~CuModuleNVX(void) {}
-};
-
-class CuFunctionNVX
-{
-public:
-                                                                               CuFunctionNVX(VkDevice, const VkCuFunctionCreateInfoNVX*) {}
-                                                                               ~CuFunctionNVX(void) {}
-};
-
-#endif // CTS_USES_VULKANSC
-
 class Device
 {
 public:
@@ -310,19 +310,6 @@ public:
        RenderPass (VkDevice, const VkRenderPassCreateInfo2*)           {}
 };
 
-class SwapchainKHR
-{
-public:
-                                                                               SwapchainKHR    (VkDevice, const VkSwapchainCreateInfoKHR*) {}
-                                                                               ~SwapchainKHR   (void) {}
-};
-
-class SamplerYcbcrConversion
-{
-public:
-       SamplerYcbcrConversion (VkDevice, const VkSamplerYcbcrConversionCreateInfo*) {}
-};
-
 class Buffer
 {
 public:
@@ -536,36 +523,8 @@ private:
 };
 #endif // defined(USE_ANDROID_O_HARDWARE_BUFFER)
 
-class IndirectCommandsLayoutNV
-{
-public:
-                                               IndirectCommandsLayoutNV        (VkDevice, const VkIndirectCommandsLayoutCreateInfoNV*)
-                                               {}
-};
-
-class AccelerationStructureNV
-{
-public:
-                                               AccelerationStructureNV         (VkDevice, const VkAccelerationStructureCreateInfoNV*)
-                                               {}
-};
-
-class AccelerationStructureKHR
-{
-public:
-                                               AccelerationStructureKHR        (VkDevice, const VkAccelerationStructureCreateInfoKHR*)
-                                               {}
-};
-
 #endif // CTS_USES_VULKANSC
 
-class DebugUtilsMessengerEXT
-{
-public:
-       DebugUtilsMessengerEXT(VkInstance, const VkDebugUtilsMessengerCreateInfoEXT*)
-       {}
-};
-
 class DeferredOperationKHR
 {
 public:
@@ -573,31 +532,6 @@ public:
                                                {}
 };
 
-#ifndef CTS_USES_VULKANSC
-
-class VideoSessionKHR
-{
-public:
-                                               VideoSessionKHR                         (VkDevice, const VkVideoSessionCreateInfoKHR*)
-                                               {}
-};
-
-class VideoSessionParametersKHR
-{
-public:
-                                               VideoSessionParametersKHR       (VkDevice, const VkVideoSessionParametersCreateInfoKHR*)
-                                               {}
-};
-
-class ValidationCacheEXT
-{
-public:
-                                               ValidationCacheEXT                      (VkDevice, const VkValidationCacheCreateInfoEXT*)
-                                               {}
-};
-
-#endif // CTS_USES_VULKANSC
-
 class CommandBuffer
 {
 public:
@@ -605,31 +539,6 @@ public:
                                                {}
 };
 
-#ifndef CTS_USES_VULKANSC
-
-class DescriptorUpdateTemplate
-{
-public:
-                                               DescriptorUpdateTemplate        (VkDevice, const VkDescriptorUpdateTemplateCreateInfo*)
-                                               {}
-};
-
-class PrivateDataSlot
-{
-public:
-                                               PrivateDataSlot                         (VkDevice, const VkPrivateDataSlotCreateInfo*)
-                                               {}
-};
-
-class BufferCollectionFUCHSIA
-{
-public:
-                                               BufferCollectionFUCHSIA         (VkDevice, const VkBufferCollectionCreateInfoFUCHSIA*)
-                                               {}
-};
-
-#endif // CTS_USES_VULKANSC
-
 class CommandPool
 {
 public:
index 35f751a..b845ca4 100644 (file)
@@ -1936,6 +1936,7 @@ dEQP-VK.api.info.get_physical_device_properties2.features.custom_border_color_fe
 dEQP-VK.api.info.get_physical_device_properties2.features.border_color_swizzle_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state2_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.extended_dynamic_state3_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.zero_initialize_workgroup_memory_features
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_subgroup_uniform_control_flow_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.robustness2_features_ext
@@ -1947,6 +1948,7 @@ dEQP-VK.api.info.get_physical_device_properties2.features.shader_image_atomic_in
 dEQP-VK.api.info.get_physical_device_properties2.features.fragment_shading_rate_features_khr
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_terminate_invocation_features
 dEQP-VK.api.info.get_physical_device_properties2.features.image2_d_view_of3_d_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.mutable_descriptor_type_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.depth_clip_control_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.vertex_input_dynamic_state_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.color_write_enable_features_ext
@@ -1954,6 +1956,7 @@ dEQP-VK.api.info.get_physical_device_properties2.features.synchronization2_featu
 dEQP-VK.api.info.get_physical_device_properties2.features.primitives_generated_query_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.legacy_dithering_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.multisampled_render_to_single_sampled_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_protected_access_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.ycbcr2_plane444_formats_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.provoking_vertex_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.shader_integer_dot_product_features
@@ -1967,12 +1970,15 @@ dEQP-VK.api.info.get_physical_device_properties2.features.shader_module_identifi
 dEQP-VK.api.info.get_physical_device_properties2.features.image_compression_control_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.image_compression_control_swapchain_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.subpass_merge_feedback_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.opacity_micromap_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_properties_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.non_seamless_cube_map_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.pipeline_robustness_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.amigo_profiling_features_sec
 dEQP-VK.api.info.get_physical_device_properties2.features.attachment_feedback_loop_layout_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.features.depth_clamp_zero_one_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.address_binding_report_features_ext
+dEQP-VK.api.info.get_physical_device_properties2.features.fault_features_ext
 dEQP-VK.api.info.get_physical_device_properties2.properties.basic
 dEQP-VK.api.info.get_physical_device_properties2.format_properties.basic
 dEQP-VK.api.info.get_physical_device_properties2.queue_family_properties.basic
@@ -42388,6 +42394,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.imageless_framebuffer
 dEQP-VK.api.device_init.create_device_unsupported_features.texture_compression_astchdr_features
 dEQP-VK.api.device_init.create_device_unsupported_features.cooperative_matrix_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr_image_arrays_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.present_barrier_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.performance_query_features_khr
 dEQP-VK.api.device_init.create_device_unsupported_features.coverage_reduction_mode_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_integer_functions2_features_intel
@@ -42411,6 +42418,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.custom_border_color_f
 dEQP-VK.api.device_init.create_device_unsupported_features.border_color_swizzle_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state2_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.extended_dynamic_state3_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.diagnostics_config_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.zero_initialize_workgroup_memory_features
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_subgroup_uniform_control_flow_features_khr
@@ -42425,7 +42433,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_terminate_invocation_features
 dEQP-VK.api.device_init.create_device_unsupported_features.fragment_shading_rate_enums_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.image2_d_view_of3_d_features_ext
-dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_valve
+dEQP-VK.api.device_init.create_device_unsupported_features.mutable_descriptor_type_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clip_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.vertex_input_dynamic_state_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.external_memory_rdma_features_nv
@@ -42434,6 +42442,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.synchronization2_feat
 dEQP-VK.api.device_init.create_device_unsupported_features.primitives_generated_query_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.legacy_dithering_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.multisampled_render_to_single_sampled_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_protected_access_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.inherited_viewport_scissor_features_nv
 dEQP-VK.api.device_init.create_device_unsupported_features.ycbcr2_plane444_formats_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.provoking_vertex_features_ext
@@ -42451,6 +42460,7 @@ dEQP-VK.api.device_init.create_device_unsupported_features.shader_module_identif
 dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.image_compression_control_swapchain_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.subpass_merge_feedback_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.opacity_micromap_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_properties_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.shader_early_and_late_fragment_tests_features_amd
 dEQP-VK.api.device_init.create_device_unsupported_features.non_seamless_cube_map_features_ext
@@ -42460,6 +42470,10 @@ dEQP-VK.api.device_init.create_device_unsupported_features.tile_properties_featu
 dEQP-VK.api.device_init.create_device_unsupported_features.amigo_profiling_features_sec
 dEQP-VK.api.device_init.create_device_unsupported_features.attachment_feedback_loop_layout_features_ext
 dEQP-VK.api.device_init.create_device_unsupported_features.depth_clamp_zero_one_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.address_binding_report_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.optical_flow_features_nv
+dEQP-VK.api.device_init.create_device_unsupported_features.fault_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.shader_core_builtins_features_arm
 dEQP-VK.api.device_init.create_device_queue2.basic
 dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic
 dEQP-VK.api.device_init.create_device_queue2_two_queues.basic
index 55ec8c8..e930f71 100755 (executable)
@@ -414,11 +414,14 @@ class API:
                alias = commandNode.get("alias")
                # if node is alias then use the fact that alias definition follows aliased structure
                if alias is not None:
-                       lastFunction = self.functions[-1]
-                       # make sure last structure that was added to list is beeing aliased now
-                       # if this assert fails use same workaround as for structures
-                       assert(alias == lastFunction.name)
-                       lastFunction.aliasList.append(commandNode.get("name"))
+                       # aliased command has usually been added recently, so we iterate in reverse order
+                       found = False
+                       for f in reversed(self.functions):
+                               found = (f.name == alias)
+                               if found:
+                                       f.aliasList.append(commandNode.get("name"))
+                                       break
+                       assert found
                        # go to next node
                        return
                # memorize all parameters
@@ -1687,10 +1690,11 @@ def writeTypeUtil (api, filename):
                        "StdVideoDecodeH265PictureInfoFlags",
                        "StdVideoDecodeH265ReferenceInfoFlags",
                        "StdVideoEncodeH265PictureInfoFlags",
-                       "StdVideoEncodeH265SliceHeaderFlags",
+                       "StdVideoEncodeH265SliceSegmentHeaderFlags",
                        "StdVideoEncodeH265ReferenceModificationFlags",
                        "StdVideoEncodeH265ReferenceInfoFlags",
-                       "StdVideoEncodeH265SliceSegmentHeaderFlags",
+                       "StdVideoH265ProfileTierLevelFlags",
+                       "StdVideoH265ShortTermRefPicSetFlags"
                ])
 
        def isSimpleStruct (type):