Update docs and framework files for VK_EXT_descriptor_buffer
authorMaciej Jesionowski <Maciej.Jesionowski@amd.com>
Mon, 30 May 2022 10:28:30 +0000 (12:28 +0200)
committerMaciej Jesionowski <Maciej.Jesionowski@amd.com>
Tue, 7 Jun 2022 12:17:55 +0000 (14:17 +0200)
Change-Id: I3c41f2d12984d64e52f21cbc19258749b8f74689

26 files changed:
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/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatureTest.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkDeviceFeatures.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/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/generated/vulkan/vkNullDriverImpl.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/vkVulkan_c.inl

index 628809c..37270d8 100644 (file)
@@ -313,9 +313,9 @@ PACKAGES = [
                "4995a2f2723c401eb0ea3e10c81298906bf1422b",
                "spirv-headers"),
        GitRepo(
-               "https://github.com/KhronosGroup/Vulkan-Docs.git",
-               None,
-               "2a31e99cbaa07dba4e2036c0bfe76aa3ebe8b2a4",
+               "https://gitlab.khronos.org/vulkan/vulkan.git",
+               "git@gitlab.khronos.org:vulkan/vulkan.git",
+               "979b60bd88d26df7f2d6c3e699c07914bb220067",
                "vulkan-docs"),
        GitRepo(
                "https://github.com/google/amber.git",
index dde3547..ee54edf 100644 (file)
@@ -144,6 +144,12 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 2, "VK_EXT_debug_marker", "VK_EXT_debug_report"),
        std::make_tuple(0, 1, 3, "VK_EXT_debug_marker", "VK_EXT_debug_report"),
        std::make_tuple(0, 1, 0, "VK_EXT_depth_clip_control", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_KHR_buffer_device_address"),
+       std::make_tuple(0, 1, 0, "VK_EXT_descriptor_buffer", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 1, "VK_EXT_descriptor_buffer", "VK_KHR_buffer_device_address"),
+       std::make_tuple(0, 1, 1, "VK_EXT_descriptor_buffer", "VK_KHR_synchronization2"),
+       std::make_tuple(0, 1, 2, "VK_EXT_descriptor_buffer", "VK_KHR_synchronization2"),
        std::make_tuple(0, 1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_maintenance3"),
        std::make_tuple(0, 1, 0, "VK_EXT_device_memory_report", "VK_KHR_get_physical_device_properties2"),
@@ -199,6 +205,10 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 0, "VK_EXT_host_query_reset", "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_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
+       std::make_tuple(0, 1, 1, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
+       std::make_tuple(0, 1, 2, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
+       std::make_tuple(0, 1, 3, "VK_EXT_image_compression_control_swapchain", "VK_EXT_image_compression_control"),
        std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_bind_memory2"),
        std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"),
@@ -217,6 +227,7 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 3, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"),
        std::make_tuple(0, 1, 0, "VK_EXT_pci_bus_info", "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_pipeline_properties", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
        std::make_tuple(0, 1, 1, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
        std::make_tuple(0, 1, 2, "VK_EXT_primitives_generated_query", "VK_EXT_transform_feedback"),
@@ -316,7 +327,9 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 3, "VK_KHR_display_swapchain", "VK_KHR_swapchain"),
        std::make_tuple(0, 1, 3, "VK_KHR_display_swapchain", "VK_KHR_display"),
        std::make_tuple(0, 1, 0, "VK_KHR_driver_properties", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_depth_stencil_resolve"),
        std::make_tuple(0, 1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 1, "VK_KHR_dynamic_rendering", "VK_KHR_depth_stencil_resolve"),
        std::make_tuple(0, 1, 0, "VK_KHR_external_fence", "VK_KHR_external_fence_capabilities"),
        std::make_tuple(0, 1, 0, "VK_KHR_external_fence_fd", "VK_KHR_external_fence"),
        std::make_tuple(0, 1, 0, "VK_KHR_external_fence_win32", "VK_KHR_external_fence"),
@@ -327,6 +340,7 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_fd", "VK_KHR_external_semaphore"),
        std::make_tuple(0, 1, 0, "VK_KHR_external_semaphore_win32", "VK_KHR_external_semaphore"),
        std::make_tuple(0, 1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"),
+       std::make_tuple(0, 1, 0, "VK_KHR_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
        std::make_tuple(0, 1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_get_physical_device_properties2"),
        std::make_tuple(0, 1, 1, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"),
@@ -359,6 +373,9 @@ static const std::tuple<deUint32, deUint32, deUint32, const char*, const char*>
        std::make_tuple(0, 1, 1, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
        std::make_tuple(0, 1, 2, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
        std::make_tuple(0, 1, 3, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"),
+       std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
+       std::make_tuple(0, 1, 2, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
+       std::make_tuple(0, 1, 3, "VK_KHR_ray_tracing_maintenance1", "VK_KHR_acceleration_structure"),
        std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_spirv_1_4"),
        std::make_tuple(0, 1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
        std::make_tuple(0, 1, 2, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"),
@@ -514,6 +531,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_AMD_shader_ballot"),
        std::make_tuple(1, 0, "VK_AMD_shader_core_properties"),
        std::make_tuple(1, 0, "VK_AMD_shader_core_properties2"),
+       std::make_tuple(1, 0, "VK_AMD_shader_early_and_late_fragment_tests"),
        std::make_tuple(1, 0, "VK_AMD_shader_explicit_vertex_parameter"),
        std::make_tuple(1, 0, "VK_AMD_shader_fragment_mask"),
        std::make_tuple(1, 0, "VK_AMD_shader_image_load_store_lod"),
@@ -540,6 +558,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_depth_clip_control"),
        std::make_tuple(1, 0, "VK_EXT_depth_clip_enable"),
        std::make_tuple(1, 0, "VK_EXT_depth_range_unrestricted"),
+       std::make_tuple(1, 0, "VK_EXT_descriptor_buffer"),
        std::make_tuple(1, 0, "VK_EXT_descriptor_indexing"),
        std::make_tuple(1, 0, "VK_EXT_device_memory_report"),
        std::make_tuple(1, 0, "VK_EXT_direct_mode_display"),
@@ -563,6 +582,8 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_headless_surface"),
        std::make_tuple(1, 0, "VK_EXT_host_query_reset"),
        std::make_tuple(1, 0, "VK_EXT_image_2d_view_of_3d"),
+       std::make_tuple(1, 0, "VK_EXT_image_compression_control"),
+       std::make_tuple(1, 0, "VK_EXT_image_compression_control_swapchain"),
        std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier"),
        std::make_tuple(1, 0, "VK_EXT_image_robustness"),
        std::make_tuple(1, 0, "VK_EXT_image_view_min_lod"),
@@ -579,6 +600,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_physical_device_drm"),
        std::make_tuple(1, 0, "VK_EXT_pipeline_creation_cache_control"),
        std::make_tuple(1, 0, "VK_EXT_pipeline_creation_feedback"),
+       std::make_tuple(1, 0, "VK_EXT_pipeline_properties"),
        std::make_tuple(1, 0, "VK_EXT_post_depth_coverage"),
        std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"),
        std::make_tuple(1, 0, "VK_EXT_primitives_generated_query"),
@@ -600,6 +622,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_EXT_shader_subgroup_vote"),
        std::make_tuple(1, 0, "VK_EXT_shader_viewport_index_layer"),
        std::make_tuple(1, 1, "VK_EXT_subgroup_size_control"),
+       std::make_tuple(1, 0, "VK_EXT_subpass_merge_feedback"),
        std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace"),
        std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment"),
        std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr"),
@@ -665,6 +688,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd"),
        std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32"),
        std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"),
+       std::make_tuple(1, 0, "VK_KHR_fragment_shader_barycentric"),
        std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate"),
        std::make_tuple(1, 0, "VK_KHR_get_display_properties2"),
        std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"),
@@ -688,6 +712,7 @@ static const std::tuple<deUint32, deUint32, const char*>    extensionRequiredCoreVe
        std::make_tuple(1, 0, "VK_KHR_present_wait"),
        std::make_tuple(1, 0, "VK_KHR_push_descriptor"),
        std::make_tuple(1, 1, "VK_KHR_ray_query"),
+       std::make_tuple(1, 1, "VK_KHR_ray_tracing_maintenance1"),
        std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline"),
        std::make_tuple(1, 0, "VK_KHR_relaxed_block_layout"),
        std::make_tuple(1, 0, "VK_KHR_sampler_mirror_clamp_to_edge"),
index 91bf16e..fef9e09 100644 (file)
@@ -117,6 +117,7 @@ enum VkResult
        VK_THREAD_DONE_KHR                                                                              = 1000268001,
        VK_OPERATION_DEFERRED_KHR                                                               = 1000268002,
        VK_OPERATION_NOT_DEFERRED_KHR                                                   = 1000268003,
+       VK_ERROR_COMPRESSION_EXHAUSTED_EXT                                              = -1000338000,
        VK_ERROR_OUT_OF_POOL_MEMORY_KHR                                                 = VK_ERROR_OUT_OF_POOL_MEMORY,
        VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR                                    = VK_ERROR_INVALID_EXTERNAL_HANDLE,
        VK_ERROR_FRAGMENTATION_EXT                                                              = VK_ERROR_FRAGMENTATION,
@@ -598,7 +599,6 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV                                = 1000201000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV                                                               = 1000202000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV                                                             = 1000202001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV                               = 1000203000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV                                    = 1000204000,
        VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV                              = 1000205000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV                                                 = 1000205002,
@@ -696,9 +696,24 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV                                                              = 1000300001,
        VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV                                                               = 1000314008,
        VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV                                                                                                  = 1000314009,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT                                              = 1000316000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT                  = 1000316001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT                                                = 1000316002,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT                                                                                   = 1000316003,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT                                                                                               = 1000316004,
+       VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT                                                               = 1000316005,
+       VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT                                                                = 1000316006,
+       VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT                                                   = 1000316007,
+       VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT                                                              = 1000316008,
+       VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT                               = 1000316009,
+       VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT                                                = 1000316010,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT                                                                    = 1000316011,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT                                = 1000320000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT                              = 1000320001,
        VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT                                                             = 1000320002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD             = 1000321000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR                              = 1000203000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR                    = 1000322000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR             = 1000323000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV                             = 1000326000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV                               = 1000326001,
@@ -711,6 +726,11 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT                                 = 1000332001,
        VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM                                                                              = 1000333000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR                 = 1000336000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT                                = 1000338000,
+       VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT                                                                                 = 1000338001,
+       VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT                                                                                              = 1000338002,
+       VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT                                                                                               = 1000338003,
+       VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT                                                                              = 1000338004,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT                                                             = 1000340000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM    = 1000342000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT                                                 = 1000344000,
@@ -745,11 +765,14 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI                                               = 1000370000,
        VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV                                                                             = 1000371000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV                                              = 1000371001,
+       VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT                                                                    = 1000372000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT                                              = 1000372001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT                                 = 1000377000,
        VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX                                                                                = 1000378000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT                                               = 1000381000,
        VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT                                                                  = 1000381001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT                               = 1000382000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR                                = 1000386000,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT                                               = 1000391000,
        VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT                                                                    = 1000391001,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT                                                               = 1000392000,
@@ -765,6 +788,11 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM                   = 1000425001,
        VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM                                             = 1000425002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV                                   = 1000430000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT              = 1000437000,
+       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_INFO_EXT                                                                = 1000458002,
+       VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT                                                                 = 1000458003,
        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,
@@ -870,6 +898,7 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                                                 = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR                                  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
        VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                                                 = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV                               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR                                               = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR                                             = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
        VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR                                                                                = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
@@ -927,6 +956,7 @@ 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_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,
        VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT                                                   = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR                                                    = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
@@ -936,6 +966,12 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_MAX_ENUM                                                                                                                              = 0x7FFFFFFF,
 };
 
+enum VkPipelineCacheHeaderVersion
+{
+       VK_PIPELINE_CACHE_HEADER_VERSION_ONE            = 1,
+       VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM       = 0x7FFFFFFF,
+};
+
 enum VkImageLayout
 {
        VK_IMAGE_LAYOUT_UNDEFINED                                                                               = 0,
@@ -1031,12 +1067,6 @@ enum VkObjectType
        VK_OBJECT_TYPE_MAX_ENUM                                                 = 0x7FFFFFFF,
 };
 
-enum VkPipelineCacheHeaderVersion
-{
-       VK_PIPELINE_CACHE_HEADER_VERSION_ONE            = 1,
-       VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM       = 0x7FFFFFFF,
-};
-
 enum VkVendorId
 {
        VK_VENDOR_ID_VIV                = 0x10001,
@@ -1402,19 +1432,21 @@ enum VkPhysicalDeviceType
 
 enum VkQueryType
 {
-       VK_QUERY_TYPE_OCCLUSION                                                                         = 0,
-       VK_QUERY_TYPE_PIPELINE_STATISTICS                                                       = 1,
-       VK_QUERY_TYPE_TIMESTAMP                                                                         = 2,
-       VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR                                            = 1000023000,
-       VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                                     = 1000028004,
-       VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                                     = 1000116000,
-       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR         = 1000150000,
-       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR     = 1000150001,
-       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV          = 1000165000,
-       VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                                           = 1000210000,
-       VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR           = 1000299000,
-       VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT                                          = 1000382000,
-       VK_QUERY_TYPE_MAX_ENUM                                                                          = 0x7FFFFFFF,
+       VK_QUERY_TYPE_OCCLUSION                                                                                                                 = 0,
+       VK_QUERY_TYPE_PIPELINE_STATISTICS                                                                                               = 1,
+       VK_QUERY_TYPE_TIMESTAMP                                                                                                                 = 2,
+       VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR                                                                                    = 1000023000,
+       VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT                                                                             = 1000028004,
+       VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                                                                             = 1000116000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR                                                 = 1000150000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR                                             = 1000150001,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV                                                  = 1000165000,
+       VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL                                                                                   = 1000210000,
+       VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR                                                   = 1000299000,
+       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_MAX_ENUM                                                                                                                  = 0x7FFFFFFF,
 };
 
 enum VkSharingMode
@@ -2478,6 +2510,26 @@ enum VkAccelerationStructureMotionInstanceTypeNV
        VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV              = 0x7FFFFFFF,
 };
 
+enum VkSubpassMergeStatusEXT
+{
+       VK_SUBPASS_MERGE_STATUS_MERGED_EXT                                                                              = 0,
+       VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT                                                                  = 1,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT                                             = 2,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT                                 = 3,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT                                   = 4,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT                                                 = 5,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT                                             = 6,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT    = 7,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT                             = 8,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT                             = 9,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT                              = 10,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT                 = 11,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT                                   = 12,
+       VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT                                              = 13,
+       VK_SUBPASS_MERGE_STATUS_EXT_LAST,
+       VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT                                                                    = 0x7FFFFFFF,
+};
+
 enum VkBuildAccelerationStructureModeKHR
 {
        VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR          = 0,
@@ -2914,6 +2966,7 @@ enum VkImageCreateFlagBits
        VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV                                           = 0x00002000,
        VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT       = 0x00001000,
        VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT                                                      = 0x00004000,
+       VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT        = 0x00010000,
        VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT                                      = 0x00020000,
        VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM            = 0x00008000,
        VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR                     = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
@@ -3112,14 +3165,15 @@ typedef uint32_t VkQueryResultFlags;
 
 enum VkBufferCreateFlagBits
 {
-       VK_BUFFER_CREATE_SPARSE_BINDING_BIT                                             = 0x00000001,
-       VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                                   = 0x00000002,
-       VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                                             = 0x00000004,
-       VK_BUFFER_CREATE_PROTECTED_BIT                                                  = 0x00000008,
-       VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT              = 0x00000010,
-       VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT  = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
-       VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR  = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
-       VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                                             = 0x7FFFFFFF,
+       VK_BUFFER_CREATE_SPARSE_BINDING_BIT                                                     = 0x00000001,
+       VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT                                           = 0x00000002,
+       VK_BUFFER_CREATE_SPARSE_ALIASED_BIT                                                     = 0x00000004,
+       VK_BUFFER_CREATE_PROTECTED_BIT                                                          = 0x00000008,
+       VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT                      = 0x00000010,
+       VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT       = 0x00000020,
+       VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT          = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
+       VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR          = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
+       VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM                                                     = 0x7FFFFFFF,
 };
 typedef uint32_t VkBufferCreateFlags;
 
@@ -3145,6 +3199,9 @@ enum VkBufferUsageFlagBits
        VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR                                                    = 0x00000400,
        VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR                                                                = 0x00008000,
        VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR                                                                = 0x00010000,
+       VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT                                               = 0x00200000,
+       VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT                                              = 0x00400000,
+       VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT                              = 0x02000000,
        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,
@@ -3154,9 +3211,10 @@ typedef uint32_t VkBufferUsageFlags;
 
 enum VkImageViewCreateFlagBits
 {
-       VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT       = 0x00000001,
-       VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT      = 0x00000002,
-       VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                                         = 0x7FFFFFFF,
+       VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT               = 0x00000001,
+       VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT   = 0x00000004,
+       VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT              = 0x00000002,
+       VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM                                                 = 0x7FFFFFFF,
 };
 typedef uint32_t VkImageViewCreateFlags;
 
@@ -3290,6 +3348,7 @@ enum VkSamplerCreateFlagBits
 {
        VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT                                            = 0x00000001,
        VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT      = 0x00000002,
+       VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT      = 0x00000008,
        VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM                                            = 0x7FFFFFFF,
 };
 typedef uint32_t VkSamplerCreateFlags;
@@ -3306,11 +3365,13 @@ typedef uint32_t VkDescriptorPoolCreateFlags;
 
 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_UPDATE_AFTER_BIND_POOL_BIT_EXT  = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
-       VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM                              = 0x7FFFFFFF,
+       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_DESCRIPTOR_BUFFER_BIT_EXT                       = 0x00000010,
+       VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT     = 0x00000020,
+       VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE                        = 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_FLAG_BITS_MAX_ENUM                                      = 0x7FFFFFFF,
 };
 typedef uint32_t VkDescriptorSetLayoutCreateFlags;
 
@@ -3853,6 +3914,7 @@ enum VkDeviceDiagnosticsConfigFlagBitsNV
        VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV            = 0x00000001,
        VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV            = 0x00000002,
        VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV        = 0x00000004,
+       VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV       = 0x00000008,
        VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV                                      = 0x7FFFFFFF,
 };
 typedef uint32_t VkDeviceDiagnosticsConfigFlagsNV;
@@ -3867,11 +3929,53 @@ enum VkGraphicsPipelineLibraryFlagBitsEXT
 };
 typedef uint32_t VkGraphicsPipelineLibraryFlagsEXT;
 
+enum VkImageCompressionFlagBitsEXT
+{
+       VK_IMAGE_COMPRESSION_DEFAULT_EXT                                = 0,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT             = 0x00000001,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT    = 0x00000002,
+       VK_IMAGE_COMPRESSION_DISABLED_EXT                               = 0x00000004,
+       VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT             = 0x7FFFFFFF,
+};
+typedef uint32_t VkImageCompressionFlagsEXT;
+
+enum VkImageCompressionFixedRateFlagBitsEXT
+{
+       VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT                                = 0,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT                    = 0x00000001,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT                    = 0x00000002,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT                    = 0x00000004,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT                    = 0x00000008,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT                    = 0x00000010,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT                    = 0x00000020,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT                    = 0x00000040,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT                    = 0x00000080,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT                    = 0x00000100,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT                   = 0x00000200,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT                   = 0x00000400,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT                   = 0x00000800,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT                   = 0x00001000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT                   = 0x00002000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT                   = 0x00004000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT                   = 0x00008000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT                   = 0x00010000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT                   = 0x00020000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT                   = 0x00040000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT                   = 0x00080000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT                   = 0x00100000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT                   = 0x00200000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT                   = 0x00400000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT                   = 0x00800000,
+       VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT  = 0x7FFFFFFF,
+};
+typedef uint32_t VkImageCompressionFixedRateFlagsEXT;
+
 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,
+       VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR          = 0x00000001,
+       VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT       = 0x00000008,
+       VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV                                                          = 0x00000004,
+       VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR                                         = 0x7FFFFFFF,
 };
 typedef uint32_t VkAccelerationStructureCreateFlagsKHR;
 
@@ -3992,29 +4096,31 @@ typedef uint32_t VkVideoEncodeRateControlFlagsKHR;
 
 enum VkVideoEncodeH264CapabilityFlagBitsEXT
 {
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT                    = 0x00000001,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT                   = 0x00000002,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000004,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT                                   = 0x00000008,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT                                  = 0x00000010,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT                                = 0x00000020,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT                 = 0x00000040,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT                             = 0x00000080,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT                                   = 0x00000100,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT                = 0x00000200,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT                = 0x00000400,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT                  = 0x00000800,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT                                   = 0x00001000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT                                                   = 0x00002000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT                                                   = 0x00004000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT              = 0x00008000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT               = 0x00010000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT               = 0x00020000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT  = 0x00040000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT                = 0x00080000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT                                  = 0x00100000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT                             = 0x00200000,
-       VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT                    = 0x00400000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT    = 0x00000001,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT   = 0x00000002,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT                   = 0x00000004,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000008,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT                                   = 0x00000010,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT                                  = 0x00000020,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT                                = 0x00000040,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT                 = 0x00000080,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT                             = 0x00000100,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT                                   = 0x00000200,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT                = 0x00000400,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT                = 0x00000800,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT                  = 0x00001000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT                                   = 0x00002000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT                                                   = 0x00004000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT                                                   = 0x00008000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT              = 0x00010000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT               = 0x00020000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT               = 0x00040000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT  = 0x00080000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT                = 0x00100000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT                                  = 0x00200000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT                             = 0x00400000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT                    = 0x00800000,
+       VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT                              = 0x01000000,
        VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT                                  = 0x7FFFFFFF,
 };
 typedef uint32_t VkVideoEncodeH264CapabilityFlagsEXT;
@@ -4357,6 +4463,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV                                           = 0x00100000ULL;
 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;
 
 
 typedef uint64_t VkAccessFlags2;
@@ -4422,7 +4529,9 @@ static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV
 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV                         = 0x00400000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT                           = 0x01000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT           = 0x00080000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT                                      = 0x20000000000ULL;
 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;
 
 
 typedef uint64_t VkFormatFeatureFlags2;
@@ -4611,6 +4720,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
@@ -4618,6 +4728,8 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
@@ -4756,15 +4868,18 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                           void*)
 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
-#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
+#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
+#define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1
 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
@@ -4777,6 +4892,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
+#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
@@ -4792,6 +4908,8 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
@@ -4813,7 +4931,7 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_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_6
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
-#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 6
+#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 7
 #define vulkan_video_codec_h265std 1
 #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
@@ -4827,15 +4945,14 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                           void*)
 #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_SPS_MAX_SUB_LAYERS 8
 #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 vulkan_video_codec_h265std_encode 1
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6)
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_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_7
 #define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_encode"
 #define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 7
 #define vulkan_video_codec_h264std_decode 1
@@ -4846,9 +4963,9 @@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer,                             void*)
 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
 #define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 5
 #define vulkan_video_codec_h265std_decode 1
-#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6)
+#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_VERSION(0, 9, 7)
 #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_6
+#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_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
 #define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 3
 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
index a5c504d..9b18b7d 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-virtual PFN_vkVoidFunction     getDeviceProcAddr                                                               (VkDevice device, const char* pName) const;
-virtual void                           destroyDevice                                                                   (VkDevice device, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           getDeviceQueue                                                                  (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const;
-virtual VkResult                       queueSubmit                                                                             (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const;
-virtual VkResult                       queueWaitIdle                                                                   (VkQueue queue) const;
-virtual VkResult                       deviceWaitIdle                                                                  (VkDevice device) const;
-virtual VkResult                       allocateMemory                                                                  (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const;
-virtual void                           freeMemory                                                                              (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       mapMemory                                                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const;
-virtual void                           unmapMemory                                                                             (VkDevice device, VkDeviceMemory memory) const;
-virtual VkResult                       flushMappedMemoryRanges                                                 (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const;
-virtual VkResult                       invalidateMappedMemoryRanges                                    (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const;
-virtual void                           getDeviceMemoryCommitment                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const;
-virtual VkResult                       bindBufferMemory                                                                (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const;
-virtual VkResult                       bindImageMemory                                                                 (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const;
-virtual void                           getBufferMemoryRequirements                                             (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const;
-virtual void                           getImageMemoryRequirements                                              (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const;
-virtual void                           getImageSparseMemoryRequirements                                (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const;
-virtual VkResult                       queueBindSparse                                                                 (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const;
-virtual VkResult                       createFence                                                                             (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const;
-virtual void                           destroyFence                                                                    (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       resetFences                                                                             (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const;
-virtual VkResult                       getFenceStatus                                                                  (VkDevice device, VkFence fence) const;
-virtual VkResult                       waitForFences                                                                   (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const;
-virtual VkResult                       createSemaphore                                                                 (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const;
-virtual void                           destroySemaphore                                                                (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createEvent                                                                             (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const;
-virtual void                           destroyEvent                                                                    (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       getEventStatus                                                                  (VkDevice device, VkEvent event) const;
-virtual VkResult                       setEvent                                                                                (VkDevice device, VkEvent event) const;
-virtual VkResult                       resetEvent                                                                              (VkDevice device, VkEvent event) const;
-virtual VkResult                       createQueryPool                                                                 (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const;
-virtual void                           destroyQueryPool                                                                (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       getQueryPoolResults                                                             (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const;
-virtual VkResult                       createBuffer                                                                    (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const;
-virtual void                           destroyBuffer                                                                   (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createBufferView                                                                (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const;
-virtual void                           destroyBufferView                                                               (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createImage                                                                             (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const;
-virtual void                           destroyImage                                                                    (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           getImageSubresourceLayout                                               (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const;
-virtual VkResult                       createImageView                                                                 (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const;
-virtual void                           destroyImageView                                                                (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createShaderModule                                                              (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const;
-virtual void                           destroyShaderModule                                                             (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createPipelineCache                                                             (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const;
-virtual void                           destroyPipelineCache                                                    (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       getPipelineCacheData                                                    (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const;
-virtual VkResult                       mergePipelineCaches                                                             (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const;
-virtual VkResult                       createGraphicsPipelines                                                 (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
-virtual VkResult                       createComputePipelines                                                  (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
-virtual void                           destroyPipeline                                                                 (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createPipelineLayout                                                    (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const;
-virtual void                           destroyPipelineLayout                                                   (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createSampler                                                                   (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const;
-virtual void                           destroySampler                                                                  (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createDescriptorSetLayout                                               (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const;
-virtual void                           destroyDescriptorSetLayout                                              (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createDescriptorPool                                                    (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const;
-virtual void                           destroyDescriptorPool                                                   (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       resetDescriptorPool                                                             (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const;
-virtual VkResult                       allocateDescriptorSets                                                  (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const;
-virtual VkResult                       freeDescriptorSets                                                              (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const;
-virtual void                           updateDescriptorSets                                                    (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const;
-virtual VkResult                       createFramebuffer                                                               (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const;
-virtual void                           destroyFramebuffer                                                              (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createRenderPass                                                                (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const;
-virtual void                           destroyRenderPass                                                               (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           getRenderAreaGranularity                                                (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const;
-virtual VkResult                       createCommandPool                                                               (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const;
-virtual void                           destroyCommandPool                                                              (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       resetCommandPool                                                                (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const;
-virtual VkResult                       allocateCommandBuffers                                                  (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const;
-virtual void                           freeCommandBuffers                                                              (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const;
-virtual VkResult                       beginCommandBuffer                                                              (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const;
-virtual VkResult                       endCommandBuffer                                                                (VkCommandBuffer commandBuffer) const;
-virtual VkResult                       resetCommandBuffer                                                              (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const;
-virtual void                           cmdBindPipeline                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const;
-virtual void                           cmdSetViewport                                                                  (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const;
-virtual void                           cmdSetScissor                                                                   (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const;
-virtual void                           cmdSetLineWidth                                                                 (VkCommandBuffer commandBuffer, float lineWidth) const;
-virtual void                           cmdSetDepthBias                                                                 (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const;
-virtual void                           cmdSetBlendConstants                                                    (VkCommandBuffer commandBuffer, const float blendConstants[4]) const;
-virtual void                           cmdSetDepthBounds                                                               (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const;
-virtual void                           cmdSetStencilCompareMask                                                (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const;
-virtual void                           cmdSetStencilWriteMask                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const;
-virtual void                           cmdSetStencilReference                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const;
-virtual void                           cmdBindDescriptorSets                                                   (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const;
-virtual void                           cmdBindIndexBuffer                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const;
-virtual void                           cmdBindVertexBuffers                                                    (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const;
-virtual void                           cmdDraw                                                                                 (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const;
-virtual void                           cmdDrawIndexed                                                                  (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const;
-virtual void                           cmdDrawIndirect                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const;
-virtual void                           cmdDrawIndexedIndirect                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const;
-virtual void                           cmdDispatch                                                                             (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const;
-virtual void                           cmdDispatchIndirect                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const;
-virtual void                           cmdCopyBuffer                                                                   (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const;
-virtual void                           cmdCopyImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const;
-virtual void                           cmdBlitImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const;
-virtual void                           cmdCopyBufferToImage                                                    (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const;
-virtual void                           cmdCopyImageToBuffer                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const;
-virtual void                           cmdUpdateBuffer                                                                 (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const;
-virtual void                           cmdFillBuffer                                                                   (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const;
-virtual void                           cmdClearColorImage                                                              (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const;
-virtual void                           cmdClearDepthStencilImage                                               (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const;
-virtual void                           cmdClearAttachments                                                             (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const;
-virtual void                           cmdResolveImage                                                                 (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const;
-virtual void                           cmdSetEvent                                                                             (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const;
-virtual void                           cmdResetEvent                                                                   (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const;
-virtual void                           cmdWaitEvents                                                                   (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
-virtual void                           cmdPipelineBarrier                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
-virtual void                           cmdBeginQuery                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const;
-virtual void                           cmdEndQuery                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const;
-virtual void                           cmdResetQueryPool                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const;
-virtual void                           cmdWriteTimestamp                                                               (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const;
-virtual void                           cmdCopyQueryPoolResults                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const;
-virtual void                           cmdPushConstants                                                                (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const;
-virtual void                           cmdBeginRenderPass                                                              (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const;
-virtual void                           cmdNextSubpass                                                                  (VkCommandBuffer commandBuffer, VkSubpassContents contents) const;
-virtual void                           cmdEndRenderPass                                                                (VkCommandBuffer commandBuffer) const;
-virtual void                           cmdExecuteCommands                                                              (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const;
-virtual VkResult                       bindBufferMemory2                                                               (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const;
-virtual VkResult                       bindImageMemory2                                                                (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const;
-virtual void                           getDeviceGroupPeerMemoryFeatures                                (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const;
-virtual void                           cmdSetDeviceMask                                                                (VkCommandBuffer commandBuffer, uint32_t deviceMask) const;
-virtual void                           cmdDispatchBase                                                                 (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const;
-virtual void                           getImageMemoryRequirements2                                             (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
-virtual void                           getBufferMemoryRequirements2                                    (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
-virtual void                           getImageSparseMemoryRequirements2                               (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const;
-virtual void                           trimCommandPool                                                                 (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const;
-virtual void                           getDeviceQueue2                                                                 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const;
-virtual VkResult                       createSamplerYcbcrConversion                                    (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const;
-virtual void                           destroySamplerYcbcrConversion                                   (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       createDescriptorUpdateTemplate                                  (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const;
-virtual void                           destroyDescriptorUpdateTemplate                                 (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           updateDescriptorSetWithTemplate                                 (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const;
-virtual void                           getDescriptorSetLayoutSupport                                   (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const;
-virtual void                           cmdDrawIndirectCount                                                    (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
-virtual void                           cmdDrawIndexedIndirectCount                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
-virtual VkResult                       createRenderPass2                                                               (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const;
-virtual void                           cmdBeginRenderPass2                                                             (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const;
-virtual void                           cmdNextSubpass2                                                                 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const;
-virtual void                           cmdEndRenderPass2                                                               (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const;
-virtual void                           resetQueryPool                                                                  (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const;
-virtual VkResult                       getSemaphoreCounterValue                                                (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const;
-virtual VkResult                       waitSemaphores                                                                  (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const;
-virtual VkResult                       signalSemaphore                                                                 (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const;
-virtual VkDeviceAddress                getBufferDeviceAddress                                                  (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
-virtual uint64_t                       getBufferOpaqueCaptureAddress                                   (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
-virtual uint64_t                       getDeviceMemoryOpaqueCaptureAddress                             (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const;
-virtual VkResult                       createPrivateDataSlot                                                   (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) 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;
-virtual void                           cmdSetEvent2                                                                    (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const;
-virtual void                           cmdResetEvent2                                                                  (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const;
-virtual void                           cmdWaitEvents2                                                                  (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const;
-virtual void                           cmdPipelineBarrier2                                                             (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const;
-virtual void                           cmdWriteTimestamp2                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const;
-virtual VkResult                       queueSubmit2                                                                    (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const;
-virtual void                           cmdCopyBuffer2                                                                  (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const;
-virtual void                           cmdCopyImage2                                                                   (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const;
-virtual void                           cmdCopyBufferToImage2                                                   (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const;
-virtual void                           cmdCopyImageToBuffer2                                                   (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const;
-virtual void                           cmdBlitImage2                                                                   (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const;
-virtual void                           cmdResolveImage2                                                                (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const;
-virtual void                           cmdBeginRendering                                                               (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const;
-virtual void                           cmdEndRendering                                                                 (VkCommandBuffer commandBuffer) const;
-virtual void                           cmdSetCullMode                                                                  (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const;
-virtual void                           cmdSetFrontFace                                                                 (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const;
-virtual void                           cmdSetPrimitiveTopology                                                 (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const;
-virtual void                           cmdSetViewportWithCount                                                 (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const;
-virtual void                           cmdSetScissorWithCount                                                  (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const;
-virtual void                           cmdBindVertexBuffers2                                                   (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const;
-virtual void                           cmdSetDepthTestEnable                                                   (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const;
-virtual void                           cmdSetDepthWriteEnable                                                  (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const;
-virtual void                           cmdSetDepthCompareOp                                                    (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const;
-virtual void                           cmdSetDepthBoundsTestEnable                                             (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const;
-virtual void                           cmdSetStencilTestEnable                                                 (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const;
-virtual void                           cmdSetStencilOp                                                                 (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const;
-virtual void                           cmdSetRasterizerDiscardEnable                                   (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const;
-virtual void                           cmdSetDepthBiasEnable                                                   (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const;
-virtual void                           cmdSetPrimitiveRestartEnable                                    (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const;
-virtual void                           getDeviceBufferMemoryRequirements                               (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
-virtual void                           getDeviceImageMemoryRequirements                                (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
-virtual void                           getDeviceImageSparseMemoryRequirements                  (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const;
-virtual VkResult                       createSwapchainKHR                                                              (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const;
-virtual void                           destroySwapchainKHR                                                             (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       getSwapchainImagesKHR                                                   (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const;
-virtual VkResult                       acquireNextImageKHR                                                             (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const;
-virtual VkResult                       queuePresentKHR                                                                 (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const;
-virtual VkResult                       getDeviceGroupPresentCapabilitiesKHR                    (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const;
-virtual VkResult                       getDeviceGroupSurfacePresentModesKHR                    (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const;
-virtual VkResult                       acquireNextImage2KHR                                                    (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const;
-virtual VkResult                       createSharedSwapchainsKHR                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const;
-virtual VkResult                       getMemoryFdKHR                                                                  (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const;
-virtual VkResult                       getMemoryFdPropertiesKHR                                                (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const;
-virtual VkResult                       importSemaphoreFdKHR                                                    (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const;
-virtual VkResult                       getSemaphoreFdKHR                                                               (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const;
-virtual void                           cmdPushDescriptorSetKHR                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const;
-virtual void                           cmdPushDescriptorSetWithTemplateKHR                             (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const;
-virtual VkResult                       getSwapchainStatusKHR                                                   (VkDevice device, VkSwapchainKHR swapchain) const;
-virtual VkResult                       importFenceFdKHR                                                                (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const;
-virtual VkResult                       getFenceFdKHR                                                                   (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const;
-virtual VkResult                       acquireProfilingLockKHR                                                 (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const;
-virtual void                           releaseProfilingLockKHR                                                 (VkDevice device) const;
-virtual void                           cmdSetFragmentShadingRateKHR                                    (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const;
-virtual VkResult                       waitForPresentKHR                                                               (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const;
-virtual VkResult                       createDeferredOperationKHR                                              (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const;
-virtual void                           destroyDeferredOperationKHR                                             (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const;
-virtual uint32_t                       getDeferredOperationMaxConcurrencyKHR                   (VkDevice device, VkDeferredOperationKHR operation) const;
-virtual VkResult                       getDeferredOperationResultKHR                                   (VkDevice device, VkDeferredOperationKHR operation) const;
-virtual VkResult                       deferredOperationJoinKHR                                                (VkDevice device, VkDeferredOperationKHR operation) const;
-virtual VkResult                       getPipelineExecutablePropertiesKHR                              (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const;
-virtual VkResult                       getPipelineExecutableStatisticsKHR                              (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const;
-virtual VkResult                       getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const;
-virtual void                           cmdWriteBufferMarker2AMD                                                (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
-virtual void                           getQueueCheckpointData2NV                                               (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const;
-virtual VkResult                       debugMarkerSetObjectTagEXT                                              (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const;
-virtual VkResult                       debugMarkerSetObjectNameEXT                                             (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const;
-virtual void                           cmdDebugMarkerBeginEXT                                                  (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const;
-virtual void                           cmdDebugMarkerEndEXT                                                    (VkCommandBuffer commandBuffer) const;
-virtual void                           cmdDebugMarkerInsertEXT                                                 (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const;
-virtual void                           cmdBindTransformFeedbackBuffersEXT                              (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const;
-virtual void                           cmdBeginTransformFeedbackEXT                                    (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
-virtual void                           cmdEndTransformFeedbackEXT                                              (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
-virtual void                           cmdBeginQueryIndexedEXT                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const;
-virtual void                           cmdEndQueryIndexedEXT                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const;
-virtual void                           cmdDrawIndirectByteCountEXT                                             (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const;
-virtual VkResult                       createCuModuleNVX                                                               (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const;
-virtual VkResult                       createCuFunctionNVX                                                             (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const;
-virtual void                           destroyCuModuleNVX                                                              (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           destroyCuFunctionNVX                                                    (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           cmdCuLaunchKernelNVX                                                    (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const;
-virtual uint32_t                       getImageViewHandleNVX                                                   (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const;
-virtual VkResult                       getImageViewAddressNVX                                                  (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const;
-virtual void                           cmdDrawIndirectCountAMD                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
-virtual void                           cmdDrawIndexedIndirectCountAMD                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
-virtual VkResult                       getShaderInfoAMD                                                                (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const;
-virtual void                           cmdBeginConditionalRenderingEXT                                 (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const;
-virtual void                           cmdEndConditionalRenderingEXT                                   (VkCommandBuffer commandBuffer) const;
-virtual void                           cmdSetViewportWScalingNV                                                (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const;
-virtual VkResult                       displayPowerControlEXT                                                  (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const;
-virtual VkResult                       registerDeviceEventEXT                                                  (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const;
-virtual VkResult                       registerDisplayEventEXT                                                 (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const;
-virtual VkResult                       getSwapchainCounterEXT                                                  (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const;
-virtual VkResult                       getRefreshCycleDurationGOOGLE                                   (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const;
-virtual VkResult                       getPastPresentationTimingGOOGLE                                 (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const;
-virtual void                           cmdSetDiscardRectangleEXT                                               (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const;
-virtual void                           setHdrMetadataEXT                                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const;
-virtual VkResult                       setDebugUtilsObjectNameEXT                                              (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const;
-virtual VkResult                       setDebugUtilsObjectTagEXT                                               (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const;
-virtual void                           queueBeginDebugUtilsLabelEXT                                    (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const;
-virtual void                           queueEndDebugUtilsLabelEXT                                              (VkQueue queue) const;
-virtual void                           queueInsertDebugUtilsLabelEXT                                   (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const;
-virtual void                           cmdBeginDebugUtilsLabelEXT                                              (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const;
-virtual void                           cmdEndDebugUtilsLabelEXT                                                (VkCommandBuffer commandBuffer) const;
-virtual void                           cmdInsertDebugUtilsLabelEXT                                             (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const;
-virtual void                           cmdSetSampleLocationsEXT                                                (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const;
-virtual VkResult                       getImageDrmFormatModifierPropertiesEXT                  (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const;
-virtual VkResult                       createValidationCacheEXT                                                (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const;
-virtual void                           destroyValidationCacheEXT                                               (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       mergeValidationCachesEXT                                                (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const;
-virtual VkResult                       getValidationCacheDataEXT                                               (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const;
-virtual void                           cmdBindShadingRateImageNV                                               (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
-virtual void                           cmdSetViewportShadingRatePaletteNV                              (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const;
-virtual void                           cmdSetCoarseSampleOrderNV                                               (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const;
-virtual VkResult                       createAccelerationStructureNV                                   (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const;
-virtual void                           destroyAccelerationStructureNV                                  (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           getAccelerationStructureMemoryRequirementsNV    (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const;
-virtual VkResult                       bindAccelerationStructureMemoryNV                               (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const;
-virtual void                           cmdBuildAccelerationStructureNV                                 (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const;
-virtual void                           cmdCopyAccelerationStructureNV                                  (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const;
-virtual void                           cmdTraceRaysNV                                                                  (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const;
-virtual VkResult                       createRayTracingPipelinesNV                                             (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
-virtual VkResult                       getRayTracingShaderGroupHandlesKHR                              (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const;
-virtual VkResult                       getRayTracingShaderGroupHandlesNV                               (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const;
-virtual VkResult                       getAccelerationStructureHandleNV                                (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const;
-virtual void                           cmdWriteAccelerationStructuresPropertiesNV              (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const;
-virtual VkResult                       compileDeferredNV                                                               (VkDevice device, VkPipeline pipeline, uint32_t shader) const;
-virtual VkResult                       getMemoryHostPointerPropertiesEXT                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const;
-virtual void                           cmdWriteBufferMarkerAMD                                                 (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
-virtual VkResult                       getCalibratedTimestampsEXT                                              (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const;
-virtual void                           cmdDrawMeshTasksNV                                                              (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const;
-virtual void                           cmdDrawMeshTasksIndirectNV                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const;
-virtual void                           cmdDrawMeshTasksIndirectCountNV                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
-virtual void                           cmdSetExclusiveScissorNV                                                (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const;
-virtual void                           cmdSetCheckpointNV                                                              (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const;
-virtual void                           getQueueCheckpointDataNV                                                (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const;
-virtual VkResult                       initializePerformanceApiINTEL                                   (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const;
-virtual void                           uninitializePerformanceApiINTEL                                 (VkDevice device) const;
-virtual VkResult                       cmdSetPerformanceMarkerINTEL                                    (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const;
-virtual VkResult                       cmdSetPerformanceStreamMarkerINTEL                              (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const;
-virtual VkResult                       cmdSetPerformanceOverrideINTEL                                  (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const;
-virtual VkResult                       acquirePerformanceConfigurationINTEL                    (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const;
-virtual VkResult                       releasePerformanceConfigurationINTEL                    (VkDevice device, VkPerformanceConfigurationINTEL configuration) const;
-virtual VkResult                       queueSetPerformanceConfigurationINTEL                   (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const;
-virtual VkResult                       getPerformanceParameterINTEL                                    (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const;
-virtual void                           setLocalDimmingAMD                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const;
-virtual VkDeviceAddress                getBufferDeviceAddressEXT                                               (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
-virtual void                           cmdSetLineStippleEXT                                                    (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const;
-virtual void                           getGeneratedCommandsMemoryRequirementsNV                (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
-virtual void                           cmdPreprocessGeneratedCommandsNV                                (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const;
-virtual void                           cmdExecuteGeneratedCommandsNV                                   (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const;
-virtual void                           cmdBindPipelineShaderGroupNV                                    (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const;
-virtual VkResult                       createIndirectCommandsLayoutNV                                  (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const;
-virtual void                           destroyIndirectCommandsLayoutNV                                 (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           cmdSetFragmentShadingRateEnumNV                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const;
-virtual void                           cmdSetVertexInputEXT                                                    (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const;
-virtual VkResult                       getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const;
-virtual void                           cmdSubpassShadingHUAWEI                                                 (VkCommandBuffer commandBuffer) const;
-virtual void                           cmdBindInvocationMaskHUAWEI                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
-virtual VkResult                       getMemoryRemoteAddressNV                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const;
-virtual void                           cmdSetPatchControlPointsEXT                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const;
-virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const;
-virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const;
-virtual void                           cmdDrawMultiEXT                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const;
-virtual void                           cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const;
-virtual void                           setDeviceMemoryPriorityEXT                                              (VkDevice device, VkDeviceMemory memory, float priority) const;
-virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const;
-virtual void                           getDescriptorSetHostMappingVALVE                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const;
-virtual VkResult                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const;
-virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
-virtual void                           cmdBuildAccelerationStructuresIndirectKHR               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const;
-virtual VkResult                       buildAccelerationStructuresKHR                                  (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
-virtual VkResult                       copyAccelerationStructureKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const;
-virtual VkResult                       copyAccelerationStructureToMemoryKHR                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const;
-virtual VkResult                       copyMemoryToAccelerationStructureKHR                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const;
-virtual VkResult                       writeAccelerationStructuresPropertiesKHR                (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const;
-virtual void                           cmdCopyAccelerationStructureKHR                                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const;
-virtual void                           cmdCopyAccelerationStructureToMemoryKHR                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const;
-virtual void                           cmdCopyMemoryToAccelerationStructureKHR                 (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const;
-virtual VkDeviceAddress                getAccelerationStructureDeviceAddressKHR                (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const;
-virtual void                           cmdWriteAccelerationStructuresPropertiesKHR             (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const;
-virtual void                           getDeviceAccelerationStructureCompatibilityKHR  (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const;
-virtual void                           getAccelerationStructureBuildSizesKHR                   (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const;
-virtual void                           cmdTraceRaysKHR                                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const;
-virtual VkResult                       createRayTracingPipelinesKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
-virtual VkResult                       getRayTracingCaptureReplayShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const;
-virtual void                           cmdTraceRaysIndirectKHR                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const;
-virtual VkDeviceSize           getRayTracingShaderGroupStackSizeKHR                    (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const;
-virtual void                           cmdSetRayTracingPipelineStackSizeKHR                    (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const;
-virtual VkResult                       getAndroidHardwareBufferPropertiesANDROID               (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const;
-virtual VkResult                       getMemoryAndroidHardwareBufferANDROID                   (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const;
-virtual VkResult                       createVideoSessionKHR                                                   (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const;
-virtual void                           destroyVideoSessionKHR                                                  (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       getVideoSessionMemoryRequirementsKHR                    (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const;
-virtual VkResult                       bindVideoSessionMemoryKHR                                               (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const;
-virtual VkResult                       createVideoSessionParametersKHR                                 (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const;
-virtual VkResult                       updateVideoSessionParametersKHR                                 (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const;
-virtual void                           destroyVideoSessionParametersKHR                                (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const;
-virtual void                           cmdBeginVideoCodingKHR                                                  (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const;
-virtual void                           cmdEndVideoCodingKHR                                                    (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const;
-virtual void                           cmdControlVideoCodingKHR                                                (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const;
-virtual void                           cmdDecodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const;
-virtual void                           cmdEncodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const;
-virtual VkResult                       getMemoryZirconHandleFUCHSIA                                    (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const;
-virtual VkResult                       getMemoryZirconHandlePropertiesFUCHSIA                  (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const;
-virtual VkResult                       importSemaphoreZirconHandleFUCHSIA                              (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const;
-virtual VkResult                       getSemaphoreZirconHandleFUCHSIA                                 (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const;
-virtual VkResult                       createBufferCollectionFUCHSIA                                   (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const;
-virtual VkResult                       setBufferCollectionImageConstraintsFUCHSIA              (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const;
-virtual VkResult                       setBufferCollectionBufferConstraintsFUCHSIA             (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const;
-virtual void                           destroyBufferCollectionFUCHSIA                                  (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const;
-virtual VkResult                       getBufferCollectionPropertiesFUCHSIA                    (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const;
-virtual VkResult                       getMemoryWin32HandleKHR                                                 (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
-virtual VkResult                       getMemoryWin32HandlePropertiesKHR                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const;
-virtual VkResult                       importSemaphoreWin32HandleKHR                                   (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const;
-virtual VkResult                       getSemaphoreWin32HandleKHR                                              (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
-virtual VkResult                       importFenceWin32HandleKHR                                               (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const;
-virtual VkResult                       getFenceWin32HandleKHR                                                  (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
-virtual VkResult                       getMemoryWin32HandleNV                                                  (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const;
-virtual VkResult                       acquireFullScreenExclusiveModeEXT                               (VkDevice device, VkSwapchainKHR swapchain) const;
-virtual VkResult                       releaseFullScreenExclusiveModeEXT                               (VkDevice device, VkSwapchainKHR swapchain) const;
-virtual VkResult                       getDeviceGroupSurfacePresentModes2EXT                   (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const;
+virtual PFN_vkVoidFunction     getDeviceProcAddr                                                                               (VkDevice device, const char* pName) const;
+virtual void                           destroyDevice                                                                                   (VkDevice device, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           getDeviceQueue                                                                                  (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const;
+virtual VkResult                       queueSubmit                                                                                             (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const;
+virtual VkResult                       queueWaitIdle                                                                                   (VkQueue queue) const;
+virtual VkResult                       deviceWaitIdle                                                                                  (VkDevice device) const;
+virtual VkResult                       allocateMemory                                                                                  (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const;
+virtual void                           freeMemory                                                                                              (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       mapMemory                                                                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const;
+virtual void                           unmapMemory                                                                                             (VkDevice device, VkDeviceMemory memory) const;
+virtual VkResult                       flushMappedMemoryRanges                                                                 (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const;
+virtual VkResult                       invalidateMappedMemoryRanges                                                    (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const;
+virtual void                           getDeviceMemoryCommitment                                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const;
+virtual VkResult                       bindBufferMemory                                                                                (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const;
+virtual VkResult                       bindImageMemory                                                                                 (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const;
+virtual void                           getBufferMemoryRequirements                                                             (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const;
+virtual void                           getImageMemoryRequirements                                                              (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const;
+virtual void                           getImageSparseMemoryRequirements                                                (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const;
+virtual VkResult                       queueBindSparse                                                                                 (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const;
+virtual VkResult                       createFence                                                                                             (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const;
+virtual void                           destroyFence                                                                                    (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       resetFences                                                                                             (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const;
+virtual VkResult                       getFenceStatus                                                                                  (VkDevice device, VkFence fence) const;
+virtual VkResult                       waitForFences                                                                                   (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const;
+virtual VkResult                       createSemaphore                                                                                 (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const;
+virtual void                           destroySemaphore                                                                                (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createEvent                                                                                             (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const;
+virtual void                           destroyEvent                                                                                    (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getEventStatus                                                                                  (VkDevice device, VkEvent event) const;
+virtual VkResult                       setEvent                                                                                                (VkDevice device, VkEvent event) const;
+virtual VkResult                       resetEvent                                                                                              (VkDevice device, VkEvent event) const;
+virtual VkResult                       createQueryPool                                                                                 (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const;
+virtual void                           destroyQueryPool                                                                                (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getQueryPoolResults                                                                             (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const;
+virtual VkResult                       createBuffer                                                                                    (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const;
+virtual void                           destroyBuffer                                                                                   (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createBufferView                                                                                (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const;
+virtual void                           destroyBufferView                                                                               (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createImage                                                                                             (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const;
+virtual void                           destroyImage                                                                                    (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           getImageSubresourceLayout                                                               (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const;
+virtual VkResult                       createImageView                                                                                 (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const;
+virtual void                           destroyImageView                                                                                (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createShaderModule                                                                              (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const;
+virtual void                           destroyShaderModule                                                                             (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createPipelineCache                                                                             (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const;
+virtual void                           destroyPipelineCache                                                                    (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getPipelineCacheData                                                                    (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const;
+virtual VkResult                       mergePipelineCaches                                                                             (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const;
+virtual VkResult                       createGraphicsPipelines                                                                 (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
+virtual VkResult                       createComputePipelines                                                                  (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
+virtual void                           destroyPipeline                                                                                 (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createPipelineLayout                                                                    (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const;
+virtual void                           destroyPipelineLayout                                                                   (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createSampler                                                                                   (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const;
+virtual void                           destroySampler                                                                                  (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createDescriptorSetLayout                                                               (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const;
+virtual void                           destroyDescriptorSetLayout                                                              (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createDescriptorPool                                                                    (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const;
+virtual void                           destroyDescriptorPool                                                                   (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       resetDescriptorPool                                                                             (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const;
+virtual VkResult                       allocateDescriptorSets                                                                  (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const;
+virtual VkResult                       freeDescriptorSets                                                                              (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const;
+virtual void                           updateDescriptorSets                                                                    (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const;
+virtual VkResult                       createFramebuffer                                                                               (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const;
+virtual void                           destroyFramebuffer                                                                              (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createRenderPass                                                                                (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const;
+virtual void                           destroyRenderPass                                                                               (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           getRenderAreaGranularity                                                                (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const;
+virtual VkResult                       createCommandPool                                                                               (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const;
+virtual void                           destroyCommandPool                                                                              (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       resetCommandPool                                                                                (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const;
+virtual VkResult                       allocateCommandBuffers                                                                  (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const;
+virtual void                           freeCommandBuffers                                                                              (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const;
+virtual VkResult                       beginCommandBuffer                                                                              (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const;
+virtual VkResult                       endCommandBuffer                                                                                (VkCommandBuffer commandBuffer) const;
+virtual VkResult                       resetCommandBuffer                                                                              (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const;
+virtual void                           cmdBindPipeline                                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const;
+virtual void                           cmdSetViewport                                                                                  (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const;
+virtual void                           cmdSetScissor                                                                                   (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const;
+virtual void                           cmdSetLineWidth                                                                                 (VkCommandBuffer commandBuffer, float lineWidth) const;
+virtual void                           cmdSetDepthBias                                                                                 (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const;
+virtual void                           cmdSetBlendConstants                                                                    (VkCommandBuffer commandBuffer, const float blendConstants[4]) const;
+virtual void                           cmdSetDepthBounds                                                                               (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const;
+virtual void                           cmdSetStencilCompareMask                                                                (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const;
+virtual void                           cmdSetStencilWriteMask                                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const;
+virtual void                           cmdSetStencilReference                                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const;
+virtual void                           cmdBindDescriptorSets                                                                   (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const;
+virtual void                           cmdBindIndexBuffer                                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const;
+virtual void                           cmdBindVertexBuffers                                                                    (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const;
+virtual void                           cmdDraw                                                                                                 (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const;
+virtual void                           cmdDrawIndexed                                                                                  (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const;
+virtual void                           cmdDrawIndirect                                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const;
+virtual void                           cmdDrawIndexedIndirect                                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const;
+virtual void                           cmdDispatch                                                                                             (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const;
+virtual void                           cmdDispatchIndirect                                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const;
+virtual void                           cmdCopyBuffer                                                                                   (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const;
+virtual void                           cmdCopyImage                                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const;
+virtual void                           cmdBlitImage                                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const;
+virtual void                           cmdCopyBufferToImage                                                                    (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const;
+virtual void                           cmdCopyImageToBuffer                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const;
+virtual void                           cmdUpdateBuffer                                                                                 (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const;
+virtual void                           cmdFillBuffer                                                                                   (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const;
+virtual void                           cmdClearColorImage                                                                              (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const;
+virtual void                           cmdClearDepthStencilImage                                                               (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const;
+virtual void                           cmdClearAttachments                                                                             (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const;
+virtual void                           cmdResolveImage                                                                                 (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const;
+virtual void                           cmdSetEvent                                                                                             (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const;
+virtual void                           cmdResetEvent                                                                                   (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const;
+virtual void                           cmdWaitEvents                                                                                   (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
+virtual void                           cmdPipelineBarrier                                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
+virtual void                           cmdBeginQuery                                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const;
+virtual void                           cmdEndQuery                                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const;
+virtual void                           cmdResetQueryPool                                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const;
+virtual void                           cmdWriteTimestamp                                                                               (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const;
+virtual void                           cmdCopyQueryPoolResults                                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const;
+virtual void                           cmdPushConstants                                                                                (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const;
+virtual void                           cmdBeginRenderPass                                                                              (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const;
+virtual void                           cmdNextSubpass                                                                                  (VkCommandBuffer commandBuffer, VkSubpassContents contents) const;
+virtual void                           cmdEndRenderPass                                                                                (VkCommandBuffer commandBuffer) const;
+virtual void                           cmdExecuteCommands                                                                              (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const;
+virtual VkResult                       bindBufferMemory2                                                                               (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const;
+virtual VkResult                       bindImageMemory2                                                                                (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const;
+virtual void                           getDeviceGroupPeerMemoryFeatures                                                (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const;
+virtual void                           cmdSetDeviceMask                                                                                (VkCommandBuffer commandBuffer, uint32_t deviceMask) const;
+virtual void                           cmdDispatchBase                                                                                 (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const;
+virtual void                           getImageMemoryRequirements2                                                             (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
+virtual void                           getBufferMemoryRequirements2                                                    (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
+virtual void                           getImageSparseMemoryRequirements2                                               (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const;
+virtual void                           trimCommandPool                                                                                 (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const;
+virtual void                           getDeviceQueue2                                                                                 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const;
+virtual VkResult                       createSamplerYcbcrConversion                                                    (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const;
+virtual void                           destroySamplerYcbcrConversion                                                   (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       createDescriptorUpdateTemplate                                                  (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const;
+virtual void                           destroyDescriptorUpdateTemplate                                                 (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           updateDescriptorSetWithTemplate                                                 (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const;
+virtual void                           getDescriptorSetLayoutSupport                                                   (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const;
+virtual void                           cmdDrawIndirectCount                                                                    (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
+virtual void                           cmdDrawIndexedIndirectCount                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
+virtual VkResult                       createRenderPass2                                                                               (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const;
+virtual void                           cmdBeginRenderPass2                                                                             (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const;
+virtual void                           cmdNextSubpass2                                                                                 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const;
+virtual void                           cmdEndRenderPass2                                                                               (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const;
+virtual void                           resetQueryPool                                                                                  (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const;
+virtual VkResult                       getSemaphoreCounterValue                                                                (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const;
+virtual VkResult                       waitSemaphores                                                                                  (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const;
+virtual VkResult                       signalSemaphore                                                                                 (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const;
+virtual VkDeviceAddress                getBufferDeviceAddress                                                                  (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
+virtual uint64_t                       getBufferOpaqueCaptureAddress                                                   (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
+virtual uint64_t                       getDeviceMemoryOpaqueCaptureAddress                                             (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const;
+virtual VkResult                       createPrivateDataSlot                                                                   (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) 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;
+virtual void                           cmdSetEvent2                                                                                    (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const;
+virtual void                           cmdResetEvent2                                                                                  (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const;
+virtual void                           cmdWaitEvents2                                                                                  (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const;
+virtual void                           cmdPipelineBarrier2                                                                             (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const;
+virtual void                           cmdWriteTimestamp2                                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const;
+virtual VkResult                       queueSubmit2                                                                                    (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const;
+virtual void                           cmdCopyBuffer2                                                                                  (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const;
+virtual void                           cmdCopyImage2                                                                                   (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const;
+virtual void                           cmdCopyBufferToImage2                                                                   (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const;
+virtual void                           cmdCopyImageToBuffer2                                                                   (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const;
+virtual void                           cmdBlitImage2                                                                                   (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const;
+virtual void                           cmdResolveImage2                                                                                (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const;
+virtual void                           cmdBeginRendering                                                                               (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const;
+virtual void                           cmdEndRendering                                                                                 (VkCommandBuffer commandBuffer) const;
+virtual void                           cmdSetCullMode                                                                                  (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const;
+virtual void                           cmdSetFrontFace                                                                                 (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const;
+virtual void                           cmdSetPrimitiveTopology                                                                 (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const;
+virtual void                           cmdSetViewportWithCount                                                                 (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const;
+virtual void                           cmdSetScissorWithCount                                                                  (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const;
+virtual void                           cmdBindVertexBuffers2                                                                   (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const;
+virtual void                           cmdSetDepthTestEnable                                                                   (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const;
+virtual void                           cmdSetDepthWriteEnable                                                                  (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const;
+virtual void                           cmdSetDepthCompareOp                                                                    (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const;
+virtual void                           cmdSetDepthBoundsTestEnable                                                             (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const;
+virtual void                           cmdSetStencilTestEnable                                                                 (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const;
+virtual void                           cmdSetStencilOp                                                                                 (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const;
+virtual void                           cmdSetRasterizerDiscardEnable                                                   (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const;
+virtual void                           cmdSetDepthBiasEnable                                                                   (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const;
+virtual void                           cmdSetPrimitiveRestartEnable                                                    (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const;
+virtual void                           getDeviceBufferMemoryRequirements                                               (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
+virtual void                           getDeviceImageMemoryRequirements                                                (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
+virtual void                           getDeviceImageSparseMemoryRequirements                                  (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const;
+virtual VkResult                       createSwapchainKHR                                                                              (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const;
+virtual void                           destroySwapchainKHR                                                                             (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getSwapchainImagesKHR                                                                   (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const;
+virtual VkResult                       acquireNextImageKHR                                                                             (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const;
+virtual VkResult                       queuePresentKHR                                                                                 (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const;
+virtual VkResult                       getDeviceGroupPresentCapabilitiesKHR                                    (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const;
+virtual VkResult                       getDeviceGroupSurfacePresentModesKHR                                    (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const;
+virtual VkResult                       acquireNextImage2KHR                                                                    (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const;
+virtual VkResult                       createSharedSwapchainsKHR                                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const;
+virtual VkResult                       getMemoryFdKHR                                                                                  (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const;
+virtual VkResult                       getMemoryFdPropertiesKHR                                                                (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const;
+virtual VkResult                       importSemaphoreFdKHR                                                                    (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const;
+virtual VkResult                       getSemaphoreFdKHR                                                                               (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const;
+virtual void                           cmdPushDescriptorSetKHR                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const;
+virtual void                           cmdPushDescriptorSetWithTemplateKHR                                             (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const;
+virtual VkResult                       getSwapchainStatusKHR                                                                   (VkDevice device, VkSwapchainKHR swapchain) const;
+virtual VkResult                       importFenceFdKHR                                                                                (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const;
+virtual VkResult                       getFenceFdKHR                                                                                   (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const;
+virtual VkResult                       acquireProfilingLockKHR                                                                 (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const;
+virtual void                           releaseProfilingLockKHR                                                                 (VkDevice device) const;
+virtual void                           cmdSetFragmentShadingRateKHR                                                    (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const;
+virtual VkResult                       waitForPresentKHR                                                                               (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const;
+virtual VkResult                       createDeferredOperationKHR                                                              (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const;
+virtual void                           destroyDeferredOperationKHR                                                             (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const;
+virtual uint32_t                       getDeferredOperationMaxConcurrencyKHR                                   (VkDevice device, VkDeferredOperationKHR operation) const;
+virtual VkResult                       getDeferredOperationResultKHR                                                   (VkDevice device, VkDeferredOperationKHR operation) const;
+virtual VkResult                       deferredOperationJoinKHR                                                                (VkDevice device, VkDeferredOperationKHR operation) const;
+virtual VkResult                       getPipelineExecutablePropertiesKHR                                              (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const;
+virtual VkResult                       getPipelineExecutableStatisticsKHR                                              (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const;
+virtual VkResult                       getPipelineExecutableInternalRepresentationsKHR                 (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const;
+virtual void                           cmdWriteBufferMarker2AMD                                                                (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
+virtual void                           getQueueCheckpointData2NV                                                               (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const;
+virtual void                           cmdTraceRaysIndirect2KHR                                                                (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const;
+virtual VkResult                       debugMarkerSetObjectTagEXT                                                              (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const;
+virtual VkResult                       debugMarkerSetObjectNameEXT                                                             (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const;
+virtual void                           cmdDebugMarkerBeginEXT                                                                  (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const;
+virtual void                           cmdDebugMarkerEndEXT                                                                    (VkCommandBuffer commandBuffer) const;
+virtual void                           cmdDebugMarkerInsertEXT                                                                 (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const;
+virtual void                           cmdBindTransformFeedbackBuffersEXT                                              (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const;
+virtual void                           cmdBeginTransformFeedbackEXT                                                    (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
+virtual void                           cmdEndTransformFeedbackEXT                                                              (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
+virtual void                           cmdBeginQueryIndexedEXT                                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const;
+virtual void                           cmdEndQueryIndexedEXT                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const;
+virtual void                           cmdDrawIndirectByteCountEXT                                                             (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const;
+virtual VkResult                       createCuModuleNVX                                                                               (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const;
+virtual VkResult                       createCuFunctionNVX                                                                             (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const;
+virtual void                           destroyCuModuleNVX                                                                              (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           destroyCuFunctionNVX                                                                    (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           cmdCuLaunchKernelNVX                                                                    (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const;
+virtual uint32_t                       getImageViewHandleNVX                                                                   (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const;
+virtual VkResult                       getImageViewAddressNVX                                                                  (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const;
+virtual void                           cmdDrawIndirectCountAMD                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
+virtual void                           cmdDrawIndexedIndirectCountAMD                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
+virtual VkResult                       getShaderInfoAMD                                                                                (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const;
+virtual void                           cmdBeginConditionalRenderingEXT                                                 (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const;
+virtual void                           cmdEndConditionalRenderingEXT                                                   (VkCommandBuffer commandBuffer) const;
+virtual void                           cmdSetViewportWScalingNV                                                                (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const;
+virtual VkResult                       displayPowerControlEXT                                                                  (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const;
+virtual VkResult                       registerDeviceEventEXT                                                                  (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const;
+virtual VkResult                       registerDisplayEventEXT                                                                 (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const;
+virtual VkResult                       getSwapchainCounterEXT                                                                  (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const;
+virtual VkResult                       getRefreshCycleDurationGOOGLE                                                   (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const;
+virtual VkResult                       getPastPresentationTimingGOOGLE                                                 (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const;
+virtual void                           cmdSetDiscardRectangleEXT                                                               (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const;
+virtual void                           setHdrMetadataEXT                                                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const;
+virtual VkResult                       setDebugUtilsObjectNameEXT                                                              (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const;
+virtual VkResult                       setDebugUtilsObjectTagEXT                                                               (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const;
+virtual void                           queueBeginDebugUtilsLabelEXT                                                    (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const;
+virtual void                           queueEndDebugUtilsLabelEXT                                                              (VkQueue queue) const;
+virtual void                           queueInsertDebugUtilsLabelEXT                                                   (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const;
+virtual void                           cmdBeginDebugUtilsLabelEXT                                                              (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const;
+virtual void                           cmdEndDebugUtilsLabelEXT                                                                (VkCommandBuffer commandBuffer) const;
+virtual void                           cmdInsertDebugUtilsLabelEXT                                                             (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const;
+virtual void                           cmdSetSampleLocationsEXT                                                                (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const;
+virtual VkResult                       getImageDrmFormatModifierPropertiesEXT                                  (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const;
+virtual VkResult                       createValidationCacheEXT                                                                (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const;
+virtual void                           destroyValidationCacheEXT                                                               (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       mergeValidationCachesEXT                                                                (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const;
+virtual VkResult                       getValidationCacheDataEXT                                                               (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const;
+virtual void                           cmdBindShadingRateImageNV                                                               (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
+virtual void                           cmdSetViewportShadingRatePaletteNV                                              (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const;
+virtual void                           cmdSetCoarseSampleOrderNV                                                               (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const;
+virtual VkResult                       createAccelerationStructureNV                                                   (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const;
+virtual void                           destroyAccelerationStructureNV                                                  (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           getAccelerationStructureMemoryRequirementsNV                    (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const;
+virtual VkResult                       bindAccelerationStructureMemoryNV                                               (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const;
+virtual void                           cmdBuildAccelerationStructureNV                                                 (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const;
+virtual void                           cmdCopyAccelerationStructureNV                                                  (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const;
+virtual void                           cmdTraceRaysNV                                                                                  (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const;
+virtual VkResult                       createRayTracingPipelinesNV                                                             (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
+virtual VkResult                       getRayTracingShaderGroupHandlesKHR                                              (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const;
+virtual VkResult                       getRayTracingShaderGroupHandlesNV                                               (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const;
+virtual VkResult                       getAccelerationStructureHandleNV                                                (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const;
+virtual void                           cmdWriteAccelerationStructuresPropertiesNV                              (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const;
+virtual VkResult                       compileDeferredNV                                                                               (VkDevice device, VkPipeline pipeline, uint32_t shader) const;
+virtual VkResult                       getMemoryHostPointerPropertiesEXT                                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const;
+virtual void                           cmdWriteBufferMarkerAMD                                                                 (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const;
+virtual VkResult                       getCalibratedTimestampsEXT                                                              (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const;
+virtual void                           cmdDrawMeshTasksNV                                                                              (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const;
+virtual void                           cmdDrawMeshTasksIndirectNV                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const;
+virtual void                           cmdDrawMeshTasksIndirectCountNV                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const;
+virtual void                           cmdSetExclusiveScissorNV                                                                (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const;
+virtual void                           cmdSetCheckpointNV                                                                              (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const;
+virtual void                           getQueueCheckpointDataNV                                                                (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const;
+virtual VkResult                       initializePerformanceApiINTEL                                                   (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const;
+virtual void                           uninitializePerformanceApiINTEL                                                 (VkDevice device) const;
+virtual VkResult                       cmdSetPerformanceMarkerINTEL                                                    (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const;
+virtual VkResult                       cmdSetPerformanceStreamMarkerINTEL                                              (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const;
+virtual VkResult                       cmdSetPerformanceOverrideINTEL                                                  (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const;
+virtual VkResult                       acquirePerformanceConfigurationINTEL                                    (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const;
+virtual VkResult                       releasePerformanceConfigurationINTEL                                    (VkDevice device, VkPerformanceConfigurationINTEL configuration) const;
+virtual VkResult                       queueSetPerformanceConfigurationINTEL                                   (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const;
+virtual VkResult                       getPerformanceParameterINTEL                                                    (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const;
+virtual void                           setLocalDimmingAMD                                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const;
+virtual VkDeviceAddress                getBufferDeviceAddressEXT                                                               (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const;
+virtual void                           cmdSetLineStippleEXT                                                                    (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const;
+virtual void                           getGeneratedCommandsMemoryRequirementsNV                                (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const;
+virtual void                           cmdPreprocessGeneratedCommandsNV                                                (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const;
+virtual void                           cmdExecuteGeneratedCommandsNV                                                   (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const;
+virtual void                           cmdBindPipelineShaderGroupNV                                                    (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const;
+virtual VkResult                       createIndirectCommandsLayoutNV                                                  (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const;
+virtual void                           destroyIndirectCommandsLayoutNV                                                 (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getDescriptorSetLayoutSizeEXT                                                   (VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes) const;
+virtual VkResult                       getDescriptorSetLayoutBindingOffsetEXT                                  (VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset) const;
+virtual VkResult                       getDescriptorEXT                                                                                (VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, void* pDescriptor) const;
+virtual void                           cmdBindDescriptorBuffersEXT                                                             (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos) const;
+virtual void                           cmdSetDescriptorBufferOffsetsEXT                                                (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets) const;
+virtual void                           cmdBindDescriptorBufferEmbeddedSamplersEXT                              (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set) const;
+virtual VkResult                       getBufferOpaqueCaptureDescriptorDataEXT                                 (VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData) const;
+virtual VkResult                       getImageOpaqueCaptureDescriptorDataEXT                                  (VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData) const;
+virtual VkResult                       getImageViewOpaqueCaptureDescriptorDataEXT                              (VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData) const;
+virtual VkResult                       getSamplerOpaqueCaptureDescriptorDataEXT                                (VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData) const;
+virtual VkResult                       getAccelerationStructureOpaqueCaptureDescriptorDataEXT  (VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const;
+virtual void                           cmdSetFragmentShadingRateEnumNV                                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const;
+virtual void                           getImageSubresourceLayout2EXT                                                   (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const;
+virtual void                           cmdSetVertexInputEXT                                                                    (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const;
+virtual VkResult                       getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI                   (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const;
+virtual void                           cmdSubpassShadingHUAWEI                                                                 (VkCommandBuffer commandBuffer) const;
+virtual void                           cmdBindInvocationMaskHUAWEI                                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
+virtual VkResult                       getMemoryRemoteAddressNV                                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const;
+virtual VkResult                       getPipelinePropertiesEXT                                                                (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const;
+virtual void                           cmdSetPatchControlPointsEXT                                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const;
+virtual void                           cmdSetLogicOpEXT                                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const;
+virtual void                           cmdSetColorWriteEnableEXT                                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const;
+virtual void                           cmdDrawMultiEXT                                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const;
+virtual void                           cmdDrawMultiIndexedEXT                                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const;
+virtual void                           setDeviceMemoryPriorityEXT                                                              (VkDevice device, VkDeviceMemory memory, float priority) const;
+virtual void                           getDescriptorSetLayoutHostMappingInfoVALVE                              (VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping) const;
+virtual void                           getDescriptorSetHostMappingVALVE                                                (VkDevice device, VkDescriptorSet descriptorSet, void** ppData) const;
+virtual VkResult                       createAccelerationStructureKHR                                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const;
+virtual void                           destroyAccelerationStructureKHR                                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           cmdBuildAccelerationStructuresKHR                                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
+virtual void                           cmdBuildAccelerationStructuresIndirectKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const;
+virtual VkResult                       buildAccelerationStructuresKHR                                                  (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const;
+virtual VkResult                       copyAccelerationStructureKHR                                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const;
+virtual VkResult                       copyAccelerationStructureToMemoryKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const;
+virtual VkResult                       copyMemoryToAccelerationStructureKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const;
+virtual VkResult                       writeAccelerationStructuresPropertiesKHR                                (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const;
+virtual void                           cmdCopyAccelerationStructureKHR                                                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const;
+virtual void                           cmdCopyAccelerationStructureToMemoryKHR                                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const;
+virtual void                           cmdCopyMemoryToAccelerationStructureKHR                                 (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const;
+virtual VkDeviceAddress                getAccelerationStructureDeviceAddressKHR                                (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const;
+virtual void                           cmdWriteAccelerationStructuresPropertiesKHR                             (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const;
+virtual void                           getDeviceAccelerationStructureCompatibilityKHR                  (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const;
+virtual void                           getAccelerationStructureBuildSizesKHR                                   (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const;
+virtual void                           cmdTraceRaysKHR                                                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const;
+virtual VkResult                       createRayTracingPipelinesKHR                                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
+virtual VkResult                       getRayTracingCaptureReplayShaderGroupHandlesKHR                 (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const;
+virtual void                           cmdTraceRaysIndirectKHR                                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const;
+virtual VkDeviceSize           getRayTracingShaderGroupStackSizeKHR                                    (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const;
+virtual void                           cmdSetRayTracingPipelineStackSizeKHR                                    (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const;
+virtual VkResult                       getAndroidHardwareBufferPropertiesANDROID                               (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const;
+virtual VkResult                       getMemoryAndroidHardwareBufferANDROID                                   (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const;
+virtual VkResult                       createVideoSessionKHR                                                                   (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const;
+virtual void                           destroyVideoSessionKHR                                                                  (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getVideoSessionMemoryRequirementsKHR                                    (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const;
+virtual VkResult                       bindVideoSessionMemoryKHR                                                               (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const;
+virtual VkResult                       createVideoSessionParametersKHR                                                 (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const;
+virtual VkResult                       updateVideoSessionParametersKHR                                                 (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const;
+virtual void                           destroyVideoSessionParametersKHR                                                (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const;
+virtual void                           cmdBeginVideoCodingKHR                                                                  (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const;
+virtual void                           cmdEndVideoCodingKHR                                                                    (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const;
+virtual void                           cmdControlVideoCodingKHR                                                                (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const;
+virtual void                           cmdDecodeVideoKHR                                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const;
+virtual void                           cmdEncodeVideoKHR                                                                               (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const;
+virtual VkResult                       getMemoryZirconHandleFUCHSIA                                                    (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const;
+virtual VkResult                       getMemoryZirconHandlePropertiesFUCHSIA                                  (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const;
+virtual VkResult                       importSemaphoreZirconHandleFUCHSIA                                              (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const;
+virtual VkResult                       getSemaphoreZirconHandleFUCHSIA                                                 (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const;
+virtual VkResult                       createBufferCollectionFUCHSIA                                                   (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const;
+virtual VkResult                       setBufferCollectionImageConstraintsFUCHSIA                              (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const;
+virtual VkResult                       setBufferCollectionBufferConstraintsFUCHSIA                             (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const;
+virtual void                           destroyBufferCollectionFUCHSIA                                                  (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const;
+virtual VkResult                       getBufferCollectionPropertiesFUCHSIA                                    (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const;
+virtual VkResult                       getMemoryWin32HandleKHR                                                                 (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
+virtual VkResult                       getMemoryWin32HandlePropertiesKHR                                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const;
+virtual VkResult                       importSemaphoreWin32HandleKHR                                                   (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const;
+virtual VkResult                       getSemaphoreWin32HandleKHR                                                              (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
+virtual VkResult                       importFenceWin32HandleKHR                                                               (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const;
+virtual VkResult                       getFenceWin32HandleKHR                                                                  (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const;
+virtual VkResult                       getMemoryWin32HandleNV                                                                  (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const;
+virtual VkResult                       acquireFullScreenExclusiveModeEXT                                               (VkDevice device, VkSwapchainKHR swapchain) const;
+virtual VkResult                       releaseFullScreenExclusiveModeEXT                                               (VkDevice device, VkSwapchainKHR swapchain) const;
+virtual VkResult                       getDeviceGroupSurfacePresentModes2EXT                                   (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const;
index 4ae54e7..6384538 100644 (file)
@@ -1094,6 +1094,11 @@ void DeviceDriver::getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpoi
        m_vk.getQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData);
 }
 
+void DeviceDriver::cmdTraceRaysIndirect2KHR (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const
+{
+       m_vk.cmdTraceRaysIndirect2KHR(commandBuffer, indirectDeviceAddress);
+}
+
 VkResult DeviceDriver::debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const
 {
        return m_vk.debugMarkerSetObjectTagEXT(device, pTagInfo);
@@ -1539,11 +1544,71 @@ void DeviceDriver::destroyIndirectCommandsLayoutNV (VkDevice device, VkIndirectC
        m_vk.destroyIndirectCommandsLayoutNV(device, indirectCommandsLayout, pAllocator);
 }
 
+VkResult DeviceDriver::getDescriptorSetLayoutSizeEXT (VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes) const
+{
+       return m_vk.getDescriptorSetLayoutSizeEXT(device, layout, pLayoutSizeInBytes);
+}
+
+VkResult DeviceDriver::getDescriptorSetLayoutBindingOffsetEXT (VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset) const
+{
+       return m_vk.getDescriptorSetLayoutBindingOffsetEXT(device, layout, binding, pOffset);
+}
+
+VkResult DeviceDriver::getDescriptorEXT (VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, void* pDescriptor) const
+{
+       return m_vk.getDescriptorEXT(device, pDescriptorInfo, pDescriptor);
+}
+
+void DeviceDriver::cmdBindDescriptorBuffersEXT (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos) const
+{
+       m_vk.cmdBindDescriptorBuffersEXT(commandBuffer, pipelineBindPoint, firstBuffer, bufferCount, pBindingInfos);
+}
+
+void DeviceDriver::cmdSetDescriptorBufferOffsetsEXT (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets) const
+{
+       m_vk.cmdSetDescriptorBufferOffsetsEXT(commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets);
+}
+
+void DeviceDriver::cmdBindDescriptorBufferEmbeddedSamplersEXT (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set) const
+{
+       m_vk.cmdBindDescriptorBufferEmbeddedSamplersEXT(commandBuffer, pipelineBindPoint, layout, set);
+}
+
+VkResult DeviceDriver::getBufferOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData) const
+{
+       return m_vk.getBufferOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
+}
+
+VkResult DeviceDriver::getImageOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData) const
+{
+       return m_vk.getImageOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
+}
+
+VkResult DeviceDriver::getImageViewOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData) const
+{
+       return m_vk.getImageViewOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
+}
+
+VkResult DeviceDriver::getSamplerOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData) const
+{
+       return m_vk.getSamplerOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
+}
+
+VkResult DeviceDriver::getAccelerationStructureOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const
+{
+       return m_vk.getAccelerationStructureOpaqueCaptureDescriptorDataEXT(device, pInfo, pData);
+}
+
 void DeviceDriver::cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const
 {
        m_vk.cmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerOps);
 }
 
+void DeviceDriver::getImageSubresourceLayout2EXT (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const
+{
+       m_vk.getImageSubresourceLayout2EXT(device, image, pSubresource, pLayout);
+}
+
 void DeviceDriver::cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const
 {
        m_vk.cmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions);
@@ -1569,6 +1634,11 @@ VkResult DeviceDriver::getMemoryRemoteAddressNV (VkDevice device, const VkMemory
        return m_vk.getMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress);
 }
 
+VkResult DeviceDriver::getPipelinePropertiesEXT (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const
+{
+       return m_vk.getPipelinePropertiesEXT(device, pPipelineInfo, pPipelineProperties);
+}
+
 void DeviceDriver::cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const
 {
        m_vk.cmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints);
index a52741c..20b9064 100644 (file)
@@ -534,6 +534,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR, fragmentShaderBarycentric),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>()))
 {
        static const Feature features[] =
@@ -557,6 +567,17 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 4, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, rayTracingMaintenance1),
+               FEATURE_ITEM (VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR, rayTracingPipelineTraceRaysIndirect2),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>()))
 {
        static const Feature features[] =
@@ -683,16 +704,6 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
-if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>()))
-{
-       static const Feature features[] =
-       {
-               FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, fragmentShaderBarycentric),
-       };
-       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV*>(featuresStruct);
-       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
-}
-
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>()))
 {
        static const Feature features[] =
@@ -992,6 +1003,19 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceDescriptorBufferFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceDescriptorBufferFeaturesEXT, descriptorBuffer),
+               FEATURE_ITEM (VkPhysicalDeviceDescriptorBufferFeaturesEXT, descriptorBufferCaptureReplay),
+               FEATURE_ITEM (VkPhysicalDeviceDescriptorBufferFeaturesEXT, descriptorBufferImageLayoutIgnored),
+               FEATURE_ITEM (VkPhysicalDeviceDescriptorBufferFeaturesEXT, descriptorBufferPushDescriptors),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 4, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>()))
 {
        static const Feature features[] =
@@ -1002,6 +1026,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, shaderEarlyAndLateFragmentTests),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>()))
 {
        static const Feature features[] =
@@ -1045,6 +1079,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceImageCompressionControlFeaturesEXT, imageCompressionControl),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceImageCompressionControlFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDevice4444FormatsFeaturesEXT>()))
 {
        static const Feature features[] =
@@ -1149,6 +1193,16 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDevicePipelinePropertiesFeaturesEXT, pipelinePropertiesIdentifier),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDevicePipelinePropertiesFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>()))
 {
        static const Feature features[] =
@@ -1265,6 +1319,26 @@ if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(de
        checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
 }
 
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, imageCompressionControlSwapchain),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
+if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>()))
+{
+       static const Feature features[] =
+       {
+               FEATURE_ITEM (VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT, subpassMergeFeedback),
+       };
+       auto* supportedFeatures = reinterpret_cast<const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT*>(featuresStruct);
+       checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures, isSubProcess);
+}
+
 if (const void* featuresStruct = findStructureInChain(const_cast<const void*>(deviceFeatures2.pNext), getStructureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>()))
 {
        static const Feature features[] =
index 6d4e442..4792a1a 100644 (file)
@@ -27,6 +27,7 @@ namespace vk
 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
+#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
@@ -40,7 +41,7 @@ namespace vk
 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
-#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
@@ -49,6 +50,8 @@ namespace vk
 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
@@ -67,6 +70,7 @@ namespace vk
 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
+#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
 #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
 #define VK_KHR_PRESENT_ID_EXTENSION_NAME  "VK_KHR_present_id"
 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
@@ -76,6 +80,7 @@ namespace vk
 #define DECL_PROTECTED_MEMORY_EXTENSION_NAME "not_existent_feature"
 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
 #define VK_KHR_RAY_QUERY_EXTENSION_NAME   "VK_KHR_ray_query"
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
@@ -90,6 +95,7 @@ namespace vk
 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
@@ -101,6 +107,7 @@ namespace vk
 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
@@ -290,8 +297,10 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateFeaturesK
 template<> void initFeatureFromBlob<VkPhysicalDevicePresentWaitFeaturesKHR>(VkPhysicalDevicePresentWaitFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePresentIdFeaturesKHR>(VkPhysicalDevicePresentIdFeaturesKHR&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>(VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>(VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(VkPhysicalDeviceTransformFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceCornerSampledImageFeaturesNV>(VkPhysicalDeviceCornerSampledImageFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceASTCDecodeFeaturesEXT>(VkPhysicalDeviceASTCDecodeFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -304,7 +313,6 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceRepresentativeFragmentTestFe
 template<> void initFeatureFromBlob<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceMeshShaderFeaturesNV>(VkPhysicalDeviceMeshShaderFeaturesNV&, const AllFeaturesBlobs&) {}
-template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderImageFootprintFeaturesNV>(VkPhysicalDeviceShaderImageFootprintFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExclusiveScissorFeaturesNV>(VkPhysicalDeviceExclusiveScissorFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&, const AllFeaturesBlobs&) {}
@@ -331,11 +339,14 @@ template<> void initFeatureFromBlob<VkPhysicalDeviceDeviceMemoryReportFeaturesEX
 template<> void initFeatureFromBlob<VkPhysicalDeviceRobustness2FeaturesEXT>(VkPhysicalDeviceRobustness2FeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceCustomBorderColorFeaturesEXT>(VkPhysicalDeviceCustomBorderColorFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(VkPhysicalDeviceDiagnosticsConfigFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceDescriptorBufferFeaturesEXT>(VkPhysicalDeviceDescriptorBufferFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>(VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>(VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceImageCompressionControlFeaturesEXT>(VkPhysicalDeviceImageCompressionControlFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevice4444FormatsFeaturesEXT>(VkPhysicalDevice4444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM>(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -346,6 +357,7 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePrimitiveTopologyListRestart
 template<> void initFeatureFromBlob<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(VkPhysicalDevicePipelinePropertiesFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceColorWriteEnableFeaturesEXT>(VkPhysicalDeviceColorWriteEnableFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&, const AllFeaturesBlobs&) {}
@@ -357,106 +369,115 @@ template<> void initFeatureFromBlob<VkPhysicalDevicePageableDeviceLocalMemoryFea
 template<> void initFeatureFromBlob<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>(VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>(VkPhysicalDeviceLinearColorAttachmentFeaturesNV&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>(VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&, const AllFeaturesBlobs&) {}
+template<> void initFeatureFromBlob<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>(VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceAccelerationStructureFeaturesKHR>(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>(VkPhysicalDeviceRayTracingPipelineFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDeviceRayQueryFeaturesKHR>(VkPhysicalDeviceRayQueryFeaturesKHR&, const AllFeaturesBlobs&) {}
 template<> void initFeatureFromBlob<VkPhysicalDevicePortabilitySubsetFeaturesKHR>(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {}
 
 
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 109}; }
-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, 108}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 107}; }
-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, 106}; }
-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, 105}; }
-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, 104}; }
-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, 103}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 102}; }
-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, 101}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 100}; }
-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, 99}; }
-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, 98}; }
-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, 97}; }
-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, 96}; }
-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, 95}; }
-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, 94}; }
-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, 93}; }
-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, 92}; }
-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, 91}; }
-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, 90}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 89}; }
-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, 88}; }
-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, 87}; }
-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, 86}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 85}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 84}; }
-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, 83}; }
-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, 82}; }
-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, 81}; }
-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, 80}; }
-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, 79}; }
-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, 78}; }
-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, 77}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_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<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, 74}; }
-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, 73}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 72}; }
-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, 71}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 70}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 69}; }
-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, 68}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 67}; }
-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, 66}; }
-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, 65}; }
-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, 64}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 63}; }
-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, 62}; }
-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, 61}; }
-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, 60}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 59}; }
-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, 58}; }
-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, 57}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 56}; }
-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, 55}; }
-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, 54}; }
-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, 53}; }
-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, 52}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 51}; }
-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, 50}; }
-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, 49}; }
-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, 48}; }
-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, 47}; }
-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, 46}; }
-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, 45}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 44}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 43}; }
-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, 42}; }
-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, 41}; }
-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, 40}; }
-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, 39}; }
-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, 38}; }
-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, 37}; }
-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, 36}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 35}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 34}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 33}; }
-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, 32}; }
-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, 31}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 30}; }
-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, 29}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 28}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 27}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 26}; }
-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, 25}; }
-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, 24}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerDotProductFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 23}; }
-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, 22}; }
-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, 21}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 20}; }
-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, 19}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 18}; }
-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, 17}; }
-template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 16}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 116}; }
+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, 115}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 114}; }
+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, 113}; }
+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, 112}; }
+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, 111}; }
+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, 110}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceBufferDeviceAddressFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 109}; }
+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, 108}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceCoherentMemoryFeaturesAMD>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 107}; }
+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, 106}; }
+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, 105}; }
+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, 104}; }
+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, 103}; }
+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, 102}; }
+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, 101}; }
+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, 100}; }
+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, 99}; }
+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, 98}; }
+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, 97}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorBufferFeaturesEXT>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT, VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME, VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION, 96}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 95}; }
+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, 94}; }
+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, 93}; }
+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, 92}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 91}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDynamicRenderingFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 90}; }
+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, 89}; }
+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, 88}; }
+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, 87}; }
+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, 86}; }
+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, 85}; }
+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, 84}; }
+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, 83}; }
+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, 82}; }
+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, 81}; }
+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, 80}; }
+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, 79}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, DECL_KHR_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, 0, 78}; }
+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, 77}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 76}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 75}; }
+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, 74}; }
+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, 73}; }
+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, 72}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImageRobustnessFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 71}; }
+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, 70}; }
+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, 69}; }
+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, 68}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 67}; }
+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, 66}; }
+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, 65}; }
+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, 64}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMaintenance4Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 63}; }
+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, 62}; }
+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, 61}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 60}; }
+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, 59}; }
+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, 58}; }
+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, 57}; }
+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, 56}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineCreationCacheControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 55}; }
+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, 54}; }
+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, 53}; }
+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, 52}; }
+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, 51}; }
+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, 50}; }
+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, 49}; }
+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, 48}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePrivateDataFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 47}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 46}; }
+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, 45}; }
+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, 44}; }
+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, 43}; }
+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, 42}; }
+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, 41}; }
+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, 40}; }
+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, 39}; }
+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, 38}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 37}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 36}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 35}; }
+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, 34}; }
+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, 33}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 32}; }
+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, 31}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 30}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDrawParametersFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 29}; }
+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, 28}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 27}; }
+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, 26}; }
+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, 25}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerDotProductFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 24}; }
+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, 23}; }
+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, 22}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 21}; }
+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, 20}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderTerminateInvocationFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 19}; }
+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, 18}; }
+template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSubgroupSizeControlFeatures>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 17}; }
+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, 16}; }
 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, 15}; }
 template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSynchronization2Features>(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 14}; }
 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, 13}; }
@@ -496,6 +517,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDepthClipControlFeaturesEXT>, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDepthClipEnableFeaturesEXT>, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceDescriptorBufferFeaturesEXT>, VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME, VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDescriptorIndexingFeatures>, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME, VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION },
@@ -509,7 +531,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
-       { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
@@ -518,6 +540,8 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceHostQueryResetFeatures>, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImagelessFramebufferFeatures>, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>, VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME, VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceImageCompressionControlFeaturesEXT>, VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME, VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageRobustnessFeatures>, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImageViewMinLodFeaturesEXT>, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION },
@@ -536,6 +560,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDevicePerformanceQueryFeaturesKHR>, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePipelineCreationCacheControlFeatures>, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDevicePipelinePropertiesFeaturesEXT>, VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME, VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePortabilitySubsetFeaturesKHR>, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePresentIdFeaturesKHR>, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDevicePresentWaitFeaturesKHR>, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION },
@@ -545,6 +570,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceProtectedMemoryFeatures>, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 },
        { createFeatureStructWrapper<VkPhysicalDeviceProvokingVertexFeaturesEXT>, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRayQueryFeaturesKHR>, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>, VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME, VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION },
@@ -559,6 +585,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceShaderClockFeaturesKHR>, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderDrawParametersFeatures>, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME, VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderFloat16Int8Features>, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderImageFootprintFeaturesNV>, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION },
@@ -570,6 +597,7 @@ static const FeatureStructCreationData featureStructCreationArray[]
        { createFeatureStructWrapper<VkPhysicalDeviceShaderTerminateInvocationFeatures>, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShadingRateImageFeaturesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubgroupSizeControlFeatures>, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION },
+       { createFeatureStructWrapper<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>, VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME, VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceSynchronization2Features>, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION },
index 234a2ce..a63c6c0 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-const vk::VkPhysicalDevice16BitStorageFeatures&                                                        get16BitStorageFeatures                                         (void) const;
-const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              get4444FormatsFeaturesEXT                                       (void) const;
-const vk::VkPhysicalDevice8BitStorageFeatures&                                                 get8BitStorageFeatures                                          (void) const;
-const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            getAccelerationStructureFeatures                        (void) const;
-const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               getASTCDecodeFeaturesEXT                                        (void) const;
-const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   getBlendOperationAdvancedFeaturesEXT            (void) const;
-const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               getBorderColorSwizzleFeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 getBufferDeviceAddressFeatures                          (void) const;
-const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              getBufferDeviceAddressFeaturesEXT                       (void) const;
-const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   getCoherentMemoryFeaturesAMD                            (void) const;
-const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 getColorWriteEnableFeaturesEXT                          (void) const;
-const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  getComputeShaderDerivativesFeatures                     (void) const;
-const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             getConditionalRenderingFeaturesEXT                      (void) const;
-const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 getCooperativeMatrixFeatures                            (void) const;
-const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        getCornerSampledImageFeatures                           (void) const;
-const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             getCoverageReductionModeFeatures                        (void) const;
-const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        getCustomBorderColorFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  getDedicatedAllocationImageAliasingFeatures     (void) const;
-const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 getDepthClipControlFeaturesEXT                          (void) const;
-const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  getDepthClipEnableFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  getDescriptorIndexingFeatures                           (void) const;
-const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               getDescriptorSetHostMappingFeaturesVALVE        (void) const;
-const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   getDeviceGeneratedCommandsFeatures                      (void) const;
-const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               getDeviceMemoryReportFeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 getDiagnosticsConfigFeatures                            (void) const;
-const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            getDynamicRenderingFeatures                                     (void) const;
-const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  getExclusiveScissorFeatures                                     (void) const;
-const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             getExtendedDynamicStateFeaturesEXT                      (void) const;
-const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            getExtendedDynamicState2FeaturesEXT                     (void) const;
-const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        getExternalMemoryRDMAFeatures                           (void) const;
-const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               getFragmentDensityMapFeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              getFragmentDensityMap2FeaturesEXT                       (void) const;
-const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        getFragmentDensityMapOffsetFeaturesQCOM         (void) const;
-const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 getFragmentShaderBarycentricFeatures            (void) const;
-const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  getFragmentShaderInterlockFeaturesEXT           (void) const;
-const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              getFragmentShadingRateFeatures                          (void) const;
-const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  getFragmentShadingRateEnumsFeatures                     (void) const;
-const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              getGlobalPriorityQueryFeatures                          (void) const;
-const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  getGraphicsPipelineLibraryFeaturesEXT           (void) const;
-const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              getHostQueryResetFeatures                                       (void) const;
-const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        getImagelessFramebufferFeatures                         (void) const;
-const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  getImage2DViewOf3DFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             getImageRobustnessFeatures                                      (void) const;
-const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  getImageViewMinLodFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   getIndexTypeUint8FeaturesEXT                            (void) const;
-const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  getInheritedViewportScissorFeatures                     (void) const;
-const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  getInlineUniformBlockFeatures                           (void) const;
-const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        getInvocationMaskFeaturesHUAWEI                         (void) const;
-const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             getLinearColorAttachmentFeatures                        (void) const;
-const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        getLineRasterizationFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceMaintenance4Features&                                                        getMaintenance4Features                                         (void) const;
-const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   getMemoryPriorityFeaturesEXT                            (void) const;
-const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        getMeshShaderFeatures                                           (void) const;
-const vk::VkPhysicalDeviceMultiviewFeatures&                                                   getMultiviewFeatures                                            (void) const;
-const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        getMultiDrawFeaturesEXT                                         (void) const;
-const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  getMutableDescriptorTypeFeaturesVALVE           (void) const;
-const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        getPageableDeviceLocalMemoryFeaturesEXT         (void) const;
-const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 getPerformanceQueryFeatures                                     (void) const;
-const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        getPipelineCreationCacheControlFeatures         (void) const;
-const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             getPipelineExecutablePropertiesFeatures         (void) const;
-const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        getPortabilitySubsetFeatures                            (void) const;
-const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        getPresentIdFeatures                                            (void) const;
-const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              getPresentWaitFeatures                                          (void) const;
-const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 getPrimitivesGeneratedQueryFeaturesEXT          (void) const;
-const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             getPrimitiveTopologyListRestartFeaturesEXT      (void) const;
-const vk::VkPhysicalDevicePrivateDataFeatures&                                                 getPrivateDataFeatures                                          (void) const;
-const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             getProtectedMemoryFeatures                                      (void) const;
-const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  getProvokingVertexFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 getRayQueryFeatures                                                     (void) const;
-const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              getRayTracingMotionBlurFeatures                         (void) const;
-const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               getRayTracingPipelineFeatures                           (void) const;
-const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        getRepresentativeFragmentTestFeatures           (void) const;
-const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  getRGBA10X6FormatsFeaturesEXT                           (void) const;
-const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              getRobustness2FeaturesEXT                                       (void) const;
-const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              getSamplerYcbcrConversionFeatures                       (void) const;
-const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   getScalarBlockLayoutFeatures                            (void) const;
-const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 getSeparateDepthStencilLayoutsFeatures          (void) const;
-const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        getShaderAtomicFloatFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               getShaderAtomicFloat2FeaturesEXT                        (void) const;
-const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   getShaderAtomicInt64Features                            (void) const;
-const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              getShaderClockFeatures                                          (void) const;
-const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              getShaderDemoteToHelperInvocationFeatures       (void) const;
-const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        getShaderDrawParametersFeatures                         (void) const;
-const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   getShaderFloat16Int8Features                            (void) const;
-const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   getShaderImageAtomicInt64FeaturesEXT            (void) const;
-const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              getShaderImageFootprintFeatures                         (void) const;
-const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             getShaderIntegerDotProductFeatures                      (void) const;
-const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        getShaderIntegerFunctions2FeaturesINTEL         (void) const;
-const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  getShaderSMBuiltinsFeatures                                     (void) const;
-const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 getShaderSubgroupExtendedTypesFeatures          (void) const;
-const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures     (void) const;
-const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   getShaderTerminateInvocationFeatures            (void) const;
-const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  getShadingRateImageFeatures                                     (void) const;
-const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 getSubgroupSizeControlFeatures                          (void) const;
-const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        getSubpassShadingFeaturesHUAWEI                         (void) const;
-const vk::VkPhysicalDeviceSynchronization2Features&                                            getSynchronization2Features                                     (void) const;
-const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             getTexelBufferAlignmentFeaturesEXT                      (void) const;
-const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   getTextureCompressionASTCHDRFeatures            (void) const;
-const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   getTimelineSemaphoreFeatures                            (void) const;
-const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        getTransformFeedbackFeaturesEXT                         (void) const;
-const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 getUniformBufferStandardLayoutFeatures          (void) const;
-const vk::VkPhysicalDeviceVariablePointersFeatures&                                            getVariablePointersFeatures                                     (void) const;
-const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   getVertexAttributeDivisorFeaturesEXT            (void) const;
-const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  getVertexInputDynamicStateFeaturesEXT           (void) const;
-const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   getVulkanMemoryModelFeatures                            (void) const;
-const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            getWorkgroupMemoryExplicitLayoutFeatures        (void) const;
-const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            getYcbcr2Plane444FormatsFeaturesEXT                     (void) const;
-const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 getYcbcrImageArraysFeaturesEXT                          (void) const;
-const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               getZeroInitializeWorkgroupMemoryFeatures        (void) const;
+const vk::VkPhysicalDevice16BitStorageFeatures&                                                        get16BitStorageFeatures                                                 (void) const;
+const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              get4444FormatsFeaturesEXT                                               (void) const;
+const vk::VkPhysicalDevice8BitStorageFeatures&                                                 get8BitStorageFeatures                                                  (void) const;
+const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            getAccelerationStructureFeatures                                (void) const;
+const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               getASTCDecodeFeaturesEXT                                                (void) const;
+const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   getBlendOperationAdvancedFeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               getBorderColorSwizzleFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 getBufferDeviceAddressFeatures                                  (void) const;
+const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              getBufferDeviceAddressFeaturesEXT                               (void) const;
+const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   getCoherentMemoryFeaturesAMD                                    (void) const;
+const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 getColorWriteEnableFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  getComputeShaderDerivativesFeatures                             (void) const;
+const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             getConditionalRenderingFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 getCooperativeMatrixFeatures                                    (void) const;
+const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        getCornerSampledImageFeatures                                   (void) const;
+const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             getCoverageReductionModeFeatures                                (void) const;
+const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        getCustomBorderColorFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  getDedicatedAllocationImageAliasingFeatures             (void) const;
+const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 getDepthClipControlFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  getDepthClipEnableFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceDescriptorBufferFeaturesEXT&                                 getDescriptorBufferFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  getDescriptorIndexingFeatures                                   (void) const;
+const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               getDescriptorSetHostMappingFeaturesVALVE                (void) const;
+const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   getDeviceGeneratedCommandsFeatures                              (void) const;
+const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               getDeviceMemoryReportFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 getDiagnosticsConfigFeatures                                    (void) const;
+const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            getDynamicRenderingFeatures                                             (void) const;
+const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  getExclusiveScissorFeatures                                             (void) const;
+const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             getExtendedDynamicStateFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            getExtendedDynamicState2FeaturesEXT                             (void) const;
+const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        getExternalMemoryRDMAFeatures                                   (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               getFragmentDensityMapFeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              getFragmentDensityMap2FeaturesEXT                               (void) const;
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        getFragmentDensityMapOffsetFeaturesQCOM                 (void) const;
+const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&                        getFragmentShaderBarycentricFeatures                    (void) const;
+const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  getFragmentShaderInterlockFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              getFragmentShadingRateFeatures                                  (void) const;
+const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  getFragmentShadingRateEnumsFeatures                             (void) const;
+const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              getGlobalPriorityQueryFeatures                                  (void) const;
+const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  getGraphicsPipelineLibraryFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              getHostQueryResetFeatures                                               (void) const;
+const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        getImagelessFramebufferFeatures                                 (void) const;
+const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  getImage2DViewOf3DFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceImageCompressionControlFeaturesEXT&                  getImageCompressionControlFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& getImageCompressionControlSwapchainFeaturesEXT  (void) const;
+const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             getImageRobustnessFeatures                                              (void) const;
+const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  getImageViewMinLodFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   getIndexTypeUint8FeaturesEXT                                    (void) const;
+const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  getInheritedViewportScissorFeatures                             (void) const;
+const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  getInlineUniformBlockFeatures                                   (void) const;
+const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        getInvocationMaskFeaturesHUAWEI                                 (void) const;
+const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             getLinearColorAttachmentFeatures                                (void) const;
+const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        getLineRasterizationFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceMaintenance4Features&                                                        getMaintenance4Features                                                 (void) const;
+const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   getMemoryPriorityFeaturesEXT                                    (void) const;
+const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        getMeshShaderFeatures                                                   (void) const;
+const vk::VkPhysicalDeviceMultiviewFeatures&                                                   getMultiviewFeatures                                                    (void) const;
+const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        getMultiDrawFeaturesEXT                                                 (void) const;
+const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  getMutableDescriptorTypeFeaturesVALVE                   (void) const;
+const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        getPageableDeviceLocalMemoryFeaturesEXT                 (void) const;
+const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 getPerformanceQueryFeatures                                             (void) const;
+const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        getPipelineCreationCacheControlFeatures                 (void) const;
+const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             getPipelineExecutablePropertiesFeatures                 (void) const;
+const vk::VkPhysicalDevicePipelinePropertiesFeaturesEXT&                               getPipelinePropertiesFeaturesEXT                                (void) const;
+const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        getPortabilitySubsetFeatures                                    (void) const;
+const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        getPresentIdFeatures                                                    (void) const;
+const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              getPresentWaitFeatures                                                  (void) const;
+const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 getPrimitivesGeneratedQueryFeaturesEXT                  (void) const;
+const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             getPrimitiveTopologyListRestartFeaturesEXT              (void) const;
+const vk::VkPhysicalDevicePrivateDataFeatures&                                                 getPrivateDataFeatures                                                  (void) const;
+const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             getProtectedMemoryFeatures                                              (void) const;
+const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  getProvokingVertexFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 getRayQueryFeatures                                                             (void) const;
+const vk::VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                   getRayTracingMaintenance1Features                               (void) const;
+const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              getRayTracingMotionBlurFeatures                                 (void) const;
+const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               getRayTracingPipelineFeatures                                   (void) const;
+const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        getRepresentativeFragmentTestFeatures                   (void) const;
+const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  getRGBA10X6FormatsFeaturesEXT                                   (void) const;
+const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              getRobustness2FeaturesEXT                                               (void) const;
+const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              getSamplerYcbcrConversionFeatures                               (void) const;
+const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   getScalarBlockLayoutFeatures                                    (void) const;
+const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 getSeparateDepthStencilLayoutsFeatures                  (void) const;
+const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        getShaderAtomicFloatFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               getShaderAtomicFloat2FeaturesEXT                                (void) const;
+const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   getShaderAtomicInt64Features                                    (void) const;
+const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              getShaderClockFeatures                                                  (void) const;
+const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              getShaderDemoteToHelperInvocationFeatures               (void) const;
+const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        getShaderDrawParametersFeatures                                 (void) const;
+const vk::VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD&  getShaderEarlyAndLateFragmentTestsFeaturesAMD   (void) const;
+const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   getShaderFloat16Int8Features                                    (void) const;
+const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   getShaderImageAtomicInt64FeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              getShaderImageFootprintFeatures                                 (void) const;
+const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             getShaderIntegerDotProductFeatures                              (void) const;
+const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        getShaderIntegerFunctions2FeaturesINTEL                 (void) const;
+const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  getShaderSMBuiltinsFeatures                                             (void) const;
+const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 getShaderSubgroupExtendedTypesFeatures                  (void) const;
+const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures             (void) const;
+const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   getShaderTerminateInvocationFeatures                    (void) const;
+const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  getShadingRateImageFeatures                                             (void) const;
+const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 getSubgroupSizeControlFeatures                                  (void) const;
+const vk::VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                             getSubpassMergeFeedbackFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        getSubpassShadingFeaturesHUAWEI                                 (void) const;
+const vk::VkPhysicalDeviceSynchronization2Features&                                            getSynchronization2Features                                             (void) const;
+const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             getTexelBufferAlignmentFeaturesEXT                              (void) const;
+const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   getTextureCompressionASTCHDRFeatures                    (void) const;
+const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   getTimelineSemaphoreFeatures                                    (void) const;
+const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        getTransformFeedbackFeaturesEXT                                 (void) const;
+const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 getUniformBufferStandardLayoutFeatures                  (void) const;
+const vk::VkPhysicalDeviceVariablePointersFeatures&                                            getVariablePointersFeatures                                             (void) const;
+const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   getVertexAttributeDivisorFeaturesEXT                    (void) const;
+const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  getVertexInputDynamicStateFeaturesEXT                   (void) const;
+const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   getVulkanMemoryModelFeatures                                    (void) const;
+const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            getWorkgroupMemoryExplicitLayoutFeatures                (void) const;
+const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            getYcbcr2Plane444FormatsFeaturesEXT                             (void) const;
+const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 getYcbcrImageArraysFeaturesEXT                                  (void) const;
+const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               getZeroInitializeWorkgroupMemoryFeatures                (void) const;
index 5e5b0af..7253422 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-const vk::VkPhysicalDevice16BitStorageFeatures&                                                        Context::get16BitStorageFeatures                                                (void) const { return m_device->get16BitStorageFeatures();                                              }
-const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              Context::get4444FormatsFeaturesEXT                                              (void) const { return m_device->get4444FormatsFeaturesEXT();                                    }
-const vk::VkPhysicalDevice8BitStorageFeatures&                                                 Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                               }
-const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            Context::getAccelerationStructureFeatures                               (void) const { return m_device->getAccelerationStructureFeatures();                             }
-const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               Context::getASTCDecodeFeaturesEXT                                               (void) const { return m_device->getASTCDecodeFeaturesEXT();                                             }
-const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   Context::getBlendOperationAdvancedFeaturesEXT                   (void) const { return m_device->getBlendOperationAdvancedFeaturesEXT();                 }
-const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               Context::getBorderColorSwizzleFeaturesEXT                               (void) const { return m_device->getBorderColorSwizzleFeaturesEXT();                             }
-const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                               }
-const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              Context::getBufferDeviceAddressFeaturesEXT                              (void) const { return m_device->getBufferDeviceAddressFeaturesEXT();                    }
-const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   Context::getCoherentMemoryFeaturesAMD                                   (void) const { return m_device->getCoherentMemoryFeaturesAMD();                                 }
-const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 Context::getColorWriteEnableFeaturesEXT                                 (void) const { return m_device->getColorWriteEnableFeaturesEXT();                               }
-const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                  }
-const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             Context::getConditionalRenderingFeaturesEXT                             (void) const { return m_device->getConditionalRenderingFeaturesEXT();                   }
-const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                 }
-const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        Context::getCornerSampledImageFeatures                                  (void) const { return m_device->getCornerSampledImageFeatures();                                }
-const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             Context::getCoverageReductionModeFeatures                               (void) const { return m_device->getCoverageReductionModeFeatures();                             }
-const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        Context::getCustomBorderColorFeaturesEXT                                (void) const { return m_device->getCustomBorderColorFeaturesEXT();                              }
-const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  Context::getDedicatedAllocationImageAliasingFeatures    (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures();  }
-const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 Context::getDepthClipControlFeaturesEXT                                 (void) const { return m_device->getDepthClipControlFeaturesEXT();                               }
-const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  Context::getDepthClipEnableFeaturesEXT                                  (void) const { return m_device->getDepthClipEnableFeaturesEXT();                                }
-const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                }
-const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               Context::getDescriptorSetHostMappingFeaturesVALVE               (void) const { return m_device->getDescriptorSetHostMappingFeaturesVALVE();             }
-const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   Context::getDeviceGeneratedCommandsFeatures                             (void) const { return m_device->getDeviceGeneratedCommandsFeatures();                   }
-const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               Context::getDeviceMemoryReportFeaturesEXT                               (void) const { return m_device->getDeviceMemoryReportFeaturesEXT();                             }
-const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 Context::getDiagnosticsConfigFeatures                                   (void) const { return m_device->getDiagnosticsConfigFeatures();                                 }
-const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            Context::getDynamicRenderingFeatures                                    (void) const { return m_device->getDynamicRenderingFeatures();                                  }
-const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                  }
-const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             Context::getExtendedDynamicStateFeaturesEXT                             (void) const { return m_device->getExtendedDynamicStateFeaturesEXT();                   }
-const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            Context::getExtendedDynamicState2FeaturesEXT                    (void) const { return m_device->getExtendedDynamicState2FeaturesEXT();                  }
-const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        Context::getExternalMemoryRDMAFeatures                                  (void) const { return m_device->getExternalMemoryRDMAFeatures();                                }
-const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               Context::getFragmentDensityMapFeaturesEXT                               (void) const { return m_device->getFragmentDensityMapFeaturesEXT();                             }
-const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              Context::getFragmentDensityMap2FeaturesEXT                              (void) const { return m_device->getFragmentDensityMap2FeaturesEXT();                    }
-const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        Context::getFragmentDensityMapOffsetFeaturesQCOM                (void) const { return m_device->getFragmentDensityMapOffsetFeaturesQCOM();              }
-const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                 Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                 }
-const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  Context::getFragmentShaderInterlockFeaturesEXT                  (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT();                }
-const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              Context::getFragmentShadingRateFeatures                                 (void) const { return m_device->getFragmentShadingRateFeatures();                               }
-const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  Context::getFragmentShadingRateEnumsFeatures                    (void) const { return m_device->getFragmentShadingRateEnumsFeatures();                  }
-const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              Context::getGlobalPriorityQueryFeatures                                 (void) const { return m_device->getGlobalPriorityQueryFeatures();                               }
-const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  Context::getGraphicsPipelineLibraryFeaturesEXT                  (void) const { return m_device->getGraphicsPipelineLibraryFeaturesEXT();                }
-const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                    }
-const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                              }
-const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  Context::getImage2DViewOf3DFeaturesEXT                                  (void) const { return m_device->getImage2DViewOf3DFeaturesEXT();                                }
-const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             Context::getImageRobustnessFeatures                                             (void) const { return m_device->getImageRobustnessFeatures();                                   }
-const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  Context::getImageViewMinLodFeaturesEXT                                  (void) const { return m_device->getImageViewMinLodFeaturesEXT();                                }
-const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   Context::getIndexTypeUint8FeaturesEXT                                   (void) const { return m_device->getIndexTypeUint8FeaturesEXT();                                 }
-const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  Context::getInheritedViewportScissorFeatures                    (void) const { return m_device->getInheritedViewportScissorFeatures();                  }
-const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  Context::getInlineUniformBlockFeatures                                  (void) const { return m_device->getInlineUniformBlockFeatures();                                }
-const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        Context::getInvocationMaskFeaturesHUAWEI                                (void) const { return m_device->getInvocationMaskFeaturesHUAWEI();                              }
-const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             Context::getLinearColorAttachmentFeatures                               (void) const { return m_device->getLinearColorAttachmentFeatures();                             }
-const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        Context::getLineRasterizationFeaturesEXT                                (void) const { return m_device->getLineRasterizationFeaturesEXT();                              }
-const vk::VkPhysicalDeviceMaintenance4Features&                                                        Context::getMaintenance4Features                                                (void) const { return m_device->getMaintenance4Features();                                              }
-const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   Context::getMemoryPriorityFeaturesEXT                                   (void) const { return m_device->getMemoryPriorityFeaturesEXT();                                 }
-const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        Context::getMeshShaderFeatures                                                  (void) const { return m_device->getMeshShaderFeatures();                                                }
-const vk::VkPhysicalDeviceMultiviewFeatures&                                                   Context::getMultiviewFeatures                                                   (void) const { return m_device->getMultiviewFeatures();                                                 }
-const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        Context::getMultiDrawFeaturesEXT                                                (void) const { return m_device->getMultiDrawFeaturesEXT();                                              }
-const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  Context::getMutableDescriptorTypeFeaturesVALVE                  (void) const { return m_device->getMutableDescriptorTypeFeaturesVALVE();                }
-const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        Context::getPageableDeviceLocalMemoryFeaturesEXT                (void) const { return m_device->getPageableDeviceLocalMemoryFeaturesEXT();              }
-const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 Context::getPerformanceQueryFeatures                                    (void) const { return m_device->getPerformanceQueryFeatures();                                  }
-const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        Context::getPipelineCreationCacheControlFeatures                (void) const { return m_device->getPipelineCreationCacheControlFeatures();              }
-const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             Context::getPipelineExecutablePropertiesFeatures                (void) const { return m_device->getPipelineExecutablePropertiesFeatures();              }
-const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        Context::getPortabilitySubsetFeatures                                   (void) const { return m_device->getPortabilitySubsetFeatures();                                 }
-const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        Context::getPresentIdFeatures                                                   (void) const { return m_device->getPresentIdFeatures();                                                 }
-const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              Context::getPresentWaitFeatures                                                 (void) const { return m_device->getPresentWaitFeatures();                                               }
-const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 Context::getPrimitivesGeneratedQueryFeaturesEXT                 (void) const { return m_device->getPrimitivesGeneratedQueryFeaturesEXT();               }
-const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             Context::getPrimitiveTopologyListRestartFeaturesEXT             (void) const { return m_device->getPrimitiveTopologyListRestartFeaturesEXT();   }
-const vk::VkPhysicalDevicePrivateDataFeatures&                                                 Context::getPrivateDataFeatures                                                 (void) const { return m_device->getPrivateDataFeatures();                                               }
-const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             Context::getProtectedMemoryFeatures                                             (void) const { return m_device->getProtectedMemoryFeatures();                                   }
-const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  Context::getProvokingVertexFeaturesEXT                                  (void) const { return m_device->getProvokingVertexFeaturesEXT();                                }
-const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 Context::getRayQueryFeatures                                                    (void) const { return m_device->getRayQueryFeatures();                                                  }
-const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              Context::getRayTracingMotionBlurFeatures                                (void) const { return m_device->getRayTracingMotionBlurFeatures();                              }
-const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               Context::getRayTracingPipelineFeatures                                  (void) const { return m_device->getRayTracingPipelineFeatures();                                }
-const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        Context::getRepresentativeFragmentTestFeatures                  (void) const { return m_device->getRepresentativeFragmentTestFeatures();                }
-const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  Context::getRGBA10X6FormatsFeaturesEXT                                  (void) const { return m_device->getRGBA10X6FormatsFeaturesEXT();                                }
-const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              Context::getRobustness2FeaturesEXT                                              (void) const { return m_device->getRobustness2FeaturesEXT();                                    }
-const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              Context::getSamplerYcbcrConversionFeatures                              (void) const { return m_device->getSamplerYcbcrConversionFeatures();                    }
-const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   Context::getScalarBlockLayoutFeatures                                   (void) const { return m_device->getScalarBlockLayoutFeatures();                                 }
-const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 Context::getSeparateDepthStencilLayoutsFeatures                 (void) const { return m_device->getSeparateDepthStencilLayoutsFeatures();               }
-const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        Context::getShaderAtomicFloatFeaturesEXT                                (void) const { return m_device->getShaderAtomicFloatFeaturesEXT();                              }
-const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               Context::getShaderAtomicFloat2FeaturesEXT                               (void) const { return m_device->getShaderAtomicFloat2FeaturesEXT();                             }
-const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   Context::getShaderAtomicInt64Features                                   (void) const { return m_device->getShaderAtomicInt64Features();                                 }
-const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              Context::getShaderClockFeatures                                                 (void) const { return m_device->getShaderClockFeatures();                                               }
-const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              Context::getShaderDemoteToHelperInvocationFeatures              (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures();    }
-const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        Context::getShaderDrawParametersFeatures                                (void) const { return m_device->getShaderDrawParametersFeatures();                              }
-const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   Context::getShaderFloat16Int8Features                                   (void) const { return m_device->getShaderFloat16Int8Features();                                 }
-const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   Context::getShaderImageAtomicInt64FeaturesEXT                   (void) const { return m_device->getShaderImageAtomicInt64FeaturesEXT();                 }
-const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              Context::getShaderImageFootprintFeatures                                (void) const { return m_device->getShaderImageFootprintFeatures();                              }
-const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             Context::getShaderIntegerDotProductFeatures                             (void) const { return m_device->getShaderIntegerDotProductFeatures();                   }
-const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        Context::getShaderIntegerFunctions2FeaturesINTEL                (void) const { return m_device->getShaderIntegerFunctions2FeaturesINTEL();              }
-const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  Context::getShaderSMBuiltinsFeatures                                    (void) const { return m_device->getShaderSMBuiltinsFeatures();                                  }
-const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 Context::getShaderSubgroupExtendedTypesFeatures                 (void) const { return m_device->getShaderSubgroupExtendedTypesFeatures();               }
-const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& Context::getShaderSubgroupUniformControlFlowFeatures    (void) const { return m_device->getShaderSubgroupUniformControlFlowFeatures();  }
-const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   Context::getShaderTerminateInvocationFeatures                   (void) const { return m_device->getShaderTerminateInvocationFeatures();                 }
-const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                  }
-const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 Context::getSubgroupSizeControlFeatures                                 (void) const { return m_device->getSubgroupSizeControlFeatures();                               }
-const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        Context::getSubpassShadingFeaturesHUAWEI                                (void) const { return m_device->getSubpassShadingFeaturesHUAWEI();                              }
-const vk::VkPhysicalDeviceSynchronization2Features&                                            Context::getSynchronization2Features                                    (void) const { return m_device->getSynchronization2Features();                                  }
-const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             Context::getTexelBufferAlignmentFeaturesEXT                             (void) const { return m_device->getTexelBufferAlignmentFeaturesEXT();                   }
-const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   Context::getTextureCompressionASTCHDRFeatures                   (void) const { return m_device->getTextureCompressionASTCHDRFeatures();                 }
-const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   Context::getTimelineSemaphoreFeatures                                   (void) const { return m_device->getTimelineSemaphoreFeatures();                                 }
-const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        Context::getTransformFeedbackFeaturesEXT                                (void) const { return m_device->getTransformFeedbackFeaturesEXT();                              }
-const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();               }
-const vk::VkPhysicalDeviceVariablePointersFeatures&                                            Context::getVariablePointersFeatures                                    (void) const { return m_device->getVariablePointersFeatures();                                  }
-const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   Context::getVertexAttributeDivisorFeaturesEXT                   (void) const { return m_device->getVertexAttributeDivisorFeaturesEXT();                 }
-const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  Context::getVertexInputDynamicStateFeaturesEXT                  (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT();                }
-const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                 }
-const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            Context::getWorkgroupMemoryExplicitLayoutFeatures               (void) const { return m_device->getWorkgroupMemoryExplicitLayoutFeatures();             }
-const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            Context::getYcbcr2Plane444FormatsFeaturesEXT                    (void) const { return m_device->getYcbcr2Plane444FormatsFeaturesEXT();                  }
-const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 Context::getYcbcrImageArraysFeaturesEXT                                 (void) const { return m_device->getYcbcrImageArraysFeaturesEXT();                               }
-const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               Context::getZeroInitializeWorkgroupMemoryFeatures               (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures();             }
+const vk::VkPhysicalDevice16BitStorageFeatures&                                                        Context::get16BitStorageFeatures                                                (void) const { return m_device->get16BitStorageFeatures();                                                      }
+const vk::VkPhysicalDevice4444FormatsFeaturesEXT&                                              Context::get4444FormatsFeaturesEXT                                              (void) const { return m_device->get4444FormatsFeaturesEXT();                                            }
+const vk::VkPhysicalDevice8BitStorageFeatures&                                                 Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                                       }
+const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR&                            Context::getAccelerationStructureFeatures                               (void) const { return m_device->getAccelerationStructureFeatures();                                     }
+const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT&                                               Context::getASTCDecodeFeaturesEXT                                               (void) const { return m_device->getASTCDecodeFeaturesEXT();                                                     }
+const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                   Context::getBlendOperationAdvancedFeaturesEXT                   (void) const { return m_device->getBlendOperationAdvancedFeaturesEXT();                         }
+const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                               Context::getBorderColorSwizzleFeaturesEXT                               (void) const { return m_device->getBorderColorSwizzleFeaturesEXT();                                     }
+const vk::VkPhysicalDeviceBufferDeviceAddressFeatures&                                 Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                                       }
+const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                              Context::getBufferDeviceAddressFeaturesEXT                              (void) const { return m_device->getBufferDeviceAddressFeaturesEXT();                            }
+const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                   Context::getCoherentMemoryFeaturesAMD                                   (void) const { return m_device->getCoherentMemoryFeaturesAMD();                                         }
+const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                 Context::getColorWriteEnableFeaturesEXT                                 (void) const { return m_device->getColorWriteEnableFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                  Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                          }
+const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                             Context::getConditionalRenderingFeaturesEXT                             (void) const { return m_device->getConditionalRenderingFeaturesEXT();                           }
+const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                 Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                         }
+const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                        Context::getCornerSampledImageFeatures                                  (void) const { return m_device->getCornerSampledImageFeatures();                                        }
+const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                             Context::getCoverageReductionModeFeatures                               (void) const { return m_device->getCoverageReductionModeFeatures();                                     }
+const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                        Context::getCustomBorderColorFeaturesEXT                                (void) const { return m_device->getCustomBorderColorFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&  Context::getDedicatedAllocationImageAliasingFeatures    (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures();          }
+const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT&                                 Context::getDepthClipControlFeaturesEXT                                 (void) const { return m_device->getDepthClipControlFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                  Context::getDepthClipEnableFeaturesEXT                                  (void) const { return m_device->getDepthClipEnableFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceDescriptorBufferFeaturesEXT&                                 Context::getDescriptorBufferFeaturesEXT                                 (void) const { return m_device->getDescriptorBufferFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceDescriptorIndexingFeatures&                                  Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                        }
+const vk::VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&               Context::getDescriptorSetHostMappingFeaturesVALVE               (void) const { return m_device->getDescriptorSetHostMappingFeaturesVALVE();                     }
+const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                   Context::getDeviceGeneratedCommandsFeatures                             (void) const { return m_device->getDeviceGeneratedCommandsFeatures();                           }
+const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                               Context::getDeviceMemoryReportFeaturesEXT                               (void) const { return m_device->getDeviceMemoryReportFeaturesEXT();                                     }
+const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                 Context::getDiagnosticsConfigFeatures                                   (void) const { return m_device->getDiagnosticsConfigFeatures();                                         }
+const vk::VkPhysicalDeviceDynamicRenderingFeatures&                                            Context::getDynamicRenderingFeatures                                    (void) const { return m_device->getDynamicRenderingFeatures();                                          }
+const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                  Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                          }
+const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                             Context::getExtendedDynamicStateFeaturesEXT                             (void) const { return m_device->getExtendedDynamicStateFeaturesEXT();                           }
+const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                            Context::getExtendedDynamicState2FeaturesEXT                    (void) const { return m_device->getExtendedDynamicState2FeaturesEXT();                          }
+const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                        Context::getExternalMemoryRDMAFeatures                                  (void) const { return m_device->getExternalMemoryRDMAFeatures();                                        }
+const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                               Context::getFragmentDensityMapFeaturesEXT                               (void) const { return m_device->getFragmentDensityMapFeaturesEXT();                                     }
+const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                              Context::getFragmentDensityMap2FeaturesEXT                              (void) const { return m_device->getFragmentDensityMap2FeaturesEXT();                            }
+const vk::VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                        Context::getFragmentDensityMapOffsetFeaturesQCOM                (void) const { return m_device->getFragmentDensityMapOffsetFeaturesQCOM();                      }
+const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&                        Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                         }
+const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                  Context::getFragmentShaderInterlockFeaturesEXT                  (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT();                        }
+const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                              Context::getFragmentShadingRateFeatures                                 (void) const { return m_device->getFragmentShadingRateFeatures();                                       }
+const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                  Context::getFragmentShadingRateEnumsFeatures                    (void) const { return m_device->getFragmentShadingRateEnumsFeatures();                          }
+const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                              Context::getGlobalPriorityQueryFeatures                                 (void) const { return m_device->getGlobalPriorityQueryFeatures();                                       }
+const vk::VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                  Context::getGraphicsPipelineLibraryFeaturesEXT                  (void) const { return m_device->getGraphicsPipelineLibraryFeaturesEXT();                        }
+const vk::VkPhysicalDeviceHostQueryResetFeatures&                                              Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                            }
+const vk::VkPhysicalDeviceImagelessFramebufferFeatures&                                        Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                                      }
+const vk::VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                  Context::getImage2DViewOf3DFeaturesEXT                                  (void) const { return m_device->getImage2DViewOf3DFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceImageCompressionControlFeaturesEXT&                  Context::getImageCompressionControlFeaturesEXT                  (void) const { return m_device->getImageCompressionControlFeaturesEXT();                        }
+const vk::VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& Context::getImageCompressionControlSwapchainFeaturesEXT (void) const { return m_device->getImageCompressionControlSwapchainFeaturesEXT();       }
+const vk::VkPhysicalDeviceImageRobustnessFeatures&                                             Context::getImageRobustnessFeatures                                             (void) const { return m_device->getImageRobustnessFeatures();                                           }
+const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                  Context::getImageViewMinLodFeaturesEXT                                  (void) const { return m_device->getImageViewMinLodFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                   Context::getIndexTypeUint8FeaturesEXT                                   (void) const { return m_device->getIndexTypeUint8FeaturesEXT();                                         }
+const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                  Context::getInheritedViewportScissorFeatures                    (void) const { return m_device->getInheritedViewportScissorFeatures();                          }
+const vk::VkPhysicalDeviceInlineUniformBlockFeatures&                                  Context::getInlineUniformBlockFeatures                                  (void) const { return m_device->getInlineUniformBlockFeatures();                                        }
+const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                        Context::getInvocationMaskFeaturesHUAWEI                                (void) const { return m_device->getInvocationMaskFeaturesHUAWEI();                                      }
+const vk::VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                             Context::getLinearColorAttachmentFeatures                               (void) const { return m_device->getLinearColorAttachmentFeatures();                                     }
+const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                        Context::getLineRasterizationFeaturesEXT                                (void) const { return m_device->getLineRasterizationFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceMaintenance4Features&                                                        Context::getMaintenance4Features                                                (void) const { return m_device->getMaintenance4Features();                                                      }
+const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                   Context::getMemoryPriorityFeaturesEXT                                   (void) const { return m_device->getMemoryPriorityFeaturesEXT();                                         }
+const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                        Context::getMeshShaderFeatures                                                  (void) const { return m_device->getMeshShaderFeatures();                                                        }
+const vk::VkPhysicalDeviceMultiviewFeatures&                                                   Context::getMultiviewFeatures                                                   (void) const { return m_device->getMultiviewFeatures();                                                         }
+const vk::VkPhysicalDeviceMultiDrawFeaturesEXT&                                                        Context::getMultiDrawFeaturesEXT                                                (void) const { return m_device->getMultiDrawFeaturesEXT();                                                      }
+const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                  Context::getMutableDescriptorTypeFeaturesVALVE                  (void) const { return m_device->getMutableDescriptorTypeFeaturesVALVE();                        }
+const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                        Context::getPageableDeviceLocalMemoryFeaturesEXT                (void) const { return m_device->getPageableDeviceLocalMemoryFeaturesEXT();                      }
+const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR&                                 Context::getPerformanceQueryFeatures                                    (void) const { return m_device->getPerformanceQueryFeatures();                                          }
+const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures&                        Context::getPipelineCreationCacheControlFeatures                (void) const { return m_device->getPipelineCreationCacheControlFeatures();                      }
+const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&             Context::getPipelineExecutablePropertiesFeatures                (void) const { return m_device->getPipelineExecutablePropertiesFeatures();                      }
+const vk::VkPhysicalDevicePipelinePropertiesFeaturesEXT&                               Context::getPipelinePropertiesFeaturesEXT                               (void) const { return m_device->getPipelinePropertiesFeaturesEXT();                                     }
+const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                        Context::getPortabilitySubsetFeatures                                   (void) const { return m_device->getPortabilitySubsetFeatures();                                         }
+const vk::VkPhysicalDevicePresentIdFeaturesKHR&                                                        Context::getPresentIdFeatures                                                   (void) const { return m_device->getPresentIdFeatures();                                                         }
+const vk::VkPhysicalDevicePresentWaitFeaturesKHR&                                              Context::getPresentWaitFeatures                                                 (void) const { return m_device->getPresentWaitFeatures();                                                       }
+const vk::VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                 Context::getPrimitivesGeneratedQueryFeaturesEXT                 (void) const { return m_device->getPrimitivesGeneratedQueryFeaturesEXT();                       }
+const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&             Context::getPrimitiveTopologyListRestartFeaturesEXT             (void) const { return m_device->getPrimitiveTopologyListRestartFeaturesEXT();           }
+const vk::VkPhysicalDevicePrivateDataFeatures&                                                 Context::getPrivateDataFeatures                                                 (void) const { return m_device->getPrivateDataFeatures();                                                       }
+const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                             Context::getProtectedMemoryFeatures                                             (void) const { return m_device->getProtectedMemoryFeatures();                                           }
+const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT&                                  Context::getProvokingVertexFeaturesEXT                                  (void) const { return m_device->getProvokingVertexFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceRayQueryFeaturesKHR&                                                 Context::getRayQueryFeatures                                                    (void) const { return m_device->getRayQueryFeatures();                                                          }
+const vk::VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                   Context::getRayTracingMaintenance1Features                              (void) const { return m_device->getRayTracingMaintenance1Features();                            }
+const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                              Context::getRayTracingMotionBlurFeatures                                (void) const { return m_device->getRayTracingMotionBlurFeatures();                                      }
+const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                               Context::getRayTracingPipelineFeatures                                  (void) const { return m_device->getRayTracingPipelineFeatures();                                        }
+const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                        Context::getRepresentativeFragmentTestFeatures                  (void) const { return m_device->getRepresentativeFragmentTestFeatures();                        }
+const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                  Context::getRGBA10X6FormatsFeaturesEXT                                  (void) const { return m_device->getRGBA10X6FormatsFeaturesEXT();                                        }
+const vk::VkPhysicalDeviceRobustness2FeaturesEXT&                                              Context::getRobustness2FeaturesEXT                                              (void) const { return m_device->getRobustness2FeaturesEXT();                                            }
+const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                              Context::getSamplerYcbcrConversionFeatures                              (void) const { return m_device->getSamplerYcbcrConversionFeatures();                            }
+const vk::VkPhysicalDeviceScalarBlockLayoutFeatures&                                   Context::getScalarBlockLayoutFeatures                                   (void) const { return m_device->getScalarBlockLayoutFeatures();                                         }
+const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                 Context::getSeparateDepthStencilLayoutsFeatures                 (void) const { return m_device->getSeparateDepthStencilLayoutsFeatures();                       }
+const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                        Context::getShaderAtomicFloatFeaturesEXT                                (void) const { return m_device->getShaderAtomicFloatFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                               Context::getShaderAtomicFloat2FeaturesEXT                               (void) const { return m_device->getShaderAtomicFloat2FeaturesEXT();                                     }
+const vk::VkPhysicalDeviceShaderAtomicInt64Features&                                   Context::getShaderAtomicInt64Features                                   (void) const { return m_device->getShaderAtomicInt64Features();                                         }
+const vk::VkPhysicalDeviceShaderClockFeaturesKHR&                                              Context::getShaderClockFeatures                                                 (void) const { return m_device->getShaderClockFeatures();                                                       }
+const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&              Context::getShaderDemoteToHelperInvocationFeatures              (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures();            }
+const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                        Context::getShaderDrawParametersFeatures                                (void) const { return m_device->getShaderDrawParametersFeatures();                                      }
+const vk::VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD&  Context::getShaderEarlyAndLateFragmentTestsFeaturesAMD  (void) const { return m_device->getShaderEarlyAndLateFragmentTestsFeaturesAMD();        }
+const vk::VkPhysicalDeviceShaderFloat16Int8Features&                                   Context::getShaderFloat16Int8Features                                   (void) const { return m_device->getShaderFloat16Int8Features();                                         }
+const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                   Context::getShaderImageAtomicInt64FeaturesEXT                   (void) const { return m_device->getShaderImageAtomicInt64FeaturesEXT();                         }
+const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                              Context::getShaderImageFootprintFeatures                                (void) const { return m_device->getShaderImageFootprintFeatures();                                      }
+const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures&                             Context::getShaderIntegerDotProductFeatures                             (void) const { return m_device->getShaderIntegerDotProductFeatures();                           }
+const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                        Context::getShaderIntegerFunctions2FeaturesINTEL                (void) const { return m_device->getShaderIntegerFunctions2FeaturesINTEL();                      }
+const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                  Context::getShaderSMBuiltinsFeatures                                    (void) const { return m_device->getShaderSMBuiltinsFeatures();                                          }
+const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                 Context::getShaderSubgroupExtendedTypesFeatures                 (void) const { return m_device->getShaderSubgroupExtendedTypesFeatures();                       }
+const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& Context::getShaderSubgroupUniformControlFlowFeatures    (void) const { return m_device->getShaderSubgroupUniformControlFlowFeatures();          }
+const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures&                   Context::getShaderTerminateInvocationFeatures                   (void) const { return m_device->getShaderTerminateInvocationFeatures();                         }
+const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                  Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                          }
+const vk::VkPhysicalDeviceSubgroupSizeControlFeatures&                                 Context::getSubgroupSizeControlFeatures                                 (void) const { return m_device->getSubgroupSizeControlFeatures();                                       }
+const vk::VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                             Context::getSubpassMergeFeedbackFeaturesEXT                             (void) const { return m_device->getSubpassMergeFeedbackFeaturesEXT();                           }
+const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                        Context::getSubpassShadingFeaturesHUAWEI                                (void) const { return m_device->getSubpassShadingFeaturesHUAWEI();                                      }
+const vk::VkPhysicalDeviceSynchronization2Features&                                            Context::getSynchronization2Features                                    (void) const { return m_device->getSynchronization2Features();                                          }
+const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                             Context::getTexelBufferAlignmentFeaturesEXT                             (void) const { return m_device->getTexelBufferAlignmentFeaturesEXT();                           }
+const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                   Context::getTextureCompressionASTCHDRFeatures                   (void) const { return m_device->getTextureCompressionASTCHDRFeatures();                         }
+const vk::VkPhysicalDeviceTimelineSemaphoreFeatures&                                   Context::getTimelineSemaphoreFeatures                                   (void) const { return m_device->getTimelineSemaphoreFeatures();                                         }
+const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                        Context::getTransformFeedbackFeaturesEXT                                (void) const { return m_device->getTransformFeedbackFeaturesEXT();                                      }
+const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                 Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();                       }
+const vk::VkPhysicalDeviceVariablePointersFeatures&                                            Context::getVariablePointersFeatures                                    (void) const { return m_device->getVariablePointersFeatures();                                          }
+const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                   Context::getVertexAttributeDivisorFeaturesEXT                   (void) const { return m_device->getVertexAttributeDivisorFeaturesEXT();                         }
+const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                  Context::getVertexInputDynamicStateFeaturesEXT                  (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT();                        }
+const vk::VkPhysicalDeviceVulkanMemoryModelFeatures&                                   Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                         }
+const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&            Context::getWorkgroupMemoryExplicitLayoutFeatures               (void) const { return m_device->getWorkgroupMemoryExplicitLayoutFeatures();                     }
+const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                            Context::getYcbcr2Plane444FormatsFeaturesEXT                    (void) const { return m_device->getYcbcr2Plane444FormatsFeaturesEXT();                          }
+const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                 Context::getYcbcrImageArraysFeaturesEXT                                 (void) const { return m_device->getYcbcrImageArraysFeaturesEXT();                                       }
+const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&               Context::getZeroInitializeWorkgroupMemoryFeatures               (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures();                     }
index 772b586..6354cf9 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-const VkPhysicalDevice16BitStorageFeatures&                                                    get16BitStorageFeatures                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                                  }
-const VkPhysicalDevice4444FormatsFeaturesEXT&                                          get4444FormatsFeaturesEXT                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice4444FormatsFeaturesEXT>();                                                }
-const VkPhysicalDevice8BitStorageFeatures&                                                     get8BitStorageFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeatures>();                                                   }
-const VkPhysicalDeviceAccelerationStructureFeaturesKHR&                                getAccelerationStructureFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>();                              }
-const VkPhysicalDeviceASTCDecodeFeaturesEXT&                                           getASTCDecodeFeaturesEXT                                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceASTCDecodeFeaturesEXT>();                                                 }
-const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                       getBlendOperationAdvancedFeaturesEXT            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                             }
-const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                           getBorderColorSwizzleFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>();                                 }
-const VkPhysicalDeviceBufferDeviceAddressFeatures&                                     getBufferDeviceAddressFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeatures>();                                   }
-const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                          getBufferDeviceAddressFeaturesEXT                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
-const VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                       getCoherentMemoryFeaturesAMD                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoherentMemoryFeaturesAMD>();                                             }
-const VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                     getColorWriteEnableFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT>();                                   }
-const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                      getComputeShaderDerivativesFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
-const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                         getConditionalRenderingFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
-const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                     getCooperativeMatrixFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
-const VkPhysicalDeviceCornerSampledImageFeaturesNV&                                    getCornerSampledImageFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCornerSampledImageFeaturesNV>();                                  }
-const VkPhysicalDeviceCoverageReductionModeFeaturesNV&                         getCoverageReductionModeFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV>();                               }
-const VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                    getCustomBorderColorFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCustomBorderColorFeaturesEXT>();                                  }
-const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&      getDedicatedAllocationImageAliasingFeatures     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>();    }
-const VkPhysicalDeviceDepthClipControlFeaturesEXT&                                     getDepthClipControlFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>();                                   }
-const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                      getDepthClipEnableFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
-const VkPhysicalDeviceDescriptorIndexingFeatures&                                      getDescriptorIndexingFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeatures>();                                    }
-const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&           getDescriptorSetHostMappingFeaturesVALVE        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>();                 }
-const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                       getDeviceGeneratedCommandsFeatures                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>();                             }
-const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                           getDeviceMemoryReportFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>();                                 }
-const VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                     getDiagnosticsConfigFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>();                                   }
-const VkPhysicalDeviceDynamicRenderingFeatures&                                                getDynamicRenderingFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDynamicRenderingFeatures>();                                              }
-const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                      getExclusiveScissorFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
-const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                         getExtendedDynamicStateFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>();                               }
-const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                                getExtendedDynamicState2FeaturesEXT                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>();                              }
-const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                    getExternalMemoryRDMAFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>();                                  }
-const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                           getFragmentDensityMapFeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
-const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                          getFragmentDensityMap2FeaturesEXT                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>();                                }
-const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                    getFragmentDensityMapOffsetFeaturesQCOM         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>();                  }
-const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                     getFragmentShaderBarycentricFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>();                   }
-const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                      getFragmentShaderInterlockFeaturesEXT           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>();                    }
-const VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                          getFragmentShadingRateFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>();                                }
-const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                      getFragmentShadingRateEnumsFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>();                    }
-const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                          getGlobalPriorityQueryFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>();                                }
-const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                      getGraphicsPipelineLibraryFeaturesEXT           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>();                    }
-const VkPhysicalDeviceHostQueryResetFeatures&                                          getHostQueryResetFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeatures>();                                                }
-const VkPhysicalDeviceImagelessFramebufferFeatures&                                    getImagelessFramebufferFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeatures>();                                  }
-const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                      getImage2DViewOf3DFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>();                                    }
-const VkPhysicalDeviceImageRobustnessFeatures&                                         getImageRobustnessFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageRobustnessFeatures>();                                               }
-const VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                      getImageViewMinLodFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>();                                    }
-const VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                       getIndexTypeUint8FeaturesEXT                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>();                                             }
-const VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                      getInheritedViewportScissorFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>();                    }
-const VkPhysicalDeviceInlineUniformBlockFeatures&                                      getInlineUniformBlockFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeatures>();                                    }
-const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                    getInvocationMaskFeaturesHUAWEI                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>();                                  }
-const VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                         getLinearColorAttachmentFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>();                               }
-const VkPhysicalDeviceLineRasterizationFeaturesEXT&                                    getLineRasterizationFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>();                                  }
-const VkPhysicalDeviceMaintenance4Features&                                                    getMaintenance4Features                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMaintenance4Features>();                                                  }
-const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                       getMemoryPriorityFeaturesEXT                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
-const VkPhysicalDeviceMeshShaderFeaturesNV&                                                    getMeshShaderFeatures                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMeshShaderFeaturesNV>();                                                  }
-const VkPhysicalDeviceMultiviewFeatures&                                                       getMultiviewFeatures                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                             }
-const VkPhysicalDeviceMultiDrawFeaturesEXT&                                                    getMultiDrawFeaturesEXT                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiDrawFeaturesEXT>();                                                  }
-const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                      getMutableDescriptorTypeFeaturesVALVE           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>();                    }
-const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                    getPageableDeviceLocalMemoryFeaturesEXT         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>();                  }
-const VkPhysicalDevicePerformanceQueryFeaturesKHR&                                     getPerformanceQueryFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePerformanceQueryFeaturesKHR>();                                   }
-const VkPhysicalDevicePipelineCreationCacheControlFeatures&                    getPipelineCreationCacheControlFeatures         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineCreationCacheControlFeatures>();                  }
-const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&         getPipelineExecutablePropertiesFeatures         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>();               }
-const VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                    getPortabilitySubsetFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePortabilitySubsetFeaturesKHR>();                                  }
-const VkPhysicalDevicePresentIdFeaturesKHR&                                                    getPresentIdFeatures                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentIdFeaturesKHR>();                                                  }
-const VkPhysicalDevicePresentWaitFeaturesKHR&                                          getPresentWaitFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentWaitFeaturesKHR>();                                                }
-const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                     getPrimitivesGeneratedQueryFeaturesEXT          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>();                   }
-const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&         getPrimitiveTopologyListRestartFeaturesEXT      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>();               }
-const VkPhysicalDevicePrivateDataFeatures&                                                     getPrivateDataFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrivateDataFeatures>();                                                   }
-const VkPhysicalDeviceProtectedMemoryFeatures&                                         getProtectedMemoryFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
-const VkPhysicalDeviceProvokingVertexFeaturesEXT&                                      getProvokingVertexFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProvokingVertexFeaturesEXT>();                                    }
-const VkPhysicalDeviceRayQueryFeaturesKHR&                                                     getRayQueryFeatures                                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayQueryFeaturesKHR>();                                                   }
-const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                          getRayTracingMotionBlurFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>();                                }
-const VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                           getRayTracingPipelineFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>();                                 }
-const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                    getRepresentativeFragmentTestFeatures           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>();                  }
-const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                      getRGBA10X6FormatsFeaturesEXT                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>();                                    }
-const VkPhysicalDeviceRobustness2FeaturesEXT&                                          getRobustness2FeaturesEXT                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRobustness2FeaturesEXT>();                                                }
-const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                          getSamplerYcbcrConversionFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                                }
-const VkPhysicalDeviceScalarBlockLayoutFeatures&                                       getScalarBlockLayoutFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeatures>();                                             }
-const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                     getSeparateDepthStencilLayoutsFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>();                   }
-const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                    getShaderAtomicFloatFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>();                                  }
-const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                           getShaderAtomicFloat2FeaturesEXT                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>();                                 }
-const VkPhysicalDeviceShaderAtomicInt64Features&                                       getShaderAtomicInt64Features                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicInt64Features>();                                             }
-const VkPhysicalDeviceShaderClockFeaturesKHR&                                          getShaderClockFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderClockFeaturesKHR>();                                                }
-const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&          getShaderDemoteToHelperInvocationFeatures       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>();                }
-const VkPhysicalDeviceShaderDrawParametersFeatures&                                    getShaderDrawParametersFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
-const VkPhysicalDeviceShaderFloat16Int8Features&                                       getShaderFloat16Int8Features                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderFloat16Int8Features>();                                             }
-const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                       getShaderImageAtomicInt64FeaturesEXT            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>();                             }
-const VkPhysicalDeviceShaderImageFootprintFeaturesNV&                          getShaderImageFootprintFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>();                                }
-const VkPhysicalDeviceShaderIntegerDotProductFeatures&                         getShaderIntegerDotProductFeatures                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerDotProductFeatures>();                               }
-const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                    getShaderIntegerFunctions2FeaturesINTEL         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>();                  }
-const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                      getShaderSMBuiltinsFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>();                                    }
-const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                     getShaderSubgroupExtendedTypesFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>();                   }
-const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&     getShaderSubgroupUniformControlFlowFeatures     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>();   }
-const VkPhysicalDeviceShaderTerminateInvocationFeatures&                       getShaderTerminateInvocationFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderTerminateInvocationFeatures>();                             }
-const VkPhysicalDeviceShadingRateImageFeaturesNV&                                      getShadingRateImageFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
-const VkPhysicalDeviceSubgroupSizeControlFeatures&                                     getSubgroupSizeControlFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubgroupSizeControlFeatures>();                                   }
-const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                    getSubpassShadingFeaturesHUAWEI                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>();                                  }
-const VkPhysicalDeviceSynchronization2Features&                                                getSynchronization2Features                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSynchronization2Features>();                                              }
-const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                         getTexelBufferAlignmentFeaturesEXT                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>();                               }
-const VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                       getTextureCompressionASTCHDRFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>();                             }
-const VkPhysicalDeviceTimelineSemaphoreFeatures&                                       getTimelineSemaphoreFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTimelineSemaphoreFeatures>();                                             }
-const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                    getTransformFeedbackFeaturesEXT                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                                  }
-const VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                     getUniformBufferStandardLayoutFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>();                   }
-const VkPhysicalDeviceVariablePointersFeatures&                                                getVariablePointersFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                              }
-const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                       getVertexAttributeDivisorFeaturesEXT            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
-const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                      getVertexInputDynamicStateFeaturesEXT           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>();                    }
-const VkPhysicalDeviceVulkanMemoryModelFeatures&                                       getVulkanMemoryModelFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeatures>();                                             }
-const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                getWorkgroupMemoryExplicitLayoutFeatures        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>();              }
-const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                                getYcbcr2Plane444FormatsFeaturesEXT                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>();                              }
-const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                     getYcbcrImageArraysFeaturesEXT                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
-const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&           getZeroInitializeWorkgroupMemoryFeatures        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>();                 }
+const VkPhysicalDevice16BitStorageFeatures&                                                    get16BitStorageFeatures                                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                                  }
+const VkPhysicalDevice4444FormatsFeaturesEXT&                                          get4444FormatsFeaturesEXT                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice4444FormatsFeaturesEXT>();                                                }
+const VkPhysicalDevice8BitStorageFeatures&                                                     get8BitStorageFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeatures>();                                                   }
+const VkPhysicalDeviceAccelerationStructureFeaturesKHR&                                getAccelerationStructureFeatures                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR>();                              }
+const VkPhysicalDeviceASTCDecodeFeaturesEXT&                                           getASTCDecodeFeaturesEXT                                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceASTCDecodeFeaturesEXT>();                                                 }
+const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                       getBlendOperationAdvancedFeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                             }
+const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&                           getBorderColorSwizzleFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT>();                                 }
+const VkPhysicalDeviceBufferDeviceAddressFeatures&                                     getBufferDeviceAddressFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeatures>();                                   }
+const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                          getBufferDeviceAddressFeaturesEXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
+const VkPhysicalDeviceCoherentMemoryFeaturesAMD&                                       getCoherentMemoryFeaturesAMD                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoherentMemoryFeaturesAMD>();                                             }
+const VkPhysicalDeviceColorWriteEnableFeaturesEXT&                                     getColorWriteEnableFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT>();                                   }
+const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                      getComputeShaderDerivativesFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
+const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                         getConditionalRenderingFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
+const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                     getCooperativeMatrixFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
+const VkPhysicalDeviceCornerSampledImageFeaturesNV&                                    getCornerSampledImageFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCornerSampledImageFeaturesNV>();                                  }
+const VkPhysicalDeviceCoverageReductionModeFeaturesNV&                         getCoverageReductionModeFeatures                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV>();                               }
+const VkPhysicalDeviceCustomBorderColorFeaturesEXT&                                    getCustomBorderColorFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCustomBorderColorFeaturesEXT>();                                  }
+const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&      getDedicatedAllocationImageAliasingFeatures             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>();    }
+const VkPhysicalDeviceDepthClipControlFeaturesEXT&                                     getDepthClipControlFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipControlFeaturesEXT>();                                   }
+const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                      getDepthClipEnableFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
+const VkPhysicalDeviceDescriptorBufferFeaturesEXT&                                     getDescriptorBufferFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorBufferFeaturesEXT>();                                   }
+const VkPhysicalDeviceDescriptorIndexingFeatures&                                      getDescriptorIndexingFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeatures>();                                    }
+const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE&           getDescriptorSetHostMappingFeaturesVALVE                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>();                 }
+const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&                       getDeviceGeneratedCommandsFeatures                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>();                             }
+const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&                           getDeviceMemoryReportFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>();                                 }
+const VkPhysicalDeviceDiagnosticsConfigFeaturesNV&                                     getDiagnosticsConfigFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>();                                   }
+const VkPhysicalDeviceDynamicRenderingFeatures&                                                getDynamicRenderingFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDynamicRenderingFeatures>();                                              }
+const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                      getExclusiveScissorFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
+const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&                         getExtendedDynamicStateFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT>();                               }
+const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&                                getExtendedDynamicState2FeaturesEXT                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT>();                              }
+const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&                                    getExternalMemoryRDMAFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV>();                                  }
+const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                           getFragmentDensityMapFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
+const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&                          getFragmentDensityMap2FeaturesEXT                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT>();                                }
+const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM&                    getFragmentDensityMapOffsetFeaturesQCOM                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>();                  }
+const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR&                    getFragmentShaderBarycentricFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>();                  }
+const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                      getFragmentShaderInterlockFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>();                    }
+const VkPhysicalDeviceFragmentShadingRateFeaturesKHR&                          getFragmentShadingRateFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR>();                                }
+const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&                      getFragmentShadingRateEnumsFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV>();                    }
+const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR&                          getGlobalPriorityQueryFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR>();                                }
+const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT&                      getGraphicsPipelineLibraryFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>();                    }
+const VkPhysicalDeviceHostQueryResetFeatures&                                          getHostQueryResetFeatures                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeatures>();                                                }
+const VkPhysicalDeviceImagelessFramebufferFeatures&                                    getImagelessFramebufferFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeatures>();                                  }
+const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT&                                      getImage2DViewOf3DFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT>();                                    }
+const VkPhysicalDeviceImageCompressionControlFeaturesEXT&                      getImageCompressionControlFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT>();                    }
+const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT&     getImageCompressionControlSwapchainFeaturesEXT  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>();   }
+const VkPhysicalDeviceImageRobustnessFeatures&                                         getImageRobustnessFeatures                                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageRobustnessFeatures>();                                               }
+const VkPhysicalDeviceImageViewMinLodFeaturesEXT&                                      getImageViewMinLodFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>();                                    }
+const VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                       getIndexTypeUint8FeaturesEXT                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>();                                             }
+const VkPhysicalDeviceInheritedViewportScissorFeaturesNV&                      getInheritedViewportScissorFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV>();                    }
+const VkPhysicalDeviceInlineUniformBlockFeatures&                                      getInlineUniformBlockFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeatures>();                                    }
+const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&                                    getInvocationMaskFeaturesHUAWEI                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI>();                                  }
+const VkPhysicalDeviceLinearColorAttachmentFeaturesNV&                         getLinearColorAttachmentFeatures                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>();                               }
+const VkPhysicalDeviceLineRasterizationFeaturesEXT&                                    getLineRasterizationFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>();                                  }
+const VkPhysicalDeviceMaintenance4Features&                                                    getMaintenance4Features                                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMaintenance4Features>();                                                  }
+const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                       getMemoryPriorityFeaturesEXT                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
+const VkPhysicalDeviceMeshShaderFeaturesNV&                                                    getMeshShaderFeatures                                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMeshShaderFeaturesNV>();                                                  }
+const VkPhysicalDeviceMultiviewFeatures&                                                       getMultiviewFeatures                                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                             }
+const VkPhysicalDeviceMultiDrawFeaturesEXT&                                                    getMultiDrawFeaturesEXT                                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiDrawFeaturesEXT>();                                                  }
+const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&                      getMutableDescriptorTypeFeaturesVALVE                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE>();                    }
+const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&                    getPageableDeviceLocalMemoryFeaturesEXT                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT>();                  }
+const VkPhysicalDevicePerformanceQueryFeaturesKHR&                                     getPerformanceQueryFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePerformanceQueryFeaturesKHR>();                                   }
+const VkPhysicalDevicePipelineCreationCacheControlFeatures&                    getPipelineCreationCacheControlFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineCreationCacheControlFeatures>();                  }
+const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&         getPipelineExecutablePropertiesFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>();               }
+const VkPhysicalDevicePipelinePropertiesFeaturesEXT&                           getPipelinePropertiesFeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT>();                                 }
+const VkPhysicalDevicePortabilitySubsetFeaturesKHR&                                    getPortabilitySubsetFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePortabilitySubsetFeaturesKHR>();                                  }
+const VkPhysicalDevicePresentIdFeaturesKHR&                                                    getPresentIdFeatures                                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentIdFeaturesKHR>();                                                  }
+const VkPhysicalDevicePresentWaitFeaturesKHR&                                          getPresentWaitFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePresentWaitFeaturesKHR>();                                                }
+const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT&                     getPrimitivesGeneratedQueryFeaturesEXT                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>();                   }
+const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&         getPrimitiveTopologyListRestartFeaturesEXT              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>();               }
+const VkPhysicalDevicePrivateDataFeatures&                                                     getPrivateDataFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePrivateDataFeatures>();                                                   }
+const VkPhysicalDeviceProtectedMemoryFeatures&                                         getProtectedMemoryFeatures                                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
+const VkPhysicalDeviceProvokingVertexFeaturesEXT&                                      getProvokingVertexFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProvokingVertexFeaturesEXT>();                                    }
+const VkPhysicalDeviceRayQueryFeaturesKHR&                                                     getRayQueryFeatures                                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayQueryFeaturesKHR>();                                                   }
+const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR&                       getRayTracingMaintenance1Features                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>();                             }
+const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&                          getRayTracingMotionBlurFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV>();                                }
+const VkPhysicalDeviceRayTracingPipelineFeaturesKHR&                           getRayTracingPipelineFeatures                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRayTracingPipelineFeaturesKHR>();                                 }
+const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                    getRepresentativeFragmentTestFeatures                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>();                  }
+const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&                                      getRGBA10X6FormatsFeaturesEXT                                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT>();                                    }
+const VkPhysicalDeviceRobustness2FeaturesEXT&                                          getRobustness2FeaturesEXT                                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRobustness2FeaturesEXT>();                                                }
+const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                          getSamplerYcbcrConversionFeatures                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                                }
+const VkPhysicalDeviceScalarBlockLayoutFeatures&                                       getScalarBlockLayoutFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeatures>();                                             }
+const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures&                     getSeparateDepthStencilLayoutsFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>();                   }
+const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&                                    getShaderAtomicFloatFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT>();                                  }
+const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&                           getShaderAtomicFloat2FeaturesEXT                                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>();                                 }
+const VkPhysicalDeviceShaderAtomicInt64Features&                                       getShaderAtomicInt64Features                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicInt64Features>();                                             }
+const VkPhysicalDeviceShaderClockFeaturesKHR&                                          getShaderClockFeatures                                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderClockFeaturesKHR>();                                                }
+const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures&          getShaderDemoteToHelperInvocationFeatures               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>();                }
+const VkPhysicalDeviceShaderDrawParametersFeatures&                                    getShaderDrawParametersFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
+const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD&      getShaderEarlyAndLateFragmentTestsFeaturesAMD   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD>();    }
+const VkPhysicalDeviceShaderFloat16Int8Features&                                       getShaderFloat16Int8Features                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderFloat16Int8Features>();                                             }
+const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&                       getShaderImageAtomicInt64FeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT>();                             }
+const VkPhysicalDeviceShaderImageFootprintFeaturesNV&                          getShaderImageFootprintFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>();                                }
+const VkPhysicalDeviceShaderIntegerDotProductFeatures&                         getShaderIntegerDotProductFeatures                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerDotProductFeatures>();                               }
+const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                    getShaderIntegerFunctions2FeaturesINTEL                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>();                  }
+const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&                                      getShaderSMBuiltinsFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV>();                                    }
+const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures&                     getShaderSubgroupExtendedTypesFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>();                   }
+const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&     getShaderSubgroupUniformControlFlowFeatures             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>();   }
+const VkPhysicalDeviceShaderTerminateInvocationFeatures&                       getShaderTerminateInvocationFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderTerminateInvocationFeatures>();                             }
+const VkPhysicalDeviceShadingRateImageFeaturesNV&                                      getShadingRateImageFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
+const VkPhysicalDeviceSubgroupSizeControlFeatures&                                     getSubgroupSizeControlFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubgroupSizeControlFeatures>();                                   }
+const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT&                         getSubpassMergeFeedbackFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT>();                               }
+const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&                                    getSubpassShadingFeaturesHUAWEI                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>();                                  }
+const VkPhysicalDeviceSynchronization2Features&                                                getSynchronization2Features                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSynchronization2Features>();                                              }
+const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                         getTexelBufferAlignmentFeaturesEXT                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>();                               }
+const VkPhysicalDeviceTextureCompressionASTCHDRFeatures&                       getTextureCompressionASTCHDRFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>();                             }
+const VkPhysicalDeviceTimelineSemaphoreFeatures&                                       getTimelineSemaphoreFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTimelineSemaphoreFeatures>();                                             }
+const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                    getTransformFeedbackFeaturesEXT                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                                  }
+const VkPhysicalDeviceUniformBufferStandardLayoutFeatures&                     getUniformBufferStandardLayoutFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>();                   }
+const VkPhysicalDeviceVariablePointersFeatures&                                                getVariablePointersFeatures                                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                              }
+const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                       getVertexAttributeDivisorFeaturesEXT                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
+const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&                      getVertexInputDynamicStateFeaturesEXT                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT>();                    }
+const VkPhysicalDeviceVulkanMemoryModelFeatures&                                       getVulkanMemoryModelFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeatures>();                                             }
+const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&                getWorkgroupMemoryExplicitLayoutFeatures                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>();              }
+const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&                                getYcbcr2Plane444FormatsFeaturesEXT                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT>();                              }
+const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                     getYcbcrImageArraysFeaturesEXT                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
+const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures&           getZeroInitializeWorkgroupMemoryFeatures                (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>();                 }
index e98e3f1..9efae34 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-GetDeviceProcAddrFunc                                                          getDeviceProcAddr;
-DestroyDeviceFunc                                                                      destroyDevice;
-GetDeviceQueueFunc                                                                     getDeviceQueue;
-QueueSubmitFunc                                                                                queueSubmit;
-QueueWaitIdleFunc                                                                      queueWaitIdle;
-DeviceWaitIdleFunc                                                                     deviceWaitIdle;
-AllocateMemoryFunc                                                                     allocateMemory;
-FreeMemoryFunc                                                                         freeMemory;
-MapMemoryFunc                                                                          mapMemory;
-UnmapMemoryFunc                                                                                unmapMemory;
-FlushMappedMemoryRangesFunc                                                    flushMappedMemoryRanges;
-InvalidateMappedMemoryRangesFunc                                       invalidateMappedMemoryRanges;
-GetDeviceMemoryCommitmentFunc                                          getDeviceMemoryCommitment;
-BindBufferMemoryFunc                                                           bindBufferMemory;
-BindImageMemoryFunc                                                                    bindImageMemory;
-GetBufferMemoryRequirementsFunc                                                getBufferMemoryRequirements;
-GetImageMemoryRequirementsFunc                                         getImageMemoryRequirements;
-GetImageSparseMemoryRequirementsFunc                           getImageSparseMemoryRequirements;
-QueueBindSparseFunc                                                                    queueBindSparse;
-CreateFenceFunc                                                                                createFence;
-DestroyFenceFunc                                                                       destroyFence;
-ResetFencesFunc                                                                                resetFences;
-GetFenceStatusFunc                                                                     getFenceStatus;
-WaitForFencesFunc                                                                      waitForFences;
-CreateSemaphoreFunc                                                                    createSemaphore;
-DestroySemaphoreFunc                                                           destroySemaphore;
-CreateEventFunc                                                                                createEvent;
-DestroyEventFunc                                                                       destroyEvent;
-GetEventStatusFunc                                                                     getEventStatus;
-SetEventFunc                                                                           setEvent;
-ResetEventFunc                                                                         resetEvent;
-CreateQueryPoolFunc                                                                    createQueryPool;
-DestroyQueryPoolFunc                                                           destroyQueryPool;
-GetQueryPoolResultsFunc                                                                getQueryPoolResults;
-CreateBufferFunc                                                                       createBuffer;
-DestroyBufferFunc                                                                      destroyBuffer;
-CreateBufferViewFunc                                                           createBufferView;
-DestroyBufferViewFunc                                                          destroyBufferView;
-CreateImageFunc                                                                                createImage;
-DestroyImageFunc                                                                       destroyImage;
-GetImageSubresourceLayoutFunc                                          getImageSubresourceLayout;
-CreateImageViewFunc                                                                    createImageView;
-DestroyImageViewFunc                                                           destroyImageView;
-CreateShaderModuleFunc                                                         createShaderModule;
-DestroyShaderModuleFunc                                                                destroyShaderModule;
-CreatePipelineCacheFunc                                                                createPipelineCache;
-DestroyPipelineCacheFunc                                                       destroyPipelineCache;
-GetPipelineCacheDataFunc                                                       getPipelineCacheData;
-MergePipelineCachesFunc                                                                mergePipelineCaches;
-CreateGraphicsPipelinesFunc                                                    createGraphicsPipelines;
-CreateComputePipelinesFunc                                                     createComputePipelines;
-DestroyPipelineFunc                                                                    destroyPipeline;
-CreatePipelineLayoutFunc                                                       createPipelineLayout;
-DestroyPipelineLayoutFunc                                                      destroyPipelineLayout;
-CreateSamplerFunc                                                                      createSampler;
-DestroySamplerFunc                                                                     destroySampler;
-CreateDescriptorSetLayoutFunc                                          createDescriptorSetLayout;
-DestroyDescriptorSetLayoutFunc                                         destroyDescriptorSetLayout;
-CreateDescriptorPoolFunc                                                       createDescriptorPool;
-DestroyDescriptorPoolFunc                                                      destroyDescriptorPool;
-ResetDescriptorPoolFunc                                                                resetDescriptorPool;
-AllocateDescriptorSetsFunc                                                     allocateDescriptorSets;
-FreeDescriptorSetsFunc                                                         freeDescriptorSets;
-UpdateDescriptorSetsFunc                                                       updateDescriptorSets;
-CreateFramebufferFunc                                                          createFramebuffer;
-DestroyFramebufferFunc                                                         destroyFramebuffer;
-CreateRenderPassFunc                                                           createRenderPass;
-DestroyRenderPassFunc                                                          destroyRenderPass;
-GetRenderAreaGranularityFunc                                           getRenderAreaGranularity;
-CreateCommandPoolFunc                                                          createCommandPool;
-DestroyCommandPoolFunc                                                         destroyCommandPool;
-ResetCommandPoolFunc                                                           resetCommandPool;
-AllocateCommandBuffersFunc                                                     allocateCommandBuffers;
-FreeCommandBuffersFunc                                                         freeCommandBuffers;
-BeginCommandBufferFunc                                                         beginCommandBuffer;
-EndCommandBufferFunc                                                           endCommandBuffer;
-ResetCommandBufferFunc                                                         resetCommandBuffer;
-CmdBindPipelineFunc                                                                    cmdBindPipeline;
-CmdSetViewportFunc                                                                     cmdSetViewport;
-CmdSetScissorFunc                                                                      cmdSetScissor;
-CmdSetLineWidthFunc                                                                    cmdSetLineWidth;
-CmdSetDepthBiasFunc                                                                    cmdSetDepthBias;
-CmdSetBlendConstantsFunc                                                       cmdSetBlendConstants;
-CmdSetDepthBoundsFunc                                                          cmdSetDepthBounds;
-CmdSetStencilCompareMaskFunc                                           cmdSetStencilCompareMask;
-CmdSetStencilWriteMaskFunc                                                     cmdSetStencilWriteMask;
-CmdSetStencilReferenceFunc                                                     cmdSetStencilReference;
-CmdBindDescriptorSetsFunc                                                      cmdBindDescriptorSets;
-CmdBindIndexBufferFunc                                                         cmdBindIndexBuffer;
-CmdBindVertexBuffersFunc                                                       cmdBindVertexBuffers;
-CmdDrawFunc                                                                                    cmdDraw;
-CmdDrawIndexedFunc                                                                     cmdDrawIndexed;
-CmdDrawIndirectFunc                                                                    cmdDrawIndirect;
-CmdDrawIndexedIndirectFunc                                                     cmdDrawIndexedIndirect;
-CmdDispatchFunc                                                                                cmdDispatch;
-CmdDispatchIndirectFunc                                                                cmdDispatchIndirect;
-CmdCopyBufferFunc                                                                      cmdCopyBuffer;
-CmdCopyImageFunc                                                                       cmdCopyImage;
-CmdBlitImageFunc                                                                       cmdBlitImage;
-CmdCopyBufferToImageFunc                                                       cmdCopyBufferToImage;
-CmdCopyImageToBufferFunc                                                       cmdCopyImageToBuffer;
-CmdUpdateBufferFunc                                                                    cmdUpdateBuffer;
-CmdFillBufferFunc                                                                      cmdFillBuffer;
-CmdClearColorImageFunc                                                         cmdClearColorImage;
-CmdClearDepthStencilImageFunc                                          cmdClearDepthStencilImage;
-CmdClearAttachmentsFunc                                                                cmdClearAttachments;
-CmdResolveImageFunc                                                                    cmdResolveImage;
-CmdSetEventFunc                                                                                cmdSetEvent;
-CmdResetEventFunc                                                                      cmdResetEvent;
-CmdWaitEventsFunc                                                                      cmdWaitEvents;
-CmdPipelineBarrierFunc                                                         cmdPipelineBarrier;
-CmdBeginQueryFunc                                                                      cmdBeginQuery;
-CmdEndQueryFunc                                                                                cmdEndQuery;
-CmdResetQueryPoolFunc                                                          cmdResetQueryPool;
-CmdWriteTimestampFunc                                                          cmdWriteTimestamp;
-CmdCopyQueryPoolResultsFunc                                                    cmdCopyQueryPoolResults;
-CmdPushConstantsFunc                                                           cmdPushConstants;
-CmdBeginRenderPassFunc                                                         cmdBeginRenderPass;
-CmdNextSubpassFunc                                                                     cmdNextSubpass;
-CmdEndRenderPassFunc                                                           cmdEndRenderPass;
-CmdExecuteCommandsFunc                                                         cmdExecuteCommands;
-BindBufferMemory2Func                                                          bindBufferMemory2;
-BindImageMemory2Func                                                           bindImageMemory2;
-GetDeviceGroupPeerMemoryFeaturesFunc                           getDeviceGroupPeerMemoryFeatures;
-CmdSetDeviceMaskFunc                                                           cmdSetDeviceMask;
-CmdDispatchBaseFunc                                                                    cmdDispatchBase;
-GetImageMemoryRequirements2Func                                                getImageMemoryRequirements2;
-GetBufferMemoryRequirements2Func                                       getBufferMemoryRequirements2;
-GetImageSparseMemoryRequirements2Func                          getImageSparseMemoryRequirements2;
-TrimCommandPoolFunc                                                                    trimCommandPool;
-GetDeviceQueue2Func                                                                    getDeviceQueue2;
-CreateSamplerYcbcrConversionFunc                                       createSamplerYcbcrConversion;
-DestroySamplerYcbcrConversionFunc                                      destroySamplerYcbcrConversion;
-CreateDescriptorUpdateTemplateFunc                                     createDescriptorUpdateTemplate;
-DestroyDescriptorUpdateTemplateFunc                                    destroyDescriptorUpdateTemplate;
-UpdateDescriptorSetWithTemplateFunc                                    updateDescriptorSetWithTemplate;
-GetDescriptorSetLayoutSupportFunc                                      getDescriptorSetLayoutSupport;
-CmdDrawIndirectCountFunc                                                       cmdDrawIndirectCount;
-CmdDrawIndexedIndirectCountFunc                                                cmdDrawIndexedIndirectCount;
-CreateRenderPass2Func                                                          createRenderPass2;
-CmdBeginRenderPass2Func                                                                cmdBeginRenderPass2;
-CmdNextSubpass2Func                                                                    cmdNextSubpass2;
-CmdEndRenderPass2Func                                                          cmdEndRenderPass2;
-ResetQueryPoolFunc                                                                     resetQueryPool;
-GetSemaphoreCounterValueFunc                                           getSemaphoreCounterValue;
-WaitSemaphoresFunc                                                                     waitSemaphores;
-SignalSemaphoreFunc                                                                    signalSemaphore;
-GetBufferDeviceAddressFunc                                                     getBufferDeviceAddress;
-GetBufferOpaqueCaptureAddressFunc                                      getBufferOpaqueCaptureAddress;
-GetDeviceMemoryOpaqueCaptureAddressFunc                                getDeviceMemoryOpaqueCaptureAddress;
-CreatePrivateDataSlotFunc                                                      createPrivateDataSlot;
-DestroyPrivateDataSlotFunc                                                     destroyPrivateDataSlot;
-SetPrivateDataFunc                                                                     setPrivateData;
-GetPrivateDataFunc                                                                     getPrivateData;
-CmdSetEvent2Func                                                                       cmdSetEvent2;
-CmdResetEvent2Func                                                                     cmdResetEvent2;
-CmdWaitEvents2Func                                                                     cmdWaitEvents2;
-CmdPipelineBarrier2Func                                                                cmdPipelineBarrier2;
-CmdWriteTimestamp2Func                                                         cmdWriteTimestamp2;
-QueueSubmit2Func                                                                       queueSubmit2;
-CmdCopyBuffer2Func                                                                     cmdCopyBuffer2;
-CmdCopyImage2Func                                                                      cmdCopyImage2;
-CmdCopyBufferToImage2Func                                                      cmdCopyBufferToImage2;
-CmdCopyImageToBuffer2Func                                                      cmdCopyImageToBuffer2;
-CmdBlitImage2Func                                                                      cmdBlitImage2;
-CmdResolveImage2Func                                                           cmdResolveImage2;
-CmdBeginRenderingFunc                                                          cmdBeginRendering;
-CmdEndRenderingFunc                                                                    cmdEndRendering;
-CmdSetCullModeFunc                                                                     cmdSetCullMode;
-CmdSetFrontFaceFunc                                                                    cmdSetFrontFace;
-CmdSetPrimitiveTopologyFunc                                                    cmdSetPrimitiveTopology;
-CmdSetViewportWithCountFunc                                                    cmdSetViewportWithCount;
-CmdSetScissorWithCountFunc                                                     cmdSetScissorWithCount;
-CmdBindVertexBuffers2Func                                                      cmdBindVertexBuffers2;
-CmdSetDepthTestEnableFunc                                                      cmdSetDepthTestEnable;
-CmdSetDepthWriteEnableFunc                                                     cmdSetDepthWriteEnable;
-CmdSetDepthCompareOpFunc                                                       cmdSetDepthCompareOp;
-CmdSetDepthBoundsTestEnableFunc                                                cmdSetDepthBoundsTestEnable;
-CmdSetStencilTestEnableFunc                                                    cmdSetStencilTestEnable;
-CmdSetStencilOpFunc                                                                    cmdSetStencilOp;
-CmdSetRasterizerDiscardEnableFunc                                      cmdSetRasterizerDiscardEnable;
-CmdSetDepthBiasEnableFunc                                                      cmdSetDepthBiasEnable;
-CmdSetPrimitiveRestartEnableFunc                                       cmdSetPrimitiveRestartEnable;
-GetDeviceBufferMemoryRequirementsFunc                          getDeviceBufferMemoryRequirements;
-GetDeviceImageMemoryRequirementsFunc                           getDeviceImageMemoryRequirements;
-GetDeviceImageSparseMemoryRequirementsFunc                     getDeviceImageSparseMemoryRequirements;
-CreateSwapchainKHRFunc                                                         createSwapchainKHR;
-DestroySwapchainKHRFunc                                                                destroySwapchainKHR;
-GetSwapchainImagesKHRFunc                                                      getSwapchainImagesKHR;
-AcquireNextImageKHRFunc                                                                acquireNextImageKHR;
-QueuePresentKHRFunc                                                                    queuePresentKHR;
-GetDeviceGroupPresentCapabilitiesKHRFunc                       getDeviceGroupPresentCapabilitiesKHR;
-GetDeviceGroupSurfacePresentModesKHRFunc                       getDeviceGroupSurfacePresentModesKHR;
-AcquireNextImage2KHRFunc                                                       acquireNextImage2KHR;
-CreateSharedSwapchainsKHRFunc                                          createSharedSwapchainsKHR;
-GetMemoryFdKHRFunc                                                                     getMemoryFdKHR;
-GetMemoryFdPropertiesKHRFunc                                           getMemoryFdPropertiesKHR;
-ImportSemaphoreFdKHRFunc                                                       importSemaphoreFdKHR;
-GetSemaphoreFdKHRFunc                                                          getSemaphoreFdKHR;
-CmdPushDescriptorSetKHRFunc                                                    cmdPushDescriptorSetKHR;
-CmdPushDescriptorSetWithTemplateKHRFunc                                cmdPushDescriptorSetWithTemplateKHR;
-GetSwapchainStatusKHRFunc                                                      getSwapchainStatusKHR;
-ImportFenceFdKHRFunc                                                           importFenceFdKHR;
-GetFenceFdKHRFunc                                                                      getFenceFdKHR;
-AcquireProfilingLockKHRFunc                                                    acquireProfilingLockKHR;
-ReleaseProfilingLockKHRFunc                                                    releaseProfilingLockKHR;
-CmdSetFragmentShadingRateKHRFunc                                       cmdSetFragmentShadingRateKHR;
-WaitForPresentKHRFunc                                                          waitForPresentKHR;
-CreateDeferredOperationKHRFunc                                         createDeferredOperationKHR;
-DestroyDeferredOperationKHRFunc                                                destroyDeferredOperationKHR;
-GetDeferredOperationMaxConcurrencyKHRFunc                      getDeferredOperationMaxConcurrencyKHR;
-GetDeferredOperationResultKHRFunc                                      getDeferredOperationResultKHR;
-DeferredOperationJoinKHRFunc                                           deferredOperationJoinKHR;
-GetPipelineExecutablePropertiesKHRFunc                         getPipelineExecutablePropertiesKHR;
-GetPipelineExecutableStatisticsKHRFunc                         getPipelineExecutableStatisticsKHR;
-GetPipelineExecutableInternalRepresentationsKHRFunc    getPipelineExecutableInternalRepresentationsKHR;
-CmdWriteBufferMarker2AMDFunc                                           cmdWriteBufferMarker2AMD;
-GetQueueCheckpointData2NVFunc                                          getQueueCheckpointData2NV;
-DebugMarkerSetObjectTagEXTFunc                                         debugMarkerSetObjectTagEXT;
-DebugMarkerSetObjectNameEXTFunc                                                debugMarkerSetObjectNameEXT;
-CmdDebugMarkerBeginEXTFunc                                                     cmdDebugMarkerBeginEXT;
-CmdDebugMarkerEndEXTFunc                                                       cmdDebugMarkerEndEXT;
-CmdDebugMarkerInsertEXTFunc                                                    cmdDebugMarkerInsertEXT;
-CmdBindTransformFeedbackBuffersEXTFunc                         cmdBindTransformFeedbackBuffersEXT;
-CmdBeginTransformFeedbackEXTFunc                                       cmdBeginTransformFeedbackEXT;
-CmdEndTransformFeedbackEXTFunc                                         cmdEndTransformFeedbackEXT;
-CmdBeginQueryIndexedEXTFunc                                                    cmdBeginQueryIndexedEXT;
-CmdEndQueryIndexedEXTFunc                                                      cmdEndQueryIndexedEXT;
-CmdDrawIndirectByteCountEXTFunc                                                cmdDrawIndirectByteCountEXT;
-CreateCuModuleNVXFunc                                                          createCuModuleNVX;
-CreateCuFunctionNVXFunc                                                                createCuFunctionNVX;
-DestroyCuModuleNVXFunc                                                         destroyCuModuleNVX;
-DestroyCuFunctionNVXFunc                                                       destroyCuFunctionNVX;
-CmdCuLaunchKernelNVXFunc                                                       cmdCuLaunchKernelNVX;
-GetImageViewHandleNVXFunc                                                      getImageViewHandleNVX;
-GetImageViewAddressNVXFunc                                                     getImageViewAddressNVX;
-CmdDrawIndirectCountAMDFunc                                                    cmdDrawIndirectCountAMD;
-CmdDrawIndexedIndirectCountAMDFunc                                     cmdDrawIndexedIndirectCountAMD;
-GetShaderInfoAMDFunc                                                           getShaderInfoAMD;
-CmdBeginConditionalRenderingEXTFunc                                    cmdBeginConditionalRenderingEXT;
-CmdEndConditionalRenderingEXTFunc                                      cmdEndConditionalRenderingEXT;
-CmdSetViewportWScalingNVFunc                                           cmdSetViewportWScalingNV;
-DisplayPowerControlEXTFunc                                                     displayPowerControlEXT;
-RegisterDeviceEventEXTFunc                                                     registerDeviceEventEXT;
-RegisterDisplayEventEXTFunc                                                    registerDisplayEventEXT;
-GetSwapchainCounterEXTFunc                                                     getSwapchainCounterEXT;
-GetRefreshCycleDurationGOOGLEFunc                                      getRefreshCycleDurationGOOGLE;
-GetPastPresentationTimingGOOGLEFunc                                    getPastPresentationTimingGOOGLE;
-CmdSetDiscardRectangleEXTFunc                                          cmdSetDiscardRectangleEXT;
-SetHdrMetadataEXTFunc                                                          setHdrMetadataEXT;
-SetDebugUtilsObjectNameEXTFunc                                         setDebugUtilsObjectNameEXT;
-SetDebugUtilsObjectTagEXTFunc                                          setDebugUtilsObjectTagEXT;
-QueueBeginDebugUtilsLabelEXTFunc                                       queueBeginDebugUtilsLabelEXT;
-QueueEndDebugUtilsLabelEXTFunc                                         queueEndDebugUtilsLabelEXT;
-QueueInsertDebugUtilsLabelEXTFunc                                      queueInsertDebugUtilsLabelEXT;
-CmdBeginDebugUtilsLabelEXTFunc                                         cmdBeginDebugUtilsLabelEXT;
-CmdEndDebugUtilsLabelEXTFunc                                           cmdEndDebugUtilsLabelEXT;
-CmdInsertDebugUtilsLabelEXTFunc                                                cmdInsertDebugUtilsLabelEXT;
-CmdSetSampleLocationsEXTFunc                                           cmdSetSampleLocationsEXT;
-GetImageDrmFormatModifierPropertiesEXTFunc                     getImageDrmFormatModifierPropertiesEXT;
-CreateValidationCacheEXTFunc                                           createValidationCacheEXT;
-DestroyValidationCacheEXTFunc                                          destroyValidationCacheEXT;
-MergeValidationCachesEXTFunc                                           mergeValidationCachesEXT;
-GetValidationCacheDataEXTFunc                                          getValidationCacheDataEXT;
-CmdBindShadingRateImageNVFunc                                          cmdBindShadingRateImageNV;
-CmdSetViewportShadingRatePaletteNVFunc                         cmdSetViewportShadingRatePaletteNV;
-CmdSetCoarseSampleOrderNVFunc                                          cmdSetCoarseSampleOrderNV;
-CreateAccelerationStructureNVFunc                                      createAccelerationStructureNV;
-DestroyAccelerationStructureNVFunc                                     destroyAccelerationStructureNV;
-GetAccelerationStructureMemoryRequirementsNVFunc       getAccelerationStructureMemoryRequirementsNV;
-BindAccelerationStructureMemoryNVFunc                          bindAccelerationStructureMemoryNV;
-CmdBuildAccelerationStructureNVFunc                                    cmdBuildAccelerationStructureNV;
-CmdCopyAccelerationStructureNVFunc                                     cmdCopyAccelerationStructureNV;
-CmdTraceRaysNVFunc                                                                     cmdTraceRaysNV;
-CreateRayTracingPipelinesNVFunc                                                createRayTracingPipelinesNV;
-GetRayTracingShaderGroupHandlesKHRFunc                         getRayTracingShaderGroupHandlesKHR;
-GetRayTracingShaderGroupHandlesNVFunc                          getRayTracingShaderGroupHandlesNV;
-GetAccelerationStructureHandleNVFunc                           getAccelerationStructureHandleNV;
-CmdWriteAccelerationStructuresPropertiesNVFunc         cmdWriteAccelerationStructuresPropertiesNV;
-CompileDeferredNVFunc                                                          compileDeferredNV;
-GetMemoryHostPointerPropertiesEXTFunc                          getMemoryHostPointerPropertiesEXT;
-CmdWriteBufferMarkerAMDFunc                                                    cmdWriteBufferMarkerAMD;
-GetCalibratedTimestampsEXTFunc                                         getCalibratedTimestampsEXT;
-CmdDrawMeshTasksNVFunc                                                         cmdDrawMeshTasksNV;
-CmdDrawMeshTasksIndirectNVFunc                                         cmdDrawMeshTasksIndirectNV;
-CmdDrawMeshTasksIndirectCountNVFunc                                    cmdDrawMeshTasksIndirectCountNV;
-CmdSetExclusiveScissorNVFunc                                           cmdSetExclusiveScissorNV;
-CmdSetCheckpointNVFunc                                                         cmdSetCheckpointNV;
-GetQueueCheckpointDataNVFunc                                           getQueueCheckpointDataNV;
-InitializePerformanceApiINTELFunc                                      initializePerformanceApiINTEL;
-UninitializePerformanceApiINTELFunc                                    uninitializePerformanceApiINTEL;
-CmdSetPerformanceMarkerINTELFunc                                       cmdSetPerformanceMarkerINTEL;
-CmdSetPerformanceStreamMarkerINTELFunc                         cmdSetPerformanceStreamMarkerINTEL;
-CmdSetPerformanceOverrideINTELFunc                                     cmdSetPerformanceOverrideINTEL;
-AcquirePerformanceConfigurationINTELFunc                       acquirePerformanceConfigurationINTEL;
-ReleasePerformanceConfigurationINTELFunc                       releasePerformanceConfigurationINTEL;
-QueueSetPerformanceConfigurationINTELFunc                      queueSetPerformanceConfigurationINTEL;
-GetPerformanceParameterINTELFunc                                       getPerformanceParameterINTEL;
-SetLocalDimmingAMDFunc                                                         setLocalDimmingAMD;
-GetBufferDeviceAddressEXTFunc                                          getBufferDeviceAddressEXT;
-CmdSetLineStippleEXTFunc                                                       cmdSetLineStippleEXT;
-GetGeneratedCommandsMemoryRequirementsNVFunc           getGeneratedCommandsMemoryRequirementsNV;
-CmdPreprocessGeneratedCommandsNVFunc                           cmdPreprocessGeneratedCommandsNV;
-CmdExecuteGeneratedCommandsNVFunc                                      cmdExecuteGeneratedCommandsNV;
-CmdBindPipelineShaderGroupNVFunc                                       cmdBindPipelineShaderGroupNV;
-CreateIndirectCommandsLayoutNVFunc                                     createIndirectCommandsLayoutNV;
-DestroyIndirectCommandsLayoutNVFunc                                    destroyIndirectCommandsLayoutNV;
-CmdSetFragmentShadingRateEnumNVFunc                                    cmdSetFragmentShadingRateEnumNV;
-CmdSetVertexInputEXTFunc                                                       cmdSetVertexInputEXT;
-GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc      getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
-CmdSubpassShadingHUAWEIFunc                                                    cmdSubpassShadingHUAWEI;
-CmdBindInvocationMaskHUAWEIFunc                                                cmdBindInvocationMaskHUAWEI;
-GetMemoryRemoteAddressNVFunc                                           getMemoryRemoteAddressNV;
-CmdSetPatchControlPointsEXTFunc                                                cmdSetPatchControlPointsEXT;
-CmdSetLogicOpEXTFunc                                                           cmdSetLogicOpEXT;
-CmdSetColorWriteEnableEXTFunc                                          cmdSetColorWriteEnableEXT;
-CmdDrawMultiEXTFunc                                                                    cmdDrawMultiEXT;
-CmdDrawMultiIndexedEXTFunc                                                     cmdDrawMultiIndexedEXT;
-SetDeviceMemoryPriorityEXTFunc                                         setDeviceMemoryPriorityEXT;
-GetDescriptorSetLayoutHostMappingInfoVALVEFunc         getDescriptorSetLayoutHostMappingInfoVALVE;
-GetDescriptorSetHostMappingVALVEFunc                           getDescriptorSetHostMappingVALVE;
-CreateAccelerationStructureKHRFunc                                     createAccelerationStructureKHR;
-DestroyAccelerationStructureKHRFunc                                    destroyAccelerationStructureKHR;
-CmdBuildAccelerationStructuresKHRFunc                          cmdBuildAccelerationStructuresKHR;
-CmdBuildAccelerationStructuresIndirectKHRFunc          cmdBuildAccelerationStructuresIndirectKHR;
-BuildAccelerationStructuresKHRFunc                                     buildAccelerationStructuresKHR;
-CopyAccelerationStructureKHRFunc                                       copyAccelerationStructureKHR;
-CopyAccelerationStructureToMemoryKHRFunc                       copyAccelerationStructureToMemoryKHR;
-CopyMemoryToAccelerationStructureKHRFunc                       copyMemoryToAccelerationStructureKHR;
-WriteAccelerationStructuresPropertiesKHRFunc           writeAccelerationStructuresPropertiesKHR;
-CmdCopyAccelerationStructureKHRFunc                                    cmdCopyAccelerationStructureKHR;
-CmdCopyAccelerationStructureToMemoryKHRFunc                    cmdCopyAccelerationStructureToMemoryKHR;
-CmdCopyMemoryToAccelerationStructureKHRFunc                    cmdCopyMemoryToAccelerationStructureKHR;
-GetAccelerationStructureDeviceAddressKHRFunc           getAccelerationStructureDeviceAddressKHR;
-CmdWriteAccelerationStructuresPropertiesKHRFunc                cmdWriteAccelerationStructuresPropertiesKHR;
-GetDeviceAccelerationStructureCompatibilityKHRFunc     getDeviceAccelerationStructureCompatibilityKHR;
-GetAccelerationStructureBuildSizesKHRFunc                      getAccelerationStructureBuildSizesKHR;
-CmdTraceRaysKHRFunc                                                                    cmdTraceRaysKHR;
-CreateRayTracingPipelinesKHRFunc                                       createRayTracingPipelinesKHR;
-GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc    getRayTracingCaptureReplayShaderGroupHandlesKHR;
-CmdTraceRaysIndirectKHRFunc                                                    cmdTraceRaysIndirectKHR;
-GetRayTracingShaderGroupStackSizeKHRFunc                       getRayTracingShaderGroupStackSizeKHR;
-CmdSetRayTracingPipelineStackSizeKHRFunc                       cmdSetRayTracingPipelineStackSizeKHR;
-GetAndroidHardwareBufferPropertiesANDROIDFunc          getAndroidHardwareBufferPropertiesANDROID;
-GetMemoryAndroidHardwareBufferANDROIDFunc                      getMemoryAndroidHardwareBufferANDROID;
-CreateVideoSessionKHRFunc                                                      createVideoSessionKHR;
-DestroyVideoSessionKHRFunc                                                     destroyVideoSessionKHR;
-GetVideoSessionMemoryRequirementsKHRFunc                       getVideoSessionMemoryRequirementsKHR;
-BindVideoSessionMemoryKHRFunc                                          bindVideoSessionMemoryKHR;
-CreateVideoSessionParametersKHRFunc                                    createVideoSessionParametersKHR;
-UpdateVideoSessionParametersKHRFunc                                    updateVideoSessionParametersKHR;
-DestroyVideoSessionParametersKHRFunc                           destroyVideoSessionParametersKHR;
-CmdBeginVideoCodingKHRFunc                                                     cmdBeginVideoCodingKHR;
-CmdEndVideoCodingKHRFunc                                                       cmdEndVideoCodingKHR;
-CmdControlVideoCodingKHRFunc                                           cmdControlVideoCodingKHR;
-CmdDecodeVideoKHRFunc                                                          cmdDecodeVideoKHR;
-CmdEncodeVideoKHRFunc                                                          cmdEncodeVideoKHR;
-GetMemoryZirconHandleFUCHSIAFunc                                       getMemoryZirconHandleFUCHSIA;
-GetMemoryZirconHandlePropertiesFUCHSIAFunc                     getMemoryZirconHandlePropertiesFUCHSIA;
-ImportSemaphoreZirconHandleFUCHSIAFunc                         importSemaphoreZirconHandleFUCHSIA;
-GetSemaphoreZirconHandleFUCHSIAFunc                                    getSemaphoreZirconHandleFUCHSIA;
-CreateBufferCollectionFUCHSIAFunc                                      createBufferCollectionFUCHSIA;
-SetBufferCollectionImageConstraintsFUCHSIAFunc         setBufferCollectionImageConstraintsFUCHSIA;
-SetBufferCollectionBufferConstraintsFUCHSIAFunc                setBufferCollectionBufferConstraintsFUCHSIA;
-DestroyBufferCollectionFUCHSIAFunc                                     destroyBufferCollectionFUCHSIA;
-GetBufferCollectionPropertiesFUCHSIAFunc                       getBufferCollectionPropertiesFUCHSIA;
-GetMemoryWin32HandleKHRFunc                                                    getMemoryWin32HandleKHR;
-GetMemoryWin32HandlePropertiesKHRFunc                          getMemoryWin32HandlePropertiesKHR;
-ImportSemaphoreWin32HandleKHRFunc                                      importSemaphoreWin32HandleKHR;
-GetSemaphoreWin32HandleKHRFunc                                         getSemaphoreWin32HandleKHR;
-ImportFenceWin32HandleKHRFunc                                          importFenceWin32HandleKHR;
-GetFenceWin32HandleKHRFunc                                                     getFenceWin32HandleKHR;
-GetMemoryWin32HandleNVFunc                                                     getMemoryWin32HandleNV;
-AcquireFullScreenExclusiveModeEXTFunc                          acquireFullScreenExclusiveModeEXT;
-ReleaseFullScreenExclusiveModeEXTFunc                          releaseFullScreenExclusiveModeEXT;
-GetDeviceGroupSurfacePresentModes2EXTFunc                      getDeviceGroupSurfacePresentModes2EXT;
+GetDeviceProcAddrFunc                                                                          getDeviceProcAddr;
+DestroyDeviceFunc                                                                                      destroyDevice;
+GetDeviceQueueFunc                                                                                     getDeviceQueue;
+QueueSubmitFunc                                                                                                queueSubmit;
+QueueWaitIdleFunc                                                                                      queueWaitIdle;
+DeviceWaitIdleFunc                                                                                     deviceWaitIdle;
+AllocateMemoryFunc                                                                                     allocateMemory;
+FreeMemoryFunc                                                                                         freeMemory;
+MapMemoryFunc                                                                                          mapMemory;
+UnmapMemoryFunc                                                                                                unmapMemory;
+FlushMappedMemoryRangesFunc                                                                    flushMappedMemoryRanges;
+InvalidateMappedMemoryRangesFunc                                                       invalidateMappedMemoryRanges;
+GetDeviceMemoryCommitmentFunc                                                          getDeviceMemoryCommitment;
+BindBufferMemoryFunc                                                                           bindBufferMemory;
+BindImageMemoryFunc                                                                                    bindImageMemory;
+GetBufferMemoryRequirementsFunc                                                                getBufferMemoryRequirements;
+GetImageMemoryRequirementsFunc                                                         getImageMemoryRequirements;
+GetImageSparseMemoryRequirementsFunc                                           getImageSparseMemoryRequirements;
+QueueBindSparseFunc                                                                                    queueBindSparse;
+CreateFenceFunc                                                                                                createFence;
+DestroyFenceFunc                                                                                       destroyFence;
+ResetFencesFunc                                                                                                resetFences;
+GetFenceStatusFunc                                                                                     getFenceStatus;
+WaitForFencesFunc                                                                                      waitForFences;
+CreateSemaphoreFunc                                                                                    createSemaphore;
+DestroySemaphoreFunc                                                                           destroySemaphore;
+CreateEventFunc                                                                                                createEvent;
+DestroyEventFunc                                                                                       destroyEvent;
+GetEventStatusFunc                                                                                     getEventStatus;
+SetEventFunc                                                                                           setEvent;
+ResetEventFunc                                                                                         resetEvent;
+CreateQueryPoolFunc                                                                                    createQueryPool;
+DestroyQueryPoolFunc                                                                           destroyQueryPool;
+GetQueryPoolResultsFunc                                                                                getQueryPoolResults;
+CreateBufferFunc                                                                                       createBuffer;
+DestroyBufferFunc                                                                                      destroyBuffer;
+CreateBufferViewFunc                                                                           createBufferView;
+DestroyBufferViewFunc                                                                          destroyBufferView;
+CreateImageFunc                                                                                                createImage;
+DestroyImageFunc                                                                                       destroyImage;
+GetImageSubresourceLayoutFunc                                                          getImageSubresourceLayout;
+CreateImageViewFunc                                                                                    createImageView;
+DestroyImageViewFunc                                                                           destroyImageView;
+CreateShaderModuleFunc                                                                         createShaderModule;
+DestroyShaderModuleFunc                                                                                destroyShaderModule;
+CreatePipelineCacheFunc                                                                                createPipelineCache;
+DestroyPipelineCacheFunc                                                                       destroyPipelineCache;
+GetPipelineCacheDataFunc                                                                       getPipelineCacheData;
+MergePipelineCachesFunc                                                                                mergePipelineCaches;
+CreateGraphicsPipelinesFunc                                                                    createGraphicsPipelines;
+CreateComputePipelinesFunc                                                                     createComputePipelines;
+DestroyPipelineFunc                                                                                    destroyPipeline;
+CreatePipelineLayoutFunc                                                                       createPipelineLayout;
+DestroyPipelineLayoutFunc                                                                      destroyPipelineLayout;
+CreateSamplerFunc                                                                                      createSampler;
+DestroySamplerFunc                                                                                     destroySampler;
+CreateDescriptorSetLayoutFunc                                                          createDescriptorSetLayout;
+DestroyDescriptorSetLayoutFunc                                                         destroyDescriptorSetLayout;
+CreateDescriptorPoolFunc                                                                       createDescriptorPool;
+DestroyDescriptorPoolFunc                                                                      destroyDescriptorPool;
+ResetDescriptorPoolFunc                                                                                resetDescriptorPool;
+AllocateDescriptorSetsFunc                                                                     allocateDescriptorSets;
+FreeDescriptorSetsFunc                                                                         freeDescriptorSets;
+UpdateDescriptorSetsFunc                                                                       updateDescriptorSets;
+CreateFramebufferFunc                                                                          createFramebuffer;
+DestroyFramebufferFunc                                                                         destroyFramebuffer;
+CreateRenderPassFunc                                                                           createRenderPass;
+DestroyRenderPassFunc                                                                          destroyRenderPass;
+GetRenderAreaGranularityFunc                                                           getRenderAreaGranularity;
+CreateCommandPoolFunc                                                                          createCommandPool;
+DestroyCommandPoolFunc                                                                         destroyCommandPool;
+ResetCommandPoolFunc                                                                           resetCommandPool;
+AllocateCommandBuffersFunc                                                                     allocateCommandBuffers;
+FreeCommandBuffersFunc                                                                         freeCommandBuffers;
+BeginCommandBufferFunc                                                                         beginCommandBuffer;
+EndCommandBufferFunc                                                                           endCommandBuffer;
+ResetCommandBufferFunc                                                                         resetCommandBuffer;
+CmdBindPipelineFunc                                                                                    cmdBindPipeline;
+CmdSetViewportFunc                                                                                     cmdSetViewport;
+CmdSetScissorFunc                                                                                      cmdSetScissor;
+CmdSetLineWidthFunc                                                                                    cmdSetLineWidth;
+CmdSetDepthBiasFunc                                                                                    cmdSetDepthBias;
+CmdSetBlendConstantsFunc                                                                       cmdSetBlendConstants;
+CmdSetDepthBoundsFunc                                                                          cmdSetDepthBounds;
+CmdSetStencilCompareMaskFunc                                                           cmdSetStencilCompareMask;
+CmdSetStencilWriteMaskFunc                                                                     cmdSetStencilWriteMask;
+CmdSetStencilReferenceFunc                                                                     cmdSetStencilReference;
+CmdBindDescriptorSetsFunc                                                                      cmdBindDescriptorSets;
+CmdBindIndexBufferFunc                                                                         cmdBindIndexBuffer;
+CmdBindVertexBuffersFunc                                                                       cmdBindVertexBuffers;
+CmdDrawFunc                                                                                                    cmdDraw;
+CmdDrawIndexedFunc                                                                                     cmdDrawIndexed;
+CmdDrawIndirectFunc                                                                                    cmdDrawIndirect;
+CmdDrawIndexedIndirectFunc                                                                     cmdDrawIndexedIndirect;
+CmdDispatchFunc                                                                                                cmdDispatch;
+CmdDispatchIndirectFunc                                                                                cmdDispatchIndirect;
+CmdCopyBufferFunc                                                                                      cmdCopyBuffer;
+CmdCopyImageFunc                                                                                       cmdCopyImage;
+CmdBlitImageFunc                                                                                       cmdBlitImage;
+CmdCopyBufferToImageFunc                                                                       cmdCopyBufferToImage;
+CmdCopyImageToBufferFunc                                                                       cmdCopyImageToBuffer;
+CmdUpdateBufferFunc                                                                                    cmdUpdateBuffer;
+CmdFillBufferFunc                                                                                      cmdFillBuffer;
+CmdClearColorImageFunc                                                                         cmdClearColorImage;
+CmdClearDepthStencilImageFunc                                                          cmdClearDepthStencilImage;
+CmdClearAttachmentsFunc                                                                                cmdClearAttachments;
+CmdResolveImageFunc                                                                                    cmdResolveImage;
+CmdSetEventFunc                                                                                                cmdSetEvent;
+CmdResetEventFunc                                                                                      cmdResetEvent;
+CmdWaitEventsFunc                                                                                      cmdWaitEvents;
+CmdPipelineBarrierFunc                                                                         cmdPipelineBarrier;
+CmdBeginQueryFunc                                                                                      cmdBeginQuery;
+CmdEndQueryFunc                                                                                                cmdEndQuery;
+CmdResetQueryPoolFunc                                                                          cmdResetQueryPool;
+CmdWriteTimestampFunc                                                                          cmdWriteTimestamp;
+CmdCopyQueryPoolResultsFunc                                                                    cmdCopyQueryPoolResults;
+CmdPushConstantsFunc                                                                           cmdPushConstants;
+CmdBeginRenderPassFunc                                                                         cmdBeginRenderPass;
+CmdNextSubpassFunc                                                                                     cmdNextSubpass;
+CmdEndRenderPassFunc                                                                           cmdEndRenderPass;
+CmdExecuteCommandsFunc                                                                         cmdExecuteCommands;
+BindBufferMemory2Func                                                                          bindBufferMemory2;
+BindImageMemory2Func                                                                           bindImageMemory2;
+GetDeviceGroupPeerMemoryFeaturesFunc                                           getDeviceGroupPeerMemoryFeatures;
+CmdSetDeviceMaskFunc                                                                           cmdSetDeviceMask;
+CmdDispatchBaseFunc                                                                                    cmdDispatchBase;
+GetImageMemoryRequirements2Func                                                                getImageMemoryRequirements2;
+GetBufferMemoryRequirements2Func                                                       getBufferMemoryRequirements2;
+GetImageSparseMemoryRequirements2Func                                          getImageSparseMemoryRequirements2;
+TrimCommandPoolFunc                                                                                    trimCommandPool;
+GetDeviceQueue2Func                                                                                    getDeviceQueue2;
+CreateSamplerYcbcrConversionFunc                                                       createSamplerYcbcrConversion;
+DestroySamplerYcbcrConversionFunc                                                      destroySamplerYcbcrConversion;
+CreateDescriptorUpdateTemplateFunc                                                     createDescriptorUpdateTemplate;
+DestroyDescriptorUpdateTemplateFunc                                                    destroyDescriptorUpdateTemplate;
+UpdateDescriptorSetWithTemplateFunc                                                    updateDescriptorSetWithTemplate;
+GetDescriptorSetLayoutSupportFunc                                                      getDescriptorSetLayoutSupport;
+CmdDrawIndirectCountFunc                                                                       cmdDrawIndirectCount;
+CmdDrawIndexedIndirectCountFunc                                                                cmdDrawIndexedIndirectCount;
+CreateRenderPass2Func                                                                          createRenderPass2;
+CmdBeginRenderPass2Func                                                                                cmdBeginRenderPass2;
+CmdNextSubpass2Func                                                                                    cmdNextSubpass2;
+CmdEndRenderPass2Func                                                                          cmdEndRenderPass2;
+ResetQueryPoolFunc                                                                                     resetQueryPool;
+GetSemaphoreCounterValueFunc                                                           getSemaphoreCounterValue;
+WaitSemaphoresFunc                                                                                     waitSemaphores;
+SignalSemaphoreFunc                                                                                    signalSemaphore;
+GetBufferDeviceAddressFunc                                                                     getBufferDeviceAddress;
+GetBufferOpaqueCaptureAddressFunc                                                      getBufferOpaqueCaptureAddress;
+GetDeviceMemoryOpaqueCaptureAddressFunc                                                getDeviceMemoryOpaqueCaptureAddress;
+CreatePrivateDataSlotFunc                                                                      createPrivateDataSlot;
+DestroyPrivateDataSlotFunc                                                                     destroyPrivateDataSlot;
+SetPrivateDataFunc                                                                                     setPrivateData;
+GetPrivateDataFunc                                                                                     getPrivateData;
+CmdSetEvent2Func                                                                                       cmdSetEvent2;
+CmdResetEvent2Func                                                                                     cmdResetEvent2;
+CmdWaitEvents2Func                                                                                     cmdWaitEvents2;
+CmdPipelineBarrier2Func                                                                                cmdPipelineBarrier2;
+CmdWriteTimestamp2Func                                                                         cmdWriteTimestamp2;
+QueueSubmit2Func                                                                                       queueSubmit2;
+CmdCopyBuffer2Func                                                                                     cmdCopyBuffer2;
+CmdCopyImage2Func                                                                                      cmdCopyImage2;
+CmdCopyBufferToImage2Func                                                                      cmdCopyBufferToImage2;
+CmdCopyImageToBuffer2Func                                                                      cmdCopyImageToBuffer2;
+CmdBlitImage2Func                                                                                      cmdBlitImage2;
+CmdResolveImage2Func                                                                           cmdResolveImage2;
+CmdBeginRenderingFunc                                                                          cmdBeginRendering;
+CmdEndRenderingFunc                                                                                    cmdEndRendering;
+CmdSetCullModeFunc                                                                                     cmdSetCullMode;
+CmdSetFrontFaceFunc                                                                                    cmdSetFrontFace;
+CmdSetPrimitiveTopologyFunc                                                                    cmdSetPrimitiveTopology;
+CmdSetViewportWithCountFunc                                                                    cmdSetViewportWithCount;
+CmdSetScissorWithCountFunc                                                                     cmdSetScissorWithCount;
+CmdBindVertexBuffers2Func                                                                      cmdBindVertexBuffers2;
+CmdSetDepthTestEnableFunc                                                                      cmdSetDepthTestEnable;
+CmdSetDepthWriteEnableFunc                                                                     cmdSetDepthWriteEnable;
+CmdSetDepthCompareOpFunc                                                                       cmdSetDepthCompareOp;
+CmdSetDepthBoundsTestEnableFunc                                                                cmdSetDepthBoundsTestEnable;
+CmdSetStencilTestEnableFunc                                                                    cmdSetStencilTestEnable;
+CmdSetStencilOpFunc                                                                                    cmdSetStencilOp;
+CmdSetRasterizerDiscardEnableFunc                                                      cmdSetRasterizerDiscardEnable;
+CmdSetDepthBiasEnableFunc                                                                      cmdSetDepthBiasEnable;
+CmdSetPrimitiveRestartEnableFunc                                                       cmdSetPrimitiveRestartEnable;
+GetDeviceBufferMemoryRequirementsFunc                                          getDeviceBufferMemoryRequirements;
+GetDeviceImageMemoryRequirementsFunc                                           getDeviceImageMemoryRequirements;
+GetDeviceImageSparseMemoryRequirementsFunc                                     getDeviceImageSparseMemoryRequirements;
+CreateSwapchainKHRFunc                                                                         createSwapchainKHR;
+DestroySwapchainKHRFunc                                                                                destroySwapchainKHR;
+GetSwapchainImagesKHRFunc                                                                      getSwapchainImagesKHR;
+AcquireNextImageKHRFunc                                                                                acquireNextImageKHR;
+QueuePresentKHRFunc                                                                                    queuePresentKHR;
+GetDeviceGroupPresentCapabilitiesKHRFunc                                       getDeviceGroupPresentCapabilitiesKHR;
+GetDeviceGroupSurfacePresentModesKHRFunc                                       getDeviceGroupSurfacePresentModesKHR;
+AcquireNextImage2KHRFunc                                                                       acquireNextImage2KHR;
+CreateSharedSwapchainsKHRFunc                                                          createSharedSwapchainsKHR;
+GetMemoryFdKHRFunc                                                                                     getMemoryFdKHR;
+GetMemoryFdPropertiesKHRFunc                                                           getMemoryFdPropertiesKHR;
+ImportSemaphoreFdKHRFunc                                                                       importSemaphoreFdKHR;
+GetSemaphoreFdKHRFunc                                                                          getSemaphoreFdKHR;
+CmdPushDescriptorSetKHRFunc                                                                    cmdPushDescriptorSetKHR;
+CmdPushDescriptorSetWithTemplateKHRFunc                                                cmdPushDescriptorSetWithTemplateKHR;
+GetSwapchainStatusKHRFunc                                                                      getSwapchainStatusKHR;
+ImportFenceFdKHRFunc                                                                           importFenceFdKHR;
+GetFenceFdKHRFunc                                                                                      getFenceFdKHR;
+AcquireProfilingLockKHRFunc                                                                    acquireProfilingLockKHR;
+ReleaseProfilingLockKHRFunc                                                                    releaseProfilingLockKHR;
+CmdSetFragmentShadingRateKHRFunc                                                       cmdSetFragmentShadingRateKHR;
+WaitForPresentKHRFunc                                                                          waitForPresentKHR;
+CreateDeferredOperationKHRFunc                                                         createDeferredOperationKHR;
+DestroyDeferredOperationKHRFunc                                                                destroyDeferredOperationKHR;
+GetDeferredOperationMaxConcurrencyKHRFunc                                      getDeferredOperationMaxConcurrencyKHR;
+GetDeferredOperationResultKHRFunc                                                      getDeferredOperationResultKHR;
+DeferredOperationJoinKHRFunc                                                           deferredOperationJoinKHR;
+GetPipelineExecutablePropertiesKHRFunc                                         getPipelineExecutablePropertiesKHR;
+GetPipelineExecutableStatisticsKHRFunc                                         getPipelineExecutableStatisticsKHR;
+GetPipelineExecutableInternalRepresentationsKHRFunc                    getPipelineExecutableInternalRepresentationsKHR;
+CmdWriteBufferMarker2AMDFunc                                                           cmdWriteBufferMarker2AMD;
+GetQueueCheckpointData2NVFunc                                                          getQueueCheckpointData2NV;
+CmdTraceRaysIndirect2KHRFunc                                                           cmdTraceRaysIndirect2KHR;
+DebugMarkerSetObjectTagEXTFunc                                                         debugMarkerSetObjectTagEXT;
+DebugMarkerSetObjectNameEXTFunc                                                                debugMarkerSetObjectNameEXT;
+CmdDebugMarkerBeginEXTFunc                                                                     cmdDebugMarkerBeginEXT;
+CmdDebugMarkerEndEXTFunc                                                                       cmdDebugMarkerEndEXT;
+CmdDebugMarkerInsertEXTFunc                                                                    cmdDebugMarkerInsertEXT;
+CmdBindTransformFeedbackBuffersEXTFunc                                         cmdBindTransformFeedbackBuffersEXT;
+CmdBeginTransformFeedbackEXTFunc                                                       cmdBeginTransformFeedbackEXT;
+CmdEndTransformFeedbackEXTFunc                                                         cmdEndTransformFeedbackEXT;
+CmdBeginQueryIndexedEXTFunc                                                                    cmdBeginQueryIndexedEXT;
+CmdEndQueryIndexedEXTFunc                                                                      cmdEndQueryIndexedEXT;
+CmdDrawIndirectByteCountEXTFunc                                                                cmdDrawIndirectByteCountEXT;
+CreateCuModuleNVXFunc                                                                          createCuModuleNVX;
+CreateCuFunctionNVXFunc                                                                                createCuFunctionNVX;
+DestroyCuModuleNVXFunc                                                                         destroyCuModuleNVX;
+DestroyCuFunctionNVXFunc                                                                       destroyCuFunctionNVX;
+CmdCuLaunchKernelNVXFunc                                                                       cmdCuLaunchKernelNVX;
+GetImageViewHandleNVXFunc                                                                      getImageViewHandleNVX;
+GetImageViewAddressNVXFunc                                                                     getImageViewAddressNVX;
+CmdDrawIndirectCountAMDFunc                                                                    cmdDrawIndirectCountAMD;
+CmdDrawIndexedIndirectCountAMDFunc                                                     cmdDrawIndexedIndirectCountAMD;
+GetShaderInfoAMDFunc                                                                           getShaderInfoAMD;
+CmdBeginConditionalRenderingEXTFunc                                                    cmdBeginConditionalRenderingEXT;
+CmdEndConditionalRenderingEXTFunc                                                      cmdEndConditionalRenderingEXT;
+CmdSetViewportWScalingNVFunc                                                           cmdSetViewportWScalingNV;
+DisplayPowerControlEXTFunc                                                                     displayPowerControlEXT;
+RegisterDeviceEventEXTFunc                                                                     registerDeviceEventEXT;
+RegisterDisplayEventEXTFunc                                                                    registerDisplayEventEXT;
+GetSwapchainCounterEXTFunc                                                                     getSwapchainCounterEXT;
+GetRefreshCycleDurationGOOGLEFunc                                                      getRefreshCycleDurationGOOGLE;
+GetPastPresentationTimingGOOGLEFunc                                                    getPastPresentationTimingGOOGLE;
+CmdSetDiscardRectangleEXTFunc                                                          cmdSetDiscardRectangleEXT;
+SetHdrMetadataEXTFunc                                                                          setHdrMetadataEXT;
+SetDebugUtilsObjectNameEXTFunc                                                         setDebugUtilsObjectNameEXT;
+SetDebugUtilsObjectTagEXTFunc                                                          setDebugUtilsObjectTagEXT;
+QueueBeginDebugUtilsLabelEXTFunc                                                       queueBeginDebugUtilsLabelEXT;
+QueueEndDebugUtilsLabelEXTFunc                                                         queueEndDebugUtilsLabelEXT;
+QueueInsertDebugUtilsLabelEXTFunc                                                      queueInsertDebugUtilsLabelEXT;
+CmdBeginDebugUtilsLabelEXTFunc                                                         cmdBeginDebugUtilsLabelEXT;
+CmdEndDebugUtilsLabelEXTFunc                                                           cmdEndDebugUtilsLabelEXT;
+CmdInsertDebugUtilsLabelEXTFunc                                                                cmdInsertDebugUtilsLabelEXT;
+CmdSetSampleLocationsEXTFunc                                                           cmdSetSampleLocationsEXT;
+GetImageDrmFormatModifierPropertiesEXTFunc                                     getImageDrmFormatModifierPropertiesEXT;
+CreateValidationCacheEXTFunc                                                           createValidationCacheEXT;
+DestroyValidationCacheEXTFunc                                                          destroyValidationCacheEXT;
+MergeValidationCachesEXTFunc                                                           mergeValidationCachesEXT;
+GetValidationCacheDataEXTFunc                                                          getValidationCacheDataEXT;
+CmdBindShadingRateImageNVFunc                                                          cmdBindShadingRateImageNV;
+CmdSetViewportShadingRatePaletteNVFunc                                         cmdSetViewportShadingRatePaletteNV;
+CmdSetCoarseSampleOrderNVFunc                                                          cmdSetCoarseSampleOrderNV;
+CreateAccelerationStructureNVFunc                                                      createAccelerationStructureNV;
+DestroyAccelerationStructureNVFunc                                                     destroyAccelerationStructureNV;
+GetAccelerationStructureMemoryRequirementsNVFunc                       getAccelerationStructureMemoryRequirementsNV;
+BindAccelerationStructureMemoryNVFunc                                          bindAccelerationStructureMemoryNV;
+CmdBuildAccelerationStructureNVFunc                                                    cmdBuildAccelerationStructureNV;
+CmdCopyAccelerationStructureNVFunc                                                     cmdCopyAccelerationStructureNV;
+CmdTraceRaysNVFunc                                                                                     cmdTraceRaysNV;
+CreateRayTracingPipelinesNVFunc                                                                createRayTracingPipelinesNV;
+GetRayTracingShaderGroupHandlesKHRFunc                                         getRayTracingShaderGroupHandlesKHR;
+GetRayTracingShaderGroupHandlesNVFunc                                          getRayTracingShaderGroupHandlesNV;
+GetAccelerationStructureHandleNVFunc                                           getAccelerationStructureHandleNV;
+CmdWriteAccelerationStructuresPropertiesNVFunc                         cmdWriteAccelerationStructuresPropertiesNV;
+CompileDeferredNVFunc                                                                          compileDeferredNV;
+GetMemoryHostPointerPropertiesEXTFunc                                          getMemoryHostPointerPropertiesEXT;
+CmdWriteBufferMarkerAMDFunc                                                                    cmdWriteBufferMarkerAMD;
+GetCalibratedTimestampsEXTFunc                                                         getCalibratedTimestampsEXT;
+CmdDrawMeshTasksNVFunc                                                                         cmdDrawMeshTasksNV;
+CmdDrawMeshTasksIndirectNVFunc                                                         cmdDrawMeshTasksIndirectNV;
+CmdDrawMeshTasksIndirectCountNVFunc                                                    cmdDrawMeshTasksIndirectCountNV;
+CmdSetExclusiveScissorNVFunc                                                           cmdSetExclusiveScissorNV;
+CmdSetCheckpointNVFunc                                                                         cmdSetCheckpointNV;
+GetQueueCheckpointDataNVFunc                                                           getQueueCheckpointDataNV;
+InitializePerformanceApiINTELFunc                                                      initializePerformanceApiINTEL;
+UninitializePerformanceApiINTELFunc                                                    uninitializePerformanceApiINTEL;
+CmdSetPerformanceMarkerINTELFunc                                                       cmdSetPerformanceMarkerINTEL;
+CmdSetPerformanceStreamMarkerINTELFunc                                         cmdSetPerformanceStreamMarkerINTEL;
+CmdSetPerformanceOverrideINTELFunc                                                     cmdSetPerformanceOverrideINTEL;
+AcquirePerformanceConfigurationINTELFunc                                       acquirePerformanceConfigurationINTEL;
+ReleasePerformanceConfigurationINTELFunc                                       releasePerformanceConfigurationINTEL;
+QueueSetPerformanceConfigurationINTELFunc                                      queueSetPerformanceConfigurationINTEL;
+GetPerformanceParameterINTELFunc                                                       getPerformanceParameterINTEL;
+SetLocalDimmingAMDFunc                                                                         setLocalDimmingAMD;
+GetBufferDeviceAddressEXTFunc                                                          getBufferDeviceAddressEXT;
+CmdSetLineStippleEXTFunc                                                                       cmdSetLineStippleEXT;
+GetGeneratedCommandsMemoryRequirementsNVFunc                           getGeneratedCommandsMemoryRequirementsNV;
+CmdPreprocessGeneratedCommandsNVFunc                                           cmdPreprocessGeneratedCommandsNV;
+CmdExecuteGeneratedCommandsNVFunc                                                      cmdExecuteGeneratedCommandsNV;
+CmdBindPipelineShaderGroupNVFunc                                                       cmdBindPipelineShaderGroupNV;
+CreateIndirectCommandsLayoutNVFunc                                                     createIndirectCommandsLayoutNV;
+DestroyIndirectCommandsLayoutNVFunc                                                    destroyIndirectCommandsLayoutNV;
+GetDescriptorSetLayoutSizeEXTFunc                                                      getDescriptorSetLayoutSizeEXT;
+GetDescriptorSetLayoutBindingOffsetEXTFunc                                     getDescriptorSetLayoutBindingOffsetEXT;
+GetDescriptorEXTFunc                                                                           getDescriptorEXT;
+CmdBindDescriptorBuffersEXTFunc                                                                cmdBindDescriptorBuffersEXT;
+CmdSetDescriptorBufferOffsetsEXTFunc                                           cmdSetDescriptorBufferOffsetsEXT;
+CmdBindDescriptorBufferEmbeddedSamplersEXTFunc                         cmdBindDescriptorBufferEmbeddedSamplersEXT;
+GetBufferOpaqueCaptureDescriptorDataEXTFunc                                    getBufferOpaqueCaptureDescriptorDataEXT;
+GetImageOpaqueCaptureDescriptorDataEXTFunc                                     getImageOpaqueCaptureDescriptorDataEXT;
+GetImageViewOpaqueCaptureDescriptorDataEXTFunc                         getImageViewOpaqueCaptureDescriptorDataEXT;
+GetSamplerOpaqueCaptureDescriptorDataEXTFunc                           getSamplerOpaqueCaptureDescriptorDataEXT;
+GetAccelerationStructureOpaqueCaptureDescriptorDataEXTFunc     getAccelerationStructureOpaqueCaptureDescriptorDataEXT;
+CmdSetFragmentShadingRateEnumNVFunc                                                    cmdSetFragmentShadingRateEnumNV;
+GetImageSubresourceLayout2EXTFunc                                                      getImageSubresourceLayout2EXT;
+CmdSetVertexInputEXTFunc                                                                       cmdSetVertexInputEXT;
+GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc                      getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
+CmdSubpassShadingHUAWEIFunc                                                                    cmdSubpassShadingHUAWEI;
+CmdBindInvocationMaskHUAWEIFunc                                                                cmdBindInvocationMaskHUAWEI;
+GetMemoryRemoteAddressNVFunc                                                           getMemoryRemoteAddressNV;
+GetPipelinePropertiesEXTFunc                                                           getPipelinePropertiesEXT;
+CmdSetPatchControlPointsEXTFunc                                                                cmdSetPatchControlPointsEXT;
+CmdSetLogicOpEXTFunc                                                                           cmdSetLogicOpEXT;
+CmdSetColorWriteEnableEXTFunc                                                          cmdSetColorWriteEnableEXT;
+CmdDrawMultiEXTFunc                                                                                    cmdDrawMultiEXT;
+CmdDrawMultiIndexedEXTFunc                                                                     cmdDrawMultiIndexedEXT;
+SetDeviceMemoryPriorityEXTFunc                                                         setDeviceMemoryPriorityEXT;
+GetDescriptorSetLayoutHostMappingInfoVALVEFunc                         getDescriptorSetLayoutHostMappingInfoVALVE;
+GetDescriptorSetHostMappingVALVEFunc                                           getDescriptorSetHostMappingVALVE;
+CreateAccelerationStructureKHRFunc                                                     createAccelerationStructureKHR;
+DestroyAccelerationStructureKHRFunc                                                    destroyAccelerationStructureKHR;
+CmdBuildAccelerationStructuresKHRFunc                                          cmdBuildAccelerationStructuresKHR;
+CmdBuildAccelerationStructuresIndirectKHRFunc                          cmdBuildAccelerationStructuresIndirectKHR;
+BuildAccelerationStructuresKHRFunc                                                     buildAccelerationStructuresKHR;
+CopyAccelerationStructureKHRFunc                                                       copyAccelerationStructureKHR;
+CopyAccelerationStructureToMemoryKHRFunc                                       copyAccelerationStructureToMemoryKHR;
+CopyMemoryToAccelerationStructureKHRFunc                                       copyMemoryToAccelerationStructureKHR;
+WriteAccelerationStructuresPropertiesKHRFunc                           writeAccelerationStructuresPropertiesKHR;
+CmdCopyAccelerationStructureKHRFunc                                                    cmdCopyAccelerationStructureKHR;
+CmdCopyAccelerationStructureToMemoryKHRFunc                                    cmdCopyAccelerationStructureToMemoryKHR;
+CmdCopyMemoryToAccelerationStructureKHRFunc                                    cmdCopyMemoryToAccelerationStructureKHR;
+GetAccelerationStructureDeviceAddressKHRFunc                           getAccelerationStructureDeviceAddressKHR;
+CmdWriteAccelerationStructuresPropertiesKHRFunc                                cmdWriteAccelerationStructuresPropertiesKHR;
+GetDeviceAccelerationStructureCompatibilityKHRFunc                     getDeviceAccelerationStructureCompatibilityKHR;
+GetAccelerationStructureBuildSizesKHRFunc                                      getAccelerationStructureBuildSizesKHR;
+CmdTraceRaysKHRFunc                                                                                    cmdTraceRaysKHR;
+CreateRayTracingPipelinesKHRFunc                                                       createRayTracingPipelinesKHR;
+GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc                    getRayTracingCaptureReplayShaderGroupHandlesKHR;
+CmdTraceRaysIndirectKHRFunc                                                                    cmdTraceRaysIndirectKHR;
+GetRayTracingShaderGroupStackSizeKHRFunc                                       getRayTracingShaderGroupStackSizeKHR;
+CmdSetRayTracingPipelineStackSizeKHRFunc                                       cmdSetRayTracingPipelineStackSizeKHR;
+GetAndroidHardwareBufferPropertiesANDROIDFunc                          getAndroidHardwareBufferPropertiesANDROID;
+GetMemoryAndroidHardwareBufferANDROIDFunc                                      getMemoryAndroidHardwareBufferANDROID;
+CreateVideoSessionKHRFunc                                                                      createVideoSessionKHR;
+DestroyVideoSessionKHRFunc                                                                     destroyVideoSessionKHR;
+GetVideoSessionMemoryRequirementsKHRFunc                                       getVideoSessionMemoryRequirementsKHR;
+BindVideoSessionMemoryKHRFunc                                                          bindVideoSessionMemoryKHR;
+CreateVideoSessionParametersKHRFunc                                                    createVideoSessionParametersKHR;
+UpdateVideoSessionParametersKHRFunc                                                    updateVideoSessionParametersKHR;
+DestroyVideoSessionParametersKHRFunc                                           destroyVideoSessionParametersKHR;
+CmdBeginVideoCodingKHRFunc                                                                     cmdBeginVideoCodingKHR;
+CmdEndVideoCodingKHRFunc                                                                       cmdEndVideoCodingKHR;
+CmdControlVideoCodingKHRFunc                                                           cmdControlVideoCodingKHR;
+CmdDecodeVideoKHRFunc                                                                          cmdDecodeVideoKHR;
+CmdEncodeVideoKHRFunc                                                                          cmdEncodeVideoKHR;
+GetMemoryZirconHandleFUCHSIAFunc                                                       getMemoryZirconHandleFUCHSIA;
+GetMemoryZirconHandlePropertiesFUCHSIAFunc                                     getMemoryZirconHandlePropertiesFUCHSIA;
+ImportSemaphoreZirconHandleFUCHSIAFunc                                         importSemaphoreZirconHandleFUCHSIA;
+GetSemaphoreZirconHandleFUCHSIAFunc                                                    getSemaphoreZirconHandleFUCHSIA;
+CreateBufferCollectionFUCHSIAFunc                                                      createBufferCollectionFUCHSIA;
+SetBufferCollectionImageConstraintsFUCHSIAFunc                         setBufferCollectionImageConstraintsFUCHSIA;
+SetBufferCollectionBufferConstraintsFUCHSIAFunc                                setBufferCollectionBufferConstraintsFUCHSIA;
+DestroyBufferCollectionFUCHSIAFunc                                                     destroyBufferCollectionFUCHSIA;
+GetBufferCollectionPropertiesFUCHSIAFunc                                       getBufferCollectionPropertiesFUCHSIA;
+GetMemoryWin32HandleKHRFunc                                                                    getMemoryWin32HandleKHR;
+GetMemoryWin32HandlePropertiesKHRFunc                                          getMemoryWin32HandlePropertiesKHR;
+ImportSemaphoreWin32HandleKHRFunc                                                      importSemaphoreWin32HandleKHR;
+GetSemaphoreWin32HandleKHRFunc                                                         getSemaphoreWin32HandleKHR;
+ImportFenceWin32HandleKHRFunc                                                          importFenceWin32HandleKHR;
+GetFenceWin32HandleKHRFunc                                                                     getFenceWin32HandleKHR;
+GetMemoryWin32HandleNVFunc                                                                     getMemoryWin32HandleNV;
+AcquireFullScreenExclusiveModeEXTFunc                                          acquireFullScreenExclusiveModeEXT;
+ReleaseFullScreenExclusiveModeEXTFunc                                          releaseFullScreenExclusiveModeEXT;
+GetDeviceGroupSurfacePresentModes2EXTFunc                                      getDeviceGroupSurfacePresentModes2EXT;
index 9a40c0f..79136ca 100644 (file)
@@ -13,6 +13,8 @@ namespace vk
 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
+#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
+#define DECL_EXT_DESCRIPTOR_BUFFER_DENSITY_MAP_EXTENSION_NAME "core_property"
 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
@@ -23,6 +25,7 @@ namespace vk
 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
@@ -231,6 +234,7 @@ template<> void initPropertyFromBlob<VkPhysicalDevicePushDescriptorPropertiesKHR
 template<> void initPropertyFromBlob<VkPhysicalDevicePerformanceQueryPropertiesKHR>(VkPhysicalDevicePerformanceQueryPropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>(VkPhysicalDeviceFragmentShadingRatePropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>(VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceTransformFeedbackPropertiesEXT>(VkPhysicalDeviceTransformFeedbackPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX>(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceDiscardRectanglePropertiesEXT>(VkPhysicalDeviceDiscardRectanglePropertiesEXT&, const AllPropertiesBlobs&) {}
@@ -254,11 +258,14 @@ template<> void initPropertyFromBlob<VkPhysicalDeviceLineRasterizationProperties
 template<> void initPropertyFromBlob<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceRobustness2PropertiesEXT>(VkPhysicalDeviceRobustness2PropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceCustomBorderColorPropertiesEXT>(VkPhysicalDeviceCustomBorderColorPropertiesEXT&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceDescriptorBufferPropertiesEXT>(VkPhysicalDeviceDescriptorBufferPropertiesEXT&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>(VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>(VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceDrmPropertiesEXT>(VkPhysicalDeviceDrmPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&, const AllPropertiesBlobs&) {}
+template<> void initPropertyFromBlob<VkPhysicalDevicePipelinePropertiesFeaturesEXT>(VkPhysicalDevicePipelinePropertiesFeaturesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceMultiDrawPropertiesEXT>(VkPhysicalDeviceMultiDrawPropertiesEXT&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>(VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&, const AllPropertiesBlobs&) {}
 template<> void initPropertyFromBlob<VkPhysicalDeviceAccelerationStructurePropertiesKHR>(VkPhysicalDeviceAccelerationStructurePropertiesKHR&, const AllPropertiesBlobs&) {}
@@ -266,22 +273,25 @@ template<> void initPropertyFromBlob<VkPhysicalDeviceRayTracingPipelinePropertie
 template<> void initPropertyFromBlob<VkPhysicalDevicePortabilitySubsetPropertiesKHR>(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {}
 
 
-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, 50}; }
-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, 49}; }
-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, 48}; }
-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, 47}; }
-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, 46}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 45}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 44}; }
-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, 43}; }
-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, 42}; }
-template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 41}; }
-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, 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<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 38}; }
-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, 37}; }
-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, 36}; }
-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, 35}; }
+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, 53}; }
+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, 52}; }
+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, 51}; }
+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, 50}; }
+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, 49}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDepthStencilResolveProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 48}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorBufferPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT, VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME, VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION, 47}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT, DECL_EXT_DESCRIPTOR_BUFFER_DENSITY_MAP_EXTENSION_NAME, 0, 46}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDescriptorIndexingProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 45}; }
+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, 44}; }
+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, 43}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceDriverProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 42}; }
+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, 41}; }
+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, 40}; }
+template<> PropertyDesc makePropertyDesc<VkPhysicalDeviceFloatControlsProperties>(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 39}; }
+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, 38}; }
+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, 37}; }
+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, 36}; }
+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, 35}; }
 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, 34}; }
 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, 33}; }
 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, 32}; }
@@ -326,6 +336,8 @@ static const PropertyStructCreationData propertyStructCreationArray[] =
        { createPropertyStructWrapper<VkPhysicalDeviceCooperativeMatrixPropertiesNV>, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceCustomBorderColorPropertiesEXT>, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceDepthStencilResolveProperties>, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceDescriptorBufferPropertiesEXT>, VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME, VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>, DECL_EXT_DESCRIPTOR_BUFFER_DENSITY_MAP_EXTENSION_NAME, 0 },
        { createPropertyStructWrapper<VkPhysicalDeviceDescriptorIndexingProperties>, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceDiscardRectanglePropertiesEXT>, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION },
@@ -336,6 +348,7 @@ static const PropertyStructCreationData propertyStructCreationArray[] =
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME, VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION },
+       { createPropertyStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION },
        { createPropertyStructWrapper<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME, VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION },
index 0bfe76d..f42a174 100644 (file)
@@ -9,6 +9,8 @@ const vk::VkPhysicalDeviceConservativeRasterizationPropertiesEXT&       getConservativ
 const vk::VkPhysicalDeviceCooperativeMatrixPropertiesNV&                       getCooperativeMatrixProperties                          (void) const;
 const vk::VkPhysicalDeviceCustomBorderColorPropertiesEXT&                      getCustomBorderColorPropertiesEXT                       (void) const;
 const vk::VkPhysicalDeviceDepthStencilResolveProperties&                       getDepthStencilResolveProperties                        (void) const;
+const vk::VkPhysicalDeviceDescriptorBufferPropertiesEXT&                       getDescriptorBufferPropertiesEXT                        (void) const;
+const vk::VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT&     getDescriptorBufferDensityMapPropertiesEXT      (void) const;
 const vk::VkPhysicalDeviceDescriptorIndexingProperties&                                getDescriptorIndexingProperties                         (void) const;
 const vk::VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV&         getDeviceGeneratedCommandsProperties            (void) const;
 const vk::VkPhysicalDeviceDiscardRectanglePropertiesEXT&                       getDiscardRectanglePropertiesEXT                        (void) const;
@@ -19,6 +21,7 @@ const vk::VkPhysicalDeviceFloatControlsProperties&                                    getFloatControlsPropertie
 const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT&                     getFragmentDensityMapPropertiesEXT                      (void) const;
 const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&                    getFragmentDensityMap2PropertiesEXT                     (void) const;
 const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&      getFragmentDensityMapOffsetPropertiesQCOM       (void) const;
+const vk::VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&      getFragmentShaderBarycentricProperties          (void) const;
 const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR&                    getFragmentShadingRateProperties                        (void) const;
 const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV&                getFragmentShadingRateEnumsProperties           (void) const;
 const vk::VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT&                getGraphicsPipelineLibraryPropertiesEXT         (void) const;
index 6529437..45a63d6 100644 (file)
@@ -9,6 +9,8 @@ const vk::VkPhysicalDeviceConservativeRasterizationPropertiesEXT&       Context::getCo
 const vk::VkPhysicalDeviceCooperativeMatrixPropertiesNV&                       Context::getCooperativeMatrixProperties                         (void) const { return m_device->getCooperativeMatrixProperties();                               }
 const vk::VkPhysicalDeviceCustomBorderColorPropertiesEXT&                      Context::getCustomBorderColorPropertiesEXT                      (void) const { return m_device->getCustomBorderColorPropertiesEXT();                    }
 const vk::VkPhysicalDeviceDepthStencilResolveProperties&                       Context::getDepthStencilResolveProperties                       (void) const { return m_device->getDepthStencilResolveProperties();                             }
+const vk::VkPhysicalDeviceDescriptorBufferPropertiesEXT&                       Context::getDescriptorBufferPropertiesEXT                       (void) const { return m_device->getDescriptorBufferPropertiesEXT();                             }
+const vk::VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT&     Context::getDescriptorBufferDensityMapPropertiesEXT     (void) const { return m_device->getDescriptorBufferDensityMapPropertiesEXT();   }
 const vk::VkPhysicalDeviceDescriptorIndexingProperties&                                Context::getDescriptorIndexingProperties                        (void) const { return m_device->getDescriptorIndexingProperties();                              }
 const vk::VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV&         Context::getDeviceGeneratedCommandsProperties           (void) const { return m_device->getDeviceGeneratedCommandsProperties();                 }
 const vk::VkPhysicalDeviceDiscardRectanglePropertiesEXT&                       Context::getDiscardRectanglePropertiesEXT                       (void) const { return m_device->getDiscardRectanglePropertiesEXT();                             }
@@ -19,6 +21,7 @@ const vk::VkPhysicalDeviceFloatControlsProperties&                                    Context::getFloatControls
 const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT&                     Context::getFragmentDensityMapPropertiesEXT                     (void) const { return m_device->getFragmentDensityMapPropertiesEXT();                   }
 const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&                    Context::getFragmentDensityMap2PropertiesEXT            (void) const { return m_device->getFragmentDensityMap2PropertiesEXT();                  }
 const vk::VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&      Context::getFragmentDensityMapOffsetPropertiesQCOM      (void) const { return m_device->getFragmentDensityMapOffsetPropertiesQCOM();    }
+const vk::VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&      Context::getFragmentShaderBarycentricProperties         (void) const { return m_device->getFragmentShaderBarycentricProperties();               }
 const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR&                    Context::getFragmentShadingRateProperties                       (void) const { return m_device->getFragmentShadingRateProperties();                             }
 const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV&                Context::getFragmentShadingRateEnumsProperties          (void) const { return m_device->getFragmentShadingRateEnumsProperties();                }
 const vk::VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT&                Context::getGraphicsPipelineLibraryPropertiesEXT        (void) const { return m_device->getGraphicsPipelineLibraryPropertiesEXT();              }
index 3924900..6b4947b 100644 (file)
@@ -9,6 +9,8 @@ const VkPhysicalDeviceConservativeRasterizationPropertiesEXT&   getConservativeRas
 const VkPhysicalDeviceCooperativeMatrixPropertiesNV&                   getCooperativeMatrixProperties                          (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceCooperativeMatrixPropertiesNV>();                              }
 const VkPhysicalDeviceCustomBorderColorPropertiesEXT&                  getCustomBorderColorPropertiesEXT                       (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceCustomBorderColorPropertiesEXT>();                             }
 const VkPhysicalDeviceDepthStencilResolveProperties&                   getDepthStencilResolveProperties                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDepthStencilResolveProperties>();                              }
+const VkPhysicalDeviceDescriptorBufferPropertiesEXT&                   getDescriptorBufferPropertiesEXT                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDescriptorBufferPropertiesEXT>();                              }
+const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& getDescriptorBufferDensityMapPropertiesEXT      (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>();    }
 const VkPhysicalDeviceDescriptorIndexingProperties&                            getDescriptorIndexingProperties                         (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDescriptorIndexingProperties>();                               }
 const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV&             getDeviceGeneratedCommandsProperties            (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>();                }
 const VkPhysicalDeviceDiscardRectanglePropertiesEXT&                   getDiscardRectanglePropertiesEXT                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceDiscardRectanglePropertiesEXT>();                              }
@@ -19,6 +21,7 @@ const VkPhysicalDeviceFloatControlsProperties&                                        getFloatControlsProperties
 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT&                 getFragmentDensityMapPropertiesEXT                      (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapPropertiesEXT>();                    }
 const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&                        getFragmentDensityMap2PropertiesEXT                     (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT>();                   }
 const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM&  getFragmentDensityMapOffsetPropertiesQCOM       (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>();             }
+const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR&  getFragmentShaderBarycentricProperties          (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>();             }
 const VkPhysicalDeviceFragmentShadingRatePropertiesKHR&                        getFragmentShadingRateProperties                        (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>();                   }
 const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV&            getFragmentShadingRateEnumsProperties           (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV>();               }
 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT&            getGraphicsPipelineLibraryPropertiesEXT         (void) const { return m_deviceProperties.getPropertyType<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>();               }
index 62bf322..e6cd563 100644 (file)
@@ -316,6 +316,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_KHR_fragment_shader_barycentric")
+       {
+               return;
+       }
        if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
        {
                return;
@@ -336,6 +340,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_KHR_ray_tracing_maintenance1")
+       {
+               return;
+       }
        if (extName == "VK_KHR_portability_enumeration")
        {
                return;
@@ -885,10 +893,18 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_descriptor_buffer")
+       {
+               return;
+       }
        if (extName == "VK_EXT_graphics_pipeline_library")
        {
                return;
        }
+       if (extName == "VK_AMD_shader_early_and_late_fragment_tests")
+       {
+               return;
+       }
        if (extName == "VK_NV_fragment_shading_rate_enums")
        {
                return;
@@ -913,6 +929,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control")
+       {
+               return;
+       }
        if (extName == "VK_EXT_4444_formats")
        {
                return;
@@ -963,6 +983,10 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_pipeline_properties")
+       {
+               return;
+       }
        if (extName == "VK_EXT_extended_dynamic_state2")
        {
                return;
@@ -1019,6 +1043,14 @@ void getInstanceExtensionFunctions (uint32_t apiVersion, ::std::string extName,
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control_swapchain")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_subpass_merge_feedback")
+       {
+               return;
+       }
        if (extName == "VK_KHR_acceleration_structure")
        {
                return;
@@ -1528,6 +1560,10 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
                functions.push_back("vkQueueSubmit2KHR");
                return;
        }
+       if (extName == "VK_KHR_fragment_shader_barycentric")
+       {
+               return;
+       }
        if (extName == "VK_KHR_shader_subgroup_uniform_control_flow")
        {
                return;
@@ -1554,6 +1590,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_KHR_ray_tracing_maintenance1")
+       {
+               functions.push_back("vkCmdTraceRaysIndirect2KHR");
+               return;
+       }
        if (extName == "VK_KHR_portability_enumeration")
        {
                return;
@@ -2194,10 +2235,29 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_descriptor_buffer")
+       {
+               functions.push_back("vkGetDescriptorSetLayoutSizeEXT");
+               functions.push_back("vkGetDescriptorSetLayoutBindingOffsetEXT");
+               functions.push_back("vkGetDescriptorEXT");
+               functions.push_back("vkCmdBindDescriptorBuffersEXT");
+               functions.push_back("vkCmdSetDescriptorBufferOffsetsEXT");
+               functions.push_back("vkCmdBindDescriptorBufferEmbeddedSamplersEXT");
+               functions.push_back("vkGetBufferOpaqueCaptureDescriptorDataEXT");
+               functions.push_back("vkGetImageOpaqueCaptureDescriptorDataEXT");
+               functions.push_back("vkGetImageViewOpaqueCaptureDescriptorDataEXT");
+               functions.push_back("vkGetSamplerOpaqueCaptureDescriptorDataEXT");
+               functions.push_back("vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT");
+               return;
+       }
        if (extName == "VK_EXT_graphics_pipeline_library")
        {
                return;
        }
+       if (extName == "VK_AMD_shader_early_and_late_fragment_tests")
+       {
+               return;
+       }
        if (extName == "VK_NV_fragment_shading_rate_enums")
        {
                functions.push_back("vkCmdSetFragmentShadingRateEnumNV");
@@ -2223,6 +2283,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control")
+       {
+               functions.push_back("vkGetImageSubresourceLayout2EXT");
+               return;
+       }
        if (extName == "VK_EXT_4444_formats")
        {
                return;
@@ -2276,6 +2341,11 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
                functions.push_back("vkGetMemoryRemoteAddressNV");
                return;
        }
+       if (extName == "VK_EXT_pipeline_properties")
+       {
+               functions.push_back("vkGetPipelinePropertiesEXT");
+               return;
+       }
        if (extName == "VK_EXT_extended_dynamic_state2")
        {
                functions.push_back("vkCmdSetPatchControlPointsEXT");
@@ -2343,6 +2413,14 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        {
                return;
        }
+       if (extName == "VK_EXT_image_compression_control_swapchain")
+       {
+               return;
+       }
+       if (extName == "VK_EXT_subpass_merge_feedback")
+       {
+               return;
+       }
        if (extName == "VK_KHR_acceleration_structure")
        {
                functions.push_back("vkCreateAccelerationStructureKHR");
@@ -2607,6 +2685,7 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_KHR_pipeline_executable_properties",
        "VK_KHR_synchronization2",
        "VK_KHR_copy_commands2",
+       "VK_KHR_ray_tracing_maintenance1",
        "VK_KHR_maintenance4",
        "VK_EXT_debug_marker",
        "VK_EXT_transform_feedback",
@@ -2639,11 +2718,14 @@ void getDeviceExtensionFunctions (uint32_t apiVersion, ::std::string extName, ::
        "VK_EXT_extended_dynamic_state",
        "VK_NV_device_generated_commands",
        "VK_EXT_private_data",
+       "VK_EXT_descriptor_buffer",
        "VK_NV_fragment_shading_rate_enums",
+       "VK_EXT_image_compression_control",
        "VK_EXT_vertex_input_dynamic_state",
        "VK_HUAWEI_subpass_shading",
        "VK_HUAWEI_invocation_mask",
        "VK_NV_external_memory_rdma",
+       "VK_EXT_pipeline_properties",
        "VK_EXT_extended_dynamic_state2",
        "VK_EXT_color_write_enable",
        "VK_EXT_multi_draw",
index cac9da0..657e899 100644 (file)
@@ -324,6 +324,7 @@ typedef VKAPI_ATTR void                                     (VKAPI_CALL* CmdCopyBufferToImage2KHRFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdCopyImageToBuffer2KHRFunc)                                                                                      (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBlitImage2KHRFunc)                                                                                                      (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdResolveImage2KHRFunc)                                                                                           (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdTraceRaysIndirect2KHRFunc)                                                                                      (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceBufferMemoryRequirementsKHRFunc)                                                          (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceImageMemoryRequirementsKHRFunc)                                                           (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetDeviceImageSparseMemoryRequirementsKHRFunc)                                                     (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
@@ -450,7 +451,19 @@ typedef VKAPI_ATTR VkResult                                (VKAPI_CALL* CreatePrivateDataSlotEXTFunc)
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* DestroyPrivateDataSlotEXTFunc)                                                                                     (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* SetPrivateDataEXTFunc)                                                                                                     (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetPrivateDataEXTFunc)                                                                                                     (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetDescriptorSetLayoutSizeEXTFunc)                                                                         (VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetDescriptorSetLayoutBindingOffsetEXTFunc)                                                        (VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetDescriptorEXTFunc)                                                                                                      (VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, void* pDescriptor);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBindDescriptorBuffersEXTFunc)                                                                           (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetDescriptorBufferOffsetsEXTFunc)                                                                      (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBindDescriptorBufferEmbeddedSamplersEXTFunc)                                            (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetBufferOpaqueCaptureDescriptorDataEXTFunc)                                                       (VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetImageOpaqueCaptureDescriptorDataEXTFunc)                                                        (VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetImageViewOpaqueCaptureDescriptorDataEXTFunc)                                            (VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetSamplerOpaqueCaptureDescriptorDataEXTFunc)                                                      (VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetAccelerationStructureOpaqueCaptureDescriptorDataEXTFunc)                        (VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetFragmentShadingRateEnumNVFunc)                                                                       (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
+typedef VKAPI_ATTR void                                        (VKAPI_CALL* GetImageSubresourceLayout2EXTFunc)                                                                         (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* AcquireWinrtDisplayNVFunc)                                                                                         (VkPhysicalDevice physicalDevice, VkDisplayKHR display);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetWinrtDisplayNVFunc)                                                                                                     (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetVertexInputEXTFunc)                                                                                          (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
@@ -458,6 +471,7 @@ typedef VKAPI_ATTR VkResult                         (VKAPI_CALL* GetDeviceSubpassShadingMaxWorkgroupS
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSubpassShadingHUAWEIFunc)                                                                                       (VkCommandBuffer commandBuffer);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdBindInvocationMaskHUAWEIFunc)                                                                           (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
 typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetMemoryRemoteAddressNVFunc)                                                                                      (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
+typedef VKAPI_ATTR VkResult                            (VKAPI_CALL* GetPipelinePropertiesEXTFunc)                                                                                      (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetPatchControlPointsEXTFunc)                                                                           (VkCommandBuffer commandBuffer, uint32_t patchControlPoints);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetRasterizerDiscardEnableEXTFunc)                                                                      (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
 typedef VKAPI_ATTR void                                        (VKAPI_CALL* CmdSetDepthBiasEnableEXTFunc)                                                                                      (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
index 58117fd..6aee472 100644 (file)
@@ -1383,6 +1383,16 @@ template<> VkStructureType getStructureType<VkCheckpointData2NV> (void)
        return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR;
@@ -1393,6 +1403,11 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceWorkgroupMemoryExpli
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR;
+}
+
 template<> VkStructureType getStructureType<VkDebugReportCallbackCreateInfoEXT> (void)
 {
        return VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
@@ -1888,11 +1903,6 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceMeshShaderProperties
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
 }
 
-template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV> (void)
-{
-       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV;
-}
-
 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
@@ -2243,6 +2253,66 @@ template<> VkStructureType getStructureType<VkDeviceDiagnosticsConfigCreateInfoN
        return VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorBufferPropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorBufferFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorAddressInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorBufferBindingInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkDescriptorGetInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkBufferCaptureDescriptorDataInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageCaptureDescriptorDataInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageViewCaptureDescriptorDataInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkSamplerCaptureDescriptorDataInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkAccelerationStructureCaptureDescriptorDataInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkOpaqueCaptureDescriptorDataCreateInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT;
@@ -2258,6 +2328,11 @@ template<> VkStructureType getStructureType<VkGraphicsPipelineLibraryCreateInfoE
        return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
@@ -2308,6 +2383,31 @@ template<> VkStructureType getStructureType<VkCopyCommandTransformInfoQCOM> (voi
        return VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageCompressionControlEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT;
+}
+
+template<> VkStructureType getStructureType<VkSubresourceLayout2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageSubresource2EXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT;
+}
+
+template<> VkStructureType getStructureType<VkImageCompressionPropertiesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDevice4444FormatsFeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
@@ -2398,6 +2498,16 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceExternalMemoryRDMAFe
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV;
 }
 
+template<> VkStructureType getStructureType<VkPipelinePropertiesIdentifierEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT;
+}
+
 template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT> (void)
 {
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT;
@@ -2493,6 +2603,31 @@ template<> VkStructureType getStructureType<VkPhysicalDeviceLinearColorAttachmen
        return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV;
 }
 
+template<> VkStructureType getStructureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT;
+}
+
+template<> VkStructureType getStructureType<VkRenderPassCreationControlEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT;
+}
+
+template<> VkStructureType getStructureType<VkRenderPassCreationFeedbackInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT;
+}
+
+template<> VkStructureType getStructureType<VkRenderPassSubpassFeedbackInfoEXT> (void)
+{
+       return VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT;
+}
+
 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryTrianglesDataKHR> (void)
 {
        return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
index 70cf9f8..1bb5608 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-m_vk.getDeviceProcAddr                                                                 = (GetDeviceProcAddrFunc)                                                               GET_PROC_ADDR("vkGetDeviceProcAddr");
-m_vk.destroyDevice                                                                             = (DestroyDeviceFunc)                                                                   GET_PROC_ADDR("vkDestroyDevice");
-m_vk.getDeviceQueue                                                                            = (GetDeviceQueueFunc)                                                                  GET_PROC_ADDR("vkGetDeviceQueue");
-m_vk.queueSubmit                                                                               = (QueueSubmitFunc)                                                                             GET_PROC_ADDR("vkQueueSubmit");
-m_vk.queueWaitIdle                                                                             = (QueueWaitIdleFunc)                                                                   GET_PROC_ADDR("vkQueueWaitIdle");
-m_vk.deviceWaitIdle                                                                            = (DeviceWaitIdleFunc)                                                                  GET_PROC_ADDR("vkDeviceWaitIdle");
-m_vk.allocateMemory                                                                            = (AllocateMemoryFunc)                                                                  GET_PROC_ADDR("vkAllocateMemory");
-m_vk.freeMemory                                                                                        = (FreeMemoryFunc)                                                                              GET_PROC_ADDR("vkFreeMemory");
-m_vk.mapMemory                                                                                 = (MapMemoryFunc)                                                                               GET_PROC_ADDR("vkMapMemory");
-m_vk.unmapMemory                                                                               = (UnmapMemoryFunc)                                                                             GET_PROC_ADDR("vkUnmapMemory");
-m_vk.flushMappedMemoryRanges                                                   = (FlushMappedMemoryRangesFunc)                                                 GET_PROC_ADDR("vkFlushMappedMemoryRanges");
-m_vk.invalidateMappedMemoryRanges                                              = (InvalidateMappedMemoryRangesFunc)                                    GET_PROC_ADDR("vkInvalidateMappedMemoryRanges");
-m_vk.getDeviceMemoryCommitment                                                 = (GetDeviceMemoryCommitmentFunc)                                               GET_PROC_ADDR("vkGetDeviceMemoryCommitment");
-m_vk.bindBufferMemory                                                                  = (BindBufferMemoryFunc)                                                                GET_PROC_ADDR("vkBindBufferMemory");
-m_vk.bindImageMemory                                                                   = (BindImageMemoryFunc)                                                                 GET_PROC_ADDR("vkBindImageMemory");
-m_vk.getBufferMemoryRequirements                                               = (GetBufferMemoryRequirementsFunc)                                             GET_PROC_ADDR("vkGetBufferMemoryRequirements");
-m_vk.getImageMemoryRequirements                                                        = (GetImageMemoryRequirementsFunc)                                              GET_PROC_ADDR("vkGetImageMemoryRequirements");
-m_vk.getImageSparseMemoryRequirements                                  = (GetImageSparseMemoryRequirementsFunc)                                GET_PROC_ADDR("vkGetImageSparseMemoryRequirements");
-m_vk.queueBindSparse                                                                   = (QueueBindSparseFunc)                                                                 GET_PROC_ADDR("vkQueueBindSparse");
-m_vk.createFence                                                                               = (CreateFenceFunc)                                                                             GET_PROC_ADDR("vkCreateFence");
-m_vk.destroyFence                                                                              = (DestroyFenceFunc)                                                                    GET_PROC_ADDR("vkDestroyFence");
-m_vk.resetFences                                                                               = (ResetFencesFunc)                                                                             GET_PROC_ADDR("vkResetFences");
-m_vk.getFenceStatus                                                                            = (GetFenceStatusFunc)                                                                  GET_PROC_ADDR("vkGetFenceStatus");
-m_vk.waitForFences                                                                             = (WaitForFencesFunc)                                                                   GET_PROC_ADDR("vkWaitForFences");
-m_vk.createSemaphore                                                                   = (CreateSemaphoreFunc)                                                                 GET_PROC_ADDR("vkCreateSemaphore");
-m_vk.destroySemaphore                                                                  = (DestroySemaphoreFunc)                                                                GET_PROC_ADDR("vkDestroySemaphore");
-m_vk.createEvent                                                                               = (CreateEventFunc)                                                                             GET_PROC_ADDR("vkCreateEvent");
-m_vk.destroyEvent                                                                              = (DestroyEventFunc)                                                                    GET_PROC_ADDR("vkDestroyEvent");
-m_vk.getEventStatus                                                                            = (GetEventStatusFunc)                                                                  GET_PROC_ADDR("vkGetEventStatus");
-m_vk.setEvent                                                                                  = (SetEventFunc)                                                                                GET_PROC_ADDR("vkSetEvent");
-m_vk.resetEvent                                                                                        = (ResetEventFunc)                                                                              GET_PROC_ADDR("vkResetEvent");
-m_vk.createQueryPool                                                                   = (CreateQueryPoolFunc)                                                                 GET_PROC_ADDR("vkCreateQueryPool");
-m_vk.destroyQueryPool                                                                  = (DestroyQueryPoolFunc)                                                                GET_PROC_ADDR("vkDestroyQueryPool");
-m_vk.getQueryPoolResults                                                               = (GetQueryPoolResultsFunc)                                                             GET_PROC_ADDR("vkGetQueryPoolResults");
-m_vk.createBuffer                                                                              = (CreateBufferFunc)                                                                    GET_PROC_ADDR("vkCreateBuffer");
-m_vk.destroyBuffer                                                                             = (DestroyBufferFunc)                                                                   GET_PROC_ADDR("vkDestroyBuffer");
-m_vk.createBufferView                                                                  = (CreateBufferViewFunc)                                                                GET_PROC_ADDR("vkCreateBufferView");
-m_vk.destroyBufferView                                                                 = (DestroyBufferViewFunc)                                                               GET_PROC_ADDR("vkDestroyBufferView");
-m_vk.createImage                                                                               = (CreateImageFunc)                                                                             GET_PROC_ADDR("vkCreateImage");
-m_vk.destroyImage                                                                              = (DestroyImageFunc)                                                                    GET_PROC_ADDR("vkDestroyImage");
-m_vk.getImageSubresourceLayout                                                 = (GetImageSubresourceLayoutFunc)                                               GET_PROC_ADDR("vkGetImageSubresourceLayout");
-m_vk.createImageView                                                                   = (CreateImageViewFunc)                                                                 GET_PROC_ADDR("vkCreateImageView");
-m_vk.destroyImageView                                                                  = (DestroyImageViewFunc)                                                                GET_PROC_ADDR("vkDestroyImageView");
-m_vk.createShaderModule                                                                        = (CreateShaderModuleFunc)                                                              GET_PROC_ADDR("vkCreateShaderModule");
-m_vk.destroyShaderModule                                                               = (DestroyShaderModuleFunc)                                                             GET_PROC_ADDR("vkDestroyShaderModule");
-m_vk.createPipelineCache                                                               = (CreatePipelineCacheFunc)                                                             GET_PROC_ADDR("vkCreatePipelineCache");
-m_vk.destroyPipelineCache                                                              = (DestroyPipelineCacheFunc)                                                    GET_PROC_ADDR("vkDestroyPipelineCache");
-m_vk.getPipelineCacheData                                                              = (GetPipelineCacheDataFunc)                                                    GET_PROC_ADDR("vkGetPipelineCacheData");
-m_vk.mergePipelineCaches                                                               = (MergePipelineCachesFunc)                                                             GET_PROC_ADDR("vkMergePipelineCaches");
-m_vk.createGraphicsPipelines                                                   = (CreateGraphicsPipelinesFunc)                                                 GET_PROC_ADDR("vkCreateGraphicsPipelines");
-m_vk.createComputePipelines                                                            = (CreateComputePipelinesFunc)                                                  GET_PROC_ADDR("vkCreateComputePipelines");
-m_vk.destroyPipeline                                                                   = (DestroyPipelineFunc)                                                                 GET_PROC_ADDR("vkDestroyPipeline");
-m_vk.createPipelineLayout                                                              = (CreatePipelineLayoutFunc)                                                    GET_PROC_ADDR("vkCreatePipelineLayout");
-m_vk.destroyPipelineLayout                                                             = (DestroyPipelineLayoutFunc)                                                   GET_PROC_ADDR("vkDestroyPipelineLayout");
-m_vk.createSampler                                                                             = (CreateSamplerFunc)                                                                   GET_PROC_ADDR("vkCreateSampler");
-m_vk.destroySampler                                                                            = (DestroySamplerFunc)                                                                  GET_PROC_ADDR("vkDestroySampler");
-m_vk.createDescriptorSetLayout                                                 = (CreateDescriptorSetLayoutFunc)                                               GET_PROC_ADDR("vkCreateDescriptorSetLayout");
-m_vk.destroyDescriptorSetLayout                                                        = (DestroyDescriptorSetLayoutFunc)                                              GET_PROC_ADDR("vkDestroyDescriptorSetLayout");
-m_vk.createDescriptorPool                                                              = (CreateDescriptorPoolFunc)                                                    GET_PROC_ADDR("vkCreateDescriptorPool");
-m_vk.destroyDescriptorPool                                                             = (DestroyDescriptorPoolFunc)                                                   GET_PROC_ADDR("vkDestroyDescriptorPool");
-m_vk.resetDescriptorPool                                                               = (ResetDescriptorPoolFunc)                                                             GET_PROC_ADDR("vkResetDescriptorPool");
-m_vk.allocateDescriptorSets                                                            = (AllocateDescriptorSetsFunc)                                                  GET_PROC_ADDR("vkAllocateDescriptorSets");
-m_vk.freeDescriptorSets                                                                        = (FreeDescriptorSetsFunc)                                                              GET_PROC_ADDR("vkFreeDescriptorSets");
-m_vk.updateDescriptorSets                                                              = (UpdateDescriptorSetsFunc)                                                    GET_PROC_ADDR("vkUpdateDescriptorSets");
-m_vk.createFramebuffer                                                                 = (CreateFramebufferFunc)                                                               GET_PROC_ADDR("vkCreateFramebuffer");
-m_vk.destroyFramebuffer                                                                        = (DestroyFramebufferFunc)                                                              GET_PROC_ADDR("vkDestroyFramebuffer");
-m_vk.createRenderPass                                                                  = (CreateRenderPassFunc)                                                                GET_PROC_ADDR("vkCreateRenderPass");
-m_vk.destroyRenderPass                                                                 = (DestroyRenderPassFunc)                                                               GET_PROC_ADDR("vkDestroyRenderPass");
-m_vk.getRenderAreaGranularity                                                  = (GetRenderAreaGranularityFunc)                                                GET_PROC_ADDR("vkGetRenderAreaGranularity");
-m_vk.createCommandPool                                                                 = (CreateCommandPoolFunc)                                                               GET_PROC_ADDR("vkCreateCommandPool");
-m_vk.destroyCommandPool                                                                        = (DestroyCommandPoolFunc)                                                              GET_PROC_ADDR("vkDestroyCommandPool");
-m_vk.resetCommandPool                                                                  = (ResetCommandPoolFunc)                                                                GET_PROC_ADDR("vkResetCommandPool");
-m_vk.allocateCommandBuffers                                                            = (AllocateCommandBuffersFunc)                                                  GET_PROC_ADDR("vkAllocateCommandBuffers");
-m_vk.freeCommandBuffers                                                                        = (FreeCommandBuffersFunc)                                                              GET_PROC_ADDR("vkFreeCommandBuffers");
-m_vk.beginCommandBuffer                                                                        = (BeginCommandBufferFunc)                                                              GET_PROC_ADDR("vkBeginCommandBuffer");
-m_vk.endCommandBuffer                                                                  = (EndCommandBufferFunc)                                                                GET_PROC_ADDR("vkEndCommandBuffer");
-m_vk.resetCommandBuffer                                                                        = (ResetCommandBufferFunc)                                                              GET_PROC_ADDR("vkResetCommandBuffer");
-m_vk.cmdBindPipeline                                                                   = (CmdBindPipelineFunc)                                                                 GET_PROC_ADDR("vkCmdBindPipeline");
-m_vk.cmdSetViewport                                                                            = (CmdSetViewportFunc)                                                                  GET_PROC_ADDR("vkCmdSetViewport");
-m_vk.cmdSetScissor                                                                             = (CmdSetScissorFunc)                                                                   GET_PROC_ADDR("vkCmdSetScissor");
-m_vk.cmdSetLineWidth                                                                   = (CmdSetLineWidthFunc)                                                                 GET_PROC_ADDR("vkCmdSetLineWidth");
-m_vk.cmdSetDepthBias                                                                   = (CmdSetDepthBiasFunc)                                                                 GET_PROC_ADDR("vkCmdSetDepthBias");
-m_vk.cmdSetBlendConstants                                                              = (CmdSetBlendConstantsFunc)                                                    GET_PROC_ADDR("vkCmdSetBlendConstants");
-m_vk.cmdSetDepthBounds                                                                 = (CmdSetDepthBoundsFunc)                                                               GET_PROC_ADDR("vkCmdSetDepthBounds");
-m_vk.cmdSetStencilCompareMask                                                  = (CmdSetStencilCompareMaskFunc)                                                GET_PROC_ADDR("vkCmdSetStencilCompareMask");
-m_vk.cmdSetStencilWriteMask                                                            = (CmdSetStencilWriteMaskFunc)                                                  GET_PROC_ADDR("vkCmdSetStencilWriteMask");
-m_vk.cmdSetStencilReference                                                            = (CmdSetStencilReferenceFunc)                                                  GET_PROC_ADDR("vkCmdSetStencilReference");
-m_vk.cmdBindDescriptorSets                                                             = (CmdBindDescriptorSetsFunc)                                                   GET_PROC_ADDR("vkCmdBindDescriptorSets");
-m_vk.cmdBindIndexBuffer                                                                        = (CmdBindIndexBufferFunc)                                                              GET_PROC_ADDR("vkCmdBindIndexBuffer");
-m_vk.cmdBindVertexBuffers                                                              = (CmdBindVertexBuffersFunc)                                                    GET_PROC_ADDR("vkCmdBindVertexBuffers");
-m_vk.cmdDraw                                                                                   = (CmdDrawFunc)                                                                                 GET_PROC_ADDR("vkCmdDraw");
-m_vk.cmdDrawIndexed                                                                            = (CmdDrawIndexedFunc)                                                                  GET_PROC_ADDR("vkCmdDrawIndexed");
-m_vk.cmdDrawIndirect                                                                   = (CmdDrawIndirectFunc)                                                                 GET_PROC_ADDR("vkCmdDrawIndirect");
-m_vk.cmdDrawIndexedIndirect                                                            = (CmdDrawIndexedIndirectFunc)                                                  GET_PROC_ADDR("vkCmdDrawIndexedIndirect");
-m_vk.cmdDispatch                                                                               = (CmdDispatchFunc)                                                                             GET_PROC_ADDR("vkCmdDispatch");
-m_vk.cmdDispatchIndirect                                                               = (CmdDispatchIndirectFunc)                                                             GET_PROC_ADDR("vkCmdDispatchIndirect");
-m_vk.cmdCopyBuffer                                                                             = (CmdCopyBufferFunc)                                                                   GET_PROC_ADDR("vkCmdCopyBuffer");
-m_vk.cmdCopyImage                                                                              = (CmdCopyImageFunc)                                                                    GET_PROC_ADDR("vkCmdCopyImage");
-m_vk.cmdBlitImage                                                                              = (CmdBlitImageFunc)                                                                    GET_PROC_ADDR("vkCmdBlitImage");
-m_vk.cmdCopyBufferToImage                                                              = (CmdCopyBufferToImageFunc)                                                    GET_PROC_ADDR("vkCmdCopyBufferToImage");
-m_vk.cmdCopyImageToBuffer                                                              = (CmdCopyImageToBufferFunc)                                                    GET_PROC_ADDR("vkCmdCopyImageToBuffer");
-m_vk.cmdUpdateBuffer                                                                   = (CmdUpdateBufferFunc)                                                                 GET_PROC_ADDR("vkCmdUpdateBuffer");
-m_vk.cmdFillBuffer                                                                             = (CmdFillBufferFunc)                                                                   GET_PROC_ADDR("vkCmdFillBuffer");
-m_vk.cmdClearColorImage                                                                        = (CmdClearColorImageFunc)                                                              GET_PROC_ADDR("vkCmdClearColorImage");
-m_vk.cmdClearDepthStencilImage                                                 = (CmdClearDepthStencilImageFunc)                                               GET_PROC_ADDR("vkCmdClearDepthStencilImage");
-m_vk.cmdClearAttachments                                                               = (CmdClearAttachmentsFunc)                                                             GET_PROC_ADDR("vkCmdClearAttachments");
-m_vk.cmdResolveImage                                                                   = (CmdResolveImageFunc)                                                                 GET_PROC_ADDR("vkCmdResolveImage");
-m_vk.cmdSetEvent                                                                               = (CmdSetEventFunc)                                                                             GET_PROC_ADDR("vkCmdSetEvent");
-m_vk.cmdResetEvent                                                                             = (CmdResetEventFunc)                                                                   GET_PROC_ADDR("vkCmdResetEvent");
-m_vk.cmdWaitEvents                                                                             = (CmdWaitEventsFunc)                                                                   GET_PROC_ADDR("vkCmdWaitEvents");
-m_vk.cmdPipelineBarrier                                                                        = (CmdPipelineBarrierFunc)                                                              GET_PROC_ADDR("vkCmdPipelineBarrier");
-m_vk.cmdBeginQuery                                                                             = (CmdBeginQueryFunc)                                                                   GET_PROC_ADDR("vkCmdBeginQuery");
-m_vk.cmdEndQuery                                                                               = (CmdEndQueryFunc)                                                                             GET_PROC_ADDR("vkCmdEndQuery");
-m_vk.cmdResetQueryPool                                                                 = (CmdResetQueryPoolFunc)                                                               GET_PROC_ADDR("vkCmdResetQueryPool");
-m_vk.cmdWriteTimestamp                                                                 = (CmdWriteTimestampFunc)                                                               GET_PROC_ADDR("vkCmdWriteTimestamp");
-m_vk.cmdCopyQueryPoolResults                                                   = (CmdCopyQueryPoolResultsFunc)                                                 GET_PROC_ADDR("vkCmdCopyQueryPoolResults");
-m_vk.cmdPushConstants                                                                  = (CmdPushConstantsFunc)                                                                GET_PROC_ADDR("vkCmdPushConstants");
-m_vk.cmdBeginRenderPass                                                                        = (CmdBeginRenderPassFunc)                                                              GET_PROC_ADDR("vkCmdBeginRenderPass");
-m_vk.cmdNextSubpass                                                                            = (CmdNextSubpassFunc)                                                                  GET_PROC_ADDR("vkCmdNextSubpass");
-m_vk.cmdEndRenderPass                                                                  = (CmdEndRenderPassFunc)                                                                GET_PROC_ADDR("vkCmdEndRenderPass");
-m_vk.cmdExecuteCommands                                                                        = (CmdExecuteCommandsFunc)                                                              GET_PROC_ADDR("vkCmdExecuteCommands");
-m_vk.bindBufferMemory2                                                                 = (BindBufferMemory2Func)                                                               GET_PROC_ADDR("vkBindBufferMemory2");
+m_vk.getDeviceProcAddr                                                                         = (GetDeviceProcAddrFunc)                                                                               GET_PROC_ADDR("vkGetDeviceProcAddr");
+m_vk.destroyDevice                                                                                     = (DestroyDeviceFunc)                                                                                   GET_PROC_ADDR("vkDestroyDevice");
+m_vk.getDeviceQueue                                                                                    = (GetDeviceQueueFunc)                                                                                  GET_PROC_ADDR("vkGetDeviceQueue");
+m_vk.queueSubmit                                                                                       = (QueueSubmitFunc)                                                                                             GET_PROC_ADDR("vkQueueSubmit");
+m_vk.queueWaitIdle                                                                                     = (QueueWaitIdleFunc)                                                                                   GET_PROC_ADDR("vkQueueWaitIdle");
+m_vk.deviceWaitIdle                                                                                    = (DeviceWaitIdleFunc)                                                                                  GET_PROC_ADDR("vkDeviceWaitIdle");
+m_vk.allocateMemory                                                                                    = (AllocateMemoryFunc)                                                                                  GET_PROC_ADDR("vkAllocateMemory");
+m_vk.freeMemory                                                                                                = (FreeMemoryFunc)                                                                                              GET_PROC_ADDR("vkFreeMemory");
+m_vk.mapMemory                                                                                         = (MapMemoryFunc)                                                                                               GET_PROC_ADDR("vkMapMemory");
+m_vk.unmapMemory                                                                                       = (UnmapMemoryFunc)                                                                                             GET_PROC_ADDR("vkUnmapMemory");
+m_vk.flushMappedMemoryRanges                                                           = (FlushMappedMemoryRangesFunc)                                                                 GET_PROC_ADDR("vkFlushMappedMemoryRanges");
+m_vk.invalidateMappedMemoryRanges                                                      = (InvalidateMappedMemoryRangesFunc)                                                    GET_PROC_ADDR("vkInvalidateMappedMemoryRanges");
+m_vk.getDeviceMemoryCommitment                                                         = (GetDeviceMemoryCommitmentFunc)                                                               GET_PROC_ADDR("vkGetDeviceMemoryCommitment");
+m_vk.bindBufferMemory                                                                          = (BindBufferMemoryFunc)                                                                                GET_PROC_ADDR("vkBindBufferMemory");
+m_vk.bindImageMemory                                                                           = (BindImageMemoryFunc)                                                                                 GET_PROC_ADDR("vkBindImageMemory");
+m_vk.getBufferMemoryRequirements                                                       = (GetBufferMemoryRequirementsFunc)                                                             GET_PROC_ADDR("vkGetBufferMemoryRequirements");
+m_vk.getImageMemoryRequirements                                                                = (GetImageMemoryRequirementsFunc)                                                              GET_PROC_ADDR("vkGetImageMemoryRequirements");
+m_vk.getImageSparseMemoryRequirements                                          = (GetImageSparseMemoryRequirementsFunc)                                                GET_PROC_ADDR("vkGetImageSparseMemoryRequirements");
+m_vk.queueBindSparse                                                                           = (QueueBindSparseFunc)                                                                                 GET_PROC_ADDR("vkQueueBindSparse");
+m_vk.createFence                                                                                       = (CreateFenceFunc)                                                                                             GET_PROC_ADDR("vkCreateFence");
+m_vk.destroyFence                                                                                      = (DestroyFenceFunc)                                                                                    GET_PROC_ADDR("vkDestroyFence");
+m_vk.resetFences                                                                                       = (ResetFencesFunc)                                                                                             GET_PROC_ADDR("vkResetFences");
+m_vk.getFenceStatus                                                                                    = (GetFenceStatusFunc)                                                                                  GET_PROC_ADDR("vkGetFenceStatus");
+m_vk.waitForFences                                                                                     = (WaitForFencesFunc)                                                                                   GET_PROC_ADDR("vkWaitForFences");
+m_vk.createSemaphore                                                                           = (CreateSemaphoreFunc)                                                                                 GET_PROC_ADDR("vkCreateSemaphore");
+m_vk.destroySemaphore                                                                          = (DestroySemaphoreFunc)                                                                                GET_PROC_ADDR("vkDestroySemaphore");
+m_vk.createEvent                                                                                       = (CreateEventFunc)                                                                                             GET_PROC_ADDR("vkCreateEvent");
+m_vk.destroyEvent                                                                                      = (DestroyEventFunc)                                                                                    GET_PROC_ADDR("vkDestroyEvent");
+m_vk.getEventStatus                                                                                    = (GetEventStatusFunc)                                                                                  GET_PROC_ADDR("vkGetEventStatus");
+m_vk.setEvent                                                                                          = (SetEventFunc)                                                                                                GET_PROC_ADDR("vkSetEvent");
+m_vk.resetEvent                                                                                                = (ResetEventFunc)                                                                                              GET_PROC_ADDR("vkResetEvent");
+m_vk.createQueryPool                                                                           = (CreateQueryPoolFunc)                                                                                 GET_PROC_ADDR("vkCreateQueryPool");
+m_vk.destroyQueryPool                                                                          = (DestroyQueryPoolFunc)                                                                                GET_PROC_ADDR("vkDestroyQueryPool");
+m_vk.getQueryPoolResults                                                                       = (GetQueryPoolResultsFunc)                                                                             GET_PROC_ADDR("vkGetQueryPoolResults");
+m_vk.createBuffer                                                                                      = (CreateBufferFunc)                                                                                    GET_PROC_ADDR("vkCreateBuffer");
+m_vk.destroyBuffer                                                                                     = (DestroyBufferFunc)                                                                                   GET_PROC_ADDR("vkDestroyBuffer");
+m_vk.createBufferView                                                                          = (CreateBufferViewFunc)                                                                                GET_PROC_ADDR("vkCreateBufferView");
+m_vk.destroyBufferView                                                                         = (DestroyBufferViewFunc)                                                                               GET_PROC_ADDR("vkDestroyBufferView");
+m_vk.createImage                                                                                       = (CreateImageFunc)                                                                                             GET_PROC_ADDR("vkCreateImage");
+m_vk.destroyImage                                                                                      = (DestroyImageFunc)                                                                                    GET_PROC_ADDR("vkDestroyImage");
+m_vk.getImageSubresourceLayout                                                         = (GetImageSubresourceLayoutFunc)                                                               GET_PROC_ADDR("vkGetImageSubresourceLayout");
+m_vk.createImageView                                                                           = (CreateImageViewFunc)                                                                                 GET_PROC_ADDR("vkCreateImageView");
+m_vk.destroyImageView                                                                          = (DestroyImageViewFunc)                                                                                GET_PROC_ADDR("vkDestroyImageView");
+m_vk.createShaderModule                                                                                = (CreateShaderModuleFunc)                                                                              GET_PROC_ADDR("vkCreateShaderModule");
+m_vk.destroyShaderModule                                                                       = (DestroyShaderModuleFunc)                                                                             GET_PROC_ADDR("vkDestroyShaderModule");
+m_vk.createPipelineCache                                                                       = (CreatePipelineCacheFunc)                                                                             GET_PROC_ADDR("vkCreatePipelineCache");
+m_vk.destroyPipelineCache                                                                      = (DestroyPipelineCacheFunc)                                                                    GET_PROC_ADDR("vkDestroyPipelineCache");
+m_vk.getPipelineCacheData                                                                      = (GetPipelineCacheDataFunc)                                                                    GET_PROC_ADDR("vkGetPipelineCacheData");
+m_vk.mergePipelineCaches                                                                       = (MergePipelineCachesFunc)                                                                             GET_PROC_ADDR("vkMergePipelineCaches");
+m_vk.createGraphicsPipelines                                                           = (CreateGraphicsPipelinesFunc)                                                                 GET_PROC_ADDR("vkCreateGraphicsPipelines");
+m_vk.createComputePipelines                                                                    = (CreateComputePipelinesFunc)                                                                  GET_PROC_ADDR("vkCreateComputePipelines");
+m_vk.destroyPipeline                                                                           = (DestroyPipelineFunc)                                                                                 GET_PROC_ADDR("vkDestroyPipeline");
+m_vk.createPipelineLayout                                                                      = (CreatePipelineLayoutFunc)                                                                    GET_PROC_ADDR("vkCreatePipelineLayout");
+m_vk.destroyPipelineLayout                                                                     = (DestroyPipelineLayoutFunc)                                                                   GET_PROC_ADDR("vkDestroyPipelineLayout");
+m_vk.createSampler                                                                                     = (CreateSamplerFunc)                                                                                   GET_PROC_ADDR("vkCreateSampler");
+m_vk.destroySampler                                                                                    = (DestroySamplerFunc)                                                                                  GET_PROC_ADDR("vkDestroySampler");
+m_vk.createDescriptorSetLayout                                                         = (CreateDescriptorSetLayoutFunc)                                                               GET_PROC_ADDR("vkCreateDescriptorSetLayout");
+m_vk.destroyDescriptorSetLayout                                                                = (DestroyDescriptorSetLayoutFunc)                                                              GET_PROC_ADDR("vkDestroyDescriptorSetLayout");
+m_vk.createDescriptorPool                                                                      = (CreateDescriptorPoolFunc)                                                                    GET_PROC_ADDR("vkCreateDescriptorPool");
+m_vk.destroyDescriptorPool                                                                     = (DestroyDescriptorPoolFunc)                                                                   GET_PROC_ADDR("vkDestroyDescriptorPool");
+m_vk.resetDescriptorPool                                                                       = (ResetDescriptorPoolFunc)                                                                             GET_PROC_ADDR("vkResetDescriptorPool");
+m_vk.allocateDescriptorSets                                                                    = (AllocateDescriptorSetsFunc)                                                                  GET_PROC_ADDR("vkAllocateDescriptorSets");
+m_vk.freeDescriptorSets                                                                                = (FreeDescriptorSetsFunc)                                                                              GET_PROC_ADDR("vkFreeDescriptorSets");
+m_vk.updateDescriptorSets                                                                      = (UpdateDescriptorSetsFunc)                                                                    GET_PROC_ADDR("vkUpdateDescriptorSets");
+m_vk.createFramebuffer                                                                         = (CreateFramebufferFunc)                                                                               GET_PROC_ADDR("vkCreateFramebuffer");
+m_vk.destroyFramebuffer                                                                                = (DestroyFramebufferFunc)                                                                              GET_PROC_ADDR("vkDestroyFramebuffer");
+m_vk.createRenderPass                                                                          = (CreateRenderPassFunc)                                                                                GET_PROC_ADDR("vkCreateRenderPass");
+m_vk.destroyRenderPass                                                                         = (DestroyRenderPassFunc)                                                                               GET_PROC_ADDR("vkDestroyRenderPass");
+m_vk.getRenderAreaGranularity                                                          = (GetRenderAreaGranularityFunc)                                                                GET_PROC_ADDR("vkGetRenderAreaGranularity");
+m_vk.createCommandPool                                                                         = (CreateCommandPoolFunc)                                                                               GET_PROC_ADDR("vkCreateCommandPool");
+m_vk.destroyCommandPool                                                                                = (DestroyCommandPoolFunc)                                                                              GET_PROC_ADDR("vkDestroyCommandPool");
+m_vk.resetCommandPool                                                                          = (ResetCommandPoolFunc)                                                                                GET_PROC_ADDR("vkResetCommandPool");
+m_vk.allocateCommandBuffers                                                                    = (AllocateCommandBuffersFunc)                                                                  GET_PROC_ADDR("vkAllocateCommandBuffers");
+m_vk.freeCommandBuffers                                                                                = (FreeCommandBuffersFunc)                                                                              GET_PROC_ADDR("vkFreeCommandBuffers");
+m_vk.beginCommandBuffer                                                                                = (BeginCommandBufferFunc)                                                                              GET_PROC_ADDR("vkBeginCommandBuffer");
+m_vk.endCommandBuffer                                                                          = (EndCommandBufferFunc)                                                                                GET_PROC_ADDR("vkEndCommandBuffer");
+m_vk.resetCommandBuffer                                                                                = (ResetCommandBufferFunc)                                                                              GET_PROC_ADDR("vkResetCommandBuffer");
+m_vk.cmdBindPipeline                                                                           = (CmdBindPipelineFunc)                                                                                 GET_PROC_ADDR("vkCmdBindPipeline");
+m_vk.cmdSetViewport                                                                                    = (CmdSetViewportFunc)                                                                                  GET_PROC_ADDR("vkCmdSetViewport");
+m_vk.cmdSetScissor                                                                                     = (CmdSetScissorFunc)                                                                                   GET_PROC_ADDR("vkCmdSetScissor");
+m_vk.cmdSetLineWidth                                                                           = (CmdSetLineWidthFunc)                                                                                 GET_PROC_ADDR("vkCmdSetLineWidth");
+m_vk.cmdSetDepthBias                                                                           = (CmdSetDepthBiasFunc)                                                                                 GET_PROC_ADDR("vkCmdSetDepthBias");
+m_vk.cmdSetBlendConstants                                                                      = (CmdSetBlendConstantsFunc)                                                                    GET_PROC_ADDR("vkCmdSetBlendConstants");
+m_vk.cmdSetDepthBounds                                                                         = (CmdSetDepthBoundsFunc)                                                                               GET_PROC_ADDR("vkCmdSetDepthBounds");
+m_vk.cmdSetStencilCompareMask                                                          = (CmdSetStencilCompareMaskFunc)                                                                GET_PROC_ADDR("vkCmdSetStencilCompareMask");
+m_vk.cmdSetStencilWriteMask                                                                    = (CmdSetStencilWriteMaskFunc)                                                                  GET_PROC_ADDR("vkCmdSetStencilWriteMask");
+m_vk.cmdSetStencilReference                                                                    = (CmdSetStencilReferenceFunc)                                                                  GET_PROC_ADDR("vkCmdSetStencilReference");
+m_vk.cmdBindDescriptorSets                                                                     = (CmdBindDescriptorSetsFunc)                                                                   GET_PROC_ADDR("vkCmdBindDescriptorSets");
+m_vk.cmdBindIndexBuffer                                                                                = (CmdBindIndexBufferFunc)                                                                              GET_PROC_ADDR("vkCmdBindIndexBuffer");
+m_vk.cmdBindVertexBuffers                                                                      = (CmdBindVertexBuffersFunc)                                                                    GET_PROC_ADDR("vkCmdBindVertexBuffers");
+m_vk.cmdDraw                                                                                           = (CmdDrawFunc)                                                                                                 GET_PROC_ADDR("vkCmdDraw");
+m_vk.cmdDrawIndexed                                                                                    = (CmdDrawIndexedFunc)                                                                                  GET_PROC_ADDR("vkCmdDrawIndexed");
+m_vk.cmdDrawIndirect                                                                           = (CmdDrawIndirectFunc)                                                                                 GET_PROC_ADDR("vkCmdDrawIndirect");
+m_vk.cmdDrawIndexedIndirect                                                                    = (CmdDrawIndexedIndirectFunc)                                                                  GET_PROC_ADDR("vkCmdDrawIndexedIndirect");
+m_vk.cmdDispatch                                                                                       = (CmdDispatchFunc)                                                                                             GET_PROC_ADDR("vkCmdDispatch");
+m_vk.cmdDispatchIndirect                                                                       = (CmdDispatchIndirectFunc)                                                                             GET_PROC_ADDR("vkCmdDispatchIndirect");
+m_vk.cmdCopyBuffer                                                                                     = (CmdCopyBufferFunc)                                                                                   GET_PROC_ADDR("vkCmdCopyBuffer");
+m_vk.cmdCopyImage                                                                                      = (CmdCopyImageFunc)                                                                                    GET_PROC_ADDR("vkCmdCopyImage");
+m_vk.cmdBlitImage                                                                                      = (CmdBlitImageFunc)                                                                                    GET_PROC_ADDR("vkCmdBlitImage");
+m_vk.cmdCopyBufferToImage                                                                      = (CmdCopyBufferToImageFunc)                                                                    GET_PROC_ADDR("vkCmdCopyBufferToImage");
+m_vk.cmdCopyImageToBuffer                                                                      = (CmdCopyImageToBufferFunc)                                                                    GET_PROC_ADDR("vkCmdCopyImageToBuffer");
+m_vk.cmdUpdateBuffer                                                                           = (CmdUpdateBufferFunc)                                                                                 GET_PROC_ADDR("vkCmdUpdateBuffer");
+m_vk.cmdFillBuffer                                                                                     = (CmdFillBufferFunc)                                                                                   GET_PROC_ADDR("vkCmdFillBuffer");
+m_vk.cmdClearColorImage                                                                                = (CmdClearColorImageFunc)                                                                              GET_PROC_ADDR("vkCmdClearColorImage");
+m_vk.cmdClearDepthStencilImage                                                         = (CmdClearDepthStencilImageFunc)                                                               GET_PROC_ADDR("vkCmdClearDepthStencilImage");
+m_vk.cmdClearAttachments                                                                       = (CmdClearAttachmentsFunc)                                                                             GET_PROC_ADDR("vkCmdClearAttachments");
+m_vk.cmdResolveImage                                                                           = (CmdResolveImageFunc)                                                                                 GET_PROC_ADDR("vkCmdResolveImage");
+m_vk.cmdSetEvent                                                                                       = (CmdSetEventFunc)                                                                                             GET_PROC_ADDR("vkCmdSetEvent");
+m_vk.cmdResetEvent                                                                                     = (CmdResetEventFunc)                                                                                   GET_PROC_ADDR("vkCmdResetEvent");
+m_vk.cmdWaitEvents                                                                                     = (CmdWaitEventsFunc)                                                                                   GET_PROC_ADDR("vkCmdWaitEvents");
+m_vk.cmdPipelineBarrier                                                                                = (CmdPipelineBarrierFunc)                                                                              GET_PROC_ADDR("vkCmdPipelineBarrier");
+m_vk.cmdBeginQuery                                                                                     = (CmdBeginQueryFunc)                                                                                   GET_PROC_ADDR("vkCmdBeginQuery");
+m_vk.cmdEndQuery                                                                                       = (CmdEndQueryFunc)                                                                                             GET_PROC_ADDR("vkCmdEndQuery");
+m_vk.cmdResetQueryPool                                                                         = (CmdResetQueryPoolFunc)                                                                               GET_PROC_ADDR("vkCmdResetQueryPool");
+m_vk.cmdWriteTimestamp                                                                         = (CmdWriteTimestampFunc)                                                                               GET_PROC_ADDR("vkCmdWriteTimestamp");
+m_vk.cmdCopyQueryPoolResults                                                           = (CmdCopyQueryPoolResultsFunc)                                                                 GET_PROC_ADDR("vkCmdCopyQueryPoolResults");
+m_vk.cmdPushConstants                                                                          = (CmdPushConstantsFunc)                                                                                GET_PROC_ADDR("vkCmdPushConstants");
+m_vk.cmdBeginRenderPass                                                                                = (CmdBeginRenderPassFunc)                                                                              GET_PROC_ADDR("vkCmdBeginRenderPass");
+m_vk.cmdNextSubpass                                                                                    = (CmdNextSubpassFunc)                                                                                  GET_PROC_ADDR("vkCmdNextSubpass");
+m_vk.cmdEndRenderPass                                                                          = (CmdEndRenderPassFunc)                                                                                GET_PROC_ADDR("vkCmdEndRenderPass");
+m_vk.cmdExecuteCommands                                                                                = (CmdExecuteCommandsFunc)                                                                              GET_PROC_ADDR("vkCmdExecuteCommands");
+m_vk.bindBufferMemory2                                                                         = (BindBufferMemory2Func)                                                                               GET_PROC_ADDR("vkBindBufferMemory2");
 if (!m_vk.bindBufferMemory2)
-       m_vk.bindBufferMemory2                                                          = (BindBufferMemory2Func)                                                               GET_PROC_ADDR("vkBindBufferMemory2KHR");
-m_vk.bindImageMemory2                                                                  = (BindImageMemory2Func)                                                                GET_PROC_ADDR("vkBindImageMemory2");
+       m_vk.bindBufferMemory2                                                                  = (BindBufferMemory2Func)                                                                               GET_PROC_ADDR("vkBindBufferMemory2KHR");
+m_vk.bindImageMemory2                                                                          = (BindImageMemory2Func)                                                                                GET_PROC_ADDR("vkBindImageMemory2");
 if (!m_vk.bindImageMemory2)
-       m_vk.bindImageMemory2                                                           = (BindImageMemory2Func)                                                                GET_PROC_ADDR("vkBindImageMemory2KHR");
-m_vk.getDeviceGroupPeerMemoryFeatures                                  = (GetDeviceGroupPeerMemoryFeaturesFunc)                                GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeatures");
+       m_vk.bindImageMemory2                                                                   = (BindImageMemory2Func)                                                                                GET_PROC_ADDR("vkBindImageMemory2KHR");
+m_vk.getDeviceGroupPeerMemoryFeatures                                          = (GetDeviceGroupPeerMemoryFeaturesFunc)                                                GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeatures");
 if (!m_vk.getDeviceGroupPeerMemoryFeatures)
-       m_vk.getDeviceGroupPeerMemoryFeatures                           = (GetDeviceGroupPeerMemoryFeaturesFunc)                                GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeaturesKHR");
-m_vk.cmdSetDeviceMask                                                                  = (CmdSetDeviceMaskFunc)                                                                GET_PROC_ADDR("vkCmdSetDeviceMask");
+       m_vk.getDeviceGroupPeerMemoryFeatures                                   = (GetDeviceGroupPeerMemoryFeaturesFunc)                                                GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeaturesKHR");
+m_vk.cmdSetDeviceMask                                                                          = (CmdSetDeviceMaskFunc)                                                                                GET_PROC_ADDR("vkCmdSetDeviceMask");
 if (!m_vk.cmdSetDeviceMask)
-       m_vk.cmdSetDeviceMask                                                           = (CmdSetDeviceMaskFunc)                                                                GET_PROC_ADDR("vkCmdSetDeviceMaskKHR");
-m_vk.cmdDispatchBase                                                                   = (CmdDispatchBaseFunc)                                                                 GET_PROC_ADDR("vkCmdDispatchBase");
+       m_vk.cmdSetDeviceMask                                                                   = (CmdSetDeviceMaskFunc)                                                                                GET_PROC_ADDR("vkCmdSetDeviceMaskKHR");
+m_vk.cmdDispatchBase                                                                           = (CmdDispatchBaseFunc)                                                                                 GET_PROC_ADDR("vkCmdDispatchBase");
 if (!m_vk.cmdDispatchBase)
-       m_vk.cmdDispatchBase                                                            = (CmdDispatchBaseFunc)                                                                 GET_PROC_ADDR("vkCmdDispatchBaseKHR");
-m_vk.getImageMemoryRequirements2                                               = (GetImageMemoryRequirements2Func)                                             GET_PROC_ADDR("vkGetImageMemoryRequirements2");
+       m_vk.cmdDispatchBase                                                                    = (CmdDispatchBaseFunc)                                                                                 GET_PROC_ADDR("vkCmdDispatchBaseKHR");
+m_vk.getImageMemoryRequirements2                                                       = (GetImageMemoryRequirements2Func)                                                             GET_PROC_ADDR("vkGetImageMemoryRequirements2");
 if (!m_vk.getImageMemoryRequirements2)
-       m_vk.getImageMemoryRequirements2                                        = (GetImageMemoryRequirements2Func)                                             GET_PROC_ADDR("vkGetImageMemoryRequirements2KHR");
-m_vk.getBufferMemoryRequirements2                                              = (GetBufferMemoryRequirements2Func)                                    GET_PROC_ADDR("vkGetBufferMemoryRequirements2");
+       m_vk.getImageMemoryRequirements2                                                = (GetImageMemoryRequirements2Func)                                                             GET_PROC_ADDR("vkGetImageMemoryRequirements2KHR");
+m_vk.getBufferMemoryRequirements2                                                      = (GetBufferMemoryRequirements2Func)                                                    GET_PROC_ADDR("vkGetBufferMemoryRequirements2");
 if (!m_vk.getBufferMemoryRequirements2)
-       m_vk.getBufferMemoryRequirements2                                       = (GetBufferMemoryRequirements2Func)                                    GET_PROC_ADDR("vkGetBufferMemoryRequirements2KHR");
-m_vk.getImageSparseMemoryRequirements2                                 = (GetImageSparseMemoryRequirements2Func)                               GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2");
+       m_vk.getBufferMemoryRequirements2                                               = (GetBufferMemoryRequirements2Func)                                                    GET_PROC_ADDR("vkGetBufferMemoryRequirements2KHR");
+m_vk.getImageSparseMemoryRequirements2                                         = (GetImageSparseMemoryRequirements2Func)                                               GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2");
 if (!m_vk.getImageSparseMemoryRequirements2)
-       m_vk.getImageSparseMemoryRequirements2                          = (GetImageSparseMemoryRequirements2Func)                               GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2KHR");
-m_vk.trimCommandPool                                                                   = (TrimCommandPoolFunc)                                                                 GET_PROC_ADDR("vkTrimCommandPool");
+       m_vk.getImageSparseMemoryRequirements2                                  = (GetImageSparseMemoryRequirements2Func)                                               GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2KHR");
+m_vk.trimCommandPool                                                                           = (TrimCommandPoolFunc)                                                                                 GET_PROC_ADDR("vkTrimCommandPool");
 if (!m_vk.trimCommandPool)
-       m_vk.trimCommandPool                                                            = (TrimCommandPoolFunc)                                                                 GET_PROC_ADDR("vkTrimCommandPoolKHR");
-m_vk.getDeviceQueue2                                                                   = (GetDeviceQueue2Func)                                                                 GET_PROC_ADDR("vkGetDeviceQueue2");
-m_vk.createSamplerYcbcrConversion                                              = (CreateSamplerYcbcrConversionFunc)                                    GET_PROC_ADDR("vkCreateSamplerYcbcrConversion");
+       m_vk.trimCommandPool                                                                    = (TrimCommandPoolFunc)                                                                                 GET_PROC_ADDR("vkTrimCommandPoolKHR");
+m_vk.getDeviceQueue2                                                                           = (GetDeviceQueue2Func)                                                                                 GET_PROC_ADDR("vkGetDeviceQueue2");
+m_vk.createSamplerYcbcrConversion                                                      = (CreateSamplerYcbcrConversionFunc)                                                    GET_PROC_ADDR("vkCreateSamplerYcbcrConversion");
 if (!m_vk.createSamplerYcbcrConversion)
-       m_vk.createSamplerYcbcrConversion                                       = (CreateSamplerYcbcrConversionFunc)                                    GET_PROC_ADDR("vkCreateSamplerYcbcrConversionKHR");
-m_vk.destroySamplerYcbcrConversion                                             = (DestroySamplerYcbcrConversionFunc)                                   GET_PROC_ADDR("vkDestroySamplerYcbcrConversion");
+       m_vk.createSamplerYcbcrConversion                                               = (CreateSamplerYcbcrConversionFunc)                                                    GET_PROC_ADDR("vkCreateSamplerYcbcrConversionKHR");
+m_vk.destroySamplerYcbcrConversion                                                     = (DestroySamplerYcbcrConversionFunc)                                                   GET_PROC_ADDR("vkDestroySamplerYcbcrConversion");
 if (!m_vk.destroySamplerYcbcrConversion)
-       m_vk.destroySamplerYcbcrConversion                                      = (DestroySamplerYcbcrConversionFunc)                                   GET_PROC_ADDR("vkDestroySamplerYcbcrConversionKHR");
-m_vk.createDescriptorUpdateTemplate                                            = (CreateDescriptorUpdateTemplateFunc)                                  GET_PROC_ADDR("vkCreateDescriptorUpdateTemplate");
+       m_vk.destroySamplerYcbcrConversion                                              = (DestroySamplerYcbcrConversionFunc)                                                   GET_PROC_ADDR("vkDestroySamplerYcbcrConversionKHR");
+m_vk.createDescriptorUpdateTemplate                                                    = (CreateDescriptorUpdateTemplateFunc)                                                  GET_PROC_ADDR("vkCreateDescriptorUpdateTemplate");
 if (!m_vk.createDescriptorUpdateTemplate)
-       m_vk.createDescriptorUpdateTemplate                                     = (CreateDescriptorUpdateTemplateFunc)                                  GET_PROC_ADDR("vkCreateDescriptorUpdateTemplateKHR");
-m_vk.destroyDescriptorUpdateTemplate                                   = (DestroyDescriptorUpdateTemplateFunc)                                 GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplate");
+       m_vk.createDescriptorUpdateTemplate                                             = (CreateDescriptorUpdateTemplateFunc)                                                  GET_PROC_ADDR("vkCreateDescriptorUpdateTemplateKHR");
+m_vk.destroyDescriptorUpdateTemplate                                           = (DestroyDescriptorUpdateTemplateFunc)                                                 GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplate");
 if (!m_vk.destroyDescriptorUpdateTemplate)
-       m_vk.destroyDescriptorUpdateTemplate                            = (DestroyDescriptorUpdateTemplateFunc)                                 GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplateKHR");
-m_vk.updateDescriptorSetWithTemplate                                   = (UpdateDescriptorSetWithTemplateFunc)                                 GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplate");
+       m_vk.destroyDescriptorUpdateTemplate                                    = (DestroyDescriptorUpdateTemplateFunc)                                                 GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplateKHR");
+m_vk.updateDescriptorSetWithTemplate                                           = (UpdateDescriptorSetWithTemplateFunc)                                                 GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplate");
 if (!m_vk.updateDescriptorSetWithTemplate)
-       m_vk.updateDescriptorSetWithTemplate                            = (UpdateDescriptorSetWithTemplateFunc)                                 GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplateKHR");
-m_vk.getDescriptorSetLayoutSupport                                             = (GetDescriptorSetLayoutSupportFunc)                                   GET_PROC_ADDR("vkGetDescriptorSetLayoutSupport");
+       m_vk.updateDescriptorSetWithTemplate                                    = (UpdateDescriptorSetWithTemplateFunc)                                                 GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplateKHR");
+m_vk.getDescriptorSetLayoutSupport                                                     = (GetDescriptorSetLayoutSupportFunc)                                                   GET_PROC_ADDR("vkGetDescriptorSetLayoutSupport");
 if (!m_vk.getDescriptorSetLayoutSupport)
-       m_vk.getDescriptorSetLayoutSupport                                      = (GetDescriptorSetLayoutSupportFunc)                                   GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR");
-m_vk.cmdDrawIndirectCount                                                              = (CmdDrawIndirectCountFunc)                                                    GET_PROC_ADDR("vkCmdDrawIndirectCount");
+       m_vk.getDescriptorSetLayoutSupport                                              = (GetDescriptorSetLayoutSupportFunc)                                                   GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR");
+m_vk.cmdDrawIndirectCount                                                                      = (CmdDrawIndirectCountFunc)                                                                    GET_PROC_ADDR("vkCmdDrawIndirectCount");
 if (!m_vk.cmdDrawIndirectCount)
-       m_vk.cmdDrawIndirectCount                                                       = (CmdDrawIndirectCountFunc)                                                    GET_PROC_ADDR("vkCmdDrawIndirectCountKHR");
-m_vk.cmdDrawIndexedIndirectCount                                               = (CmdDrawIndexedIndirectCountFunc)                                             GET_PROC_ADDR("vkCmdDrawIndexedIndirectCount");
+       m_vk.cmdDrawIndirectCount                                                               = (CmdDrawIndirectCountFunc)                                                                    GET_PROC_ADDR("vkCmdDrawIndirectCountKHR");
+m_vk.cmdDrawIndexedIndirectCount                                                       = (CmdDrawIndexedIndirectCountFunc)                                                             GET_PROC_ADDR("vkCmdDrawIndexedIndirectCount");
 if (!m_vk.cmdDrawIndexedIndirectCount)
-       m_vk.cmdDrawIndexedIndirectCount                                        = (CmdDrawIndexedIndirectCountFunc)                                             GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR");
-m_vk.createRenderPass2                                                                 = (CreateRenderPass2Func)                                                               GET_PROC_ADDR("vkCreateRenderPass2");
+       m_vk.cmdDrawIndexedIndirectCount                                                = (CmdDrawIndexedIndirectCountFunc)                                                             GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR");
+m_vk.createRenderPass2                                                                         = (CreateRenderPass2Func)                                                                               GET_PROC_ADDR("vkCreateRenderPass2");
 if (!m_vk.createRenderPass2)
-       m_vk.createRenderPass2                                                          = (CreateRenderPass2Func)                                                               GET_PROC_ADDR("vkCreateRenderPass2KHR");
-m_vk.cmdBeginRenderPass2                                                               = (CmdBeginRenderPass2Func)                                                             GET_PROC_ADDR("vkCmdBeginRenderPass2");
+       m_vk.createRenderPass2                                                                  = (CreateRenderPass2Func)                                                                               GET_PROC_ADDR("vkCreateRenderPass2KHR");
+m_vk.cmdBeginRenderPass2                                                                       = (CmdBeginRenderPass2Func)                                                                             GET_PROC_ADDR("vkCmdBeginRenderPass2");
 if (!m_vk.cmdBeginRenderPass2)
-       m_vk.cmdBeginRenderPass2                                                        = (CmdBeginRenderPass2Func)                                                             GET_PROC_ADDR("vkCmdBeginRenderPass2KHR");
-m_vk.cmdNextSubpass2                                                                   = (CmdNextSubpass2Func)                                                                 GET_PROC_ADDR("vkCmdNextSubpass2");
+       m_vk.cmdBeginRenderPass2                                                                = (CmdBeginRenderPass2Func)                                                                             GET_PROC_ADDR("vkCmdBeginRenderPass2KHR");
+m_vk.cmdNextSubpass2                                                                           = (CmdNextSubpass2Func)                                                                                 GET_PROC_ADDR("vkCmdNextSubpass2");
 if (!m_vk.cmdNextSubpass2)
-       m_vk.cmdNextSubpass2                                                            = (CmdNextSubpass2Func)                                                                 GET_PROC_ADDR("vkCmdNextSubpass2KHR");
-m_vk.cmdEndRenderPass2                                                                 = (CmdEndRenderPass2Func)                                                               GET_PROC_ADDR("vkCmdEndRenderPass2");
+       m_vk.cmdNextSubpass2                                                                    = (CmdNextSubpass2Func)                                                                                 GET_PROC_ADDR("vkCmdNextSubpass2KHR");
+m_vk.cmdEndRenderPass2                                                                         = (CmdEndRenderPass2Func)                                                                               GET_PROC_ADDR("vkCmdEndRenderPass2");
 if (!m_vk.cmdEndRenderPass2)
-       m_vk.cmdEndRenderPass2                                                          = (CmdEndRenderPass2Func)                                                               GET_PROC_ADDR("vkCmdEndRenderPass2KHR");
-m_vk.resetQueryPool                                                                            = (ResetQueryPoolFunc)                                                                  GET_PROC_ADDR("vkResetQueryPool");
+       m_vk.cmdEndRenderPass2                                                                  = (CmdEndRenderPass2Func)                                                                               GET_PROC_ADDR("vkCmdEndRenderPass2KHR");
+m_vk.resetQueryPool                                                                                    = (ResetQueryPoolFunc)                                                                                  GET_PROC_ADDR("vkResetQueryPool");
 if (!m_vk.resetQueryPool)
-       m_vk.resetQueryPool                                                                     = (ResetQueryPoolFunc)                                                                  GET_PROC_ADDR("vkResetQueryPoolEXT");
-m_vk.getSemaphoreCounterValue                                                  = (GetSemaphoreCounterValueFunc)                                                GET_PROC_ADDR("vkGetSemaphoreCounterValue");
+       m_vk.resetQueryPool                                                                             = (ResetQueryPoolFunc)                                                                                  GET_PROC_ADDR("vkResetQueryPoolEXT");
+m_vk.getSemaphoreCounterValue                                                          = (GetSemaphoreCounterValueFunc)                                                                GET_PROC_ADDR("vkGetSemaphoreCounterValue");
 if (!m_vk.getSemaphoreCounterValue)
-       m_vk.getSemaphoreCounterValue                                           = (GetSemaphoreCounterValueFunc)                                                GET_PROC_ADDR("vkGetSemaphoreCounterValueKHR");
-m_vk.waitSemaphores                                                                            = (WaitSemaphoresFunc)                                                                  GET_PROC_ADDR("vkWaitSemaphores");
+       m_vk.getSemaphoreCounterValue                                                   = (GetSemaphoreCounterValueFunc)                                                                GET_PROC_ADDR("vkGetSemaphoreCounterValueKHR");
+m_vk.waitSemaphores                                                                                    = (WaitSemaphoresFunc)                                                                                  GET_PROC_ADDR("vkWaitSemaphores");
 if (!m_vk.waitSemaphores)
-       m_vk.waitSemaphores                                                                     = (WaitSemaphoresFunc)                                                                  GET_PROC_ADDR("vkWaitSemaphoresKHR");
-m_vk.signalSemaphore                                                                   = (SignalSemaphoreFunc)                                                                 GET_PROC_ADDR("vkSignalSemaphore");
+       m_vk.waitSemaphores                                                                             = (WaitSemaphoresFunc)                                                                                  GET_PROC_ADDR("vkWaitSemaphoresKHR");
+m_vk.signalSemaphore                                                                           = (SignalSemaphoreFunc)                                                                                 GET_PROC_ADDR("vkSignalSemaphore");
 if (!m_vk.signalSemaphore)
-       m_vk.signalSemaphore                                                            = (SignalSemaphoreFunc)                                                                 GET_PROC_ADDR("vkSignalSemaphoreKHR");
-m_vk.getBufferDeviceAddress                                                            = (GetBufferDeviceAddressFunc)                                                  GET_PROC_ADDR("vkGetBufferDeviceAddress");
+       m_vk.signalSemaphore                                                                    = (SignalSemaphoreFunc)                                                                                 GET_PROC_ADDR("vkSignalSemaphoreKHR");
+m_vk.getBufferDeviceAddress                                                                    = (GetBufferDeviceAddressFunc)                                                                  GET_PROC_ADDR("vkGetBufferDeviceAddress");
 if (!m_vk.getBufferDeviceAddress)
-       m_vk.getBufferDeviceAddress                                                     = (GetBufferDeviceAddressFunc)                                                  GET_PROC_ADDR("vkGetBufferDeviceAddressKHR");
-m_vk.getBufferOpaqueCaptureAddress                                             = (GetBufferOpaqueCaptureAddressFunc)                                   GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddress");
+       m_vk.getBufferDeviceAddress                                                             = (GetBufferDeviceAddressFunc)                                                                  GET_PROC_ADDR("vkGetBufferDeviceAddressKHR");
+m_vk.getBufferOpaqueCaptureAddress                                                     = (GetBufferOpaqueCaptureAddressFunc)                                                   GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddress");
 if (!m_vk.getBufferOpaqueCaptureAddress)
-       m_vk.getBufferOpaqueCaptureAddress                                      = (GetBufferOpaqueCaptureAddressFunc)                                   GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddressKHR");
-m_vk.getDeviceMemoryOpaqueCaptureAddress                               = (GetDeviceMemoryOpaqueCaptureAddressFunc)                             GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddress");
+       m_vk.getBufferOpaqueCaptureAddress                                              = (GetBufferOpaqueCaptureAddressFunc)                                                   GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddressKHR");
+m_vk.getDeviceMemoryOpaqueCaptureAddress                                       = (GetDeviceMemoryOpaqueCaptureAddressFunc)                                             GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddress");
 if (!m_vk.getDeviceMemoryOpaqueCaptureAddress)
-       m_vk.getDeviceMemoryOpaqueCaptureAddress                        = (GetDeviceMemoryOpaqueCaptureAddressFunc)                             GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddressKHR");
-m_vk.createPrivateDataSlot                                                             = (CreatePrivateDataSlotFunc)                                                   GET_PROC_ADDR("vkCreatePrivateDataSlot");
+       m_vk.getDeviceMemoryOpaqueCaptureAddress                                = (GetDeviceMemoryOpaqueCaptureAddressFunc)                                             GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddressKHR");
+m_vk.createPrivateDataSlot                                                                     = (CreatePrivateDataSlotFunc)                                                                   GET_PROC_ADDR("vkCreatePrivateDataSlot");
 if (!m_vk.createPrivateDataSlot)
-       m_vk.createPrivateDataSlot                                                      = (CreatePrivateDataSlotFunc)                                                   GET_PROC_ADDR("vkCreatePrivateDataSlotEXT");
-m_vk.destroyPrivateDataSlot                                                            = (DestroyPrivateDataSlotFunc)                                                  GET_PROC_ADDR("vkDestroyPrivateDataSlot");
+       m_vk.createPrivateDataSlot                                                              = (CreatePrivateDataSlotFunc)                                                                   GET_PROC_ADDR("vkCreatePrivateDataSlotEXT");
+m_vk.destroyPrivateDataSlot                                                                    = (DestroyPrivateDataSlotFunc)                                                                  GET_PROC_ADDR("vkDestroyPrivateDataSlot");
 if (!m_vk.destroyPrivateDataSlot)
-       m_vk.destroyPrivateDataSlot                                                     = (DestroyPrivateDataSlotFunc)                                                  GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT");
-m_vk.setPrivateData                                                                            = (SetPrivateDataFunc)                                                                  GET_PROC_ADDR("vkSetPrivateData");
+       m_vk.destroyPrivateDataSlot                                                             = (DestroyPrivateDataSlotFunc)                                                                  GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT");
+m_vk.setPrivateData                                                                                    = (SetPrivateDataFunc)                                                                                  GET_PROC_ADDR("vkSetPrivateData");
 if (!m_vk.setPrivateData)
-       m_vk.setPrivateData                                                                     = (SetPrivateDataFunc)                                                                  GET_PROC_ADDR("vkSetPrivateDataEXT");
-m_vk.getPrivateData                                                                            = (GetPrivateDataFunc)                                                                  GET_PROC_ADDR("vkGetPrivateData");
+       m_vk.setPrivateData                                                                             = (SetPrivateDataFunc)                                                                                  GET_PROC_ADDR("vkSetPrivateDataEXT");
+m_vk.getPrivateData                                                                                    = (GetPrivateDataFunc)                                                                                  GET_PROC_ADDR("vkGetPrivateData");
 if (!m_vk.getPrivateData)
-       m_vk.getPrivateData                                                                     = (GetPrivateDataFunc)                                                                  GET_PROC_ADDR("vkGetPrivateDataEXT");
-m_vk.cmdSetEvent2                                                                              = (CmdSetEvent2Func)                                                                    GET_PROC_ADDR("vkCmdSetEvent2");
+       m_vk.getPrivateData                                                                             = (GetPrivateDataFunc)                                                                                  GET_PROC_ADDR("vkGetPrivateDataEXT");
+m_vk.cmdSetEvent2                                                                                      = (CmdSetEvent2Func)                                                                                    GET_PROC_ADDR("vkCmdSetEvent2");
 if (!m_vk.cmdSetEvent2)
-       m_vk.cmdSetEvent2                                                                       = (CmdSetEvent2Func)                                                                    GET_PROC_ADDR("vkCmdSetEvent2KHR");
-m_vk.cmdResetEvent2                                                                            = (CmdResetEvent2Func)                                                                  GET_PROC_ADDR("vkCmdResetEvent2");
+       m_vk.cmdSetEvent2                                                                               = (CmdSetEvent2Func)                                                                                    GET_PROC_ADDR("vkCmdSetEvent2KHR");
+m_vk.cmdResetEvent2                                                                                    = (CmdResetEvent2Func)                                                                                  GET_PROC_ADDR("vkCmdResetEvent2");
 if (!m_vk.cmdResetEvent2)
-       m_vk.cmdResetEvent2                                                                     = (CmdResetEvent2Func)                                                                  GET_PROC_ADDR("vkCmdResetEvent2KHR");
-m_vk.cmdWaitEvents2                                                                            = (CmdWaitEvents2Func)                                                                  GET_PROC_ADDR("vkCmdWaitEvents2");
+       m_vk.cmdResetEvent2                                                                             = (CmdResetEvent2Func)                                                                                  GET_PROC_ADDR("vkCmdResetEvent2KHR");
+m_vk.cmdWaitEvents2                                                                                    = (CmdWaitEvents2Func)                                                                                  GET_PROC_ADDR("vkCmdWaitEvents2");
 if (!m_vk.cmdWaitEvents2)
-       m_vk.cmdWaitEvents2                                                                     = (CmdWaitEvents2Func)                                                                  GET_PROC_ADDR("vkCmdWaitEvents2KHR");
-m_vk.cmdPipelineBarrier2                                                               = (CmdPipelineBarrier2Func)                                                             GET_PROC_ADDR("vkCmdPipelineBarrier2");
+       m_vk.cmdWaitEvents2                                                                             = (CmdWaitEvents2Func)                                                                                  GET_PROC_ADDR("vkCmdWaitEvents2KHR");
+m_vk.cmdPipelineBarrier2                                                                       = (CmdPipelineBarrier2Func)                                                                             GET_PROC_ADDR("vkCmdPipelineBarrier2");
 if (!m_vk.cmdPipelineBarrier2)
-       m_vk.cmdPipelineBarrier2                                                        = (CmdPipelineBarrier2Func)                                                             GET_PROC_ADDR("vkCmdPipelineBarrier2KHR");
-m_vk.cmdWriteTimestamp2                                                                        = (CmdWriteTimestamp2Func)                                                              GET_PROC_ADDR("vkCmdWriteTimestamp2");
+       m_vk.cmdPipelineBarrier2                                                                = (CmdPipelineBarrier2Func)                                                                             GET_PROC_ADDR("vkCmdPipelineBarrier2KHR");
+m_vk.cmdWriteTimestamp2                                                                                = (CmdWriteTimestamp2Func)                                                                              GET_PROC_ADDR("vkCmdWriteTimestamp2");
 if (!m_vk.cmdWriteTimestamp2)
-       m_vk.cmdWriteTimestamp2                                                         = (CmdWriteTimestamp2Func)                                                              GET_PROC_ADDR("vkCmdWriteTimestamp2KHR");
-m_vk.queueSubmit2                                                                              = (QueueSubmit2Func)                                                                    GET_PROC_ADDR("vkQueueSubmit2");
+       m_vk.cmdWriteTimestamp2                                                                 = (CmdWriteTimestamp2Func)                                                                              GET_PROC_ADDR("vkCmdWriteTimestamp2KHR");
+m_vk.queueSubmit2                                                                                      = (QueueSubmit2Func)                                                                                    GET_PROC_ADDR("vkQueueSubmit2");
 if (!m_vk.queueSubmit2)
-       m_vk.queueSubmit2                                                                       = (QueueSubmit2Func)                                                                    GET_PROC_ADDR("vkQueueSubmit2KHR");
-m_vk.cmdCopyBuffer2                                                                            = (CmdCopyBuffer2Func)                                                                  GET_PROC_ADDR("vkCmdCopyBuffer2");
+       m_vk.queueSubmit2                                                                               = (QueueSubmit2Func)                                                                                    GET_PROC_ADDR("vkQueueSubmit2KHR");
+m_vk.cmdCopyBuffer2                                                                                    = (CmdCopyBuffer2Func)                                                                                  GET_PROC_ADDR("vkCmdCopyBuffer2");
 if (!m_vk.cmdCopyBuffer2)
-       m_vk.cmdCopyBuffer2                                                                     = (CmdCopyBuffer2Func)                                                                  GET_PROC_ADDR("vkCmdCopyBuffer2KHR");
-m_vk.cmdCopyImage2                                                                             = (CmdCopyImage2Func)                                                                   GET_PROC_ADDR("vkCmdCopyImage2");
+       m_vk.cmdCopyBuffer2                                                                             = (CmdCopyBuffer2Func)                                                                                  GET_PROC_ADDR("vkCmdCopyBuffer2KHR");
+m_vk.cmdCopyImage2                                                                                     = (CmdCopyImage2Func)                                                                                   GET_PROC_ADDR("vkCmdCopyImage2");
 if (!m_vk.cmdCopyImage2)
-       m_vk.cmdCopyImage2                                                                      = (CmdCopyImage2Func)                                                                   GET_PROC_ADDR("vkCmdCopyImage2KHR");
-m_vk.cmdCopyBufferToImage2                                                             = (CmdCopyBufferToImage2Func)                                                   GET_PROC_ADDR("vkCmdCopyBufferToImage2");
+       m_vk.cmdCopyImage2                                                                              = (CmdCopyImage2Func)                                                                                   GET_PROC_ADDR("vkCmdCopyImage2KHR");
+m_vk.cmdCopyBufferToImage2                                                                     = (CmdCopyBufferToImage2Func)                                                                   GET_PROC_ADDR("vkCmdCopyBufferToImage2");
 if (!m_vk.cmdCopyBufferToImage2)
-       m_vk.cmdCopyBufferToImage2                                                      = (CmdCopyBufferToImage2Func)                                                   GET_PROC_ADDR("vkCmdCopyBufferToImage2KHR");
-m_vk.cmdCopyImageToBuffer2                                                             = (CmdCopyImageToBuffer2Func)                                                   GET_PROC_ADDR("vkCmdCopyImageToBuffer2");
+       m_vk.cmdCopyBufferToImage2                                                              = (CmdCopyBufferToImage2Func)                                                                   GET_PROC_ADDR("vkCmdCopyBufferToImage2KHR");
+m_vk.cmdCopyImageToBuffer2                                                                     = (CmdCopyImageToBuffer2Func)                                                                   GET_PROC_ADDR("vkCmdCopyImageToBuffer2");
 if (!m_vk.cmdCopyImageToBuffer2)
-       m_vk.cmdCopyImageToBuffer2                                                      = (CmdCopyImageToBuffer2Func)                                                   GET_PROC_ADDR("vkCmdCopyImageToBuffer2KHR");
-m_vk.cmdBlitImage2                                                                             = (CmdBlitImage2Func)                                                                   GET_PROC_ADDR("vkCmdBlitImage2");
+       m_vk.cmdCopyImageToBuffer2                                                              = (CmdCopyImageToBuffer2Func)                                                                   GET_PROC_ADDR("vkCmdCopyImageToBuffer2KHR");
+m_vk.cmdBlitImage2                                                                                     = (CmdBlitImage2Func)                                                                                   GET_PROC_ADDR("vkCmdBlitImage2");
 if (!m_vk.cmdBlitImage2)
-       m_vk.cmdBlitImage2                                                                      = (CmdBlitImage2Func)                                                                   GET_PROC_ADDR("vkCmdBlitImage2KHR");
-m_vk.cmdResolveImage2                                                                  = (CmdResolveImage2Func)                                                                GET_PROC_ADDR("vkCmdResolveImage2");
+       m_vk.cmdBlitImage2                                                                              = (CmdBlitImage2Func)                                                                                   GET_PROC_ADDR("vkCmdBlitImage2KHR");
+m_vk.cmdResolveImage2                                                                          = (CmdResolveImage2Func)                                                                                GET_PROC_ADDR("vkCmdResolveImage2");
 if (!m_vk.cmdResolveImage2)
-       m_vk.cmdResolveImage2                                                           = (CmdResolveImage2Func)                                                                GET_PROC_ADDR("vkCmdResolveImage2KHR");
-m_vk.cmdBeginRendering                                                                 = (CmdBeginRenderingFunc)                                                               GET_PROC_ADDR("vkCmdBeginRendering");
+       m_vk.cmdResolveImage2                                                                   = (CmdResolveImage2Func)                                                                                GET_PROC_ADDR("vkCmdResolveImage2KHR");
+m_vk.cmdBeginRendering                                                                         = (CmdBeginRenderingFunc)                                                                               GET_PROC_ADDR("vkCmdBeginRendering");
 if (!m_vk.cmdBeginRendering)
-       m_vk.cmdBeginRendering                                                          = (CmdBeginRenderingFunc)                                                               GET_PROC_ADDR("vkCmdBeginRenderingKHR");
-m_vk.cmdEndRendering                                                                   = (CmdEndRenderingFunc)                                                                 GET_PROC_ADDR("vkCmdEndRendering");
+       m_vk.cmdBeginRendering                                                                  = (CmdBeginRenderingFunc)                                                                               GET_PROC_ADDR("vkCmdBeginRenderingKHR");
+m_vk.cmdEndRendering                                                                           = (CmdEndRenderingFunc)                                                                                 GET_PROC_ADDR("vkCmdEndRendering");
 if (!m_vk.cmdEndRendering)
-       m_vk.cmdEndRendering                                                            = (CmdEndRenderingFunc)                                                                 GET_PROC_ADDR("vkCmdEndRenderingKHR");
-m_vk.cmdSetCullMode                                                                            = (CmdSetCullModeFunc)                                                                  GET_PROC_ADDR("vkCmdSetCullMode");
+       m_vk.cmdEndRendering                                                                    = (CmdEndRenderingFunc)                                                                                 GET_PROC_ADDR("vkCmdEndRenderingKHR");
+m_vk.cmdSetCullMode                                                                                    = (CmdSetCullModeFunc)                                                                                  GET_PROC_ADDR("vkCmdSetCullMode");
 if (!m_vk.cmdSetCullMode)
-       m_vk.cmdSetCullMode                                                                     = (CmdSetCullModeFunc)                                                                  GET_PROC_ADDR("vkCmdSetCullModeEXT");
-m_vk.cmdSetFrontFace                                                                   = (CmdSetFrontFaceFunc)                                                                 GET_PROC_ADDR("vkCmdSetFrontFace");
+       m_vk.cmdSetCullMode                                                                             = (CmdSetCullModeFunc)                                                                                  GET_PROC_ADDR("vkCmdSetCullModeEXT");
+m_vk.cmdSetFrontFace                                                                           = (CmdSetFrontFaceFunc)                                                                                 GET_PROC_ADDR("vkCmdSetFrontFace");
 if (!m_vk.cmdSetFrontFace)
-       m_vk.cmdSetFrontFace                                                            = (CmdSetFrontFaceFunc)                                                                 GET_PROC_ADDR("vkCmdSetFrontFaceEXT");
-m_vk.cmdSetPrimitiveTopology                                                   = (CmdSetPrimitiveTopologyFunc)                                                 GET_PROC_ADDR("vkCmdSetPrimitiveTopology");
+       m_vk.cmdSetFrontFace                                                                    = (CmdSetFrontFaceFunc)                                                                                 GET_PROC_ADDR("vkCmdSetFrontFaceEXT");
+m_vk.cmdSetPrimitiveTopology                                                           = (CmdSetPrimitiveTopologyFunc)                                                                 GET_PROC_ADDR("vkCmdSetPrimitiveTopology");
 if (!m_vk.cmdSetPrimitiveTopology)
-       m_vk.cmdSetPrimitiveTopology                                            = (CmdSetPrimitiveTopologyFunc)                                                 GET_PROC_ADDR("vkCmdSetPrimitiveTopologyEXT");
-m_vk.cmdSetViewportWithCount                                                   = (CmdSetViewportWithCountFunc)                                                 GET_PROC_ADDR("vkCmdSetViewportWithCount");
+       m_vk.cmdSetPrimitiveTopology                                                    = (CmdSetPrimitiveTopologyFunc)                                                                 GET_PROC_ADDR("vkCmdSetPrimitiveTopologyEXT");
+m_vk.cmdSetViewportWithCount                                                           = (CmdSetViewportWithCountFunc)                                                                 GET_PROC_ADDR("vkCmdSetViewportWithCount");
 if (!m_vk.cmdSetViewportWithCount)
-       m_vk.cmdSetViewportWithCount                                            = (CmdSetViewportWithCountFunc)                                                 GET_PROC_ADDR("vkCmdSetViewportWithCountEXT");
-m_vk.cmdSetScissorWithCount                                                            = (CmdSetScissorWithCountFunc)                                                  GET_PROC_ADDR("vkCmdSetScissorWithCount");
+       m_vk.cmdSetViewportWithCount                                                    = (CmdSetViewportWithCountFunc)                                                                 GET_PROC_ADDR("vkCmdSetViewportWithCountEXT");
+m_vk.cmdSetScissorWithCount                                                                    = (CmdSetScissorWithCountFunc)                                                                  GET_PROC_ADDR("vkCmdSetScissorWithCount");
 if (!m_vk.cmdSetScissorWithCount)
-       m_vk.cmdSetScissorWithCount                                                     = (CmdSetScissorWithCountFunc)                                                  GET_PROC_ADDR("vkCmdSetScissorWithCountEXT");
-m_vk.cmdBindVertexBuffers2                                                             = (CmdBindVertexBuffers2Func)                                                   GET_PROC_ADDR("vkCmdBindVertexBuffers2");
+       m_vk.cmdSetScissorWithCount                                                             = (CmdSetScissorWithCountFunc)                                                                  GET_PROC_ADDR("vkCmdSetScissorWithCountEXT");
+m_vk.cmdBindVertexBuffers2                                                                     = (CmdBindVertexBuffers2Func)                                                                   GET_PROC_ADDR("vkCmdBindVertexBuffers2");
 if (!m_vk.cmdBindVertexBuffers2)
-       m_vk.cmdBindVertexBuffers2                                                      = (CmdBindVertexBuffers2Func)                                                   GET_PROC_ADDR("vkCmdBindVertexBuffers2EXT");
-m_vk.cmdSetDepthTestEnable                                                             = (CmdSetDepthTestEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetDepthTestEnable");
+       m_vk.cmdBindVertexBuffers2                                                              = (CmdBindVertexBuffers2Func)                                                                   GET_PROC_ADDR("vkCmdBindVertexBuffers2EXT");
+m_vk.cmdSetDepthTestEnable                                                                     = (CmdSetDepthTestEnableFunc)                                                                   GET_PROC_ADDR("vkCmdSetDepthTestEnable");
 if (!m_vk.cmdSetDepthTestEnable)
-       m_vk.cmdSetDepthTestEnable                                                      = (CmdSetDepthTestEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetDepthTestEnableEXT");
-m_vk.cmdSetDepthWriteEnable                                                            = (CmdSetDepthWriteEnableFunc)                                                  GET_PROC_ADDR("vkCmdSetDepthWriteEnable");
+       m_vk.cmdSetDepthTestEnable                                                              = (CmdSetDepthTestEnableFunc)                                                                   GET_PROC_ADDR("vkCmdSetDepthTestEnableEXT");
+m_vk.cmdSetDepthWriteEnable                                                                    = (CmdSetDepthWriteEnableFunc)                                                                  GET_PROC_ADDR("vkCmdSetDepthWriteEnable");
 if (!m_vk.cmdSetDepthWriteEnable)
-       m_vk.cmdSetDepthWriteEnable                                                     = (CmdSetDepthWriteEnableFunc)                                                  GET_PROC_ADDR("vkCmdSetDepthWriteEnableEXT");
-m_vk.cmdSetDepthCompareOp                                                              = (CmdSetDepthCompareOpFunc)                                                    GET_PROC_ADDR("vkCmdSetDepthCompareOp");
+       m_vk.cmdSetDepthWriteEnable                                                             = (CmdSetDepthWriteEnableFunc)                                                                  GET_PROC_ADDR("vkCmdSetDepthWriteEnableEXT");
+m_vk.cmdSetDepthCompareOp                                                                      = (CmdSetDepthCompareOpFunc)                                                                    GET_PROC_ADDR("vkCmdSetDepthCompareOp");
 if (!m_vk.cmdSetDepthCompareOp)
-       m_vk.cmdSetDepthCompareOp                                                       = (CmdSetDepthCompareOpFunc)                                                    GET_PROC_ADDR("vkCmdSetDepthCompareOpEXT");
-m_vk.cmdSetDepthBoundsTestEnable                                               = (CmdSetDepthBoundsTestEnableFunc)                                             GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnable");
+       m_vk.cmdSetDepthCompareOp                                                               = (CmdSetDepthCompareOpFunc)                                                                    GET_PROC_ADDR("vkCmdSetDepthCompareOpEXT");
+m_vk.cmdSetDepthBoundsTestEnable                                                       = (CmdSetDepthBoundsTestEnableFunc)                                                             GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnable");
 if (!m_vk.cmdSetDepthBoundsTestEnable)
-       m_vk.cmdSetDepthBoundsTestEnable                                        = (CmdSetDepthBoundsTestEnableFunc)                                             GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnableEXT");
-m_vk.cmdSetStencilTestEnable                                                   = (CmdSetStencilTestEnableFunc)                                                 GET_PROC_ADDR("vkCmdSetStencilTestEnable");
+       m_vk.cmdSetDepthBoundsTestEnable                                                = (CmdSetDepthBoundsTestEnableFunc)                                                             GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnableEXT");
+m_vk.cmdSetStencilTestEnable                                                           = (CmdSetStencilTestEnableFunc)                                                                 GET_PROC_ADDR("vkCmdSetStencilTestEnable");
 if (!m_vk.cmdSetStencilTestEnable)
-       m_vk.cmdSetStencilTestEnable                                            = (CmdSetStencilTestEnableFunc)                                                 GET_PROC_ADDR("vkCmdSetStencilTestEnableEXT");
-m_vk.cmdSetStencilOp                                                                   = (CmdSetStencilOpFunc)                                                                 GET_PROC_ADDR("vkCmdSetStencilOp");
+       m_vk.cmdSetStencilTestEnable                                                    = (CmdSetStencilTestEnableFunc)                                                                 GET_PROC_ADDR("vkCmdSetStencilTestEnableEXT");
+m_vk.cmdSetStencilOp                                                                           = (CmdSetStencilOpFunc)                                                                                 GET_PROC_ADDR("vkCmdSetStencilOp");
 if (!m_vk.cmdSetStencilOp)
-       m_vk.cmdSetStencilOp                                                            = (CmdSetStencilOpFunc)                                                                 GET_PROC_ADDR("vkCmdSetStencilOpEXT");
-m_vk.cmdSetRasterizerDiscardEnable                                             = (CmdSetRasterizerDiscardEnableFunc)                                   GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnable");
+       m_vk.cmdSetStencilOp                                                                    = (CmdSetStencilOpFunc)                                                                                 GET_PROC_ADDR("vkCmdSetStencilOpEXT");
+m_vk.cmdSetRasterizerDiscardEnable                                                     = (CmdSetRasterizerDiscardEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnable");
 if (!m_vk.cmdSetRasterizerDiscardEnable)
-       m_vk.cmdSetRasterizerDiscardEnable                                      = (CmdSetRasterizerDiscardEnableFunc)                                   GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT");
-m_vk.cmdSetDepthBiasEnable                                                             = (CmdSetDepthBiasEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetDepthBiasEnable");
+       m_vk.cmdSetRasterizerDiscardEnable                                              = (CmdSetRasterizerDiscardEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT");
+m_vk.cmdSetDepthBiasEnable                                                                     = (CmdSetDepthBiasEnableFunc)                                                                   GET_PROC_ADDR("vkCmdSetDepthBiasEnable");
 if (!m_vk.cmdSetDepthBiasEnable)
-       m_vk.cmdSetDepthBiasEnable                                                      = (CmdSetDepthBiasEnableFunc)                                                   GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT");
-m_vk.cmdSetPrimitiveRestartEnable                                              = (CmdSetPrimitiveRestartEnableFunc)                                    GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnable");
+       m_vk.cmdSetDepthBiasEnable                                                              = (CmdSetDepthBiasEnableFunc)                                                                   GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT");
+m_vk.cmdSetPrimitiveRestartEnable                                                      = (CmdSetPrimitiveRestartEnableFunc)                                                    GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnable");
 if (!m_vk.cmdSetPrimitiveRestartEnable)
-       m_vk.cmdSetPrimitiveRestartEnable                                       = (CmdSetPrimitiveRestartEnableFunc)                                    GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT");
-m_vk.getDeviceBufferMemoryRequirements                                 = (GetDeviceBufferMemoryRequirementsFunc)                               GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirements");
+       m_vk.cmdSetPrimitiveRestartEnable                                               = (CmdSetPrimitiveRestartEnableFunc)                                                    GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT");
+m_vk.getDeviceBufferMemoryRequirements                                         = (GetDeviceBufferMemoryRequirementsFunc)                                               GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirements");
 if (!m_vk.getDeviceBufferMemoryRequirements)
-       m_vk.getDeviceBufferMemoryRequirements                          = (GetDeviceBufferMemoryRequirementsFunc)                               GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR");
-m_vk.getDeviceImageMemoryRequirements                                  = (GetDeviceImageMemoryRequirementsFunc)                                GET_PROC_ADDR("vkGetDeviceImageMemoryRequirements");
+       m_vk.getDeviceBufferMemoryRequirements                                  = (GetDeviceBufferMemoryRequirementsFunc)                                               GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR");
+m_vk.getDeviceImageMemoryRequirements                                          = (GetDeviceImageMemoryRequirementsFunc)                                                GET_PROC_ADDR("vkGetDeviceImageMemoryRequirements");
 if (!m_vk.getDeviceImageMemoryRequirements)
-       m_vk.getDeviceImageMemoryRequirements                           = (GetDeviceImageMemoryRequirementsFunc)                                GET_PROC_ADDR("vkGetDeviceImageMemoryRequirementsKHR");
-m_vk.getDeviceImageSparseMemoryRequirements                            = (GetDeviceImageSparseMemoryRequirementsFunc)                  GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirements");
+       m_vk.getDeviceImageMemoryRequirements                                   = (GetDeviceImageMemoryRequirementsFunc)                                                GET_PROC_ADDR("vkGetDeviceImageMemoryRequirementsKHR");
+m_vk.getDeviceImageSparseMemoryRequirements                                    = (GetDeviceImageSparseMemoryRequirementsFunc)                                  GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirements");
 if (!m_vk.getDeviceImageSparseMemoryRequirements)
-       m_vk.getDeviceImageSparseMemoryRequirements                     = (GetDeviceImageSparseMemoryRequirementsFunc)                  GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirementsKHR");
-m_vk.createSwapchainKHR                                                                        = (CreateSwapchainKHRFunc)                                                              GET_PROC_ADDR("vkCreateSwapchainKHR");
-m_vk.destroySwapchainKHR                                                               = (DestroySwapchainKHRFunc)                                                             GET_PROC_ADDR("vkDestroySwapchainKHR");
-m_vk.getSwapchainImagesKHR                                                             = (GetSwapchainImagesKHRFunc)                                                   GET_PROC_ADDR("vkGetSwapchainImagesKHR");
-m_vk.acquireNextImageKHR                                                               = (AcquireNextImageKHRFunc)                                                             GET_PROC_ADDR("vkAcquireNextImageKHR");
-m_vk.queuePresentKHR                                                                   = (QueuePresentKHRFunc)                                                                 GET_PROC_ADDR("vkQueuePresentKHR");
-m_vk.getDeviceGroupPresentCapabilitiesKHR                              = (GetDeviceGroupPresentCapabilitiesKHRFunc)                    GET_PROC_ADDR("vkGetDeviceGroupPresentCapabilitiesKHR");
-m_vk.getDeviceGroupSurfacePresentModesKHR                              = (GetDeviceGroupSurfacePresentModesKHRFunc)                    GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR");
-m_vk.acquireNextImage2KHR                                                              = (AcquireNextImage2KHRFunc)                                                    GET_PROC_ADDR("vkAcquireNextImage2KHR");
-m_vk.createSharedSwapchainsKHR                                                 = (CreateSharedSwapchainsKHRFunc)                                               GET_PROC_ADDR("vkCreateSharedSwapchainsKHR");
-m_vk.getMemoryFdKHR                                                                            = (GetMemoryFdKHRFunc)                                                                  GET_PROC_ADDR("vkGetMemoryFdKHR");
-m_vk.getMemoryFdPropertiesKHR                                                  = (GetMemoryFdPropertiesKHRFunc)                                                GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR");
-m_vk.importSemaphoreFdKHR                                                              = (ImportSemaphoreFdKHRFunc)                                                    GET_PROC_ADDR("vkImportSemaphoreFdKHR");
-m_vk.getSemaphoreFdKHR                                                                 = (GetSemaphoreFdKHRFunc)                                                               GET_PROC_ADDR("vkGetSemaphoreFdKHR");
-m_vk.cmdPushDescriptorSetKHR                                                   = (CmdPushDescriptorSetKHRFunc)                                                 GET_PROC_ADDR("vkCmdPushDescriptorSetKHR");
-m_vk.cmdPushDescriptorSetWithTemplateKHR                               = (CmdPushDescriptorSetWithTemplateKHRFunc)                             GET_PROC_ADDR("vkCmdPushDescriptorSetWithTemplateKHR");
-m_vk.getSwapchainStatusKHR                                                             = (GetSwapchainStatusKHRFunc)                                                   GET_PROC_ADDR("vkGetSwapchainStatusKHR");
-m_vk.importFenceFdKHR                                                                  = (ImportFenceFdKHRFunc)                                                                GET_PROC_ADDR("vkImportFenceFdKHR");
-m_vk.getFenceFdKHR                                                                             = (GetFenceFdKHRFunc)                                                                   GET_PROC_ADDR("vkGetFenceFdKHR");
-m_vk.acquireProfilingLockKHR                                                   = (AcquireProfilingLockKHRFunc)                                                 GET_PROC_ADDR("vkAcquireProfilingLockKHR");
-m_vk.releaseProfilingLockKHR                                                   = (ReleaseProfilingLockKHRFunc)                                                 GET_PROC_ADDR("vkReleaseProfilingLockKHR");
-m_vk.cmdSetFragmentShadingRateKHR                                              = (CmdSetFragmentShadingRateKHRFunc)                                    GET_PROC_ADDR("vkCmdSetFragmentShadingRateKHR");
-m_vk.waitForPresentKHR                                                                 = (WaitForPresentKHRFunc)                                                               GET_PROC_ADDR("vkWaitForPresentKHR");
-m_vk.createDeferredOperationKHR                                                        = (CreateDeferredOperationKHRFunc)                                              GET_PROC_ADDR("vkCreateDeferredOperationKHR");
-m_vk.destroyDeferredOperationKHR                                               = (DestroyDeferredOperationKHRFunc)                                             GET_PROC_ADDR("vkDestroyDeferredOperationKHR");
-m_vk.getDeferredOperationMaxConcurrencyKHR                             = (GetDeferredOperationMaxConcurrencyKHRFunc)                   GET_PROC_ADDR("vkGetDeferredOperationMaxConcurrencyKHR");
-m_vk.getDeferredOperationResultKHR                                             = (GetDeferredOperationResultKHRFunc)                                   GET_PROC_ADDR("vkGetDeferredOperationResultKHR");
-m_vk.deferredOperationJoinKHR                                                  = (DeferredOperationJoinKHRFunc)                                                GET_PROC_ADDR("vkDeferredOperationJoinKHR");
-m_vk.getPipelineExecutablePropertiesKHR                                        = (GetPipelineExecutablePropertiesKHRFunc)                              GET_PROC_ADDR("vkGetPipelineExecutablePropertiesKHR");
-m_vk.getPipelineExecutableStatisticsKHR                                        = (GetPipelineExecutableStatisticsKHRFunc)                              GET_PROC_ADDR("vkGetPipelineExecutableStatisticsKHR");
-m_vk.getPipelineExecutableInternalRepresentationsKHR   = (GetPipelineExecutableInternalRepresentationsKHRFunc) GET_PROC_ADDR("vkGetPipelineExecutableInternalRepresentationsKHR");
-m_vk.cmdWriteBufferMarker2AMD                                                  = (CmdWriteBufferMarker2AMDFunc)                                                GET_PROC_ADDR("vkCmdWriteBufferMarker2AMD");
-m_vk.getQueueCheckpointData2NV                                                 = (GetQueueCheckpointData2NVFunc)                                               GET_PROC_ADDR("vkGetQueueCheckpointData2NV");
-m_vk.debugMarkerSetObjectTagEXT                                                        = (DebugMarkerSetObjectTagEXTFunc)                                              GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT");
-m_vk.debugMarkerSetObjectNameEXT                                               = (DebugMarkerSetObjectNameEXTFunc)                                             GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT");
-m_vk.cmdDebugMarkerBeginEXT                                                            = (CmdDebugMarkerBeginEXTFunc)                                                  GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT");
-m_vk.cmdDebugMarkerEndEXT                                                              = (CmdDebugMarkerEndEXTFunc)                                                    GET_PROC_ADDR("vkCmdDebugMarkerEndEXT");
-m_vk.cmdDebugMarkerInsertEXT                                                   = (CmdDebugMarkerInsertEXTFunc)                                                 GET_PROC_ADDR("vkCmdDebugMarkerInsertEXT");
-m_vk.cmdBindTransformFeedbackBuffersEXT                                        = (CmdBindTransformFeedbackBuffersEXTFunc)                              GET_PROC_ADDR("vkCmdBindTransformFeedbackBuffersEXT");
-m_vk.cmdBeginTransformFeedbackEXT                                              = (CmdBeginTransformFeedbackEXTFunc)                                    GET_PROC_ADDR("vkCmdBeginTransformFeedbackEXT");
-m_vk.cmdEndTransformFeedbackEXT                                                        = (CmdEndTransformFeedbackEXTFunc)                                              GET_PROC_ADDR("vkCmdEndTransformFeedbackEXT");
-m_vk.cmdBeginQueryIndexedEXT                                                   = (CmdBeginQueryIndexedEXTFunc)                                                 GET_PROC_ADDR("vkCmdBeginQueryIndexedEXT");
-m_vk.cmdEndQueryIndexedEXT                                                             = (CmdEndQueryIndexedEXTFunc)                                                   GET_PROC_ADDR("vkCmdEndQueryIndexedEXT");
-m_vk.cmdDrawIndirectByteCountEXT                                               = (CmdDrawIndirectByteCountEXTFunc)                                             GET_PROC_ADDR("vkCmdDrawIndirectByteCountEXT");
-m_vk.createCuModuleNVX                                                                 = (CreateCuModuleNVXFunc)                                                               GET_PROC_ADDR("vkCreateCuModuleNVX");
-m_vk.createCuFunctionNVX                                                               = (CreateCuFunctionNVXFunc)                                                             GET_PROC_ADDR("vkCreateCuFunctionNVX");
-m_vk.destroyCuModuleNVX                                                                        = (DestroyCuModuleNVXFunc)                                                              GET_PROC_ADDR("vkDestroyCuModuleNVX");
-m_vk.destroyCuFunctionNVX                                                              = (DestroyCuFunctionNVXFunc)                                                    GET_PROC_ADDR("vkDestroyCuFunctionNVX");
-m_vk.cmdCuLaunchKernelNVX                                                              = (CmdCuLaunchKernelNVXFunc)                                                    GET_PROC_ADDR("vkCmdCuLaunchKernelNVX");
-m_vk.getImageViewHandleNVX                                                             = (GetImageViewHandleNVXFunc)                                                   GET_PROC_ADDR("vkGetImageViewHandleNVX");
-m_vk.getImageViewAddressNVX                                                            = (GetImageViewAddressNVXFunc)                                                  GET_PROC_ADDR("vkGetImageViewAddressNVX");
-m_vk.cmdDrawIndirectCountAMD                                                   = (CmdDrawIndirectCountAMDFunc)                                                 GET_PROC_ADDR("vkCmdDrawIndirectCountAMD");
-m_vk.cmdDrawIndexedIndirectCountAMD                                            = (CmdDrawIndexedIndirectCountAMDFunc)                                  GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD");
-m_vk.getShaderInfoAMD                                                                  = (GetShaderInfoAMDFunc)                                                                GET_PROC_ADDR("vkGetShaderInfoAMD");
-m_vk.cmdBeginConditionalRenderingEXT                                   = (CmdBeginConditionalRenderingEXTFunc)                                 GET_PROC_ADDR("vkCmdBeginConditionalRenderingEXT");
-m_vk.cmdEndConditionalRenderingEXT                                             = (CmdEndConditionalRenderingEXTFunc)                                   GET_PROC_ADDR("vkCmdEndConditionalRenderingEXT");
-m_vk.cmdSetViewportWScalingNV                                                  = (CmdSetViewportWScalingNVFunc)                                                GET_PROC_ADDR("vkCmdSetViewportWScalingNV");
-m_vk.displayPowerControlEXT                                                            = (DisplayPowerControlEXTFunc)                                                  GET_PROC_ADDR("vkDisplayPowerControlEXT");
-m_vk.registerDeviceEventEXT                                                            = (RegisterDeviceEventEXTFunc)                                                  GET_PROC_ADDR("vkRegisterDeviceEventEXT");
-m_vk.registerDisplayEventEXT                                                   = (RegisterDisplayEventEXTFunc)                                                 GET_PROC_ADDR("vkRegisterDisplayEventEXT");
-m_vk.getSwapchainCounterEXT                                                            = (GetSwapchainCounterEXTFunc)                                                  GET_PROC_ADDR("vkGetSwapchainCounterEXT");
-m_vk.getRefreshCycleDurationGOOGLE                                             = (GetRefreshCycleDurationGOOGLEFunc)                                   GET_PROC_ADDR("vkGetRefreshCycleDurationGOOGLE");
-m_vk.getPastPresentationTimingGOOGLE                                   = (GetPastPresentationTimingGOOGLEFunc)                                 GET_PROC_ADDR("vkGetPastPresentationTimingGOOGLE");
-m_vk.cmdSetDiscardRectangleEXT                                                 = (CmdSetDiscardRectangleEXTFunc)                                               GET_PROC_ADDR("vkCmdSetDiscardRectangleEXT");
-m_vk.setHdrMetadataEXT                                                                 = (SetHdrMetadataEXTFunc)                                                               GET_PROC_ADDR("vkSetHdrMetadataEXT");
-m_vk.setDebugUtilsObjectNameEXT                                                        = (SetDebugUtilsObjectNameEXTFunc)                                              GET_PROC_ADDR("vkSetDebugUtilsObjectNameEXT");
-m_vk.setDebugUtilsObjectTagEXT                                                 = (SetDebugUtilsObjectTagEXTFunc)                                               GET_PROC_ADDR("vkSetDebugUtilsObjectTagEXT");
-m_vk.queueBeginDebugUtilsLabelEXT                                              = (QueueBeginDebugUtilsLabelEXTFunc)                                    GET_PROC_ADDR("vkQueueBeginDebugUtilsLabelEXT");
-m_vk.queueEndDebugUtilsLabelEXT                                                        = (QueueEndDebugUtilsLabelEXTFunc)                                              GET_PROC_ADDR("vkQueueEndDebugUtilsLabelEXT");
-m_vk.queueInsertDebugUtilsLabelEXT                                             = (QueueInsertDebugUtilsLabelEXTFunc)                                   GET_PROC_ADDR("vkQueueInsertDebugUtilsLabelEXT");
-m_vk.cmdBeginDebugUtilsLabelEXT                                                        = (CmdBeginDebugUtilsLabelEXTFunc)                                              GET_PROC_ADDR("vkCmdBeginDebugUtilsLabelEXT");
-m_vk.cmdEndDebugUtilsLabelEXT                                                  = (CmdEndDebugUtilsLabelEXTFunc)                                                GET_PROC_ADDR("vkCmdEndDebugUtilsLabelEXT");
-m_vk.cmdInsertDebugUtilsLabelEXT                                               = (CmdInsertDebugUtilsLabelEXTFunc)                                             GET_PROC_ADDR("vkCmdInsertDebugUtilsLabelEXT");
-m_vk.cmdSetSampleLocationsEXT                                                  = (CmdSetSampleLocationsEXTFunc)                                                GET_PROC_ADDR("vkCmdSetSampleLocationsEXT");
-m_vk.getImageDrmFormatModifierPropertiesEXT                            = (GetImageDrmFormatModifierPropertiesEXTFunc)                  GET_PROC_ADDR("vkGetImageDrmFormatModifierPropertiesEXT");
-m_vk.createValidationCacheEXT                                                  = (CreateValidationCacheEXTFunc)                                                GET_PROC_ADDR("vkCreateValidationCacheEXT");
-m_vk.destroyValidationCacheEXT                                                 = (DestroyValidationCacheEXTFunc)                                               GET_PROC_ADDR("vkDestroyValidationCacheEXT");
-m_vk.mergeValidationCachesEXT                                                  = (MergeValidationCachesEXTFunc)                                                GET_PROC_ADDR("vkMergeValidationCachesEXT");
-m_vk.getValidationCacheDataEXT                                                 = (GetValidationCacheDataEXTFunc)                                               GET_PROC_ADDR("vkGetValidationCacheDataEXT");
-m_vk.cmdBindShadingRateImageNV                                                 = (CmdBindShadingRateImageNVFunc)                                               GET_PROC_ADDR("vkCmdBindShadingRateImageNV");
-m_vk.cmdSetViewportShadingRatePaletteNV                                        = (CmdSetViewportShadingRatePaletteNVFunc)                              GET_PROC_ADDR("vkCmdSetViewportShadingRatePaletteNV");
-m_vk.cmdSetCoarseSampleOrderNV                                                 = (CmdSetCoarseSampleOrderNVFunc)                                               GET_PROC_ADDR("vkCmdSetCoarseSampleOrderNV");
-m_vk.createAccelerationStructureNV                                             = (CreateAccelerationStructureNVFunc)                                   GET_PROC_ADDR("vkCreateAccelerationStructureNV");
-m_vk.destroyAccelerationStructureNV                                            = (DestroyAccelerationStructureNVFunc)                                  GET_PROC_ADDR("vkDestroyAccelerationStructureNV");
-m_vk.getAccelerationStructureMemoryRequirementsNV              = (GetAccelerationStructureMemoryRequirementsNVFunc)    GET_PROC_ADDR("vkGetAccelerationStructureMemoryRequirementsNV");
-m_vk.bindAccelerationStructureMemoryNV                                 = (BindAccelerationStructureMemoryNVFunc)                               GET_PROC_ADDR("vkBindAccelerationStructureMemoryNV");
-m_vk.cmdBuildAccelerationStructureNV                                   = (CmdBuildAccelerationStructureNVFunc)                                 GET_PROC_ADDR("vkCmdBuildAccelerationStructureNV");
-m_vk.cmdCopyAccelerationStructureNV                                            = (CmdCopyAccelerationStructureNVFunc)                                  GET_PROC_ADDR("vkCmdCopyAccelerationStructureNV");
-m_vk.cmdTraceRaysNV                                                                            = (CmdTraceRaysNVFunc)                                                                  GET_PROC_ADDR("vkCmdTraceRaysNV");
-m_vk.createRayTracingPipelinesNV                                               = (CreateRayTracingPipelinesNVFunc)                                             GET_PROC_ADDR("vkCreateRayTracingPipelinesNV");
-m_vk.getRayTracingShaderGroupHandlesKHR                                        = (GetRayTracingShaderGroupHandlesKHRFunc)                              GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesKHR");
-m_vk.getRayTracingShaderGroupHandlesNV                                 = (GetRayTracingShaderGroupHandlesNVFunc)                               GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesNV");
-m_vk.getAccelerationStructureHandleNV                                  = (GetAccelerationStructureHandleNVFunc)                                GET_PROC_ADDR("vkGetAccelerationStructureHandleNV");
-m_vk.cmdWriteAccelerationStructuresPropertiesNV                        = (CmdWriteAccelerationStructuresPropertiesNVFunc)              GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesNV");
-m_vk.compileDeferredNV                                                                 = (CompileDeferredNVFunc)                                                               GET_PROC_ADDR("vkCompileDeferredNV");
-m_vk.getMemoryHostPointerPropertiesEXT                                 = (GetMemoryHostPointerPropertiesEXTFunc)                               GET_PROC_ADDR("vkGetMemoryHostPointerPropertiesEXT");
-m_vk.cmdWriteBufferMarkerAMD                                                   = (CmdWriteBufferMarkerAMDFunc)                                                 GET_PROC_ADDR("vkCmdWriteBufferMarkerAMD");
-m_vk.getCalibratedTimestampsEXT                                                        = (GetCalibratedTimestampsEXTFunc)                                              GET_PROC_ADDR("vkGetCalibratedTimestampsEXT");
-m_vk.cmdDrawMeshTasksNV                                                                        = (CmdDrawMeshTasksNVFunc)                                                              GET_PROC_ADDR("vkCmdDrawMeshTasksNV");
-m_vk.cmdDrawMeshTasksIndirectNV                                                        = (CmdDrawMeshTasksIndirectNVFunc)                                              GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectNV");
-m_vk.cmdDrawMeshTasksIndirectCountNV                                   = (CmdDrawMeshTasksIndirectCountNVFunc)                                 GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectCountNV");
-m_vk.cmdSetExclusiveScissorNV                                                  = (CmdSetExclusiveScissorNVFunc)                                                GET_PROC_ADDR("vkCmdSetExclusiveScissorNV");
-m_vk.cmdSetCheckpointNV                                                                        = (CmdSetCheckpointNVFunc)                                                              GET_PROC_ADDR("vkCmdSetCheckpointNV");
-m_vk.getQueueCheckpointDataNV                                                  = (GetQueueCheckpointDataNVFunc)                                                GET_PROC_ADDR("vkGetQueueCheckpointDataNV");
-m_vk.initializePerformanceApiINTEL                                             = (InitializePerformanceApiINTELFunc)                                   GET_PROC_ADDR("vkInitializePerformanceApiINTEL");
-m_vk.uninitializePerformanceApiINTEL                                   = (UninitializePerformanceApiINTELFunc)                                 GET_PROC_ADDR("vkUninitializePerformanceApiINTEL");
-m_vk.cmdSetPerformanceMarkerINTEL                                              = (CmdSetPerformanceMarkerINTELFunc)                                    GET_PROC_ADDR("vkCmdSetPerformanceMarkerINTEL");
-m_vk.cmdSetPerformanceStreamMarkerINTEL                                        = (CmdSetPerformanceStreamMarkerINTELFunc)                              GET_PROC_ADDR("vkCmdSetPerformanceStreamMarkerINTEL");
-m_vk.cmdSetPerformanceOverrideINTEL                                            = (CmdSetPerformanceOverrideINTELFunc)                                  GET_PROC_ADDR("vkCmdSetPerformanceOverrideINTEL");
-m_vk.acquirePerformanceConfigurationINTEL                              = (AcquirePerformanceConfigurationINTELFunc)                    GET_PROC_ADDR("vkAcquirePerformanceConfigurationINTEL");
-m_vk.releasePerformanceConfigurationINTEL                              = (ReleasePerformanceConfigurationINTELFunc)                    GET_PROC_ADDR("vkReleasePerformanceConfigurationINTEL");
-m_vk.queueSetPerformanceConfigurationINTEL                             = (QueueSetPerformanceConfigurationINTELFunc)                   GET_PROC_ADDR("vkQueueSetPerformanceConfigurationINTEL");
-m_vk.getPerformanceParameterINTEL                                              = (GetPerformanceParameterINTELFunc)                                    GET_PROC_ADDR("vkGetPerformanceParameterINTEL");
-m_vk.setLocalDimmingAMD                                                                        = (SetLocalDimmingAMDFunc)                                                              GET_PROC_ADDR("vkSetLocalDimmingAMD");
-m_vk.getBufferDeviceAddressEXT                                                 = (GetBufferDeviceAddressEXTFunc)                                               GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
-m_vk.cmdSetLineStippleEXT                                                              = (CmdSetLineStippleEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetLineStippleEXT");
-m_vk.getGeneratedCommandsMemoryRequirementsNV                  = (GetGeneratedCommandsMemoryRequirementsNVFunc)                GET_PROC_ADDR("vkGetGeneratedCommandsMemoryRequirementsNV");
-m_vk.cmdPreprocessGeneratedCommandsNV                                  = (CmdPreprocessGeneratedCommandsNVFunc)                                GET_PROC_ADDR("vkCmdPreprocessGeneratedCommandsNV");
-m_vk.cmdExecuteGeneratedCommandsNV                                             = (CmdExecuteGeneratedCommandsNVFunc)                                   GET_PROC_ADDR("vkCmdExecuteGeneratedCommandsNV");
-m_vk.cmdBindPipelineShaderGroupNV                                              = (CmdBindPipelineShaderGroupNVFunc)                                    GET_PROC_ADDR("vkCmdBindPipelineShaderGroupNV");
-m_vk.createIndirectCommandsLayoutNV                                            = (CreateIndirectCommandsLayoutNVFunc)                                  GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNV");
-m_vk.destroyIndirectCommandsLayoutNV                                   = (DestroyIndirectCommandsLayoutNVFunc)                                 GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNV");
-m_vk.cmdSetFragmentShadingRateEnumNV                                   = (CmdSetFragmentShadingRateEnumNVFunc)                                 GET_PROC_ADDR("vkCmdSetFragmentShadingRateEnumNV");
-m_vk.cmdSetVertexInputEXT                                                              = (CmdSetVertexInputEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetVertexInputEXT");
-m_vk.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI             = (GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc)   GET_PROC_ADDR("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
-m_vk.cmdSubpassShadingHUAWEI                                                   = (CmdSubpassShadingHUAWEIFunc)                                                 GET_PROC_ADDR("vkCmdSubpassShadingHUAWEI");
-m_vk.cmdBindInvocationMaskHUAWEI                                               = (CmdBindInvocationMaskHUAWEIFunc)                                             GET_PROC_ADDR("vkCmdBindInvocationMaskHUAWEI");
-m_vk.getMemoryRemoteAddressNV                                                  = (GetMemoryRemoteAddressNVFunc)                                                GET_PROC_ADDR("vkGetMemoryRemoteAddressNV");
-m_vk.cmdSetPatchControlPointsEXT                                               = (CmdSetPatchControlPointsEXTFunc)                                             GET_PROC_ADDR("vkCmdSetPatchControlPointsEXT");
-m_vk.cmdSetLogicOpEXT                                                                  = (CmdSetLogicOpEXTFunc)                                                                GET_PROC_ADDR("vkCmdSetLogicOpEXT");
-m_vk.cmdSetColorWriteEnableEXT                                                 = (CmdSetColorWriteEnableEXTFunc)                                               GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT");
-m_vk.cmdDrawMultiEXT                                                                   = (CmdDrawMultiEXTFunc)                                                                 GET_PROC_ADDR("vkCmdDrawMultiEXT");
-m_vk.cmdDrawMultiIndexedEXT                                                            = (CmdDrawMultiIndexedEXTFunc)                                                  GET_PROC_ADDR("vkCmdDrawMultiIndexedEXT");
-m_vk.setDeviceMemoryPriorityEXT                                                        = (SetDeviceMemoryPriorityEXTFunc)                                              GET_PROC_ADDR("vkSetDeviceMemoryPriorityEXT");
-m_vk.getDescriptorSetLayoutHostMappingInfoVALVE                        = (GetDescriptorSetLayoutHostMappingInfoVALVEFunc)              GET_PROC_ADDR("vkGetDescriptorSetLayoutHostMappingInfoVALVE");
-m_vk.getDescriptorSetHostMappingVALVE                                  = (GetDescriptorSetHostMappingVALVEFunc)                                GET_PROC_ADDR("vkGetDescriptorSetHostMappingVALVE");
-m_vk.createAccelerationStructureKHR                                            = (CreateAccelerationStructureKHRFunc)                                  GET_PROC_ADDR("vkCreateAccelerationStructureKHR");
-m_vk.destroyAccelerationStructureKHR                                   = (DestroyAccelerationStructureKHRFunc)                                 GET_PROC_ADDR("vkDestroyAccelerationStructureKHR");
-m_vk.cmdBuildAccelerationStructuresKHR                                 = (CmdBuildAccelerationStructuresKHRFunc)                               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR");
-m_vk.cmdBuildAccelerationStructuresIndirectKHR                 = (CmdBuildAccelerationStructuresIndirectKHRFunc)               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresIndirectKHR");
-m_vk.buildAccelerationStructuresKHR                                            = (BuildAccelerationStructuresKHRFunc)                                  GET_PROC_ADDR("vkBuildAccelerationStructuresKHR");
-m_vk.copyAccelerationStructureKHR                                              = (CopyAccelerationStructureKHRFunc)                                    GET_PROC_ADDR("vkCopyAccelerationStructureKHR");
-m_vk.copyAccelerationStructureToMemoryKHR                              = (CopyAccelerationStructureToMemoryKHRFunc)                    GET_PROC_ADDR("vkCopyAccelerationStructureToMemoryKHR");
-m_vk.copyMemoryToAccelerationStructureKHR                              = (CopyMemoryToAccelerationStructureKHRFunc)                    GET_PROC_ADDR("vkCopyMemoryToAccelerationStructureKHR");
-m_vk.writeAccelerationStructuresPropertiesKHR                  = (WriteAccelerationStructuresPropertiesKHRFunc)                GET_PROC_ADDR("vkWriteAccelerationStructuresPropertiesKHR");
-m_vk.cmdCopyAccelerationStructureKHR                                   = (CmdCopyAccelerationStructureKHRFunc)                                 GET_PROC_ADDR("vkCmdCopyAccelerationStructureKHR");
-m_vk.cmdCopyAccelerationStructureToMemoryKHR                   = (CmdCopyAccelerationStructureToMemoryKHRFunc)                 GET_PROC_ADDR("vkCmdCopyAccelerationStructureToMemoryKHR");
-m_vk.cmdCopyMemoryToAccelerationStructureKHR                   = (CmdCopyMemoryToAccelerationStructureKHRFunc)                 GET_PROC_ADDR("vkCmdCopyMemoryToAccelerationStructureKHR");
-m_vk.getAccelerationStructureDeviceAddressKHR                  = (GetAccelerationStructureDeviceAddressKHRFunc)                GET_PROC_ADDR("vkGetAccelerationStructureDeviceAddressKHR");
-m_vk.cmdWriteAccelerationStructuresPropertiesKHR               = (CmdWriteAccelerationStructuresPropertiesKHRFunc)             GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesKHR");
-m_vk.getDeviceAccelerationStructureCompatibilityKHR            = (GetDeviceAccelerationStructureCompatibilityKHRFunc)  GET_PROC_ADDR("vkGetDeviceAccelerationStructureCompatibilityKHR");
-m_vk.getAccelerationStructureBuildSizesKHR                             = (GetAccelerationStructureBuildSizesKHRFunc)                   GET_PROC_ADDR("vkGetAccelerationStructureBuildSizesKHR");
-m_vk.cmdTraceRaysKHR                                                                   = (CmdTraceRaysKHRFunc)                                                                 GET_PROC_ADDR("vkCmdTraceRaysKHR");
-m_vk.createRayTracingPipelinesKHR                                              = (CreateRayTracingPipelinesKHRFunc)                                    GET_PROC_ADDR("vkCreateRayTracingPipelinesKHR");
-m_vk.getRayTracingCaptureReplayShaderGroupHandlesKHR   = (GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc) GET_PROC_ADDR("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
-m_vk.cmdTraceRaysIndirectKHR                                                   = (CmdTraceRaysIndirectKHRFunc)                                                 GET_PROC_ADDR("vkCmdTraceRaysIndirectKHR");
-m_vk.getRayTracingShaderGroupStackSizeKHR                              = (GetRayTracingShaderGroupStackSizeKHRFunc)                    GET_PROC_ADDR("vkGetRayTracingShaderGroupStackSizeKHR");
-m_vk.cmdSetRayTracingPipelineStackSizeKHR                              = (CmdSetRayTracingPipelineStackSizeKHRFunc)                    GET_PROC_ADDR("vkCmdSetRayTracingPipelineStackSizeKHR");
-m_vk.getAndroidHardwareBufferPropertiesANDROID                 = (GetAndroidHardwareBufferPropertiesANDROIDFunc)               GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID");
-m_vk.getMemoryAndroidHardwareBufferANDROID                             = (GetMemoryAndroidHardwareBufferANDROIDFunc)                   GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID");
-m_vk.createVideoSessionKHR                                                             = (CreateVideoSessionKHRFunc)                                                   GET_PROC_ADDR("vkCreateVideoSessionKHR");
-m_vk.destroyVideoSessionKHR                                                            = (DestroyVideoSessionKHRFunc)                                                  GET_PROC_ADDR("vkDestroyVideoSessionKHR");
-m_vk.getVideoSessionMemoryRequirementsKHR                              = (GetVideoSessionMemoryRequirementsKHRFunc)                    GET_PROC_ADDR("vkGetVideoSessionMemoryRequirementsKHR");
-m_vk.bindVideoSessionMemoryKHR                                                 = (BindVideoSessionMemoryKHRFunc)                                               GET_PROC_ADDR("vkBindVideoSessionMemoryKHR");
-m_vk.createVideoSessionParametersKHR                                   = (CreateVideoSessionParametersKHRFunc)                                 GET_PROC_ADDR("vkCreateVideoSessionParametersKHR");
-m_vk.updateVideoSessionParametersKHR                                   = (UpdateVideoSessionParametersKHRFunc)                                 GET_PROC_ADDR("vkUpdateVideoSessionParametersKHR");
-m_vk.destroyVideoSessionParametersKHR                                  = (DestroyVideoSessionParametersKHRFunc)                                GET_PROC_ADDR("vkDestroyVideoSessionParametersKHR");
-m_vk.cmdBeginVideoCodingKHR                                                            = (CmdBeginVideoCodingKHRFunc)                                                  GET_PROC_ADDR("vkCmdBeginVideoCodingKHR");
-m_vk.cmdEndVideoCodingKHR                                                              = (CmdEndVideoCodingKHRFunc)                                                    GET_PROC_ADDR("vkCmdEndVideoCodingKHR");
-m_vk.cmdControlVideoCodingKHR                                                  = (CmdControlVideoCodingKHRFunc)                                                GET_PROC_ADDR("vkCmdControlVideoCodingKHR");
-m_vk.cmdDecodeVideoKHR                                                                 = (CmdDecodeVideoKHRFunc)                                                               GET_PROC_ADDR("vkCmdDecodeVideoKHR");
-m_vk.cmdEncodeVideoKHR                                                                 = (CmdEncodeVideoKHRFunc)                                                               GET_PROC_ADDR("vkCmdEncodeVideoKHR");
-m_vk.getMemoryZirconHandleFUCHSIA                                              = (GetMemoryZirconHandleFUCHSIAFunc)                                    GET_PROC_ADDR("vkGetMemoryZirconHandleFUCHSIA");
-m_vk.getMemoryZirconHandlePropertiesFUCHSIA                            = (GetMemoryZirconHandlePropertiesFUCHSIAFunc)                  GET_PROC_ADDR("vkGetMemoryZirconHandlePropertiesFUCHSIA");
-m_vk.importSemaphoreZirconHandleFUCHSIA                                        = (ImportSemaphoreZirconHandleFUCHSIAFunc)                              GET_PROC_ADDR("vkImportSemaphoreZirconHandleFUCHSIA");
-m_vk.getSemaphoreZirconHandleFUCHSIA                                   = (GetSemaphoreZirconHandleFUCHSIAFunc)                                 GET_PROC_ADDR("vkGetSemaphoreZirconHandleFUCHSIA");
-m_vk.createBufferCollectionFUCHSIA                                             = (CreateBufferCollectionFUCHSIAFunc)                                   GET_PROC_ADDR("vkCreateBufferCollectionFUCHSIA");
-m_vk.setBufferCollectionImageConstraintsFUCHSIA                        = (SetBufferCollectionImageConstraintsFUCHSIAFunc)              GET_PROC_ADDR("vkSetBufferCollectionImageConstraintsFUCHSIA");
-m_vk.setBufferCollectionBufferConstraintsFUCHSIA               = (SetBufferCollectionBufferConstraintsFUCHSIAFunc)             GET_PROC_ADDR("vkSetBufferCollectionBufferConstraintsFUCHSIA");
-m_vk.destroyBufferCollectionFUCHSIA                                            = (DestroyBufferCollectionFUCHSIAFunc)                                  GET_PROC_ADDR("vkDestroyBufferCollectionFUCHSIA");
-m_vk.getBufferCollectionPropertiesFUCHSIA                              = (GetBufferCollectionPropertiesFUCHSIAFunc)                    GET_PROC_ADDR("vkGetBufferCollectionPropertiesFUCHSIA");
-m_vk.getMemoryWin32HandleKHR                                                   = (GetMemoryWin32HandleKHRFunc)                                                 GET_PROC_ADDR("vkGetMemoryWin32HandleKHR");
-m_vk.getMemoryWin32HandlePropertiesKHR                                 = (GetMemoryWin32HandlePropertiesKHRFunc)                               GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR");
-m_vk.importSemaphoreWin32HandleKHR                                             = (ImportSemaphoreWin32HandleKHRFunc)                                   GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR");
-m_vk.getSemaphoreWin32HandleKHR                                                        = (GetSemaphoreWin32HandleKHRFunc)                                              GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR");
-m_vk.importFenceWin32HandleKHR                                                 = (ImportFenceWin32HandleKHRFunc)                                               GET_PROC_ADDR("vkImportFenceWin32HandleKHR");
-m_vk.getFenceWin32HandleKHR                                                            = (GetFenceWin32HandleKHRFunc)                                                  GET_PROC_ADDR("vkGetFenceWin32HandleKHR");
-m_vk.getMemoryWin32HandleNV                                                            = (GetMemoryWin32HandleNVFunc)                                                  GET_PROC_ADDR("vkGetMemoryWin32HandleNV");
-m_vk.acquireFullScreenExclusiveModeEXT                                 = (AcquireFullScreenExclusiveModeEXTFunc)                               GET_PROC_ADDR("vkAcquireFullScreenExclusiveModeEXT");
-m_vk.releaseFullScreenExclusiveModeEXT                                 = (ReleaseFullScreenExclusiveModeEXTFunc)                               GET_PROC_ADDR("vkReleaseFullScreenExclusiveModeEXT");
-m_vk.getDeviceGroupSurfacePresentModes2EXT                             = (GetDeviceGroupSurfacePresentModes2EXTFunc)                   GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModes2EXT");
+       m_vk.getDeviceImageSparseMemoryRequirements                             = (GetDeviceImageSparseMemoryRequirementsFunc)                                  GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirementsKHR");
+m_vk.createSwapchainKHR                                                                                = (CreateSwapchainKHRFunc)                                                                              GET_PROC_ADDR("vkCreateSwapchainKHR");
+m_vk.destroySwapchainKHR                                                                       = (DestroySwapchainKHRFunc)                                                                             GET_PROC_ADDR("vkDestroySwapchainKHR");
+m_vk.getSwapchainImagesKHR                                                                     = (GetSwapchainImagesKHRFunc)                                                                   GET_PROC_ADDR("vkGetSwapchainImagesKHR");
+m_vk.acquireNextImageKHR                                                                       = (AcquireNextImageKHRFunc)                                                                             GET_PROC_ADDR("vkAcquireNextImageKHR");
+m_vk.queuePresentKHR                                                                           = (QueuePresentKHRFunc)                                                                                 GET_PROC_ADDR("vkQueuePresentKHR");
+m_vk.getDeviceGroupPresentCapabilitiesKHR                                      = (GetDeviceGroupPresentCapabilitiesKHRFunc)                                    GET_PROC_ADDR("vkGetDeviceGroupPresentCapabilitiesKHR");
+m_vk.getDeviceGroupSurfacePresentModesKHR                                      = (GetDeviceGroupSurfacePresentModesKHRFunc)                                    GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR");
+m_vk.acquireNextImage2KHR                                                                      = (AcquireNextImage2KHRFunc)                                                                    GET_PROC_ADDR("vkAcquireNextImage2KHR");
+m_vk.createSharedSwapchainsKHR                                                         = (CreateSharedSwapchainsKHRFunc)                                                               GET_PROC_ADDR("vkCreateSharedSwapchainsKHR");
+m_vk.getMemoryFdKHR                                                                                    = (GetMemoryFdKHRFunc)                                                                                  GET_PROC_ADDR("vkGetMemoryFdKHR");
+m_vk.getMemoryFdPropertiesKHR                                                          = (GetMemoryFdPropertiesKHRFunc)                                                                GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR");
+m_vk.importSemaphoreFdKHR                                                                      = (ImportSemaphoreFdKHRFunc)                                                                    GET_PROC_ADDR("vkImportSemaphoreFdKHR");
+m_vk.getSemaphoreFdKHR                                                                         = (GetSemaphoreFdKHRFunc)                                                                               GET_PROC_ADDR("vkGetSemaphoreFdKHR");
+m_vk.cmdPushDescriptorSetKHR                                                           = (CmdPushDescriptorSetKHRFunc)                                                                 GET_PROC_ADDR("vkCmdPushDescriptorSetKHR");
+m_vk.cmdPushDescriptorSetWithTemplateKHR                                       = (CmdPushDescriptorSetWithTemplateKHRFunc)                                             GET_PROC_ADDR("vkCmdPushDescriptorSetWithTemplateKHR");
+m_vk.getSwapchainStatusKHR                                                                     = (GetSwapchainStatusKHRFunc)                                                                   GET_PROC_ADDR("vkGetSwapchainStatusKHR");
+m_vk.importFenceFdKHR                                                                          = (ImportFenceFdKHRFunc)                                                                                GET_PROC_ADDR("vkImportFenceFdKHR");
+m_vk.getFenceFdKHR                                                                                     = (GetFenceFdKHRFunc)                                                                                   GET_PROC_ADDR("vkGetFenceFdKHR");
+m_vk.acquireProfilingLockKHR                                                           = (AcquireProfilingLockKHRFunc)                                                                 GET_PROC_ADDR("vkAcquireProfilingLockKHR");
+m_vk.releaseProfilingLockKHR                                                           = (ReleaseProfilingLockKHRFunc)                                                                 GET_PROC_ADDR("vkReleaseProfilingLockKHR");
+m_vk.cmdSetFragmentShadingRateKHR                                                      = (CmdSetFragmentShadingRateKHRFunc)                                                    GET_PROC_ADDR("vkCmdSetFragmentShadingRateKHR");
+m_vk.waitForPresentKHR                                                                         = (WaitForPresentKHRFunc)                                                                               GET_PROC_ADDR("vkWaitForPresentKHR");
+m_vk.createDeferredOperationKHR                                                                = (CreateDeferredOperationKHRFunc)                                                              GET_PROC_ADDR("vkCreateDeferredOperationKHR");
+m_vk.destroyDeferredOperationKHR                                                       = (DestroyDeferredOperationKHRFunc)                                                             GET_PROC_ADDR("vkDestroyDeferredOperationKHR");
+m_vk.getDeferredOperationMaxConcurrencyKHR                                     = (GetDeferredOperationMaxConcurrencyKHRFunc)                                   GET_PROC_ADDR("vkGetDeferredOperationMaxConcurrencyKHR");
+m_vk.getDeferredOperationResultKHR                                                     = (GetDeferredOperationResultKHRFunc)                                                   GET_PROC_ADDR("vkGetDeferredOperationResultKHR");
+m_vk.deferredOperationJoinKHR                                                          = (DeferredOperationJoinKHRFunc)                                                                GET_PROC_ADDR("vkDeferredOperationJoinKHR");
+m_vk.getPipelineExecutablePropertiesKHR                                                = (GetPipelineExecutablePropertiesKHRFunc)                                              GET_PROC_ADDR("vkGetPipelineExecutablePropertiesKHR");
+m_vk.getPipelineExecutableStatisticsKHR                                                = (GetPipelineExecutableStatisticsKHRFunc)                                              GET_PROC_ADDR("vkGetPipelineExecutableStatisticsKHR");
+m_vk.getPipelineExecutableInternalRepresentationsKHR           = (GetPipelineExecutableInternalRepresentationsKHRFunc)                 GET_PROC_ADDR("vkGetPipelineExecutableInternalRepresentationsKHR");
+m_vk.cmdWriteBufferMarker2AMD                                                          = (CmdWriteBufferMarker2AMDFunc)                                                                GET_PROC_ADDR("vkCmdWriteBufferMarker2AMD");
+m_vk.getQueueCheckpointData2NV                                                         = (GetQueueCheckpointData2NVFunc)                                                               GET_PROC_ADDR("vkGetQueueCheckpointData2NV");
+m_vk.cmdTraceRaysIndirect2KHR                                                          = (CmdTraceRaysIndirect2KHRFunc)                                                                GET_PROC_ADDR("vkCmdTraceRaysIndirect2KHR");
+m_vk.debugMarkerSetObjectTagEXT                                                                = (DebugMarkerSetObjectTagEXTFunc)                                                              GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT");
+m_vk.debugMarkerSetObjectNameEXT                                                       = (DebugMarkerSetObjectNameEXTFunc)                                                             GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT");
+m_vk.cmdDebugMarkerBeginEXT                                                                    = (CmdDebugMarkerBeginEXTFunc)                                                                  GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT");
+m_vk.cmdDebugMarkerEndEXT                                                                      = (CmdDebugMarkerEndEXTFunc)                                                                    GET_PROC_ADDR("vkCmdDebugMarkerEndEXT");
+m_vk.cmdDebugMarkerInsertEXT                                                           = (CmdDebugMarkerInsertEXTFunc)                                                                 GET_PROC_ADDR("vkCmdDebugMarkerInsertEXT");
+m_vk.cmdBindTransformFeedbackBuffersEXT                                                = (CmdBindTransformFeedbackBuffersEXTFunc)                                              GET_PROC_ADDR("vkCmdBindTransformFeedbackBuffersEXT");
+m_vk.cmdBeginTransformFeedbackEXT                                                      = (CmdBeginTransformFeedbackEXTFunc)                                                    GET_PROC_ADDR("vkCmdBeginTransformFeedbackEXT");
+m_vk.cmdEndTransformFeedbackEXT                                                                = (CmdEndTransformFeedbackEXTFunc)                                                              GET_PROC_ADDR("vkCmdEndTransformFeedbackEXT");
+m_vk.cmdBeginQueryIndexedEXT                                                           = (CmdBeginQueryIndexedEXTFunc)                                                                 GET_PROC_ADDR("vkCmdBeginQueryIndexedEXT");
+m_vk.cmdEndQueryIndexedEXT                                                                     = (CmdEndQueryIndexedEXTFunc)                                                                   GET_PROC_ADDR("vkCmdEndQueryIndexedEXT");
+m_vk.cmdDrawIndirectByteCountEXT                                                       = (CmdDrawIndirectByteCountEXTFunc)                                                             GET_PROC_ADDR("vkCmdDrawIndirectByteCountEXT");
+m_vk.createCuModuleNVX                                                                         = (CreateCuModuleNVXFunc)                                                                               GET_PROC_ADDR("vkCreateCuModuleNVX");
+m_vk.createCuFunctionNVX                                                                       = (CreateCuFunctionNVXFunc)                                                                             GET_PROC_ADDR("vkCreateCuFunctionNVX");
+m_vk.destroyCuModuleNVX                                                                                = (DestroyCuModuleNVXFunc)                                                                              GET_PROC_ADDR("vkDestroyCuModuleNVX");
+m_vk.destroyCuFunctionNVX                                                                      = (DestroyCuFunctionNVXFunc)                                                                    GET_PROC_ADDR("vkDestroyCuFunctionNVX");
+m_vk.cmdCuLaunchKernelNVX                                                                      = (CmdCuLaunchKernelNVXFunc)                                                                    GET_PROC_ADDR("vkCmdCuLaunchKernelNVX");
+m_vk.getImageViewHandleNVX                                                                     = (GetImageViewHandleNVXFunc)                                                                   GET_PROC_ADDR("vkGetImageViewHandleNVX");
+m_vk.getImageViewAddressNVX                                                                    = (GetImageViewAddressNVXFunc)                                                                  GET_PROC_ADDR("vkGetImageViewAddressNVX");
+m_vk.cmdDrawIndirectCountAMD                                                           = (CmdDrawIndirectCountAMDFunc)                                                                 GET_PROC_ADDR("vkCmdDrawIndirectCountAMD");
+m_vk.cmdDrawIndexedIndirectCountAMD                                                    = (CmdDrawIndexedIndirectCountAMDFunc)                                                  GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD");
+m_vk.getShaderInfoAMD                                                                          = (GetShaderInfoAMDFunc)                                                                                GET_PROC_ADDR("vkGetShaderInfoAMD");
+m_vk.cmdBeginConditionalRenderingEXT                                           = (CmdBeginConditionalRenderingEXTFunc)                                                 GET_PROC_ADDR("vkCmdBeginConditionalRenderingEXT");
+m_vk.cmdEndConditionalRenderingEXT                                                     = (CmdEndConditionalRenderingEXTFunc)                                                   GET_PROC_ADDR("vkCmdEndConditionalRenderingEXT");
+m_vk.cmdSetViewportWScalingNV                                                          = (CmdSetViewportWScalingNVFunc)                                                                GET_PROC_ADDR("vkCmdSetViewportWScalingNV");
+m_vk.displayPowerControlEXT                                                                    = (DisplayPowerControlEXTFunc)                                                                  GET_PROC_ADDR("vkDisplayPowerControlEXT");
+m_vk.registerDeviceEventEXT                                                                    = (RegisterDeviceEventEXTFunc)                                                                  GET_PROC_ADDR("vkRegisterDeviceEventEXT");
+m_vk.registerDisplayEventEXT                                                           = (RegisterDisplayEventEXTFunc)                                                                 GET_PROC_ADDR("vkRegisterDisplayEventEXT");
+m_vk.getSwapchainCounterEXT                                                                    = (GetSwapchainCounterEXTFunc)                                                                  GET_PROC_ADDR("vkGetSwapchainCounterEXT");
+m_vk.getRefreshCycleDurationGOOGLE                                                     = (GetRefreshCycleDurationGOOGLEFunc)                                                   GET_PROC_ADDR("vkGetRefreshCycleDurationGOOGLE");
+m_vk.getPastPresentationTimingGOOGLE                                           = (GetPastPresentationTimingGOOGLEFunc)                                                 GET_PROC_ADDR("vkGetPastPresentationTimingGOOGLE");
+m_vk.cmdSetDiscardRectangleEXT                                                         = (CmdSetDiscardRectangleEXTFunc)                                                               GET_PROC_ADDR("vkCmdSetDiscardRectangleEXT");
+m_vk.setHdrMetadataEXT                                                                         = (SetHdrMetadataEXTFunc)                                                                               GET_PROC_ADDR("vkSetHdrMetadataEXT");
+m_vk.setDebugUtilsObjectNameEXT                                                                = (SetDebugUtilsObjectNameEXTFunc)                                                              GET_PROC_ADDR("vkSetDebugUtilsObjectNameEXT");
+m_vk.setDebugUtilsObjectTagEXT                                                         = (SetDebugUtilsObjectTagEXTFunc)                                                               GET_PROC_ADDR("vkSetDebugUtilsObjectTagEXT");
+m_vk.queueBeginDebugUtilsLabelEXT                                                      = (QueueBeginDebugUtilsLabelEXTFunc)                                                    GET_PROC_ADDR("vkQueueBeginDebugUtilsLabelEXT");
+m_vk.queueEndDebugUtilsLabelEXT                                                                = (QueueEndDebugUtilsLabelEXTFunc)                                                              GET_PROC_ADDR("vkQueueEndDebugUtilsLabelEXT");
+m_vk.queueInsertDebugUtilsLabelEXT                                                     = (QueueInsertDebugUtilsLabelEXTFunc)                                                   GET_PROC_ADDR("vkQueueInsertDebugUtilsLabelEXT");
+m_vk.cmdBeginDebugUtilsLabelEXT                                                                = (CmdBeginDebugUtilsLabelEXTFunc)                                                              GET_PROC_ADDR("vkCmdBeginDebugUtilsLabelEXT");
+m_vk.cmdEndDebugUtilsLabelEXT                                                          = (CmdEndDebugUtilsLabelEXTFunc)                                                                GET_PROC_ADDR("vkCmdEndDebugUtilsLabelEXT");
+m_vk.cmdInsertDebugUtilsLabelEXT                                                       = (CmdInsertDebugUtilsLabelEXTFunc)                                                             GET_PROC_ADDR("vkCmdInsertDebugUtilsLabelEXT");
+m_vk.cmdSetSampleLocationsEXT                                                          = (CmdSetSampleLocationsEXTFunc)                                                                GET_PROC_ADDR("vkCmdSetSampleLocationsEXT");
+m_vk.getImageDrmFormatModifierPropertiesEXT                                    = (GetImageDrmFormatModifierPropertiesEXTFunc)                                  GET_PROC_ADDR("vkGetImageDrmFormatModifierPropertiesEXT");
+m_vk.createValidationCacheEXT                                                          = (CreateValidationCacheEXTFunc)                                                                GET_PROC_ADDR("vkCreateValidationCacheEXT");
+m_vk.destroyValidationCacheEXT                                                         = (DestroyValidationCacheEXTFunc)                                                               GET_PROC_ADDR("vkDestroyValidationCacheEXT");
+m_vk.mergeValidationCachesEXT                                                          = (MergeValidationCachesEXTFunc)                                                                GET_PROC_ADDR("vkMergeValidationCachesEXT");
+m_vk.getValidationCacheDataEXT                                                         = (GetValidationCacheDataEXTFunc)                                                               GET_PROC_ADDR("vkGetValidationCacheDataEXT");
+m_vk.cmdBindShadingRateImageNV                                                         = (CmdBindShadingRateImageNVFunc)                                                               GET_PROC_ADDR("vkCmdBindShadingRateImageNV");
+m_vk.cmdSetViewportShadingRatePaletteNV                                                = (CmdSetViewportShadingRatePaletteNVFunc)                                              GET_PROC_ADDR("vkCmdSetViewportShadingRatePaletteNV");
+m_vk.cmdSetCoarseSampleOrderNV                                                         = (CmdSetCoarseSampleOrderNVFunc)                                                               GET_PROC_ADDR("vkCmdSetCoarseSampleOrderNV");
+m_vk.createAccelerationStructureNV                                                     = (CreateAccelerationStructureNVFunc)                                                   GET_PROC_ADDR("vkCreateAccelerationStructureNV");
+m_vk.destroyAccelerationStructureNV                                                    = (DestroyAccelerationStructureNVFunc)                                                  GET_PROC_ADDR("vkDestroyAccelerationStructureNV");
+m_vk.getAccelerationStructureMemoryRequirementsNV                      = (GetAccelerationStructureMemoryRequirementsNVFunc)                    GET_PROC_ADDR("vkGetAccelerationStructureMemoryRequirementsNV");
+m_vk.bindAccelerationStructureMemoryNV                                         = (BindAccelerationStructureMemoryNVFunc)                                               GET_PROC_ADDR("vkBindAccelerationStructureMemoryNV");
+m_vk.cmdBuildAccelerationStructureNV                                           = (CmdBuildAccelerationStructureNVFunc)                                                 GET_PROC_ADDR("vkCmdBuildAccelerationStructureNV");
+m_vk.cmdCopyAccelerationStructureNV                                                    = (CmdCopyAccelerationStructureNVFunc)                                                  GET_PROC_ADDR("vkCmdCopyAccelerationStructureNV");
+m_vk.cmdTraceRaysNV                                                                                    = (CmdTraceRaysNVFunc)                                                                                  GET_PROC_ADDR("vkCmdTraceRaysNV");
+m_vk.createRayTracingPipelinesNV                                                       = (CreateRayTracingPipelinesNVFunc)                                                             GET_PROC_ADDR("vkCreateRayTracingPipelinesNV");
+m_vk.getRayTracingShaderGroupHandlesKHR                                                = (GetRayTracingShaderGroupHandlesKHRFunc)                                              GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesKHR");
+m_vk.getRayTracingShaderGroupHandlesNV                                         = (GetRayTracingShaderGroupHandlesNVFunc)                                               GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesNV");
+m_vk.getAccelerationStructureHandleNV                                          = (GetAccelerationStructureHandleNVFunc)                                                GET_PROC_ADDR("vkGetAccelerationStructureHandleNV");
+m_vk.cmdWriteAccelerationStructuresPropertiesNV                                = (CmdWriteAccelerationStructuresPropertiesNVFunc)                              GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesNV");
+m_vk.compileDeferredNV                                                                         = (CompileDeferredNVFunc)                                                                               GET_PROC_ADDR("vkCompileDeferredNV");
+m_vk.getMemoryHostPointerPropertiesEXT                                         = (GetMemoryHostPointerPropertiesEXTFunc)                                               GET_PROC_ADDR("vkGetMemoryHostPointerPropertiesEXT");
+m_vk.cmdWriteBufferMarkerAMD                                                           = (CmdWriteBufferMarkerAMDFunc)                                                                 GET_PROC_ADDR("vkCmdWriteBufferMarkerAMD");
+m_vk.getCalibratedTimestampsEXT                                                                = (GetCalibratedTimestampsEXTFunc)                                                              GET_PROC_ADDR("vkGetCalibratedTimestampsEXT");
+m_vk.cmdDrawMeshTasksNV                                                                                = (CmdDrawMeshTasksNVFunc)                                                                              GET_PROC_ADDR("vkCmdDrawMeshTasksNV");
+m_vk.cmdDrawMeshTasksIndirectNV                                                                = (CmdDrawMeshTasksIndirectNVFunc)                                                              GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectNV");
+m_vk.cmdDrawMeshTasksIndirectCountNV                                           = (CmdDrawMeshTasksIndirectCountNVFunc)                                                 GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectCountNV");
+m_vk.cmdSetExclusiveScissorNV                                                          = (CmdSetExclusiveScissorNVFunc)                                                                GET_PROC_ADDR("vkCmdSetExclusiveScissorNV");
+m_vk.cmdSetCheckpointNV                                                                                = (CmdSetCheckpointNVFunc)                                                                              GET_PROC_ADDR("vkCmdSetCheckpointNV");
+m_vk.getQueueCheckpointDataNV                                                          = (GetQueueCheckpointDataNVFunc)                                                                GET_PROC_ADDR("vkGetQueueCheckpointDataNV");
+m_vk.initializePerformanceApiINTEL                                                     = (InitializePerformanceApiINTELFunc)                                                   GET_PROC_ADDR("vkInitializePerformanceApiINTEL");
+m_vk.uninitializePerformanceApiINTEL                                           = (UninitializePerformanceApiINTELFunc)                                                 GET_PROC_ADDR("vkUninitializePerformanceApiINTEL");
+m_vk.cmdSetPerformanceMarkerINTEL                                                      = (CmdSetPerformanceMarkerINTELFunc)                                                    GET_PROC_ADDR("vkCmdSetPerformanceMarkerINTEL");
+m_vk.cmdSetPerformanceStreamMarkerINTEL                                                = (CmdSetPerformanceStreamMarkerINTELFunc)                                              GET_PROC_ADDR("vkCmdSetPerformanceStreamMarkerINTEL");
+m_vk.cmdSetPerformanceOverrideINTEL                                                    = (CmdSetPerformanceOverrideINTELFunc)                                                  GET_PROC_ADDR("vkCmdSetPerformanceOverrideINTEL");
+m_vk.acquirePerformanceConfigurationINTEL                                      = (AcquirePerformanceConfigurationINTELFunc)                                    GET_PROC_ADDR("vkAcquirePerformanceConfigurationINTEL");
+m_vk.releasePerformanceConfigurationINTEL                                      = (ReleasePerformanceConfigurationINTELFunc)                                    GET_PROC_ADDR("vkReleasePerformanceConfigurationINTEL");
+m_vk.queueSetPerformanceConfigurationINTEL                                     = (QueueSetPerformanceConfigurationINTELFunc)                                   GET_PROC_ADDR("vkQueueSetPerformanceConfigurationINTEL");
+m_vk.getPerformanceParameterINTEL                                                      = (GetPerformanceParameterINTELFunc)                                                    GET_PROC_ADDR("vkGetPerformanceParameterINTEL");
+m_vk.setLocalDimmingAMD                                                                                = (SetLocalDimmingAMDFunc)                                                                              GET_PROC_ADDR("vkSetLocalDimmingAMD");
+m_vk.getBufferDeviceAddressEXT                                                         = (GetBufferDeviceAddressEXTFunc)                                                               GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
+m_vk.cmdSetLineStippleEXT                                                                      = (CmdSetLineStippleEXTFunc)                                                                    GET_PROC_ADDR("vkCmdSetLineStippleEXT");
+m_vk.getGeneratedCommandsMemoryRequirementsNV                          = (GetGeneratedCommandsMemoryRequirementsNVFunc)                                GET_PROC_ADDR("vkGetGeneratedCommandsMemoryRequirementsNV");
+m_vk.cmdPreprocessGeneratedCommandsNV                                          = (CmdPreprocessGeneratedCommandsNVFunc)                                                GET_PROC_ADDR("vkCmdPreprocessGeneratedCommandsNV");
+m_vk.cmdExecuteGeneratedCommandsNV                                                     = (CmdExecuteGeneratedCommandsNVFunc)                                                   GET_PROC_ADDR("vkCmdExecuteGeneratedCommandsNV");
+m_vk.cmdBindPipelineShaderGroupNV                                                      = (CmdBindPipelineShaderGroupNVFunc)                                                    GET_PROC_ADDR("vkCmdBindPipelineShaderGroupNV");
+m_vk.createIndirectCommandsLayoutNV                                                    = (CreateIndirectCommandsLayoutNVFunc)                                                  GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNV");
+m_vk.destroyIndirectCommandsLayoutNV                                           = (DestroyIndirectCommandsLayoutNVFunc)                                                 GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNV");
+m_vk.getDescriptorSetLayoutSizeEXT                                                     = (GetDescriptorSetLayoutSizeEXTFunc)                                                   GET_PROC_ADDR("vkGetDescriptorSetLayoutSizeEXT");
+m_vk.getDescriptorSetLayoutBindingOffsetEXT                                    = (GetDescriptorSetLayoutBindingOffsetEXTFunc)                                  GET_PROC_ADDR("vkGetDescriptorSetLayoutBindingOffsetEXT");
+m_vk.getDescriptorEXT                                                                          = (GetDescriptorEXTFunc)                                                                                GET_PROC_ADDR("vkGetDescriptorEXT");
+m_vk.cmdBindDescriptorBuffersEXT                                                       = (CmdBindDescriptorBuffersEXTFunc)                                                             GET_PROC_ADDR("vkCmdBindDescriptorBuffersEXT");
+m_vk.cmdSetDescriptorBufferOffsetsEXT                                          = (CmdSetDescriptorBufferOffsetsEXTFunc)                                                GET_PROC_ADDR("vkCmdSetDescriptorBufferOffsetsEXT");
+m_vk.cmdBindDescriptorBufferEmbeddedSamplersEXT                                = (CmdBindDescriptorBufferEmbeddedSamplersEXTFunc)                              GET_PROC_ADDR("vkCmdBindDescriptorBufferEmbeddedSamplersEXT");
+m_vk.getBufferOpaqueCaptureDescriptorDataEXT                           = (GetBufferOpaqueCaptureDescriptorDataEXTFunc)                                 GET_PROC_ADDR("vkGetBufferOpaqueCaptureDescriptorDataEXT");
+m_vk.getImageOpaqueCaptureDescriptorDataEXT                                    = (GetImageOpaqueCaptureDescriptorDataEXTFunc)                                  GET_PROC_ADDR("vkGetImageOpaqueCaptureDescriptorDataEXT");
+m_vk.getImageViewOpaqueCaptureDescriptorDataEXT                                = (GetImageViewOpaqueCaptureDescriptorDataEXTFunc)                              GET_PROC_ADDR("vkGetImageViewOpaqueCaptureDescriptorDataEXT");
+m_vk.getSamplerOpaqueCaptureDescriptorDataEXT                          = (GetSamplerOpaqueCaptureDescriptorDataEXTFunc)                                GET_PROC_ADDR("vkGetSamplerOpaqueCaptureDescriptorDataEXT");
+m_vk.getAccelerationStructureOpaqueCaptureDescriptorDataEXT    = (GetAccelerationStructureOpaqueCaptureDescriptorDataEXTFunc)  GET_PROC_ADDR("vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT");
+m_vk.cmdSetFragmentShadingRateEnumNV                                           = (CmdSetFragmentShadingRateEnumNVFunc)                                                 GET_PROC_ADDR("vkCmdSetFragmentShadingRateEnumNV");
+m_vk.getImageSubresourceLayout2EXT                                                     = (GetImageSubresourceLayout2EXTFunc)                                                   GET_PROC_ADDR("vkGetImageSubresourceLayout2EXT");
+m_vk.cmdSetVertexInputEXT                                                                      = (CmdSetVertexInputEXTFunc)                                                                    GET_PROC_ADDR("vkCmdSetVertexInputEXT");
+m_vk.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI                     = (GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc)                   GET_PROC_ADDR("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
+m_vk.cmdSubpassShadingHUAWEI                                                           = (CmdSubpassShadingHUAWEIFunc)                                                                 GET_PROC_ADDR("vkCmdSubpassShadingHUAWEI");
+m_vk.cmdBindInvocationMaskHUAWEI                                                       = (CmdBindInvocationMaskHUAWEIFunc)                                                             GET_PROC_ADDR("vkCmdBindInvocationMaskHUAWEI");
+m_vk.getMemoryRemoteAddressNV                                                          = (GetMemoryRemoteAddressNVFunc)                                                                GET_PROC_ADDR("vkGetMemoryRemoteAddressNV");
+m_vk.getPipelinePropertiesEXT                                                          = (GetPipelinePropertiesEXTFunc)                                                                GET_PROC_ADDR("vkGetPipelinePropertiesEXT");
+m_vk.cmdSetPatchControlPointsEXT                                                       = (CmdSetPatchControlPointsEXTFunc)                                                             GET_PROC_ADDR("vkCmdSetPatchControlPointsEXT");
+m_vk.cmdSetLogicOpEXT                                                                          = (CmdSetLogicOpEXTFunc)                                                                                GET_PROC_ADDR("vkCmdSetLogicOpEXT");
+m_vk.cmdSetColorWriteEnableEXT                                                         = (CmdSetColorWriteEnableEXTFunc)                                                               GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT");
+m_vk.cmdDrawMultiEXT                                                                           = (CmdDrawMultiEXTFunc)                                                                                 GET_PROC_ADDR("vkCmdDrawMultiEXT");
+m_vk.cmdDrawMultiIndexedEXT                                                                    = (CmdDrawMultiIndexedEXTFunc)                                                                  GET_PROC_ADDR("vkCmdDrawMultiIndexedEXT");
+m_vk.setDeviceMemoryPriorityEXT                                                                = (SetDeviceMemoryPriorityEXTFunc)                                                              GET_PROC_ADDR("vkSetDeviceMemoryPriorityEXT");
+m_vk.getDescriptorSetLayoutHostMappingInfoVALVE                                = (GetDescriptorSetLayoutHostMappingInfoVALVEFunc)                              GET_PROC_ADDR("vkGetDescriptorSetLayoutHostMappingInfoVALVE");
+m_vk.getDescriptorSetHostMappingVALVE                                          = (GetDescriptorSetHostMappingVALVEFunc)                                                GET_PROC_ADDR("vkGetDescriptorSetHostMappingVALVE");
+m_vk.createAccelerationStructureKHR                                                    = (CreateAccelerationStructureKHRFunc)                                                  GET_PROC_ADDR("vkCreateAccelerationStructureKHR");
+m_vk.destroyAccelerationStructureKHR                                           = (DestroyAccelerationStructureKHRFunc)                                                 GET_PROC_ADDR("vkDestroyAccelerationStructureKHR");
+m_vk.cmdBuildAccelerationStructuresKHR                                         = (CmdBuildAccelerationStructuresKHRFunc)                                               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR");
+m_vk.cmdBuildAccelerationStructuresIndirectKHR                         = (CmdBuildAccelerationStructuresIndirectKHRFunc)                               GET_PROC_ADDR("vkCmdBuildAccelerationStructuresIndirectKHR");
+m_vk.buildAccelerationStructuresKHR                                                    = (BuildAccelerationStructuresKHRFunc)                                                  GET_PROC_ADDR("vkBuildAccelerationStructuresKHR");
+m_vk.copyAccelerationStructureKHR                                                      = (CopyAccelerationStructureKHRFunc)                                                    GET_PROC_ADDR("vkCopyAccelerationStructureKHR");
+m_vk.copyAccelerationStructureToMemoryKHR                                      = (CopyAccelerationStructureToMemoryKHRFunc)                                    GET_PROC_ADDR("vkCopyAccelerationStructureToMemoryKHR");
+m_vk.copyMemoryToAccelerationStructureKHR                                      = (CopyMemoryToAccelerationStructureKHRFunc)                                    GET_PROC_ADDR("vkCopyMemoryToAccelerationStructureKHR");
+m_vk.writeAccelerationStructuresPropertiesKHR                          = (WriteAccelerationStructuresPropertiesKHRFunc)                                GET_PROC_ADDR("vkWriteAccelerationStructuresPropertiesKHR");
+m_vk.cmdCopyAccelerationStructureKHR                                           = (CmdCopyAccelerationStructureKHRFunc)                                                 GET_PROC_ADDR("vkCmdCopyAccelerationStructureKHR");
+m_vk.cmdCopyAccelerationStructureToMemoryKHR                           = (CmdCopyAccelerationStructureToMemoryKHRFunc)                                 GET_PROC_ADDR("vkCmdCopyAccelerationStructureToMemoryKHR");
+m_vk.cmdCopyMemoryToAccelerationStructureKHR                           = (CmdCopyMemoryToAccelerationStructureKHRFunc)                                 GET_PROC_ADDR("vkCmdCopyMemoryToAccelerationStructureKHR");
+m_vk.getAccelerationStructureDeviceAddressKHR                          = (GetAccelerationStructureDeviceAddressKHRFunc)                                GET_PROC_ADDR("vkGetAccelerationStructureDeviceAddressKHR");
+m_vk.cmdWriteAccelerationStructuresPropertiesKHR                       = (CmdWriteAccelerationStructuresPropertiesKHRFunc)                             GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesKHR");
+m_vk.getDeviceAccelerationStructureCompatibilityKHR                    = (GetDeviceAccelerationStructureCompatibilityKHRFunc)                  GET_PROC_ADDR("vkGetDeviceAccelerationStructureCompatibilityKHR");
+m_vk.getAccelerationStructureBuildSizesKHR                                     = (GetAccelerationStructureBuildSizesKHRFunc)                                   GET_PROC_ADDR("vkGetAccelerationStructureBuildSizesKHR");
+m_vk.cmdTraceRaysKHR                                                                           = (CmdTraceRaysKHRFunc)                                                                                 GET_PROC_ADDR("vkCmdTraceRaysKHR");
+m_vk.createRayTracingPipelinesKHR                                                      = (CreateRayTracingPipelinesKHRFunc)                                                    GET_PROC_ADDR("vkCreateRayTracingPipelinesKHR");
+m_vk.getRayTracingCaptureReplayShaderGroupHandlesKHR           = (GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc)                 GET_PROC_ADDR("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
+m_vk.cmdTraceRaysIndirectKHR                                                           = (CmdTraceRaysIndirectKHRFunc)                                                                 GET_PROC_ADDR("vkCmdTraceRaysIndirectKHR");
+m_vk.getRayTracingShaderGroupStackSizeKHR                                      = (GetRayTracingShaderGroupStackSizeKHRFunc)                                    GET_PROC_ADDR("vkGetRayTracingShaderGroupStackSizeKHR");
+m_vk.cmdSetRayTracingPipelineStackSizeKHR                                      = (CmdSetRayTracingPipelineStackSizeKHRFunc)                                    GET_PROC_ADDR("vkCmdSetRayTracingPipelineStackSizeKHR");
+m_vk.getAndroidHardwareBufferPropertiesANDROID                         = (GetAndroidHardwareBufferPropertiesANDROIDFunc)                               GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID");
+m_vk.getMemoryAndroidHardwareBufferANDROID                                     = (GetMemoryAndroidHardwareBufferANDROIDFunc)                                   GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID");
+m_vk.createVideoSessionKHR                                                                     = (CreateVideoSessionKHRFunc)                                                                   GET_PROC_ADDR("vkCreateVideoSessionKHR");
+m_vk.destroyVideoSessionKHR                                                                    = (DestroyVideoSessionKHRFunc)                                                                  GET_PROC_ADDR("vkDestroyVideoSessionKHR");
+m_vk.getVideoSessionMemoryRequirementsKHR                                      = (GetVideoSessionMemoryRequirementsKHRFunc)                                    GET_PROC_ADDR("vkGetVideoSessionMemoryRequirementsKHR");
+m_vk.bindVideoSessionMemoryKHR                                                         = (BindVideoSessionMemoryKHRFunc)                                                               GET_PROC_ADDR("vkBindVideoSessionMemoryKHR");
+m_vk.createVideoSessionParametersKHR                                           = (CreateVideoSessionParametersKHRFunc)                                                 GET_PROC_ADDR("vkCreateVideoSessionParametersKHR");
+m_vk.updateVideoSessionParametersKHR                                           = (UpdateVideoSessionParametersKHRFunc)                                                 GET_PROC_ADDR("vkUpdateVideoSessionParametersKHR");
+m_vk.destroyVideoSessionParametersKHR                                          = (DestroyVideoSessionParametersKHRFunc)                                                GET_PROC_ADDR("vkDestroyVideoSessionParametersKHR");
+m_vk.cmdBeginVideoCodingKHR                                                                    = (CmdBeginVideoCodingKHRFunc)                                                                  GET_PROC_ADDR("vkCmdBeginVideoCodingKHR");
+m_vk.cmdEndVideoCodingKHR                                                                      = (CmdEndVideoCodingKHRFunc)                                                                    GET_PROC_ADDR("vkCmdEndVideoCodingKHR");
+m_vk.cmdControlVideoCodingKHR                                                          = (CmdControlVideoCodingKHRFunc)                                                                GET_PROC_ADDR("vkCmdControlVideoCodingKHR");
+m_vk.cmdDecodeVideoKHR                                                                         = (CmdDecodeVideoKHRFunc)                                                                               GET_PROC_ADDR("vkCmdDecodeVideoKHR");
+m_vk.cmdEncodeVideoKHR                                                                         = (CmdEncodeVideoKHRFunc)                                                                               GET_PROC_ADDR("vkCmdEncodeVideoKHR");
+m_vk.getMemoryZirconHandleFUCHSIA                                                      = (GetMemoryZirconHandleFUCHSIAFunc)                                                    GET_PROC_ADDR("vkGetMemoryZirconHandleFUCHSIA");
+m_vk.getMemoryZirconHandlePropertiesFUCHSIA                                    = (GetMemoryZirconHandlePropertiesFUCHSIAFunc)                                  GET_PROC_ADDR("vkGetMemoryZirconHandlePropertiesFUCHSIA");
+m_vk.importSemaphoreZirconHandleFUCHSIA                                                = (ImportSemaphoreZirconHandleFUCHSIAFunc)                                              GET_PROC_ADDR("vkImportSemaphoreZirconHandleFUCHSIA");
+m_vk.getSemaphoreZirconHandleFUCHSIA                                           = (GetSemaphoreZirconHandleFUCHSIAFunc)                                                 GET_PROC_ADDR("vkGetSemaphoreZirconHandleFUCHSIA");
+m_vk.createBufferCollectionFUCHSIA                                                     = (CreateBufferCollectionFUCHSIAFunc)                                                   GET_PROC_ADDR("vkCreateBufferCollectionFUCHSIA");
+m_vk.setBufferCollectionImageConstraintsFUCHSIA                                = (SetBufferCollectionImageConstraintsFUCHSIAFunc)                              GET_PROC_ADDR("vkSetBufferCollectionImageConstraintsFUCHSIA");
+m_vk.setBufferCollectionBufferConstraintsFUCHSIA                       = (SetBufferCollectionBufferConstraintsFUCHSIAFunc)                             GET_PROC_ADDR("vkSetBufferCollectionBufferConstraintsFUCHSIA");
+m_vk.destroyBufferCollectionFUCHSIA                                                    = (DestroyBufferCollectionFUCHSIAFunc)                                                  GET_PROC_ADDR("vkDestroyBufferCollectionFUCHSIA");
+m_vk.getBufferCollectionPropertiesFUCHSIA                                      = (GetBufferCollectionPropertiesFUCHSIAFunc)                                    GET_PROC_ADDR("vkGetBufferCollectionPropertiesFUCHSIA");
+m_vk.getMemoryWin32HandleKHR                                                           = (GetMemoryWin32HandleKHRFunc)                                                                 GET_PROC_ADDR("vkGetMemoryWin32HandleKHR");
+m_vk.getMemoryWin32HandlePropertiesKHR                                         = (GetMemoryWin32HandlePropertiesKHRFunc)                                               GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR");
+m_vk.importSemaphoreWin32HandleKHR                                                     = (ImportSemaphoreWin32HandleKHRFunc)                                                   GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR");
+m_vk.getSemaphoreWin32HandleKHR                                                                = (GetSemaphoreWin32HandleKHRFunc)                                                              GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR");
+m_vk.importFenceWin32HandleKHR                                                         = (ImportFenceWin32HandleKHRFunc)                                                               GET_PROC_ADDR("vkImportFenceWin32HandleKHR");
+m_vk.getFenceWin32HandleKHR                                                                    = (GetFenceWin32HandleKHRFunc)                                                                  GET_PROC_ADDR("vkGetFenceWin32HandleKHR");
+m_vk.getMemoryWin32HandleNV                                                                    = (GetMemoryWin32HandleNVFunc)                                                                  GET_PROC_ADDR("vkGetMemoryWin32HandleNV");
+m_vk.acquireFullScreenExclusiveModeEXT                                         = (AcquireFullScreenExclusiveModeEXTFunc)                                               GET_PROC_ADDR("vkAcquireFullScreenExclusiveModeEXT");
+m_vk.releaseFullScreenExclusiveModeEXT                                         = (ReleaseFullScreenExclusiveModeEXTFunc)                                               GET_PROC_ADDR("vkReleaseFullScreenExclusiveModeEXT");
+m_vk.getDeviceGroupSurfacePresentModes2EXT                                     = (GetDeviceGroupSurfacePresentModes2EXTFunc)                                   GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModes2EXT");
index 9526293..40f13a6 100644 (file)
@@ -2030,6 +2030,12 @@ VKAPI_ATTR void VKAPI_CALL getQueueCheckpointData2NV (VkQueue queue, uint32_t* p
        DE_UNREF(pCheckpointData);
 }
 
+VKAPI_ATTR void VKAPI_CALL cmdTraceRaysIndirect2KHR (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(indirectDeviceAddress);
+}
+
 VKAPI_ATTR void VKAPI_CALL debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage)
 {
        DE_UNREF(instance);
@@ -2750,6 +2756,99 @@ VKAPI_ATTR VkResult VKAPI_CALL getDrmDisplayEXT (VkPhysicalDevice physicalDevice
        return VK_SUCCESS;
 }
 
+VKAPI_ATTR VkResult VKAPI_CALL getDescriptorSetLayoutSizeEXT (VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes)
+{
+       DE_UNREF(device);
+       DE_UNREF(layout);
+       DE_UNREF(pLayoutSizeInBytes);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getDescriptorSetLayoutBindingOffsetEXT (VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset)
+{
+       DE_UNREF(device);
+       DE_UNREF(layout);
+       DE_UNREF(binding);
+       DE_UNREF(pOffset);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getDescriptorEXT (VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, void* pDescriptor)
+{
+       DE_UNREF(device);
+       DE_UNREF(pDescriptorInfo);
+       DE_UNREF(pDescriptor);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdBindDescriptorBuffersEXT (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(pipelineBindPoint);
+       DE_UNREF(firstBuffer);
+       DE_UNREF(bufferCount);
+       DE_UNREF(pBindingInfos);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdSetDescriptorBufferOffsetsEXT (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(pipelineBindPoint);
+       DE_UNREF(layout);
+       DE_UNREF(firstSet);
+       DE_UNREF(setCount);
+       DE_UNREF(pBufferIndices);
+       DE_UNREF(pOffsets);
+}
+
+VKAPI_ATTR void VKAPI_CALL cmdBindDescriptorBufferEmbeddedSamplersEXT (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set)
+{
+       DE_UNREF(commandBuffer);
+       DE_UNREF(pipelineBindPoint);
+       DE_UNREF(layout);
+       DE_UNREF(set);
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getBufferOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData)
+{
+       DE_UNREF(device);
+       DE_UNREF(pInfo);
+       DE_UNREF(pData);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getImageOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData)
+{
+       DE_UNREF(device);
+       DE_UNREF(pInfo);
+       DE_UNREF(pData);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getImageViewOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData)
+{
+       DE_UNREF(device);
+       DE_UNREF(pInfo);
+       DE_UNREF(pData);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getSamplerOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData)
+{
+       DE_UNREF(device);
+       DE_UNREF(pInfo);
+       DE_UNREF(pData);
+       return VK_SUCCESS;
+}
+
+VKAPI_ATTR VkResult VKAPI_CALL getAccelerationStructureOpaqueCaptureDescriptorDataEXT (VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData)
+{
+       DE_UNREF(device);
+       DE_UNREF(pInfo);
+       DE_UNREF(pData);
+       return VK_SUCCESS;
+}
+
 VKAPI_ATTR void VKAPI_CALL cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2])
 {
        DE_UNREF(commandBuffer);
@@ -2757,6 +2856,14 @@ VKAPI_ATTR void VKAPI_CALL cmdSetFragmentShadingRateEnumNV (VkCommandBuffer comm
        DE_UNREF(combinerOps);
 }
 
+VKAPI_ATTR void VKAPI_CALL getImageSubresourceLayout2EXT (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout)
+{
+       DE_UNREF(device);
+       DE_UNREF(image);
+       DE_UNREF(pSubresource);
+       DE_UNREF(pLayout);
+}
+
 VKAPI_ATTR VkResult VKAPI_CALL acquireWinrtDisplayNV (VkPhysicalDevice physicalDevice, VkDisplayKHR display)
 {
        DE_UNREF(physicalDevice);
@@ -2809,6 +2916,14 @@ VKAPI_ATTR VkResult VKAPI_CALL getMemoryRemoteAddressNV (VkDevice device, const
        return VK_SUCCESS;
 }
 
+VKAPI_ATTR VkResult VKAPI_CALL getPipelinePropertiesEXT (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties)
+{
+       DE_UNREF(device);
+       DE_UNREF(pPipelineInfo);
+       DE_UNREF(pPipelineProperties);
+       return VK_SUCCESS;
+}
+
 VKAPI_ATTR void VKAPI_CALL cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints)
 {
        DE_UNREF(commandBuffer);
@@ -3418,445 +3533,459 @@ static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] =
 
 static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
 {
-       VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr,                                                                 getDeviceProcAddr),
-       VK_NULL_FUNC_ENTRY(vkDestroyDevice,                                                                             destroyDevice),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceQueue,                                                                    getDeviceQueue),
-       VK_NULL_FUNC_ENTRY(vkQueueSubmit,                                                                               queueSubmit),
-       VK_NULL_FUNC_ENTRY(vkQueueWaitIdle,                                                                             queueWaitIdle),
-       VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle,                                                                    deviceWaitIdle),
-       VK_NULL_FUNC_ENTRY(vkAllocateMemory,                                                                    allocateMemory),
-       VK_NULL_FUNC_ENTRY(vkFreeMemory,                                                                                freeMemory),
-       VK_NULL_FUNC_ENTRY(vkMapMemory,                                                                                 mapMemory),
-       VK_NULL_FUNC_ENTRY(vkUnmapMemory,                                                                               unmapMemory),
-       VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges,                                                   flushMappedMemoryRanges),
-       VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges,                                              invalidateMappedMemoryRanges),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment,                                                 getDeviceMemoryCommitment),
-       VK_NULL_FUNC_ENTRY(vkBindBufferMemory,                                                                  bindBufferMemory),
-       VK_NULL_FUNC_ENTRY(vkBindImageMemory,                                                                   bindImageMemory),
-       VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements,                                               getBufferMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements,                                                getImageMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements,                                  getImageSparseMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkQueueBindSparse,                                                                   queueBindSparse),
-       VK_NULL_FUNC_ENTRY(vkCreateFence,                                                                               createFence),
-       VK_NULL_FUNC_ENTRY(vkDestroyFence,                                                                              destroyFence),
-       VK_NULL_FUNC_ENTRY(vkResetFences,                                                                               resetFences),
-       VK_NULL_FUNC_ENTRY(vkGetFenceStatus,                                                                    getFenceStatus),
-       VK_NULL_FUNC_ENTRY(vkWaitForFences,                                                                             waitForFences),
-       VK_NULL_FUNC_ENTRY(vkCreateSemaphore,                                                                   createSemaphore),
-       VK_NULL_FUNC_ENTRY(vkDestroySemaphore,                                                                  destroySemaphore),
-       VK_NULL_FUNC_ENTRY(vkCreateEvent,                                                                               createEvent),
-       VK_NULL_FUNC_ENTRY(vkDestroyEvent,                                                                              destroyEvent),
-       VK_NULL_FUNC_ENTRY(vkGetEventStatus,                                                                    getEventStatus),
-       VK_NULL_FUNC_ENTRY(vkSetEvent,                                                                                  setEvent),
-       VK_NULL_FUNC_ENTRY(vkResetEvent,                                                                                resetEvent),
-       VK_NULL_FUNC_ENTRY(vkCreateQueryPool,                                                                   createQueryPool),
-       VK_NULL_FUNC_ENTRY(vkDestroyQueryPool,                                                                  destroyQueryPool),
-       VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults,                                                               getQueryPoolResults),
-       VK_NULL_FUNC_ENTRY(vkCreateBuffer,                                                                              createBuffer),
-       VK_NULL_FUNC_ENTRY(vkDestroyBuffer,                                                                             destroyBuffer),
-       VK_NULL_FUNC_ENTRY(vkCreateBufferView,                                                                  createBufferView),
-       VK_NULL_FUNC_ENTRY(vkDestroyBufferView,                                                                 destroyBufferView),
-       VK_NULL_FUNC_ENTRY(vkCreateImage,                                                                               createImage),
-       VK_NULL_FUNC_ENTRY(vkDestroyImage,                                                                              destroyImage),
-       VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout,                                                 getImageSubresourceLayout),
-       VK_NULL_FUNC_ENTRY(vkCreateImageView,                                                                   createImageView),
-       VK_NULL_FUNC_ENTRY(vkDestroyImageView,                                                                  destroyImageView),
-       VK_NULL_FUNC_ENTRY(vkCreateShaderModule,                                                                createShaderModule),
-       VK_NULL_FUNC_ENTRY(vkDestroyShaderModule,                                                               destroyShaderModule),
-       VK_NULL_FUNC_ENTRY(vkCreatePipelineCache,                                                               createPipelineCache),
-       VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache,                                                              destroyPipelineCache),
-       VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData,                                                              getPipelineCacheData),
-       VK_NULL_FUNC_ENTRY(vkMergePipelineCaches,                                                               mergePipelineCaches),
-       VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines,                                                   createGraphicsPipelines),
-       VK_NULL_FUNC_ENTRY(vkCreateComputePipelines,                                                    createComputePipelines),
-       VK_NULL_FUNC_ENTRY(vkDestroyPipeline,                                                                   destroyPipeline),
-       VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout,                                                              createPipelineLayout),
-       VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout,                                                             destroyPipelineLayout),
-       VK_NULL_FUNC_ENTRY(vkCreateSampler,                                                                             createSampler),
-       VK_NULL_FUNC_ENTRY(vkDestroySampler,                                                                    destroySampler),
-       VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout,                                                 createDescriptorSetLayout),
-       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout,                                                destroyDescriptorSetLayout),
-       VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool,                                                              createDescriptorPool),
-       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool,                                                             destroyDescriptorPool),
-       VK_NULL_FUNC_ENTRY(vkResetDescriptorPool,                                                               resetDescriptorPool),
-       VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets,                                                    allocateDescriptorSets),
-       VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets,                                                                freeDescriptorSets),
-       VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets,                                                              updateDescriptorSets),
-       VK_NULL_FUNC_ENTRY(vkCreateFramebuffer,                                                                 createFramebuffer),
-       VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer,                                                                destroyFramebuffer),
-       VK_NULL_FUNC_ENTRY(vkCreateRenderPass,                                                                  createRenderPass),
-       VK_NULL_FUNC_ENTRY(vkDestroyRenderPass,                                                                 destroyRenderPass),
-       VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity,                                                  getRenderAreaGranularity),
-       VK_NULL_FUNC_ENTRY(vkCreateCommandPool,                                                                 createCommandPool),
-       VK_NULL_FUNC_ENTRY(vkDestroyCommandPool,                                                                destroyCommandPool),
-       VK_NULL_FUNC_ENTRY(vkResetCommandPool,                                                                  resetCommandPool),
-       VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers,                                                    allocateCommandBuffers),
-       VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers,                                                                freeCommandBuffers),
-       VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer,                                                                beginCommandBuffer),
-       VK_NULL_FUNC_ENTRY(vkEndCommandBuffer,                                                                  endCommandBuffer),
-       VK_NULL_FUNC_ENTRY(vkResetCommandBuffer,                                                                resetCommandBuffer),
-       VK_NULL_FUNC_ENTRY(vkCmdBindPipeline,                                                                   cmdBindPipeline),
-       VK_NULL_FUNC_ENTRY(vkCmdSetViewport,                                                                    cmdSetViewport),
-       VK_NULL_FUNC_ENTRY(vkCmdSetScissor,                                                                             cmdSetScissor),
-       VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth,                                                                   cmdSetLineWidth),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias,                                                                   cmdSetDepthBias),
-       VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants,                                                              cmdSetBlendConstants),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds,                                                                 cmdSetDepthBounds),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask,                                                  cmdSetStencilCompareMask),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask,                                                    cmdSetStencilWriteMask),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference,                                                    cmdSetStencilReference),
-       VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets,                                                             cmdBindDescriptorSets),
-       VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer,                                                                cmdBindIndexBuffer),
-       VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers,                                                              cmdBindVertexBuffers),
-       VK_NULL_FUNC_ENTRY(vkCmdDraw,                                                                                   cmdDraw),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed,                                                                    cmdDrawIndexed),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect,                                                                   cmdDrawIndirect),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect,                                                    cmdDrawIndexedIndirect),
-       VK_NULL_FUNC_ENTRY(vkCmdDispatch,                                                                               cmdDispatch),
-       VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect,                                                               cmdDispatchIndirect),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer,                                                                             cmdCopyBuffer),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyImage,                                                                              cmdCopyImage),
-       VK_NULL_FUNC_ENTRY(vkCmdBlitImage,                                                                              cmdBlitImage),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage,                                                              cmdCopyBufferToImage),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer,                                                              cmdCopyImageToBuffer),
-       VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer,                                                                   cmdUpdateBuffer),
-       VK_NULL_FUNC_ENTRY(vkCmdFillBuffer,                                                                             cmdFillBuffer),
-       VK_NULL_FUNC_ENTRY(vkCmdClearColorImage,                                                                cmdClearColorImage),
-       VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage,                                                 cmdClearDepthStencilImage),
-       VK_NULL_FUNC_ENTRY(vkCmdClearAttachments,                                                               cmdClearAttachments),
-       VK_NULL_FUNC_ENTRY(vkCmdResolveImage,                                                                   cmdResolveImage),
-       VK_NULL_FUNC_ENTRY(vkCmdSetEvent,                                                                               cmdSetEvent),
-       VK_NULL_FUNC_ENTRY(vkCmdResetEvent,                                                                             cmdResetEvent),
-       VK_NULL_FUNC_ENTRY(vkCmdWaitEvents,                                                                             cmdWaitEvents),
-       VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier,                                                                cmdPipelineBarrier),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginQuery,                                                                             cmdBeginQuery),
-       VK_NULL_FUNC_ENTRY(vkCmdEndQuery,                                                                               cmdEndQuery),
-       VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool,                                                                 cmdResetQueryPool),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp,                                                                 cmdWriteTimestamp),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults,                                                   cmdCopyQueryPoolResults),
-       VK_NULL_FUNC_ENTRY(vkCmdPushConstants,                                                                  cmdPushConstants),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass,                                                                cmdBeginRenderPass),
-       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass,                                                                    cmdNextSubpass),
-       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass,                                                                  cmdEndRenderPass),
-       VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands,                                                                cmdExecuteCommands),
-       VK_NULL_FUNC_ENTRY(vkBindBufferMemory2,                                                                 bindBufferMemory2),
-       VK_NULL_FUNC_ENTRY(vkBindImageMemory2,                                                                  bindImageMemory2),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeatures,                                  getDeviceGroupPeerMemoryFeatures),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMask,                                                                  cmdSetDeviceMask),
-       VK_NULL_FUNC_ENTRY(vkCmdDispatchBase,                                                                   cmdDispatchBase),
-       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2,                                               getImageMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2,                                              getBufferMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2,                                 getImageSparseMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkTrimCommandPool,                                                                   trimCommandPool),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceQueue2,                                                                   getDeviceQueue2),
-       VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversion,                                              createSamplerYcbcrConversion),
-       VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversion,                                             destroySamplerYcbcrConversion),
-       VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplate,                                    createDescriptorUpdateTemplate),
-       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplate,                                   destroyDescriptorUpdateTemplate),
-       VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplate,                                   updateDescriptorSetWithTemplate),
-       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupport,                                             getDescriptorSetLayoutSupport),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCount,                                                              cmdDrawIndirectCount),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCount,                                               cmdDrawIndexedIndirectCount),
-       VK_NULL_FUNC_ENTRY(vkCreateRenderPass2,                                                                 createRenderPass2),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2,                                                               cmdBeginRenderPass2),
-       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2,                                                                   cmdNextSubpass2),
-       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2,                                                                 cmdEndRenderPass2),
-       VK_NULL_FUNC_ENTRY(vkResetQueryPool,                                                                    resetQueryPool),
-       VK_NULL_FUNC_ENTRY(vkGetSemaphoreCounterValue,                                                  getSemaphoreCounterValue),
-       VK_NULL_FUNC_ENTRY(vkWaitSemaphores,                                                                    waitSemaphores),
-       VK_NULL_FUNC_ENTRY(vkSignalSemaphore,                                                                   signalSemaphore),
-       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddress,                                                    getBufferDeviceAddress),
-       VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureAddress,                                             getBufferOpaqueCaptureAddress),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryOpaqueCaptureAddress,                               getDeviceMemoryOpaqueCaptureAddress),
-       VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlot,                                                             createPrivateDataSlot),
-       VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlot,                                                    destroyPrivateDataSlot),
-       VK_NULL_FUNC_ENTRY(vkSetPrivateData,                                                                    setPrivateData),
-       VK_NULL_FUNC_ENTRY(vkGetPrivateData,                                                                    getPrivateData),
-       VK_NULL_FUNC_ENTRY(vkCmdSetEvent2,                                                                              cmdSetEvent2),
-       VK_NULL_FUNC_ENTRY(vkCmdResetEvent2,                                                                    cmdResetEvent2),
-       VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2,                                                                    cmdWaitEvents2),
-       VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2,                                                               cmdPipelineBarrier2),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2,                                                                cmdWriteTimestamp2),
-       VK_NULL_FUNC_ENTRY(vkQueueSubmit2,                                                                              queueSubmit2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2,                                                                    cmdCopyBuffer2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyImage2,                                                                             cmdCopyImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2,                                                             cmdCopyBufferToImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2,                                                             cmdCopyImageToBuffer2),
-       VK_NULL_FUNC_ENTRY(vkCmdBlitImage2,                                                                             cmdBlitImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdResolveImage2,                                                                  cmdResolveImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginRendering,                                                                 cmdBeginRendering),
-       VK_NULL_FUNC_ENTRY(vkCmdEndRendering,                                                                   cmdEndRendering),
-       VK_NULL_FUNC_ENTRY(vkCmdSetCullMode,                                                                    cmdSetCullMode),
-       VK_NULL_FUNC_ENTRY(vkCmdSetFrontFace,                                                                   cmdSetFrontFace),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopology,                                                   cmdSetPrimitiveTopology),
-       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCount,                                                   cmdSetViewportWithCount),
-       VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCount,                                                    cmdSetScissorWithCount),
-       VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2,                                                             cmdBindVertexBuffers2),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnable,                                                             cmdSetDepthTestEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnable,                                                    cmdSetDepthWriteEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOp,                                                              cmdSetDepthCompareOp),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnable,                                               cmdSetDepthBoundsTestEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnable,                                                   cmdSetStencilTestEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilOp,                                                                   cmdSetStencilOp),
-       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnable,                                             cmdSetRasterizerDiscardEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnable,                                                             cmdSetDepthBiasEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnable,                                              cmdSetPrimitiveRestartEnable),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirements,                                 getDeviceBufferMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirements,                                  getDeviceImageMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirements,                    getDeviceImageSparseMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkCreateSwapchainKHR,                                                                createSwapchainKHR),
-       VK_NULL_FUNC_ENTRY(vkDestroySwapchainKHR,                                                               destroySwapchainKHR),
-       VK_NULL_FUNC_ENTRY(vkGetSwapchainImagesKHR,                                                             getSwapchainImagesKHR),
-       VK_NULL_FUNC_ENTRY(vkAcquireNextImageKHR,                                                               acquireNextImageKHR),
-       VK_NULL_FUNC_ENTRY(vkQueuePresentKHR,                                                                   queuePresentKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR,                              getDeviceGroupPresentCapabilitiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModesKHR,                              getDeviceGroupSurfacePresentModesKHR),
-       VK_NULL_FUNC_ENTRY(vkAcquireNextImage2KHR,                                                              acquireNextImage2KHR),
-       VK_NULL_FUNC_ENTRY(vkCreateSharedSwapchainsKHR,                                                 createSharedSwapchainsKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderingKHR,                                                              cmdBeginRendering),
-       VK_NULL_FUNC_ENTRY(vkCmdEndRenderingKHR,                                                                cmdEndRendering),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR,                               getDeviceGroupPeerMemoryFeatures),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR,                                                               cmdSetDeviceMask),
-       VK_NULL_FUNC_ENTRY(vkCmdDispatchBaseKHR,                                                                cmdDispatchBase),
-       VK_NULL_FUNC_ENTRY(vkTrimCommandPoolKHR,                                                                trimCommandPool),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryFdKHR,                                                                    getMemoryFdKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryFdPropertiesKHR,                                                  getMemoryFdPropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkImportSemaphoreFdKHR,                                                              importSemaphoreFdKHR),
-       VK_NULL_FUNC_ENTRY(vkGetSemaphoreFdKHR,                                                                 getSemaphoreFdKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetKHR,                                                   cmdPushDescriptorSetKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetWithTemplateKHR,                               cmdPushDescriptorSetWithTemplateKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplateKHR,                                 createDescriptorUpdateTemplate),
-       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplateKHR,                                destroyDescriptorUpdateTemplate),
-       VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplateKHR,                                updateDescriptorSetWithTemplate),
-       VK_NULL_FUNC_ENTRY(vkCreateRenderPass2KHR,                                                              createRenderPass2),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2KHR,                                                    cmdBeginRenderPass2),
-       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2KHR,                                                                cmdNextSubpass2),
-       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2KHR,                                                              cmdEndRenderPass2),
-       VK_NULL_FUNC_ENTRY(vkGetSwapchainStatusKHR,                                                             getSwapchainStatusKHR),
-       VK_NULL_FUNC_ENTRY(vkImportFenceFdKHR,                                                                  importFenceFdKHR),
-       VK_NULL_FUNC_ENTRY(vkGetFenceFdKHR,                                                                             getFenceFdKHR),
-       VK_NULL_FUNC_ENTRY(vkAcquireProfilingLockKHR,                                                   acquireProfilingLockKHR),
-       VK_NULL_FUNC_ENTRY(vkReleaseProfilingLockKHR,                                                   releaseProfilingLockKHR),
-       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2KHR,                                    getImageMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2KHR,                                   getBufferMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2KHR,                              getImageSparseMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversionKHR,                                   createSamplerYcbcrConversion),
-       VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversionKHR,                                  destroySamplerYcbcrConversion),
-       VK_NULL_FUNC_ENTRY(vkBindBufferMemory2KHR,                                                              bindBufferMemory2),
-       VK_NULL_FUNC_ENTRY(vkBindImageMemory2KHR,                                                               bindImageMemory2),
-       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupportKHR,                                  getDescriptorSetLayoutSupport),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountKHR,                                                   cmdDrawIndirectCount),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountKHR,                                    cmdDrawIndexedIndirectCount),
-       VK_NULL_FUNC_ENTRY(vkGetSemaphoreCounterValueKHR,                                               getSemaphoreCounterValue),
-       VK_NULL_FUNC_ENTRY(vkWaitSemaphoresKHR,                                                                 waitSemaphores),
-       VK_NULL_FUNC_ENTRY(vkSignalSemaphoreKHR,                                                                signalSemaphore),
-       VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateKHR,                                              cmdSetFragmentShadingRateKHR),
-       VK_NULL_FUNC_ENTRY(vkWaitForPresentKHR,                                                                 waitForPresentKHR),
-       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressKHR,                                                 getBufferDeviceAddress),
-       VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureAddressKHR,                                  getBufferOpaqueCaptureAddress),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryOpaqueCaptureAddressKHR,                    getDeviceMemoryOpaqueCaptureAddress),
-       VK_NULL_FUNC_ENTRY(vkCreateDeferredOperationKHR,                                                createDeferredOperationKHR),
-       VK_NULL_FUNC_ENTRY(vkDestroyDeferredOperationKHR,                                               destroyDeferredOperationKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDeferredOperationMaxConcurrencyKHR,                             getDeferredOperationMaxConcurrencyKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDeferredOperationResultKHR,                                             getDeferredOperationResultKHR),
-       VK_NULL_FUNC_ENTRY(vkDeferredOperationJoinKHR,                                                  deferredOperationJoinKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutablePropertiesKHR,                                getPipelineExecutablePropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableStatisticsKHR,                                getPipelineExecutableStatisticsKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableInternalRepresentationsKHR,   getPipelineExecutableInternalRepresentationsKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdSetEvent2KHR,                                                                   cmdSetEvent2),
-       VK_NULL_FUNC_ENTRY(vkCmdResetEvent2KHR,                                                                 cmdResetEvent2),
-       VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2KHR,                                                                 cmdWaitEvents2),
-       VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2KHR,                                                    cmdPipelineBarrier2),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2KHR,                                                             cmdWriteTimestamp2),
-       VK_NULL_FUNC_ENTRY(vkQueueSubmit2KHR,                                                                   queueSubmit2),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteBufferMarker2AMD,                                                  cmdWriteBufferMarker2AMD),
-       VK_NULL_FUNC_ENTRY(vkGetQueueCheckpointData2NV,                                                 getQueueCheckpointData2NV),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2KHR,                                                                 cmdCopyBuffer2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyImage2KHR,                                                                  cmdCopyImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2KHR,                                                  cmdCopyBufferToImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2KHR,                                                  cmdCopyImageToBuffer2),
-       VK_NULL_FUNC_ENTRY(vkCmdBlitImage2KHR,                                                                  cmdBlitImage2),
-       VK_NULL_FUNC_ENTRY(vkCmdResolveImage2KHR,                                                               cmdResolveImage2),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirementsKHR,                              getDeviceBufferMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirementsKHR,                               getDeviceImageMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirementsKHR,                 getDeviceImageSparseMemoryRequirements),
-       VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectTagEXT,                                                debugMarkerSetObjectTagEXT),
-       VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectNameEXT,                                               debugMarkerSetObjectNameEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerBeginEXT,                                                    cmdDebugMarkerBeginEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerEndEXT,                                                              cmdDebugMarkerEndEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerInsertEXT,                                                   cmdDebugMarkerInsertEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdBindTransformFeedbackBuffersEXT,                                cmdBindTransformFeedbackBuffersEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginTransformFeedbackEXT,                                              cmdBeginTransformFeedbackEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdEndTransformFeedbackEXT,                                                cmdEndTransformFeedbackEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginQueryIndexedEXT,                                                   cmdBeginQueryIndexedEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdEndQueryIndexedEXT,                                                             cmdEndQueryIndexedEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectByteCountEXT,                                               cmdDrawIndirectByteCountEXT),
-       VK_NULL_FUNC_ENTRY(vkCreateCuModuleNVX,                                                                 createCuModuleNVX),
-       VK_NULL_FUNC_ENTRY(vkCreateCuFunctionNVX,                                                               createCuFunctionNVX),
-       VK_NULL_FUNC_ENTRY(vkDestroyCuModuleNVX,                                                                destroyCuModuleNVX),
-       VK_NULL_FUNC_ENTRY(vkDestroyCuFunctionNVX,                                                              destroyCuFunctionNVX),
-       VK_NULL_FUNC_ENTRY(vkCmdCuLaunchKernelNVX,                                                              cmdCuLaunchKernelNVX),
-       VK_NULL_FUNC_ENTRY(vkGetImageViewHandleNVX,                                                             getImageViewHandleNVX),
-       VK_NULL_FUNC_ENTRY(vkGetImageViewAddressNVX,                                                    getImageViewAddressNVX),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountAMD,                                                   cmdDrawIndirectCountAMD),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountAMD,                                    cmdDrawIndexedIndirectCountAMD),
-       VK_NULL_FUNC_ENTRY(vkGetShaderInfoAMD,                                                                  getShaderInfoAMD),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginConditionalRenderingEXT,                                   cmdBeginConditionalRenderingEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdEndConditionalRenderingEXT,                                             cmdEndConditionalRenderingEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWScalingNV,                                                  cmdSetViewportWScalingNV),
-       VK_NULL_FUNC_ENTRY(vkDisplayPowerControlEXT,                                                    displayPowerControlEXT),
-       VK_NULL_FUNC_ENTRY(vkRegisterDeviceEventEXT,                                                    registerDeviceEventEXT),
-       VK_NULL_FUNC_ENTRY(vkRegisterDisplayEventEXT,                                                   registerDisplayEventEXT),
-       VK_NULL_FUNC_ENTRY(vkGetSwapchainCounterEXT,                                                    getSwapchainCounterEXT),
-       VK_NULL_FUNC_ENTRY(vkGetRefreshCycleDurationGOOGLE,                                             getRefreshCycleDurationGOOGLE),
-       VK_NULL_FUNC_ENTRY(vkGetPastPresentationTimingGOOGLE,                                   getPastPresentationTimingGOOGLE),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDiscardRectangleEXT,                                                 cmdSetDiscardRectangleEXT),
-       VK_NULL_FUNC_ENTRY(vkSetHdrMetadataEXT,                                                                 setHdrMetadataEXT),
-       VK_NULL_FUNC_ENTRY(vkSetDebugUtilsObjectNameEXT,                                                setDebugUtilsObjectNameEXT),
-       VK_NULL_FUNC_ENTRY(vkSetDebugUtilsObjectTagEXT,                                                 setDebugUtilsObjectTagEXT),
-       VK_NULL_FUNC_ENTRY(vkQueueBeginDebugUtilsLabelEXT,                                              queueBeginDebugUtilsLabelEXT),
-       VK_NULL_FUNC_ENTRY(vkQueueEndDebugUtilsLabelEXT,                                                queueEndDebugUtilsLabelEXT),
-       VK_NULL_FUNC_ENTRY(vkQueueInsertDebugUtilsLabelEXT,                                             queueInsertDebugUtilsLabelEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginDebugUtilsLabelEXT,                                                cmdBeginDebugUtilsLabelEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdEndDebugUtilsLabelEXT,                                                  cmdEndDebugUtilsLabelEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdInsertDebugUtilsLabelEXT,                                               cmdInsertDebugUtilsLabelEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetSampleLocationsEXT,                                                  cmdSetSampleLocationsEXT),
-       VK_NULL_FUNC_ENTRY(vkGetImageDrmFormatModifierPropertiesEXT,                    getImageDrmFormatModifierPropertiesEXT),
-       VK_NULL_FUNC_ENTRY(vkCreateValidationCacheEXT,                                                  createValidationCacheEXT),
-       VK_NULL_FUNC_ENTRY(vkDestroyValidationCacheEXT,                                                 destroyValidationCacheEXT),
-       VK_NULL_FUNC_ENTRY(vkMergeValidationCachesEXT,                                                  mergeValidationCachesEXT),
-       VK_NULL_FUNC_ENTRY(vkGetValidationCacheDataEXT,                                                 getValidationCacheDataEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdBindShadingRateImageNV,                                                 cmdBindShadingRateImageNV),
-       VK_NULL_FUNC_ENTRY(vkCmdSetViewportShadingRatePaletteNV,                                cmdSetViewportShadingRatePaletteNV),
-       VK_NULL_FUNC_ENTRY(vkCmdSetCoarseSampleOrderNV,                                                 cmdSetCoarseSampleOrderNV),
-       VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureNV,                                             createAccelerationStructureNV),
-       VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureNV,                                    destroyAccelerationStructureNV),
-       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureMemoryRequirementsNV,              getAccelerationStructureMemoryRequirementsNV),
-       VK_NULL_FUNC_ENTRY(vkBindAccelerationStructureMemoryNV,                                 bindAccelerationStructureMemoryNV),
-       VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructureNV,                                   cmdBuildAccelerationStructureNV),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureNV,                                    cmdCopyAccelerationStructureNV),
-       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysNV,                                                                    cmdTraceRaysNV),
-       VK_NULL_FUNC_ENTRY(vkCreateRayTracingPipelinesNV,                                               createRayTracingPipelinesNV),
-       VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupHandlesKHR,                                getRayTracingShaderGroupHandlesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupHandlesNV,                                 getRayTracingShaderGroupHandlesNV),
-       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureHandleNV,                                  getAccelerationStructureHandleNV),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteAccelerationStructuresPropertiesNV,                cmdWriteAccelerationStructuresPropertiesNV),
-       VK_NULL_FUNC_ENTRY(vkCompileDeferredNV,                                                                 compileDeferredNV),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryHostPointerPropertiesEXT,                                 getMemoryHostPointerPropertiesEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteBufferMarkerAMD,                                                   cmdWriteBufferMarkerAMD),
-       VK_NULL_FUNC_ENTRY(vkGetCalibratedTimestampsEXT,                                                getCalibratedTimestampsEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksNV,                                                                cmdDrawMeshTasksNV),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksIndirectNV,                                                cmdDrawMeshTasksIndirectNV),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksIndirectCountNV,                                   cmdDrawMeshTasksIndirectCountNV),
-       VK_NULL_FUNC_ENTRY(vkCmdSetExclusiveScissorNV,                                                  cmdSetExclusiveScissorNV),
-       VK_NULL_FUNC_ENTRY(vkCmdSetCheckpointNV,                                                                cmdSetCheckpointNV),
-       VK_NULL_FUNC_ENTRY(vkGetQueueCheckpointDataNV,                                                  getQueueCheckpointDataNV),
-       VK_NULL_FUNC_ENTRY(vkInitializePerformanceApiINTEL,                                             initializePerformanceApiINTEL),
-       VK_NULL_FUNC_ENTRY(vkUninitializePerformanceApiINTEL,                                   uninitializePerformanceApiINTEL),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceMarkerINTEL,                                              cmdSetPerformanceMarkerINTEL),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceStreamMarkerINTEL,                                cmdSetPerformanceStreamMarkerINTEL),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceOverrideINTEL,                                    cmdSetPerformanceOverrideINTEL),
-       VK_NULL_FUNC_ENTRY(vkAcquirePerformanceConfigurationINTEL,                              acquirePerformanceConfigurationINTEL),
-       VK_NULL_FUNC_ENTRY(vkReleasePerformanceConfigurationINTEL,                              releasePerformanceConfigurationINTEL),
-       VK_NULL_FUNC_ENTRY(vkQueueSetPerformanceConfigurationINTEL,                             queueSetPerformanceConfigurationINTEL),
-       VK_NULL_FUNC_ENTRY(vkGetPerformanceParameterINTEL,                                              getPerformanceParameterINTEL),
-       VK_NULL_FUNC_ENTRY(vkSetLocalDimmingAMD,                                                                setLocalDimmingAMD),
-       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                                 getBufferDeviceAddressEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEXT,                                                              cmdSetLineStippleEXT),
-       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                                 resetQueryPool),
-       VK_NULL_FUNC_ENTRY(vkCmdSetCullModeEXT,                                                                 cmdSetCullMode),
-       VK_NULL_FUNC_ENTRY(vkCmdSetFrontFaceEXT,                                                                cmdSetFrontFace),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopologyEXT,                                                cmdSetPrimitiveTopology),
-       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCountEXT,                                                cmdSetViewportWithCount),
-       VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCountEXT,                                                 cmdSetScissorWithCount),
-       VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2EXT,                                                  cmdBindVertexBuffers2),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnableEXT,                                                  cmdSetDepthTestEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnableEXT,                                                 cmdSetDepthWriteEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOpEXT,                                                   cmdSetDepthCompareOp),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnableEXT,                                    cmdSetDepthBoundsTestEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnableEXT,                                                cmdSetStencilTestEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetStencilOpEXT,                                                                cmdSetStencilOp),
-       VK_NULL_FUNC_ENTRY(vkGetGeneratedCommandsMemoryRequirementsNV,                  getGeneratedCommandsMemoryRequirementsNV),
-       VK_NULL_FUNC_ENTRY(vkCmdPreprocessGeneratedCommandsNV,                                  cmdPreprocessGeneratedCommandsNV),
-       VK_NULL_FUNC_ENTRY(vkCmdExecuteGeneratedCommandsNV,                                             cmdExecuteGeneratedCommandsNV),
-       VK_NULL_FUNC_ENTRY(vkCmdBindPipelineShaderGroupNV,                                              cmdBindPipelineShaderGroupNV),
-       VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNV,                                    createIndirectCommandsLayoutNV),
-       VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNV,                                   destroyIndirectCommandsLayoutNV),
-       VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlotEXT,                                                  createPrivateDataSlot),
-       VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlotEXT,                                                 destroyPrivateDataSlot),
-       VK_NULL_FUNC_ENTRY(vkSetPrivateDataEXT,                                                                 setPrivateData),
-       VK_NULL_FUNC_ENTRY(vkGetPrivateDataEXT,                                                                 getPrivateData),
-       VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateEnumNV,                                   cmdSetFragmentShadingRateEnumNV),
-       VK_NULL_FUNC_ENTRY(vkCmdSetVertexInputEXT,                                                              cmdSetVertexInputEXT),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,             getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI),
-       VK_NULL_FUNC_ENTRY(vkCmdSubpassShadingHUAWEI,                                                   cmdSubpassShadingHUAWEI),
-       VK_NULL_FUNC_ENTRY(vkCmdBindInvocationMaskHUAWEI,                                               cmdBindInvocationMaskHUAWEI),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryRemoteAddressNV,                                                  getMemoryRemoteAddressNV),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPatchControlPointsEXT,                                               cmdSetPatchControlPointsEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT,                                  cmdSetRasterizerDiscardEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT,                                                  cmdSetDepthBiasEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetLogicOpEXT,                                                                  cmdSetLogicOpEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnableEXT,                                   cmdSetPrimitiveRestartEnable),
-       VK_NULL_FUNC_ENTRY(vkCmdSetColorWriteEnableEXT,                                                 cmdSetColorWriteEnableEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawMultiEXT,                                                                   cmdDrawMultiEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawMultiIndexedEXT,                                                    cmdDrawMultiIndexedEXT),
-       VK_NULL_FUNC_ENTRY(vkSetDeviceMemoryPriorityEXT,                                                setDeviceMemoryPriorityEXT),
-       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutHostMappingInfoVALVE,                getDescriptorSetLayoutHostMappingInfoVALVE),
-       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetHostMappingVALVE,                                  getDescriptorSetHostMappingVALVE),
-       VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureKHR,                                    createAccelerationStructureKHR),
-       VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureKHR,                                   destroyAccelerationStructureKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresKHR,                                 cmdBuildAccelerationStructuresKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresIndirectKHR,                 cmdBuildAccelerationStructuresIndirectKHR),
-       VK_NULL_FUNC_ENTRY(vkBuildAccelerationStructuresKHR,                                    buildAccelerationStructuresKHR),
-       VK_NULL_FUNC_ENTRY(vkCopyAccelerationStructureKHR,                                              copyAccelerationStructureKHR),
-       VK_NULL_FUNC_ENTRY(vkCopyAccelerationStructureToMemoryKHR,                              copyAccelerationStructureToMemoryKHR),
-       VK_NULL_FUNC_ENTRY(vkCopyMemoryToAccelerationStructureKHR,                              copyMemoryToAccelerationStructureKHR),
-       VK_NULL_FUNC_ENTRY(vkWriteAccelerationStructuresPropertiesKHR,                  writeAccelerationStructuresPropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureKHR,                                   cmdCopyAccelerationStructureKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureToMemoryKHR,                   cmdCopyAccelerationStructureToMemoryKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdCopyMemoryToAccelerationStructureKHR,                   cmdCopyMemoryToAccelerationStructureKHR),
-       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureDeviceAddressKHR,                  getAccelerationStructureDeviceAddressKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdWriteAccelerationStructuresPropertiesKHR,               cmdWriteAccelerationStructuresPropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceAccelerationStructureCompatibilityKHR,    getDeviceAccelerationStructureCompatibilityKHR),
-       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureBuildSizesKHR,                             getAccelerationStructureBuildSizesKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysKHR,                                                                   cmdTraceRaysKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateRayTracingPipelinesKHR,                                              createRayTracingPipelinesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetRayTracingCaptureReplayShaderGroupHandlesKHR,   getRayTracingCaptureReplayShaderGroupHandlesKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysIndirectKHR,                                                   cmdTraceRaysIndirectKHR),
-       VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupStackSizeKHR,                              getRayTracingShaderGroupStackSizeKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdSetRayTracingPipelineStackSizeKHR,                              cmdSetRayTracingPipelineStackSizeKHR),
-       VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID,                 getAndroidHardwareBufferPropertiesANDROID),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID,                             getMemoryAndroidHardwareBufferANDROID),
-       VK_NULL_FUNC_ENTRY(vkCreateVideoSessionKHR,                                                             createVideoSessionKHR),
-       VK_NULL_FUNC_ENTRY(vkDestroyVideoSessionKHR,                                                    destroyVideoSessionKHR),
-       VK_NULL_FUNC_ENTRY(vkGetVideoSessionMemoryRequirementsKHR,                              getVideoSessionMemoryRequirementsKHR),
-       VK_NULL_FUNC_ENTRY(vkBindVideoSessionMemoryKHR,                                                 bindVideoSessionMemoryKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateVideoSessionParametersKHR,                                   createVideoSessionParametersKHR),
-       VK_NULL_FUNC_ENTRY(vkUpdateVideoSessionParametersKHR,                                   updateVideoSessionParametersKHR),
-       VK_NULL_FUNC_ENTRY(vkDestroyVideoSessionParametersKHR,                                  destroyVideoSessionParametersKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginVideoCodingKHR,                                                    cmdBeginVideoCodingKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdEndVideoCodingKHR,                                                              cmdEndVideoCodingKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdControlVideoCodingKHR,                                                  cmdControlVideoCodingKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdDecodeVideoKHR,                                                                 cmdDecodeVideoKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdEncodeVideoKHR,                                                                 cmdEncodeVideoKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryZirconHandleFUCHSIA,                                              getMemoryZirconHandleFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryZirconHandlePropertiesFUCHSIA,                    getMemoryZirconHandlePropertiesFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkImportSemaphoreZirconHandleFUCHSIA,                                importSemaphoreZirconHandleFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkGetSemaphoreZirconHandleFUCHSIA,                                   getSemaphoreZirconHandleFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkCreateBufferCollectionFUCHSIA,                                             createBufferCollectionFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkSetBufferCollectionImageConstraintsFUCHSIA,                setBufferCollectionImageConstraintsFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkSetBufferCollectionBufferConstraintsFUCHSIA,               setBufferCollectionBufferConstraintsFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkDestroyBufferCollectionFUCHSIA,                                    destroyBufferCollectionFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkGetBufferCollectionPropertiesFUCHSIA,                              getBufferCollectionPropertiesFUCHSIA),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR,                                                   getMemoryWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandlePropertiesKHR,                                 getMemoryWin32HandlePropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkImportSemaphoreWin32HandleKHR,                                             importSemaphoreWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetSemaphoreWin32HandleKHR,                                                getSemaphoreWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkImportFenceWin32HandleKHR,                                                 importFenceWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetFenceWin32HandleKHR,                                                    getFenceWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleNV,                                                    getMemoryWin32HandleNV),
-       VK_NULL_FUNC_ENTRY(vkAcquireFullScreenExclusiveModeEXT,                                 acquireFullScreenExclusiveModeEXT),
-       VK_NULL_FUNC_ENTRY(vkReleaseFullScreenExclusiveModeEXT,                                 releaseFullScreenExclusiveModeEXT),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModes2EXT,                             getDeviceGroupSurfacePresentModes2EXT),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr,                                                                                 getDeviceProcAddr),
+       VK_NULL_FUNC_ENTRY(vkDestroyDevice,                                                                                             destroyDevice),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceQueue,                                                                                    getDeviceQueue),
+       VK_NULL_FUNC_ENTRY(vkQueueSubmit,                                                                                               queueSubmit),
+       VK_NULL_FUNC_ENTRY(vkQueueWaitIdle,                                                                                             queueWaitIdle),
+       VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle,                                                                                    deviceWaitIdle),
+       VK_NULL_FUNC_ENTRY(vkAllocateMemory,                                                                                    allocateMemory),
+       VK_NULL_FUNC_ENTRY(vkFreeMemory,                                                                                                freeMemory),
+       VK_NULL_FUNC_ENTRY(vkMapMemory,                                                                                                 mapMemory),
+       VK_NULL_FUNC_ENTRY(vkUnmapMemory,                                                                                               unmapMemory),
+       VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges,                                                                   flushMappedMemoryRanges),
+       VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges,                                                              invalidateMappedMemoryRanges),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment,                                                                 getDeviceMemoryCommitment),
+       VK_NULL_FUNC_ENTRY(vkBindBufferMemory,                                                                                  bindBufferMemory),
+       VK_NULL_FUNC_ENTRY(vkBindImageMemory,                                                                                   bindImageMemory),
+       VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements,                                                               getBufferMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements,                                                                getImageMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements,                                                  getImageSparseMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkQueueBindSparse,                                                                                   queueBindSparse),
+       VK_NULL_FUNC_ENTRY(vkCreateFence,                                                                                               createFence),
+       VK_NULL_FUNC_ENTRY(vkDestroyFence,                                                                                              destroyFence),
+       VK_NULL_FUNC_ENTRY(vkResetFences,                                                                                               resetFences),
+       VK_NULL_FUNC_ENTRY(vkGetFenceStatus,                                                                                    getFenceStatus),
+       VK_NULL_FUNC_ENTRY(vkWaitForFences,                                                                                             waitForFences),
+       VK_NULL_FUNC_ENTRY(vkCreateSemaphore,                                                                                   createSemaphore),
+       VK_NULL_FUNC_ENTRY(vkDestroySemaphore,                                                                                  destroySemaphore),
+       VK_NULL_FUNC_ENTRY(vkCreateEvent,                                                                                               createEvent),
+       VK_NULL_FUNC_ENTRY(vkDestroyEvent,                                                                                              destroyEvent),
+       VK_NULL_FUNC_ENTRY(vkGetEventStatus,                                                                                    getEventStatus),
+       VK_NULL_FUNC_ENTRY(vkSetEvent,                                                                                                  setEvent),
+       VK_NULL_FUNC_ENTRY(vkResetEvent,                                                                                                resetEvent),
+       VK_NULL_FUNC_ENTRY(vkCreateQueryPool,                                                                                   createQueryPool),
+       VK_NULL_FUNC_ENTRY(vkDestroyQueryPool,                                                                                  destroyQueryPool),
+       VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults,                                                                               getQueryPoolResults),
+       VK_NULL_FUNC_ENTRY(vkCreateBuffer,                                                                                              createBuffer),
+       VK_NULL_FUNC_ENTRY(vkDestroyBuffer,                                                                                             destroyBuffer),
+       VK_NULL_FUNC_ENTRY(vkCreateBufferView,                                                                                  createBufferView),
+       VK_NULL_FUNC_ENTRY(vkDestroyBufferView,                                                                                 destroyBufferView),
+       VK_NULL_FUNC_ENTRY(vkCreateImage,                                                                                               createImage),
+       VK_NULL_FUNC_ENTRY(vkDestroyImage,                                                                                              destroyImage),
+       VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout,                                                                 getImageSubresourceLayout),
+       VK_NULL_FUNC_ENTRY(vkCreateImageView,                                                                                   createImageView),
+       VK_NULL_FUNC_ENTRY(vkDestroyImageView,                                                                                  destroyImageView),
+       VK_NULL_FUNC_ENTRY(vkCreateShaderModule,                                                                                createShaderModule),
+       VK_NULL_FUNC_ENTRY(vkDestroyShaderModule,                                                                               destroyShaderModule),
+       VK_NULL_FUNC_ENTRY(vkCreatePipelineCache,                                                                               createPipelineCache),
+       VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache,                                                                              destroyPipelineCache),
+       VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData,                                                                              getPipelineCacheData),
+       VK_NULL_FUNC_ENTRY(vkMergePipelineCaches,                                                                               mergePipelineCaches),
+       VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines,                                                                   createGraphicsPipelines),
+       VK_NULL_FUNC_ENTRY(vkCreateComputePipelines,                                                                    createComputePipelines),
+       VK_NULL_FUNC_ENTRY(vkDestroyPipeline,                                                                                   destroyPipeline),
+       VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout,                                                                              createPipelineLayout),
+       VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout,                                                                             destroyPipelineLayout),
+       VK_NULL_FUNC_ENTRY(vkCreateSampler,                                                                                             createSampler),
+       VK_NULL_FUNC_ENTRY(vkDestroySampler,                                                                                    destroySampler),
+       VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout,                                                                 createDescriptorSetLayout),
+       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout,                                                                destroyDescriptorSetLayout),
+       VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool,                                                                              createDescriptorPool),
+       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool,                                                                             destroyDescriptorPool),
+       VK_NULL_FUNC_ENTRY(vkResetDescriptorPool,                                                                               resetDescriptorPool),
+       VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets,                                                                    allocateDescriptorSets),
+       VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets,                                                                                freeDescriptorSets),
+       VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets,                                                                              updateDescriptorSets),
+       VK_NULL_FUNC_ENTRY(vkCreateFramebuffer,                                                                                 createFramebuffer),
+       VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer,                                                                                destroyFramebuffer),
+       VK_NULL_FUNC_ENTRY(vkCreateRenderPass,                                                                                  createRenderPass),
+       VK_NULL_FUNC_ENTRY(vkDestroyRenderPass,                                                                                 destroyRenderPass),
+       VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity,                                                                  getRenderAreaGranularity),
+       VK_NULL_FUNC_ENTRY(vkCreateCommandPool,                                                                                 createCommandPool),
+       VK_NULL_FUNC_ENTRY(vkDestroyCommandPool,                                                                                destroyCommandPool),
+       VK_NULL_FUNC_ENTRY(vkResetCommandPool,                                                                                  resetCommandPool),
+       VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers,                                                                    allocateCommandBuffers),
+       VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers,                                                                                freeCommandBuffers),
+       VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer,                                                                                beginCommandBuffer),
+       VK_NULL_FUNC_ENTRY(vkEndCommandBuffer,                                                                                  endCommandBuffer),
+       VK_NULL_FUNC_ENTRY(vkResetCommandBuffer,                                                                                resetCommandBuffer),
+       VK_NULL_FUNC_ENTRY(vkCmdBindPipeline,                                                                                   cmdBindPipeline),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewport,                                                                                    cmdSetViewport),
+       VK_NULL_FUNC_ENTRY(vkCmdSetScissor,                                                                                             cmdSetScissor),
+       VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth,                                                                                   cmdSetLineWidth),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias,                                                                                   cmdSetDepthBias),
+       VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants,                                                                              cmdSetBlendConstants),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds,                                                                                 cmdSetDepthBounds),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask,                                                                  cmdSetStencilCompareMask),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask,                                                                    cmdSetStencilWriteMask),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference,                                                                    cmdSetStencilReference),
+       VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets,                                                                             cmdBindDescriptorSets),
+       VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer,                                                                                cmdBindIndexBuffer),
+       VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers,                                                                              cmdBindVertexBuffers),
+       VK_NULL_FUNC_ENTRY(vkCmdDraw,                                                                                                   cmdDraw),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed,                                                                                    cmdDrawIndexed),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect,                                                                                   cmdDrawIndirect),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect,                                                                    cmdDrawIndexedIndirect),
+       VK_NULL_FUNC_ENTRY(vkCmdDispatch,                                                                                               cmdDispatch),
+       VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect,                                                                               cmdDispatchIndirect),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer,                                                                                             cmdCopyBuffer),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyImage,                                                                                              cmdCopyImage),
+       VK_NULL_FUNC_ENTRY(vkCmdBlitImage,                                                                                              cmdBlitImage),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage,                                                                              cmdCopyBufferToImage),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer,                                                                              cmdCopyImageToBuffer),
+       VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer,                                                                                   cmdUpdateBuffer),
+       VK_NULL_FUNC_ENTRY(vkCmdFillBuffer,                                                                                             cmdFillBuffer),
+       VK_NULL_FUNC_ENTRY(vkCmdClearColorImage,                                                                                cmdClearColorImage),
+       VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage,                                                                 cmdClearDepthStencilImage),
+       VK_NULL_FUNC_ENTRY(vkCmdClearAttachments,                                                                               cmdClearAttachments),
+       VK_NULL_FUNC_ENTRY(vkCmdResolveImage,                                                                                   cmdResolveImage),
+       VK_NULL_FUNC_ENTRY(vkCmdSetEvent,                                                                                               cmdSetEvent),
+       VK_NULL_FUNC_ENTRY(vkCmdResetEvent,                                                                                             cmdResetEvent),
+       VK_NULL_FUNC_ENTRY(vkCmdWaitEvents,                                                                                             cmdWaitEvents),
+       VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier,                                                                                cmdPipelineBarrier),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginQuery,                                                                                             cmdBeginQuery),
+       VK_NULL_FUNC_ENTRY(vkCmdEndQuery,                                                                                               cmdEndQuery),
+       VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool,                                                                                 cmdResetQueryPool),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp,                                                                                 cmdWriteTimestamp),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults,                                                                   cmdCopyQueryPoolResults),
+       VK_NULL_FUNC_ENTRY(vkCmdPushConstants,                                                                                  cmdPushConstants),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass,                                                                                cmdBeginRenderPass),
+       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass,                                                                                    cmdNextSubpass),
+       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass,                                                                                  cmdEndRenderPass),
+       VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands,                                                                                cmdExecuteCommands),
+       VK_NULL_FUNC_ENTRY(vkBindBufferMemory2,                                                                                 bindBufferMemory2),
+       VK_NULL_FUNC_ENTRY(vkBindImageMemory2,                                                                                  bindImageMemory2),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeatures,                                                  getDeviceGroupPeerMemoryFeatures),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMask,                                                                                  cmdSetDeviceMask),
+       VK_NULL_FUNC_ENTRY(vkCmdDispatchBase,                                                                                   cmdDispatchBase),
+       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2,                                                               getImageMemoryRequirements2),
+       VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2,                                                              getBufferMemoryRequirements2),
+       VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2,                                                 getImageSparseMemoryRequirements2),
+       VK_NULL_FUNC_ENTRY(vkTrimCommandPool,                                                                                   trimCommandPool),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceQueue2,                                                                                   getDeviceQueue2),
+       VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversion,                                                              createSamplerYcbcrConversion),
+       VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversion,                                                             destroySamplerYcbcrConversion),
+       VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplate,                                                    createDescriptorUpdateTemplate),
+       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplate,                                                   destroyDescriptorUpdateTemplate),
+       VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplate,                                                   updateDescriptorSetWithTemplate),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupport,                                                             getDescriptorSetLayoutSupport),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCount,                                                                              cmdDrawIndirectCount),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCount,                                                               cmdDrawIndexedIndirectCount),
+       VK_NULL_FUNC_ENTRY(vkCreateRenderPass2,                                                                                 createRenderPass2),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2,                                                                               cmdBeginRenderPass2),
+       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2,                                                                                   cmdNextSubpass2),
+       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2,                                                                                 cmdEndRenderPass2),
+       VK_NULL_FUNC_ENTRY(vkResetQueryPool,                                                                                    resetQueryPool),
+       VK_NULL_FUNC_ENTRY(vkGetSemaphoreCounterValue,                                                                  getSemaphoreCounterValue),
+       VK_NULL_FUNC_ENTRY(vkWaitSemaphores,                                                                                    waitSemaphores),
+       VK_NULL_FUNC_ENTRY(vkSignalSemaphore,                                                                                   signalSemaphore),
+       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddress,                                                                    getBufferDeviceAddress),
+       VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureAddress,                                                             getBufferOpaqueCaptureAddress),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryOpaqueCaptureAddress,                                               getDeviceMemoryOpaqueCaptureAddress),
+       VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlot,                                                                             createPrivateDataSlot),
+       VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlot,                                                                    destroyPrivateDataSlot),
+       VK_NULL_FUNC_ENTRY(vkSetPrivateData,                                                                                    setPrivateData),
+       VK_NULL_FUNC_ENTRY(vkGetPrivateData,                                                                                    getPrivateData),
+       VK_NULL_FUNC_ENTRY(vkCmdSetEvent2,                                                                                              cmdSetEvent2),
+       VK_NULL_FUNC_ENTRY(vkCmdResetEvent2,                                                                                    cmdResetEvent2),
+       VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2,                                                                                    cmdWaitEvents2),
+       VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2,                                                                               cmdPipelineBarrier2),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2,                                                                                cmdWriteTimestamp2),
+       VK_NULL_FUNC_ENTRY(vkQueueSubmit2,                                                                                              queueSubmit2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2,                                                                                    cmdCopyBuffer2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyImage2,                                                                                             cmdCopyImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2,                                                                             cmdCopyBufferToImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2,                                                                             cmdCopyImageToBuffer2),
+       VK_NULL_FUNC_ENTRY(vkCmdBlitImage2,                                                                                             cmdBlitImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdResolveImage2,                                                                                  cmdResolveImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginRendering,                                                                                 cmdBeginRendering),
+       VK_NULL_FUNC_ENTRY(vkCmdEndRendering,                                                                                   cmdEndRendering),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCullMode,                                                                                    cmdSetCullMode),
+       VK_NULL_FUNC_ENTRY(vkCmdSetFrontFace,                                                                                   cmdSetFrontFace),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopology,                                                                   cmdSetPrimitiveTopology),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCount,                                                                   cmdSetViewportWithCount),
+       VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCount,                                                                    cmdSetScissorWithCount),
+       VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2,                                                                             cmdBindVertexBuffers2),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnable,                                                                             cmdSetDepthTestEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnable,                                                                    cmdSetDepthWriteEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOp,                                                                              cmdSetDepthCompareOp),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnable,                                                               cmdSetDepthBoundsTestEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnable,                                                                   cmdSetStencilTestEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilOp,                                                                                   cmdSetStencilOp),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnable,                                                             cmdSetRasterizerDiscardEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnable,                                                                             cmdSetDepthBiasEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnable,                                                              cmdSetPrimitiveRestartEnable),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirements,                                                 getDeviceBufferMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirements,                                                  getDeviceImageMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirements,                                    getDeviceImageSparseMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkCreateSwapchainKHR,                                                                                createSwapchainKHR),
+       VK_NULL_FUNC_ENTRY(vkDestroySwapchainKHR,                                                                               destroySwapchainKHR),
+       VK_NULL_FUNC_ENTRY(vkGetSwapchainImagesKHR,                                                                             getSwapchainImagesKHR),
+       VK_NULL_FUNC_ENTRY(vkAcquireNextImageKHR,                                                                               acquireNextImageKHR),
+       VK_NULL_FUNC_ENTRY(vkQueuePresentKHR,                                                                                   queuePresentKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR,                                              getDeviceGroupPresentCapabilitiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModesKHR,                                              getDeviceGroupSurfacePresentModesKHR),
+       VK_NULL_FUNC_ENTRY(vkAcquireNextImage2KHR,                                                                              acquireNextImage2KHR),
+       VK_NULL_FUNC_ENTRY(vkCreateSharedSwapchainsKHR,                                                                 createSharedSwapchainsKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderingKHR,                                                                              cmdBeginRendering),
+       VK_NULL_FUNC_ENTRY(vkCmdEndRenderingKHR,                                                                                cmdEndRendering),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR,                                               getDeviceGroupPeerMemoryFeatures),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR,                                                                               cmdSetDeviceMask),
+       VK_NULL_FUNC_ENTRY(vkCmdDispatchBaseKHR,                                                                                cmdDispatchBase),
+       VK_NULL_FUNC_ENTRY(vkTrimCommandPoolKHR,                                                                                trimCommandPool),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryFdKHR,                                                                                    getMemoryFdKHR),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryFdPropertiesKHR,                                                                  getMemoryFdPropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkImportSemaphoreFdKHR,                                                                              importSemaphoreFdKHR),
+       VK_NULL_FUNC_ENTRY(vkGetSemaphoreFdKHR,                                                                                 getSemaphoreFdKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetKHR,                                                                   cmdPushDescriptorSetKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetWithTemplateKHR,                                               cmdPushDescriptorSetWithTemplateKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplateKHR,                                                 createDescriptorUpdateTemplate),
+       VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplateKHR,                                                destroyDescriptorUpdateTemplate),
+       VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplateKHR,                                                updateDescriptorSetWithTemplate),
+       VK_NULL_FUNC_ENTRY(vkCreateRenderPass2KHR,                                                                              createRenderPass2),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2KHR,                                                                    cmdBeginRenderPass2),
+       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2KHR,                                                                                cmdNextSubpass2),
+       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2KHR,                                                                              cmdEndRenderPass2),
+       VK_NULL_FUNC_ENTRY(vkGetSwapchainStatusKHR,                                                                             getSwapchainStatusKHR),
+       VK_NULL_FUNC_ENTRY(vkImportFenceFdKHR,                                                                                  importFenceFdKHR),
+       VK_NULL_FUNC_ENTRY(vkGetFenceFdKHR,                                                                                             getFenceFdKHR),
+       VK_NULL_FUNC_ENTRY(vkAcquireProfilingLockKHR,                                                                   acquireProfilingLockKHR),
+       VK_NULL_FUNC_ENTRY(vkReleaseProfilingLockKHR,                                                                   releaseProfilingLockKHR),
+       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2KHR,                                                    getImageMemoryRequirements2),
+       VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2KHR,                                                   getBufferMemoryRequirements2),
+       VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2KHR,                                              getImageSparseMemoryRequirements2),
+       VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversionKHR,                                                   createSamplerYcbcrConversion),
+       VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversionKHR,                                                  destroySamplerYcbcrConversion),
+       VK_NULL_FUNC_ENTRY(vkBindBufferMemory2KHR,                                                                              bindBufferMemory2),
+       VK_NULL_FUNC_ENTRY(vkBindImageMemory2KHR,                                                                               bindImageMemory2),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupportKHR,                                                  getDescriptorSetLayoutSupport),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountKHR,                                                                   cmdDrawIndirectCount),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountKHR,                                                    cmdDrawIndexedIndirectCount),
+       VK_NULL_FUNC_ENTRY(vkGetSemaphoreCounterValueKHR,                                                               getSemaphoreCounterValue),
+       VK_NULL_FUNC_ENTRY(vkWaitSemaphoresKHR,                                                                                 waitSemaphores),
+       VK_NULL_FUNC_ENTRY(vkSignalSemaphoreKHR,                                                                                signalSemaphore),
+       VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateKHR,                                                              cmdSetFragmentShadingRateKHR),
+       VK_NULL_FUNC_ENTRY(vkWaitForPresentKHR,                                                                                 waitForPresentKHR),
+       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressKHR,                                                                 getBufferDeviceAddress),
+       VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureAddressKHR,                                                  getBufferOpaqueCaptureAddress),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryOpaqueCaptureAddressKHR,                                    getDeviceMemoryOpaqueCaptureAddress),
+       VK_NULL_FUNC_ENTRY(vkCreateDeferredOperationKHR,                                                                createDeferredOperationKHR),
+       VK_NULL_FUNC_ENTRY(vkDestroyDeferredOperationKHR,                                                               destroyDeferredOperationKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDeferredOperationMaxConcurrencyKHR,                                             getDeferredOperationMaxConcurrencyKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDeferredOperationResultKHR,                                                             getDeferredOperationResultKHR),
+       VK_NULL_FUNC_ENTRY(vkDeferredOperationJoinKHR,                                                                  deferredOperationJoinKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutablePropertiesKHR,                                                getPipelineExecutablePropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableStatisticsKHR,                                                getPipelineExecutableStatisticsKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableInternalRepresentationsKHR,                   getPipelineExecutableInternalRepresentationsKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdSetEvent2KHR,                                                                                   cmdSetEvent2),
+       VK_NULL_FUNC_ENTRY(vkCmdResetEvent2KHR,                                                                                 cmdResetEvent2),
+       VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2KHR,                                                                                 cmdWaitEvents2),
+       VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2KHR,                                                                    cmdPipelineBarrier2),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2KHR,                                                                             cmdWriteTimestamp2),
+       VK_NULL_FUNC_ENTRY(vkQueueSubmit2KHR,                                                                                   queueSubmit2),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteBufferMarker2AMD,                                                                  cmdWriteBufferMarker2AMD),
+       VK_NULL_FUNC_ENTRY(vkGetQueueCheckpointData2NV,                                                                 getQueueCheckpointData2NV),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2KHR,                                                                                 cmdCopyBuffer2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyImage2KHR,                                                                                  cmdCopyImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2KHR,                                                                  cmdCopyBufferToImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2KHR,                                                                  cmdCopyImageToBuffer2),
+       VK_NULL_FUNC_ENTRY(vkCmdBlitImage2KHR,                                                                                  cmdBlitImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdResolveImage2KHR,                                                                               cmdResolveImage2),
+       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysIndirect2KHR,                                                                  cmdTraceRaysIndirect2KHR),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirementsKHR,                                              getDeviceBufferMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirementsKHR,                                               getDeviceImageMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirementsKHR,                                 getDeviceImageSparseMemoryRequirements),
+       VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectTagEXT,                                                                debugMarkerSetObjectTagEXT),
+       VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectNameEXT,                                                               debugMarkerSetObjectNameEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerBeginEXT,                                                                    cmdDebugMarkerBeginEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerEndEXT,                                                                              cmdDebugMarkerEndEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerInsertEXT,                                                                   cmdDebugMarkerInsertEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBindTransformFeedbackBuffersEXT,                                                cmdBindTransformFeedbackBuffersEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginTransformFeedbackEXT,                                                              cmdBeginTransformFeedbackEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdEndTransformFeedbackEXT,                                                                cmdEndTransformFeedbackEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginQueryIndexedEXT,                                                                   cmdBeginQueryIndexedEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdEndQueryIndexedEXT,                                                                             cmdEndQueryIndexedEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectByteCountEXT,                                                               cmdDrawIndirectByteCountEXT),
+       VK_NULL_FUNC_ENTRY(vkCreateCuModuleNVX,                                                                                 createCuModuleNVX),
+       VK_NULL_FUNC_ENTRY(vkCreateCuFunctionNVX,                                                                               createCuFunctionNVX),
+       VK_NULL_FUNC_ENTRY(vkDestroyCuModuleNVX,                                                                                destroyCuModuleNVX),
+       VK_NULL_FUNC_ENTRY(vkDestroyCuFunctionNVX,                                                                              destroyCuFunctionNVX),
+       VK_NULL_FUNC_ENTRY(vkCmdCuLaunchKernelNVX,                                                                              cmdCuLaunchKernelNVX),
+       VK_NULL_FUNC_ENTRY(vkGetImageViewHandleNVX,                                                                             getImageViewHandleNVX),
+       VK_NULL_FUNC_ENTRY(vkGetImageViewAddressNVX,                                                                    getImageViewAddressNVX),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountAMD,                                                                   cmdDrawIndirectCountAMD),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountAMD,                                                    cmdDrawIndexedIndirectCountAMD),
+       VK_NULL_FUNC_ENTRY(vkGetShaderInfoAMD,                                                                                  getShaderInfoAMD),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginConditionalRenderingEXT,                                                   cmdBeginConditionalRenderingEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdEndConditionalRenderingEXT,                                                             cmdEndConditionalRenderingEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWScalingNV,                                                                  cmdSetViewportWScalingNV),
+       VK_NULL_FUNC_ENTRY(vkDisplayPowerControlEXT,                                                                    displayPowerControlEXT),
+       VK_NULL_FUNC_ENTRY(vkRegisterDeviceEventEXT,                                                                    registerDeviceEventEXT),
+       VK_NULL_FUNC_ENTRY(vkRegisterDisplayEventEXT,                                                                   registerDisplayEventEXT),
+       VK_NULL_FUNC_ENTRY(vkGetSwapchainCounterEXT,                                                                    getSwapchainCounterEXT),
+       VK_NULL_FUNC_ENTRY(vkGetRefreshCycleDurationGOOGLE,                                                             getRefreshCycleDurationGOOGLE),
+       VK_NULL_FUNC_ENTRY(vkGetPastPresentationTimingGOOGLE,                                                   getPastPresentationTimingGOOGLE),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDiscardRectangleEXT,                                                                 cmdSetDiscardRectangleEXT),
+       VK_NULL_FUNC_ENTRY(vkSetHdrMetadataEXT,                                                                                 setHdrMetadataEXT),
+       VK_NULL_FUNC_ENTRY(vkSetDebugUtilsObjectNameEXT,                                                                setDebugUtilsObjectNameEXT),
+       VK_NULL_FUNC_ENTRY(vkSetDebugUtilsObjectTagEXT,                                                                 setDebugUtilsObjectTagEXT),
+       VK_NULL_FUNC_ENTRY(vkQueueBeginDebugUtilsLabelEXT,                                                              queueBeginDebugUtilsLabelEXT),
+       VK_NULL_FUNC_ENTRY(vkQueueEndDebugUtilsLabelEXT,                                                                queueEndDebugUtilsLabelEXT),
+       VK_NULL_FUNC_ENTRY(vkQueueInsertDebugUtilsLabelEXT,                                                             queueInsertDebugUtilsLabelEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginDebugUtilsLabelEXT,                                                                cmdBeginDebugUtilsLabelEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdEndDebugUtilsLabelEXT,                                                                  cmdEndDebugUtilsLabelEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdInsertDebugUtilsLabelEXT,                                                               cmdInsertDebugUtilsLabelEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetSampleLocationsEXT,                                                                  cmdSetSampleLocationsEXT),
+       VK_NULL_FUNC_ENTRY(vkGetImageDrmFormatModifierPropertiesEXT,                                    getImageDrmFormatModifierPropertiesEXT),
+       VK_NULL_FUNC_ENTRY(vkCreateValidationCacheEXT,                                                                  createValidationCacheEXT),
+       VK_NULL_FUNC_ENTRY(vkDestroyValidationCacheEXT,                                                                 destroyValidationCacheEXT),
+       VK_NULL_FUNC_ENTRY(vkMergeValidationCachesEXT,                                                                  mergeValidationCachesEXT),
+       VK_NULL_FUNC_ENTRY(vkGetValidationCacheDataEXT,                                                                 getValidationCacheDataEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBindShadingRateImageNV,                                                                 cmdBindShadingRateImageNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewportShadingRatePaletteNV,                                                cmdSetViewportShadingRatePaletteNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCoarseSampleOrderNV,                                                                 cmdSetCoarseSampleOrderNV),
+       VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureNV,                                                             createAccelerationStructureNV),
+       VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureNV,                                                    destroyAccelerationStructureNV),
+       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureMemoryRequirementsNV,                              getAccelerationStructureMemoryRequirementsNV),
+       VK_NULL_FUNC_ENTRY(vkBindAccelerationStructureMemoryNV,                                                 bindAccelerationStructureMemoryNV),
+       VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructureNV,                                                   cmdBuildAccelerationStructureNV),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureNV,                                                    cmdCopyAccelerationStructureNV),
+       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysNV,                                                                                    cmdTraceRaysNV),
+       VK_NULL_FUNC_ENTRY(vkCreateRayTracingPipelinesNV,                                                               createRayTracingPipelinesNV),
+       VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupHandlesKHR,                                                getRayTracingShaderGroupHandlesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupHandlesNV,                                                 getRayTracingShaderGroupHandlesNV),
+       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureHandleNV,                                                  getAccelerationStructureHandleNV),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteAccelerationStructuresPropertiesNV,                                cmdWriteAccelerationStructuresPropertiesNV),
+       VK_NULL_FUNC_ENTRY(vkCompileDeferredNV,                                                                                 compileDeferredNV),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryHostPointerPropertiesEXT,                                                 getMemoryHostPointerPropertiesEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteBufferMarkerAMD,                                                                   cmdWriteBufferMarkerAMD),
+       VK_NULL_FUNC_ENTRY(vkGetCalibratedTimestampsEXT,                                                                getCalibratedTimestampsEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksNV,                                                                                cmdDrawMeshTasksNV),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksIndirectNV,                                                                cmdDrawMeshTasksIndirectNV),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksIndirectCountNV,                                                   cmdDrawMeshTasksIndirectCountNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetExclusiveScissorNV,                                                                  cmdSetExclusiveScissorNV),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCheckpointNV,                                                                                cmdSetCheckpointNV),
+       VK_NULL_FUNC_ENTRY(vkGetQueueCheckpointDataNV,                                                                  getQueueCheckpointDataNV),
+       VK_NULL_FUNC_ENTRY(vkInitializePerformanceApiINTEL,                                                             initializePerformanceApiINTEL),
+       VK_NULL_FUNC_ENTRY(vkUninitializePerformanceApiINTEL,                                                   uninitializePerformanceApiINTEL),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceMarkerINTEL,                                                              cmdSetPerformanceMarkerINTEL),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceStreamMarkerINTEL,                                                cmdSetPerformanceStreamMarkerINTEL),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceOverrideINTEL,                                                    cmdSetPerformanceOverrideINTEL),
+       VK_NULL_FUNC_ENTRY(vkAcquirePerformanceConfigurationINTEL,                                              acquirePerformanceConfigurationINTEL),
+       VK_NULL_FUNC_ENTRY(vkReleasePerformanceConfigurationINTEL,                                              releasePerformanceConfigurationINTEL),
+       VK_NULL_FUNC_ENTRY(vkQueueSetPerformanceConfigurationINTEL,                                             queueSetPerformanceConfigurationINTEL),
+       VK_NULL_FUNC_ENTRY(vkGetPerformanceParameterINTEL,                                                              getPerformanceParameterINTEL),
+       VK_NULL_FUNC_ENTRY(vkSetLocalDimmingAMD,                                                                                setLocalDimmingAMD),
+       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                                                 getBufferDeviceAddressEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEXT,                                                                              cmdSetLineStippleEXT),
+       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                                                 resetQueryPool),
+       VK_NULL_FUNC_ENTRY(vkCmdSetCullModeEXT,                                                                                 cmdSetCullMode),
+       VK_NULL_FUNC_ENTRY(vkCmdSetFrontFaceEXT,                                                                                cmdSetFrontFace),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopologyEXT,                                                                cmdSetPrimitiveTopology),
+       VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCountEXT,                                                                cmdSetViewportWithCount),
+       VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCountEXT,                                                                 cmdSetScissorWithCount),
+       VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2EXT,                                                                  cmdBindVertexBuffers2),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnableEXT,                                                                  cmdSetDepthTestEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnableEXT,                                                                 cmdSetDepthWriteEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOpEXT,                                                                   cmdSetDepthCompareOp),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnableEXT,                                                    cmdSetDepthBoundsTestEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnableEXT,                                                                cmdSetStencilTestEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetStencilOpEXT,                                                                                cmdSetStencilOp),
+       VK_NULL_FUNC_ENTRY(vkGetGeneratedCommandsMemoryRequirementsNV,                                  getGeneratedCommandsMemoryRequirementsNV),
+       VK_NULL_FUNC_ENTRY(vkCmdPreprocessGeneratedCommandsNV,                                                  cmdPreprocessGeneratedCommandsNV),
+       VK_NULL_FUNC_ENTRY(vkCmdExecuteGeneratedCommandsNV,                                                             cmdExecuteGeneratedCommandsNV),
+       VK_NULL_FUNC_ENTRY(vkCmdBindPipelineShaderGroupNV,                                                              cmdBindPipelineShaderGroupNV),
+       VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNV,                                                    createIndirectCommandsLayoutNV),
+       VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNV,                                                   destroyIndirectCommandsLayoutNV),
+       VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlotEXT,                                                                  createPrivateDataSlot),
+       VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlotEXT,                                                                 destroyPrivateDataSlot),
+       VK_NULL_FUNC_ENTRY(vkSetPrivateDataEXT,                                                                                 setPrivateData),
+       VK_NULL_FUNC_ENTRY(vkGetPrivateDataEXT,                                                                                 getPrivateData),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSizeEXT,                                                             getDescriptorSetLayoutSizeEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutBindingOffsetEXT,                                    getDescriptorSetLayoutBindingOffsetEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorEXT,                                                                                  getDescriptorEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorBuffersEXT,                                                               cmdBindDescriptorBuffersEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDescriptorBufferOffsetsEXT,                                                  cmdSetDescriptorBufferOffsetsEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorBufferEmbeddedSamplersEXT,                                cmdBindDescriptorBufferEmbeddedSamplersEXT),
+       VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureDescriptorDataEXT,                                   getBufferOpaqueCaptureDescriptorDataEXT),
+       VK_NULL_FUNC_ENTRY(vkGetImageOpaqueCaptureDescriptorDataEXT,                                    getImageOpaqueCaptureDescriptorDataEXT),
+       VK_NULL_FUNC_ENTRY(vkGetImageViewOpaqueCaptureDescriptorDataEXT,                                getImageViewOpaqueCaptureDescriptorDataEXT),
+       VK_NULL_FUNC_ENTRY(vkGetSamplerOpaqueCaptureDescriptorDataEXT,                                  getSamplerOpaqueCaptureDescriptorDataEXT),
+       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT,    getAccelerationStructureOpaqueCaptureDescriptorDataEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateEnumNV,                                                   cmdSetFragmentShadingRateEnumNV),
+       VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout2EXT,                                                             getImageSubresourceLayout2EXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetVertexInputEXT,                                                                              cmdSetVertexInputEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI,                             getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI),
+       VK_NULL_FUNC_ENTRY(vkCmdSubpassShadingHUAWEI,                                                                   cmdSubpassShadingHUAWEI),
+       VK_NULL_FUNC_ENTRY(vkCmdBindInvocationMaskHUAWEI,                                                               cmdBindInvocationMaskHUAWEI),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryRemoteAddressNV,                                                                  getMemoryRemoteAddressNV),
+       VK_NULL_FUNC_ENTRY(vkGetPipelinePropertiesEXT,                                                                  getPipelinePropertiesEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPatchControlPointsEXT,                                                               cmdSetPatchControlPointsEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT,                                                  cmdSetRasterizerDiscardEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT,                                                                  cmdSetDepthBiasEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetLogicOpEXT,                                                                                  cmdSetLogicOpEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnableEXT,                                                   cmdSetPrimitiveRestartEnable),
+       VK_NULL_FUNC_ENTRY(vkCmdSetColorWriteEnableEXT,                                                                 cmdSetColorWriteEnableEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawMultiEXT,                                                                                   cmdDrawMultiEXT),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawMultiIndexedEXT,                                                                    cmdDrawMultiIndexedEXT),
+       VK_NULL_FUNC_ENTRY(vkSetDeviceMemoryPriorityEXT,                                                                setDeviceMemoryPriorityEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutHostMappingInfoVALVE,                                getDescriptorSetLayoutHostMappingInfoVALVE),
+       VK_NULL_FUNC_ENTRY(vkGetDescriptorSetHostMappingVALVE,                                                  getDescriptorSetHostMappingVALVE),
+       VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureKHR,                                                    createAccelerationStructureKHR),
+       VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureKHR,                                                   destroyAccelerationStructureKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresKHR,                                                 cmdBuildAccelerationStructuresKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresIndirectKHR,                                 cmdBuildAccelerationStructuresIndirectKHR),
+       VK_NULL_FUNC_ENTRY(vkBuildAccelerationStructuresKHR,                                                    buildAccelerationStructuresKHR),
+       VK_NULL_FUNC_ENTRY(vkCopyAccelerationStructureKHR,                                                              copyAccelerationStructureKHR),
+       VK_NULL_FUNC_ENTRY(vkCopyAccelerationStructureToMemoryKHR,                                              copyAccelerationStructureToMemoryKHR),
+       VK_NULL_FUNC_ENTRY(vkCopyMemoryToAccelerationStructureKHR,                                              copyMemoryToAccelerationStructureKHR),
+       VK_NULL_FUNC_ENTRY(vkWriteAccelerationStructuresPropertiesKHR,                                  writeAccelerationStructuresPropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureKHR,                                                   cmdCopyAccelerationStructureKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureToMemoryKHR,                                   cmdCopyAccelerationStructureToMemoryKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdCopyMemoryToAccelerationStructureKHR,                                   cmdCopyMemoryToAccelerationStructureKHR),
+       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureDeviceAddressKHR,                                  getAccelerationStructureDeviceAddressKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdWriteAccelerationStructuresPropertiesKHR,                               cmdWriteAccelerationStructuresPropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceAccelerationStructureCompatibilityKHR,                    getDeviceAccelerationStructureCompatibilityKHR),
+       VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureBuildSizesKHR,                                             getAccelerationStructureBuildSizesKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysKHR,                                                                                   cmdTraceRaysKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateRayTracingPipelinesKHR,                                                              createRayTracingPipelinesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetRayTracingCaptureReplayShaderGroupHandlesKHR,                   getRayTracingCaptureReplayShaderGroupHandlesKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdTraceRaysIndirectKHR,                                                                   cmdTraceRaysIndirectKHR),
+       VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupStackSizeKHR,                                              getRayTracingShaderGroupStackSizeKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdSetRayTracingPipelineStackSizeKHR,                                              cmdSetRayTracingPipelineStackSizeKHR),
+       VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID,                                 getAndroidHardwareBufferPropertiesANDROID),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID,                                             getMemoryAndroidHardwareBufferANDROID),
+       VK_NULL_FUNC_ENTRY(vkCreateVideoSessionKHR,                                                                             createVideoSessionKHR),
+       VK_NULL_FUNC_ENTRY(vkDestroyVideoSessionKHR,                                                                    destroyVideoSessionKHR),
+       VK_NULL_FUNC_ENTRY(vkGetVideoSessionMemoryRequirementsKHR,                                              getVideoSessionMemoryRequirementsKHR),
+       VK_NULL_FUNC_ENTRY(vkBindVideoSessionMemoryKHR,                                                                 bindVideoSessionMemoryKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateVideoSessionParametersKHR,                                                   createVideoSessionParametersKHR),
+       VK_NULL_FUNC_ENTRY(vkUpdateVideoSessionParametersKHR,                                                   updateVideoSessionParametersKHR),
+       VK_NULL_FUNC_ENTRY(vkDestroyVideoSessionParametersKHR,                                                  destroyVideoSessionParametersKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginVideoCodingKHR,                                                                    cmdBeginVideoCodingKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdEndVideoCodingKHR,                                                                              cmdEndVideoCodingKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdControlVideoCodingKHR,                                                                  cmdControlVideoCodingKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdDecodeVideoKHR,                                                                                 cmdDecodeVideoKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdEncodeVideoKHR,                                                                                 cmdEncodeVideoKHR),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryZirconHandleFUCHSIA,                                                              getMemoryZirconHandleFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryZirconHandlePropertiesFUCHSIA,                                    getMemoryZirconHandlePropertiesFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkImportSemaphoreZirconHandleFUCHSIA,                                                importSemaphoreZirconHandleFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkGetSemaphoreZirconHandleFUCHSIA,                                                   getSemaphoreZirconHandleFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkCreateBufferCollectionFUCHSIA,                                                             createBufferCollectionFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkSetBufferCollectionImageConstraintsFUCHSIA,                                setBufferCollectionImageConstraintsFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkSetBufferCollectionBufferConstraintsFUCHSIA,                               setBufferCollectionBufferConstraintsFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkDestroyBufferCollectionFUCHSIA,                                                    destroyBufferCollectionFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkGetBufferCollectionPropertiesFUCHSIA,                                              getBufferCollectionPropertiesFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR,                                                                   getMemoryWin32HandleKHR),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandlePropertiesKHR,                                                 getMemoryWin32HandlePropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkImportSemaphoreWin32HandleKHR,                                                             importSemaphoreWin32HandleKHR),
+       VK_NULL_FUNC_ENTRY(vkGetSemaphoreWin32HandleKHR,                                                                getSemaphoreWin32HandleKHR),
+       VK_NULL_FUNC_ENTRY(vkImportFenceWin32HandleKHR,                                                                 importFenceWin32HandleKHR),
+       VK_NULL_FUNC_ENTRY(vkGetFenceWin32HandleKHR,                                                                    getFenceWin32HandleKHR),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleNV,                                                                    getMemoryWin32HandleNV),
+       VK_NULL_FUNC_ENTRY(vkAcquireFullScreenExclusiveModeEXT,                                                 acquireFullScreenExclusiveModeEXT),
+       VK_NULL_FUNC_ENTRY(vkReleaseFullScreenExclusiveModeEXT,                                                 releaseFullScreenExclusiveModeEXT),
+       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModes2EXT,                                             getDeviceGroupSurfacePresentModes2EXT),
 };
 
index a6530c4..f2eba20 100644 (file)
@@ -5,9 +5,9 @@
 
 const char*    getResultName                                                                                   (VkResult value);
 const char*    getStructureTypeName                                                                    (VkStructureType value);
+const char*    getPipelineCacheHeaderVersionName                                               (VkPipelineCacheHeaderVersion value);
 const char*    getImageLayoutName                                                                              (VkImageLayout value);
 const char*    getObjectTypeName                                                                               (VkObjectType value);
-const char*    getPipelineCacheHeaderVersionName                                               (VkPipelineCacheHeaderVersion value);
 const char*    getVendorIdName                                                                                 (VkVendorId value);
 const char*    getSystemAllocationScopeName                                                    (VkSystemAllocationScope value);
 const char*    getInternalAllocationTypeName                                                   (VkInternalAllocationType value);
@@ -97,6 +97,7 @@ const char*   getDeviceMemoryReportEventTypeEXTName                                   (VkDeviceMemoryReportEvent
 const char*    getFragmentShadingRateTypeNVName                                                (VkFragmentShadingRateTypeNV value);
 const char*    getFragmentShadingRateNVName                                                    (VkFragmentShadingRateNV value);
 const char*    getAccelerationStructureMotionInstanceTypeNVName                (VkAccelerationStructureMotionInstanceTypeNV value);
+const char*    getSubpassMergeStatusEXTName                                                    (VkSubpassMergeStatusEXT value);
 const char*    getBuildAccelerationStructureModeKHRName                                (VkBuildAccelerationStructureModeKHR value);
 const char*    getAccelerationStructureBuildTypeKHRName                                (VkAccelerationStructureBuildTypeKHR value);
 const char*    getAccelerationStructureCompatibilityKHRName                    (VkAccelerationStructureCompatibilityKHR value);
@@ -125,9 +126,9 @@ const char* getFullScreenExclusiveEXTName                                                   (VkFullScreenExclusiveEXT value)
 
 inline tcu::Format::Enum<VkResult>                                                                                     getResultStr                                                                            (VkResult value)                                                                                { return tcu::Format::Enum<VkResult>(getResultName, value);                                                                                                                                                                     }
 inline tcu::Format::Enum<VkStructureType>                                                                      getStructureTypeStr                                                                     (VkStructureType value)                                                                 { return tcu::Format::Enum<VkStructureType>(getStructureTypeName, value);                                                                                                                                       }
+inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>                                         getPipelineCacheHeaderVersionStr                                        (VkPipelineCacheHeaderVersion value)                                    { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value);                                                                                     }
 inline tcu::Format::Enum<VkImageLayout>                                                                                getImageLayoutStr                                                                       (VkImageLayout value)                                                                   { return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value);                                                                                                                                           }
 inline tcu::Format::Enum<VkObjectType>                                                                         getObjectTypeStr                                                                        (VkObjectType value)                                                                    { return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value);                                                                                                                                                     }
-inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>                                         getPipelineCacheHeaderVersionStr                                        (VkPipelineCacheHeaderVersion value)                                    { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, value);                                                                                     }
 inline tcu::Format::Enum<VkVendorId>                                                                           getVendorIdStr                                                                          (VkVendorId value)                                                                              { return tcu::Format::Enum<VkVendorId>(getVendorIdName, value);                                                                                                                                                         }
 inline tcu::Format::Enum<VkSystemAllocationScope>                                                      getSystemAllocationScopeStr                                                     (VkSystemAllocationScope value)                                                 { return tcu::Format::Enum<VkSystemAllocationScope>(getSystemAllocationScopeName, value);                                                                                                       }
 inline tcu::Format::Enum<VkInternalAllocationType>                                                     getInternalAllocationTypeStr                                            (VkInternalAllocationType value)                                                { return tcu::Format::Enum<VkInternalAllocationType>(getInternalAllocationTypeName, value);                                                                                                     }
@@ -217,6 +218,7 @@ inline tcu::Format::Enum<VkDeviceMemoryReportEventTypeEXT>                                  getDeviceMemoryRe
 inline tcu::Format::Enum<VkFragmentShadingRateTypeNV>                                          getFragmentShadingRateTypeNVStr                                         (VkFragmentShadingRateTypeNV value)                                             { return tcu::Format::Enum<VkFragmentShadingRateTypeNV>(getFragmentShadingRateTypeNVName, value);                                                                                       }
 inline tcu::Format::Enum<VkFragmentShadingRateNV>                                                      getFragmentShadingRateNVStr                                                     (VkFragmentShadingRateNV value)                                                 { return tcu::Format::Enum<VkFragmentShadingRateNV>(getFragmentShadingRateNVName, value);                                                                                                       }
 inline tcu::Format::Enum<VkAccelerationStructureMotionInstanceTypeNV>          getAccelerationStructureMotionInstanceTypeNVStr         (VkAccelerationStructureMotionInstanceTypeNV value)             { return tcu::Format::Enum<VkAccelerationStructureMotionInstanceTypeNV>(getAccelerationStructureMotionInstanceTypeNVName, value);                       }
+inline tcu::Format::Enum<VkSubpassMergeStatusEXT>                                                      getSubpassMergeStatusEXTStr                                                     (VkSubpassMergeStatusEXT value)                                                 { return tcu::Format::Enum<VkSubpassMergeStatusEXT>(getSubpassMergeStatusEXTName, value);                                                                                                       }
 inline tcu::Format::Enum<VkBuildAccelerationStructureModeKHR>                          getBuildAccelerationStructureModeKHRStr                         (VkBuildAccelerationStructureModeKHR value)                             { return tcu::Format::Enum<VkBuildAccelerationStructureModeKHR>(getBuildAccelerationStructureModeKHRName, value);                                                       }
 inline tcu::Format::Enum<VkAccelerationStructureBuildTypeKHR>                          getAccelerationStructureBuildTypeKHRStr                         (VkAccelerationStructureBuildTypeKHR value)                             { return tcu::Format::Enum<VkAccelerationStructureBuildTypeKHR>(getAccelerationStructureBuildTypeKHRName, value);                                                       }
 inline tcu::Format::Enum<VkAccelerationStructureCompatibilityKHR>                      getAccelerationStructureCompatibilityKHRStr                     (VkAccelerationStructureCompatibilityKHR value)                 { return tcu::Format::Enum<VkAccelerationStructureCompatibilityKHR>(getAccelerationStructureCompatibilityKHRName, value);                                       }
@@ -245,9 +247,9 @@ inline tcu::Format::Enum<VkFullScreenExclusiveEXT>                                                  getFullScreenExclusiveE
 
 inline std::ostream&   operator<<      (std::ostream& s, VkResult value)                                                                                       { return s << getResultStr(value);                                                                                      }
 inline std::ostream&   operator<<      (std::ostream& s, VkStructureType value)                                                                        { return s << getStructureTypeStr(value);                                                                       }
+inline std::ostream&   operator<<      (std::ostream& s, VkPipelineCacheHeaderVersion value)                                           { return s << getPipelineCacheHeaderVersionStr(value);                                          }
 inline std::ostream&   operator<<      (std::ostream& s, VkImageLayout value)                                                                          { return s << getImageLayoutStr(value);                                                                         }
 inline std::ostream&   operator<<      (std::ostream& s, VkObjectType value)                                                                           { return s << getObjectTypeStr(value);                                                                          }
-inline std::ostream&   operator<<      (std::ostream& s, VkPipelineCacheHeaderVersion value)                                           { return s << getPipelineCacheHeaderVersionStr(value);                                          }
 inline std::ostream&   operator<<      (std::ostream& s, VkVendorId value)                                                                                     { return s << getVendorIdStr(value);                                                                            }
 inline std::ostream&   operator<<      (std::ostream& s, VkSystemAllocationScope value)                                                        { return s << getSystemAllocationScopeStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkInternalAllocationType value)                                                       { return s << getInternalAllocationTypeStr(value);                                                      }
@@ -337,6 +339,7 @@ inline std::ostream&        operator<<      (std::ostream& s, VkDeviceMemoryReportEventTypeE
 inline std::ostream&   operator<<      (std::ostream& s, VkFragmentShadingRateTypeNV value)                                            { return s << getFragmentShadingRateTypeNVStr(value);                                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkFragmentShadingRateNV value)                                                        { return s << getFragmentShadingRateNVStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureMotionInstanceTypeNV value)            { return s << getAccelerationStructureMotionInstanceTypeNVStr(value);           }
+inline std::ostream&   operator<<      (std::ostream& s, VkSubpassMergeStatusEXT value)                                                        { return s << getSubpassMergeStatusEXTStr(value);                                                       }
 inline std::ostream&   operator<<      (std::ostream& s, VkBuildAccelerationStructureModeKHR value)                            { return s << getBuildAccelerationStructureModeKHRStr(value);                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureBuildTypeKHR value)                            { return s << getAccelerationStructureBuildTypeKHRStr(value);                           }
 inline std::ostream&   operator<<      (std::ostream& s, VkAccelerationStructureCompatibilityKHR value)                        { return s << getAccelerationStructureCompatibilityKHRStr(value);                       }
@@ -448,6 +451,8 @@ tcu::Format::Bitfield<32>   getIndirectStateFlagsNVStr                                                                      (VkIndirectStateFla
 tcu::Format::Bitfield<32>      getIndirectCommandsLayoutUsageFlagsNVStr                                        (VkIndirectCommandsLayoutUsageFlagsNV value);
 tcu::Format::Bitfield<32>      getDeviceDiagnosticsConfigFlagsNVStr                                            (VkDeviceDiagnosticsConfigFlagsNV value);
 tcu::Format::Bitfield<32>      getGraphicsPipelineLibraryFlagsEXTStr                                           (VkGraphicsPipelineLibraryFlagsEXT value);
+tcu::Format::Bitfield<32>      getImageCompressionFlagsEXTStr                                                          (VkImageCompressionFlagsEXT value);
+tcu::Format::Bitfield<32>      getImageCompressionFixedRateFlagsEXTStr                                         (VkImageCompressionFixedRateFlagsEXT value);
 tcu::Format::Bitfield<32>      getAccelerationStructureCreateFlagsKHRStr                                       (VkAccelerationStructureCreateFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoCodecOperationFlagsKHRStr                                                       (VkVideoCodecOperationFlagsKHR value);
 tcu::Format::Bitfield<32>      getVideoChromaSubsamplingFlagsKHRStr                                            (VkVideoChromaSubsamplingFlagsKHR value);
@@ -879,8 +884,12 @@ std::ostream&      operator<<      (std::ostream& s, const VkPresentIdKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevicePresentIdFeaturesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkCheckpointData2NV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR& value);
+std::ostream&  operator<<      (std::ostream& s, const VkTraceRaysIndirectCommand2KHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value);
@@ -1003,7 +1012,6 @@ std::ostream&     operator<<      (std::ostream& s, const VkPhysicalDeviceComputeShaderDe
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMeshShaderFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceMeshShaderPropertiesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDrawMeshTasksIndirectCommandNV& value);
-std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineViewportExclusiveScissorStateCreateInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExclusiveScissorFeaturesNV& value);
@@ -1081,9 +1089,23 @@ std::ostream&    operator<<      (std::ostream& s, const VkPhysicalDeviceCustomBorderCol
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceCustomBorderColorFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceDiagnosticsConfigCreateInfoNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDescriptorBufferPropertiesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceDescriptorBufferFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorAddressInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorBufferBindingInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorDataEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkDescriptorGetInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkBufferCaptureDescriptorDataInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageCaptureDescriptorDataInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageViewCaptureDescriptorDataInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSamplerCaptureDescriptorDataInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureCaptureDescriptorDataInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkOpaqueCaptureDescriptorDataCreateInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkGraphicsPipelineLibraryCreateInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value);
@@ -1100,6 +1122,11 @@ std::ostream&    operator<<      (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444F
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceImageCompressionControlFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageCompressionControlEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkSubresourceLayout2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageSubresource2EXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkImageCompressionPropertiesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& value);
@@ -1119,6 +1146,8 @@ std::ostream&     operator<<      (std::ostream& s, const VkPhysicalDeviceSubpassShadingP
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& value);
 std::ostream&  operator<<      (std::ostream& s, const VkMemoryGetRemoteAddressInfoNV& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& 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 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value);
@@ -1140,6 +1169,11 @@ std::ostream&    operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensity
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkSubpassFragmentDensityMapOffsetEndInfoQCOM& value);
 std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceLinearColorAttachmentFeaturesNV& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRenderPassCreationControlEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRenderPassCreationFeedbackInfoEXT& value);
+std::ostream&  operator<<      (std::ostream& s, const VkRenderPassSubpassFeedbackInfoEXT& value);
 std::ostream&  operator<<      (std::ostream& s, const VkDeviceOrHostAddressKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value);
 std::ostream&  operator<<      (std::ostream& s, const VkAccelerationStructureGeometryTrianglesDataKHR& value);
index 2d75b53..a46421b 100644 (file)
@@ -118,6 +118,7 @@ const char* getResultName (VkResult value)
                case VK_THREAD_DONE_KHR:                                                                        return "VK_THREAD_DONE_KHR";
                case VK_OPERATION_DEFERRED_KHR:                                                         return "VK_OPERATION_DEFERRED_KHR";
                case VK_OPERATION_NOT_DEFERRED_KHR:                                                     return "VK_OPERATION_NOT_DEFERRED_KHR";
+               case VK_ERROR_COMPRESSION_EXHAUSTED_EXT:                                        return "VK_ERROR_COMPRESSION_EXHAUSTED_EXT";
                case VK_RESULT_MAX_ENUM:                                                                        return "VK_RESULT_MAX_ENUM";
                default:                                                                                                        return DE_NULL;
        }
@@ -595,7 +596,6 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV:                                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV:                                                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV";
-               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV:                                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV";
                case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV:                        return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV";
@@ -693,9 +693,24 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV:                                                        return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV";
                case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV:                                                         return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV";
                case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV:                                                                                            return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT:            return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT:                                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT:                                                                                     return "VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT";
+               case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT:                                                                                         return "VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT";
+               case VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:                                                         return "VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:                                                          return "VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:                                                     return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT";
+               case VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:                                                        return "VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT";
+               case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT:                         return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT";
+               case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT:                                          return "VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT:                                                                      return "VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT:                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT:                                                       return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD:       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR:                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR:                      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR:       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV:                       return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV";
@@ -708,6 +723,11 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT:                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM:                                                                        return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR:           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT:                                                                           return "VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT";
+               case VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT:                                                                                        return "VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT:                                                                                         return "VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT";
+               case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT:                                                                        return "VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_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_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM:      return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT:                                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT";
@@ -742,11 +762,14 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI";
                case VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV:                                                                       return "VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT:                                                                      return "VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT:                                        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT:                           return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX:                                                                          return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT:                                                            return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT:                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR:                          return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT:                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT";
                case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT:                                                                      return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT:                                                         return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT";
@@ -762,11 +785,26 @@ const char* getStructureTypeName (VkStructureType value)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM:                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM";
                case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM:                                       return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV:                                     return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT:        return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_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_INFO_EXT:                                                          return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT";
+               case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT:                                                           return "VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT";
                case VK_STRUCTURE_TYPE_MAX_ENUM:                                                                                                                        return "VK_STRUCTURE_TYPE_MAX_ENUM";
                default:                                                                                                                                                                        return DE_NULL;
        }
 }
 
+const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
+{
+       switch (value)
+       {
+               case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:              return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
+               case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
+               default:                                                                                return DE_NULL;
+       }
+}
+
 const char* getImageLayoutName (VkImageLayout value)
 {
        switch (value)
@@ -858,16 +896,6 @@ const char* getObjectTypeName (VkObjectType value)
        }
 }
 
-const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value)
-{
-       switch (value)
-       {
-               case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:              return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE";
-               case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM";
-               default:                                                                                return DE_NULL;
-       }
-}
-
 const char* getVendorIdName (VkVendorId value)
 {
        switch (value)
@@ -1205,20 +1233,22 @@ const char* getQueryTypeName (VkQueryType value)
 {
        switch (value)
        {
-               case VK_QUERY_TYPE_OCCLUSION:                                                                           return "VK_QUERY_TYPE_OCCLUSION";
-               case VK_QUERY_TYPE_PIPELINE_STATISTICS:                                                         return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
-               case VK_QUERY_TYPE_TIMESTAMP:                                                                           return "VK_QUERY_TYPE_TIMESTAMP";
-               case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:                                                      return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
-               case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:                                       return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
-               case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:                                                       return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
-               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:           return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
-               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR:       return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
-               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV:            return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
-               case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL:                                                     return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
-               case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:                     return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
-               case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:                                            return "VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT";
-               case VK_QUERY_TYPE_MAX_ENUM:                                                                            return "VK_QUERY_TYPE_MAX_ENUM";
-               default:                                                                                                                        return DE_NULL;
+               case VK_QUERY_TYPE_OCCLUSION:                                                                                                           return "VK_QUERY_TYPE_OCCLUSION";
+               case VK_QUERY_TYPE_PIPELINE_STATISTICS:                                                                                         return "VK_QUERY_TYPE_PIPELINE_STATISTICS";
+               case VK_QUERY_TYPE_TIMESTAMP:                                                                                                           return "VK_QUERY_TYPE_TIMESTAMP";
+               case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR:                                                                                      return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR";
+               case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:                                                                       return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT";
+               case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR:                                                                                       return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR:                                           return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR:                                       return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR";
+               case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV:                                            return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
+               case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL:                                                                                     return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL";
+               case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR:                                                     return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR";
+               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_MAX_ENUM:                                                                                                            return "VK_QUERY_TYPE_MAX_ENUM";
+               default:                                                                                                                                                        return DE_NULL;
        }
 }
 
@@ -2465,6 +2495,29 @@ const char* getAccelerationStructureMotionInstanceTypeNVName (VkAccelerationStru
        }
 }
 
+const char* getSubpassMergeStatusEXTName (VkSubpassMergeStatusEXT value)
+{
+       switch (value)
+       {
+               case VK_SUBPASS_MERGE_STATUS_MERGED_EXT:                                                                        return "VK_SUBPASS_MERGE_STATUS_MERGED_EXT";
+               case VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT:                                                            return "VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT:                                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT:                           return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT:                                     return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT:                                           return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT:                                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT:      return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT:                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT:                       return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT:                        return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT:           return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT:                                     return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT";
+               case VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT:                                        return "VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT";
+               case VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT:                                                                      return "VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT";
+               default:                                                                                                                                        return DE_NULL;
+       }
+}
+
 const char* getBuildAccelerationStructureModeKHRName (VkBuildAccelerationStructureModeKHR value)
 {
        switch (value)
@@ -2958,6 +3011,7 @@ tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value)
                tcu::Format::BitDesc(VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,                                             "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV"),
                tcu::Format::BitDesc(VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,                                                "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,  "VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT,                                "VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM,              "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM"),
                tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,               "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"),
@@ -3206,6 +3260,7 @@ tcu::Format::Bitfield<32> getBufferCreateFlagsStr (VkBufferCreateFlags value)
                tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,                                               "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"),
                tcu::Format::BitDesc(VK_BUFFER_CREATE_PROTECTED_BIT,                                                    "VK_BUFFER_CREATE_PROTECTED_BIT"),
                tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,                "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"),
+               tcu::Format::BitDesc(VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, "VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"),
                tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,    "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT"),
                tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,    "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"),
                tcu::Format::BitDesc(VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM,                                               "VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM"),
@@ -3237,6 +3292,9 @@ tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value)
                tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,                                                      "VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,                                                          "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,                                                          "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,                                         "VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,                                        "VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT"),
+               tcu::Format::BitDesc(VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,                        "VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,                                                                        "VK_BUFFER_USAGE_RAY_TRACING_BIT_NV"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,                                                     "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT"),
                tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR,                                                     "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR"),
@@ -3250,6 +3308,7 @@ tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags val
        static const tcu::Format::BitDesc s_desc[] =
        {
                tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,         "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,     "VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT,        "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT"),
                tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM,                                           "VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM"),
        };
@@ -3415,6 +3474,7 @@ tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value)
        {
                tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,                                                      "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT"),
                tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,        "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT"),
+               tcu::Format::BitDesc(VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,        "VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"),
                tcu::Format::BitDesc(VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM,                                                      "VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -3437,11 +3497,13 @@ tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetL
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               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_PUSH_DESCRIPTOR_BIT_KHR,                   "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"),
-               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_UPDATE_AFTER_BIND_POOL_BIT_EXT,    "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT"),
-               tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM,                                "VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM"),
+               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_PUSH_DESCRIPTOR_BIT_KHR,                           "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,                         "VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT,       "VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT"),
+               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_UPDATE_AFTER_BIND_POOL_BIT_EXT,            "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT"),
+               tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM,                                        "VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
 }
@@ -4137,6 +4199,7 @@ tcu::Format::Bitfield<32> getDeviceDiagnosticsConfigFlagsNVStr (VkDeviceDiagnost
                tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV,              "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV"),
                tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV,              "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV"),
                tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV,  "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV"),
+               tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV"),
                tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV,                                "VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -4155,11 +4218,59 @@ 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> getImageCompressionFlagsEXTStr (VkImageCompressionFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_DEFAULT_EXT,                          "VK_IMAGE_COMPRESSION_DEFAULT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT,       "VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT,      "VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_DISABLED_EXT,                         "VK_IMAGE_COMPRESSION_DISABLED_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT,       "VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
+tcu::Format::Bitfield<32> getImageCompressionFixedRateFlagsEXTStr (VkImageCompressionFixedRateFlagsEXT value)
+{
+       static const tcu::Format::BitDesc s_desc[] =
+       {
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT,                                  "VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT,                              "VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT,                             "VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT"),
+               tcu::Format::BitDesc(VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT,    "VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT"),
+       };
+       return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
+}
+
 tcu::Format::Bitfield<32> getAccelerationStructureCreateFlagsKHRStr (VkAccelerationStructureCreateFlagsKHR value)
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
                tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,    "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"),
+               tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT, "VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"),
                tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV,                                                    "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV"),
                tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR,                                   "VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR"),
        };
@@ -4324,7 +4435,8 @@ tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncode
 {
        static const tcu::Format::BitDesc s_desc[] =
        {
-               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT,                              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT,              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT,             "VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT,                             "VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT,   "VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT,                                             "VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT"),
@@ -4347,6 +4459,7 @@ tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncode
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT,                               "VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT,                              "VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"),
+               tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT,                                "VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"),
                tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT,                                    "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"),
        };
        return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc));
@@ -9412,6 +9525,26 @@ std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value)
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR& value)
+{
+       s << "VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tfragmentShaderBarycentric = " << value.fragmentShaderBarycentric << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR& value)
+{
+       s << "VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\ttriStripVertexOrderIndependentOfProvokingVertex = " << value.triStripVertexOrderIndependentOfProvokingVertex << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value)
 {
        s << "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = {\n";
@@ -9435,6 +9568,38 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemory
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR& value)
+{
+       s << "VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\trayTracingMaintenance1 = " << value.rayTracingMaintenance1 << '\n';
+       s << "\trayTracingPipelineTraceRaysIndirect2 = " << value.rayTracingPipelineTraceRaysIndirect2 << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkTraceRaysIndirectCommand2KHR& value)
+{
+       s << "VkTraceRaysIndirectCommand2KHR = {\n";
+       s << "\traygenShaderRecordAddress = " << value.raygenShaderRecordAddress << '\n';
+       s << "\traygenShaderRecordSize = " << value.raygenShaderRecordSize << '\n';
+       s << "\tmissShaderBindingTableAddress = " << value.missShaderBindingTableAddress << '\n';
+       s << "\tmissShaderBindingTableSize = " << value.missShaderBindingTableSize << '\n';
+       s << "\tmissShaderBindingTableStride = " << value.missShaderBindingTableStride << '\n';
+       s << "\thitShaderBindingTableAddress = " << value.hitShaderBindingTableAddress << '\n';
+       s << "\thitShaderBindingTableSize = " << value.hitShaderBindingTableSize << '\n';
+       s << "\thitShaderBindingTableStride = " << value.hitShaderBindingTableStride << '\n';
+       s << "\tcallableShaderBindingTableAddress = " << value.callableShaderBindingTableAddress << '\n';
+       s << "\tcallableShaderBindingTableSize = " << value.callableShaderBindingTableSize << '\n';
+       s << "\tcallableShaderBindingTableStride = " << value.callableShaderBindingTableStride << '\n';
+       s << "\twidth = " << value.width << '\n';
+       s << "\theight = " << value.height << '\n';
+       s << "\tdepth = " << value.depth << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value)
 {
        s << "VkDebugReportCallbackCreateInfoEXT = {\n";
@@ -10873,16 +11038,6 @@ std::ostream& operator<< (std::ostream& s, const VkDrawMeshTasksIndirectCommandN
        return s;
 }
 
-std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value)
-{
-       s << "VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = {\n";
-       s << "\tsType = " << value.sType << '\n';
-       s << "\tpNext = " << value.pNext << '\n';
-       s << "\tfragmentShaderBarycentric = " << value.fragmentShaderBarycentric << '\n';
-       s << '}';
-       return s;
-}
-
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value)
 {
        s << "VkPhysicalDeviceShaderImageFootprintFeaturesNV = {\n";
@@ -11776,6 +11931,183 @@ std::ostream& operator<< (std::ostream& s, const VkDeviceDiagnosticsConfigCreate
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorBufferPropertiesEXT& value)
+{
+       s << "VkPhysicalDeviceDescriptorBufferPropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsplitCombinedImageSamplers = " << value.splitCombinedImageSamplers << '\n';
+       s << "\tpushDescriptorsRequireBuffer = " << value.pushDescriptorsRequireBuffer << '\n';
+       s << "\tdescriptorBufferOffsetAlignment = " << value.descriptorBufferOffsetAlignment << '\n';
+       s << "\tmaxDescriptorBufferBindings = " << value.maxDescriptorBufferBindings << '\n';
+       s << "\tmaxResourceDescriptorBufferBindings = " << value.maxResourceDescriptorBufferBindings << '\n';
+       s << "\tmaxSamplerDescriptorBufferBindings = " << value.maxSamplerDescriptorBufferBindings << '\n';
+       s << "\tmaxEmbeddedImmutableSamplerBindings = " << value.maxEmbeddedImmutableSamplerBindings << '\n';
+       s << "\tmaxEmbeddedImmutableSamplers = " << value.maxEmbeddedImmutableSamplers << '\n';
+       s << "\tbufferCaptureReplayDescriptorDataSize = " << value.bufferCaptureReplayDescriptorDataSize << '\n';
+       s << "\timageCaptureReplayDescriptorDataSize = " << value.imageCaptureReplayDescriptorDataSize << '\n';
+       s << "\timageViewCaptureReplayDescriptorDataSize = " << value.imageViewCaptureReplayDescriptorDataSize << '\n';
+       s << "\tsamplerCaptureReplayDescriptorDataSize = " << value.samplerCaptureReplayDescriptorDataSize << '\n';
+       s << "\taccelerationStructureCaptureReplayDescriptorDataSize = " << value.accelerationStructureCaptureReplayDescriptorDataSize << '\n';
+       s << "\tsamplerDescriptorSize = " << value.samplerDescriptorSize << '\n';
+       s << "\tcombinedImageSamplerDescriptorSize = " << value.combinedImageSamplerDescriptorSize << '\n';
+       s << "\tsampledImageDescriptorSize = " << value.sampledImageDescriptorSize << '\n';
+       s << "\tstorageImageDescriptorSize = " << value.storageImageDescriptorSize << '\n';
+       s << "\tuniformTexelBufferDescriptorSize = " << value.uniformTexelBufferDescriptorSize << '\n';
+       s << "\trobustUniformTexelBufferDescriptorSize = " << value.robustUniformTexelBufferDescriptorSize << '\n';
+       s << "\tstorageTexelBufferDescriptorSize = " << value.storageTexelBufferDescriptorSize << '\n';
+       s << "\trobustStorageTexelBufferDescriptorSize = " << value.robustStorageTexelBufferDescriptorSize << '\n';
+       s << "\tuniformBufferDescriptorSize = " << value.uniformBufferDescriptorSize << '\n';
+       s << "\trobustUniformBufferDescriptorSize = " << value.robustUniformBufferDescriptorSize << '\n';
+       s << "\tstorageBufferDescriptorSize = " << value.storageBufferDescriptorSize << '\n';
+       s << "\trobustStorageBufferDescriptorSize = " << value.robustStorageBufferDescriptorSize << '\n';
+       s << "\tinputAttachmentDescriptorSize = " << value.inputAttachmentDescriptorSize << '\n';
+       s << "\taccelerationStructureDescriptorSize = " << value.accelerationStructureDescriptorSize << '\n';
+       s << "\tmaxSamplerDescriptorBufferRange = " << value.maxSamplerDescriptorBufferRange << '\n';
+       s << "\tmaxResourceDescriptorBufferRange = " << value.maxResourceDescriptorBufferRange << '\n';
+       s << "\tresourceDescriptorBufferAddressSpaceSize = " << value.resourceDescriptorBufferAddressSpaceSize << '\n';
+       s << "\tsamplerDescriptorBufferAddressSpaceSize = " << value.samplerDescriptorBufferAddressSpaceSize << '\n';
+       s << "\tdescriptorBufferAddressSpaceSize = " << value.descriptorBufferAddressSpaceSize << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& value)
+{
+       s << "VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tcombinedImageSamplerDensityMapDescriptorSize = " << value.combinedImageSamplerDensityMapDescriptorSize << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorBufferFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceDescriptorBufferFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdescriptorBuffer = " << value.descriptorBuffer << '\n';
+       s << "\tdescriptorBufferCaptureReplay = " << value.descriptorBufferCaptureReplay << '\n';
+       s << "\tdescriptorBufferImageLayoutIgnored = " << value.descriptorBufferImageLayoutIgnored << '\n';
+       s << "\tdescriptorBufferPushDescriptors = " << value.descriptorBufferPushDescriptors << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorAddressInfoEXT& value)
+{
+       s << "VkDescriptorAddressInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\taddress = " << value.address << '\n';
+       s << "\trange = " << value.range << '\n';
+       s << "\tformat = " << value.format << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferBindingInfoEXT& value)
+{
+       s << "VkDescriptorBufferBindingInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\taddress = " << value.address << '\n';
+       s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorDataEXT& value)
+{
+       s << "VkDescriptorDataEXT = {\n";
+       s << "\tpSampler = " << value.pSampler << '\n';
+       s << "\tpCombinedImageSampler = " << value.pCombinedImageSampler << '\n';
+       s << "\tpInputAttachmentImage = " << value.pInputAttachmentImage << '\n';
+       s << "\tpSampledImage = " << value.pSampledImage << '\n';
+       s << "\tpStorageImage = " << value.pStorageImage << '\n';
+       s << "\tpUniformTexelBuffer = " << value.pUniformTexelBuffer << '\n';
+       s << "\tpStorageTexelBuffer = " << value.pStorageTexelBuffer << '\n';
+       s << "\tpUniformBuffer = " << value.pUniformBuffer << '\n';
+       s << "\tpStorageBuffer = " << value.pStorageBuffer << '\n';
+       s << "\tpAccelerationStructure = " << value.pAccelerationStructure << '\n';
+       s << "\tpAccelerationStructureNV = " << value.pAccelerationStructureNV << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkDescriptorGetInfoEXT& value)
+{
+       s << "VkDescriptorGetInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\ttype = " << value.type << '\n';
+       s << "\tdata = " << value.data << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkBufferCaptureDescriptorDataInfoEXT& value)
+{
+       s << "VkBufferCaptureDescriptorDataInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tbuffer = " << value.buffer << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageCaptureDescriptorDataInfoEXT& value)
+{
+       s << "VkImageCaptureDescriptorDataInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timage = " << value.image << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageViewCaptureDescriptorDataInfoEXT& value)
+{
+       s << "VkImageViewCaptureDescriptorDataInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageView = " << value.imageView << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSamplerCaptureDescriptorDataInfoEXT& value)
+{
+       s << "VkSamplerCaptureDescriptorDataInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsampler = " << value.sampler << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCaptureDescriptorDataInfoEXT& value)
+{
+       s << "VkAccelerationStructureCaptureDescriptorDataInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\taccelerationStructure = " << value.accelerationStructure << '\n';
+       s << "\taccelerationStructureNV = " << value.accelerationStructureNV << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkOpaqueCaptureDescriptorDataCreateInfoEXT& value)
+{
+       s << "VkOpaqueCaptureDescriptorDataCreateInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\topaqueCaptureDescriptorData = " << value.opaqueCaptureDescriptorData << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT& value)
 {
        s << "VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = {\n";
@@ -11807,6 +12139,16 @@ std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineLibraryCreate
        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 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value)
 {
        s << "VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV = {\n";
@@ -11996,6 +12338,59 @@ std::ostream& operator<< (std::ostream& s, const VkCopyCommandTransformInfoQCOM&
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageCompressionControlFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceImageCompressionControlFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageCompressionControl = " << value.imageCompressionControl << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageCompressionControlEXT& value)
+{
+       s << "VkImageCompressionControlEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tflags = " << getImageCompressionFlagsEXTStr(value.flags) << '\n';
+       s << "\tcompressionControlPlaneCount = " << value.compressionControlPlaneCount << '\n';
+       s << "\tpFixedRateFlags = " << value.pFixedRateFlags << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout2EXT& value)
+{
+       s << "VkSubresourceLayout2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubresourceLayout = " << value.subresourceLayout << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageSubresource2EXT& value)
+{
+       s << "VkImageSubresource2EXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageSubresource = " << value.imageSubresource << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkImageCompressionPropertiesEXT& value)
+{
+       s << "VkImageCompressionPropertiesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageCompressionFlags = " << getImageCompressionFlagsEXTStr(value.imageCompressionFlags) << '\n';
+       s << "\timageCompressionFixedRateFlags = " << getImageCompressionFixedRateFlagsEXTStr(value.imageCompressionFixedRateFlags) << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value)
 {
        s << "VkPhysicalDevice4444FormatsFeaturesEXT = {\n";
@@ -12203,6 +12598,26 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryR
        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 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value)
 {
        s << "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = {\n";
@@ -12423,6 +12838,58 @@ std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLinearColorAtta
        return s;
 }
 
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\timageCompressionControlSwapchain = " << value.imageCompressionControlSwapchain << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT& value)
+{
+       s << "VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubpassMergeFeedback = " << value.subpassMergeFeedback << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderPassCreationControlEXT& value)
+{
+       s << "VkRenderPassCreationControlEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tdisallowMerging = " << value.disallowMerging << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderPassCreationFeedbackInfoEXT& value)
+{
+       s << "VkRenderPassCreationFeedbackInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tpostMergeSubpassCount = " << value.postMergeSubpassCount << '\n';
+       s << '}';
+       return s;
+}
+
+std::ostream& operator<< (std::ostream& s, const VkRenderPassSubpassFeedbackInfoEXT& value)
+{
+       s << "VkRenderPassSubpassFeedbackInfoEXT = {\n";
+       s << "\tsType = " << value.sType << '\n';
+       s << "\tpNext = " << value.pNext << '\n';
+       s << "\tsubpassMergeStatus = " << value.subpassMergeStatus << '\n';
+       s << "\tdescription = " << (const char*)value.description << '\n';
+       s << "\tpostMergeIndex = " << value.postMergeIndex << '\n';
+       s << '}';
+       return s;
+}
+
 std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value)
 {
        s << "VkDeviceOrHostAddressKHR = {\n";
@@ -13857,7 +14324,6 @@ std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSe
        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';
-       s << "\tsps_max_dec_pic_buffering_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator<uint8_t>(DE_ARRAY_BEGIN(value.sps_max_dec_pic_buffering_minus1)), tcu::Format::HexIterator<uint8_t>(DE_ARRAY_END(value.sps_max_dec_pic_buffering_minus1))) << '\n';
        s << "\tlog2_min_luma_coding_block_size_minus3 = " << value.log2_min_luma_coding_block_size_minus3 << '\n';
        s << "\tlog2_diff_max_min_luma_coding_block_size = " << value.log2_diff_max_min_luma_coding_block_size << '\n';
        s << "\tlog2_min_luma_transform_block_size_minus2 = " << value.log2_min_luma_transform_block_size_minus2 << '\n';
index b717790..c2cd7c1 100644 (file)
@@ -3580,6 +3580,20 @@ struct VkCheckpointData2NV
        void*                                   pCheckpointMarker;
 };
 
+struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                fragmentShaderBarycentric;
+};
+
+struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                triStripVertexOrderIndependentOfProvokingVertex;
+};
+
 struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
 {
        VkStructureType sType;
@@ -3597,6 +3611,32 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
        VkBool32                workgroupMemoryExplicitLayout16BitAccess;
 };
 
+struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                rayTracingMaintenance1;
+       VkBool32                rayTracingPipelineTraceRaysIndirect2;
+};
+
+struct VkTraceRaysIndirectCommand2KHR
+{
+       VkDeviceAddress raygenShaderRecordAddress;
+       VkDeviceSize    raygenShaderRecordSize;
+       VkDeviceAddress missShaderBindingTableAddress;
+       VkDeviceSize    missShaderBindingTableSize;
+       VkDeviceSize    missShaderBindingTableStride;
+       VkDeviceAddress hitShaderBindingTableAddress;
+       VkDeviceSize    hitShaderBindingTableSize;
+       VkDeviceSize    hitShaderBindingTableStride;
+       VkDeviceAddress callableShaderBindingTableAddress;
+       VkDeviceSize    callableShaderBindingTableSize;
+       VkDeviceSize    callableShaderBindingTableStride;
+       uint32_t                width;
+       uint32_t                height;
+       uint32_t                depth;
+};
+
 struct VkDebugReportCallbackCreateInfoEXT
 {
        VkStructureType                                 sType;
@@ -4669,13 +4709,6 @@ struct VkDrawMeshTasksIndirectCommandNV
        uint32_t        firstTask;
 };
 
-struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
-{
-       VkStructureType sType;
-       void*                   pNext;
-       VkBool32                fragmentShaderBarycentric;
-};
-
 struct VkPhysicalDeviceShaderImageFootprintFeaturesNV
 {
        VkStructureType sType;
@@ -5338,6 +5371,144 @@ struct VkDeviceDiagnosticsConfigCreateInfoNV
        VkDeviceDiagnosticsConfigFlagsNV        flags;
 };
 
+struct VkPhysicalDeviceDescriptorBufferPropertiesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                splitCombinedImageSamplers;
+       VkBool32                pushDescriptorsRequireBuffer;
+       VkDeviceSize    descriptorBufferOffsetAlignment;
+       uint32_t                maxDescriptorBufferBindings;
+       uint32_t                maxResourceDescriptorBufferBindings;
+       uint32_t                maxSamplerDescriptorBufferBindings;
+       uint32_t                maxEmbeddedImmutableSamplerBindings;
+       uint32_t                maxEmbeddedImmutableSamplers;
+       size_t                  bufferCaptureReplayDescriptorDataSize;
+       size_t                  imageCaptureReplayDescriptorDataSize;
+       size_t                  imageViewCaptureReplayDescriptorDataSize;
+       size_t                  samplerCaptureReplayDescriptorDataSize;
+       size_t                  accelerationStructureCaptureReplayDescriptorDataSize;
+       size_t                  samplerDescriptorSize;
+       size_t                  combinedImageSamplerDescriptorSize;
+       size_t                  sampledImageDescriptorSize;
+       size_t                  storageImageDescriptorSize;
+       size_t                  uniformTexelBufferDescriptorSize;
+       size_t                  robustUniformTexelBufferDescriptorSize;
+       size_t                  storageTexelBufferDescriptorSize;
+       size_t                  robustStorageTexelBufferDescriptorSize;
+       size_t                  uniformBufferDescriptorSize;
+       size_t                  robustUniformBufferDescriptorSize;
+       size_t                  storageBufferDescriptorSize;
+       size_t                  robustStorageBufferDescriptorSize;
+       size_t                  inputAttachmentDescriptorSize;
+       size_t                  accelerationStructureDescriptorSize;
+       size_t                  maxSamplerDescriptorBufferRange;
+       size_t                  maxResourceDescriptorBufferRange;
+       size_t                  resourceDescriptorBufferAddressSpaceSize;
+       size_t                  samplerDescriptorBufferAddressSpaceSize;
+       size_t                  descriptorBufferAddressSpaceSize;
+};
+
+struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       size_t                  combinedImageSamplerDensityMapDescriptorSize;
+};
+
+struct VkPhysicalDeviceDescriptorBufferFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                descriptorBuffer;
+       VkBool32                descriptorBufferCaptureReplay;
+       VkBool32                descriptorBufferImageLayoutIgnored;
+       VkBool32                descriptorBufferPushDescriptors;
+};
+
+struct VkDescriptorAddressInfoEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkDeviceAddress address;
+       VkDeviceSize    range;
+       VkFormat                format;
+};
+
+struct VkDescriptorBufferBindingInfoEXT
+{
+       VkStructureType         sType;
+       void*                           pNext;
+       VkDeviceAddress         address;
+       VkBufferUsageFlags      usage;
+};
+
+union VkDescriptorDataEXT
+{
+       const VkSampler*                                        pSampler;
+       const VkDescriptorImageInfo*            pCombinedImageSampler;
+       const VkDescriptorImageInfo*            pInputAttachmentImage;
+       const VkDescriptorImageInfo*            pSampledImage;
+       const VkDescriptorImageInfo*            pStorageImage;
+       const VkDescriptorAddressInfoEXT*       pUniformTexelBuffer;
+       const VkDescriptorAddressInfoEXT*       pStorageTexelBuffer;
+       const VkDescriptorAddressInfoEXT*       pUniformBuffer;
+       const VkDescriptorAddressInfoEXT*       pStorageBuffer;
+       const VkAccelerationStructureKHR*       pAccelerationStructure;
+       const VkAccelerationStructureNV*        pAccelerationStructureNV;
+};
+
+struct VkDescriptorGetInfoEXT
+{
+       VkStructureType         sType;
+       const void*                     pNext;
+       VkDescriptorType        type;
+       VkDescriptorDataEXT     data;
+};
+
+struct VkBufferCaptureDescriptorDataInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkBuffer                buffer;
+};
+
+struct VkImageCaptureDescriptorDataInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkImage                 image;
+};
+
+struct VkImageViewCaptureDescriptorDataInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkImageView             imageView;
+};
+
+struct VkSamplerCaptureDescriptorDataInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkSampler               sampler;
+};
+
+struct VkAccelerationStructureCaptureDescriptorDataInfoEXT
+{
+       VkStructureType                         sType;
+       const void*                                     pNext;
+       VkAccelerationStructureKHR      accelerationStructure;
+       VkAccelerationStructureNV       accelerationStructureNV;
+};
+
+struct VkOpaqueCaptureDescriptorDataCreateInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       const void*             opaqueCaptureDescriptorData;
+};
+
 struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
 {
        VkStructureType sType;
@@ -5360,6 +5531,13 @@ struct VkGraphicsPipelineLibraryCreateInfoEXT
        VkGraphicsPipelineLibraryFlagsEXT       flags;
 };
 
+struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                shaderEarlyAndLateFragmentTests;
+};
+
 struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
 {
        VkStructureType sType;
@@ -5501,6 +5679,44 @@ struct VkCopyCommandTransformInfoQCOM
        VkSurfaceTransformFlagBitsKHR   transform;
 };
 
+struct VkPhysicalDeviceImageCompressionControlFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                imageCompressionControl;
+};
+
+struct VkImageCompressionControlEXT
+{
+       VkStructureType                                                 sType;
+       const void*                                                             pNext;
+       VkImageCompressionFlagsEXT                              flags;
+       uint32_t                                                                compressionControlPlaneCount;
+       VkImageCompressionFixedRateFlagsEXT*    pFixedRateFlags;
+};
+
+struct VkSubresourceLayout2EXT
+{
+       VkStructureType         sType;
+       void*                           pNext;
+       VkSubresourceLayout     subresourceLayout;
+};
+
+struct VkImageSubresource2EXT
+{
+       VkStructureType         sType;
+       void*                           pNext;
+       VkImageSubresource      imageSubresource;
+};
+
+struct VkImageCompressionPropertiesEXT
+{
+       VkStructureType                                         sType;
+       void*                                                           pNext;
+       VkImageCompressionFlagsEXT                      imageCompressionFlags;
+       VkImageCompressionFixedRateFlagsEXT     imageCompressionFixedRateFlags;
+};
+
 struct VkPhysicalDevice4444FormatsFeaturesEXT
 {
        VkStructureType sType;
@@ -5651,6 +5867,20 @@ struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV
        VkBool32                externalMemoryRDMA;
 };
 
+struct VkPipelinePropertiesIdentifierEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       uint8_t                 pipelineIdentifier[VK_UUID_SIZE];
+};
+
+struct VkPhysicalDevicePipelinePropertiesFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                pipelinePropertiesIdentifier;
+};
+
 struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
 {
        VkStructureType sType;
@@ -5808,6 +6038,43 @@ struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV
        VkBool32                linearColorAttachment;
 };
 
+struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                imageCompressionControlSwapchain;
+};
+
+struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
+{
+       VkStructureType sType;
+       void*                   pNext;
+       VkBool32                subpassMergeFeedback;
+};
+
+struct VkRenderPassCreationControlEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       VkBool32                disallowMerging;
+};
+
+struct VkRenderPassCreationFeedbackInfoEXT
+{
+       VkStructureType sType;
+       const void*             pNext;
+       uint32_t                postMergeSubpassCount;
+};
+
+struct VkRenderPassSubpassFeedbackInfoEXT
+{
+       VkStructureType                 sType;
+       const void*                             pNext;
+       VkSubpassMergeStatusEXT subpassMergeStatus;
+       char                                    description[VK_MAX_DESCRIPTION_SIZE];
+       uint32_t                                postMergeIndex;
+};
+
 union VkDeviceOrHostAddressKHR
 {
        VkDeviceAddress deviceAddress;
@@ -6932,7 +7199,6 @@ struct StdVideoH265SequenceParameterSet
        uint8_t                                                                         bit_depth_luma_minus8;
        uint8_t                                                                         bit_depth_chroma_minus8;
        uint8_t                                                                         log2_max_pic_order_cnt_lsb_minus4;
-       uint8_t                                                                         sps_max_dec_pic_buffering_minus1[STD_VIDEO_H265_SPS_MAX_SUB_LAYERS];
        uint8_t                                                                         log2_min_luma_coding_block_size_minus3;
        uint8_t                                                                         log2_diff_max_min_luma_coding_block_size;
        uint8_t                                                                         log2_min_luma_transform_block_size_minus2;
@@ -8216,6 +8482,10 @@ typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPri
 
 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
 
+typedef VkPipelineInfoKHR VkPipelineInfoEXT;
+
+typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+
 typedef VkTransformMatrixKHR VkTransformMatrixNV;
 
 typedef VkAabbPositionsKHR VkAabbPositionsNV;
index 5d03a8f..e6718fc 100644 (file)
@@ -442,6 +442,26 @@ inline VkPresentRegionKHR makePresentRegionKHR (uint32_t rectangleCount, const V
        return res;
 }
 
+inline VkTraceRaysIndirectCommand2KHR makeTraceRaysIndirectCommand2KHR (VkDeviceAddress raygenShaderRecordAddress, VkDeviceSize raygenShaderRecordSize, VkDeviceAddress missShaderBindingTableAddress, VkDeviceSize missShaderBindingTableSize, VkDeviceSize missShaderBindingTableStride, VkDeviceAddress hitShaderBindingTableAddress, VkDeviceSize hitShaderBindingTableSize, VkDeviceSize hitShaderBindingTableStride, VkDeviceAddress callableShaderBindingTableAddress, VkDeviceSize callableShaderBindingTableSize, VkDeviceSize callableShaderBindingTableStride, uint32_t width, uint32_t height, uint32_t depth)
+{
+       VkTraceRaysIndirectCommand2KHR res;
+       res.raygenShaderRecordAddress                   = raygenShaderRecordAddress;
+       res.raygenShaderRecordSize                              = raygenShaderRecordSize;
+       res.missShaderBindingTableAddress               = missShaderBindingTableAddress;
+       res.missShaderBindingTableSize                  = missShaderBindingTableSize;
+       res.missShaderBindingTableStride                = missShaderBindingTableStride;
+       res.hitShaderBindingTableAddress                = hitShaderBindingTableAddress;
+       res.hitShaderBindingTableSize                   = hitShaderBindingTableSize;
+       res.hitShaderBindingTableStride                 = hitShaderBindingTableStride;
+       res.callableShaderBindingTableAddress   = callableShaderBindingTableAddress;
+       res.callableShaderBindingTableSize              = callableShaderBindingTableSize;
+       res.callableShaderBindingTableStride    = callableShaderBindingTableStride;
+       res.width                                                               = width;
+       res.height                                                              = height;
+       res.depth                                                               = depth;
+       return res;
+}
+
 inline VkShaderResourceUsageAMD makeShaderResourceUsageAMD (uint32_t numUsedVgprs, uint32_t numUsedSgprs, uint32_t ldsSizePerLocalWorkGroup, size_t ldsUsageSizeInBytes, size_t scratchMemUsageInBytes)
 {
        VkShaderResourceUsageAMD res;
index b407c86..d36bfae 100644 (file)
  * This file was generated by /scripts/gen_framework.py
  */
 
-virtual PFN_vkVoidFunction     getDeviceProcAddr                                                               (VkDevice device, const char* pName) const = 0;
-virtual void                           destroyDevice                                                                   (VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           getDeviceQueue                                                                  (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const = 0;
-virtual VkResult                       queueSubmit                                                                             (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0;
-virtual VkResult                       queueWaitIdle                                                                   (VkQueue queue) const = 0;
-virtual VkResult                       deviceWaitIdle                                                                  (VkDevice device) const = 0;
-virtual VkResult                       allocateMemory                                                                  (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0;
-virtual void                           freeMemory                                                                              (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       mapMemory                                                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0;
-virtual void                           unmapMemory                                                                             (VkDevice device, VkDeviceMemory memory) const = 0;
-virtual VkResult                       flushMappedMemoryRanges                                                 (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
-virtual VkResult                       invalidateMappedMemoryRanges                                    (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
-virtual void                           getDeviceMemoryCommitment                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0;
-virtual VkResult                       bindBufferMemory                                                                (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
-virtual VkResult                       bindImageMemory                                                                 (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
-virtual void                           getBufferMemoryRequirements                                             (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0;
-virtual void                           getImageMemoryRequirements                                              (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0;
-virtual void                           getImageSparseMemoryRequirements                                (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0;
-virtual VkResult                       queueBindSparse                                                                 (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0;
-virtual VkResult                       createFence                                                                             (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
-virtual void                           destroyFence                                                                    (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       resetFences                                                                             (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const = 0;
-virtual VkResult                       getFenceStatus                                                                  (VkDevice device, VkFence fence) const = 0;
-virtual VkResult                       waitForFences                                                                   (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const = 0;
-virtual VkResult                       createSemaphore                                                                 (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0;
-virtual void                           destroySemaphore                                                                (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createEvent                                                                             (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0;
-virtual void                           destroyEvent                                                                    (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       getEventStatus                                                                  (VkDevice device, VkEvent event) const = 0;
-virtual VkResult                       setEvent                                                                                (VkDevice device, VkEvent event) const = 0;
-virtual VkResult                       resetEvent                                                                              (VkDevice device, VkEvent event) const = 0;
-virtual VkResult                       createQueryPool                                                                 (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0;
-virtual void                           destroyQueryPool                                                                (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       getQueryPoolResults                                                             (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
-virtual VkResult                       createBuffer                                                                    (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0;
-virtual void                           destroyBuffer                                                                   (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createBufferView                                                                (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0;
-virtual void                           destroyBufferView                                                               (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createImage                                                                             (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0;
-virtual void                           destroyImage                                                                    (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           getImageSubresourceLayout                                               (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0;
-virtual VkResult                       createImageView                                                                 (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0;
-virtual void                           destroyImageView                                                                (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createShaderModule                                                              (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0;
-virtual void                           destroyShaderModule                                                             (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createPipelineCache                                                             (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0;
-virtual void                           destroyPipelineCache                                                    (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       getPipelineCacheData                                                    (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const = 0;
-virtual VkResult                       mergePipelineCaches                                                             (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0;
-virtual VkResult                       createGraphicsPipelines                                                 (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
-virtual VkResult                       createComputePipelines                                                  (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
-virtual void                           destroyPipeline                                                                 (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createPipelineLayout                                                    (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0;
-virtual void                           destroyPipelineLayout                                                   (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createSampler                                                                   (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0;
-virtual void                           destroySampler                                                                  (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createDescriptorSetLayout                                               (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0;
-virtual void                           destroyDescriptorSetLayout                                              (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createDescriptorPool                                                    (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0;
-virtual void                           destroyDescriptorPool                                                   (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       resetDescriptorPool                                                             (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0;
-virtual VkResult                       allocateDescriptorSets                                                  (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0;
-virtual VkResult                       freeDescriptorSets                                                              (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0;
-virtual void                           updateDescriptorSets                                                    (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0;
-virtual VkResult                       createFramebuffer                                                               (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0;
-virtual void                           destroyFramebuffer                                                              (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createRenderPass                                                                (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
-virtual void                           destroyRenderPass                                                               (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           getRenderAreaGranularity                                                (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0;
-virtual VkResult                       createCommandPool                                                               (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0;
-virtual void                           destroyCommandPool                                                              (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       resetCommandPool                                                                (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0;
-virtual VkResult                       allocateCommandBuffers                                                  (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0;
-virtual void                           freeCommandBuffers                                                              (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
-virtual VkResult                       beginCommandBuffer                                                              (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0;
-virtual VkResult                       endCommandBuffer                                                                (VkCommandBuffer commandBuffer) const = 0;
-virtual VkResult                       resetCommandBuffer                                                              (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0;
-virtual void                           cmdBindPipeline                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0;
-virtual void                           cmdSetViewport                                                                  (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const = 0;
-virtual void                           cmdSetScissor                                                                   (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const = 0;
-virtual void                           cmdSetLineWidth                                                                 (VkCommandBuffer commandBuffer, float lineWidth) const = 0;
-virtual void                           cmdSetDepthBias                                                                 (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0;
-virtual void                           cmdSetBlendConstants                                                    (VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0;
-virtual void                           cmdSetDepthBounds                                                               (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0;
-virtual void                           cmdSetStencilCompareMask                                                (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const = 0;
-virtual void                           cmdSetStencilWriteMask                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const = 0;
-virtual void                           cmdSetStencilReference                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const = 0;
-virtual void                           cmdBindDescriptorSets                                                   (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const = 0;
-virtual void                           cmdBindIndexBuffer                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0;
-virtual void                           cmdBindVertexBuffers                                                    (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0;
-virtual void                           cmdDraw                                                                                 (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const = 0;
-virtual void                           cmdDrawIndexed                                                                  (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const = 0;
-virtual void                           cmdDrawIndirect                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
-virtual void                           cmdDrawIndexedIndirect                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
-virtual void                           cmdDispatch                                                                             (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
-virtual void                           cmdDispatchIndirect                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0;
-virtual void                           cmdCopyBuffer                                                                   (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const = 0;
-virtual void                           cmdCopyImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const = 0;
-virtual void                           cmdBlitImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0;
-virtual void                           cmdCopyBufferToImage                                                    (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0;
-virtual void                           cmdCopyImageToBuffer                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0;
-virtual void                           cmdUpdateBuffer                                                                 (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0;
-virtual void                           cmdFillBuffer                                                                   (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const = 0;
-virtual void                           cmdClearColorImage                                                              (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
-virtual void                           cmdClearDepthStencilImage                                               (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
-virtual void                           cmdClearAttachments                                                             (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const = 0;
-virtual void                           cmdResolveImage                                                                 (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const = 0;
-virtual void                           cmdSetEvent                                                                             (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
-virtual void                           cmdResetEvent                                                                   (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
-virtual void                           cmdWaitEvents                                                                   (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
-virtual void                           cmdPipelineBarrier                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
-virtual void                           cmdBeginQuery                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const = 0;
-virtual void                           cmdEndQuery                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const = 0;
-virtual void                           cmdResetQueryPool                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0;
-virtual void                           cmdWriteTimestamp                                                               (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const = 0;
-virtual void                           cmdCopyQueryPoolResults                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
-virtual void                           cmdPushConstants                                                                (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const = 0;
-virtual void                           cmdBeginRenderPass                                                              (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0;
-virtual void                           cmdNextSubpass                                                                  (VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0;
-virtual void                           cmdEndRenderPass                                                                (VkCommandBuffer commandBuffer) const = 0;
-virtual void                           cmdExecuteCommands                                                              (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
-virtual VkResult                       bindBufferMemory2                                                               (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0;
-virtual VkResult                       bindImageMemory2                                                                (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0;
-virtual void                           getDeviceGroupPeerMemoryFeatures                                (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0;
-virtual void                           cmdSetDeviceMask                                                                (VkCommandBuffer commandBuffer, uint32_t deviceMask) const = 0;
-virtual void                           cmdDispatchBase                                                                 (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
-virtual void                           getImageMemoryRequirements2                                             (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
-virtual void                           getBufferMemoryRequirements2                                    (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
-virtual void                           getImageSparseMemoryRequirements2                               (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
-virtual void                           trimCommandPool                                                                 (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0;
-virtual void                           getDeviceQueue2                                                                 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0;
-virtual VkResult                       createSamplerYcbcrConversion                                    (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0;
-virtual void                           destroySamplerYcbcrConversion                                   (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       createDescriptorUpdateTemplate                                  (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0;
-virtual void                           destroyDescriptorUpdateTemplate                                 (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           updateDescriptorSetWithTemplate                                 (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0;
-virtual void                           getDescriptorSetLayoutSupport                                   (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0;
-virtual void                           cmdDrawIndirectCount                                                    (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
-virtual void                           cmdDrawIndexedIndirectCount                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
-virtual VkResult                       createRenderPass2                                                               (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
-virtual void                           cmdBeginRenderPass2                                                             (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const = 0;
-virtual void                           cmdNextSubpass2                                                                 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const = 0;
-virtual void                           cmdEndRenderPass2                                                               (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const = 0;
-virtual void                           resetQueryPool                                                                  (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0;
-virtual VkResult                       getSemaphoreCounterValue                                                (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const = 0;
-virtual VkResult                       waitSemaphores                                                                  (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const = 0;
-virtual VkResult                       signalSemaphore                                                                 (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const = 0;
-virtual VkDeviceAddress                getBufferDeviceAddress                                                  (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
-virtual uint64_t                       getBufferOpaqueCaptureAddress                                   (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
-virtual uint64_t                       getDeviceMemoryOpaqueCaptureAddress                             (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const = 0;
-virtual VkResult                       createPrivateDataSlot                                                   (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) 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;
-virtual void                           cmdSetEvent2                                                                    (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const = 0;
-virtual void                           cmdResetEvent2                                                                  (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const = 0;
-virtual void                           cmdWaitEvents2                                                                  (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const = 0;
-virtual void                           cmdPipelineBarrier2                                                             (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const = 0;
-virtual void                           cmdWriteTimestamp2                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const = 0;
-virtual VkResult                       queueSubmit2                                                                    (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const = 0;
-virtual void                           cmdCopyBuffer2                                                                  (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const = 0;
-virtual void                           cmdCopyImage2                                                                   (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const = 0;
-virtual void                           cmdCopyBufferToImage2                                                   (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const = 0;
-virtual void                           cmdCopyImageToBuffer2                                                   (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const = 0;
-virtual void                           cmdBlitImage2                                                                   (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const = 0;
-virtual void                           cmdResolveImage2                                                                (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const = 0;
-virtual void                           cmdBeginRendering                                                               (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const = 0;
-virtual void                           cmdEndRendering                                                                 (VkCommandBuffer commandBuffer) const = 0;
-virtual void                           cmdSetCullMode                                                                  (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const = 0;
-virtual void                           cmdSetFrontFace                                                                 (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const = 0;
-virtual void                           cmdSetPrimitiveTopology                                                 (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const = 0;
-virtual void                           cmdSetViewportWithCount                                                 (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const = 0;
-virtual void                           cmdSetScissorWithCount                                                  (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const = 0;
-virtual void                           cmdBindVertexBuffers2                                                   (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const = 0;
-virtual void                           cmdSetDepthTestEnable                                                   (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const = 0;
-virtual void                           cmdSetDepthWriteEnable                                                  (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const = 0;
-virtual void                           cmdSetDepthCompareOp                                                    (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const = 0;
-virtual void                           cmdSetDepthBoundsTestEnable                                             (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const = 0;
-virtual void                           cmdSetStencilTestEnable                                                 (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const = 0;
-virtual void                           cmdSetStencilOp                                                                 (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const = 0;
-virtual void                           cmdSetRasterizerDiscardEnable                                   (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const = 0;
-virtual void                           cmdSetDepthBiasEnable                                                   (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const = 0;
-virtual void                           cmdSetPrimitiveRestartEnable                                    (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0;
-virtual void                           getDeviceBufferMemoryRequirements                               (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
-virtual void                           getDeviceImageMemoryRequirements                                (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
-virtual void                           getDeviceImageSparseMemoryRequirements                  (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
-virtual VkResult                       createSwapchainKHR                                                              (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0;
-virtual void                           destroySwapchainKHR                                                             (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       getSwapchainImagesKHR                                                   (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0;
-virtual VkResult                       acquireNextImageKHR                                                             (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const = 0;
-virtual VkResult                       queuePresentKHR                                                                 (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0;
-virtual VkResult                       getDeviceGroupPresentCapabilitiesKHR                    (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0;
-virtual VkResult                       getDeviceGroupSurfacePresentModesKHR                    (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
-virtual VkResult                       acquireNextImage2KHR                                                    (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const = 0;
-virtual VkResult                       createSharedSwapchainsKHR                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0;
-virtual VkResult                       getMemoryFdKHR                                                                  (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
-virtual VkResult                       getMemoryFdPropertiesKHR                                                (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0;
-virtual VkResult                       importSemaphoreFdKHR                                                    (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0;
-virtual VkResult                       getSemaphoreFdKHR                                                               (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
-virtual void                           cmdPushDescriptorSetKHR                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0;
-virtual void                           cmdPushDescriptorSetWithTemplateKHR                             (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const = 0;
-virtual VkResult                       getSwapchainStatusKHR                                                   (VkDevice device, VkSwapchainKHR swapchain) const = 0;
-virtual VkResult                       importFenceFdKHR                                                                (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0;
-virtual VkResult                       getFenceFdKHR                                                                   (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
-virtual VkResult                       acquireProfilingLockKHR                                                 (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const = 0;
-virtual void                           releaseProfilingLockKHR                                                 (VkDevice device) const = 0;
-virtual void                           cmdSetFragmentShadingRateKHR                                    (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
-virtual VkResult                       waitForPresentKHR                                                               (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const = 0;
-virtual VkResult                       createDeferredOperationKHR                                              (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const = 0;
-virtual void                           destroyDeferredOperationKHR                                             (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual uint32_t                       getDeferredOperationMaxConcurrencyKHR                   (VkDevice device, VkDeferredOperationKHR operation) const = 0;
-virtual VkResult                       getDeferredOperationResultKHR                                   (VkDevice device, VkDeferredOperationKHR operation) const = 0;
-virtual VkResult                       deferredOperationJoinKHR                                                (VkDevice device, VkDeferredOperationKHR operation) const = 0;
-virtual VkResult                       getPipelineExecutablePropertiesKHR                              (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const = 0;
-virtual VkResult                       getPipelineExecutableStatisticsKHR                              (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const = 0;
-virtual VkResult                       getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const = 0;
-virtual void                           cmdWriteBufferMarker2AMD                                                (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
-virtual void                           getQueueCheckpointData2NV                                               (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const = 0;
-virtual VkResult                       debugMarkerSetObjectTagEXT                                              (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0;
-virtual VkResult                       debugMarkerSetObjectNameEXT                                             (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0;
-virtual void                           cmdDebugMarkerBeginEXT                                                  (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
-virtual void                           cmdDebugMarkerEndEXT                                                    (VkCommandBuffer commandBuffer) const = 0;
-virtual void                           cmdDebugMarkerInsertEXT                                                 (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
-virtual void                           cmdBindTransformFeedbackBuffersEXT                              (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const = 0;
-virtual void                           cmdBeginTransformFeedbackEXT                                    (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
-virtual void                           cmdEndTransformFeedbackEXT                                              (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
-virtual void                           cmdBeginQueryIndexedEXT                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const = 0;
-virtual void                           cmdEndQueryIndexedEXT                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const = 0;
-virtual void                           cmdDrawIndirectByteCountEXT                                             (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const = 0;
-virtual VkResult                       createCuModuleNVX                                                               (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const = 0;
-virtual VkResult                       createCuFunctionNVX                                                             (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const = 0;
-virtual void                           destroyCuModuleNVX                                                              (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           destroyCuFunctionNVX                                                    (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           cmdCuLaunchKernelNVX                                                    (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const = 0;
-virtual uint32_t                       getImageViewHandleNVX                                                   (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const = 0;
-virtual VkResult                       getImageViewAddressNVX                                                  (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const = 0;
-virtual void                           cmdDrawIndirectCountAMD                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
-virtual void                           cmdDrawIndexedIndirectCountAMD                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
-virtual VkResult                       getShaderInfoAMD                                                                (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const = 0;
-virtual void                           cmdBeginConditionalRenderingEXT                                 (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0;
-virtual void                           cmdEndConditionalRenderingEXT                                   (VkCommandBuffer commandBuffer) const = 0;
-virtual void                           cmdSetViewportWScalingNV                                                (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0;
-virtual VkResult                       displayPowerControlEXT                                                  (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0;
-virtual VkResult                       registerDeviceEventEXT                                                  (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
-virtual VkResult                       registerDisplayEventEXT                                                 (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
-virtual VkResult                       getSwapchainCounterEXT                                                  (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const = 0;
-virtual VkResult                       getRefreshCycleDurationGOOGLE                                   (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0;
-virtual VkResult                       getPastPresentationTimingGOOGLE                                 (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0;
-virtual void                           cmdSetDiscardRectangleEXT                                               (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0;
-virtual void                           setHdrMetadataEXT                                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0;
-virtual VkResult                       setDebugUtilsObjectNameEXT                                              (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const = 0;
-virtual VkResult                       setDebugUtilsObjectTagEXT                                               (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const = 0;
-virtual void                           queueBeginDebugUtilsLabelEXT                                    (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
-virtual void                           queueEndDebugUtilsLabelEXT                                              (VkQueue queue) const = 0;
-virtual void                           queueInsertDebugUtilsLabelEXT                                   (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
-virtual void                           cmdBeginDebugUtilsLabelEXT                                              (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
-virtual void                           cmdEndDebugUtilsLabelEXT                                                (VkCommandBuffer commandBuffer) const = 0;
-virtual void                           cmdInsertDebugUtilsLabelEXT                                             (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
-virtual void                           cmdSetSampleLocationsEXT                                                (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0;
-virtual VkResult                       getImageDrmFormatModifierPropertiesEXT                  (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const = 0;
-virtual VkResult                       createValidationCacheEXT                                                (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0;
-virtual void                           destroyValidationCacheEXT                                               (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       mergeValidationCachesEXT                                                (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0;
-virtual VkResult                       getValidationCacheDataEXT                                               (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const = 0;
-virtual void                           cmdBindShadingRateImageNV                                               (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
-virtual void                           cmdSetViewportShadingRatePaletteNV                              (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const = 0;
-virtual void                           cmdSetCoarseSampleOrderNV                                               (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const = 0;
-virtual VkResult                       createAccelerationStructureNV                                   (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const = 0;
-virtual void                           destroyAccelerationStructureNV                                  (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           getAccelerationStructureMemoryRequirementsNV    (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const = 0;
-virtual VkResult                       bindAccelerationStructureMemoryNV                               (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const = 0;
-virtual void                           cmdBuildAccelerationStructureNV                                 (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const = 0;
-virtual void                           cmdCopyAccelerationStructureNV                                  (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const = 0;
-virtual void                           cmdTraceRaysNV                                                                  (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const = 0;
-virtual VkResult                       createRayTracingPipelinesNV                                             (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
-virtual VkResult                       getRayTracingShaderGroupHandlesKHR                              (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
-virtual VkResult                       getRayTracingShaderGroupHandlesNV                               (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
-virtual VkResult                       getAccelerationStructureHandleNV                                (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const = 0;
-virtual void                           cmdWriteAccelerationStructuresPropertiesNV              (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
-virtual VkResult                       compileDeferredNV                                                               (VkDevice device, VkPipeline pipeline, uint32_t shader) const = 0;
-virtual VkResult                       getMemoryHostPointerPropertiesEXT                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const = 0;
-virtual void                           cmdWriteBufferMarkerAMD                                                 (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
-virtual VkResult                       getCalibratedTimestampsEXT                                              (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const = 0;
-virtual void                           cmdDrawMeshTasksNV                                                              (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const = 0;
-virtual void                           cmdDrawMeshTasksIndirectNV                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
-virtual void                           cmdDrawMeshTasksIndirectCountNV                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
-virtual void                           cmdSetExclusiveScissorNV                                                (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const = 0;
-virtual void                           cmdSetCheckpointNV                                                              (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const = 0;
-virtual void                           getQueueCheckpointDataNV                                                (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const = 0;
-virtual VkResult                       initializePerformanceApiINTEL                                   (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const = 0;
-virtual void                           uninitializePerformanceApiINTEL                                 (VkDevice device) const = 0;
-virtual VkResult                       cmdSetPerformanceMarkerINTEL                                    (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const = 0;
-virtual VkResult                       cmdSetPerformanceStreamMarkerINTEL                              (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const = 0;
-virtual VkResult                       cmdSetPerformanceOverrideINTEL                                  (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const = 0;
-virtual VkResult                       acquirePerformanceConfigurationINTEL                    (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const = 0;
-virtual VkResult                       releasePerformanceConfigurationINTEL                    (VkDevice device, VkPerformanceConfigurationINTEL configuration) const = 0;
-virtual VkResult                       queueSetPerformanceConfigurationINTEL                   (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const = 0;
-virtual VkResult                       getPerformanceParameterINTEL                                    (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const = 0;
-virtual void                           setLocalDimmingAMD                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const = 0;
-virtual VkDeviceAddress                getBufferDeviceAddressEXT                                               (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
-virtual void                           cmdSetLineStippleEXT                                                    (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const = 0;
-virtual void                           getGeneratedCommandsMemoryRequirementsNV                (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
-virtual void                           cmdPreprocessGeneratedCommandsNV                                (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0;
-virtual void                           cmdExecuteGeneratedCommandsNV                                   (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0;
-virtual void                           cmdBindPipelineShaderGroupNV                                    (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const = 0;
-virtual VkResult                       createIndirectCommandsLayoutNV                                  (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const = 0;
-virtual void                           destroyIndirectCommandsLayoutNV                                 (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           cmdSetFragmentShadingRateEnumNV                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
-virtual void                           cmdSetVertexInputEXT                                                    (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const = 0;
-virtual VkResult                       getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI   (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const = 0;
-virtual void                           cmdSubpassShadingHUAWEI                                                 (VkCommandBuffer commandBuffer) const = 0;
-virtual void                           cmdBindInvocationMaskHUAWEI                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
-virtual VkResult                       getMemoryRemoteAddressNV                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const = 0;
-virtual void                           cmdSetPatchControlPointsEXT                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const = 0;
-virtual void                           cmdSetLogicOpEXT                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0;
-virtual void                           cmdSetColorWriteEnableEXT                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const = 0;
-virtual void                           cmdDrawMultiEXT                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const = 0;
-virtual void                           cmdDrawMultiIndexedEXT                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const = 0;
-virtual void                           setDeviceMemoryPriorityEXT                                              (VkDevice device, VkDeviceMemory memory, float priority) 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                       createAccelerationStructureKHR                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0;
-virtual void                           destroyAccelerationStructureKHR                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           cmdBuildAccelerationStructuresKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
-virtual void                           cmdBuildAccelerationStructuresIndirectKHR               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const = 0;
-virtual VkResult                       buildAccelerationStructuresKHR                                  (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
-virtual VkResult                       copyAccelerationStructureKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0;
-virtual VkResult                       copyAccelerationStructureToMemoryKHR                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0;
-virtual VkResult                       copyMemoryToAccelerationStructureKHR                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0;
-virtual VkResult                       writeAccelerationStructuresPropertiesKHR                (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const = 0;
-virtual void                           cmdCopyAccelerationStructureKHR                                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0;
-virtual void                           cmdCopyAccelerationStructureToMemoryKHR                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0;
-virtual void                           cmdCopyMemoryToAccelerationStructureKHR                 (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0;
-virtual VkDeviceAddress                getAccelerationStructureDeviceAddressKHR                (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const = 0;
-virtual void                           cmdWriteAccelerationStructuresPropertiesKHR             (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
-virtual void                           getDeviceAccelerationStructureCompatibilityKHR  (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const = 0;
-virtual void                           getAccelerationStructureBuildSizesKHR                   (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const = 0;
-virtual void                           cmdTraceRaysKHR                                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const = 0;
-virtual VkResult                       createRayTracingPipelinesKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
-virtual VkResult                       getRayTracingCaptureReplayShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
-virtual void                           cmdTraceRaysIndirectKHR                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const = 0;
-virtual VkDeviceSize           getRayTracingShaderGroupStackSizeKHR                    (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const = 0;
-virtual void                           cmdSetRayTracingPipelineStackSizeKHR                    (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const = 0;
-virtual VkResult                       getAndroidHardwareBufferPropertiesANDROID               (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0;
-virtual VkResult                       getMemoryAndroidHardwareBufferANDROID                   (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0;
-virtual VkResult                       createVideoSessionKHR                                                   (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const = 0;
-virtual void                           destroyVideoSessionKHR                                                  (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       getVideoSessionMemoryRequirementsKHR                    (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const = 0;
-virtual VkResult                       bindVideoSessionMemoryKHR                                               (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const = 0;
-virtual VkResult                       createVideoSessionParametersKHR                                 (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const = 0;
-virtual VkResult                       updateVideoSessionParametersKHR                                 (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const = 0;
-virtual void                           destroyVideoSessionParametersKHR                                (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual void                           cmdBeginVideoCodingKHR                                                  (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const = 0;
-virtual void                           cmdEndVideoCodingKHR                                                    (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const = 0;
-virtual void                           cmdControlVideoCodingKHR                                                (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const = 0;
-virtual void                           cmdDecodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const = 0;
-virtual void                           cmdEncodeVideoKHR                                                               (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const = 0;
-virtual VkResult                       getMemoryZirconHandleFUCHSIA                                    (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0;
-virtual VkResult                       getMemoryZirconHandlePropertiesFUCHSIA                  (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const = 0;
-virtual VkResult                       importSemaphoreZirconHandleFUCHSIA                              (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const = 0;
-virtual VkResult                       getSemaphoreZirconHandleFUCHSIA                                 (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0;
-virtual VkResult                       createBufferCollectionFUCHSIA                                   (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const = 0;
-virtual VkResult                       setBufferCollectionImageConstraintsFUCHSIA              (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const = 0;
-virtual VkResult                       setBufferCollectionBufferConstraintsFUCHSIA             (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const = 0;
-virtual void                           destroyBufferCollectionFUCHSIA                                  (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const = 0;
-virtual VkResult                       getBufferCollectionPropertiesFUCHSIA                    (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const = 0;
-virtual VkResult                       getMemoryWin32HandleKHR                                                 (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
-virtual VkResult                       getMemoryWin32HandlePropertiesKHR                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0;
-virtual VkResult                       importSemaphoreWin32HandleKHR                                   (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0;
-virtual VkResult                       getSemaphoreWin32HandleKHR                                              (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
-virtual VkResult                       importFenceWin32HandleKHR                                               (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0;
-virtual VkResult                       getFenceWin32HandleKHR                                                  (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
-virtual VkResult                       getMemoryWin32HandleNV                                                  (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0;
-virtual VkResult                       acquireFullScreenExclusiveModeEXT                               (VkDevice device, VkSwapchainKHR swapchain) const = 0;
-virtual VkResult                       releaseFullScreenExclusiveModeEXT                               (VkDevice device, VkSwapchainKHR swapchain) const = 0;
-virtual VkResult                       getDeviceGroupSurfacePresentModes2EXT                   (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
+virtual PFN_vkVoidFunction     getDeviceProcAddr                                                                               (VkDevice device, const char* pName) const = 0;
+virtual void                           destroyDevice                                                                                   (VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           getDeviceQueue                                                                                  (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const = 0;
+virtual VkResult                       queueSubmit                                                                                             (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0;
+virtual VkResult                       queueWaitIdle                                                                                   (VkQueue queue) const = 0;
+virtual VkResult                       deviceWaitIdle                                                                                  (VkDevice device) const = 0;
+virtual VkResult                       allocateMemory                                                                                  (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0;
+virtual void                           freeMemory                                                                                              (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       mapMemory                                                                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0;
+virtual void                           unmapMemory                                                                                             (VkDevice device, VkDeviceMemory memory) const = 0;
+virtual VkResult                       flushMappedMemoryRanges                                                                 (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
+virtual VkResult                       invalidateMappedMemoryRanges                                                    (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
+virtual void                           getDeviceMemoryCommitment                                                               (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0;
+virtual VkResult                       bindBufferMemory                                                                                (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
+virtual VkResult                       bindImageMemory                                                                                 (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0;
+virtual void                           getBufferMemoryRequirements                                                             (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0;
+virtual void                           getImageMemoryRequirements                                                              (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0;
+virtual void                           getImageSparseMemoryRequirements                                                (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0;
+virtual VkResult                       queueBindSparse                                                                                 (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0;
+virtual VkResult                       createFence                                                                                             (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
+virtual void                           destroyFence                                                                                    (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       resetFences                                                                                             (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const = 0;
+virtual VkResult                       getFenceStatus                                                                                  (VkDevice device, VkFence fence) const = 0;
+virtual VkResult                       waitForFences                                                                                   (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const = 0;
+virtual VkResult                       createSemaphore                                                                                 (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0;
+virtual void                           destroySemaphore                                                                                (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createEvent                                                                                             (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0;
+virtual void                           destroyEvent                                                                                    (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getEventStatus                                                                                  (VkDevice device, VkEvent event) const = 0;
+virtual VkResult                       setEvent                                                                                                (VkDevice device, VkEvent event) const = 0;
+virtual VkResult                       resetEvent                                                                                              (VkDevice device, VkEvent event) const = 0;
+virtual VkResult                       createQueryPool                                                                                 (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0;
+virtual void                           destroyQueryPool                                                                                (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getQueryPoolResults                                                                             (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
+virtual VkResult                       createBuffer                                                                                    (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0;
+virtual void                           destroyBuffer                                                                                   (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createBufferView                                                                                (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0;
+virtual void                           destroyBufferView                                                                               (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createImage                                                                                             (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0;
+virtual void                           destroyImage                                                                                    (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           getImageSubresourceLayout                                                               (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0;
+virtual VkResult                       createImageView                                                                                 (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0;
+virtual void                           destroyImageView                                                                                (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createShaderModule                                                                              (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0;
+virtual void                           destroyShaderModule                                                                             (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createPipelineCache                                                                             (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0;
+virtual void                           destroyPipelineCache                                                                    (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getPipelineCacheData                                                                    (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const = 0;
+virtual VkResult                       mergePipelineCaches                                                                             (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0;
+virtual VkResult                       createGraphicsPipelines                                                                 (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
+virtual VkResult                       createComputePipelines                                                                  (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
+virtual void                           destroyPipeline                                                                                 (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createPipelineLayout                                                                    (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0;
+virtual void                           destroyPipelineLayout                                                                   (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createSampler                                                                                   (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0;
+virtual void                           destroySampler                                                                                  (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createDescriptorSetLayout                                                               (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0;
+virtual void                           destroyDescriptorSetLayout                                                              (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createDescriptorPool                                                                    (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0;
+virtual void                           destroyDescriptorPool                                                                   (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       resetDescriptorPool                                                                             (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0;
+virtual VkResult                       allocateDescriptorSets                                                                  (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0;
+virtual VkResult                       freeDescriptorSets                                                                              (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0;
+virtual void                           updateDescriptorSets                                                                    (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0;
+virtual VkResult                       createFramebuffer                                                                               (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0;
+virtual void                           destroyFramebuffer                                                                              (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createRenderPass                                                                                (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
+virtual void                           destroyRenderPass                                                                               (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           getRenderAreaGranularity                                                                (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0;
+virtual VkResult                       createCommandPool                                                                               (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0;
+virtual void                           destroyCommandPool                                                                              (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       resetCommandPool                                                                                (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0;
+virtual VkResult                       allocateCommandBuffers                                                                  (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0;
+virtual void                           freeCommandBuffers                                                                              (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
+virtual VkResult                       beginCommandBuffer                                                                              (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0;
+virtual VkResult                       endCommandBuffer                                                                                (VkCommandBuffer commandBuffer) const = 0;
+virtual VkResult                       resetCommandBuffer                                                                              (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0;
+virtual void                           cmdBindPipeline                                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0;
+virtual void                           cmdSetViewport                                                                                  (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const = 0;
+virtual void                           cmdSetScissor                                                                                   (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const = 0;
+virtual void                           cmdSetLineWidth                                                                                 (VkCommandBuffer commandBuffer, float lineWidth) const = 0;
+virtual void                           cmdSetDepthBias                                                                                 (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0;
+virtual void                           cmdSetBlendConstants                                                                    (VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0;
+virtual void                           cmdSetDepthBounds                                                                               (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0;
+virtual void                           cmdSetStencilCompareMask                                                                (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const = 0;
+virtual void                           cmdSetStencilWriteMask                                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const = 0;
+virtual void                           cmdSetStencilReference                                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const = 0;
+virtual void                           cmdBindDescriptorSets                                                                   (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const = 0;
+virtual void                           cmdBindIndexBuffer                                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0;
+virtual void                           cmdBindVertexBuffers                                                                    (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0;
+virtual void                           cmdDraw                                                                                                 (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const = 0;
+virtual void                           cmdDrawIndexed                                                                                  (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const = 0;
+virtual void                           cmdDrawIndirect                                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
+virtual void                           cmdDrawIndexedIndirect                                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
+virtual void                           cmdDispatch                                                                                             (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
+virtual void                           cmdDispatchIndirect                                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0;
+virtual void                           cmdCopyBuffer                                                                                   (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const = 0;
+virtual void                           cmdCopyImage                                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const = 0;
+virtual void                           cmdBlitImage                                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0;
+virtual void                           cmdCopyBufferToImage                                                                    (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0;
+virtual void                           cmdCopyImageToBuffer                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0;
+virtual void                           cmdUpdateBuffer                                                                                 (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0;
+virtual void                           cmdFillBuffer                                                                                   (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const = 0;
+virtual void                           cmdClearColorImage                                                                              (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
+virtual void                           cmdClearDepthStencilImage                                                               (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
+virtual void                           cmdClearAttachments                                                                             (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const = 0;
+virtual void                           cmdResolveImage                                                                                 (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const = 0;
+virtual void                           cmdSetEvent                                                                                             (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
+virtual void                           cmdResetEvent                                                                                   (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0;
+virtual void                           cmdWaitEvents                                                                                   (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
+virtual void                           cmdPipelineBarrier                                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
+virtual void                           cmdBeginQuery                                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const = 0;
+virtual void                           cmdEndQuery                                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const = 0;
+virtual void                           cmdResetQueryPool                                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0;
+virtual void                           cmdWriteTimestamp                                                                               (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const = 0;
+virtual void                           cmdCopyQueryPoolResults                                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
+virtual void                           cmdPushConstants                                                                                (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const = 0;
+virtual void                           cmdBeginRenderPass                                                                              (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0;
+virtual void                           cmdNextSubpass                                                                                  (VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0;
+virtual void                           cmdEndRenderPass                                                                                (VkCommandBuffer commandBuffer) const = 0;
+virtual void                           cmdExecuteCommands                                                                              (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
+virtual VkResult                       bindBufferMemory2                                                                               (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0;
+virtual VkResult                       bindImageMemory2                                                                                (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0;
+virtual void                           getDeviceGroupPeerMemoryFeatures                                                (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0;
+virtual void                           cmdSetDeviceMask                                                                                (VkCommandBuffer commandBuffer, uint32_t deviceMask) const = 0;
+virtual void                           cmdDispatchBase                                                                                 (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0;
+virtual void                           getImageMemoryRequirements2                                                             (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
+virtual void                           getBufferMemoryRequirements2                                                    (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
+virtual void                           getImageSparseMemoryRequirements2                                               (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
+virtual void                           trimCommandPool                                                                                 (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0;
+virtual void                           getDeviceQueue2                                                                                 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0;
+virtual VkResult                       createSamplerYcbcrConversion                                                    (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0;
+virtual void                           destroySamplerYcbcrConversion                                                   (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       createDescriptorUpdateTemplate                                                  (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0;
+virtual void                           destroyDescriptorUpdateTemplate                                                 (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           updateDescriptorSetWithTemplate                                                 (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0;
+virtual void                           getDescriptorSetLayoutSupport                                                   (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0;
+virtual void                           cmdDrawIndirectCount                                                                    (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
+virtual void                           cmdDrawIndexedIndirectCount                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
+virtual VkResult                       createRenderPass2                                                                               (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
+virtual void                           cmdBeginRenderPass2                                                                             (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const = 0;
+virtual void                           cmdNextSubpass2                                                                                 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const = 0;
+virtual void                           cmdEndRenderPass2                                                                               (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const = 0;
+virtual void                           resetQueryPool                                                                                  (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0;
+virtual VkResult                       getSemaphoreCounterValue                                                                (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const = 0;
+virtual VkResult                       waitSemaphores                                                                                  (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const = 0;
+virtual VkResult                       signalSemaphore                                                                                 (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const = 0;
+virtual VkDeviceAddress                getBufferDeviceAddress                                                                  (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
+virtual uint64_t                       getBufferOpaqueCaptureAddress                                                   (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
+virtual uint64_t                       getDeviceMemoryOpaqueCaptureAddress                                             (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const = 0;
+virtual VkResult                       createPrivateDataSlot                                                                   (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) 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;
+virtual void                           cmdSetEvent2                                                                                    (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const = 0;
+virtual void                           cmdResetEvent2                                                                                  (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const = 0;
+virtual void                           cmdWaitEvents2                                                                                  (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const = 0;
+virtual void                           cmdPipelineBarrier2                                                                             (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const = 0;
+virtual void                           cmdWriteTimestamp2                                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const = 0;
+virtual VkResult                       queueSubmit2                                                                                    (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const = 0;
+virtual void                           cmdCopyBuffer2                                                                                  (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const = 0;
+virtual void                           cmdCopyImage2                                                                                   (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const = 0;
+virtual void                           cmdCopyBufferToImage2                                                                   (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const = 0;
+virtual void                           cmdCopyImageToBuffer2                                                                   (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const = 0;
+virtual void                           cmdBlitImage2                                                                                   (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const = 0;
+virtual void                           cmdResolveImage2                                                                                (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const = 0;
+virtual void                           cmdBeginRendering                                                                               (VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo) const = 0;
+virtual void                           cmdEndRendering                                                                                 (VkCommandBuffer commandBuffer) const = 0;
+virtual void                           cmdSetCullMode                                                                                  (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const = 0;
+virtual void                           cmdSetFrontFace                                                                                 (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const = 0;
+virtual void                           cmdSetPrimitiveTopology                                                                 (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const = 0;
+virtual void                           cmdSetViewportWithCount                                                                 (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const = 0;
+virtual void                           cmdSetScissorWithCount                                                                  (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const = 0;
+virtual void                           cmdBindVertexBuffers2                                                                   (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const = 0;
+virtual void                           cmdSetDepthTestEnable                                                                   (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const = 0;
+virtual void                           cmdSetDepthWriteEnable                                                                  (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const = 0;
+virtual void                           cmdSetDepthCompareOp                                                                    (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const = 0;
+virtual void                           cmdSetDepthBoundsTestEnable                                                             (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const = 0;
+virtual void                           cmdSetStencilTestEnable                                                                 (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const = 0;
+virtual void                           cmdSetStencilOp                                                                                 (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const = 0;
+virtual void                           cmdSetRasterizerDiscardEnable                                                   (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const = 0;
+virtual void                           cmdSetDepthBiasEnable                                                                   (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const = 0;
+virtual void                           cmdSetPrimitiveRestartEnable                                                    (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0;
+virtual void                           getDeviceBufferMemoryRequirements                                               (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
+virtual void                           getDeviceImageMemoryRequirements                                                (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
+virtual void                           getDeviceImageSparseMemoryRequirements                                  (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0;
+virtual VkResult                       createSwapchainKHR                                                                              (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0;
+virtual void                           destroySwapchainKHR                                                                             (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getSwapchainImagesKHR                                                                   (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0;
+virtual VkResult                       acquireNextImageKHR                                                                             (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const = 0;
+virtual VkResult                       queuePresentKHR                                                                                 (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0;
+virtual VkResult                       getDeviceGroupPresentCapabilitiesKHR                                    (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0;
+virtual VkResult                       getDeviceGroupSurfacePresentModesKHR                                    (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
+virtual VkResult                       acquireNextImage2KHR                                                                    (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const = 0;
+virtual VkResult                       createSharedSwapchainsKHR                                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0;
+virtual VkResult                       getMemoryFdKHR                                                                                  (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
+virtual VkResult                       getMemoryFdPropertiesKHR                                                                (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0;
+virtual VkResult                       importSemaphoreFdKHR                                                                    (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0;
+virtual VkResult                       getSemaphoreFdKHR                                                                               (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
+virtual void                           cmdPushDescriptorSetKHR                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0;
+virtual void                           cmdPushDescriptorSetWithTemplateKHR                                             (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const = 0;
+virtual VkResult                       getSwapchainStatusKHR                                                                   (VkDevice device, VkSwapchainKHR swapchain) const = 0;
+virtual VkResult                       importFenceFdKHR                                                                                (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0;
+virtual VkResult                       getFenceFdKHR                                                                                   (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0;
+virtual VkResult                       acquireProfilingLockKHR                                                                 (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const = 0;
+virtual void                           releaseProfilingLockKHR                                                                 (VkDevice device) const = 0;
+virtual void                           cmdSetFragmentShadingRateKHR                                                    (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
+virtual VkResult                       waitForPresentKHR                                                                               (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const = 0;
+virtual VkResult                       createDeferredOperationKHR                                                              (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const = 0;
+virtual void                           destroyDeferredOperationKHR                                                             (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual uint32_t                       getDeferredOperationMaxConcurrencyKHR                                   (VkDevice device, VkDeferredOperationKHR operation) const = 0;
+virtual VkResult                       getDeferredOperationResultKHR                                                   (VkDevice device, VkDeferredOperationKHR operation) const = 0;
+virtual VkResult                       deferredOperationJoinKHR                                                                (VkDevice device, VkDeferredOperationKHR operation) const = 0;
+virtual VkResult                       getPipelineExecutablePropertiesKHR                                              (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const = 0;
+virtual VkResult                       getPipelineExecutableStatisticsKHR                                              (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const = 0;
+virtual VkResult                       getPipelineExecutableInternalRepresentationsKHR                 (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const = 0;
+virtual void                           cmdWriteBufferMarker2AMD                                                                (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
+virtual void                           getQueueCheckpointData2NV                                                               (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const = 0;
+virtual void                           cmdTraceRaysIndirect2KHR                                                                (VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress) const = 0;
+virtual VkResult                       debugMarkerSetObjectTagEXT                                                              (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0;
+virtual VkResult                       debugMarkerSetObjectNameEXT                                                             (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0;
+virtual void                           cmdDebugMarkerBeginEXT                                                                  (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
+virtual void                           cmdDebugMarkerEndEXT                                                                    (VkCommandBuffer commandBuffer) const = 0;
+virtual void                           cmdDebugMarkerInsertEXT                                                                 (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0;
+virtual void                           cmdBindTransformFeedbackBuffersEXT                                              (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const = 0;
+virtual void                           cmdBeginTransformFeedbackEXT                                                    (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
+virtual void                           cmdEndTransformFeedbackEXT                                                              (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
+virtual void                           cmdBeginQueryIndexedEXT                                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const = 0;
+virtual void                           cmdEndQueryIndexedEXT                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const = 0;
+virtual void                           cmdDrawIndirectByteCountEXT                                                             (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const = 0;
+virtual VkResult                       createCuModuleNVX                                                                               (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const = 0;
+virtual VkResult                       createCuFunctionNVX                                                                             (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const = 0;
+virtual void                           destroyCuModuleNVX                                                                              (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           destroyCuFunctionNVX                                                                    (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           cmdCuLaunchKernelNVX                                                                    (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const = 0;
+virtual uint32_t                       getImageViewHandleNVX                                                                   (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const = 0;
+virtual VkResult                       getImageViewAddressNVX                                                                  (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const = 0;
+virtual void                           cmdDrawIndirectCountAMD                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
+virtual void                           cmdDrawIndexedIndirectCountAMD                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
+virtual VkResult                       getShaderInfoAMD                                                                                (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const = 0;
+virtual void                           cmdBeginConditionalRenderingEXT                                                 (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0;
+virtual void                           cmdEndConditionalRenderingEXT                                                   (VkCommandBuffer commandBuffer) const = 0;
+virtual void                           cmdSetViewportWScalingNV                                                                (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0;
+virtual VkResult                       displayPowerControlEXT                                                                  (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0;
+virtual VkResult                       registerDeviceEventEXT                                                                  (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
+virtual VkResult                       registerDisplayEventEXT                                                                 (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0;
+virtual VkResult                       getSwapchainCounterEXT                                                                  (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const = 0;
+virtual VkResult                       getRefreshCycleDurationGOOGLE                                                   (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0;
+virtual VkResult                       getPastPresentationTimingGOOGLE                                                 (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0;
+virtual void                           cmdSetDiscardRectangleEXT                                                               (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0;
+virtual void                           setHdrMetadataEXT                                                                               (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0;
+virtual VkResult                       setDebugUtilsObjectNameEXT                                                              (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const = 0;
+virtual VkResult                       setDebugUtilsObjectTagEXT                                                               (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const = 0;
+virtual void                           queueBeginDebugUtilsLabelEXT                                                    (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
+virtual void                           queueEndDebugUtilsLabelEXT                                                              (VkQueue queue) const = 0;
+virtual void                           queueInsertDebugUtilsLabelEXT                                                   (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
+virtual void                           cmdBeginDebugUtilsLabelEXT                                                              (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
+virtual void                           cmdEndDebugUtilsLabelEXT                                                                (VkCommandBuffer commandBuffer) const = 0;
+virtual void                           cmdInsertDebugUtilsLabelEXT                                                             (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0;
+virtual void                           cmdSetSampleLocationsEXT                                                                (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0;
+virtual VkResult                       getImageDrmFormatModifierPropertiesEXT                                  (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const = 0;
+virtual VkResult                       createValidationCacheEXT                                                                (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0;
+virtual void                           destroyValidationCacheEXT                                                               (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       mergeValidationCachesEXT                                                                (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0;
+virtual VkResult                       getValidationCacheDataEXT                                                               (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const = 0;
+virtual void                           cmdBindShadingRateImageNV                                                               (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
+virtual void                           cmdSetViewportShadingRatePaletteNV                                              (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const = 0;
+virtual void                           cmdSetCoarseSampleOrderNV                                                               (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const = 0;
+virtual VkResult                       createAccelerationStructureNV                                                   (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const = 0;
+virtual void                           destroyAccelerationStructureNV                                                  (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           getAccelerationStructureMemoryRequirementsNV                    (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const = 0;
+virtual VkResult                       bindAccelerationStructureMemoryNV                                               (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const = 0;
+virtual void                           cmdBuildAccelerationStructureNV                                                 (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const = 0;
+virtual void                           cmdCopyAccelerationStructureNV                                                  (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const = 0;
+virtual void                           cmdTraceRaysNV                                                                                  (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const = 0;
+virtual VkResult                       createRayTracingPipelinesNV                                                             (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
+virtual VkResult                       getRayTracingShaderGroupHandlesKHR                                              (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
+virtual VkResult                       getRayTracingShaderGroupHandlesNV                                               (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
+virtual VkResult                       getAccelerationStructureHandleNV                                                (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const = 0;
+virtual void                           cmdWriteAccelerationStructuresPropertiesNV                              (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
+virtual VkResult                       compileDeferredNV                                                                               (VkDevice device, VkPipeline pipeline, uint32_t shader) const = 0;
+virtual VkResult                       getMemoryHostPointerPropertiesEXT                                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const = 0;
+virtual void                           cmdWriteBufferMarkerAMD                                                                 (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0;
+virtual VkResult                       getCalibratedTimestampsEXT                                                              (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const = 0;
+virtual void                           cmdDrawMeshTasksNV                                                                              (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const = 0;
+virtual void                           cmdDrawMeshTasksIndirectNV                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0;
+virtual void                           cmdDrawMeshTasksIndirectCountNV                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0;
+virtual void                           cmdSetExclusiveScissorNV                                                                (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const = 0;
+virtual void                           cmdSetCheckpointNV                                                                              (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const = 0;
+virtual void                           getQueueCheckpointDataNV                                                                (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const = 0;
+virtual VkResult                       initializePerformanceApiINTEL                                                   (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const = 0;
+virtual void                           uninitializePerformanceApiINTEL                                                 (VkDevice device) const = 0;
+virtual VkResult                       cmdSetPerformanceMarkerINTEL                                                    (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const = 0;
+virtual VkResult                       cmdSetPerformanceStreamMarkerINTEL                                              (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const = 0;
+virtual VkResult                       cmdSetPerformanceOverrideINTEL                                                  (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const = 0;
+virtual VkResult                       acquirePerformanceConfigurationINTEL                                    (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const = 0;
+virtual VkResult                       releasePerformanceConfigurationINTEL                                    (VkDevice device, VkPerformanceConfigurationINTEL configuration) const = 0;
+virtual VkResult                       queueSetPerformanceConfigurationINTEL                                   (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const = 0;
+virtual VkResult                       getPerformanceParameterINTEL                                                    (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const = 0;
+virtual void                           setLocalDimmingAMD                                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const = 0;
+virtual VkDeviceAddress                getBufferDeviceAddressEXT                                                               (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0;
+virtual void                           cmdSetLineStippleEXT                                                                    (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const = 0;
+virtual void                           getGeneratedCommandsMemoryRequirementsNV                                (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0;
+virtual void                           cmdPreprocessGeneratedCommandsNV                                                (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0;
+virtual void                           cmdExecuteGeneratedCommandsNV                                                   (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0;
+virtual void                           cmdBindPipelineShaderGroupNV                                                    (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const = 0;
+virtual VkResult                       createIndirectCommandsLayoutNV                                                  (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const = 0;
+virtual void                           destroyIndirectCommandsLayoutNV                                                 (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getDescriptorSetLayoutSizeEXT                                                   (VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes) const = 0;
+virtual VkResult                       getDescriptorSetLayoutBindingOffsetEXT                                  (VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset) const = 0;
+virtual VkResult                       getDescriptorEXT                                                                                (VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, void* pDescriptor) const = 0;
+virtual void                           cmdBindDescriptorBuffersEXT                                                             (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, uint32_t firstBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos) const = 0;
+virtual void                           cmdSetDescriptorBufferOffsetsEXT                                                (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets) const = 0;
+virtual void                           cmdBindDescriptorBufferEmbeddedSamplersEXT                              (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set) const = 0;
+virtual VkResult                       getBufferOpaqueCaptureDescriptorDataEXT                                 (VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
+virtual VkResult                       getImageOpaqueCaptureDescriptorDataEXT                                  (VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
+virtual VkResult                       getImageViewOpaqueCaptureDescriptorDataEXT                              (VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
+virtual VkResult                       getSamplerOpaqueCaptureDescriptorDataEXT                                (VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
+virtual VkResult                       getAccelerationStructureOpaqueCaptureDescriptorDataEXT  (VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData) const = 0;
+virtual void                           cmdSetFragmentShadingRateEnumNV                                                 (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0;
+virtual void                           getImageSubresourceLayout2EXT                                                   (VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout) const = 0;
+virtual void                           cmdSetVertexInputEXT                                                                    (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const = 0;
+virtual VkResult                       getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI                   (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const = 0;
+virtual void                           cmdSubpassShadingHUAWEI                                                                 (VkCommandBuffer commandBuffer) const = 0;
+virtual void                           cmdBindInvocationMaskHUAWEI                                                             (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
+virtual VkResult                       getMemoryRemoteAddressNV                                                                (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const = 0;
+virtual VkResult                       getPipelinePropertiesEXT                                                                (VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties) const = 0;
+virtual void                           cmdSetPatchControlPointsEXT                                                             (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const = 0;
+virtual void                           cmdSetLogicOpEXT                                                                                (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0;
+virtual void                           cmdSetColorWriteEnableEXT                                                               (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const = 0;
+virtual void                           cmdDrawMultiEXT                                                                                 (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const = 0;
+virtual void                           cmdDrawMultiIndexedEXT                                                                  (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const = 0;
+virtual void                           setDeviceMemoryPriorityEXT                                                              (VkDevice device, VkDeviceMemory memory, float priority) 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                       createAccelerationStructureKHR                                                  (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0;
+virtual void                           destroyAccelerationStructureKHR                                                 (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           cmdBuildAccelerationStructuresKHR                                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
+virtual void                           cmdBuildAccelerationStructuresIndirectKHR                               (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const = 0;
+virtual VkResult                       buildAccelerationStructuresKHR                                                  (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0;
+virtual VkResult                       copyAccelerationStructureKHR                                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0;
+virtual VkResult                       copyAccelerationStructureToMemoryKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0;
+virtual VkResult                       copyMemoryToAccelerationStructureKHR                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0;
+virtual VkResult                       writeAccelerationStructuresPropertiesKHR                                (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const = 0;
+virtual void                           cmdCopyAccelerationStructureKHR                                                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0;
+virtual void                           cmdCopyAccelerationStructureToMemoryKHR                                 (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0;
+virtual void                           cmdCopyMemoryToAccelerationStructureKHR                                 (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0;
+virtual VkDeviceAddress                getAccelerationStructureDeviceAddressKHR                                (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const = 0;
+virtual void                           cmdWriteAccelerationStructuresPropertiesKHR                             (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0;
+virtual void                           getDeviceAccelerationStructureCompatibilityKHR                  (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const = 0;
+virtual void                           getAccelerationStructureBuildSizesKHR                                   (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const = 0;
+virtual void                           cmdTraceRaysKHR                                                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const = 0;
+virtual VkResult                       createRayTracingPipelinesKHR                                                    (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
+virtual VkResult                       getRayTracingCaptureReplayShaderGroupHandlesKHR                 (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0;
+virtual void                           cmdTraceRaysIndirectKHR                                                                 (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const = 0;
+virtual VkDeviceSize           getRayTracingShaderGroupStackSizeKHR                                    (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const = 0;
+virtual void                           cmdSetRayTracingPipelineStackSizeKHR                                    (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const = 0;
+virtual VkResult                       getAndroidHardwareBufferPropertiesANDROID                               (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0;
+virtual VkResult                       getMemoryAndroidHardwareBufferANDROID                                   (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0;
+virtual VkResult                       createVideoSessionKHR                                                                   (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const = 0;
+virtual void                           destroyVideoSessionKHR                                                                  (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getVideoSessionMemoryRequirementsKHR                                    (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const = 0;
+virtual VkResult                       bindVideoSessionMemoryKHR                                                               (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const = 0;
+virtual VkResult                       createVideoSessionParametersKHR                                                 (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const = 0;
+virtual VkResult                       updateVideoSessionParametersKHR                                                 (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const = 0;
+virtual void                           destroyVideoSessionParametersKHR                                                (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual void                           cmdBeginVideoCodingKHR                                                                  (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const = 0;
+virtual void                           cmdEndVideoCodingKHR                                                                    (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const = 0;
+virtual void                           cmdControlVideoCodingKHR                                                                (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const = 0;
+virtual void                           cmdDecodeVideoKHR                                                                               (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const = 0;
+virtual void                           cmdEncodeVideoKHR                                                                               (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const = 0;
+virtual VkResult                       getMemoryZirconHandleFUCHSIA                                                    (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0;
+virtual VkResult                       getMemoryZirconHandlePropertiesFUCHSIA                                  (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const = 0;
+virtual VkResult                       importSemaphoreZirconHandleFUCHSIA                                              (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const = 0;
+virtual VkResult                       getSemaphoreZirconHandleFUCHSIA                                                 (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0;
+virtual VkResult                       createBufferCollectionFUCHSIA                                                   (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const = 0;
+virtual VkResult                       setBufferCollectionImageConstraintsFUCHSIA                              (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const = 0;
+virtual VkResult                       setBufferCollectionBufferConstraintsFUCHSIA                             (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const = 0;
+virtual void                           destroyBufferCollectionFUCHSIA                                                  (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const = 0;
+virtual VkResult                       getBufferCollectionPropertiesFUCHSIA                                    (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const = 0;
+virtual VkResult                       getMemoryWin32HandleKHR                                                                 (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
+virtual VkResult                       getMemoryWin32HandlePropertiesKHR                                               (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0;
+virtual VkResult                       importSemaphoreWin32HandleKHR                                                   (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0;
+virtual VkResult                       getSemaphoreWin32HandleKHR                                                              (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
+virtual VkResult                       importFenceWin32HandleKHR                                                               (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0;
+virtual VkResult                       getFenceWin32HandleKHR                                                                  (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0;
+virtual VkResult                       getMemoryWin32HandleNV                                                                  (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0;
+virtual VkResult                       acquireFullScreenExclusiveModeEXT                                               (VkDevice device, VkSwapchainKHR swapchain) const = 0;
+virtual VkResult                       releaseFullScreenExclusiveModeEXT                                               (VkDevice device, VkSwapchainKHR swapchain) const = 0;
+virtual VkResult                       getDeviceGroupSurfacePresentModes2EXT                                   (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0;
index 81bb195..f965ad1 100644 (file)
@@ -505,7 +505,6 @@ 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_SPS_MAX_SUB_LAYERS 8
 #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
@@ -728,7 +727,6 @@ typedef struct StdVideoH265SequenceParameterSet {
     deUint8                                       bit_depth_luma_minus8;
     deUint8                                       bit_depth_chroma_minus8;
     deUint8                                       log2_max_pic_order_cnt_lsb_minus4;
-    deUint8                                       sps_max_dec_pic_buffering_minus1[STD_VIDEO_H265_SPS_MAX_SUB_LAYERS];
     deUint8                                       log2_min_luma_coding_block_size_minus3;
     deUint8                                       log2_diff_max_min_luma_coding_block_size;
     deUint8                                       log2_min_luma_transform_block_size_minus2;
@@ -956,10 +954,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_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6) // Patch version should always be set to 0
+#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 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_6
+#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_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
 typedef struct StdVideoDecodeH265PictureInfoFlags {
     deUint32    IrapPicFlag : 1;
@@ -1073,7 +1071,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 211
+#define VK_HEADER_VERSION 215
 
 // Complete version of this file
 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -1121,7 +1119,6 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
-#define VK_UUID_SIZE                      16U
 #define VK_ATTACHMENT_UNUSED              (~0U)
 #define VK_FALSE                          0U
 #define VK_LOD_CLAMP_NONE                 1000.0F
@@ -1132,10 +1129,11 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
 #define VK_TRUE                           1U
 #define VK_WHOLE_SIZE                     (~0ULL)
 #define VK_MAX_MEMORY_TYPES               32U
-#define VK_MAX_MEMORY_HEAPS               16U
 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE  256U
+#define VK_UUID_SIZE                      16U
 #define VK_MAX_EXTENSION_NAME_SIZE        256U
 #define VK_MAX_DESCRIPTION_SIZE           256U
+#define VK_MAX_MEMORY_HEAPS               16U
 
 typedef enum VkResult {
     VK_SUCCESS = 0,
@@ -1176,6 +1174,7 @@ typedef enum VkResult {
     VK_THREAD_DONE_KHR = 1000268001,
     VK_OPERATION_DEFERRED_KHR = 1000268002,
     VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
+    VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
     VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
     VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
@@ -1768,7 +1767,6 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
-    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
     VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
@@ -1874,9 +1872,24 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
     VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
     VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
+    VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
+    VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004,
+    VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
+    VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
+    VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
+    VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008,
+    VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009,
+    VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
+    VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
     VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
@@ -1889,6 +1902,11 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
     VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
+    VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
+    VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
+    VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
+    VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
@@ -1923,11 +1941,14 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
     VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
+    VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
     VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
     VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
     VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
@@ -1943,6 +1964,11 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
     VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
+    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_INFO_EXT = 1000458002,
+    VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT = 1000458003,
     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,
@@ -2048,6 +2074,7 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
     VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
@@ -2105,6 +2132,7 @@ 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_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,
     VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
@@ -2114,6 +2142,11 @@ typedef enum VkStructureType {
     VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkStructureType;
 
+typedef enum VkPipelineCacheHeaderVersion {
+    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
+    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
+} VkPipelineCacheHeaderVersion;
+
 typedef enum VkImageLayout {
     VK_IMAGE_LAYOUT_UNDEFINED = 0,
     VK_IMAGE_LAYOUT_GENERAL = 1,
@@ -2223,11 +2256,6 @@ typedef enum VkObjectType {
     VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
 } VkObjectType;
 
-typedef enum VkPipelineCacheHeaderVersion {
-    VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
-    VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
-} VkPipelineCacheHeaderVersion;
-
 typedef enum VkVendorId {
     VK_VENDOR_ID_VIV = 0x10001,
     VK_VENDOR_ID_VSI = 0x10002,
@@ -2597,6 +2625,8 @@ typedef enum VkQueryType {
     VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
 #endif
     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_MAX_ENUM = 0x7FFFFFFF
 } VkQueryType;
 
@@ -3075,6 +3105,7 @@ typedef enum VkImageCreateFlagBits {
     VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
     VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
     VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+    VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000,
     VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
     VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
@@ -3285,6 +3316,7 @@ typedef enum VkBufferCreateFlagBits {
     VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
     VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
+    VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
     VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
     VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -3320,6 +3352,9 @@ typedef enum VkBufferUsageFlagBits {
 #ifdef VK_ENABLE_BETA_EXTENSIONS
     VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
 #endif
+    VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000,
+    VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000,
+    VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x02000000,
     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,
@@ -3330,6 +3365,7 @@ typedef VkFlags VkBufferViewCreateFlags;
 
 typedef enum VkImageViewCreateFlagBits {
     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
+    VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
     VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
     VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkImageViewCreateFlagBits;
@@ -3463,6 +3499,7 @@ typedef VkFlags VkShaderStageFlags;
 typedef enum VkSamplerCreateFlagBits {
     VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
     VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
+    VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
     VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
 } VkSamplerCreateFlagBits;
 typedef VkFlags VkSamplerCreateFlags;
@@ -3480,6 +3517,8 @@ 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_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010,
+    VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
     VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 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_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -7357,6 +7396,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0
 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
 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;
 
 typedef VkFlags64 VkAccessFlags2;
 
@@ -7430,7 +7470,9 @@ static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV =
 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL;
 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;
 
 
 typedef enum VkSubmitFlagBits {
@@ -10383,6 +10425,23 @@ VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
 #endif
 
 
+#define VK_KHR_fragment_shader_barycentric 1
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
+#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
+typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           fragmentShaderBarycentric;
+} VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
+
+typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           triStripVertexOrderIndependentOfProvokingVertex;
+} VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
+
+
+
 #define VK_KHR_shader_subgroup_uniform_control_flow 1
 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
@@ -10485,6 +10544,42 @@ typedef VkFormatProperties3 VkFormatProperties3KHR;
 
 
 
+#define VK_KHR_ray_tracing_maintenance1 1
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
+#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
+typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           rayTracingMaintenance1;
+    VkBool32           rayTracingPipelineTraceRaysIndirect2;
+} VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
+
+typedef struct VkTraceRaysIndirectCommand2KHR {
+    VkDeviceAddress    raygenShaderRecordAddress;
+    VkDeviceSize       raygenShaderRecordSize;
+    VkDeviceAddress    missShaderBindingTableAddress;
+    VkDeviceSize       missShaderBindingTableSize;
+    VkDeviceSize       missShaderBindingTableStride;
+    VkDeviceAddress    hitShaderBindingTableAddress;
+    VkDeviceSize       hitShaderBindingTableSize;
+    VkDeviceSize       hitShaderBindingTableStride;
+    VkDeviceAddress    callableShaderBindingTableAddress;
+    VkDeviceSize       callableShaderBindingTableSize;
+    VkDeviceSize       callableShaderBindingTableStride;
+    deUint32           width;
+    deUint32           height;
+    deUint32           depth;
+} VkTraceRaysIndirectCommand2KHR;
+
+typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
+    VkCommandBuffer                             commandBuffer,
+    VkDeviceAddress                             indirectDeviceAddress);
+#endif
+
+
 #define VK_KHR_portability_enumeration 1
 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
@@ -12905,11 +13000,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
 #define VK_NV_fragment_shader_barycentric 1
 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
-typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
-    VkStructureType    sType;
-    void*              pNext;
-    VkBool32           fragmentShaderBarycentric;
-} VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
+typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
 
 
 
@@ -14196,13 +14287,14 @@ typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePip
 
 
 #define VK_NV_device_diagnostics_config 1
-#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
+#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
 
 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
     VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
     VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
     VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
+    VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
     VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
 } VkDeviceDiagnosticsConfigFlagBitsNV;
 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
@@ -14225,6 +14317,213 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
 
 
+#define VK_EXT_descriptor_buffer 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
+#define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1
+#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
+typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           splitCombinedImageSamplers;
+    VkBool32           pushDescriptorsRequireBuffer;
+    VkDeviceSize       descriptorBufferOffsetAlignment;
+    deUint32           maxDescriptorBufferBindings;
+    deUint32           maxResourceDescriptorBufferBindings;
+    deUint32           maxSamplerDescriptorBufferBindings;
+    deUint32           maxEmbeddedImmutableSamplerBindings;
+    deUint32           maxEmbeddedImmutableSamplers;
+    deUintptr             bufferCaptureReplayDescriptorDataSize;
+    deUintptr             imageCaptureReplayDescriptorDataSize;
+    deUintptr             imageViewCaptureReplayDescriptorDataSize;
+    deUintptr             samplerCaptureReplayDescriptorDataSize;
+    deUintptr             accelerationStructureCaptureReplayDescriptorDataSize;
+    deUintptr             samplerDescriptorSize;
+    deUintptr             combinedImageSamplerDescriptorSize;
+    deUintptr             sampledImageDescriptorSize;
+    deUintptr             storageImageDescriptorSize;
+    deUintptr             uniformTexelBufferDescriptorSize;
+    deUintptr             robustUniformTexelBufferDescriptorSize;
+    deUintptr             storageTexelBufferDescriptorSize;
+    deUintptr             robustStorageTexelBufferDescriptorSize;
+    deUintptr             uniformBufferDescriptorSize;
+    deUintptr             robustUniformBufferDescriptorSize;
+    deUintptr             storageBufferDescriptorSize;
+    deUintptr             robustStorageBufferDescriptorSize;
+    deUintptr             inputAttachmentDescriptorSize;
+    deUintptr             accelerationStructureDescriptorSize;
+    deUintptr             maxSamplerDescriptorBufferRange;
+    deUintptr             maxResourceDescriptorBufferRange;
+    deUintptr             resourceDescriptorBufferAddressSpaceSize;
+    deUintptr             samplerDescriptorBufferAddressSpaceSize;
+    deUintptr             descriptorBufferAddressSpaceSize;
+} VkPhysicalDeviceDescriptorBufferPropertiesEXT;
+
+typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUintptr             combinedImageSamplerDensityMapDescriptorSize;
+} VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+
+typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           descriptorBuffer;
+    VkBool32           descriptorBufferCaptureReplay;
+    VkBool32           descriptorBufferImageLayoutIgnored;
+    VkBool32           descriptorBufferPushDescriptors;
+} VkPhysicalDeviceDescriptorBufferFeaturesEXT;
+
+typedef struct VkDescriptorAddressInfoEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkDeviceAddress    address;
+    VkDeviceSize       range;
+    VkFormat           format;
+} VkDescriptorAddressInfoEXT;
+
+typedef struct VkDescriptorBufferBindingInfoEXT {
+    VkStructureType       sType;
+    void*                 pNext;
+    VkDeviceAddress       address;
+    VkBufferUsageFlags    usage;
+} VkDescriptorBufferBindingInfoEXT;
+
+typedef union VkDescriptorDataEXT {
+    const VkSampler*                     pSampler;
+    const VkDescriptorImageInfo*         pCombinedImageSampler;
+    const VkDescriptorImageInfo*         pInputAttachmentImage;
+    const VkDescriptorImageInfo*         pSampledImage;
+    const VkDescriptorImageInfo*         pStorageImage;
+    const VkDescriptorAddressInfoEXT*    pUniformTexelBuffer;
+    const VkDescriptorAddressInfoEXT*    pStorageTexelBuffer;
+    const VkDescriptorAddressInfoEXT*    pUniformBuffer;
+    const VkDescriptorAddressInfoEXT*    pStorageBuffer;
+    const VkAccelerationStructureKHR*    pAccelerationStructure;
+    const VkAccelerationStructureNV*     pAccelerationStructureNV;
+} VkDescriptorDataEXT;
+
+typedef struct VkDescriptorGetInfoEXT {
+    VkStructureType        sType;
+    const void*            pNext;
+    VkDescriptorType       type;
+    VkDescriptorDataEXT    data;
+} VkDescriptorGetInfoEXT;
+
+typedef struct VkBufferCaptureDescriptorDataInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkBuffer           buffer;
+} VkBufferCaptureDescriptorDataInfoEXT;
+
+typedef struct VkImageCaptureDescriptorDataInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkImage            image;
+} VkImageCaptureDescriptorDataInfoEXT;
+
+typedef struct VkImageViewCaptureDescriptorDataInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkImageView        imageView;
+} VkImageViewCaptureDescriptorDataInfoEXT;
+
+typedef struct VkSamplerCaptureDescriptorDataInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkSampler          sampler;
+} VkSamplerCaptureDescriptorDataInfoEXT;
+
+typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
+    VkStructureType               sType;
+    const void*                   pNext;
+    VkAccelerationStructureKHR    accelerationStructure;
+    VkAccelerationStructureNV     accelerationStructureNV;
+} VkAccelerationStructureCaptureDescriptorDataInfoEXT;
+
+typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    const void*        opaqueCaptureDescriptorData;
+} VkOpaqueCaptureDescriptorDataCreateInfoEXT;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes);
+typedef VkResult (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, deUint32 binding, VkDeviceSize* pOffset);
+typedef VkResult (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, void* pDescriptor);
+typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, deUint32 firstBuffer, deUint32 bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
+typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 setCount, const deUint32* pBufferIndices, const VkDeviceSize* pOffsets);
+typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set);
+typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT(
+    VkDevice                                    device,
+    VkDescriptorSetLayout                       layout,
+    VkDeviceSize*                               pLayoutSizeInBytes);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT(
+    VkDevice                                    device,
+    VkDescriptorSetLayout                       layout,
+    deUint32                                    binding,
+    VkDeviceSize*                               pOffset);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetDescriptorEXT(
+    VkDevice                                    device,
+    const VkDescriptorGetInfoEXT*               pDescriptorInfo,
+    void*                                       pDescriptor);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkPipelineBindPoint                         pipelineBindPoint,
+    deUint32                                    firstBuffer,
+    deUint32                                    bufferCount,
+    const VkDescriptorBufferBindingInfoEXT*     pBindingInfos);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkPipelineBindPoint                         pipelineBindPoint,
+    VkPipelineLayout                            layout,
+    deUint32                                    firstSet,
+    deUint32                                    setCount,
+    const deUint32*                             pBufferIndices,
+    const VkDeviceSize*                         pOffsets);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
+    VkCommandBuffer                             commandBuffer,
+    VkPipelineBindPoint                         pipelineBindPoint,
+    VkPipelineLayout                            layout,
+    deUint32                                    set);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT(
+    VkDevice                                    device,
+    const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
+    void*                                       pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT(
+    VkDevice                                    device,
+    const VkImageCaptureDescriptorDataInfoEXT*  pInfo,
+    void*                                       pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT(
+    VkDevice                                    device,
+    const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
+    void*                                       pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT(
+    VkDevice                                    device,
+    const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
+    void*                                       pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+    VkDevice                                    device,
+    const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
+    void*                                       pData);
+#endif
+
+
 #define VK_EXT_graphics_pipeline_library 1
 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
@@ -14258,6 +14557,17 @@ typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
 
 
 
+#define VK_AMD_shader_early_and_late_fragment_tests 1
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
+#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
+typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           shaderEarlyAndLateFragmentTests;
+} VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
+
+
+
 #define VK_NV_fragment_shading_rate_enums 1
 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
@@ -14454,6 +14764,92 @@ typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessF
 
 
 
+#define VK_EXT_image_compression_control 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
+#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
+
+typedef enum VkImageCompressionFlagBitsEXT {
+    VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
+    VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
+    VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkImageCompressionFlagBitsEXT;
+typedef VkFlags VkImageCompressionFlagsEXT;
+
+typedef enum VkImageCompressionFixedRateFlagBitsEXT {
+    VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
+    VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkImageCompressionFixedRateFlagBitsEXT;
+typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
+typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           imageCompressionControl;
+} VkPhysicalDeviceImageCompressionControlFeaturesEXT;
+
+typedef struct VkImageCompressionControlEXT {
+    VkStructureType                         sType;
+    const void*                             pNext;
+    VkImageCompressionFlagsEXT              flags;
+    deUint32                                compressionControlPlaneCount;
+    VkImageCompressionFixedRateFlagsEXT*    pFixedRateFlags;
+} VkImageCompressionControlEXT;
+
+typedef struct VkSubresourceLayout2EXT {
+    VkStructureType        sType;
+    void*                  pNext;
+    VkSubresourceLayout    subresourceLayout;
+} VkSubresourceLayout2EXT;
+
+typedef struct VkImageSubresource2EXT {
+    VkStructureType       sType;
+    void*                 pNext;
+    VkImageSubresource    imageSubresource;
+} VkImageSubresource2EXT;
+
+typedef struct VkImageCompressionPropertiesEXT {
+    VkStructureType                        sType;
+    void*                                  pNext;
+    VkImageCompressionFlagsEXT             imageCompressionFlags;
+    VkImageCompressionFixedRateFlagsEXT    imageCompressionFixedRateFlags;
+} VkImageCompressionPropertiesEXT;
+
+typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
+    VkDevice                                    device,
+    VkImage                                     image,
+    const VkImageSubresource2EXT*               pSubresource,
+    VkSubresourceLayout2EXT*                    pLayout);
+#endif
+
+
 #define VK_EXT_4444_formats 1
 #define VK_EXT_4444_FORMATS_SPEC_VERSION  1
 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
@@ -14697,6 +15093,33 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
 #endif
 
 
+#define VK_EXT_pipeline_properties 1
+#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
+#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
+typedef VkPipelineInfoKHR VkPipelineInfoEXT;
+
+typedef struct VkPipelinePropertiesIdentifierEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    deUint8            pipelineIdentifier[VK_UUID_SIZE];
+} VkPipelinePropertiesIdentifierEXT;
+
+typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           pipelinePropertiesIdentifier;
+} VkPhysicalDevicePipelinePropertiesFeaturesEXT;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
+    VkDevice                                    device,
+    const VkPipelineInfoEXT*                    pPipelineInfo,
+    VkBaseOutStructure*                         pPipelineProperties);
+#endif
+
+
 #define VK_EXT_extended_dynamic_state2 1
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
@@ -14986,8 +15409,67 @@ typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
 
 
+#define VK_EXT_image_compression_control_swapchain 1
+#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"
+typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           imageCompressionControlSwapchain;
+} VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
+
+
+
+#define VK_EXT_subpass_merge_feedback 1
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
+#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
+
+typedef enum VkSubpassMergeStatusEXT {
+    VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
+    VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
+    VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
+    VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
+} VkSubpassMergeStatusEXT;
+typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
+    VkStructureType    sType;
+    void*              pNext;
+    VkBool32           subpassMergeFeedback;
+} VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
+
+typedef struct VkRenderPassCreationControlEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    VkBool32           disallowMerging;
+} VkRenderPassCreationControlEXT;
+
+typedef struct VkRenderPassCreationFeedbackInfoEXT {
+    VkStructureType    sType;
+    const void*        pNext;
+    deUint32           postMergeSubpassCount;
+} VkRenderPassCreationFeedbackInfoEXT;
+
+typedef struct VkRenderPassSubpassFeedbackInfoEXT {
+    VkStructureType            sType;
+    const void*                pNext;
+    VkSubpassMergeStatusEXT    subpassMergeStatus;
+    char                       description[VK_MAX_DESCRIPTION_SIZE];
+    deUint32                   postMergeIndex;
+} VkRenderPassSubpassFeedbackInfoEXT;
+
+
+
 #define VK_KHR_acceleration_structure 1
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
 
@@ -15012,6 +15494,7 @@ typedef enum VkAccelerationStructureCompatibilityKHR {
 
 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
     VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
+    VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
     VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
     VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 } VkAccelerationStructureCreateFlagBitsKHR;