Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
authorAlexander Galazin <alexander.galazin@arm.com>
Mon, 17 Jun 2019 07:22:28 +0000 (09:22 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Mon, 17 Jun 2019 11:03:07 +0000 (13:03 +0200)
Change-Id: I029ef30783c23950cc996aad4317c1ab38e4ec9d

35 files changed:
1  2 
AndroidGen.mk
android/cts/master/vk-master.txt
external/vulkancts/framework/vulkan/vkBasicTypes.inl
external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl
external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl
external/vulkancts/framework/vulkan/vkDefs.hpp
external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl
external/vulkancts/framework/vulkan/vkDeviceFeatures.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl
external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkExtensionFunctions.inl
external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl
external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl
external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl
external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl
external/vulkancts/framework/vulkan/vkNullDriverImpl.inl
external/vulkancts/framework/vulkan/vkStrUtil.inl
external/vulkancts/framework/vulkan/vkStrUtilImpl.inl
external/vulkancts/framework/vulkan/vkStructTypes.inl
external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl
external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl
external/vulkancts/framework/vulkan/vkVulkan_c.inl
external/vulkancts/modules/vulkan/amber/vktAmberTestCase.cpp
external/vulkancts/modules/vulkan/amber/vktAmberTestCase.hpp
external/vulkancts/modules/vulkan/amber/vktAmberTestCaseUtil.hpp
external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp
external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSpirvVersion1p4Tests.cpp
external/vulkancts/mustpass/master/vk-default-no-waivers.txt
external/vulkancts/mustpass/master/vk-default.txt
external/vulkancts/scripts/src/vulkan_core.h

diff --cc AndroidGen.mk
Simple merge
@@@ -100,291 -108,412 +108,423 @@@ enum VkResul
  
  enum VkStructureType
  {
-       VK_STRUCTURE_TYPE_APPLICATION_INFO                                                                                              = 0,
-       VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                                                                  = 1,
-       VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                                                              = 2,
-       VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                                                                    = 3,
-       VK_STRUCTURE_TYPE_SUBMIT_INFO                                                                                                   = 4,
-       VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                                                                  = 5,
-       VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                                                                   = 6,
-       VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                                                                              = 7,
-       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                                                             = 8,
-       VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                                                                 = 9,
-       VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                                                                             = 10,
-       VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                                                                = 11,
-       VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                                                                    = 12,
-       VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                                                               = 13,
-       VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                                                             = 14,
-       VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                                                                = 15,
-       VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                                                             = 16,
-       VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                                                    = 17,
-       VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                                             = 18,
-       VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                                               = 19,
-       VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                                             = 20,
-       VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                                               = 21,
-       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                                                   = 22,
-       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                                              = 23,
-       VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                                                = 24,
-       VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                                              = 25,
-       VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                                                = 26,
-       VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                                                    = 27,
-       VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                                                 = 28,
-       VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                                                  = 29,
-       VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                                                   = 30,
-       VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                                                                   = 31,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                                             = 32,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                                                   = 33,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                                                  = 34,
-       VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                                                                  = 35,
-       VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                                                                   = 36,
-       VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                                                               = 37,
-       VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                                                               = 38,
-       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                                                              = 39,
-       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                                                  = 40,
-       VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                                                               = 41,
-       VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                                                             = 42,
-       VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                                                                = 43,
-       VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                                                                 = 44,
-       VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                                                                  = 45,
-       VK_STRUCTURE_TYPE_MEMORY_BARRIER                                                                                                = 46,
-       VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                                                   = 47,
-       VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                                                             = 48,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                                                   = 1000094000,
-       VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                                                               = 1000157000,
-       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                                                                = 1000157001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                                                = 1000083000,
-       VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                                                 = 1000127000,
-       VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                                                = 1000127001,
-       VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                                                    = 1000060000,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                                                   = 1000060003,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                                                = 1000060004,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                                                              = 1000060005,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                                                 = 1000060006,
-       VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                                                  = 1000060013,
-       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                                                   = 1000060014,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                                                              = 1000070000,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                                                               = 1000070001,
-       VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                                                             = 1000146000,
-       VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                                                              = 1000146001,
-       VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                                               = 1000146002,
-       VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                                                                 = 1000146003,
-       VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                                    = 1000146004,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                                                    = 1000059000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                                                  = 1000059001,
-       VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                                                                   = 1000059002,
-       VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                                                             = 1000059003,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                                                   = 1000059004,
-       VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                                                             = 1000059005,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                                                   = 1000059006,
-       VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                                                              = 1000059007,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                                    = 1000059008,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                                             = 1000117000,
-       VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                               = 1000117001,
-       VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                                                  = 1000117002,
-       VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO                 = 1000117003,
-       VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                                                             = 1000053000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                                    = 1000053001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                                                  = 1000053002,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES                                    = 1000120000,
-       VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                                                                 = 1000145000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                                             = 1000145001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                                   = 1000145002,
-       VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                                                                   = 1000145003,
-       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                                                  = 1000156000,
-       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                                                 = 1000156001,
-       VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                                                  = 1000156002,
-       VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                                                  = 1000156003,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                             = 1000156004,
-       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                              = 1000156005,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                                                = 1000085000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                                    = 1000071000,
-       VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                                                              = 1000071001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                                                  = 1000071002,
-       VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                                                    = 1000071003,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                                                 = 1000071004,
-       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                                    = 1000072000,
-       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                                             = 1000072001,
-       VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                                                   = 1000072002,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                                                   = 1000112000,
-       VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                                                             = 1000112001,
-       VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                                                              = 1000113000,
-       VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                                                  = 1000077000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                                               = 1000076000,
-       VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                                                 = 1000076001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                                              = 1000168000,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                                                 = 1000168001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES                               = 1000063000,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                                                 = 1000060007,
-       VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                                                             = 1000001000,
-       VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                                                              = 1000001001,
-       VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                                               = 1000060008,
-       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                                                  = 1000060009,
-       VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                                                   = 1000060010,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                                                 = 1000060011,
-       VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                                                = 1000060012,
-       VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                                                  = 1000002000,
-       VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                                                               = 1000002001,
-       VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                                                              = 1000003000,
-       VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                                                  = 1000004000,
-       VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                                                   = 1000005000,
-       VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                                                               = 1000006000,
-       VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR                                                                   = 1000007000,
-       VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                                                               = 1000008000,
-       VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                                                 = 1000009000,
-       VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                                                 = 1000011000,
-       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD                  = 1000018000,
-       VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                                             = 1000022000,
-       VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                                              = 1000022001,
-       VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                                                  = 1000022002,
-       VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                                             = 1000026000,
-       VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                                    = 1000026001,
-       VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                                  = 1000026002,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                               = 1000028000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                             = 1000028001,
-       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                   = 1000028002,
-       VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                                              = 1000041000,
-       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                                                  = 1000056000,
-       VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                                                = 1000056001,
-       VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                                    = 1000057000,
-       VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                                    = 1000057001,
-       VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                                             = 1000058000,
-       VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                                                                  = 1000061000,
-       VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                                                             = 1000062000,
-       VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                                   = 1000073000,
-       VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                                   = 1000073001,
-       VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                                    = 1000073002,
-       VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                                              = 1000073003,
-       VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                                                             = 1000074000,
-       VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                                                              = 1000074001,
-       VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                                                                = 1000074002,
-       VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                                    = 1000075000,
-       VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                                                = 1000078000,
-       VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                                                = 1000078001,
-       VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                                                   = 1000078002,
-       VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                                                   = 1000078003,
-       VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                                                  = 1000079000,
-       VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                                                             = 1000079001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                                = 1000080000,
-       VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT             = 1000081000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                    = 1000081001,
-       VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                                                  = 1000081002,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                                             = 1000082000,
-       VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                                                                   = 1000084000,
-       VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                                                  = 1000086000,
-       VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                                              = 1000086001,
-       VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                                                 = 1000086002,
-       VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                                               = 1000086003,
-       VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                                                  = 1000086004,
-       VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                                                = 1000086005,
-       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                              = 1000087000,
-       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                                                    = 1000090000,
-       VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                                                                = 1000091000,
-       VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                                                                 = 1000091001,
-       VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                                                                = 1000091002,
-       VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                                             = 1000091003,
-       VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                                                             = 1000092000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX  = 1000097000,
-       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                                = 1000098000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                              = 1000099000,
-       VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                              = 1000099001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                                = 1000102000,
-       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT               = 1000102001,
-       VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                                                                              = 1000105000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR                    = 1000108000,
-       VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR                                               = 1000108001,
-       VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR                                                 = 1000108002,
-       VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR                                                 = 1000108003,
-       VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                                                  = 1000109000,
-       VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                                                    = 1000109001,
-       VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                                                             = 1000109002,
-       VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                                                              = 1000109003,
-       VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                                                 = 1000109004,
-       VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                                                                = 1000109005,
-       VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                                                                  = 1000109006,
-       VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                                               = 1000111000,
-       VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                                    = 1000114000,
-       VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                                    = 1000114001,
-       VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                                                               = 1000114002,
-       VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                                                              = 1000115000,
-       VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                                                                 = 1000115001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTER_FEATURES_KHR                              = 1000116000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTER_PROPERTIES_KHR                    = 1000116001,
-       VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_CREATE_INFO_KHR                                                             = 1000116002,
-       VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR                                                             = 1000116003,
-       VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR                                                               = 1000116004,
-       VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR                                                                               = 1000116005,
-       VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR                                                   = 1000116006,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                                    = 1000119000,
-       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                                                    = 1000119001,
-       VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                                                                  = 1000119002,
-       VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                                                              = 1000121000,
-       VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                                                                = 1000121001,
-       VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                                                 = 1000121002,
-       VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                                                              = 1000121003,
-       VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                                                              = 1000121004,
-       VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                                                   = 1000122000,
-       VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                                                 = 1000123000,
-       VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                                                 = 1000129000,
-       VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                                    = 1000129001,
-       VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                             = 1000129002,
-       VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                                   = 1000129003,
-       VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                               = 1000129004,
-       VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                                                               = 1000129005,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT                  = 1000130000,
-       VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                                                = 1000130001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                             = 1000138000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT                   = 1000138001,
-       VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                                 = 1000138002,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT                  = 1000138003,
-       VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                                                             = 1000143000,
-       VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                                   = 1000143001,
-       VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                               = 1000143002,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                               = 1000143003,
-       VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                                                    = 1000143004,
-       VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                                             = 1000147000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT                 = 1000148000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT               = 1000148001,
-       VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT                   = 1000148002,
-       VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                               = 1000149000,
-       VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                             = 1000152000,
-       VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                                                              = 1000160000,
-       VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                                = 1000160001,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT                   = 1000161000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                              = 1000161001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                    = 1000161002,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT    = 1000161003,
-       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT   = 1000161004,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                                             = 1000177000,
-       VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                                                   = 1000178000,
-       VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                                                    = 1000178001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT                   = 1000178002,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                              = 1000180000,
-       VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                                                 = 1000184000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT               = 1000190000,
-       VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                   = 1000190001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT                 = 1000190002,
-       VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                                    = 1000192000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                                                 = 1000196000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                                 = 1000197000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR                  = 1000199000,
-       VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                                 = 1000199001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                              = 1000211000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                                   = 1000212000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                              = 1000221000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                                  = 1000237000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                                  = 1000238000,
-       VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                                             = 1000238001,
-       VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR                                                    = 1000239000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT                    = 1000244000,
-       VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT                                                                = 1000244001,
-       VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                                                 = 1000244002,
-       VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                                                   = 1000246000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR   = 1000253000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                                = 1000249000,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                              = 1000249002,
-       VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV                                                              = 1000249001,
-       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                                 = 1000261000,
-       VK_STRUCTURE_TYPE_MAX_ENUM                                                                                                              = 0x7FFFFFFF,
+       VK_STRUCTURE_TYPE_APPLICATION_INFO                                                                                                      = 0,
+       VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO                                                                                          = 1,
+       VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO                                                                                      = 2,
+       VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO                                                                                            = 3,
+       VK_STRUCTURE_TYPE_SUBMIT_INFO                                                                                                           = 4,
+       VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO                                                                                          = 5,
+       VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE                                                                                           = 6,
+       VK_STRUCTURE_TYPE_BIND_SPARSE_INFO                                                                                                      = 7,
+       VK_STRUCTURE_TYPE_FENCE_CREATE_INFO                                                                                                     = 8,
+       VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO                                                                                         = 9,
+       VK_STRUCTURE_TYPE_EVENT_CREATE_INFO                                                                                                     = 10,
+       VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO                                                                                        = 11,
+       VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO                                                                                            = 12,
+       VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO                                                                                       = 13,
+       VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO                                                                                                     = 14,
+       VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO                                                                                        = 15,
+       VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO                                                                                     = 16,
+       VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO                                                                            = 17,
+       VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO                                                                     = 18,
+       VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO                                                       = 19,
+       VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO                                                     = 20,
+       VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO                                                       = 21,
+       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO                                                           = 22,
+       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO                                                      = 23,
+       VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO                                                        = 24,
+       VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO                                                      = 25,
+       VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO                                                        = 26,
+       VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO                                                            = 27,
+       VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO                                                                         = 28,
+       VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO                                                                          = 29,
+       VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO                                                                           = 30,
+       VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO                                                                                           = 31,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO                                                                     = 32,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO                                                                           = 33,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO                                                                          = 34,
+       VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET                                                                                          = 35,
+       VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET                                                                                           = 36,
+       VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO                                                                                       = 37,
+       VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO                                                                                       = 38,
+       VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO                                                                                      = 39,
+       VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO                                                                          = 40,
+       VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO                                                                       = 41,
+       VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO                                                                                     = 42,
+       VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO                                                                                        = 43,
+       VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER                                                                                         = 44,
+       VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER                                                                                          = 45,
+       VK_STRUCTURE_TYPE_MEMORY_BARRIER                                                                                                        = 46,
+       VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO                                                                           = 47,
+       VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                                                                                     = 48,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES                                                           = 1000094000,
+       VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO                                                                                       = 1000157000,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO                                                                                        = 1000157001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES                                                        = 1000083000,
+       VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS                                                                         = 1000127000,
+       VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO                                                                        = 1000127001,
+       VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO                                                                            = 1000060000,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO                                                           = 1000060003,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO                                                        = 1000060004,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO                                                                                      = 1000060005,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO                                                                         = 1000060006,
+       VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO                                                          = 1000060013,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO                                                           = 1000060014,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES                                                                      = 1000070000,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO                                                                       = 1000070001,
+       VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2                                                                     = 1000146000,
+       VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2                                                                      = 1000146001,
+       VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2                                                       = 1000146002,
+       VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2                                                                                         = 1000146003,
+       VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2                                                            = 1000146004,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2                                                                            = 1000059000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2                                                                          = 1000059001,
+       VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2                                                                                           = 1000059002,
+       VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2                                                                                     = 1000059003,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2                                                           = 1000059004,
+       VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2                                                                                     = 1000059005,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2                                                           = 1000059006,
+       VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2                                                                      = 1000059007,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2                                            = 1000059008,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES                                                     = 1000117000,
+       VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO                                       = 1000117001,
+       VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO                                                                          = 1000117002,
+       VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO                         = 1000117003,
+       VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO                                                                     = 1000053000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES                                                            = 1000053001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES                                                          = 1000053002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES                                            = 1000120000,
+       VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO                                                                                         = 1000145000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES                                                     = 1000145001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES                                           = 1000145002,
+       VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2                                                                                           = 1000145003,
+       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO                                                          = 1000156000,
+       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO                                                                         = 1000156001,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO                                                                          = 1000156002,
+       VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO                                                          = 1000156003,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES                                     = 1000156004,
+       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES                                      = 1000156005,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO                                                        = 1000085000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO                                            = 1000071000,
+       VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES                                                                      = 1000071001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO                                                          = 1000071002,
+       VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES                                                                            = 1000071003,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES                                                                         = 1000071004,
+       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO                                                            = 1000072000,
+       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO                                                                     = 1000072001,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO                                                                           = 1000072002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO                                                           = 1000112000,
+       VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES                                                                                     = 1000112001,
+       VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO                                                                                      = 1000113000,
+       VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO                                                                          = 1000077000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO                                                       = 1000076000,
+       VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES                                                                         = 1000076001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES                                                      = 1000168000,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT                                                                         = 1000168001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES                                       = 1000063000,
+       VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR                                                                                     = 1000001000,
+       VK_STRUCTURE_TYPE_PRESENT_INFO_KHR                                                                                                      = 1000001001,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR                                                         = 1000060007,
+       VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR                                                                       = 1000060008,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR                                                          = 1000060009,
+       VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR                                                                           = 1000060010,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR                                                                         = 1000060011,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR                                                        = 1000060012,
+       VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR                                                                          = 1000002000,
+       VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR                                                                       = 1000002001,
+       VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR                                                                                      = 1000003000,
+       VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR                                                                          = 1000004000,
+       VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR                                                                           = 1000005000,
+       VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR                                                                       = 1000006000,
+       VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR                                                                       = 1000008000,
+       VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR                                                                         = 1000009000,
+       VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT                                                         = 1000011000,
+       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD                          = 1000018000,
+       VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT                                                                     = 1000022000,
+       VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT                                                                      = 1000022001,
+       VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT                                                                          = 1000022002,
+       VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                                                     = 1000026000,
+       VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                                            = 1000026001,
+       VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                                          = 1000026002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT                                       = 1000028000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT                                     = 1000028001,
+       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT                           = 1000028002,
+       VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX                                                                            = 1000030000,
+       VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD                                                      = 1000041000,
+       VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP                                                     = 1000049000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV                                      = 1000050000,
+       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                                                          = 1000056000,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                                                        = 1000056001,
+       VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                                            = 1000057000,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                                            = 1000057001,
+       VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                                                     = 1000058000,
+       VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                                                                          = 1000061000,
+       VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN                                                                                     = 1000062000,
+       VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT                                                                       = 1000067000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT                                                      = 1000067001,
+       VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                                           = 1000073000,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR                                                           = 1000073001,
+       VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR                                                            = 1000073002,
+       VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR                                                                      = 1000073003,
+       VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR                                                                                     = 1000074000,
+       VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR                                                                                      = 1000074001,
+       VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR                                                                                        = 1000074002,
+       VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR                                            = 1000075000,
+       VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                                                        = 1000078000,
+       VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR                                                        = 1000078001,
+       VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR                                                                           = 1000078002,
+       VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR                                                           = 1000078003,
+       VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR                                                                          = 1000079000,
+       VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR                                                                                     = 1000079001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                                        = 1000080000,
+       VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT                     = 1000081000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT                            = 1000081001,
+       VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT                                                          = 1000081002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR                                                     = 1000082000,
+       VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                                                                           = 1000084000,
+       VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                                                          = 1000086000,
+       VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                                                      = 1000086001,
+       VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                                                         = 1000086002,
+       VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                                                       = 1000086003,
+       VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                                                          = 1000086004,
+       VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                                                        = 1000086005,
+       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV                                      = 1000087000,
+       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT                                                                            = 1000090000,
+       VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT                                                                                        = 1000091000,
+       VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT                                                                                         = 1000091001,
+       VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT                                                                                        = 1000091002,
+       VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT                                                                     = 1000091003,
+       VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                                                                     = 1000092000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX          = 1000097000,
+       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV                                        = 1000098000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT                                      = 1000099000,
+       VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT                                      = 1000099001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT                     = 1000101000,
+       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT                     = 1000101001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT                                        = 1000102000,
+       VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT                       = 1000102001,
+       VK_STRUCTURE_TYPE_HDR_METADATA_EXT                                                                                                      = 1000105000,
++      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR                            = 1000108000,
++      VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR                                                       = 1000108001,
++      VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR                                                         = 1000108002,
++      VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR                                                         = 1000108003,
+       VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR                                                                          = 1000109000,
+       VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR                                                                            = 1000109001,
+       VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR                                                                                     = 1000109002,
+       VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR                                                                                      = 1000109003,
+       VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR                                                                         = 1000109004,
+       VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR                                                                                        = 1000109005,
+       VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR                                                                                          = 1000109006,
+       VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                                                       = 1000111000,
+       VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR                                                            = 1000114000,
+       VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR                                                            = 1000114001,
+       VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR                                                                       = 1000114002,
+       VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR                                                                                      = 1000115000,
+       VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR                                                                                         = 1000115001,
++      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTER_FEATURES_KHR                                      = 1000116000,
++      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTER_PROPERTIES_KHR                            = 1000116001,
++      VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_CREATE_INFO_KHR                                                                     = 1000116002,
++      VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR                                                                     = 1000116003,
++      VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR                                                                       = 1000116004,
++      VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR                                                                                       = 1000116005,
++      VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR                                                           = 1000116006,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                                            = 1000119000,
+       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                                                            = 1000119001,
+       VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                                                                          = 1000119002,
+       VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR                                                                                      = 1000121000,
+       VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR                                                                        = 1000121001,
+       VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR                                                                         = 1000121002,
+       VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR                                                                                      = 1000121003,
+       VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR                                                                      = 1000121004,
+       VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK                                                                           = 1000122000,
+       VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK                                                                         = 1000123000,
+       VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT                                                                      = 1000128000,
+       VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT                                                                       = 1000128001,
+       VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT                                                                                         = 1000128002,
+       VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT                                                       = 1000128003,
+       VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT                                                         = 1000128004,
+       VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID                                                         = 1000129000,
+       VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID                                            = 1000129001,
+       VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID                                     = 1000129002,
+       VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                                           = 1000129003,
+       VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID                                       = 1000129004,
+       VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                                                                                       = 1000129005,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT                          = 1000130000,
+       VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT                                                        = 1000130001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT                                     = 1000138000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT                           = 1000138001,
+       VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT                                         = 1000138002,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT                          = 1000138003,
+       VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT                                                                                     = 1000143000,
+       VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT                                           = 1000143001,
+       VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT                                       = 1000143002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT                                       = 1000143003,
+       VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT                                                                            = 1000143004,
+       VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR                                                                     = 1000147000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT                         = 1000148000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT                       = 1000148001,
+       VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT                           = 1000148002,
+       VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV                                       = 1000149000,
+       VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV                                     = 1000152000,
+       VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT                                                       = 1000158000,
+       VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                                                            = 1000158001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT                            = 1000158002,
+       VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT                                        = 1000158003,
+       VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT                            = 1000158004,
+       VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT                                                      = 1000158005,
+       VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT                                                                      = 1000160000,
+       VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT                                        = 1000160001,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT                           = 1000161000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT                                      = 1000161001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT                            = 1000161002,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT            = 1000161003,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT           = 1000161004,
+       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV                     = 1000164000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV                                        = 1000164001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV                                      = 1000164002,
+       VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV            = 1000164005,
+       VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV                                                           = 1000165000,
+       VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV                                                         = 1000165001,
+       VK_STRUCTURE_TYPE_GEOMETRY_NV                                                                                                           = 1000165003,
+       VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV                                                                                         = 1000165004,
+       VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV                                                                                                      = 1000165005,
+       VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV                                            = 1000165006,
+       VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV                                        = 1000165007,
+       VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV                            = 1000165008,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV                                                     = 1000165009,
+       VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV                                                       = 1000165011,
+       VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV                                                                        = 1000165012,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV                      = 1000166000,
+       VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV            = 1000166001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT                                      = 1000170000,
+       VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT                           = 1000170001,
+       VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT                                          = 1000174000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR                                                     = 1000177000,
+       VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT                                                           = 1000178000,
+       VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT                                                            = 1000178001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT                           = 1000178002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR                                      = 1000180000,
+       VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT                                                                         = 1000184000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD                                            = 1000185000,
+       VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD                                          = 1000189000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT                       = 1000190000,
+       VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT                           = 1000190001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT                         = 1000190002,
+       VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP                                                                                       = 1000191000,
+       VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT                                            = 1000192000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR                                                         = 1000196000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR                                         = 1000197000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR                          = 1000199000,
+       VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR                                         = 1000199001,
+       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,
+       VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV                                                                                            = 1000206000,
+       VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV                                                         = 1000206001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL                      = 1000209000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR                                      = 1000211000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT                                           = 1000212000,
+       VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD                                           = 1000213000,
+       VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD                                          = 1000213001,
+       VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA                                                         = 1000214000,
+       VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT                                                                         = 1000217000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT                                     = 1000218000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT                           = 1000218001,
+       VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT                                      = 1000218002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT                                      = 1000221000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT                                          = 1000237000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT                                          = 1000238000,
+       VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT                                                                     = 1000238001,
+       VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR                                                            = 1000239000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV       = 1000240000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT                            = 1000244000,
+       VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT                                                                        = 1000244001,
+       VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT                                                         = 1000244002,
+       VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT                                                           = 1000246000,
+       VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT                                                                                       = 1000247000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV                                        = 1000249000,
+       VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV                                                                      = 1000249001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV                                      = 1000249002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV                           = 1000250000,
+       VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV                                      = 1000250001,
+       VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV                                                      = 1000250002,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT                                       = 1000252000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR           = 1000253000,
+       VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT                                                        = 1000255000,
+       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT                                        = 1000255002,
+       VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT                                          = 1000255001,
+       VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT                                                                      = 1000256000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                                         = 1000261000,
+       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,
+       VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR                                                         = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR                                                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR                                                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                                                                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                                                                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
+       VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                                                                       = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
+       VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                                                         = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                                                       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
+       VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                                                         = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                                                       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
+       VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                                                          = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
+       VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR                                                                        = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR                                                       = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR                                            = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR                                                                          = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR                                                                     = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
+       VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR                                                      = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR                                                       = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR                                                          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
+       VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR                                                           = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR                                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
+       VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR                                                          = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR                                                      = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
+       VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR                                                                        = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR                                                                     = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
+       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR                                                        = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
+       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR                                                         = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR                                                                       = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR                                           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
+       VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR                                                                     = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
+       VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR                                                                      = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR                                            = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                                            = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT                                                                                     = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR                                                       = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
+       VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR                                                                         = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
+       VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR                                                                          = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR                                         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
+       VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR                           = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
+       VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR                                                                      = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR                     = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR                                         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR                                        = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,
+       VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR                                                                     = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
+       VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR                                                            = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
+       VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR                                                         = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
+       VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR                                                          = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
+       VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR                                           = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
+       VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR                                                                                     = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
+       VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR                                                        = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
+       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR                                                      = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
+       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR                                                                     = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR                                                                      = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
+       VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR                                                      = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR                         = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
+       VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR                          = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
+       VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR                                                                           = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
+       VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR                                                                            = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR                                          = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR                                                                     = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT                                           = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
+       VK_STRUCTURE_TYPE_MAX_ENUM                                                                                                                      = 0x7FFFFFFF,
  };
  
  enum VkSystemAllocationScope
@@@ -667,12 -830,12 +841,13 @@@ enum VkPhysicalDeviceTyp
  
  enum VkQueryType
  {
-       VK_QUERY_TYPE_OCCLUSION                                         = 0,
-       VK_QUERY_TYPE_PIPELINE_STATISTICS                       = 1,
-       VK_QUERY_TYPE_TIMESTAMP                                         = 2,
-       VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT     = 1000028004,
-       VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                     = 1000116000,
-       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_TRANSFORM_FEEDBACK_STREAM_EXT                             = 1000028004,
++      VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR                                             = 1000116000,
+       VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV  = 1000165000,
+       VK_QUERY_TYPE_MAX_ENUM                                                                  = 0x7FFFFFFF,
  };
  
  enum VkSharingMode
@@@ -1145,44 -1346,22 +1358,60 @@@ enum VkPresentModeKH
        VK_PRESENT_MODE_MAX_ENUM_KHR                                    = 0x7FFFFFFF,
  };
  
 +enum VkPerformanceCounterUnitKHR
 +{
 +      VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR                         = 0,
 +      VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR                      = 1,
 +      VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR                     = 2,
 +      VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR                           = 3,
 +      VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR        = 4,
 +      VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR                          = 5,
 +      VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR                           = 6,
 +      VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR                           = 7,
 +      VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR                            = 8,
 +      VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR                           = 9,
 +      VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR                          = 10,
 +      VK_PERFORMANCE_COUNTER_UNIT_KHR_LAST,
 +      VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR                        = 0x7FFFFFFF,
 +};
 +
 +enum VkPerformanceCounterScopeKHR
 +{
 +      VK_QUERY_SCOPE_COMMAND_BUFFER_KHR                       = 0,
 +      VK_QUERY_SCOPE_RENDER_PASS_KHR                          = 1,
 +      VK_QUERY_SCOPE_COMMAND_KHR                                      = 2,
 +      VK_PERFORMANCE_COUNTER_SCOPE_KHR_LAST,
 +      VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR       = 0x7FFFFFFF,
 +};
 +
 +enum VkPerformanceCounterStorageKHR
 +{
 +      VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR        = 0,
 +      VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR        = 1,
 +      VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR       = 2,
 +      VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR       = 3,
 +      VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR      = 4,
 +      VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR      = 5,
 +      VK_PERFORMANCE_COUNTER_STORAGE_KHR_LAST,
 +      VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR     = 0x7FFFFFFF,
 +};
 +
+ enum VkDriverIdKHR
+ {
+       VK_DRIVER_ID_AMD_PROPRIETARY_KHR                        = 1,
+       VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR                        = 2,
+       VK_DRIVER_ID_MESA_RADV_KHR                                      = 3,
+       VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR                     = 4,
+       VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR      = 5,
+       VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR         = 6,
+       VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR        = 7,
+       VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR           = 8,
+       VK_DRIVER_ID_ARM_PROPRIETARY_KHR                        = 9,
+       VK_DRIVER_ID_GOOGLE_PASTEL_KHR                          = 10,
+       VK_DRIVER_ID_GGP_PROPRIETARY_KHR                        = 11,
+       VK_DRIVER_ID_MAX_ENUM_KHR                                       = 0x7FFFFFFF,
+ };
  enum VkDebugReportObjectTypeEXT
  {
        VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                                                 = 0,
@@@ -2094,10 -2552,10 +2617,8 @@@ typedef deUint32 VkPipelineDynamicState
  
  typedef deUint32 VkPipelineLayoutCreateFlags;
  
- typedef deUint32 VkSamplerCreateFlags;
  typedef deUint32 VkDescriptorPoolResetFlags;
  
 -typedef deUint32 VkFramebufferCreateFlags;
 -
  typedef deUint32 VkRenderPassCreateFlags;
  
  typedef deUint32 VkCommandPoolTrimFlags;
@@@ -2108,27 -2566,35 +2629,37 @@@ typedef deUint32 VkDisplayModeCreateFla
  
  typedef deUint32 VkDisplaySurfaceCreateFlagsKHR;
  
- typedef deUint32 VkXlibSurfaceCreateFlagsKHR;
++typedef deUint32 VkAcquireProfilingLockFlagsKHR;
 +
- typedef deUint32 VkXcbSurfaceCreateFlagsKHR;
+ typedef deUint32 VkPipelineRasterizationStateStreamCreateFlagsEXT;
  
- typedef deUint32 VkWaylandSurfaceCreateFlagsKHR;
+ typedef deUint32 VkPipelineViewportSwizzleStateCreateFlagsNV;
  
- typedef deUint32 VkMirSurfaceCreateFlagsKHR;
+ typedef deUint32 VkPipelineDiscardRectangleStateCreateFlagsEXT;
  
- typedef deUint32 VkAndroidSurfaceCreateFlagsKHR;
+ typedef deUint32 VkPipelineRasterizationConservativeStateCreateFlagsEXT;
  
- typedef deUint32 VkWin32SurfaceCreateFlagsKHR;
+ typedef deUint32 VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
  
- typedef deUint32 VkAcquireProfilingLockFlagsKHR;
+ typedef deUint32 VkDebugUtilsMessengerCallbackDataFlagsEXT;
  
- typedef deUint32 VkPipelineRasterizationStateStreamCreateFlagsEXT;
+ typedef deUint32 VkDebugUtilsMessengerCreateFlagsEXT;
  
- typedef deUint32 VkViSurfaceCreateFlagsNN;
+ typedef deUint32 VkPipelineCoverageToColorStateCreateFlagsNV;
  
- typedef deUint32 VkPipelineViewportSwizzleStateCreateFlagsNV;
+ typedef deUint32 VkPipelineCoverageModulationStateCreateFlagsNV;
  
- typedef deUint32 VkPipelineDiscardRectangleStateCreateFlagsEXT;
+ typedef deUint32 VkValidationCacheCreateFlagsEXT;
+ typedef deUint32 VkPipelineCoverageReductionStateCreateFlagsNV;
+ typedef deUint32 VkHeadlessSurfaceCreateFlagsEXT;
+ typedef deUint32 VkAndroidSurfaceCreateFlagsKHR;
+ typedef deUint32 VkImagePipeSurfaceCreateFlagsFUCHSIA;
+ typedef deUint32 VkStreamDescriptorSurfaceCreateFlagsGGP;
  
  typedef deUint32 VkIOSSurfaceCreateFlagsMVK;
  
@@@ -2272,53 -2669,18 +2734,20 @@@ VK_DEFINE_PLATFORM_TYPE(CAMetalLayer
  #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
  #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
  #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
  #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 1
- #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
  #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
- #define VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET
- #define VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
- #define VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO
- #define VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT
 +#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
  #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
  #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
  #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
- #define VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT
- #define VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT
- #define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT
- #define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT
- #define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT
- #define VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT
- #define VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO
  #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
- #define VK_FENCE_IMPORT_TEMPORARY_BIT_KHR VK_FENCE_IMPORT_TEMPORARY_BIT
- #define VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO
- #define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
  #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
 +#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
  #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
- #define VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
- #define VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
- #define VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
- #define VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
- #define VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
- #define VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
- #define VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
- #define VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
- #define VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
- #define VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
- #define VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT
  #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
- #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
  #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
+ #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
  #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
- #define VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
- #define VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
  #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
  #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
  #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- virtual PFN_vkVoidFunction    getDeviceProcAddr                                                       (VkDevice device, const char* pName) const;
- virtual void                          destroyDevice                                                           (VkDevice device, const VkAllocationCallbacks* pAllocator) const;
- virtual void                          getDeviceQueue                                                          (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const;
- virtual VkResult                      queueSubmit                                                                     (VkQueue queue, deUint32 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, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const;
- virtual VkResult                      invalidateMappedMemoryRanges                            (VkDevice device, deUint32 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, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const;
- virtual VkResult                      queueBindSparse                                                         (VkQueue queue, deUint32 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, deUint32 fenceCount, const VkFence* pFences) const;
- virtual VkResult                      getFenceStatus                                                          (VkDevice device, VkFence fence) const;
- virtual VkResult                      waitForFences                                                           (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 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, deUint32 firstQuery, deUint32 queryCount, deUintptr 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, deUintptr* pDataSize, void* pData) const;
- virtual VkResult                      mergePipelineCaches                                                     (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const;
- virtual VkResult                      createGraphicsPipelines                                         (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
- virtual VkResult                      createComputePipelines                                          (VkDevice device, VkPipelineCache pipelineCache, deUint32 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, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const;
- virtual void                          updateDescriptorSets                                            (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 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, deUint32 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, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const;
- virtual void                          cmdSetScissor                                                           (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 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, deUint32 compareMask) const;
- virtual void                          cmdSetStencilWriteMask                                          (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const;
- virtual void                          cmdSetStencilReference                                          (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const;
- virtual void                          cmdBindDescriptorSets                                           (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const;
- virtual void                          cmdBindIndexBuffer                                                      (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const;
- virtual void                          cmdBindVertexBuffers                                            (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const;
- virtual void                          cmdDraw                                                                         (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const;
- virtual void                          cmdDrawIndexed                                                          (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const;
- virtual void                          cmdDrawIndirect                                                         (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const;
- virtual void                          cmdDrawIndexedIndirect                                          (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const;
- virtual void                          cmdDispatch                                                                     (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const;
- virtual void                          cmdDispatchIndirect                                                     (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const;
- virtual void                          cmdCopyBuffer                                                           (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const;
- virtual void                          cmdCopyImage                                                            (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const;
- virtual void                          cmdBlitImage                                                            (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const;
- virtual void                          cmdCopyBufferToImage                                            (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const;
- virtual void                          cmdCopyImageToBuffer                                            (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 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, deUint32 data) const;
- virtual void                          cmdClearColorImage                                                      (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const;
- virtual void                          cmdClearDepthStencilImage                                       (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const;
- virtual void                          cmdClearAttachments                                                     (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const;
- virtual void                          cmdResolveImage                                                         (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 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, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
- virtual void                          cmdPipelineBarrier                                                      (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
- virtual void                          cmdBeginQuery                                                           (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const;
- virtual void                          cmdEndQuery                                                                     (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const;
- virtual void                          cmdResetQueryPool                                                       (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const;
- virtual void                          cmdWriteTimestamp                                                       (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const;
- virtual void                          cmdCopyQueryPoolResults                                         (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const;
- virtual void                          cmdPushConstants                                                        (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 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, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const;
- virtual VkResult                      bindBufferMemory2                                                       (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const;
- virtual VkResult                      bindImageMemory2                                                        (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const;
- virtual void                          getDeviceGroupPeerMemoryFeatures                        (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const;
- virtual void                          cmdSetDeviceMask                                                        (VkCommandBuffer commandBuffer, deUint32 deviceMask) const;
- virtual void                          cmdDispatchBase                                                         (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 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, deUint32* 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 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, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const;
- virtual VkResult                      acquireNextImageKHR                                                     (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* 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, deUint32* pImageIndex) const;
- virtual VkResult                      createSharedSwapchainsKHR                                       (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) 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                      getMemoryFdKHR                                                          (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const;
- virtual VkResult                      getMemoryFdPropertiesKHR                                        (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const;
- virtual VkResult                      importSemaphoreWin32HandleKHR                           (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const;
- virtual VkResult                      getSemaphoreWin32HandleKHR                                      (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) 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, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const;
- virtual void                          cmdPushDescriptorSetWithTemplateKHR                     (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const;
- virtual VkResult                      createRenderPass2KHR                                            (VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const;
- virtual void                          cmdBeginRenderPass2KHR                                          (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const;
- virtual void                          cmdNextSubpass2KHR                                                      (VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const;
- virtual void                          cmdEndRenderPass2KHR                                            (VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) const;
- virtual VkResult                      getSwapchainStatusKHR                                           (VkDevice device, VkSwapchainKHR swapchain) const;
- virtual VkResult                      importFenceWin32HandleKHR                                       (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const;
- virtual VkResult                      getFenceWin32HandleKHR                                          (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) 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 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, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const;
- virtual void                          cmdBeginTransformFeedbackEXT                            (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
- virtual void                          cmdEndTransformFeedbackEXT                                      (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
- virtual void                          cmdBeginQueryIndexedEXT                                         (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index) const;
- virtual void                          cmdEndQueryIndexedEXT                                           (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index) const;
- virtual void                          cmdDrawIndirectByteCountEXT                                     (VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride) const;
- virtual void                          cmdDrawIndirectCountAMD                                         (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
- virtual void                          cmdDrawIndexedIndirectCountAMD                          (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
- virtual void                          cmdDrawIndirectCountKHR                                         (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
- virtual void                          cmdDrawIndexedIndirectCountKHR                          (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
- virtual VkResult                      getMemoryWin32HandleNV                                          (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const;
- virtual void                          cmdBeginConditionalRenderingEXT                         (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const;
- virtual void                          cmdEndConditionalRenderingEXT                           (VkCommandBuffer commandBuffer) const;
- virtual void                          cmdProcessCommandsNVX                                           (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const;
- virtual void                          cmdReserveSpaceForCommandsNVX                           (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const;
- virtual VkResult                      createIndirectCommandsLayoutNVX                         (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const;
- virtual void                          destroyIndirectCommandsLayoutNVX                        (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const;
- virtual VkResult                      createObjectTableNVX                                            (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const;
- virtual void                          destroyObjectTableNVX                                           (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const;
- virtual VkResult                      registerObjectsNVX                                                      (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const;
- virtual VkResult                      unregisterObjectsNVX                                            (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const;
- virtual void                          cmdSetViewportWScalingNV                                        (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 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, deUint64* pCounterValue) const;
- virtual VkResult                      getRefreshCycleDurationGOOGLE                           (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const;
- virtual VkResult                      getPastPresentationTimingGOOGLE                         (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const;
- virtual void                          cmdSetDiscardRectangleEXT                                       (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const;
- virtual void                          setHdrMetadataEXT                                                       (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const;
- virtual void                          cmdSetSampleLocationsEXT                                        (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) 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, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const;
- virtual VkResult                      getValidationCacheDataEXT                                       (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const;
- virtual VkResult                      getMemoryHostPointerPropertiesEXT                       (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) 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 VkDeviceAddress               getBufferDeviceAddressEXT                                       (VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo) const;
- virtual void                          resetQueryPoolEXT                                                       (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const;
- virtual VkResult                      getCalibratedTimestampsEXT                                      (VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation) 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, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const;
+ virtual VkResult                      queueSubmit                                                                             (VkQueue queue, deUint32 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, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const;
+ virtual VkResult                      invalidateMappedMemoryRanges                                    (VkDevice device, deUint32 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, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const;
+ virtual VkResult                      queueBindSparse                                                                 (VkQueue queue, deUint32 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, deUint32 fenceCount, const VkFence* pFences) const;
+ virtual VkResult                      getFenceStatus                                                                  (VkDevice device, VkFence fence) const;
+ virtual VkResult                      waitForFences                                                                   (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 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, deUint32 firstQuery, deUint32 queryCount, deUintptr 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, deUintptr* pDataSize, void* pData) const;
+ virtual VkResult                      mergePipelineCaches                                                             (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const;
+ virtual VkResult                      createGraphicsPipelines                                                 (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
+ virtual VkResult                      createComputePipelines                                                  (VkDevice device, VkPipelineCache pipelineCache, deUint32 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, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const;
+ virtual void                          updateDescriptorSets                                                    (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 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, deUint32 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, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const;
+ virtual void                          cmdSetScissor                                                                   (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 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, deUint32 compareMask) const;
+ virtual void                          cmdSetStencilWriteMask                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const;
+ virtual void                          cmdSetStencilReference                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const;
+ virtual void                          cmdBindDescriptorSets                                                   (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const;
+ virtual void                          cmdBindIndexBuffer                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const;
+ virtual void                          cmdBindVertexBuffers                                                    (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const;
+ virtual void                          cmdDraw                                                                                 (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const;
+ virtual void                          cmdDrawIndexed                                                                  (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const;
+ virtual void                          cmdDrawIndirect                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const;
+ virtual void                          cmdDrawIndexedIndirect                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const;
+ virtual void                          cmdDispatch                                                                             (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const;
+ virtual void                          cmdDispatchIndirect                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const;
+ virtual void                          cmdCopyBuffer                                                                   (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const;
+ virtual void                          cmdCopyImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const;
+ virtual void                          cmdBlitImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const;
+ virtual void                          cmdCopyBufferToImage                                                    (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const;
+ virtual void                          cmdCopyImageToBuffer                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 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, deUint32 data) const;
+ virtual void                          cmdClearColorImage                                                              (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const;
+ virtual void                          cmdClearDepthStencilImage                                               (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const;
+ virtual void                          cmdClearAttachments                                                             (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const;
+ virtual void                          cmdResolveImage                                                                 (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 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, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
+ virtual void                          cmdPipelineBarrier                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const;
+ virtual void                          cmdBeginQuery                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const;
+ virtual void                          cmdEndQuery                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const;
+ virtual void                          cmdResetQueryPool                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const;
+ virtual void                          cmdWriteTimestamp                                                               (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const;
+ virtual void                          cmdCopyQueryPoolResults                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const;
+ virtual void                          cmdPushConstants                                                                (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 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, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const;
+ virtual VkResult                      bindBufferMemory2                                                               (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const;
+ virtual VkResult                      bindImageMemory2                                                                (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const;
+ virtual void                          getDeviceGroupPeerMemoryFeatures                                (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const;
+ virtual void                          cmdSetDeviceMask                                                                (VkCommandBuffer commandBuffer, deUint32 deviceMask) const;
+ virtual void                          cmdDispatchBase                                                                 (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 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, deUint32* 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 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, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const;
+ virtual VkResult                      acquireNextImageKHR                                                             (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* 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, deUint32* pImageIndex) const;
+ virtual VkResult                      createSharedSwapchainsKHR                                               (VkDevice device, deUint32 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, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const;
+ virtual void                          cmdPushDescriptorSetWithTemplateKHR                             (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const;
+ virtual VkResult                      createRenderPass2KHR                                                    (VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const;
+ virtual void                          cmdBeginRenderPass2KHR                                                  (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const;
+ virtual void                          cmdNextSubpass2KHR                                                              (VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const;
+ virtual void                          cmdEndRenderPass2KHR                                                    (VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) 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                          cmdDrawIndirectCountKHR                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
+ virtual void                          cmdDrawIndexedIndirectCountKHR                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) 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, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const;
+ virtual void                          cmdBeginTransformFeedbackEXT                                    (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
+ virtual void                          cmdEndTransformFeedbackEXT                                              (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const;
+ virtual void                          cmdBeginQueryIndexedEXT                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index) const;
+ virtual void                          cmdEndQueryIndexedEXT                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index) const;
+ virtual void                          cmdDrawIndirectByteCountEXT                                             (VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride) const;
+ virtual uint32_t                      getImageViewHandleNVX                                                   (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const;
+ virtual void                          cmdDrawIndirectCountAMD                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
+ virtual void                          cmdDrawIndexedIndirectCountAMD                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
+ virtual VkResult                      getShaderInfoAMD                                                                (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo) const;
+ virtual void                          cmdBeginConditionalRenderingEXT                                 (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const;
+ virtual void                          cmdEndConditionalRenderingEXT                                   (VkCommandBuffer commandBuffer) const;
+ virtual void                          cmdProcessCommandsNVX                                                   (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const;
+ virtual void                          cmdReserveSpaceForCommandsNVX                                   (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const;
+ virtual VkResult                      createIndirectCommandsLayoutNVX                                 (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const;
+ virtual void                          destroyIndirectCommandsLayoutNVX                                (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const;
+ virtual VkResult                      createObjectTableNVX                                                    (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const;
+ virtual void                          destroyObjectTableNVX                                                   (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const;
+ virtual VkResult                      registerObjectsNVX                                                              (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const;
+ virtual VkResult                      unregisterObjectsNVX                                                    (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const;
+ virtual void                          cmdSetViewportWScalingNV                                                (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 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, deUint64* pCounterValue) const;
+ virtual VkResult                      getRefreshCycleDurationGOOGLE                                   (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const;
+ virtual VkResult                      getPastPresentationTimingGOOGLE                                 (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const;
+ virtual void                          cmdSetDiscardRectangleEXT                                               (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const;
+ virtual void                          setHdrMetadataEXT                                                               (VkDevice device, deUint32 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, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const;
+ virtual VkResult                      getValidationCacheDataEXT                                               (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const;
+ virtual void                          cmdBindShadingRateImageNV                                               (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const;
+ virtual void                          cmdSetViewportShadingRatePaletteNV                              (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const;
+ virtual void                          cmdSetCoarseSampleOrderNV                                               (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 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, deUint32 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, VkCopyAccelerationStructureModeNV 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, deUint32 width, deUint32 height, deUint32 depth) const;
+ virtual VkResult                      createRayTracingPipelinesNV                                             (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const;
+ virtual VkResult                      getRayTracingShaderGroupHandlesNV                               (VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData) const;
+ virtual VkResult                      getAccelerationStructureHandleNV                                (VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData) const;
+ virtual void                          cmdWriteAccelerationStructuresPropertiesNV              (VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery) const;
+ virtual VkResult                      compileDeferredNV                                                               (VkDevice device, VkPipeline pipeline, deUint32 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, deUint32 marker) const;
+ virtual VkResult                      getCalibratedTimestampsEXT                                              (VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation) const;
+ virtual void                          cmdDrawMeshTasksNV                                                              (VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask) const;
+ virtual void                          cmdDrawMeshTasksIndirectNV                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const;
+ virtual void                          cmdDrawMeshTasksIndirectCountNV                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const;
+ virtual void                          cmdSetExclusiveScissorNV                                                (VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const;
+ virtual void                          cmdSetCheckpointNV                                                              (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const;
+ virtual void                          getQueueCheckpointDataNV                                                (VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const;
+ virtual void                          setLocalDimmingAMD                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const;
+ virtual VkDeviceAddress               getBufferDeviceAddressEXT                                               (VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo) const;
+ virtual void                          resetQueryPoolEXT                                                               (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) 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                      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;
@@@ -37,19 -37,6 +37,8 @@@ virtual VkResult     getDisplayModeProperti
  virtual VkResult      createDisplayModeKHR                                                                                    (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode) const;
  virtual VkResult      getDisplayPlaneCapabilitiesKHR                                                                  (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) const;
  virtual VkResult      createDisplayPlaneSurfaceKHR                                                                    (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkResult      createXlibSurfaceKHR                                                                                    (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkBool32      getPhysicalDeviceXlibPresentationSupportKHR                                             (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) const;
- virtual VkResult      createXcbSurfaceKHR                                                                                             (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkBool32      getPhysicalDeviceXcbPresentationSupportKHR                                              (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) const;
- virtual VkResult      createWaylandSurfaceKHR                                                                                 (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkBool32      getPhysicalDeviceWaylandPresentationSupportKHR                                  (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display) const;
- virtual VkResult      createMirSurfaceKHR                                                                                             (VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkBool32      getPhysicalDeviceMirPresentationSupportKHR                                              (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::MirConnectionPtr connection) const;
- virtual VkResult      createAndroidSurfaceKHR                                                                                 (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkResult      createWin32SurfaceKHR                                                                                   (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const;
- virtual VkBool32      getPhysicalDeviceWin32PresentationSupportKHR                                    (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex) const;
 +virtual void          enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR   (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const;
 +virtual void          getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR                   (VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses) const;
  virtual VkResult      getPhysicalDeviceSurfaceCapabilities2KHR                                                (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const;
  virtual VkResult      getPhysicalDeviceSurfaceFormats2KHR                                                             (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const;
  virtual VkResult      getPhysicalDeviceDisplayProperties2KHR                                                  (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties) const;
@@@ -827,16 -797,16 +797,26 @@@ VkResult DeviceDriver::getFenceFdKHR (V
        return m_vk.getFenceFdKHR(device, pGetFdInfo, pFd);
  }
  
 +VkResult DeviceDriver::acquireProfilingLockKHR (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const
 +{
 +      return m_vk.acquireProfilingLockKHR(device, pInfo);
 +}
 +
 +void DeviceDriver::releaseProfilingLockKHR (VkDevice device) const
 +{
 +      m_vk.releaseProfilingLockKHR(device);
 +}
 +
+ void DeviceDriver::cmdDrawIndirectCountKHR (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const
+ {
+       m_vk.cmdDrawIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
+ void DeviceDriver::cmdDrawIndexedIndirectCountKHR (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const
+ {
+       m_vk.cmdDrawIndexedIndirectCountKHR(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride);
+ }
  VkResult DeviceDriver::debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const
  {
        return m_vk.debugMarkerSetObjectTagEXT(device, pTagInfo);
@@@ -23,40 -20,63 +22,65 @@@ namespace v
  #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
  #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
  #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
+ #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
+ #define VK_NV_MESH_SHADER_EXTENSION_NAME  "VK_NV_mesh_shader"
+ #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
+ #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
+ #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
  #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
+ #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
  #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
  #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
+ #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
  #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
- #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
  #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
+ #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
+ #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
+ #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
  #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
+ #define VK_KHR_MULTIVIEW_EXTENSION_NAME   "VK_KHR_multiview"
+ #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
+ #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
+ #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
  
  
- 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, 25); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 24); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVariablePointersFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 23); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 22); }
- 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, 21); }
- 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, 20); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 19); }
- 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, 18); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFloat16Int8FeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 17); }
- 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, 16); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 15); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceCounterFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTER_FEATURES_KHR, DECL_KHR_PERFORMANCE_COUNTER_EXTENSION_NAME, 0, 14); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 13); }
- 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, 12); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 11); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 10); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64FeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 9); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 8); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 7); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 6); }
- 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, 5); }
- 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, 4); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 3); }
- 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, 2); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 1); }
 -template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 35); }
 -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, 34); }
 -template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 33); }
 -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, 32); }
 -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, 31); }
 -template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFloat16Int8FeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 30); }
 -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, 29); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 37); }
++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, 36); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTransformFeedbackFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 35); }
++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, 34); }
++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, 33); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFloat16Int8FeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 32); }
++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, 31); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceImagelessFramebufferFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 30); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePerformanceCounterFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTER_FEATURES_KHR, DECL_KHR_PERFORMANCE_COUNTER_EXTENSION_NAME, 0, 29); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 28); }
+ 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, 27); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 26); }
+ 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, 25); }
+ 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, 24); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice8BitStorageFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 23); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderAtomicInt64FeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 22); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 21); }
+ 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, 20); }
+ 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, 19); }
+ 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, 18); }
+ 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, 17); }
+ 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, 16); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 15); }
+ 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, 14); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 13); }
+ 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, 12); }
+ 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, 11); }
+ 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, 10); }
+ 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, 9); }
+ 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, 8); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 7); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 6); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceHostQueryResetFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 5); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 4); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDevice16BitStorageFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 3); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceVariablePointersFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 2); }
+ template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceSamplerYcbcrConversionFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 1); }
  
  
  static const FeatureStructMapItem featureStructCreatorMap[] =
@@@ -1,28 -1,38 +1,40 @@@
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- const vk::VkPhysicalDevice16BitStorageFeatures&                                               get16BitStorageFeatures                                 (void) const;
- const vk::VkPhysicalDeviceMultiviewFeatures&                                          getMultiviewFeatures                                    (void) const;
- const vk::VkPhysicalDeviceVariablePointersFeatures&                                   getVariablePointersFeatures                             (void) const;
- const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                    getProtectedMemoryFeatures                              (void) const;
- const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                     getSamplerYcbcrConversionFeatures               (void) const;
- const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                               getShaderDrawParametersFeatures                 (void) const;
- const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                               getTransformFeedbackFeatures                    (void) const;
- const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                    getConditionalRenderingFeatures                 (void) const;
- const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&                                     getFloat16Int8Features                                  (void) const;
- const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                         getDepthClipEnableFeatures                              (void) const;
- const vk::VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                    getImagelessFramebufferFeatures                 (void) const;
- const vk::VkPhysicalDevicePerformanceCounterFeaturesKHR&                      getPerformanceCounterFeatures                   (void) const;
- const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                      getInlineUniformBlockFeatures                   (void) const;
- const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&          getBlendOperationAdvancedFeatures               (void) const;
- const vk::VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                      getDescriptorIndexingFeatures                   (void) const;
- const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                     get8BitStorageFeatures                                  (void) const;
- const vk::VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&                               getShaderAtomicInt64Features                    (void) const;
- const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&          getVertexAttributeDivisorFeatures               (void) const;
- const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                               getVulkanMemoryModelFeatures                    (void) const;
- const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                               getScalarBlockLayoutFeatures                    (void) const;
- const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                          getMemoryPriorityFeatures                               (void) const;
- const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                     getBufferDeviceAddressFeatures                  (void) const;
- const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&     getUniformBufferStandardLayoutFeatures  (void) const;
- const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                getCooperativeMatrixFeatures                    (void) const;
- const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                          getHostQueryResetFeatures                               (void) const;
+ const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                            getProtectedMemoryFeatures                                      (void) const;
+ const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                       getShaderDrawParametersFeatures                         (void) const;
+ const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                       getTransformFeedbackFeatures                            (void) const;
+ const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                       getCornerSampledImageFeatures                           (void) const;
+ const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                            getConditionalRenderingFeatures                         (void) const;
+ const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&                                             getFloat16Int8Features                                          (void) const;
+ const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                 getDepthClipEnableFeatures                                      (void) const;
++const vk::VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                            getImagelessFramebufferFeatures                         (void) const;
++const vk::VkPhysicalDevicePerformanceCounterFeaturesKHR&                              getPerformanceCounterFeatures                           (void) const;
+ const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                              getInlineUniformBlockFeatures                           (void) const;
+ const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                  getBlendOperationAdvancedFeatures                       (void) const;
+ const vk::VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                              getDescriptorIndexingFeatures                           (void) const;
+ const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                 getShadingRateImageFeatures                                     (void) const;
+ const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                       getRepresentativeFragmentTestFeatures           (void) const;
+ const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                             get8BitStorageFeatures                                          (void) const;
+ const vk::VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&                                       getShaderAtomicInt64Features                            (void) const;
+ const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                  getVertexAttributeDivisorFeatures                       (void) const;
+ const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                 getComputeShaderDerivativesFeatures                     (void) const;
+ const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                       getMeshShaderFeatures                                           (void) const;
+ const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                        getFragmentShaderBarycentricFeatures            (void) const;
+ const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                             getShaderImageFootprintFeatures                         (void) const;
+ const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                 getExclusiveScissorFeatures                                     (void) const;
+ const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                                       getVulkanMemoryModelFeatures                            (void) const;
+ const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                              getFragmentDensityMapFeatures                           (void) const;
+ const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                                       getScalarBlockLayoutFeatures                            (void) const;
+ const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                  getMemoryPriorityFeatures                                       (void) const;
+ const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAllocationImageAliasingFeatures     (void) const;
+ const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                             getBufferDeviceAddressFeatures                          (void) const;
+ const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                        getCooperativeMatrixFeatures                            (void) const;
+ const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                            getCoverageReductionModeFeatures                        (void) const;
+ const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                        getYcbcrImageArraysFeatures                                     (void) const;
+ const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&             getUniformBufferStandardLayoutFeatures          (void) const;
+ const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                                  getHostQueryResetFeatures                                       (void) const;
+ const vk::VkPhysicalDeviceMultiviewFeatures&                                                  getMultiviewFeatures                                            (void) const;
+ const vk::VkPhysicalDevice16BitStorageFeatures&                                                       get16BitStorageFeatures                                         (void) const;
+ const vk::VkPhysicalDeviceVariablePointersFeatures&                                           getVariablePointersFeatures                                     (void) const;
+ const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                             getSamplerYcbcrConversionFeatures                       (void) const;
@@@ -1,28 -1,38 +1,40 @@@
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- const vk::VkPhysicalDevice16BitStorageFeatures&                                               Context::get16BitStorageFeatures                                (void) const { return m_device->get16BitStorageFeatures();                                      }
- const vk::VkPhysicalDeviceMultiviewFeatures&                                          Context::getMultiviewFeatures                                   (void) const { return m_device->getMultiviewFeatures();                                         }
- const vk::VkPhysicalDeviceVariablePointersFeatures&                                   Context::getVariablePointersFeatures                    (void) const { return m_device->getVariablePointersFeatures();                          }
- const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                    Context::getProtectedMemoryFeatures                             (void) const { return m_device->getProtectedMemoryFeatures();                           }
- const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                     Context::getSamplerYcbcrConversionFeatures              (void) const { return m_device->getSamplerYcbcrConversionFeatures();            }
- const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                               Context::getShaderDrawParametersFeatures                (void) const { return m_device->getShaderDrawParametersFeatures();                      }
- const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                               Context::getTransformFeedbackFeatures                   (void) const { return m_device->getTransformFeedbackFeatures();                         }
- const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                    Context::getConditionalRenderingFeatures                (void) const { return m_device->getConditionalRenderingFeatures();                      }
- const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&                                     Context::getFloat16Int8Features                                 (void) const { return m_device->getFloat16Int8Features();                                       }
- const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                         Context::getDepthClipEnableFeatures                             (void) const { return m_device->getDepthClipEnableFeatures();                           }
- const vk::VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                    Context::getImagelessFramebufferFeatures                (void) const { return m_device->getImagelessFramebufferFeatures();                      }
- const vk::VkPhysicalDevicePerformanceCounterFeaturesKHR&                      Context::getPerformanceCounterFeatures                  (void) const { return m_device->getPerformanceCounterFeatures();                        }
- const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                      Context::getInlineUniformBlockFeatures                  (void) const { return m_device->getInlineUniformBlockFeatures();                        }
- const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&          Context::getBlendOperationAdvancedFeatures              (void) const { return m_device->getBlendOperationAdvancedFeatures();            }
- const vk::VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                      Context::getDescriptorIndexingFeatures                  (void) const { return m_device->getDescriptorIndexingFeatures();                        }
- const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                     Context::get8BitStorageFeatures                                 (void) const { return m_device->get8BitStorageFeatures();                                       }
- const vk::VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&                               Context::getShaderAtomicInt64Features                   (void) const { return m_device->getShaderAtomicInt64Features();                         }
- const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&          Context::getVertexAttributeDivisorFeatures              (void) const { return m_device->getVertexAttributeDivisorFeatures();            }
- const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                               Context::getVulkanMemoryModelFeatures                   (void) const { return m_device->getVulkanMemoryModelFeatures();                         }
- const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                               Context::getScalarBlockLayoutFeatures                   (void) const { return m_device->getScalarBlockLayoutFeatures();                         }
- const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                          Context::getMemoryPriorityFeatures                              (void) const { return m_device->getMemoryPriorityFeatures();                            }
- const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                     Context::getBufferDeviceAddressFeatures                 (void) const { return m_device->getBufferDeviceAddressFeatures();                       }
- const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&     Context::getUniformBufferStandardLayoutFeatures (void) const { return m_device->getUniformBufferStandardLayoutFeatures();       }
- const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                Context::getCooperativeMatrixFeatures                   (void) const { return m_device->getCooperativeMatrixFeatures();                         }
- const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                          Context::getHostQueryResetFeatures                              (void) const { return m_device->getHostQueryResetFeatures();                            }
+ const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                            Context::getProtectedMemoryFeatures                                             (void) const { return m_device->getProtectedMemoryFeatures();                                   }
+ const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                       Context::getShaderDrawParametersFeatures                                (void) const { return m_device->getShaderDrawParametersFeatures();                              }
+ const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                       Context::getTransformFeedbackFeatures                                   (void) const { return m_device->getTransformFeedbackFeatures();                                 }
+ const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                       Context::getCornerSampledImageFeatures                                  (void) const { return m_device->getCornerSampledImageFeatures();                                }
+ const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                            Context::getConditionalRenderingFeatures                                (void) const { return m_device->getConditionalRenderingFeatures();                              }
+ const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&                                             Context::getFloat16Int8Features                                                 (void) const { return m_device->getFloat16Int8Features();                                               }
+ const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                 Context::getDepthClipEnableFeatures                                             (void) const { return m_device->getDepthClipEnableFeatures();                                   }
++const vk::VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                            Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                              }
++const vk::VkPhysicalDevicePerformanceCounterFeaturesKHR&                              Context::getPerformanceCounterFeatures                                  (void) const { return m_device->getPerformanceCounterFeatures();                                }
+ const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                              Context::getInlineUniformBlockFeatures                                  (void) const { return m_device->getInlineUniformBlockFeatures();                                }
+ const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                  Context::getBlendOperationAdvancedFeatures                              (void) const { return m_device->getBlendOperationAdvancedFeatures();                    }
+ const vk::VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                              Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                }
+ const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                 Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                  }
+ const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                       Context::getRepresentativeFragmentTestFeatures                  (void) const { return m_device->getRepresentativeFragmentTestFeatures();                }
+ const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                             Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                               }
+ const vk::VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&                                       Context::getShaderAtomicInt64Features                                   (void) const { return m_device->getShaderAtomicInt64Features();                                 }
+ const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                  Context::getVertexAttributeDivisorFeatures                              (void) const { return m_device->getVertexAttributeDivisorFeatures();                    }
+ const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                 Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                  }
+ const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                       Context::getMeshShaderFeatures                                                  (void) const { return m_device->getMeshShaderFeatures();                                                }
+ const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                        Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                 }
+ const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV&                             Context::getShaderImageFootprintFeatures                                (void) const { return m_device->getShaderImageFootprintFeatures();                              }
+ const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                 Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                  }
+ const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                                       Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                 }
+ const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                              Context::getFragmentDensityMapFeatures                                  (void) const { return m_device->getFragmentDensityMapFeatures();                                }
+ const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                                       Context::getScalarBlockLayoutFeatures                                   (void) const { return m_device->getScalarBlockLayoutFeatures();                                 }
+ const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                  Context::getMemoryPriorityFeatures                                              (void) const { return m_device->getMemoryPriorityFeatures();                                    }
+ const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& Context::getDedicatedAllocationImageAliasingFeatures    (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures();  }
+ const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                             Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                               }
+ const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                        Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                 }
+ const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                            Context::getCoverageReductionModeFeatures                               (void) const { return m_device->getCoverageReductionModeFeatures();                             }
+ const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                        Context::getYcbcrImageArraysFeatures                                    (void) const { return m_device->getYcbcrImageArraysFeatures();                                  }
+ const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&             Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();               }
+ const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                                  Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                    }
+ const vk::VkPhysicalDeviceMultiviewFeatures&                                                  Context::getMultiviewFeatures                                                   (void) const { return m_device->getMultiviewFeatures();                                                 }
+ const vk::VkPhysicalDevice16BitStorageFeatures&                                                       Context::get16BitStorageFeatures                                                (void) const { return m_device->get16BitStorageFeatures();                                              }
+ const vk::VkPhysicalDeviceVariablePointersFeatures&                                           Context::getVariablePointersFeatures                                    (void) const { return m_device->getVariablePointersFeatures();                                  }
+ const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                             Context::getSamplerYcbcrConversionFeatures                              (void) const { return m_device->getSamplerYcbcrConversionFeatures();                    }
@@@ -1,28 -1,38 +1,40 @@@
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- const VkPhysicalDevice16BitStorageFeatures&                                           get16BitStorageFeatures                                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                          }
- const VkPhysicalDeviceMultiviewFeatures&                                              getMultiviewFeatures                                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                     }
- const VkPhysicalDeviceVariablePointersFeatures&                                       getVariablePointersFeatures                             (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                      }
- const VkPhysicalDeviceProtectedMemoryFeatures&                                        getProtectedMemoryFeatures                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                       }
- const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                 getSamplerYcbcrConversionFeatures               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                        }
- const VkPhysicalDeviceShaderDrawParametersFeatures&                           getShaderDrawParametersFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                          }
- const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                           getTransformFeedbackFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                          }
- const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                        getConditionalRenderingFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                       }
- const VkPhysicalDeviceFloat16Int8FeaturesKHR&                                 getFloat16Int8Features                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFloat16Int8FeaturesKHR>();                                        }
- const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                             getDepthClipEnableFeatures                              (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                            }
- const VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                        getImagelessFramebufferFeatures                 (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeaturesKHR>();                       }
- const VkPhysicalDevicePerformanceCounterFeaturesKHR&                  getPerformanceCounterFeatures                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePerformanceCounterFeaturesKHR>();                         }
- const VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                  getInlineUniformBlockFeatures                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>();                         }
- const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&              getBlendOperationAdvancedFeatures               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                     }
- const VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                  getDescriptorIndexingFeatures                   (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>();                         }
- const VkPhysicalDevice8BitStorageFeaturesKHR&                                 get8BitStorageFeatures                                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeaturesKHR>();                                        }
- const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&                           getShaderAtomicInt64Features                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicInt64FeaturesKHR>();                          }
- const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&              getVertexAttributeDivisorFeatures               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                     }
- const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                           getVulkanMemoryModelFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>();                          }
- const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                           getScalarBlockLayoutFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>();                          }
- const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                              getMemoryPriorityFeatures                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                     }
- const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                 getBufferDeviceAddressFeatures                  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                        }
- const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR& getUniformBufferStandardLayoutFeatures  (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR>();        }
- const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                            getCooperativeMatrixFeatures                    (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                           }
- const VkPhysicalDeviceHostQueryResetFeaturesEXT&                              getHostQueryResetFeatures                               (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeaturesEXT>();                                     }
+ const VkPhysicalDeviceProtectedMemoryFeatures&                                                getProtectedMemoryFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
+ const VkPhysicalDeviceShaderDrawParametersFeatures&                                   getShaderDrawParametersFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
+ const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                   getTransformFeedbackFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                                  }
+ const VkPhysicalDeviceCornerSampledImageFeaturesNV&                                   getCornerSampledImageFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCornerSampledImageFeaturesNV>();                                  }
+ const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                                getConditionalRenderingFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
+ const VkPhysicalDeviceFloat16Int8FeaturesKHR&                                         getFloat16Int8Features                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFloat16Int8FeaturesKHR>();                                                }
+ const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                     getDepthClipEnableFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
++const VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                                getImagelessFramebufferFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeaturesKHR>();                               }
++const VkPhysicalDevicePerformanceCounterFeaturesKHR&                          getPerformanceCounterFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePerformanceCounterFeaturesKHR>();                                 }
+ const VkPhysicalDeviceInlineUniformBlockFeaturesEXT&                          getInlineUniformBlockFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>();                                 }
+ const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                      getBlendOperationAdvancedFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                             }
+ const VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                          getDescriptorIndexingFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>();                                 }
+ const VkPhysicalDeviceShadingRateImageFeaturesNV&                                     getShadingRateImageFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
+ const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                   getRepresentativeFragmentTestFeatures           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>();                  }
+ const VkPhysicalDevice8BitStorageFeaturesKHR&                                         get8BitStorageFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeaturesKHR>();                                                }
+ const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&                                   getShaderAtomicInt64Features                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderAtomicInt64FeaturesKHR>();                                  }
+ const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                      getVertexAttributeDivisorFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
+ const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                     getComputeShaderDerivativesFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
+ const VkPhysicalDeviceMeshShaderFeaturesNV&                                                   getMeshShaderFeatures                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMeshShaderFeaturesNV>();                                                  }
+ const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                    getFragmentShaderBarycentricFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>();                   }
+ const VkPhysicalDeviceShaderImageFootprintFeaturesNV&                         getShaderImageFootprintFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV>();                                }
+ const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                     getExclusiveScissorFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
+ const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                                   getVulkanMemoryModelFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>();                                  }
+ const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                          getFragmentDensityMapFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
+ const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                                   getScalarBlockLayoutFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>();                                  }
+ const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                      getMemoryPriorityFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
+ const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&     getDedicatedAllocationImageAliasingFeatures     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>();    }
+ const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                         getBufferDeviceAddressFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
+ const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                    getCooperativeMatrixFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
+ const VkPhysicalDeviceCoverageReductionModeFeaturesNV&                                getCoverageReductionModeFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV>();                               }
+ const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                    getYcbcrImageArraysFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
+ const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&         getUniformBufferStandardLayoutFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR>();                }
+ const VkPhysicalDeviceHostQueryResetFeaturesEXT&                                      getHostQueryResetFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeaturesEXT>();                                             }
+ const VkPhysicalDeviceMultiviewFeatures&                                                      getMultiviewFeatures                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                             }
+ const VkPhysicalDevice16BitStorageFeatures&                                                   get16BitStorageFeatures                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                                  }
+ const VkPhysicalDeviceVariablePointersFeatures&                                               getVariablePointersFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVariablePointersFeatures>();                                              }
+ const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                         getSamplerYcbcrConversionFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                                }
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- 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;
- CreateSwapchainKHRFunc                                                        createSwapchainKHR;
- DestroySwapchainKHRFunc                                                       destroySwapchainKHR;
- GetSwapchainImagesKHRFunc                                             getSwapchainImagesKHR;
- AcquireNextImageKHRFunc                                                       acquireNextImageKHR;
- QueuePresentKHRFunc                                                           queuePresentKHR;
- GetDeviceGroupPresentCapabilitiesKHRFunc              getDeviceGroupPresentCapabilitiesKHR;
- GetDeviceGroupSurfacePresentModesKHRFunc              getDeviceGroupSurfacePresentModesKHR;
- AcquireNextImage2KHRFunc                                              acquireNextImage2KHR;
- CreateSharedSwapchainsKHRFunc                                 createSharedSwapchainsKHR;
- GetMemoryWin32HandleKHRFunc                                           getMemoryWin32HandleKHR;
- GetMemoryWin32HandlePropertiesKHRFunc                 getMemoryWin32HandlePropertiesKHR;
- GetMemoryFdKHRFunc                                                            getMemoryFdKHR;
- GetMemoryFdPropertiesKHRFunc                                  getMemoryFdPropertiesKHR;
- ImportSemaphoreWin32HandleKHRFunc                             importSemaphoreWin32HandleKHR;
- GetSemaphoreWin32HandleKHRFunc                                        getSemaphoreWin32HandleKHR;
- ImportSemaphoreFdKHRFunc                                              importSemaphoreFdKHR;
- GetSemaphoreFdKHRFunc                                                 getSemaphoreFdKHR;
- CmdPushDescriptorSetKHRFunc                                           cmdPushDescriptorSetKHR;
- CmdPushDescriptorSetWithTemplateKHRFunc                       cmdPushDescriptorSetWithTemplateKHR;
- CreateRenderPass2KHRFunc                                              createRenderPass2KHR;
- CmdBeginRenderPass2KHRFunc                                            cmdBeginRenderPass2KHR;
- CmdNextSubpass2KHRFunc                                                        cmdNextSubpass2KHR;
- CmdEndRenderPass2KHRFunc                                              cmdEndRenderPass2KHR;
- GetSwapchainStatusKHRFunc                                             getSwapchainStatusKHR;
- ImportFenceWin32HandleKHRFunc                                 importFenceWin32HandleKHR;
- GetFenceWin32HandleKHRFunc                                            getFenceWin32HandleKHR;
- ImportFenceFdKHRFunc                                                  importFenceFdKHR;
- GetFenceFdKHRFunc                                                             getFenceFdKHR;
- AcquireProfilingLockKHRFunc                                           acquireProfilingLockKHR;
- ReleaseProfilingLockKHRFunc                                           releaseProfilingLockKHR;
- DebugMarkerSetObjectTagEXTFunc                                        debugMarkerSetObjectTagEXT;
- DebugMarkerSetObjectNameEXTFunc                                       debugMarkerSetObjectNameEXT;
- CmdDebugMarkerBeginEXTFunc                                            cmdDebugMarkerBeginEXT;
- CmdDebugMarkerEndEXTFunc                                              cmdDebugMarkerEndEXT;
- CmdDebugMarkerInsertEXTFunc                                           cmdDebugMarkerInsertEXT;
- CmdBindTransformFeedbackBuffersEXTFunc                        cmdBindTransformFeedbackBuffersEXT;
- CmdBeginTransformFeedbackEXTFunc                              cmdBeginTransformFeedbackEXT;
- CmdEndTransformFeedbackEXTFunc                                        cmdEndTransformFeedbackEXT;
- CmdBeginQueryIndexedEXTFunc                                           cmdBeginQueryIndexedEXT;
- CmdEndQueryIndexedEXTFunc                                             cmdEndQueryIndexedEXT;
- CmdDrawIndirectByteCountEXTFunc                                       cmdDrawIndirectByteCountEXT;
- CmdDrawIndirectCountAMDFunc                                           cmdDrawIndirectCountAMD;
- CmdDrawIndexedIndirectCountAMDFunc                            cmdDrawIndexedIndirectCountAMD;
- CmdDrawIndirectCountKHRFunc                                           cmdDrawIndirectCountKHR;
- CmdDrawIndexedIndirectCountKHRFunc                            cmdDrawIndexedIndirectCountKHR;
- GetMemoryWin32HandleNVFunc                                            getMemoryWin32HandleNV;
- CmdBeginConditionalRenderingEXTFunc                           cmdBeginConditionalRenderingEXT;
- CmdEndConditionalRenderingEXTFunc                             cmdEndConditionalRenderingEXT;
- CmdProcessCommandsNVXFunc                                             cmdProcessCommandsNVX;
- CmdReserveSpaceForCommandsNVXFunc                             cmdReserveSpaceForCommandsNVX;
- CreateIndirectCommandsLayoutNVXFunc                           createIndirectCommandsLayoutNVX;
- DestroyIndirectCommandsLayoutNVXFunc                  destroyIndirectCommandsLayoutNVX;
- CreateObjectTableNVXFunc                                              createObjectTableNVX;
- DestroyObjectTableNVXFunc                                             destroyObjectTableNVX;
- RegisterObjectsNVXFunc                                                        registerObjectsNVX;
- UnregisterObjectsNVXFunc                                              unregisterObjectsNVX;
- CmdSetViewportWScalingNVFunc                                  cmdSetViewportWScalingNV;
- DisplayPowerControlEXTFunc                                            displayPowerControlEXT;
- RegisterDeviceEventEXTFunc                                            registerDeviceEventEXT;
- RegisterDisplayEventEXTFunc                                           registerDisplayEventEXT;
- GetSwapchainCounterEXTFunc                                            getSwapchainCounterEXT;
- GetRefreshCycleDurationGOOGLEFunc                             getRefreshCycleDurationGOOGLE;
- GetPastPresentationTimingGOOGLEFunc                           getPastPresentationTimingGOOGLE;
- CmdSetDiscardRectangleEXTFunc                                 cmdSetDiscardRectangleEXT;
- SetHdrMetadataEXTFunc                                                 setHdrMetadataEXT;
- CmdSetSampleLocationsEXTFunc                                  cmdSetSampleLocationsEXT;
- CreateValidationCacheEXTFunc                                  createValidationCacheEXT;
- DestroyValidationCacheEXTFunc                                 destroyValidationCacheEXT;
- MergeValidationCachesEXTFunc                                  mergeValidationCachesEXT;
- GetValidationCacheDataEXTFunc                                 getValidationCacheDataEXT;
- GetMemoryHostPointerPropertiesEXTFunc                 getMemoryHostPointerPropertiesEXT;
- GetAndroidHardwareBufferPropertiesANDROIDFunc getAndroidHardwareBufferPropertiesANDROID;
- GetMemoryAndroidHardwareBufferANDROIDFunc             getMemoryAndroidHardwareBufferANDROID;
- GetBufferDeviceAddressEXTFunc                                 getBufferDeviceAddressEXT;
- ResetQueryPoolEXTFunc                                                 resetQueryPoolEXT;
- GetCalibratedTimestampsEXTFunc                                        getCalibratedTimestampsEXT;
+ 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;
+ 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;
+ CreateRenderPass2KHRFunc                                                      createRenderPass2KHR;
+ CmdBeginRenderPass2KHRFunc                                                    cmdBeginRenderPass2KHR;
+ CmdNextSubpass2KHRFunc                                                                cmdNextSubpass2KHR;
+ CmdEndRenderPass2KHRFunc                                                      cmdEndRenderPass2KHR;
+ GetSwapchainStatusKHRFunc                                                     getSwapchainStatusKHR;
+ ImportFenceFdKHRFunc                                                          importFenceFdKHR;
+ GetFenceFdKHRFunc                                                                     getFenceFdKHR;
++AcquireProfilingLockKHRFunc                                                   acquireProfilingLockKHR;
++ReleaseProfilingLockKHRFunc                                                   releaseProfilingLockKHR;
+ CmdDrawIndirectCountKHRFunc                                                   cmdDrawIndirectCountKHR;
+ CmdDrawIndexedIndirectCountKHRFunc                                    cmdDrawIndexedIndirectCountKHR;
+ DebugMarkerSetObjectTagEXTFunc                                                debugMarkerSetObjectTagEXT;
+ DebugMarkerSetObjectNameEXTFunc                                               debugMarkerSetObjectNameEXT;
+ CmdDebugMarkerBeginEXTFunc                                                    cmdDebugMarkerBeginEXT;
+ CmdDebugMarkerEndEXTFunc                                                      cmdDebugMarkerEndEXT;
+ CmdDebugMarkerInsertEXTFunc                                                   cmdDebugMarkerInsertEXT;
+ CmdBindTransformFeedbackBuffersEXTFunc                                cmdBindTransformFeedbackBuffersEXT;
+ CmdBeginTransformFeedbackEXTFunc                                      cmdBeginTransformFeedbackEXT;
+ CmdEndTransformFeedbackEXTFunc                                                cmdEndTransformFeedbackEXT;
+ CmdBeginQueryIndexedEXTFunc                                                   cmdBeginQueryIndexedEXT;
+ CmdEndQueryIndexedEXTFunc                                                     cmdEndQueryIndexedEXT;
+ CmdDrawIndirectByteCountEXTFunc                                               cmdDrawIndirectByteCountEXT;
+ GetImageViewHandleNVXFunc                                                     getImageViewHandleNVX;
+ CmdDrawIndirectCountAMDFunc                                                   cmdDrawIndirectCountAMD;
+ CmdDrawIndexedIndirectCountAMDFunc                                    cmdDrawIndexedIndirectCountAMD;
+ GetShaderInfoAMDFunc                                                          getShaderInfoAMD;
+ CmdBeginConditionalRenderingEXTFunc                                   cmdBeginConditionalRenderingEXT;
+ CmdEndConditionalRenderingEXTFunc                                     cmdEndConditionalRenderingEXT;
+ CmdProcessCommandsNVXFunc                                                     cmdProcessCommandsNVX;
+ CmdReserveSpaceForCommandsNVXFunc                                     cmdReserveSpaceForCommandsNVX;
+ CreateIndirectCommandsLayoutNVXFunc                                   createIndirectCommandsLayoutNVX;
+ DestroyIndirectCommandsLayoutNVXFunc                          destroyIndirectCommandsLayoutNVX;
+ CreateObjectTableNVXFunc                                                      createObjectTableNVX;
+ DestroyObjectTableNVXFunc                                                     destroyObjectTableNVX;
+ RegisterObjectsNVXFunc                                                                registerObjectsNVX;
+ UnregisterObjectsNVXFunc                                                      unregisterObjectsNVX;
+ 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;
+ 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;
+ SetLocalDimmingAMDFunc                                                                setLocalDimmingAMD;
+ GetBufferDeviceAddressEXTFunc                                         getBufferDeviceAddressEXT;
+ ResetQueryPoolEXTFunc                                                         resetQueryPoolEXT;
+ GetAndroidHardwareBufferPropertiesANDROIDFunc         getAndroidHardwareBufferPropertiesANDROID;
+ GetMemoryAndroidHardwareBufferANDROIDFunc                     getMemoryAndroidHardwareBufferANDROID;
+ GetMemoryWin32HandleKHRFunc                                                   getMemoryWin32HandleKHR;
+ GetMemoryWin32HandlePropertiesKHRFunc                         getMemoryWin32HandlePropertiesKHR;
+ ImportSemaphoreWin32HandleKHRFunc                                     importSemaphoreWin32HandleKHR;
+ GetSemaphoreWin32HandleKHRFunc                                                getSemaphoreWin32HandleKHR;
+ ImportFenceWin32HandleKHRFunc                                         importFenceWin32HandleKHR;
+ GetFenceWin32HandleKHRFunc                                                    getFenceWin32HandleKHR;
+ GetMemoryWin32HandleNVFunc                                                    getMemoryWin32HandleNV;
+ AcquireFullScreenExclusiveModeEXTFunc                         acquireFullScreenExclusiveModeEXT;
+ ReleaseFullScreenExclusiveModeEXTFunc                         releaseFullScreenExclusiveModeEXT;
+ GetDeviceGroupSurfacePresentModes2EXTFunc                     getDeviceGroupSurfacePresentModes2EXT;
@@@ -62,18 -37,21 +37,26 @@@ void getInstanceExtensionFunctions (deU
                functions.push_back("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
        }
        else if (extName == "VK_KHR_device_group_creation")
+       {
                functions.push_back("vkEnumeratePhysicalDeviceGroupsKHR");
+       }
        else if (extName == "VK_KHR_external_memory_capabilities")
+       {
                functions.push_back("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
+       }
        else if (extName == "VK_KHR_external_semaphore_capabilities")
+       {
                functions.push_back("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
+       }
        else if (extName == "VK_KHR_external_fence_capabilities")
+       {
                functions.push_back("vkGetPhysicalDeviceExternalFencePropertiesKHR");
+       }
 +      else if (extName == "VK_KHR_performance_query")
 +      {
 +              functions.push_back("vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
 +              functions.push_back("vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
 +      }
        else if (extName == "VK_KHR_get_surface_capabilities2")
        {
                functions.push_back("vkGetPhysicalDeviceSurfaceCapabilities2KHR");
@@@ -194,15 -240,10 +245,15 @@@ void getDeviceExtensionFunctions (deUin
                functions.push_back("vkImportFenceFdKHR");
                functions.push_back("vkGetFenceFdKHR");
        }
 +      else if (extName == "VK_KHR_performance_query")
 +      {
 +              functions.push_back("vkAcquireProfilingLockKHR");
 +              functions.push_back("vkReleaseProfilingLockKHR");
 +      }
        else if (extName == "VK_KHR_get_memory_requirements2")
        {
-               functions.push_back("vkGetBufferMemoryRequirements2KHR");
                functions.push_back("vkGetImageMemoryRequirements2KHR");
+               functions.push_back("vkGetBufferMemoryRequirements2KHR");
                functions.push_back("vkGetImageSparseMemoryRequirements2KHR");
        }
        else if (extName == "VK_KHR_sampler_ycbcr_conversion")
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateInstanceFunc)                                                                                                (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyInstanceFunc)                                                                                               (VkInstance instance, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumeratePhysicalDevicesFunc)                                                                              (VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFeaturesFunc)                                                                             (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFormatPropertiesFunc)                                                             (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceImageFormatPropertiesFunc)                                                (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDevicePropertiesFunc)                                                                   (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPropertiesFunc)                                                (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMemoryPropertiesFunc)                                                             (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
- typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetInstanceProcAddrFunc)                                                                                   (VkInstance instance, const char* pName);
- typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetDeviceProcAddrFunc)                                                                                             (VkDevice device, const char* pName);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDeviceFunc)                                                                                                  (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDeviceFunc)                                                                                                 (VkDevice device, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateInstanceExtensionPropertiesFunc)                                                  (const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateDeviceExtensionPropertiesFunc)                                                    (VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateInstanceLayerPropertiesFunc)                                                              (deUint32* pPropertyCount, VkLayerProperties* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateDeviceLayerPropertiesFunc)                                                                (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceQueueFunc)                                                                                                (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueueSubmitFunc)                                                                                                   (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueueWaitIdleFunc)                                                                                                 (VkQueue queue);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DeviceWaitIdleFunc)                                                                                                (VkDevice device);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AllocateMemoryFunc)                                                                                                (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* FreeMemoryFunc)                                                                                                    (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* MapMemoryFunc)                                                                                                             (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* UnmapMemoryFunc)                                                                                                   (VkDevice device, VkDeviceMemory memory);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* FlushMappedMemoryRangesFunc)                                                                               (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* InvalidateMappedMemoryRangesFunc)                                                                  (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceMemoryCommitmentFunc)                                                                             (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindBufferMemoryFunc)                                                                                              (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindImageMemoryFunc)                                                                                               (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetBufferMemoryRequirementsFunc)                                                                   (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageMemoryRequirementsFunc)                                                                    (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSparseMemoryRequirementsFunc)                                                              (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatPropertiesFunc)                                  (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueueBindSparseFunc)                                                                                               (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateFenceFunc)                                                                                                   (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyFenceFunc)                                                                                                  (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetFencesFunc)                                                                                                   (VkDevice device, deUint32 fenceCount, const VkFence* pFences);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetFenceStatusFunc)                                                                                                (VkDevice device, VkFence fence);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* WaitForFencesFunc)                                                                                                 (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSemaphoreFunc)                                                                                               (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySemaphoreFunc)                                                                                              (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateEventFunc)                                                                                                   (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyEventFunc)                                                                                                  (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetEventStatusFunc)                                                                                                (VkDevice device, VkEvent event);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* SetEventFunc)                                                                                                              (VkDevice device, VkEvent event);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetEventFunc)                                                                                                    (VkDevice device, VkEvent event);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateQueryPoolFunc)                                                                                               (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyQueryPoolFunc)                                                                                              (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetQueryPoolResultsFunc)                                                                                   (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateBufferFunc)                                                                                                  (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyBufferFunc)                                                                                                 (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateBufferViewFunc)                                                                                              (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyBufferViewFunc)                                                                                             (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateImageFunc)                                                                                                   (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyImageFunc)                                                                                                  (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSubresourceLayoutFunc)                                                                             (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateImageViewFunc)                                                                                               (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyImageViewFunc)                                                                                              (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateShaderModuleFunc)                                                                                    (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyShaderModuleFunc)                                                                                   (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreatePipelineCacheFunc)                                                                                   (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyPipelineCacheFunc)                                                                                  (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPipelineCacheDataFunc)                                                                                  (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* MergePipelineCachesFunc)                                                                                   (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateGraphicsPipelinesFunc)                                                                               (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateComputePipelinesFunc)                                                                                (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyPipelineFunc)                                                                                               (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreatePipelineLayoutFunc)                                                                                  (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyPipelineLayoutFunc)                                                                                 (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSamplerFunc)                                                                                                 (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySamplerFunc)                                                                                                (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorSetLayoutFunc)                                                                             (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorSetLayoutFunc)                                                                    (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorPoolFunc)                                                                                  (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorPoolFunc)                                                                                 (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetDescriptorPoolFunc)                                                                                   (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AllocateDescriptorSetsFunc)                                                                                (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* FreeDescriptorSetsFunc)                                                                                    (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* UpdateDescriptorSetsFunc)                                                                                  (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateFramebufferFunc)                                                                                             (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyFramebufferFunc)                                                                                    (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateRenderPassFunc)                                                                                              (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyRenderPassFunc)                                                                                             (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetRenderAreaGranularityFunc)                                                                              (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateCommandPoolFunc)                                                                                             (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyCommandPoolFunc)                                                                                    (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetCommandPoolFunc)                                                                                              (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AllocateCommandBuffersFunc)                                                                                (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* FreeCommandBuffersFunc)                                                                                    (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BeginCommandBufferFunc)                                                                                    (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EndCommandBufferFunc)                                                                                              (VkCommandBuffer commandBuffer);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetCommandBufferFunc)                                                                                    (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindPipelineFunc)                                                                                               (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetViewportFunc)                                                                                                (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetScissorFunc)                                                                                                 (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetLineWidthFunc)                                                                                               (VkCommandBuffer commandBuffer, float lineWidth);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDepthBiasFunc)                                                                                               (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetBlendConstantsFunc)                                                                                  (VkCommandBuffer commandBuffer, const float blendConstants[4]);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDepthBoundsFunc)                                                                                             (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetStencilCompareMaskFunc)                                                                              (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetStencilWriteMaskFunc)                                                                                (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetStencilReferenceFunc)                                                                                (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindDescriptorSetsFunc)                                                                                 (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindIndexBufferFunc)                                                                                    (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindVertexBuffersFunc)                                                                                  (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawFunc)                                                                                                               (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedFunc)                                                                                                (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectFunc)                                                                                               (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedIndirectFunc)                                                                                (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchFunc)                                                                                                   (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchIndirectFunc)                                                                                   (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyBufferFunc)                                                                                                 (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyImageFunc)                                                                                                  (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBlitImageFunc)                                                                                                  (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyBufferToImageFunc)                                                                                  (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyImageToBufferFunc)                                                                                  (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdUpdateBufferFunc)                                                                                               (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdFillBufferFunc)                                                                                                 (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdClearColorImageFunc)                                                                                    (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdClearDepthStencilImageFunc)                                                                             (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdClearAttachmentsFunc)                                                                                   (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdResolveImageFunc)                                                                                               (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetEventFunc)                                                                                                   (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdResetEventFunc)                                                                                                 (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdWaitEventsFunc)                                                                                                 (VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPipelineBarrierFunc)                                                                                    (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginQueryFunc)                                                                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndQueryFunc)                                                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdResetQueryPoolFunc)                                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdWriteTimestampFunc)                                                                                             (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyQueryPoolResultsFunc)                                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPushConstantsFunc)                                                                                              (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginRenderPassFunc)                                                                                    (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdNextSubpassFunc)                                                                                                (VkCommandBuffer commandBuffer, VkSubpassContents contents);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndRenderPassFunc)                                                                                              (VkCommandBuffer commandBuffer);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdExecuteCommandsFunc)                                                                                    (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateInstanceVersionFunc)                                                                              (deUint32* pApiVersion);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindBufferMemory2Func)                                                                                             (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindImageMemory2Func)                                                                                              (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesFunc)                                                              (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDeviceMaskFunc)                                                                                              (VkCommandBuffer commandBuffer, deUint32 deviceMask);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchBaseFunc)                                                                                               (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumeratePhysicalDeviceGroupsFunc)                                                                 (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageMemoryRequirements2Func)                                                                   (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetBufferMemoryRequirements2Func)                                                                  (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSparseMemoryRequirements2Func)                                                             (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFeatures2Func)                                                                    (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceProperties2Func)                                                                  (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFormatProperties2Func)                                                    (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2Func)                                               (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2Func)                                               (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2Func)                                                    (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2Func)                                 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* TrimCommandPoolFunc)                                                                                               (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceQueue2Func)                                                                                               (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSamplerYcbcrConversionFunc)                                                                  (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySamplerYcbcrConversionFunc)                                                                 (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorUpdateTemplateFunc)                                                                (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorUpdateTemplateFunc)                                                               (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* UpdateDescriptorSetWithTemplateFunc)                                                               (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesFunc)                                             (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesFunc)                                              (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesFunc)                                  (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDescriptorSetLayoutSupportFunc)                                                                 (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySurfaceKHRFunc)                                                                                             (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceSupportKHRFunc)                                                    (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilitiesKHRFunc)                                               (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceFormatsKHRFunc)                                                    (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModesKHRFunc)                                               (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSwapchainKHRFunc)                                                                                    (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySwapchainKHRFunc)                                                                                   (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSwapchainImagesKHRFunc)                                                                                 (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireNextImageKHRFunc)                                                                                   (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueuePresentKHRFunc)                                                                                               (VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDeviceGroupPresentCapabilitiesKHRFunc)                                                  (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDeviceGroupSurfacePresentModesKHRFunc)                                                  (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDevicePresentRectanglesKHRFunc)                                                 (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireNextImage2KHRFunc)                                                                                  (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayPropertiesKHRFunc)                                                 (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayPlanePropertiesKHRFunc)                                    (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayPlaneSupportedDisplaysKHRFunc)                                                   (VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayModePropertiesKHRFunc)                                                                   (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDisplayModeKHRFunc)                                                                                  (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc)                                                                (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc)                                                                  (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSharedSwapchainsKHRFunc)                                                                             (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateXlibSurfaceKHRFunc)                                                                                  (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceXlibPresentationSupportKHRFunc)                                   (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateXcbSurfaceKHRFunc)                                                                                   (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceXcbPresentationSupportKHRFunc)                                    (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateWaylandSurfaceKHRFunc)                                                                               (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceWaylandPresentationSupportKHRFunc)                                (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateMirSurfaceKHRFunc)                                                                                   (VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceMirPresentationSupportKHRFunc)                                    (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::MirConnectionPtr connection);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateAndroidSurfaceKHRFunc)                                                                               (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateWin32SurfaceKHRFunc)                                                                                 (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceWin32PresentationSupportKHRFunc)                                  (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc)                                                                 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFormatProperties2KHRFunc)                                                 (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2KHRFunc)                                    (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2KHRFunc)                                                 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc)                                                               (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2KHRFunc)                                    (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2KHRFunc)                              (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchBaseKHRFunc)                                                                                    (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDeviceMaskKHRFunc)                                                                                   (VkCommandBuffer commandBuffer, deUint32 deviceMask);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesKHRFunc)                                                   (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* TrimCommandPoolKHRFunc)                                                                                    (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumeratePhysicalDeviceGroupsKHRFunc)                                                              (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesKHRFunc)                                  (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryWin32HandleKHRFunc)                                                                               (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryWin32HandlePropertiesKHRFunc)                                                             (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryFdKHRFunc)                                                                                                (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryFdPropertiesKHRFunc)                                                                              (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc)                               (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportSemaphoreWin32HandleKHRFunc)                                                                 (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSemaphoreWin32HandleKHRFunc)                                                                    (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportSemaphoreFdKHRFunc)                                                                                  (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSemaphoreFdKHRFunc)                                                                                             (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPushDescriptorSetKHRFunc)                                                                               (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPushDescriptorSetWithTemplateKHRFunc)                                                   (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorUpdateTemplateKHRFunc)                                                             (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorUpdateTemplateKHRFunc)                                                    (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* UpdateDescriptorSetWithTemplateKHRFunc)                                                    (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateRenderPass2KHRFunc)                                                                                  (VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginRenderPass2KHRFunc)                                                                                (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdNextSubpass2KHRFunc)                                                                                    (VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndRenderPass2KHRFunc)                                                                                  (VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSwapchainStatusKHRFunc)                                                                                 (VkDevice device, VkSwapchainKHR swapchain);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesKHRFunc)                                   (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportFenceWin32HandleKHRFunc)                                                                             (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetFenceWin32HandleKHRFunc)                                                                                (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportFenceFdKHRFunc)                                                                                              (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetFenceFdKHRFunc)                                                                                                 (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc) (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc)                 (VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireProfilingLockKHRFunc)                                                                               (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* ReleaseProfilingLockKHRFunc)                                                                               (VkDevice device);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2KHRFunc)                                              (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceFormats2KHRFunc)                                                   (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayProperties2KHRFunc)                                                (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayPlaneProperties2KHRFunc)                                   (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayModeProperties2KHRFunc)                                                                  (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayPlaneCapabilities2KHRFunc)                                                               (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetBufferMemoryRequirements2KHRFunc)                                                               (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageMemoryRequirements2KHRFunc)                                                                (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSparseMemoryRequirements2KHRFunc)                                                  (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSamplerYcbcrConversionKHRFunc)                                                               (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySamplerYcbcrConversionKHRFunc)                                                              (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindBufferMemory2KHRFunc)                                                                                  (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindImageMemory2KHRFunc)                                                                                   (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDescriptorSetLayoutSupportKHRFunc)                                                              (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDebugReportCallbackEXTFunc)                                                                  (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDebugReportCallbackEXTFunc)                                                                 (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DebugReportMessageEXTFunc)                                                                                 (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DebugMarkerSetObjectTagEXTFunc)                                                                    (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DebugMarkerSetObjectNameEXTFunc)                                                                   (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDebugMarkerBeginEXTFunc)                                                                                (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDebugMarkerEndEXTFunc)                                                                                  (VkCommandBuffer commandBuffer);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDebugMarkerInsertEXTFunc)                                                                               (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindTransformFeedbackBuffersEXTFunc)                                                    (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginTransformFeedbackEXTFunc)                                                                  (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndTransformFeedbackEXTFunc)                                                                    (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginQueryIndexedEXTFunc)                                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndQueryIndexedEXTFunc)                                                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectByteCountEXTFunc)                                                                   (VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectCountAMDFunc)                                                                               (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedIndirectCountAMDFunc)                                                                (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectCountKHRFunc)                                                                               (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedIndirectCountKHRFunc)                                                                (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceExternalImageFormatPropertiesNVFunc)                              (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryWin32HandleNVFunc)                                                                                (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateViSurfaceNNFunc)                                                                                             (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginConditionalRenderingEXTFunc)                                                               (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndConditionalRenderingEXTFunc)                                                                 (VkCommandBuffer commandBuffer);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdProcessCommandsNVXFunc)                                                                                 (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdReserveSpaceForCommandsNVXFunc)                                                                 (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateIndirectCommandsLayoutNVXFunc)                                                               (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyIndirectCommandsLayoutNVXFunc)                                                              (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateObjectTableNVXFunc)                                                                                  (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyObjectTableNVXFunc)                                                                                 (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* RegisterObjectsNVXFunc)                                                                                    (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* UnregisterObjectsNVXFunc)                                                                                  (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc)                               (VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetViewportWScalingNVFunc)                                                                              (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ReleaseDisplayEXTFunc)                                                                                             (VkPhysicalDevice physicalDevice, VkDisplayKHR display);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireXlibDisplayEXTFunc)                                                                                 (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetRandROutputDisplayEXTFunc)                                                                              (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2EXTFunc)                                              (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DisplayPowerControlEXTFunc)                                                                                (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* RegisterDeviceEventEXTFunc)                                                                                (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* RegisterDisplayEventEXTFunc)                                                                               (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSwapchainCounterEXTFunc)                                                                                (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetRefreshCycleDurationGOOGLEFunc)                                                                 (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPastPresentationTimingGOOGLEFunc)                                                               (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDiscardRectangleEXTFunc)                                                                             (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* SetHdrMetadataEXTFunc)                                                                                             (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateIOSSurfaceMVKFunc)                                                                                   (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateMacOSSurfaceMVKFunc)                                                                                 (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetSampleLocationsEXTFunc)                                                                              (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMultisamplePropertiesEXTFunc)                                             (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateValidationCacheEXTFunc)                                                                              (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyValidationCacheEXTFunc)                                                                             (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* MergeValidationCachesEXTFunc)                                                                              (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetValidationCacheDataEXTFunc)                                                                             (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryHostPointerPropertiesEXTFunc)                                                             (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetAndroidHardwareBufferPropertiesANDROIDFunc)                                             (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryAndroidHardwareBufferANDROIDFunc)                                                 (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer);
- typedef VKAPI_ATTR VkDeviceAddress            (VKAPI_CALL* GetBufferDeviceAddressEXTFunc)                                                                             (VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc)                                (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
- typedef VKAPI_ATTR void                                       (VKAPI_CALL* ResetQueryPoolEXTFunc)                                                                                             (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc)                                  (VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
- typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetCalibratedTimestampsEXTFunc)                                                                    (VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateInstanceFunc)                                                                                                        (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyInstanceFunc)                                                                                                       (VkInstance instance, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumeratePhysicalDevicesFunc)                                                                                      (VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFeaturesFunc)                                                                                     (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFormatPropertiesFunc)                                                                     (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceImageFormatPropertiesFunc)                                                        (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDevicePropertiesFunc)                                                                           (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPropertiesFunc)                                                        (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMemoryPropertiesFunc)                                                                     (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
+ typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetInstanceProcAddrFunc)                                                                                           (VkInstance instance, const char* pName);
+ typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetDeviceProcAddrFunc)                                                                                                     (VkDevice device, const char* pName);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDeviceFunc)                                                                                                          (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDeviceFunc)                                                                                                         (VkDevice device, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateInstanceExtensionPropertiesFunc)                                                          (const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateDeviceExtensionPropertiesFunc)                                                            (VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateInstanceLayerPropertiesFunc)                                                                      (deUint32* pPropertyCount, VkLayerProperties* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateDeviceLayerPropertiesFunc)                                                                        (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceQueueFunc)                                                                                                        (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueueSubmitFunc)                                                                                                           (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueueWaitIdleFunc)                                                                                                         (VkQueue queue);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DeviceWaitIdleFunc)                                                                                                        (VkDevice device);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AllocateMemoryFunc)                                                                                                        (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* FreeMemoryFunc)                                                                                                            (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* MapMemoryFunc)                                                                                                                     (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* UnmapMemoryFunc)                                                                                                           (VkDevice device, VkDeviceMemory memory);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* FlushMappedMemoryRangesFunc)                                                                                       (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* InvalidateMappedMemoryRangesFunc)                                                                          (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceMemoryCommitmentFunc)                                                                                     (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindBufferMemoryFunc)                                                                                                      (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindImageMemoryFunc)                                                                                                       (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetBufferMemoryRequirementsFunc)                                                                           (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageMemoryRequirementsFunc)                                                                            (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSparseMemoryRequirementsFunc)                                                                      (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatPropertiesFunc)                                          (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueueBindSparseFunc)                                                                                                       (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateFenceFunc)                                                                                                           (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyFenceFunc)                                                                                                          (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetFencesFunc)                                                                                                           (VkDevice device, deUint32 fenceCount, const VkFence* pFences);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetFenceStatusFunc)                                                                                                        (VkDevice device, VkFence fence);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* WaitForFencesFunc)                                                                                                         (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSemaphoreFunc)                                                                                                       (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySemaphoreFunc)                                                                                                      (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateEventFunc)                                                                                                           (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyEventFunc)                                                                                                          (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetEventStatusFunc)                                                                                                        (VkDevice device, VkEvent event);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* SetEventFunc)                                                                                                                      (VkDevice device, VkEvent event);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetEventFunc)                                                                                                            (VkDevice device, VkEvent event);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateQueryPoolFunc)                                                                                                       (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyQueryPoolFunc)                                                                                                      (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetQueryPoolResultsFunc)                                                                                           (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateBufferFunc)                                                                                                          (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyBufferFunc)                                                                                                         (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateBufferViewFunc)                                                                                                      (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyBufferViewFunc)                                                                                                     (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateImageFunc)                                                                                                           (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyImageFunc)                                                                                                          (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSubresourceLayoutFunc)                                                                                     (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateImageViewFunc)                                                                                                       (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyImageViewFunc)                                                                                                      (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateShaderModuleFunc)                                                                                            (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyShaderModuleFunc)                                                                                           (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreatePipelineCacheFunc)                                                                                           (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyPipelineCacheFunc)                                                                                          (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPipelineCacheDataFunc)                                                                                          (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* MergePipelineCachesFunc)                                                                                           (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateGraphicsPipelinesFunc)                                                                                       (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateComputePipelinesFunc)                                                                                        (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyPipelineFunc)                                                                                                       (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreatePipelineLayoutFunc)                                                                                          (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyPipelineLayoutFunc)                                                                                         (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSamplerFunc)                                                                                                         (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySamplerFunc)                                                                                                        (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorSetLayoutFunc)                                                                                     (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorSetLayoutFunc)                                                                            (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorPoolFunc)                                                                                          (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorPoolFunc)                                                                                         (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetDescriptorPoolFunc)                                                                                           (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AllocateDescriptorSetsFunc)                                                                                        (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* FreeDescriptorSetsFunc)                                                                                            (VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* UpdateDescriptorSetsFunc)                                                                                          (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateFramebufferFunc)                                                                                                     (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyFramebufferFunc)                                                                                            (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateRenderPassFunc)                                                                                                      (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyRenderPassFunc)                                                                                                     (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetRenderAreaGranularityFunc)                                                                                      (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateCommandPoolFunc)                                                                                                     (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyCommandPoolFunc)                                                                                            (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetCommandPoolFunc)                                                                                                      (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AllocateCommandBuffersFunc)                                                                                        (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* FreeCommandBuffersFunc)                                                                                            (VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BeginCommandBufferFunc)                                                                                            (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EndCommandBufferFunc)                                                                                                      (VkCommandBuffer commandBuffer);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ResetCommandBufferFunc)                                                                                            (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindPipelineFunc)                                                                                                       (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetViewportFunc)                                                                                                        (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetScissorFunc)                                                                                                         (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetLineWidthFunc)                                                                                                       (VkCommandBuffer commandBuffer, float lineWidth);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDepthBiasFunc)                                                                                                       (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetBlendConstantsFunc)                                                                                          (VkCommandBuffer commandBuffer, const float blendConstants[4]);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDepthBoundsFunc)                                                                                                     (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetStencilCompareMaskFunc)                                                                                      (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetStencilWriteMaskFunc)                                                                                        (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetStencilReferenceFunc)                                                                                        (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindDescriptorSetsFunc)                                                                                         (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindIndexBufferFunc)                                                                                            (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindVertexBuffersFunc)                                                                                          (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawFunc)                                                                                                                       (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedFunc)                                                                                                        (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectFunc)                                                                                                       (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedIndirectFunc)                                                                                        (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchFunc)                                                                                                           (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchIndirectFunc)                                                                                           (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyBufferFunc)                                                                                                         (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyImageFunc)                                                                                                          (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBlitImageFunc)                                                                                                          (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyBufferToImageFunc)                                                                                          (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyImageToBufferFunc)                                                                                          (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdUpdateBufferFunc)                                                                                                       (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdFillBufferFunc)                                                                                                         (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdClearColorImageFunc)                                                                                            (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdClearDepthStencilImageFunc)                                                                                     (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdClearAttachmentsFunc)                                                                                           (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdResolveImageFunc)                                                                                                       (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetEventFunc)                                                                                                           (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdResetEventFunc)                                                                                                         (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdWaitEventsFunc)                                                                                                         (VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPipelineBarrierFunc)                                                                                            (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginQueryFunc)                                                                                                         (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndQueryFunc)                                                                                                           (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdResetQueryPoolFunc)                                                                                                     (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdWriteTimestampFunc)                                                                                                     (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyQueryPoolResultsFunc)                                                                                       (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPushConstantsFunc)                                                                                                      (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginRenderPassFunc)                                                                                            (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdNextSubpassFunc)                                                                                                        (VkCommandBuffer commandBuffer, VkSubpassContents contents);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndRenderPassFunc)                                                                                                      (VkCommandBuffer commandBuffer);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdExecuteCommandsFunc)                                                                                            (VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumerateInstanceVersionFunc)                                                                                      (deUint32* pApiVersion);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindBufferMemory2Func)                                                                                                     (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindImageMemory2Func)                                                                                                      (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesFunc)                                                                      (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDeviceMaskFunc)                                                                                                      (VkCommandBuffer commandBuffer, deUint32 deviceMask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchBaseFunc)                                                                                                       (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumeratePhysicalDeviceGroupsFunc)                                                                         (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageMemoryRequirements2Func)                                                                           (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetBufferMemoryRequirements2Func)                                                                          (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSparseMemoryRequirements2Func)                                                                     (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFeatures2Func)                                                                            (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceProperties2Func)                                                                          (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFormatProperties2Func)                                                            (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2Func)                                                       (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2Func)                                                       (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2Func)                                                            (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2Func)                                         (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* TrimCommandPoolFunc)                                                                                                       (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceQueue2Func)                                                                                                       (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSamplerYcbcrConversionFunc)                                                                          (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySamplerYcbcrConversionFunc)                                                                         (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorUpdateTemplateFunc)                                                                        (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorUpdateTemplateFunc)                                                                       (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* UpdateDescriptorSetWithTemplateFunc)                                                                       (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesFunc)                                                     (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesFunc)                                                      (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesFunc)                                          (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDescriptorSetLayoutSupportFunc)                                                                         (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySurfaceKHRFunc)                                                                                                     (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceSupportKHRFunc)                                                            (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilitiesKHRFunc)                                                       (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceFormatsKHRFunc)                                                            (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModesKHRFunc)                                                       (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSwapchainKHRFunc)                                                                                            (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySwapchainKHRFunc)                                                                                           (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSwapchainImagesKHRFunc)                                                                                         (VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireNextImageKHRFunc)                                                                                           (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* QueuePresentKHRFunc)                                                                                                       (VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDeviceGroupPresentCapabilitiesKHRFunc)                                                          (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDeviceGroupSurfacePresentModesKHRFunc)                                                          (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDevicePresentRectanglesKHRFunc)                                                         (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireNextImage2KHRFunc)                                                                                          (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayPropertiesKHRFunc)                                                         (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayPlanePropertiesKHRFunc)                                            (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayPlaneSupportedDisplaysKHRFunc)                                                           (VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayModePropertiesKHRFunc)                                                                           (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDisplayModeKHRFunc)                                                                                          (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc)                                                                        (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc)                                                                          (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSharedSwapchainsKHRFunc)                                                                                     (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc)                                                                         (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc)                                                                       (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceFormatProperties2KHRFunc)                                                         (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2KHRFunc)                                            (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2KHRFunc)                                            (VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2KHRFunc)                                                         (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2KHRFunc)                                      (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesKHRFunc)                                                           (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDeviceMaskKHRFunc)                                                                                           (VkCommandBuffer commandBuffer, deUint32 deviceMask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDispatchBaseKHRFunc)                                                                                            (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* TrimCommandPoolKHRFunc)                                                                                            (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* EnumeratePhysicalDeviceGroupsKHRFunc)                                                                      (VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesKHRFunc)                                          (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryFdKHRFunc)                                                                                                        (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryFdPropertiesKHRFunc)                                                                                      (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc)                                       (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportSemaphoreFdKHRFunc)                                                                                          (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSemaphoreFdKHRFunc)                                                                                                     (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPushDescriptorSetKHRFunc)                                                                                       (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdPushDescriptorSetWithTemplateKHRFunc)                                                           (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDescriptorUpdateTemplateKHRFunc)                                                                     (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDescriptorUpdateTemplateKHRFunc)                                                            (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* UpdateDescriptorSetWithTemplateKHRFunc)                                                            (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateRenderPass2KHRFunc)                                                                                          (VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginRenderPass2KHRFunc)                                                                                        (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdNextSubpass2KHRFunc)                                                                                            (VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndRenderPass2KHRFunc)                                                                                          (VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSwapchainStatusKHRFunc)                                                                                         (VkDevice device, VkSwapchainKHR swapchain);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesKHRFunc)                                           (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportFenceFdKHRFunc)                                                                                                      (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetFenceFdKHRFunc)                                                                                                         (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
++typedef VKAPI_ATTR void                                       (VKAPI_CALL* EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc)         (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
++typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc)                         (VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
++typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireProfilingLockKHRFunc)                                                                                       (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
++typedef VKAPI_ATTR void                                       (VKAPI_CALL* ReleaseProfilingLockKHRFunc)                                                                                       (VkDevice device);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2KHRFunc)                                                      (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceFormats2KHRFunc)                                                           (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayProperties2KHRFunc)                                                        (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceDisplayPlaneProperties2KHRFunc)                                           (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayModeProperties2KHRFunc)                                                                          (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDisplayPlaneCapabilities2KHRFunc)                                                                       (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageMemoryRequirements2KHRFunc)                                                                        (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetBufferMemoryRequirements2KHRFunc)                                                                       (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetImageSparseMemoryRequirements2KHRFunc)                                                          (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateSamplerYcbcrConversionKHRFunc)                                                                       (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroySamplerYcbcrConversionKHRFunc)                                                                      (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindBufferMemory2KHRFunc)                                                                                          (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindImageMemory2KHRFunc)                                                                                           (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetDescriptorSetLayoutSupportKHRFunc)                                                                      (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectCountKHRFunc)                                                                                       (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedIndirectCountKHRFunc)                                                                        (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDebugReportCallbackEXTFunc)                                                                          (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDebugReportCallbackEXTFunc)                                                                         (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DebugReportMessageEXTFunc)                                                                                         (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DebugMarkerSetObjectTagEXTFunc)                                                                            (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DebugMarkerSetObjectNameEXTFunc)                                                                           (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDebugMarkerBeginEXTFunc)                                                                                        (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDebugMarkerEndEXTFunc)                                                                                          (VkCommandBuffer commandBuffer);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDebugMarkerInsertEXTFunc)                                                                                       (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindTransformFeedbackBuffersEXTFunc)                                                            (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginTransformFeedbackEXTFunc)                                                                          (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndTransformFeedbackEXTFunc)                                                                            (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginQueryIndexedEXTFunc)                                                                                       (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndQueryIndexedEXTFunc)                                                                                         (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectByteCountEXTFunc)                                                                           (VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
+ typedef VKAPI_ATTR uint32_t                           (VKAPI_CALL* GetImageViewHandleNVXFunc)                                                                                         (VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndirectCountAMDFunc)                                                                                       (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawIndexedIndirectCountAMDFunc)                                                                        (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetShaderInfoAMDFunc)                                                                                                      (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceExternalImageFormatPropertiesNVFunc)                                      (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginConditionalRenderingEXTFunc)                                                                       (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndConditionalRenderingEXTFunc)                                                                         (VkCommandBuffer commandBuffer);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdProcessCommandsNVXFunc)                                                                                         (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdReserveSpaceForCommandsNVXFunc)                                                                         (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateIndirectCommandsLayoutNVXFunc)                                                                       (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyIndirectCommandsLayoutNVXFunc)                                                                      (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateObjectTableNVXFunc)                                                                                          (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyObjectTableNVXFunc)                                                                                         (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* RegisterObjectsNVXFunc)                                                                                            (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* UnregisterObjectsNVXFunc)                                                                                          (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc)                                       (VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetViewportWScalingNVFunc)                                                                                      (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ReleaseDisplayEXTFunc)                                                                                                     (VkPhysicalDevice physicalDevice, VkDisplayKHR display);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2EXTFunc)                                                      (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* DisplayPowerControlEXTFunc)                                                                                        (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* RegisterDeviceEventEXTFunc)                                                                                        (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* RegisterDisplayEventEXTFunc)                                                                                       (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSwapchainCounterEXTFunc)                                                                                        (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetRefreshCycleDurationGOOGLEFunc)                                                                         (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPastPresentationTimingGOOGLEFunc)                                                                       (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetDiscardRectangleEXTFunc)                                                                                     (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* SetHdrMetadataEXTFunc)                                                                                                     (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* SetDebugUtilsObjectNameEXTFunc)                                                                            (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* SetDebugUtilsObjectTagEXTFunc)                                                                                     (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* QueueBeginDebugUtilsLabelEXTFunc)                                                                          (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* QueueEndDebugUtilsLabelEXTFunc)                                                                            (VkQueue queue);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* QueueInsertDebugUtilsLabelEXTFunc)                                                                         (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBeginDebugUtilsLabelEXTFunc)                                                                            (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdEndDebugUtilsLabelEXTFunc)                                                                                      (VkCommandBuffer commandBuffer);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdInsertDebugUtilsLabelEXTFunc)                                                                           (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateDebugUtilsMessengerEXTFunc)                                                                          (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyDebugUtilsMessengerEXTFunc)                                                                         (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* SubmitDebugUtilsMessageEXTFunc)                                                                            (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetSampleLocationsEXTFunc)                                                                                      (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetPhysicalDeviceMultisamplePropertiesEXTFunc)                                                     (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetImageDrmFormatModifierPropertiesEXTFunc)                                                        (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateValidationCacheEXTFunc)                                                                                      (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyValidationCacheEXTFunc)                                                                                     (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* MergeValidationCachesEXTFunc)                                                                                      (VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetValidationCacheDataEXTFunc)                                                                                     (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBindShadingRateImageNVFunc)                                                                                     (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetViewportShadingRatePaletteNVFunc)                                                            (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetCoarseSampleOrderNVFunc)                                                                                     (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateAccelerationStructureNVFunc)                                                                         (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* DestroyAccelerationStructureNVFunc)                                                                        (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetAccelerationStructureMemoryRequirementsNVFunc)                                          (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* BindAccelerationStructureMemoryNVFunc)                                                                     (VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdBuildAccelerationStructureNVFunc)                                                                       (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdCopyAccelerationStructureNVFunc)                                                                        (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeNV mode);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdTraceRaysNVFunc)                                                                                                        (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, deUint32 width, deUint32 height, deUint32 depth);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateRayTracingPipelinesNVFunc)                                                                           (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetRayTracingShaderGroupHandlesNVFunc)                                                                     (VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetAccelerationStructureHandleNVFunc)                                                                      (VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdWriteAccelerationStructuresPropertiesNVFunc)                                            (VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CompileDeferredNVFunc)                                                                                                     (VkDevice device, VkPipeline pipeline, deUint32 shader);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryHostPointerPropertiesEXTFunc)                                                                     (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdWriteBufferMarkerAMDFunc)                                                                                       (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc)                                          (VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetCalibratedTimestampsEXTFunc)                                                                            (VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawMeshTasksNVFunc)                                                                                            (VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawMeshTasksIndirectNVFunc)                                                                            (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdDrawMeshTasksIndirectCountNVFunc)                                                                       (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetExclusiveScissorNVFunc)                                                                                      (VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* CmdSetCheckpointNVFunc)                                                                                            (VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* GetQueueCheckpointDataNVFunc)                                                                                      (VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* SetLocalDimmingAMDFunc)                                                                                            (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
+ typedef VKAPI_ATTR VkDeviceAddress            (VKAPI_CALL* GetBufferDeviceAddressEXTFunc)                                                                                     (VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc)                                        (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVFunc)       (VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateHeadlessSurfaceEXTFunc)                                                                                      (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR void                                       (VKAPI_CALL* ResetQueryPoolEXTFunc)                                                                                                     (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateAndroidSurfaceKHRFunc)                                                                                       (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetAndroidHardwareBufferPropertiesANDROIDFunc)                                                     (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryAndroidHardwareBufferANDROIDFunc)                                                         (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateImagePipeSurfaceFUCHSIAFunc)                                                                         (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateStreamDescriptorSurfaceGGPFunc)                                                                      (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateIOSSurfaceMVKFunc)                                                                                           (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateMacOSSurfaceMVKFunc)                                                                                         (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateMetalSurfaceEXTFunc)                                                                                         (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateViSurfaceNNFunc)                                                                                                     (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateWaylandSurfaceKHRFunc)                                                                                       (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceWaylandPresentationSupportKHRFunc)                                        (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateWin32SurfaceKHRFunc)                                                                                         (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceWin32PresentationSupportKHRFunc)                                          (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryWin32HandleKHRFunc)                                                                                       (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryWin32HandlePropertiesKHRFunc)                                                                     (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportSemaphoreWin32HandleKHRFunc)                                                                         (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetSemaphoreWin32HandleKHRFunc)                                                                            (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ImportFenceWin32HandleKHRFunc)                                                                                     (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetFenceWin32HandleKHRFunc)                                                                                        (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetMemoryWin32HandleNVFunc)                                                                                        (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModes2EXTFunc)                                                      (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireFullScreenExclusiveModeEXTFunc)                                                                     (VkDevice device, VkSwapchainKHR swapchain);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* ReleaseFullScreenExclusiveModeEXTFunc)                                                                     (VkDevice device, VkSwapchainKHR swapchain);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetDeviceGroupSurfacePresentModes2EXTFunc)                                                         (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateXcbSurfaceKHRFunc)                                                                                           (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceXcbPresentationSupportKHRFunc)                                            (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* CreateXlibSurfaceKHRFunc)                                                                                          (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
+ typedef VKAPI_ATTR VkBool32                           (VKAPI_CALL* GetPhysicalDeviceXlibPresentationSupportKHRFunc)                                           (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* AcquireXlibDisplayEXTFunc)                                                                                         (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display);
+ typedef VKAPI_ATTR VkResult                           (VKAPI_CALL* GetRandROutputDisplayEXTFunc)                                                                                      (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay);
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- 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.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.getMemoryWin32HandleKHR                                  = (GetMemoryWin32HandleKHRFunc)                                         GET_PROC_ADDR("vkGetMemoryWin32HandleKHR");
- m_vk.getMemoryWin32HandlePropertiesKHR                        = (GetMemoryWin32HandlePropertiesKHRFunc)                       GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR");
- m_vk.getMemoryFdKHR                                                           = (GetMemoryFdKHRFunc)                                                          GET_PROC_ADDR("vkGetMemoryFdKHR");
- m_vk.getMemoryFdPropertiesKHR                                 = (GetMemoryFdPropertiesKHRFunc)                                        GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR");
- m_vk.importSemaphoreWin32HandleKHR                            = (ImportSemaphoreWin32HandleKHRFunc)                           GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR");
- m_vk.getSemaphoreWin32HandleKHR                                       = (GetSemaphoreWin32HandleKHRFunc)                                      GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR");
- 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.createRenderPass2KHR                                             = (CreateRenderPass2KHRFunc)                                            GET_PROC_ADDR("vkCreateRenderPass2KHR");
- m_vk.cmdBeginRenderPass2KHR                                           = (CmdBeginRenderPass2KHRFunc)                                          GET_PROC_ADDR("vkCmdBeginRenderPass2KHR");
- m_vk.cmdNextSubpass2KHR                                                       = (CmdNextSubpass2KHRFunc)                                                      GET_PROC_ADDR("vkCmdNextSubpass2KHR");
- m_vk.cmdEndRenderPass2KHR                                             = (CmdEndRenderPass2KHRFunc)                                            GET_PROC_ADDR("vkCmdEndRenderPass2KHR");
- m_vk.getSwapchainStatusKHR                                            = (GetSwapchainStatusKHRFunc)                                           GET_PROC_ADDR("vkGetSwapchainStatusKHR");
- m_vk.importFenceWin32HandleKHR                                        = (ImportFenceWin32HandleKHRFunc)                                       GET_PROC_ADDR("vkImportFenceWin32HandleKHR");
- m_vk.getFenceWin32HandleKHR                                           = (GetFenceWin32HandleKHRFunc)                                          GET_PROC_ADDR("vkGetFenceWin32HandleKHR");
- 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.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.cmdDrawIndirectCountAMD                                  = (CmdDrawIndirectCountAMDFunc)                                         GET_PROC_ADDR("vkCmdDrawIndirectCountAMD");
- m_vk.cmdDrawIndexedIndirectCountAMD                           = (CmdDrawIndexedIndirectCountAMDFunc)                          GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD");
- m_vk.cmdDrawIndirectCountKHR                                  = (CmdDrawIndirectCountKHRFunc)                                         GET_PROC_ADDR("vkCmdDrawIndirectCountKHR");
- m_vk.cmdDrawIndexedIndirectCountKHR                           = (CmdDrawIndexedIndirectCountKHRFunc)                          GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR");
- m_vk.getMemoryWin32HandleNV                                           = (GetMemoryWin32HandleNVFunc)                                          GET_PROC_ADDR("vkGetMemoryWin32HandleNV");
- m_vk.cmdBeginConditionalRenderingEXT                  = (CmdBeginConditionalRenderingEXTFunc)                         GET_PROC_ADDR("vkCmdBeginConditionalRenderingEXT");
- m_vk.cmdEndConditionalRenderingEXT                            = (CmdEndConditionalRenderingEXTFunc)                           GET_PROC_ADDR("vkCmdEndConditionalRenderingEXT");
- m_vk.cmdProcessCommandsNVX                                            = (CmdProcessCommandsNVXFunc)                                           GET_PROC_ADDR("vkCmdProcessCommandsNVX");
- m_vk.cmdReserveSpaceForCommandsNVX                            = (CmdReserveSpaceForCommandsNVXFunc)                           GET_PROC_ADDR("vkCmdReserveSpaceForCommandsNVX");
- m_vk.createIndirectCommandsLayoutNVX                  = (CreateIndirectCommandsLayoutNVXFunc)                         GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNVX");
- m_vk.destroyIndirectCommandsLayoutNVX                 = (DestroyIndirectCommandsLayoutNVXFunc)                        GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNVX");
- m_vk.createObjectTableNVX                                             = (CreateObjectTableNVXFunc)                                            GET_PROC_ADDR("vkCreateObjectTableNVX");
- m_vk.destroyObjectTableNVX                                            = (DestroyObjectTableNVXFunc)                                           GET_PROC_ADDR("vkDestroyObjectTableNVX");
- m_vk.registerObjectsNVX                                                       = (RegisterObjectsNVXFunc)                                                      GET_PROC_ADDR("vkRegisterObjectsNVX");
- m_vk.unregisterObjectsNVX                                             = (UnregisterObjectsNVXFunc)                                            GET_PROC_ADDR("vkUnregisterObjectsNVX");
- 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.cmdSetSampleLocationsEXT                                 = (CmdSetSampleLocationsEXTFunc)                                        GET_PROC_ADDR("vkCmdSetSampleLocationsEXT");
- 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.getMemoryHostPointerPropertiesEXT                        = (GetMemoryHostPointerPropertiesEXTFunc)                       GET_PROC_ADDR("vkGetMemoryHostPointerPropertiesEXT");
- m_vk.getAndroidHardwareBufferPropertiesANDROID        = (GetAndroidHardwareBufferPropertiesANDROIDFunc)       GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID");
- m_vk.getMemoryAndroidHardwareBufferANDROID            = (GetMemoryAndroidHardwareBufferANDROIDFunc)           GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID");
- m_vk.getBufferDeviceAddressEXT                                        = (GetBufferDeviceAddressEXTFunc)                                       GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
- m_vk.resetQueryPoolEXT                                                        = (ResetQueryPoolEXTFunc)                                                       GET_PROC_ADDR("vkResetQueryPoolEXT");
- m_vk.getCalibratedTimestampsEXT                                       = (GetCalibratedTimestampsEXTFunc)                                      GET_PROC_ADDR("vkGetCalibratedTimestampsEXT");
+       m_vk.getDescriptorSetLayoutSupport                              = (GetDescriptorSetLayoutSupportFunc)                                   GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR");
+ 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.createRenderPass2KHR                                                     = (CreateRenderPass2KHRFunc)                                                    GET_PROC_ADDR("vkCreateRenderPass2KHR");
+ m_vk.cmdBeginRenderPass2KHR                                                   = (CmdBeginRenderPass2KHRFunc)                                                  GET_PROC_ADDR("vkCmdBeginRenderPass2KHR");
+ m_vk.cmdNextSubpass2KHR                                                               = (CmdNextSubpass2KHRFunc)                                                              GET_PROC_ADDR("vkCmdNextSubpass2KHR");
+ m_vk.cmdEndRenderPass2KHR                                                     = (CmdEndRenderPass2KHRFunc)                                                    GET_PROC_ADDR("vkCmdEndRenderPass2KHR");
+ 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.cmdDrawIndirectCountKHR                                          = (CmdDrawIndirectCountKHRFunc)                                                 GET_PROC_ADDR("vkCmdDrawIndirectCountKHR");
+ m_vk.cmdDrawIndexedIndirectCountKHR                                   = (CmdDrawIndexedIndirectCountKHRFunc)                                  GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR");
+ 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.getImageViewHandleNVX                                                    = (GetImageViewHandleNVXFunc)                                                   GET_PROC_ADDR("vkGetImageViewHandleNVX");
+ 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.cmdProcessCommandsNVX                                                    = (CmdProcessCommandsNVXFunc)                                                   GET_PROC_ADDR("vkCmdProcessCommandsNVX");
+ m_vk.cmdReserveSpaceForCommandsNVX                                    = (CmdReserveSpaceForCommandsNVXFunc)                                   GET_PROC_ADDR("vkCmdReserveSpaceForCommandsNVX");
+ m_vk.createIndirectCommandsLayoutNVX                          = (CreateIndirectCommandsLayoutNVXFunc)                                 GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNVX");
+ m_vk.destroyIndirectCommandsLayoutNVX                         = (DestroyIndirectCommandsLayoutNVXFunc)                                GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNVX");
+ m_vk.createObjectTableNVX                                                     = (CreateObjectTableNVXFunc)                                                    GET_PROC_ADDR("vkCreateObjectTableNVX");
+ m_vk.destroyObjectTableNVX                                                    = (DestroyObjectTableNVXFunc)                                                   GET_PROC_ADDR("vkDestroyObjectTableNVX");
+ m_vk.registerObjectsNVX                                                               = (RegisterObjectsNVXFunc)                                                              GET_PROC_ADDR("vkRegisterObjectsNVX");
+ m_vk.unregisterObjectsNVX                                                     = (UnregisterObjectsNVXFunc)                                                    GET_PROC_ADDR("vkUnregisterObjectsNVX");
+ 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.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.setLocalDimmingAMD                                                               = (SetLocalDimmingAMDFunc)                                                              GET_PROC_ADDR("vkSetLocalDimmingAMD");
+ m_vk.getBufferDeviceAddressEXT                                                = (GetBufferDeviceAddressEXTFunc)                                               GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
+ m_vk.resetQueryPoolEXT                                                                = (ResetQueryPoolEXTFunc)                                                               GET_PROC_ADDR("vkResetQueryPoolEXT");
+ m_vk.getAndroidHardwareBufferPropertiesANDROID                = (GetAndroidHardwareBufferPropertiesANDROIDFunc)               GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID");
+ m_vk.getMemoryAndroidHardwareBufferANDROID                    = (GetMemoryAndroidHardwareBufferANDROIDFunc)                   GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID");
+ 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");
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- m_vk.destroyInstance                                                                                          = (DestroyInstanceFunc)                                                                                                 GET_PROC_ADDR("vkDestroyInstance");
- m_vk.enumeratePhysicalDevices                                                                         = (EnumeratePhysicalDevicesFunc)                                                                                GET_PROC_ADDR("vkEnumeratePhysicalDevices");
- m_vk.getPhysicalDeviceFeatures                                                                                = (GetPhysicalDeviceFeaturesFunc)                                                                               GET_PROC_ADDR("vkGetPhysicalDeviceFeatures");
- m_vk.getPhysicalDeviceFormatProperties                                                                = (GetPhysicalDeviceFormatPropertiesFunc)                                                               GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties");
- m_vk.getPhysicalDeviceImageFormatProperties                                                   = (GetPhysicalDeviceImageFormatPropertiesFunc)                                                  GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties");
- m_vk.getPhysicalDeviceProperties                                                                      = (GetPhysicalDevicePropertiesFunc)                                                                             GET_PROC_ADDR("vkGetPhysicalDeviceProperties");
- m_vk.getPhysicalDeviceQueueFamilyProperties                                                   = (GetPhysicalDeviceQueueFamilyPropertiesFunc)                                                  GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties");
- m_vk.getPhysicalDeviceMemoryProperties                                                                = (GetPhysicalDeviceMemoryPropertiesFunc)                                                               GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties");
- m_vk.createDevice                                                                                                     = (CreateDeviceFunc)                                                                                                    GET_PROC_ADDR("vkCreateDevice");
- m_vk.enumerateDeviceExtensionProperties                                                               = (EnumerateDeviceExtensionPropertiesFunc)                                                              GET_PROC_ADDR("vkEnumerateDeviceExtensionProperties");
- m_vk.enumerateDeviceLayerProperties                                                                   = (EnumerateDeviceLayerPropertiesFunc)                                                                  GET_PROC_ADDR("vkEnumerateDeviceLayerProperties");
- m_vk.getPhysicalDeviceSparseImageFormatProperties                                     = (GetPhysicalDeviceSparseImageFormatPropertiesFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties");
- m_vk.enumeratePhysicalDeviceGroups                                                                    = (EnumeratePhysicalDeviceGroupsFunc)                                                                   GET_PROC_ADDR("vkEnumeratePhysicalDeviceGroups");
+ m_vk.destroyInstance                                                                                                  = (DestroyInstanceFunc)                                                                                                 GET_PROC_ADDR("vkDestroyInstance");
+ m_vk.enumeratePhysicalDevices                                                                                 = (EnumeratePhysicalDevicesFunc)                                                                                GET_PROC_ADDR("vkEnumeratePhysicalDevices");
+ m_vk.getPhysicalDeviceFeatures                                                                                        = (GetPhysicalDeviceFeaturesFunc)                                                                               GET_PROC_ADDR("vkGetPhysicalDeviceFeatures");
+ m_vk.getPhysicalDeviceFormatProperties                                                                        = (GetPhysicalDeviceFormatPropertiesFunc)                                                               GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties");
+ m_vk.getPhysicalDeviceImageFormatProperties                                                           = (GetPhysicalDeviceImageFormatPropertiesFunc)                                                  GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties");
+ m_vk.getPhysicalDeviceProperties                                                                              = (GetPhysicalDevicePropertiesFunc)                                                                             GET_PROC_ADDR("vkGetPhysicalDeviceProperties");
+ m_vk.getPhysicalDeviceQueueFamilyProperties                                                           = (GetPhysicalDeviceQueueFamilyPropertiesFunc)                                                  GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties");
+ m_vk.getPhysicalDeviceMemoryProperties                                                                        = (GetPhysicalDeviceMemoryPropertiesFunc)                                                               GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties");
+ m_vk.createDevice                                                                                                             = (CreateDeviceFunc)                                                                                                    GET_PROC_ADDR("vkCreateDevice");
+ m_vk.enumerateDeviceExtensionProperties                                                                       = (EnumerateDeviceExtensionPropertiesFunc)                                                              GET_PROC_ADDR("vkEnumerateDeviceExtensionProperties");
+ m_vk.enumerateDeviceLayerProperties                                                                           = (EnumerateDeviceLayerPropertiesFunc)                                                                  GET_PROC_ADDR("vkEnumerateDeviceLayerProperties");
+ m_vk.getPhysicalDeviceSparseImageFormatProperties                                             = (GetPhysicalDeviceSparseImageFormatPropertiesFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties");
+ m_vk.enumeratePhysicalDeviceGroups                                                                            = (EnumeratePhysicalDeviceGroupsFunc)                                                                   GET_PROC_ADDR("vkEnumeratePhysicalDeviceGroups");
  if (!m_vk.enumeratePhysicalDeviceGroups)
-       m_vk.enumeratePhysicalDeviceGroups                                                              = (EnumeratePhysicalDeviceGroupsFunc)                                                                   GET_PROC_ADDR("vkEnumeratePhysicalDeviceGroupsKHR");
- m_vk.getPhysicalDeviceFeatures2                                                                               = (GetPhysicalDeviceFeatures2Func)                                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2");
+       m_vk.enumeratePhysicalDeviceGroups                                                                      = (EnumeratePhysicalDeviceGroupsFunc)                                                                   GET_PROC_ADDR("vkEnumeratePhysicalDeviceGroupsKHR");
+ m_vk.getPhysicalDeviceFeatures2                                                                                       = (GetPhysicalDeviceFeatures2Func)                                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2");
  if (!m_vk.getPhysicalDeviceFeatures2)
-       m_vk.getPhysicalDeviceFeatures2                                                                 = (GetPhysicalDeviceFeatures2Func)                                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2KHR");
- m_vk.getPhysicalDeviceProperties2                                                                     = (GetPhysicalDeviceProperties2Func)                                                                    GET_PROC_ADDR("vkGetPhysicalDeviceProperties2");
+       m_vk.getPhysicalDeviceFeatures2                                                                         = (GetPhysicalDeviceFeatures2Func)                                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2KHR");
+ m_vk.getPhysicalDeviceProperties2                                                                             = (GetPhysicalDeviceProperties2Func)                                                                    GET_PROC_ADDR("vkGetPhysicalDeviceProperties2");
  if (!m_vk.getPhysicalDeviceProperties2)
-       m_vk.getPhysicalDeviceProperties2                                                               = (GetPhysicalDeviceProperties2Func)                                                                    GET_PROC_ADDR("vkGetPhysicalDeviceProperties2KHR");
- m_vk.getPhysicalDeviceFormatProperties2                                                               = (GetPhysicalDeviceFormatProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2");
+       m_vk.getPhysicalDeviceProperties2                                                                       = (GetPhysicalDeviceProperties2Func)                                                                    GET_PROC_ADDR("vkGetPhysicalDeviceProperties2KHR");
+ m_vk.getPhysicalDeviceFormatProperties2                                                                       = (GetPhysicalDeviceFormatProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2");
  if (!m_vk.getPhysicalDeviceFormatProperties2)
-       m_vk.getPhysicalDeviceFormatProperties2                                                 = (GetPhysicalDeviceFormatProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2KHR");
- m_vk.getPhysicalDeviceImageFormatProperties2                                          = (GetPhysicalDeviceImageFormatProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2");
+       m_vk.getPhysicalDeviceFormatProperties2                                                         = (GetPhysicalDeviceFormatProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2KHR");
+ m_vk.getPhysicalDeviceImageFormatProperties2                                                  = (GetPhysicalDeviceImageFormatProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2");
  if (!m_vk.getPhysicalDeviceImageFormatProperties2)
-       m_vk.getPhysicalDeviceImageFormatProperties2                                    = (GetPhysicalDeviceImageFormatProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2KHR");
- m_vk.getPhysicalDeviceQueueFamilyProperties2                                          = (GetPhysicalDeviceQueueFamilyProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2");
+       m_vk.getPhysicalDeviceImageFormatProperties2                                            = (GetPhysicalDeviceImageFormatProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2KHR");
+ m_vk.getPhysicalDeviceQueueFamilyProperties2                                                  = (GetPhysicalDeviceQueueFamilyProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2");
  if (!m_vk.getPhysicalDeviceQueueFamilyProperties2)
-       m_vk.getPhysicalDeviceQueueFamilyProperties2                                    = (GetPhysicalDeviceQueueFamilyProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2KHR");
- m_vk.getPhysicalDeviceMemoryProperties2                                                               = (GetPhysicalDeviceMemoryProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2");
+       m_vk.getPhysicalDeviceQueueFamilyProperties2                                            = (GetPhysicalDeviceQueueFamilyProperties2Func)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2KHR");
+ m_vk.getPhysicalDeviceMemoryProperties2                                                                       = (GetPhysicalDeviceMemoryProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2");
  if (!m_vk.getPhysicalDeviceMemoryProperties2)
-       m_vk.getPhysicalDeviceMemoryProperties2                                                 = (GetPhysicalDeviceMemoryProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2KHR");
- m_vk.getPhysicalDeviceSparseImageFormatProperties2                                    = (GetPhysicalDeviceSparseImageFormatProperties2Func)                                   GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2");
+       m_vk.getPhysicalDeviceMemoryProperties2                                                         = (GetPhysicalDeviceMemoryProperties2Func)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2KHR");
+ m_vk.getPhysicalDeviceSparseImageFormatProperties2                                            = (GetPhysicalDeviceSparseImageFormatProperties2Func)                                   GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2");
  if (!m_vk.getPhysicalDeviceSparseImageFormatProperties2)
-       m_vk.getPhysicalDeviceSparseImageFormatProperties2                              = (GetPhysicalDeviceSparseImageFormatProperties2Func)                                   GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
- m_vk.getPhysicalDeviceExternalBufferProperties                                                = (GetPhysicalDeviceExternalBufferPropertiesFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferProperties");
+       m_vk.getPhysicalDeviceSparseImageFormatProperties2                                      = (GetPhysicalDeviceSparseImageFormatProperties2Func)                                   GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
+ m_vk.getPhysicalDeviceExternalBufferProperties                                                        = (GetPhysicalDeviceExternalBufferPropertiesFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferProperties");
  if (!m_vk.getPhysicalDeviceExternalBufferProperties)
-       m_vk.getPhysicalDeviceExternalBufferProperties                                  = (GetPhysicalDeviceExternalBufferPropertiesFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
- m_vk.getPhysicalDeviceExternalFenceProperties                                         = (GetPhysicalDeviceExternalFencePropertiesFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceExternalFenceProperties");
+       m_vk.getPhysicalDeviceExternalBufferProperties                                          = (GetPhysicalDeviceExternalBufferPropertiesFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
+ m_vk.getPhysicalDeviceExternalFenceProperties                                                 = (GetPhysicalDeviceExternalFencePropertiesFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceExternalFenceProperties");
  if (!m_vk.getPhysicalDeviceExternalFenceProperties)
-       m_vk.getPhysicalDeviceExternalFenceProperties                                   = (GetPhysicalDeviceExternalFencePropertiesFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceExternalFencePropertiesKHR");
- m_vk.getPhysicalDeviceExternalSemaphoreProperties                                     = (GetPhysicalDeviceExternalSemaphorePropertiesFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphoreProperties");
+       m_vk.getPhysicalDeviceExternalFenceProperties                                           = (GetPhysicalDeviceExternalFencePropertiesFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceExternalFencePropertiesKHR");
+ m_vk.getPhysicalDeviceExternalSemaphoreProperties                                             = (GetPhysicalDeviceExternalSemaphorePropertiesFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphoreProperties");
  if (!m_vk.getPhysicalDeviceExternalSemaphoreProperties)
-       m_vk.getPhysicalDeviceExternalSemaphoreProperties                               = (GetPhysicalDeviceExternalSemaphorePropertiesFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
- m_vk.destroySurfaceKHR                                                                                                = (DestroySurfaceKHRFunc)                                                                                               GET_PROC_ADDR("vkDestroySurfaceKHR");
- m_vk.getPhysicalDeviceSurfaceSupportKHR                                                               = (GetPhysicalDeviceSurfaceSupportKHRFunc)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceSupportKHR");
- m_vk.getPhysicalDeviceSurfaceCapabilitiesKHR                                          = (GetPhysicalDeviceSurfaceCapabilitiesKHRFunc)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
- m_vk.getPhysicalDeviceSurfaceFormatsKHR                                                               = (GetPhysicalDeviceSurfaceFormatsKHRFunc)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceFormatsKHR");
- m_vk.getPhysicalDeviceSurfacePresentModesKHR                                          = (GetPhysicalDeviceSurfacePresentModesKHRFunc)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceSurfacePresentModesKHR");
- m_vk.getPhysicalDevicePresentRectanglesKHR                                                    = (GetPhysicalDevicePresentRectanglesKHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDevicePresentRectanglesKHR");
- m_vk.getPhysicalDeviceDisplayPropertiesKHR                                                    = (GetPhysicalDeviceDisplayPropertiesKHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPropertiesKHR");
- m_vk.getPhysicalDeviceDisplayPlanePropertiesKHR                                               = (GetPhysicalDeviceDisplayPlanePropertiesKHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
- m_vk.getDisplayPlaneSupportedDisplaysKHR                                                      = (GetDisplayPlaneSupportedDisplaysKHRFunc)                                                             GET_PROC_ADDR("vkGetDisplayPlaneSupportedDisplaysKHR");
- m_vk.getDisplayModePropertiesKHR                                                                      = (GetDisplayModePropertiesKHRFunc)                                                                             GET_PROC_ADDR("vkGetDisplayModePropertiesKHR");
- m_vk.createDisplayModeKHR                                                                                     = (CreateDisplayModeKHRFunc)                                                                                    GET_PROC_ADDR("vkCreateDisplayModeKHR");
- m_vk.getDisplayPlaneCapabilitiesKHR                                                                   = (GetDisplayPlaneCapabilitiesKHRFunc)                                                                  GET_PROC_ADDR("vkGetDisplayPlaneCapabilitiesKHR");
- m_vk.createDisplayPlaneSurfaceKHR                                                                     = (CreateDisplayPlaneSurfaceKHRFunc)                                                                    GET_PROC_ADDR("vkCreateDisplayPlaneSurfaceKHR");
- m_vk.createXlibSurfaceKHR                                                                                     = (CreateXlibSurfaceKHRFunc)                                                                                    GET_PROC_ADDR("vkCreateXlibSurfaceKHR");
- m_vk.getPhysicalDeviceXlibPresentationSupportKHR                                      = (GetPhysicalDeviceXlibPresentationSupportKHRFunc)                                             GET_PROC_ADDR("vkGetPhysicalDeviceXlibPresentationSupportKHR");
- m_vk.createXcbSurfaceKHR                                                                                      = (CreateXcbSurfaceKHRFunc)                                                                                             GET_PROC_ADDR("vkCreateXcbSurfaceKHR");
- m_vk.getPhysicalDeviceXcbPresentationSupportKHR                                               = (GetPhysicalDeviceXcbPresentationSupportKHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceXcbPresentationSupportKHR");
- m_vk.createWaylandSurfaceKHR                                                                          = (CreateWaylandSurfaceKHRFunc)                                                                                 GET_PROC_ADDR("vkCreateWaylandSurfaceKHR");
- m_vk.getPhysicalDeviceWaylandPresentationSupportKHR                                   = (GetPhysicalDeviceWaylandPresentationSupportKHRFunc)                                  GET_PROC_ADDR("vkGetPhysicalDeviceWaylandPresentationSupportKHR");
- m_vk.createMirSurfaceKHR                                                                                      = (CreateMirSurfaceKHRFunc)                                                                                             GET_PROC_ADDR("vkCreateMirSurfaceKHR");
- m_vk.getPhysicalDeviceMirPresentationSupportKHR                                               = (GetPhysicalDeviceMirPresentationSupportKHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceMirPresentationSupportKHR");
- m_vk.createAndroidSurfaceKHR                                                                          = (CreateAndroidSurfaceKHRFunc)                                                                                 GET_PROC_ADDR("vkCreateAndroidSurfaceKHR");
- m_vk.createWin32SurfaceKHR                                                                                    = (CreateWin32SurfaceKHRFunc)                                                                                   GET_PROC_ADDR("vkCreateWin32SurfaceKHR");
- m_vk.getPhysicalDeviceWin32PresentationSupportKHR                                     = (GetPhysicalDeviceWin32PresentationSupportKHRFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceWin32PresentationSupportKHR");
- m_vk.getPhysicalDeviceFeatures2KHR                                                                    = (GetPhysicalDeviceFeatures2KHRFunc)                                                                   GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2KHR");
- m_vk.getPhysicalDeviceFormatProperties2KHR                                                    = (GetPhysicalDeviceFormatProperties2KHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2KHR");
- m_vk.getPhysicalDeviceImageFormatProperties2KHR                                               = (GetPhysicalDeviceImageFormatProperties2KHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2KHR");
- m_vk.getPhysicalDeviceMemoryProperties2KHR                                                    = (GetPhysicalDeviceMemoryProperties2KHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2KHR");
- m_vk.getPhysicalDeviceProperties2KHR                                                          = (GetPhysicalDeviceProperties2KHRFunc)                                                                 GET_PROC_ADDR("vkGetPhysicalDeviceProperties2KHR");
- m_vk.getPhysicalDeviceQueueFamilyProperties2KHR                                               = (GetPhysicalDeviceQueueFamilyProperties2KHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2KHR");
- m_vk.getPhysicalDeviceSparseImageFormatProperties2KHR                         = (GetPhysicalDeviceSparseImageFormatProperties2KHRFunc)                                GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
- m_vk.getPhysicalDeviceExternalBufferPropertiesKHR                                     = (GetPhysicalDeviceExternalBufferPropertiesKHRFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
- m_vk.getPhysicalDeviceExternalSemaphorePropertiesKHR                          = (GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc)                                 GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
- m_vk.getPhysicalDeviceExternalFencePropertiesKHR                                      = (GetPhysicalDeviceExternalFencePropertiesKHRFunc)                                             GET_PROC_ADDR("vkGetPhysicalDeviceExternalFencePropertiesKHR");
- m_vk.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR    = (EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc)   GET_PROC_ADDR("vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
- m_vk.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR                    = (GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc)                   GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
- m_vk.getPhysicalDeviceSurfaceCapabilities2KHR                                         = (GetPhysicalDeviceSurfaceCapabilities2KHRFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilities2KHR");
- m_vk.getPhysicalDeviceSurfaceFormats2KHR                                                      = (GetPhysicalDeviceSurfaceFormats2KHRFunc)                                                             GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceFormats2KHR");
- m_vk.getPhysicalDeviceDisplayProperties2KHR                                                   = (GetPhysicalDeviceDisplayProperties2KHRFunc)                                                  GET_PROC_ADDR("vkGetPhysicalDeviceDisplayProperties2KHR");
- m_vk.getPhysicalDeviceDisplayPlaneProperties2KHR                                      = (GetPhysicalDeviceDisplayPlaneProperties2KHRFunc)                                             GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
- m_vk.getDisplayModeProperties2KHR                                                                     = (GetDisplayModeProperties2KHRFunc)                                                                    GET_PROC_ADDR("vkGetDisplayModeProperties2KHR");
- m_vk.getDisplayPlaneCapabilities2KHR                                                          = (GetDisplayPlaneCapabilities2KHRFunc)                                                                 GET_PROC_ADDR("vkGetDisplayPlaneCapabilities2KHR");
- m_vk.createDebugReportCallbackEXT                                                                     = (CreateDebugReportCallbackEXTFunc)                                                                    GET_PROC_ADDR("vkCreateDebugReportCallbackEXT");
- m_vk.destroyDebugReportCallbackEXT                                                                    = (DestroyDebugReportCallbackEXTFunc)                                                                   GET_PROC_ADDR("vkDestroyDebugReportCallbackEXT");
- m_vk.debugReportMessageEXT                                                                                    = (DebugReportMessageEXTFunc)                                                                                   GET_PROC_ADDR("vkDebugReportMessageEXT");
- m_vk.getPhysicalDeviceExternalImageFormatPropertiesNV                         = (GetPhysicalDeviceExternalImageFormatPropertiesNVFunc)                                GET_PROC_ADDR("vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
- m_vk.createViSurfaceNN                                                                                                = (CreateViSurfaceNNFunc)                                                                                               GET_PROC_ADDR("vkCreateViSurfaceNN");
- m_vk.getPhysicalDeviceGeneratedCommandsPropertiesNVX                          = (GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc)                                 GET_PROC_ADDR("vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX");
- m_vk.releaseDisplayEXT                                                                                                = (ReleaseDisplayEXTFunc)                                                                                               GET_PROC_ADDR("vkReleaseDisplayEXT");
- m_vk.acquireXlibDisplayEXT                                                                                    = (AcquireXlibDisplayEXTFunc)                                                                                   GET_PROC_ADDR("vkAcquireXlibDisplayEXT");
- m_vk.getRandROutputDisplayEXT                                                                         = (GetRandROutputDisplayEXTFunc)                                                                                GET_PROC_ADDR("vkGetRandROutputDisplayEXT");
- m_vk.getPhysicalDeviceSurfaceCapabilities2EXT                                         = (GetPhysicalDeviceSurfaceCapabilities2EXTFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilities2EXT");
- m_vk.createIOSSurfaceMVK                                                                                      = (CreateIOSSurfaceMVKFunc)                                                                                             GET_PROC_ADDR("vkCreateIOSSurfaceMVK");
- m_vk.createMacOSSurfaceMVK                                                                                    = (CreateMacOSSurfaceMVKFunc)                                                                                   GET_PROC_ADDR("vkCreateMacOSSurfaceMVK");
- m_vk.getPhysicalDeviceMultisamplePropertiesEXT                                                = (GetPhysicalDeviceMultisamplePropertiesEXTFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceMultisamplePropertiesEXT");
- m_vk.getPhysicalDeviceCooperativeMatrixPropertiesNV                                   = (GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc)                                  GET_PROC_ADDR("vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
- m_vk.getPhysicalDeviceCalibrateableTimeDomainsEXT                                     = (GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
+       m_vk.getPhysicalDeviceExternalSemaphoreProperties                                       = (GetPhysicalDeviceExternalSemaphorePropertiesFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
+ m_vk.destroySurfaceKHR                                                                                                        = (DestroySurfaceKHRFunc)                                                                                               GET_PROC_ADDR("vkDestroySurfaceKHR");
+ m_vk.getPhysicalDeviceSurfaceSupportKHR                                                                       = (GetPhysicalDeviceSurfaceSupportKHRFunc)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceSupportKHR");
+ m_vk.getPhysicalDeviceSurfaceCapabilitiesKHR                                                  = (GetPhysicalDeviceSurfaceCapabilitiesKHRFunc)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
+ m_vk.getPhysicalDeviceSurfaceFormatsKHR                                                                       = (GetPhysicalDeviceSurfaceFormatsKHRFunc)                                                              GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceFormatsKHR");
+ m_vk.getPhysicalDeviceSurfacePresentModesKHR                                                  = (GetPhysicalDeviceSurfacePresentModesKHRFunc)                                                 GET_PROC_ADDR("vkGetPhysicalDeviceSurfacePresentModesKHR");
+ m_vk.getPhysicalDevicePresentRectanglesKHR                                                            = (GetPhysicalDevicePresentRectanglesKHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDevicePresentRectanglesKHR");
+ m_vk.getPhysicalDeviceDisplayPropertiesKHR                                                            = (GetPhysicalDeviceDisplayPropertiesKHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPropertiesKHR");
+ m_vk.getPhysicalDeviceDisplayPlanePropertiesKHR                                                       = (GetPhysicalDeviceDisplayPlanePropertiesKHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
+ m_vk.getDisplayPlaneSupportedDisplaysKHR                                                              = (GetDisplayPlaneSupportedDisplaysKHRFunc)                                                             GET_PROC_ADDR("vkGetDisplayPlaneSupportedDisplaysKHR");
+ m_vk.getDisplayModePropertiesKHR                                                                              = (GetDisplayModePropertiesKHRFunc)                                                                             GET_PROC_ADDR("vkGetDisplayModePropertiesKHR");
+ m_vk.createDisplayModeKHR                                                                                             = (CreateDisplayModeKHRFunc)                                                                                    GET_PROC_ADDR("vkCreateDisplayModeKHR");
+ m_vk.getDisplayPlaneCapabilitiesKHR                                                                           = (GetDisplayPlaneCapabilitiesKHRFunc)                                                                  GET_PROC_ADDR("vkGetDisplayPlaneCapabilitiesKHR");
+ m_vk.createDisplayPlaneSurfaceKHR                                                                             = (CreateDisplayPlaneSurfaceKHRFunc)                                                                    GET_PROC_ADDR("vkCreateDisplayPlaneSurfaceKHR");
+ m_vk.getPhysicalDeviceFeatures2KHR                                                                            = (GetPhysicalDeviceFeatures2KHRFunc)                                                                   GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2KHR");
+ m_vk.getPhysicalDeviceProperties2KHR                                                                  = (GetPhysicalDeviceProperties2KHRFunc)                                                                 GET_PROC_ADDR("vkGetPhysicalDeviceProperties2KHR");
+ m_vk.getPhysicalDeviceFormatProperties2KHR                                                            = (GetPhysicalDeviceFormatProperties2KHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2KHR");
+ m_vk.getPhysicalDeviceImageFormatProperties2KHR                                                       = (GetPhysicalDeviceImageFormatProperties2KHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2KHR");
+ m_vk.getPhysicalDeviceQueueFamilyProperties2KHR                                                       = (GetPhysicalDeviceQueueFamilyProperties2KHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2KHR");
+ m_vk.getPhysicalDeviceMemoryProperties2KHR                                                            = (GetPhysicalDeviceMemoryProperties2KHRFunc)                                                   GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2KHR");
+ m_vk.getPhysicalDeviceSparseImageFormatProperties2KHR                                 = (GetPhysicalDeviceSparseImageFormatProperties2KHRFunc)                                GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
+ m_vk.getPhysicalDeviceExternalBufferPropertiesKHR                                             = (GetPhysicalDeviceExternalBufferPropertiesKHRFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
+ m_vk.getPhysicalDeviceExternalSemaphorePropertiesKHR                                  = (GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc)                                 GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
+ m_vk.getPhysicalDeviceExternalFencePropertiesKHR                                              = (GetPhysicalDeviceExternalFencePropertiesKHRFunc)                                             GET_PROC_ADDR("vkGetPhysicalDeviceExternalFencePropertiesKHR");
++m_vk.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR            = (EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc)   GET_PROC_ADDR("vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
++m_vk.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR                            = (GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc)                   GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
+ m_vk.getPhysicalDeviceSurfaceCapabilities2KHR                                                 = (GetPhysicalDeviceSurfaceCapabilities2KHRFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilities2KHR");
+ m_vk.getPhysicalDeviceSurfaceFormats2KHR                                                              = (GetPhysicalDeviceSurfaceFormats2KHRFunc)                                                             GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceFormats2KHR");
+ m_vk.getPhysicalDeviceDisplayProperties2KHR                                                           = (GetPhysicalDeviceDisplayProperties2KHRFunc)                                                  GET_PROC_ADDR("vkGetPhysicalDeviceDisplayProperties2KHR");
+ m_vk.getPhysicalDeviceDisplayPlaneProperties2KHR                                              = (GetPhysicalDeviceDisplayPlaneProperties2KHRFunc)                                             GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
+ m_vk.getDisplayModeProperties2KHR                                                                             = (GetDisplayModeProperties2KHRFunc)                                                                    GET_PROC_ADDR("vkGetDisplayModeProperties2KHR");
+ m_vk.getDisplayPlaneCapabilities2KHR                                                                  = (GetDisplayPlaneCapabilities2KHRFunc)                                                                 GET_PROC_ADDR("vkGetDisplayPlaneCapabilities2KHR");
+ m_vk.createDebugReportCallbackEXT                                                                             = (CreateDebugReportCallbackEXTFunc)                                                                    GET_PROC_ADDR("vkCreateDebugReportCallbackEXT");
+ m_vk.destroyDebugReportCallbackEXT                                                                            = (DestroyDebugReportCallbackEXTFunc)                                                                   GET_PROC_ADDR("vkDestroyDebugReportCallbackEXT");
+ m_vk.debugReportMessageEXT                                                                                            = (DebugReportMessageEXTFunc)                                                                                   GET_PROC_ADDR("vkDebugReportMessageEXT");
+ m_vk.getPhysicalDeviceExternalImageFormatPropertiesNV                                 = (GetPhysicalDeviceExternalImageFormatPropertiesNVFunc)                                GET_PROC_ADDR("vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
+ m_vk.getPhysicalDeviceGeneratedCommandsPropertiesNVX                                  = (GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc)                                 GET_PROC_ADDR("vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX");
+ m_vk.releaseDisplayEXT                                                                                                        = (ReleaseDisplayEXTFunc)                                                                                               GET_PROC_ADDR("vkReleaseDisplayEXT");
+ m_vk.getPhysicalDeviceSurfaceCapabilities2EXT                                                 = (GetPhysicalDeviceSurfaceCapabilities2EXTFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilities2EXT");
+ m_vk.createDebugUtilsMessengerEXT                                                                             = (CreateDebugUtilsMessengerEXTFunc)                                                                    GET_PROC_ADDR("vkCreateDebugUtilsMessengerEXT");
+ m_vk.destroyDebugUtilsMessengerEXT                                                                            = (DestroyDebugUtilsMessengerEXTFunc)                                                                   GET_PROC_ADDR("vkDestroyDebugUtilsMessengerEXT");
+ m_vk.submitDebugUtilsMessageEXT                                                                                       = (SubmitDebugUtilsMessageEXTFunc)                                                                              GET_PROC_ADDR("vkSubmitDebugUtilsMessageEXT");
+ m_vk.getPhysicalDeviceMultisamplePropertiesEXT                                                        = (GetPhysicalDeviceMultisamplePropertiesEXTFunc)                                               GET_PROC_ADDR("vkGetPhysicalDeviceMultisamplePropertiesEXT");
+ m_vk.getPhysicalDeviceCalibrateableTimeDomainsEXT                                             = (GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
+ m_vk.getPhysicalDeviceCooperativeMatrixPropertiesNV                                           = (GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc)                                  GET_PROC_ADDR("vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
+ m_vk.getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV  = (GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
+ m_vk.createHeadlessSurfaceEXT                                                                                 = (CreateHeadlessSurfaceEXTFunc)                                                                                GET_PROC_ADDR("vkCreateHeadlessSurfaceEXT");
+ m_vk.createAndroidSurfaceKHR                                                                                  = (CreateAndroidSurfaceKHRFunc)                                                                                 GET_PROC_ADDR("vkCreateAndroidSurfaceKHR");
+ m_vk.createImagePipeSurfaceFUCHSIA                                                                            = (CreateImagePipeSurfaceFUCHSIAFunc)                                                                   GET_PROC_ADDR("vkCreateImagePipeSurfaceFUCHSIA");
+ m_vk.createStreamDescriptorSurfaceGGP                                                                 = (CreateStreamDescriptorSurfaceGGPFunc)                                                                GET_PROC_ADDR("vkCreateStreamDescriptorSurfaceGGP");
+ m_vk.createIOSSurfaceMVK                                                                                              = (CreateIOSSurfaceMVKFunc)                                                                                             GET_PROC_ADDR("vkCreateIOSSurfaceMVK");
+ m_vk.createMacOSSurfaceMVK                                                                                            = (CreateMacOSSurfaceMVKFunc)                                                                                   GET_PROC_ADDR("vkCreateMacOSSurfaceMVK");
+ m_vk.createMetalSurfaceEXT                                                                                            = (CreateMetalSurfaceEXTFunc)                                                                                   GET_PROC_ADDR("vkCreateMetalSurfaceEXT");
+ m_vk.createViSurfaceNN                                                                                                        = (CreateViSurfaceNNFunc)                                                                                               GET_PROC_ADDR("vkCreateViSurfaceNN");
+ m_vk.createWaylandSurfaceKHR                                                                                  = (CreateWaylandSurfaceKHRFunc)                                                                                 GET_PROC_ADDR("vkCreateWaylandSurfaceKHR");
+ m_vk.getPhysicalDeviceWaylandPresentationSupportKHR                                           = (GetPhysicalDeviceWaylandPresentationSupportKHRFunc)                                  GET_PROC_ADDR("vkGetPhysicalDeviceWaylandPresentationSupportKHR");
+ m_vk.createWin32SurfaceKHR                                                                                            = (CreateWin32SurfaceKHRFunc)                                                                                   GET_PROC_ADDR("vkCreateWin32SurfaceKHR");
+ m_vk.getPhysicalDeviceWin32PresentationSupportKHR                                             = (GetPhysicalDeviceWin32PresentationSupportKHRFunc)                                    GET_PROC_ADDR("vkGetPhysicalDeviceWin32PresentationSupportKHR");
+ m_vk.getPhysicalDeviceSurfacePresentModes2EXT                                                 = (GetPhysicalDeviceSurfacePresentModes2EXTFunc)                                                GET_PROC_ADDR("vkGetPhysicalDeviceSurfacePresentModes2EXT");
+ m_vk.createXcbSurfaceKHR                                                                                              = (CreateXcbSurfaceKHRFunc)                                                                                             GET_PROC_ADDR("vkCreateXcbSurfaceKHR");
+ m_vk.getPhysicalDeviceXcbPresentationSupportKHR                                                       = (GetPhysicalDeviceXcbPresentationSupportKHRFunc)                                              GET_PROC_ADDR("vkGetPhysicalDeviceXcbPresentationSupportKHR");
+ m_vk.createXlibSurfaceKHR                                                                                             = (CreateXlibSurfaceKHRFunc)                                                                                    GET_PROC_ADDR("vkCreateXlibSurfaceKHR");
+ m_vk.getPhysicalDeviceXlibPresentationSupportKHR                                              = (GetPhysicalDeviceXlibPresentationSupportKHRFunc)                                             GET_PROC_ADDR("vkGetPhysicalDeviceXlibPresentationSupportKHR");
+ m_vk.acquireXlibDisplayEXT                                                                                            = (AcquireXlibDisplayEXTFunc)                                                                                   GET_PROC_ADDR("vkAcquireXlibDisplayEXT");
+ m_vk.getRandROutputDisplayEXT                                                                                 = (GetRandROutputDisplayEXTFunc)                                                                                GET_PROC_ADDR("vkGetRandROutputDisplayEXT");
@@@ -232,119 -232,139 +232,149 @@@ VkResult InstanceDriver::createDisplayP
        return m_vk.createDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
  }
  
- VkResult InstanceDriver::createXlibSurfaceKHR (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
++void InstanceDriver::enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const
 +{
-       return m_vk.createXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
++      m_vk.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
 +}
 +
- VkBool32 InstanceDriver::getPhysicalDeviceXlibPresentationSupportKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) const
++void InstanceDriver::getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses) const
 +{
-       return m_vk.getPhysicalDeviceXlibPresentationSupportKHR(physicalDevice, queueFamilyIndex, dpy, visualID);
++      m_vk.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(physicalDevice, pPerformanceQueryCreateInfo, pNumPasses);
 +}
 +
- VkResult InstanceDriver::createXcbSurfaceKHR (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ VkResult InstanceDriver::getPhysicalDeviceSurfaceCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const
  {
-       return m_vk.createXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+       return m_vk.getPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
  }
  
- VkBool32 InstanceDriver::getPhysicalDeviceXcbPresentationSupportKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) const
+ VkResult InstanceDriver::getPhysicalDeviceSurfaceFormats2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const
  {
-       return m_vk.getPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection, visual_id);
+       return m_vk.getPhysicalDeviceSurfaceFormats2KHR(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
  }
  
- VkResult InstanceDriver::createWaylandSurfaceKHR (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ VkResult InstanceDriver::getPhysicalDeviceDisplayProperties2KHR (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties) const
  {
-       return m_vk.createWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+       return m_vk.getPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties);
  }
  
- VkBool32 InstanceDriver::getPhysicalDeviceWaylandPresentationSupportKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display) const
+ VkResult InstanceDriver::getPhysicalDeviceDisplayPlaneProperties2KHR (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) const
  {
-       return m_vk.getPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display);
+       return m_vk.getPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice, pPropertyCount, pProperties);
  }
  
- VkResult InstanceDriver::createMirSurfaceKHR (VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ VkResult InstanceDriver::getDisplayModeProperties2KHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) const
  {
-       return m_vk.createMirSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+       return m_vk.getDisplayModeProperties2KHR(physicalDevice, display, pPropertyCount, pProperties);
  }
  
- VkBool32 InstanceDriver::getPhysicalDeviceMirPresentationSupportKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::MirConnectionPtr connection) const
+ VkResult InstanceDriver::getDisplayPlaneCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) const
  {
-       return m_vk.getPhysicalDeviceMirPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection);
+       return m_vk.getDisplayPlaneCapabilities2KHR(physicalDevice, pDisplayPlaneInfo, pCapabilities);
  }
  
- VkResult InstanceDriver::createAndroidSurfaceKHR (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ VkResult InstanceDriver::createDebugReportCallbackEXT (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) const
  {
-       return m_vk.createAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+       return m_vk.createDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback);
  }
  
VkResult InstanceDriver::createWin32SurfaceKHR (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
void InstanceDriver::destroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) const
  {
-       return m_vk.createWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+       m_vk.destroyDebugReportCallbackEXT(instance, callback, pAllocator);
  }
  
VkBool32 InstanceDriver::getPhysicalDeviceWin32PresentationSupportKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex) const
void InstanceDriver::debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage) const
  {
-       return m_vk.getPhysicalDeviceWin32PresentationSupportKHR(physicalDevice, queueFamilyIndex);
+       m_vk.debugReportMessageEXT(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage);
  }
  
void InstanceDriver::enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const
VkResult InstanceDriver::getPhysicalDeviceExternalImageFormatPropertiesNV (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties) const
  {
-       m_vk.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions);
+       return m_vk.getPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties);
  }
  
- void InstanceDriver::getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses) const
+ void InstanceDriver::getPhysicalDeviceGeneratedCommandsPropertiesNVX (VkPhysicalDevice physicalDevice, VkDeviceGeneratedCommandsFeaturesNVX* pFeatures, VkDeviceGeneratedCommandsLimitsNVX* pLimits) const
  {
-       m_vk.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(physicalDevice, pPerformanceQueryCreateInfo, pNumPasses);
+       m_vk.getPhysicalDeviceGeneratedCommandsPropertiesNVX(physicalDevice, pFeatures, pLimits);
  }
  
- VkResult InstanceDriver::getPhysicalDeviceSurfaceCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const
+ VkResult InstanceDriver::releaseDisplayEXT (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const
  {
-       return m_vk.getPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
+       return m_vk.releaseDisplayEXT(physicalDevice, display);
  }
  
- VkResult InstanceDriver::getPhysicalDeviceSurfaceFormats2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const
+ VkResult InstanceDriver::getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities) const
  {
-       return m_vk.getPhysicalDeviceSurfaceFormats2KHR(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
+       return m_vk.getPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice, surface, pSurfaceCapabilities);
  }
  
- VkResult InstanceDriver::getPhysicalDeviceDisplayProperties2KHR (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties) const
+ VkResult InstanceDriver::createDebugUtilsMessengerEXT (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger) const
  {
-       return m_vk.getPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties);
+       return m_vk.createDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, pMessenger);
  }
  
VkResult InstanceDriver::getPhysicalDeviceDisplayPlaneProperties2KHR (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) const
void InstanceDriver::destroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator) const
  {
-       return m_vk.getPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice, pPropertyCount, pProperties);
+       m_vk.destroyDebugUtilsMessengerEXT(instance, messenger, pAllocator);
  }
  
VkResult InstanceDriver::getDisplayModeProperties2KHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) const
void InstanceDriver::submitDebugUtilsMessageEXT (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) const
  {
-       return m_vk.getDisplayModeProperties2KHR(physicalDevice, display, pPropertyCount, pProperties);
+       m_vk.submitDebugUtilsMessageEXT(instance, messageSeverity, messageTypes, pCallbackData);
  }
  
VkResult InstanceDriver::getDisplayPlaneCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) const
void InstanceDriver::getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) const
  {
-       return m_vk.getDisplayPlaneCapabilities2KHR(physicalDevice, pDisplayPlaneInfo, pCapabilities);
+       m_vk.getPhysicalDeviceMultisamplePropertiesEXT(physicalDevice, samples, pMultisampleProperties);
  }
  
- VkResult InstanceDriver::createDebugReportCallbackEXT (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) const
+ VkResult InstanceDriver::getPhysicalDeviceCalibrateableTimeDomainsEXT (VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains) const
  {
-       return m_vk.createDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback);
+       return m_vk.getPhysicalDeviceCalibrateableTimeDomainsEXT(physicalDevice, pTimeDomainCount, pTimeDomains);
  }
  
void InstanceDriver::destroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) const
VkResult InstanceDriver::getPhysicalDeviceCooperativeMatrixPropertiesNV (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties) const
  {
-       m_vk.destroyDebugReportCallbackEXT(instance, callback, pAllocator);
+       return m_vk.getPhysicalDeviceCooperativeMatrixPropertiesNV(physicalDevice, pPropertyCount, pProperties);
  }
  
void InstanceDriver::debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage) const
VkResult InstanceDriver::getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV (VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations) const
  {
-       m_vk.debugReportMessageEXT(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage);
+       return m_vk.getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(physicalDevice, pCombinationCount, pCombinations);
  }
  
- VkResult InstanceDriver::getPhysicalDeviceExternalImageFormatPropertiesNV (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties) const
+ VkResult InstanceDriver::createHeadlessSurfaceEXT (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
  {
-       return m_vk.getPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties);
+       return m_vk.createHeadlessSurfaceEXT(instance, pCreateInfo, pAllocator, pSurface);
+ }
+ VkResult InstanceDriver::createAndroidSurfaceKHR (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ {
+       return m_vk.createAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+ }
+ VkResult InstanceDriver::createImagePipeSurfaceFUCHSIA (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ {
+       return m_vk.createImagePipeSurfaceFUCHSIA(instance, pCreateInfo, pAllocator, pSurface);
+ }
+ VkResult InstanceDriver::createStreamDescriptorSurfaceGGP (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ {
+       return m_vk.createStreamDescriptorSurfaceGGP(instance, pCreateInfo, pAllocator, pSurface);
+ }
+ VkResult InstanceDriver::createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ {
+       return m_vk.createIOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
+ }
+ VkResult InstanceDriver::createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ {
+       return m_vk.createMacOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface);
+ }
+ VkResult InstanceDriver::createMetalSurfaceEXT (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
+ {
+       return m_vk.createMetalSurfaceEXT(instance, pCreateInfo, pAllocator, pSurface);
  }
  
  VkResult InstanceDriver::createViSurfaceNN (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const
@@@ -2009,318 -2316,358 +2344,362 @@@ static const tcu::StaticFunctionLibrary
  
  static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] =
  {
-       VK_NULL_FUNC_ENTRY(vkDestroyInstance,                                                                                           destroyInstance),
-       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices,                                                                          enumeratePhysicalDevices),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures,                                                                         getPhysicalDeviceFeatures),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties,                                                         getPhysicalDeviceFormatProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties,                                            getPhysicalDeviceImageFormatProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties,                                                                       getPhysicalDeviceProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties,                                            getPhysicalDeviceQueueFamilyProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties,                                                         getPhysicalDeviceMemoryProperties),
-       VK_NULL_FUNC_ENTRY(vkCreateDevice,                                                                                                      createDevice),
-       VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties,                                                        enumerateDeviceExtensionProperties),
-       VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties,                                                            enumerateDeviceLayerProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties,                                      getPhysicalDeviceSparseImageFormatProperties),
-       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroups,                                                                     enumeratePhysicalDeviceGroups),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2,                                                                        getPhysicalDeviceFeatures2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2,                                                                      getPhysicalDeviceProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2,                                                        getPhysicalDeviceFormatProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2,                                           getPhysicalDeviceImageFormatProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2,                                           getPhysicalDeviceQueueFamilyProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2,                                                        getPhysicalDeviceMemoryProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2,                                     getPhysicalDeviceSparseImageFormatProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferProperties,                                         getPhysicalDeviceExternalBufferProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFenceProperties,                                          getPhysicalDeviceExternalFenceProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphoreProperties,                                      getPhysicalDeviceExternalSemaphoreProperties),
-       VK_NULL_FUNC_ENTRY(vkDestroySurfaceKHR,                                                                                         destroySurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR,                                                        getPhysicalDeviceSurfaceSupportKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR,                                           getPhysicalDeviceSurfaceCapabilitiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR,                                                        getPhysicalDeviceSurfaceFormatsKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR,                                           getPhysicalDeviceSurfacePresentModesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDevicePresentRectanglesKHR,                                                     getPhysicalDevicePresentRectanglesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPropertiesKHR,                                                     getPhysicalDeviceDisplayPropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlanePropertiesKHR,                                        getPhysicalDeviceDisplayPlanePropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneSupportedDisplaysKHR,                                                       getDisplayPlaneSupportedDisplaysKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDisplayModePropertiesKHR,                                                                       getDisplayModePropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateDisplayModeKHR,                                                                                      createDisplayModeKHR),
-       VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilitiesKHR,                                                            getDisplayPlaneCapabilitiesKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateDisplayPlaneSurfaceKHR,                                                                      createDisplayPlaneSurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateXlibSurfaceKHR,                                                                                      createXlibSurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXlibPresentationSupportKHR,                                       getPhysicalDeviceXlibPresentationSupportKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateXcbSurfaceKHR,                                                                                       createXcbSurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXcbPresentationSupportKHR,                                        getPhysicalDeviceXcbPresentationSupportKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateWaylandSurfaceKHR,                                                                           createWaylandSurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWaylandPresentationSupportKHR,                            getPhysicalDeviceWaylandPresentationSupportKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateMirSurfaceKHR,                                                                                       createMirSurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMirPresentationSupportKHR,                                        getPhysicalDeviceMirPresentationSupportKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateAndroidSurfaceKHR,                                                                           createAndroidSurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkCreateWin32SurfaceKHR,                                                                                     createWin32SurfaceKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWin32PresentationSupportKHR,                                      getPhysicalDeviceWin32PresentationSupportKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2KHR,                                                                     getPhysicalDeviceFeatures2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2KHR,                                                     getPhysicalDeviceFormatProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2KHR,                                        getPhysicalDeviceImageFormatProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR,                                                     getPhysicalDeviceMemoryProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2KHR,                                                           getPhysicalDeviceProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR,                                        getPhysicalDeviceQueueFamilyProperties2),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR,                          getPhysicalDeviceSparseImageFormatProperties2),
-       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroupsKHR,                                                          enumeratePhysicalDeviceGroups),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferPropertiesKHR,                                      getPhysicalDeviceExternalBufferProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,                           getPhysicalDeviceExternalSemaphoreProperties),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFencePropertiesKHR,                                       getPhysicalDeviceExternalFenceProperties),
-       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,     enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,                     getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2KHR,                                          getPhysicalDeviceSurfaceCapabilities2KHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormats2KHR,                                                       getPhysicalDeviceSurfaceFormats2KHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayProperties2KHR,                                            getPhysicalDeviceDisplayProperties2KHR),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlaneProperties2KHR,                                       getPhysicalDeviceDisplayPlaneProperties2KHR),
-       VK_NULL_FUNC_ENTRY(vkGetDisplayModeProperties2KHR,                                                                      getDisplayModeProperties2KHR),
-       VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilities2KHR,                                                           getDisplayPlaneCapabilities2KHR),
-       VK_NULL_FUNC_ENTRY(vkCreateDebugReportCallbackEXT,                                                                      createDebugReportCallbackEXT),
-       VK_NULL_FUNC_ENTRY(vkDestroyDebugReportCallbackEXT,                                                                     destroyDebugReportCallbackEXT),
-       VK_NULL_FUNC_ENTRY(vkDebugReportMessageEXT,                                                                                     debugReportMessageEXT),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalImageFormatPropertiesNV,                          getPhysicalDeviceExternalImageFormatPropertiesNV),
-       VK_NULL_FUNC_ENTRY(vkCreateViSurfaceNN,                                                                                         createViSurfaceNN),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,                           getPhysicalDeviceGeneratedCommandsPropertiesNVX),
-       VK_NULL_FUNC_ENTRY(vkReleaseDisplayEXT,                                                                                         releaseDisplayEXT),
-       VK_NULL_FUNC_ENTRY(vkAcquireXlibDisplayEXT,                                                                                     acquireXlibDisplayEXT),
-       VK_NULL_FUNC_ENTRY(vkGetRandROutputDisplayEXT,                                                                          getRandROutputDisplayEXT),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2EXT,                                          getPhysicalDeviceSurfaceCapabilities2EXT),
-       VK_NULL_FUNC_ENTRY(vkCreateIOSSurfaceMVK,                                                                                       createIOSSurfaceMVK),
-       VK_NULL_FUNC_ENTRY(vkCreateMacOSSurfaceMVK,                                                                                     createMacOSSurfaceMVK),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMultisamplePropertiesEXT,                                         getPhysicalDeviceMultisamplePropertiesEXT),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceCooperativeMatrixPropertiesNV,                            getPhysicalDeviceCooperativeMatrixPropertiesNV),
-       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceCalibrateableTimeDomainsEXT,                                      getPhysicalDeviceCalibrateableTimeDomainsEXT),
+       VK_NULL_FUNC_ENTRY(vkDestroyInstance,                                                                                                   destroyInstance),
+       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices,                                                                                  enumeratePhysicalDevices),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures,                                                                                 getPhysicalDeviceFeatures),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties,                                                                 getPhysicalDeviceFormatProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties,                                                    getPhysicalDeviceImageFormatProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties,                                                                               getPhysicalDeviceProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties,                                                    getPhysicalDeviceQueueFamilyProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties,                                                                 getPhysicalDeviceMemoryProperties),
+       VK_NULL_FUNC_ENTRY(vkCreateDevice,                                                                                                              createDevice),
+       VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties,                                                                enumerateDeviceExtensionProperties),
+       VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties,                                                                    enumerateDeviceLayerProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties,                                              getPhysicalDeviceSparseImageFormatProperties),
+       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroups,                                                                             enumeratePhysicalDeviceGroups),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2,                                                                                getPhysicalDeviceFeatures2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2,                                                                              getPhysicalDeviceProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2,                                                                getPhysicalDeviceFormatProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2,                                                   getPhysicalDeviceImageFormatProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2,                                                   getPhysicalDeviceQueueFamilyProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2,                                                                getPhysicalDeviceMemoryProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2,                                             getPhysicalDeviceSparseImageFormatProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferProperties,                                                 getPhysicalDeviceExternalBufferProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFenceProperties,                                                  getPhysicalDeviceExternalFenceProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphoreProperties,                                              getPhysicalDeviceExternalSemaphoreProperties),
+       VK_NULL_FUNC_ENTRY(vkDestroySurfaceKHR,                                                                                                 destroySurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR,                                                                getPhysicalDeviceSurfaceSupportKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR,                                                   getPhysicalDeviceSurfaceCapabilitiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR,                                                                getPhysicalDeviceSurfaceFormatsKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR,                                                   getPhysicalDeviceSurfacePresentModesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDevicePresentRectanglesKHR,                                                             getPhysicalDevicePresentRectanglesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPropertiesKHR,                                                             getPhysicalDeviceDisplayPropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlanePropertiesKHR,                                                getPhysicalDeviceDisplayPlanePropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneSupportedDisplaysKHR,                                                               getDisplayPlaneSupportedDisplaysKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDisplayModePropertiesKHR,                                                                               getDisplayModePropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateDisplayModeKHR,                                                                                              createDisplayModeKHR),
+       VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilitiesKHR,                                                                    getDisplayPlaneCapabilitiesKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateDisplayPlaneSurfaceKHR,                                                                              createDisplayPlaneSurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2KHR,                                                                             getPhysicalDeviceFeatures2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2KHR,                                                                   getPhysicalDeviceProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2KHR,                                                             getPhysicalDeviceFormatProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2KHR,                                                getPhysicalDeviceImageFormatProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR,                                                getPhysicalDeviceQueueFamilyProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR,                                                             getPhysicalDeviceMemoryProperties2),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR,                                  getPhysicalDeviceSparseImageFormatProperties2),
+       VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroupsKHR,                                                                  enumeratePhysicalDeviceGroups),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferPropertiesKHR,                                              getPhysicalDeviceExternalBufferProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,                                   getPhysicalDeviceExternalSemaphoreProperties),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFencePropertiesKHR,                                               getPhysicalDeviceExternalFenceProperties),
++      VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR,             enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR),
++      VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR,                             getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2KHR,                                                  getPhysicalDeviceSurfaceCapabilities2KHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormats2KHR,                                                               getPhysicalDeviceSurfaceFormats2KHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayProperties2KHR,                                                    getPhysicalDeviceDisplayProperties2KHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlaneProperties2KHR,                                               getPhysicalDeviceDisplayPlaneProperties2KHR),
+       VK_NULL_FUNC_ENTRY(vkGetDisplayModeProperties2KHR,                                                                              getDisplayModeProperties2KHR),
+       VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilities2KHR,                                                                   getDisplayPlaneCapabilities2KHR),
+       VK_NULL_FUNC_ENTRY(vkCreateDebugReportCallbackEXT,                                                                              createDebugReportCallbackEXT),
+       VK_NULL_FUNC_ENTRY(vkDestroyDebugReportCallbackEXT,                                                                             destroyDebugReportCallbackEXT),
+       VK_NULL_FUNC_ENTRY(vkDebugReportMessageEXT,                                                                                             debugReportMessageEXT),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalImageFormatPropertiesNV,                                  getPhysicalDeviceExternalImageFormatPropertiesNV),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,                                   getPhysicalDeviceGeneratedCommandsPropertiesNVX),
+       VK_NULL_FUNC_ENTRY(vkReleaseDisplayEXT,                                                                                                 releaseDisplayEXT),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2EXT,                                                  getPhysicalDeviceSurfaceCapabilities2EXT),
+       VK_NULL_FUNC_ENTRY(vkCreateDebugUtilsMessengerEXT,                                                                              createDebugUtilsMessengerEXT),
+       VK_NULL_FUNC_ENTRY(vkDestroyDebugUtilsMessengerEXT,                                                                             destroyDebugUtilsMessengerEXT),
+       VK_NULL_FUNC_ENTRY(vkSubmitDebugUtilsMessageEXT,                                                                                submitDebugUtilsMessageEXT),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMultisamplePropertiesEXT,                                                 getPhysicalDeviceMultisamplePropertiesEXT),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceCalibrateableTimeDomainsEXT,                                              getPhysicalDeviceCalibrateableTimeDomainsEXT),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceCooperativeMatrixPropertiesNV,                                    getPhysicalDeviceCooperativeMatrixPropertiesNV),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV,   getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV),
+       VK_NULL_FUNC_ENTRY(vkCreateHeadlessSurfaceEXT,                                                                                  createHeadlessSurfaceEXT),
+       VK_NULL_FUNC_ENTRY(vkCreateAndroidSurfaceKHR,                                                                                   createAndroidSurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateImagePipeSurfaceFUCHSIA,                                                                             createImagePipeSurfaceFUCHSIA),
+       VK_NULL_FUNC_ENTRY(vkCreateStreamDescriptorSurfaceGGP,                                                                  createStreamDescriptorSurfaceGGP),
+       VK_NULL_FUNC_ENTRY(vkCreateIOSSurfaceMVK,                                                                                               createIOSSurfaceMVK),
+       VK_NULL_FUNC_ENTRY(vkCreateMacOSSurfaceMVK,                                                                                             createMacOSSurfaceMVK),
+       VK_NULL_FUNC_ENTRY(vkCreateMetalSurfaceEXT,                                                                                             createMetalSurfaceEXT),
+       VK_NULL_FUNC_ENTRY(vkCreateViSurfaceNN,                                                                                                 createViSurfaceNN),
+       VK_NULL_FUNC_ENTRY(vkCreateWaylandSurfaceKHR,                                                                                   createWaylandSurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWaylandPresentationSupportKHR,                                    getPhysicalDeviceWaylandPresentationSupportKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateWin32SurfaceKHR,                                                                                             createWin32SurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWin32PresentationSupportKHR,                                              getPhysicalDeviceWin32PresentationSupportKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModes2EXT,                                                  getPhysicalDeviceSurfacePresentModes2EXT),
+       VK_NULL_FUNC_ENTRY(vkCreateXcbSurfaceKHR,                                                                                               createXcbSurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXcbPresentationSupportKHR,                                                getPhysicalDeviceXcbPresentationSupportKHR),
+       VK_NULL_FUNC_ENTRY(vkCreateXlibSurfaceKHR,                                                                                              createXlibSurfaceKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXlibPresentationSupportKHR,                                               getPhysicalDeviceXlibPresentationSupportKHR),
+       VK_NULL_FUNC_ENTRY(vkAcquireXlibDisplayEXT,                                                                                             acquireXlibDisplayEXT),
+       VK_NULL_FUNC_ENTRY(vkGetRandROutputDisplayEXT,                                                                                  getRandROutputDisplayEXT),
  };
  
  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(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(vkCmdDispatchBaseKHR,                                                cmdDispatchBase),
-       VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR,                                               cmdSetDeviceMask),
-       VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR,               getDeviceGroupPeerMemoryFeatures),
-       VK_NULL_FUNC_ENTRY(vkTrimCommandPoolKHR,                                                trimCommandPool),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR,                                   getMemoryWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandlePropertiesKHR,                 getMemoryWin32HandlePropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryFdKHR,                                                    getMemoryFdKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryFdPropertiesKHR,                                  getMemoryFdPropertiesKHR),
-       VK_NULL_FUNC_ENTRY(vkImportSemaphoreWin32HandleKHR,                             importSemaphoreWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetSemaphoreWin32HandleKHR,                                getSemaphoreWin32HandleKHR),
-       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,                                              createRenderPass2KHR),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2KHR,                                    cmdBeginRenderPass2KHR),
-       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2KHR,                                                cmdNextSubpass2KHR),
-       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2KHR,                                              cmdEndRenderPass2KHR),
-       VK_NULL_FUNC_ENTRY(vkGetSwapchainStatusKHR,                                             getSwapchainStatusKHR),
-       VK_NULL_FUNC_ENTRY(vkImportFenceWin32HandleKHR,                                 importFenceWin32HandleKHR),
-       VK_NULL_FUNC_ENTRY(vkGetFenceWin32HandleKHR,                                    getFenceWin32HandleKHR),
-       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(vkGetBufferMemoryRequirements2KHR,                   getBufferMemoryRequirements2),
-       VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2KHR,                    getImageMemoryRequirements2),
-       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(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(vkCmdDrawIndirectCountAMD,                                   cmdDrawIndirectCountAMD),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountAMD,                    cmdDrawIndexedIndirectCountAMD),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountKHR,                                   cmdDrawIndirectCountKHR),
-       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountKHR,                    cmdDrawIndexedIndirectCountKHR),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleNV,                                    getMemoryWin32HandleNV),
-       VK_NULL_FUNC_ENTRY(vkCmdBeginConditionalRenderingEXT,                   cmdBeginConditionalRenderingEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdEndConditionalRenderingEXT,                             cmdEndConditionalRenderingEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdProcessCommandsNVX,                                             cmdProcessCommandsNVX),
-       VK_NULL_FUNC_ENTRY(vkCmdReserveSpaceForCommandsNVX,                             cmdReserveSpaceForCommandsNVX),
-       VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNVX,                   createIndirectCommandsLayoutNVX),
-       VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNVX,                  destroyIndirectCommandsLayoutNVX),
-       VK_NULL_FUNC_ENTRY(vkCreateObjectTableNVX,                                              createObjectTableNVX),
-       VK_NULL_FUNC_ENTRY(vkDestroyObjectTableNVX,                                             destroyObjectTableNVX),
-       VK_NULL_FUNC_ENTRY(vkRegisterObjectsNVX,                                                registerObjectsNVX),
-       VK_NULL_FUNC_ENTRY(vkUnregisterObjectsNVX,                                              unregisterObjectsNVX),
-       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(vkCmdSetSampleLocationsEXT,                                  cmdSetSampleLocationsEXT),
-       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(vkGetMemoryHostPointerPropertiesEXT,                 getMemoryHostPointerPropertiesEXT),
-       VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID, getAndroidHardwareBufferPropertiesANDROID),
-       VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID,             getMemoryAndroidHardwareBufferANDROID),
-       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                 getBufferDeviceAddressEXT),
-       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                 resetQueryPoolEXT),
-       VK_NULL_FUNC_ENTRY(vkGetCalibratedTimestampsEXT,                                getCalibratedTimestampsEXT),
+       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(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(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,                                                      createRenderPass2KHR),
+       VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2KHR,                                            cmdBeginRenderPass2KHR),
+       VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2KHR,                                                        cmdNextSubpass2KHR),
+       VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2KHR,                                                      cmdEndRenderPass2KHR),
+       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,                                           cmdDrawIndirectCountKHR),
+       VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountKHR,                            cmdDrawIndexedIndirectCountKHR),
+       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(vkGetImageViewHandleNVX,                                                     getImageViewHandleNVX),
+       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(vkCmdProcessCommandsNVX,                                                     cmdProcessCommandsNVX),
+       VK_NULL_FUNC_ENTRY(vkCmdReserveSpaceForCommandsNVX,                                     cmdReserveSpaceForCommandsNVX),
+       VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNVX,                           createIndirectCommandsLayoutNVX),
+       VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNVX,                          destroyIndirectCommandsLayoutNVX),
+       VK_NULL_FUNC_ENTRY(vkCreateObjectTableNVX,                                                      createObjectTableNVX),
+       VK_NULL_FUNC_ENTRY(vkDestroyObjectTableNVX,                                                     destroyObjectTableNVX),
+       VK_NULL_FUNC_ENTRY(vkRegisterObjectsNVX,                                                        registerObjectsNVX),
+       VK_NULL_FUNC_ENTRY(vkUnregisterObjectsNVX,                                                      unregisterObjectsNVX),
+       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(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(vkSetLocalDimmingAMD,                                                        setLocalDimmingAMD),
+       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                         getBufferDeviceAddressEXT),
+       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                         resetQueryPoolEXT),
+       VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID,         getAndroidHardwareBufferPropertiesANDROID),
+       VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID,                     getMemoryAndroidHardwareBufferANDROID),
+       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),
  };
  
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- const char*   getPipelineCacheHeaderVersionName               (VkPipelineCacheHeaderVersion value);
- const char*   getResultName                                                   (VkResult value);
- const char*   getStructureTypeName                                    (VkStructureType value);
- const char*   getSystemAllocationScopeName                    (VkSystemAllocationScope value);
- const char*   getInternalAllocationTypeName                   (VkInternalAllocationType value);
- const char*   getFormatName                                                   (VkFormat value);
- const char*   getImageTypeName                                                (VkImageType value);
- const char*   getImageTilingName                                              (VkImageTiling value);
- const char*   getPhysicalDeviceTypeName                               (VkPhysicalDeviceType value);
- const char*   getQueryTypeName                                                (VkQueryType value);
- const char*   getSharingModeName                                              (VkSharingMode value);
- const char*   getImageLayoutName                                              (VkImageLayout value);
- const char*   getImageViewTypeName                                    (VkImageViewType value);
- const char*   getComponentSwizzleName                                 (VkComponentSwizzle value);
- const char*   getVertexInputRateName                                  (VkVertexInputRate value);
- const char*   getPrimitiveTopologyName                                (VkPrimitiveTopology value);
- const char*   getPolygonModeName                                              (VkPolygonMode value);
- const char*   getFrontFaceName                                                (VkFrontFace value);
- const char*   getCompareOpName                                                (VkCompareOp value);
- const char*   getStencilOpName                                                (VkStencilOp value);
- const char*   getLogicOpName                                                  (VkLogicOp value);
- const char*   getBlendFactorName                                              (VkBlendFactor value);
- const char*   getBlendOpName                                                  (VkBlendOp value);
- const char*   getDynamicStateName                                             (VkDynamicState value);
- const char*   getFilterName                                                   (VkFilter value);
- const char*   getSamplerMipmapModeName                                (VkSamplerMipmapMode value);
- const char*   getSamplerAddressModeName                               (VkSamplerAddressMode value);
- const char*   getBorderColorName                                              (VkBorderColor value);
- const char*   getDescriptorTypeName                                   (VkDescriptorType value);
- const char*   getAttachmentLoadOpName                                 (VkAttachmentLoadOp value);
- const char*   getAttachmentStoreOpName                                (VkAttachmentStoreOp value);
- const char*   getPipelineBindPointName                                (VkPipelineBindPoint value);
- const char*   getCommandBufferLevelName                               (VkCommandBufferLevel value);
- const char*   getIndexTypeName                                                (VkIndexType value);
- const char*   getSubpassContentsName                                  (VkSubpassContents value);
- const char*   getObjectTypeName                                               (VkObjectType value);
- const char*   getPointClippingBehaviorName                    (VkPointClippingBehavior value);
- const char*   getTessellationDomainOriginName                 (VkTessellationDomainOrigin value);
- const char*   getSamplerYcbcrModelConversionName              (VkSamplerYcbcrModelConversion value);
- const char*   getSamplerYcbcrRangeName                                (VkSamplerYcbcrRange value);
- const char*   getChromaLocationName                                   (VkChromaLocation value);
- const char*   getDescriptorUpdateTemplateTypeName             (VkDescriptorUpdateTemplateType value);
- const char*   getColorSpaceKHRName                                    (VkColorSpaceKHR value);
- const char*   getPresentModeKHRName                                   (VkPresentModeKHR value);
- const char*   getPerformanceCounterUnitKHRName                (VkPerformanceCounterUnitKHR value);
- const char*   getPerformanceCounterScopeKHRName               (VkPerformanceCounterScopeKHR value);
- const char*   getPerformanceCounterStorageKHRName             (VkPerformanceCounterStorageKHR value);
- const char*   getDebugReportObjectTypeEXTName                 (VkDebugReportObjectTypeEXT value);
- const char*   getRasterizationOrderAMDName                    (VkRasterizationOrderAMD value);
- const char*   getValidationCheckEXTName                               (VkValidationCheckEXT value);
- const char*   getIndirectCommandsTokenTypeNVXName             (VkIndirectCommandsTokenTypeNVX value);
- const char*   getObjectEntryTypeNVXName                               (VkObjectEntryTypeNVX value);
- const char*   getDisplayPowerStateEXTName                             (VkDisplayPowerStateEXT value);
- const char*   getDeviceEventTypeEXTName                               (VkDeviceEventTypeEXT value);
- const char*   getDisplayEventTypeEXTName                              (VkDisplayEventTypeEXT value);
- const char*   getViewportCoordinateSwizzleNVName              (VkViewportCoordinateSwizzleNV value);
- const char*   getDiscardRectangleModeEXTName                  (VkDiscardRectangleModeEXT value);
- const char*   getSamplerReductionModeEXTName                  (VkSamplerReductionModeEXT value);
- const char*   getBlendOverlapEXTName                                  (VkBlendOverlapEXT value);
- const char*   getCoverageModulationModeNVName                 (VkCoverageModulationModeNV value);
- const char*   getValidationCacheHeaderVersionEXTName  (VkValidationCacheHeaderVersionEXT value);
- const char*   getComponentTypeNVName                                  (VkComponentTypeNV value);
- const char*   getScopeNVName                                                  (VkScopeNV value);
- const char*   getTimeDomainEXTName                                    (VkTimeDomainEXT value);
+ const char*   getPipelineCacheHeaderVersionName                                               (VkPipelineCacheHeaderVersion value);
+ const char*   getResultName                                                                                   (VkResult value);
+ const char*   getStructureTypeName                                                                    (VkStructureType value);
+ const char*   getSystemAllocationScopeName                                                    (VkSystemAllocationScope value);
+ const char*   getInternalAllocationTypeName                                                   (VkInternalAllocationType value);
+ const char*   getFormatName                                                                                   (VkFormat value);
+ const char*   getImageTypeName                                                                                (VkImageType value);
+ const char*   getImageTilingName                                                                              (VkImageTiling value);
+ const char*   getPhysicalDeviceTypeName                                                               (VkPhysicalDeviceType value);
+ const char*   getQueryTypeName                                                                                (VkQueryType value);
+ const char*   getSharingModeName                                                                              (VkSharingMode value);
+ const char*   getImageLayoutName                                                                              (VkImageLayout value);
+ const char*   getImageViewTypeName                                                                    (VkImageViewType value);
+ const char*   getComponentSwizzleName                                                                 (VkComponentSwizzle value);
+ const char*   getVertexInputRateName                                                                  (VkVertexInputRate value);
+ const char*   getPrimitiveTopologyName                                                                (VkPrimitiveTopology value);
+ const char*   getPolygonModeName                                                                              (VkPolygonMode value);
+ const char*   getFrontFaceName                                                                                (VkFrontFace value);
+ const char*   getCompareOpName                                                                                (VkCompareOp value);
+ const char*   getStencilOpName                                                                                (VkStencilOp value);
+ const char*   getLogicOpName                                                                                  (VkLogicOp value);
+ const char*   getBlendFactorName                                                                              (VkBlendFactor value);
+ const char*   getBlendOpName                                                                                  (VkBlendOp value);
+ const char*   getDynamicStateName                                                                             (VkDynamicState value);
+ const char*   getFilterName                                                                                   (VkFilter value);
+ const char*   getSamplerMipmapModeName                                                                (VkSamplerMipmapMode value);
+ const char*   getSamplerAddressModeName                                                               (VkSamplerAddressMode value);
+ const char*   getBorderColorName                                                                              (VkBorderColor value);
+ const char*   getDescriptorTypeName                                                                   (VkDescriptorType value);
+ const char*   getAttachmentLoadOpName                                                                 (VkAttachmentLoadOp value);
+ const char*   getAttachmentStoreOpName                                                                (VkAttachmentStoreOp value);
+ const char*   getPipelineBindPointName                                                                (VkPipelineBindPoint value);
+ const char*   getCommandBufferLevelName                                                               (VkCommandBufferLevel value);
+ const char*   getIndexTypeName                                                                                (VkIndexType value);
+ const char*   getSubpassContentsName                                                                  (VkSubpassContents value);
+ const char*   getObjectTypeName                                                                               (VkObjectType value);
+ const char*   getVendorIdName                                                                                 (VkVendorId value);
+ const char*   getPointClippingBehaviorName                                                    (VkPointClippingBehavior value);
+ const char*   getTessellationDomainOriginName                                                 (VkTessellationDomainOrigin value);
+ const char*   getSamplerYcbcrModelConversionName                                              (VkSamplerYcbcrModelConversion value);
+ const char*   getSamplerYcbcrRangeName                                                                (VkSamplerYcbcrRange value);
+ const char*   getChromaLocationName                                                                   (VkChromaLocation value);
+ const char*   getDescriptorUpdateTemplateTypeName                                             (VkDescriptorUpdateTemplateType value);
+ const char*   getColorSpaceKHRName                                                                    (VkColorSpaceKHR value);
+ const char*   getPresentModeKHRName                                                                   (VkPresentModeKHR value);
++const char*   getPerformanceCounterUnitKHRName                                                (VkPerformanceCounterUnitKHR value);
++const char*   getPerformanceCounterScopeKHRName                                               (VkPerformanceCounterScopeKHR value);
++const char*   getPerformanceCounterStorageKHRName                                             (VkPerformanceCounterStorageKHR value);
+ const char*   getDriverIdKHRName                                                                              (VkDriverIdKHR value);
+ const char*   getDebugReportObjectTypeEXTName                                                 (VkDebugReportObjectTypeEXT value);
+ const char*   getRasterizationOrderAMDName                                                    (VkRasterizationOrderAMD value);
+ const char*   getShaderInfoTypeAMDName                                                                (VkShaderInfoTypeAMD value);
+ const char*   getValidationCheckEXTName                                                               (VkValidationCheckEXT value);
+ const char*   getIndirectCommandsTokenTypeNVXName                                             (VkIndirectCommandsTokenTypeNVX value);
+ const char*   getObjectEntryTypeNVXName                                                               (VkObjectEntryTypeNVX value);
+ const char*   getDisplayPowerStateEXTName                                                             (VkDisplayPowerStateEXT value);
+ const char*   getDeviceEventTypeEXTName                                                               (VkDeviceEventTypeEXT value);
+ const char*   getDisplayEventTypeEXTName                                                              (VkDisplayEventTypeEXT value);
+ const char*   getViewportCoordinateSwizzleNVName                                              (VkViewportCoordinateSwizzleNV value);
+ const char*   getDiscardRectangleModeEXTName                                                  (VkDiscardRectangleModeEXT value);
+ const char*   getConservativeRasterizationModeEXTName                                 (VkConservativeRasterizationModeEXT value);
+ const char*   getSamplerReductionModeEXTName                                                  (VkSamplerReductionModeEXT value);
+ const char*   getBlendOverlapEXTName                                                                  (VkBlendOverlapEXT value);
+ const char*   getCoverageModulationModeNVName                                                 (VkCoverageModulationModeNV value);
+ const char*   getValidationCacheHeaderVersionEXTName                                  (VkValidationCacheHeaderVersionEXT value);
+ const char*   getShadingRatePaletteEntryNVName                                                (VkShadingRatePaletteEntryNV value);
+ const char*   getCoarseSampleOrderTypeNVName                                                  (VkCoarseSampleOrderTypeNV value);
+ const char*   getRayTracingShaderGroupTypeNVName                                              (VkRayTracingShaderGroupTypeNV value);
+ const char*   getGeometryTypeNVName                                                                   (VkGeometryTypeNV value);
+ const char*   getAccelerationStructureTypeNVName                                              (VkAccelerationStructureTypeNV value);
+ const char*   getCopyAccelerationStructureModeNVName                                  (VkCopyAccelerationStructureModeNV value);
+ const char*   getAccelerationStructureMemoryRequirementsTypeNVName    (VkAccelerationStructureMemoryRequirementsTypeNV value);
+ const char*   getQueueGlobalPriorityEXTName                                                   (VkQueueGlobalPriorityEXT value);
+ const char*   getTimeDomainEXTName                                                                    (VkTimeDomainEXT value);
+ const char*   getMemoryOverallocationBehaviorAMDName                                  (VkMemoryOverallocationBehaviorAMD value);
+ const char*   getValidationFeatureEnableEXTName                                               (VkValidationFeatureEnableEXT value);
+ const char*   getValidationFeatureDisableEXTName                                              (VkValidationFeatureDisableEXT value);
+ const char*   getComponentTypeNVName                                                                  (VkComponentTypeNV value);
+ const char*   getScopeNVName                                                                                  (VkScopeNV value);
+ const char*   getCoverageReductionModeNVName                                                  (VkCoverageReductionModeNV value);
+ const char*   getFullScreenExclusiveEXTName                                                   (VkFullScreenExclusiveEXT value);
  
- inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>                getPipelineCacheHeaderVersionStr                (VkPipelineCacheHeaderVersion value)            { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, 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<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);                                             }
- inline tcu::Format::Enum<VkFormat>                                                    getFormatStr                                                    (VkFormat value)                                                        { return tcu::Format::Enum<VkFormat>(getFormatName, value);                                                                                                             }
- inline tcu::Format::Enum<VkImageType>                                         getImageTypeStr                                                 (VkImageType value)                                                     { return tcu::Format::Enum<VkImageType>(getImageTypeName, value);                                                                                               }
- inline tcu::Format::Enum<VkImageTiling>                                               getImageTilingStr                                               (VkImageTiling value)                                           { return tcu::Format::Enum<VkImageTiling>(getImageTilingName, value);                                                                                   }
- inline tcu::Format::Enum<VkPhysicalDeviceType>                                getPhysicalDeviceTypeStr                                (VkPhysicalDeviceType value)                            { return tcu::Format::Enum<VkPhysicalDeviceType>(getPhysicalDeviceTypeName, value);                                                             }
- inline tcu::Format::Enum<VkQueryType>                                         getQueryTypeStr                                                 (VkQueryType value)                                                     { return tcu::Format::Enum<VkQueryType>(getQueryTypeName, value);                                                                                               }
- inline tcu::Format::Enum<VkSharingMode>                                               getSharingModeStr                                               (VkSharingMode value)                                           { return tcu::Format::Enum<VkSharingMode>(getSharingModeName, value);                                                                                   }
- inline tcu::Format::Enum<VkImageLayout>                                               getImageLayoutStr                                               (VkImageLayout value)                                           { return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value);                                                                                   }
- inline tcu::Format::Enum<VkImageViewType>                                     getImageViewTypeStr                                             (VkImageViewType value)                                         { return tcu::Format::Enum<VkImageViewType>(getImageViewTypeName, value);                                                                               }
- inline tcu::Format::Enum<VkComponentSwizzle>                          getComponentSwizzleStr                                  (VkComponentSwizzle value)                                      { return tcu::Format::Enum<VkComponentSwizzle>(getComponentSwizzleName, value);                                                                 }
- inline tcu::Format::Enum<VkVertexInputRate>                                   getVertexInputRateStr                                   (VkVertexInputRate value)                                       { return tcu::Format::Enum<VkVertexInputRate>(getVertexInputRateName, value);                                                                   }
- inline tcu::Format::Enum<VkPrimitiveTopology>                         getPrimitiveTopologyStr                                 (VkPrimitiveTopology value)                                     { return tcu::Format::Enum<VkPrimitiveTopology>(getPrimitiveTopologyName, value);                                                               }
- inline tcu::Format::Enum<VkPolygonMode>                                               getPolygonModeStr                                               (VkPolygonMode value)                                           { return tcu::Format::Enum<VkPolygonMode>(getPolygonModeName, value);                                                                                   }
- inline tcu::Format::Enum<VkFrontFace>                                         getFrontFaceStr                                                 (VkFrontFace value)                                                     { return tcu::Format::Enum<VkFrontFace>(getFrontFaceName, value);                                                                                               }
- inline tcu::Format::Enum<VkCompareOp>                                         getCompareOpStr                                                 (VkCompareOp value)                                                     { return tcu::Format::Enum<VkCompareOp>(getCompareOpName, value);                                                                                               }
- inline tcu::Format::Enum<VkStencilOp>                                         getStencilOpStr                                                 (VkStencilOp value)                                                     { return tcu::Format::Enum<VkStencilOp>(getStencilOpName, value);                                                                                               }
- inline tcu::Format::Enum<VkLogicOp>                                                   getLogicOpStr                                                   (VkLogicOp value)                                                       { return tcu::Format::Enum<VkLogicOp>(getLogicOpName, value);                                                                                                   }
- inline tcu::Format::Enum<VkBlendFactor>                                               getBlendFactorStr                                               (VkBlendFactor value)                                           { return tcu::Format::Enum<VkBlendFactor>(getBlendFactorName, value);                                                                                   }
- inline tcu::Format::Enum<VkBlendOp>                                                   getBlendOpStr                                                   (VkBlendOp value)                                                       { return tcu::Format::Enum<VkBlendOp>(getBlendOpName, value);                                                                                                   }
- inline tcu::Format::Enum<VkDynamicState>                                      getDynamicStateStr                                              (VkDynamicState value)                                          { return tcu::Format::Enum<VkDynamicState>(getDynamicStateName, value);                                                                                 }
- inline tcu::Format::Enum<VkFilter>                                                    getFilterStr                                                    (VkFilter value)                                                        { return tcu::Format::Enum<VkFilter>(getFilterName, value);                                                                                                             }
- inline tcu::Format::Enum<VkSamplerMipmapMode>                         getSamplerMipmapModeStr                                 (VkSamplerMipmapMode value)                                     { return tcu::Format::Enum<VkSamplerMipmapMode>(getSamplerMipmapModeName, value);                                                               }
- inline tcu::Format::Enum<VkSamplerAddressMode>                                getSamplerAddressModeStr                                (VkSamplerAddressMode value)                            { return tcu::Format::Enum<VkSamplerAddressMode>(getSamplerAddressModeName, value);                                                             }
- inline tcu::Format::Enum<VkBorderColor>                                               getBorderColorStr                                               (VkBorderColor value)                                           { return tcu::Format::Enum<VkBorderColor>(getBorderColorName, value);                                                                                   }
- inline tcu::Format::Enum<VkDescriptorType>                                    getDescriptorTypeStr                                    (VkDescriptorType value)                                        { return tcu::Format::Enum<VkDescriptorType>(getDescriptorTypeName, value);                                                                             }
- inline tcu::Format::Enum<VkAttachmentLoadOp>                          getAttachmentLoadOpStr                                  (VkAttachmentLoadOp value)                                      { return tcu::Format::Enum<VkAttachmentLoadOp>(getAttachmentLoadOpName, value);                                                                 }
- inline tcu::Format::Enum<VkAttachmentStoreOp>                         getAttachmentStoreOpStr                                 (VkAttachmentStoreOp value)                                     { return tcu::Format::Enum<VkAttachmentStoreOp>(getAttachmentStoreOpName, value);                                                               }
- inline tcu::Format::Enum<VkPipelineBindPoint>                         getPipelineBindPointStr                                 (VkPipelineBindPoint value)                                     { return tcu::Format::Enum<VkPipelineBindPoint>(getPipelineBindPointName, value);                                                               }
- inline tcu::Format::Enum<VkCommandBufferLevel>                                getCommandBufferLevelStr                                (VkCommandBufferLevel value)                            { return tcu::Format::Enum<VkCommandBufferLevel>(getCommandBufferLevelName, value);                                                             }
- inline tcu::Format::Enum<VkIndexType>                                         getIndexTypeStr                                                 (VkIndexType value)                                                     { return tcu::Format::Enum<VkIndexType>(getIndexTypeName, value);                                                                                               }
- inline tcu::Format::Enum<VkSubpassContents>                                   getSubpassContentsStr                                   (VkSubpassContents value)                                       { return tcu::Format::Enum<VkSubpassContents>(getSubpassContentsName, value);                                                                   }
- inline tcu::Format::Enum<VkObjectType>                                                getObjectTypeStr                                                (VkObjectType value)                                            { return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value);                                                                                             }
- inline tcu::Format::Enum<VkPointClippingBehavior>                     getPointClippingBehaviorStr                             (VkPointClippingBehavior value)                         { return tcu::Format::Enum<VkPointClippingBehavior>(getPointClippingBehaviorName, value);                                               }
- inline tcu::Format::Enum<VkTessellationDomainOrigin>          getTessellationDomainOriginStr                  (VkTessellationDomainOrigin value)                      { return tcu::Format::Enum<VkTessellationDomainOrigin>(getTessellationDomainOriginName, value);                                 }
- inline tcu::Format::Enum<VkSamplerYcbcrModelConversion>               getSamplerYcbcrModelConversionStr               (VkSamplerYcbcrModelConversion value)           { return tcu::Format::Enum<VkSamplerYcbcrModelConversion>(getSamplerYcbcrModelConversionName, value);                   }
- inline tcu::Format::Enum<VkSamplerYcbcrRange>                         getSamplerYcbcrRangeStr                                 (VkSamplerYcbcrRange value)                                     { return tcu::Format::Enum<VkSamplerYcbcrRange>(getSamplerYcbcrRangeName, value);                                                               }
- inline tcu::Format::Enum<VkChromaLocation>                                    getChromaLocationStr                                    (VkChromaLocation value)                                        { return tcu::Format::Enum<VkChromaLocation>(getChromaLocationName, value);                                                                             }
- inline tcu::Format::Enum<VkDescriptorUpdateTemplateType>      getDescriptorUpdateTemplateTypeStr              (VkDescriptorUpdateTemplateType value)          { return tcu::Format::Enum<VkDescriptorUpdateTemplateType>(getDescriptorUpdateTemplateTypeName, value);                 }
- inline tcu::Format::Enum<VkColorSpaceKHR>                                     getColorSpaceKHRStr                                             (VkColorSpaceKHR value)                                         { return tcu::Format::Enum<VkColorSpaceKHR>(getColorSpaceKHRName, value);                                                                               }
- inline tcu::Format::Enum<VkPresentModeKHR>                                    getPresentModeKHRStr                                    (VkPresentModeKHR value)                                        { return tcu::Format::Enum<VkPresentModeKHR>(getPresentModeKHRName, value);                                                                             }
- inline tcu::Format::Enum<VkPerformanceCounterUnitKHR>         getPerformanceCounterUnitKHRStr                 (VkPerformanceCounterUnitKHR value)                     { return tcu::Format::Enum<VkPerformanceCounterUnitKHR>(getPerformanceCounterUnitKHRName, value);                               }
- inline tcu::Format::Enum<VkPerformanceCounterScopeKHR>                getPerformanceCounterScopeKHRStr                (VkPerformanceCounterScopeKHR value)            { return tcu::Format::Enum<VkPerformanceCounterScopeKHR>(getPerformanceCounterScopeKHRName, value);                             }
- inline tcu::Format::Enum<VkPerformanceCounterStorageKHR>      getPerformanceCounterStorageKHRStr              (VkPerformanceCounterStorageKHR value)          { return tcu::Format::Enum<VkPerformanceCounterStorageKHR>(getPerformanceCounterStorageKHRName, value);                 }
- inline tcu::Format::Enum<VkDebugReportObjectTypeEXT>          getDebugReportObjectTypeEXTStr                  (VkDebugReportObjectTypeEXT value)                      { return tcu::Format::Enum<VkDebugReportObjectTypeEXT>(getDebugReportObjectTypeEXTName, value);                                 }
- inline tcu::Format::Enum<VkRasterizationOrderAMD>                     getRasterizationOrderAMDStr                             (VkRasterizationOrderAMD value)                         { return tcu::Format::Enum<VkRasterizationOrderAMD>(getRasterizationOrderAMDName, value);                                               }
- inline tcu::Format::Enum<VkValidationCheckEXT>                                getValidationCheckEXTStr                                (VkValidationCheckEXT value)                            { return tcu::Format::Enum<VkValidationCheckEXT>(getValidationCheckEXTName, value);                                                             }
- inline tcu::Format::Enum<VkIndirectCommandsTokenTypeNVX>      getIndirectCommandsTokenTypeNVXStr              (VkIndirectCommandsTokenTypeNVX value)          { return tcu::Format::Enum<VkIndirectCommandsTokenTypeNVX>(getIndirectCommandsTokenTypeNVXName, value);                 }
- inline tcu::Format::Enum<VkObjectEntryTypeNVX>                                getObjectEntryTypeNVXStr                                (VkObjectEntryTypeNVX value)                            { return tcu::Format::Enum<VkObjectEntryTypeNVX>(getObjectEntryTypeNVXName, value);                                                             }
- inline tcu::Format::Enum<VkDisplayPowerStateEXT>                      getDisplayPowerStateEXTStr                              (VkDisplayPowerStateEXT value)                          { return tcu::Format::Enum<VkDisplayPowerStateEXT>(getDisplayPowerStateEXTName, value);                                                 }
- inline tcu::Format::Enum<VkDeviceEventTypeEXT>                                getDeviceEventTypeEXTStr                                (VkDeviceEventTypeEXT value)                            { return tcu::Format::Enum<VkDeviceEventTypeEXT>(getDeviceEventTypeEXTName, value);                                                             }
- inline tcu::Format::Enum<VkDisplayEventTypeEXT>                               getDisplayEventTypeEXTStr                               (VkDisplayEventTypeEXT value)                           { return tcu::Format::Enum<VkDisplayEventTypeEXT>(getDisplayEventTypeEXTName, value);                                                   }
- inline tcu::Format::Enum<VkViewportCoordinateSwizzleNV>               getViewportCoordinateSwizzleNVStr               (VkViewportCoordinateSwizzleNV value)           { return tcu::Format::Enum<VkViewportCoordinateSwizzleNV>(getViewportCoordinateSwizzleNVName, value);                   }
- inline tcu::Format::Enum<VkDiscardRectangleModeEXT>                   getDiscardRectangleModeEXTStr                   (VkDiscardRectangleModeEXT value)                       { return tcu::Format::Enum<VkDiscardRectangleModeEXT>(getDiscardRectangleModeEXTName, value);                                   }
- inline tcu::Format::Enum<VkSamplerReductionModeEXT>                   getSamplerReductionModeEXTStr                   (VkSamplerReductionModeEXT value)                       { return tcu::Format::Enum<VkSamplerReductionModeEXT>(getSamplerReductionModeEXTName, value);                                   }
- inline tcu::Format::Enum<VkBlendOverlapEXT>                                   getBlendOverlapEXTStr                                   (VkBlendOverlapEXT value)                                       { return tcu::Format::Enum<VkBlendOverlapEXT>(getBlendOverlapEXTName, value);                                                                   }
- inline tcu::Format::Enum<VkCoverageModulationModeNV>          getCoverageModulationModeNVStr                  (VkCoverageModulationModeNV value)                      { return tcu::Format::Enum<VkCoverageModulationModeNV>(getCoverageModulationModeNVName, value);                                 }
- inline tcu::Format::Enum<VkValidationCacheHeaderVersionEXT>   getValidationCacheHeaderVersionEXTStr   (VkValidationCacheHeaderVersionEXT value)       { return tcu::Format::Enum<VkValidationCacheHeaderVersionEXT>(getValidationCacheHeaderVersionEXTName, value);   }
- inline tcu::Format::Enum<VkComponentTypeNV>                                   getComponentTypeNVStr                                   (VkComponentTypeNV value)                                       { return tcu::Format::Enum<VkComponentTypeNV>(getComponentTypeNVName, value);                                                                   }
- inline tcu::Format::Enum<VkScopeNV>                                                   getScopeNVStr                                                   (VkScopeNV value)                                                       { return tcu::Format::Enum<VkScopeNV>(getScopeNVName, value);                                                                                                   }
- inline tcu::Format::Enum<VkTimeDomainEXT>                                     getTimeDomainEXTStr                                             (VkTimeDomainEXT value)                                         { return tcu::Format::Enum<VkTimeDomainEXT>(getTimeDomainEXTName, value);                                                                               }
+ inline tcu::Format::Enum<VkPipelineCacheHeaderVersion>                                                getPipelineCacheHeaderVersionStr                                        (VkPipelineCacheHeaderVersion value)                                    { return tcu::Format::Enum<VkPipelineCacheHeaderVersion>(getPipelineCacheHeaderVersionName, 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<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);                                                                                                     }
+ inline tcu::Format::Enum<VkFormat>                                                                                    getFormatStr                                                                            (VkFormat value)                                                                                { return tcu::Format::Enum<VkFormat>(getFormatName, value);                                                                                                                                                                     }
+ inline tcu::Format::Enum<VkImageType>                                                                         getImageTypeStr                                                                         (VkImageType value)                                                                             { return tcu::Format::Enum<VkImageType>(getImageTypeName, value);                                                                                                                                                       }
+ inline tcu::Format::Enum<VkImageTiling>                                                                               getImageTilingStr                                                                       (VkImageTiling value)                                                                   { return tcu::Format::Enum<VkImageTiling>(getImageTilingName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkPhysicalDeviceType>                                                                getPhysicalDeviceTypeStr                                                        (VkPhysicalDeviceType value)                                                    { return tcu::Format::Enum<VkPhysicalDeviceType>(getPhysicalDeviceTypeName, value);                                                                                                                     }
+ inline tcu::Format::Enum<VkQueryType>                                                                         getQueryTypeStr                                                                         (VkQueryType value)                                                                             { return tcu::Format::Enum<VkQueryType>(getQueryTypeName, value);                                                                                                                                                       }
+ inline tcu::Format::Enum<VkSharingMode>                                                                               getSharingModeStr                                                                       (VkSharingMode value)                                                                   { return tcu::Format::Enum<VkSharingMode>(getSharingModeName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkImageLayout>                                                                               getImageLayoutStr                                                                       (VkImageLayout value)                                                                   { return tcu::Format::Enum<VkImageLayout>(getImageLayoutName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkImageViewType>                                                                     getImageViewTypeStr                                                                     (VkImageViewType value)                                                                 { return tcu::Format::Enum<VkImageViewType>(getImageViewTypeName, value);                                                                                                                                       }
+ inline tcu::Format::Enum<VkComponentSwizzle>                                                          getComponentSwizzleStr                                                          (VkComponentSwizzle value)                                                              { return tcu::Format::Enum<VkComponentSwizzle>(getComponentSwizzleName, value);                                                                                                                         }
+ inline tcu::Format::Enum<VkVertexInputRate>                                                                   getVertexInputRateStr                                                           (VkVertexInputRate value)                                                               { return tcu::Format::Enum<VkVertexInputRate>(getVertexInputRateName, value);                                                                                                                           }
+ inline tcu::Format::Enum<VkPrimitiveTopology>                                                         getPrimitiveTopologyStr                                                         (VkPrimitiveTopology value)                                                             { return tcu::Format::Enum<VkPrimitiveTopology>(getPrimitiveTopologyName, value);                                                                                                                       }
+ inline tcu::Format::Enum<VkPolygonMode>                                                                               getPolygonModeStr                                                                       (VkPolygonMode value)                                                                   { return tcu::Format::Enum<VkPolygonMode>(getPolygonModeName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkFrontFace>                                                                         getFrontFaceStr                                                                         (VkFrontFace value)                                                                             { return tcu::Format::Enum<VkFrontFace>(getFrontFaceName, value);                                                                                                                                                       }
+ inline tcu::Format::Enum<VkCompareOp>                                                                         getCompareOpStr                                                                         (VkCompareOp value)                                                                             { return tcu::Format::Enum<VkCompareOp>(getCompareOpName, value);                                                                                                                                                       }
+ inline tcu::Format::Enum<VkStencilOp>                                                                         getStencilOpStr                                                                         (VkStencilOp value)                                                                             { return tcu::Format::Enum<VkStencilOp>(getStencilOpName, value);                                                                                                                                                       }
+ inline tcu::Format::Enum<VkLogicOp>                                                                                   getLogicOpStr                                                                           (VkLogicOp value)                                                                               { return tcu::Format::Enum<VkLogicOp>(getLogicOpName, value);                                                                                                                                                           }
+ inline tcu::Format::Enum<VkBlendFactor>                                                                               getBlendFactorStr                                                                       (VkBlendFactor value)                                                                   { return tcu::Format::Enum<VkBlendFactor>(getBlendFactorName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkBlendOp>                                                                                   getBlendOpStr                                                                           (VkBlendOp value)                                                                               { return tcu::Format::Enum<VkBlendOp>(getBlendOpName, value);                                                                                                                                                           }
+ inline tcu::Format::Enum<VkDynamicState>                                                                      getDynamicStateStr                                                                      (VkDynamicState value)                                                                  { return tcu::Format::Enum<VkDynamicState>(getDynamicStateName, value);                                                                                                                                         }
+ inline tcu::Format::Enum<VkFilter>                                                                                    getFilterStr                                                                            (VkFilter value)                                                                                { return tcu::Format::Enum<VkFilter>(getFilterName, value);                                                                                                                                                                     }
+ inline tcu::Format::Enum<VkSamplerMipmapMode>                                                         getSamplerMipmapModeStr                                                         (VkSamplerMipmapMode value)                                                             { return tcu::Format::Enum<VkSamplerMipmapMode>(getSamplerMipmapModeName, value);                                                                                                                       }
+ inline tcu::Format::Enum<VkSamplerAddressMode>                                                                getSamplerAddressModeStr                                                        (VkSamplerAddressMode value)                                                    { return tcu::Format::Enum<VkSamplerAddressMode>(getSamplerAddressModeName, value);                                                                                                                     }
+ inline tcu::Format::Enum<VkBorderColor>                                                                               getBorderColorStr                                                                       (VkBorderColor value)                                                                   { return tcu::Format::Enum<VkBorderColor>(getBorderColorName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkDescriptorType>                                                                    getDescriptorTypeStr                                                            (VkDescriptorType value)                                                                { return tcu::Format::Enum<VkDescriptorType>(getDescriptorTypeName, value);                                                                                                                                     }
+ inline tcu::Format::Enum<VkAttachmentLoadOp>                                                          getAttachmentLoadOpStr                                                          (VkAttachmentLoadOp value)                                                              { return tcu::Format::Enum<VkAttachmentLoadOp>(getAttachmentLoadOpName, value);                                                                                                                         }
+ inline tcu::Format::Enum<VkAttachmentStoreOp>                                                         getAttachmentStoreOpStr                                                         (VkAttachmentStoreOp value)                                                             { return tcu::Format::Enum<VkAttachmentStoreOp>(getAttachmentStoreOpName, value);                                                                                                                       }
+ inline tcu::Format::Enum<VkPipelineBindPoint>                                                         getPipelineBindPointStr                                                         (VkPipelineBindPoint value)                                                             { return tcu::Format::Enum<VkPipelineBindPoint>(getPipelineBindPointName, value);                                                                                                                       }
+ inline tcu::Format::Enum<VkCommandBufferLevel>                                                                getCommandBufferLevelStr                                                        (VkCommandBufferLevel value)                                                    { return tcu::Format::Enum<VkCommandBufferLevel>(getCommandBufferLevelName, value);                                                                                                                     }
+ inline tcu::Format::Enum<VkIndexType>                                                                         getIndexTypeStr                                                                         (VkIndexType value)                                                                             { return tcu::Format::Enum<VkIndexType>(getIndexTypeName, value);                                                                                                                                                       }
+ inline tcu::Format::Enum<VkSubpassContents>                                                                   getSubpassContentsStr                                                           (VkSubpassContents value)                                                               { return tcu::Format::Enum<VkSubpassContents>(getSubpassContentsName, value);                                                                                                                           }
+ inline tcu::Format::Enum<VkObjectType>                                                                                getObjectTypeStr                                                                        (VkObjectType value)                                                                    { return tcu::Format::Enum<VkObjectType>(getObjectTypeName, value);                                                                                                                                                     }
+ inline tcu::Format::Enum<VkVendorId>                                                                          getVendorIdStr                                                                          (VkVendorId value)                                                                              { return tcu::Format::Enum<VkVendorId>(getVendorIdName, value);                                                                                                                                                         }
+ inline tcu::Format::Enum<VkPointClippingBehavior>                                                     getPointClippingBehaviorStr                                                     (VkPointClippingBehavior value)                                                 { return tcu::Format::Enum<VkPointClippingBehavior>(getPointClippingBehaviorName, value);                                                                                                       }
+ inline tcu::Format::Enum<VkTessellationDomainOrigin>                                          getTessellationDomainOriginStr                                          (VkTessellationDomainOrigin value)                                              { return tcu::Format::Enum<VkTessellationDomainOrigin>(getTessellationDomainOriginName, value);                                                                                         }
+ inline tcu::Format::Enum<VkSamplerYcbcrModelConversion>                                               getSamplerYcbcrModelConversionStr                                       (VkSamplerYcbcrModelConversion value)                                   { return tcu::Format::Enum<VkSamplerYcbcrModelConversion>(getSamplerYcbcrModelConversionName, value);                                                                           }
+ inline tcu::Format::Enum<VkSamplerYcbcrRange>                                                         getSamplerYcbcrRangeStr                                                         (VkSamplerYcbcrRange value)                                                             { return tcu::Format::Enum<VkSamplerYcbcrRange>(getSamplerYcbcrRangeName, value);                                                                                                                       }
+ inline tcu::Format::Enum<VkChromaLocation>                                                                    getChromaLocationStr                                                            (VkChromaLocation value)                                                                { return tcu::Format::Enum<VkChromaLocation>(getChromaLocationName, value);                                                                                                                                     }
+ inline tcu::Format::Enum<VkDescriptorUpdateTemplateType>                                      getDescriptorUpdateTemplateTypeStr                                      (VkDescriptorUpdateTemplateType value)                                  { return tcu::Format::Enum<VkDescriptorUpdateTemplateType>(getDescriptorUpdateTemplateTypeName, value);                                                                         }
+ inline tcu::Format::Enum<VkColorSpaceKHR>                                                                     getColorSpaceKHRStr                                                                     (VkColorSpaceKHR value)                                                                 { return tcu::Format::Enum<VkColorSpaceKHR>(getColorSpaceKHRName, value);                                                                                                                                       }
+ inline tcu::Format::Enum<VkPresentModeKHR>                                                                    getPresentModeKHRStr                                                            (VkPresentModeKHR value)                                                                { return tcu::Format::Enum<VkPresentModeKHR>(getPresentModeKHRName, value);                                                                                                                                     }
++inline tcu::Format::Enum<VkPerformanceCounterUnitKHR>                                         getPerformanceCounterUnitKHRStr                                         (VkPerformanceCounterUnitKHR value)                                             { return tcu::Format::Enum<VkPerformanceCounterUnitKHR>(getPerformanceCounterUnitKHRName, value);                                                                                       }
++inline tcu::Format::Enum<VkPerformanceCounterScopeKHR>                                                getPerformanceCounterScopeKHRStr                                        (VkPerformanceCounterScopeKHR value)                                    { return tcu::Format::Enum<VkPerformanceCounterScopeKHR>(getPerformanceCounterScopeKHRName, value);                                                                                     }
++inline tcu::Format::Enum<VkPerformanceCounterStorageKHR>                                      getPerformanceCounterStorageKHRStr                                      (VkPerformanceCounterStorageKHR value)                                  { return tcu::Format::Enum<VkPerformanceCounterStorageKHR>(getPerformanceCounterStorageKHRName, value);                                                                         }
+ inline tcu::Format::Enum<VkDriverIdKHR>                                                                               getDriverIdKHRStr                                                                       (VkDriverIdKHR value)                                                                   { return tcu::Format::Enum<VkDriverIdKHR>(getDriverIdKHRName, value);                                                                                                                                           }
+ inline tcu::Format::Enum<VkDebugReportObjectTypeEXT>                                          getDebugReportObjectTypeEXTStr                                          (VkDebugReportObjectTypeEXT value)                                              { return tcu::Format::Enum<VkDebugReportObjectTypeEXT>(getDebugReportObjectTypeEXTName, value);                                                                                         }
+ inline tcu::Format::Enum<VkRasterizationOrderAMD>                                                     getRasterizationOrderAMDStr                                                     (VkRasterizationOrderAMD value)                                                 { return tcu::Format::Enum<VkRasterizationOrderAMD>(getRasterizationOrderAMDName, value);                                                                                                       }
+ inline tcu::Format::Enum<VkShaderInfoTypeAMD>                                                         getShaderInfoTypeAMDStr                                                         (VkShaderInfoTypeAMD value)                                                             { return tcu::Format::Enum<VkShaderInfoTypeAMD>(getShaderInfoTypeAMDName, value);                                                                                                                       }
+ inline tcu::Format::Enum<VkValidationCheckEXT>                                                                getValidationCheckEXTStr                                                        (VkValidationCheckEXT value)                                                    { return tcu::Format::Enum<VkValidationCheckEXT>(getValidationCheckEXTName, value);                                                                                                                     }
+ inline tcu::Format::Enum<VkIndirectCommandsTokenTypeNVX>                                      getIndirectCommandsTokenTypeNVXStr                                      (VkIndirectCommandsTokenTypeNVX value)                                  { return tcu::Format::Enum<VkIndirectCommandsTokenTypeNVX>(getIndirectCommandsTokenTypeNVXName, value);                                                                         }
+ inline tcu::Format::Enum<VkObjectEntryTypeNVX>                                                                getObjectEntryTypeNVXStr                                                        (VkObjectEntryTypeNVX value)                                                    { return tcu::Format::Enum<VkObjectEntryTypeNVX>(getObjectEntryTypeNVXName, value);                                                                                                                     }
+ inline tcu::Format::Enum<VkDisplayPowerStateEXT>                                                      getDisplayPowerStateEXTStr                                                      (VkDisplayPowerStateEXT value)                                                  { return tcu::Format::Enum<VkDisplayPowerStateEXT>(getDisplayPowerStateEXTName, value);                                                                                                         }
+ inline tcu::Format::Enum<VkDeviceEventTypeEXT>                                                                getDeviceEventTypeEXTStr                                                        (VkDeviceEventTypeEXT value)                                                    { return tcu::Format::Enum<VkDeviceEventTypeEXT>(getDeviceEventTypeEXTName, value);                                                                                                                     }
+ inline tcu::Format::Enum<VkDisplayEventTypeEXT>                                                               getDisplayEventTypeEXTStr                                                       (VkDisplayEventTypeEXT value)                                                   { return tcu::Format::Enum<VkDisplayEventTypeEXT>(getDisplayEventTypeEXTName, value);                                                                                                           }
+ inline tcu::Format::Enum<VkViewportCoordinateSwizzleNV>                                               getViewportCoordinateSwizzleNVStr                                       (VkViewportCoordinateSwizzleNV value)                                   { return tcu::Format::Enum<VkViewportCoordinateSwizzleNV>(getViewportCoordinateSwizzleNVName, value);                                                                           }
+ inline tcu::Format::Enum<VkDiscardRectangleModeEXT>                                                   getDiscardRectangleModeEXTStr                                           (VkDiscardRectangleModeEXT value)                                               { return tcu::Format::Enum<VkDiscardRectangleModeEXT>(getDiscardRectangleModeEXTName, value);                                                                                           }
+ inline tcu::Format::Enum<VkConservativeRasterizationModeEXT>                          getConservativeRasterizationModeEXTStr                          (VkConservativeRasterizationModeEXT value)                              { return tcu::Format::Enum<VkConservativeRasterizationModeEXT>(getConservativeRasterizationModeEXTName, value);                                                         }
+ inline tcu::Format::Enum<VkSamplerReductionModeEXT>                                                   getSamplerReductionModeEXTStr                                           (VkSamplerReductionModeEXT value)                                               { return tcu::Format::Enum<VkSamplerReductionModeEXT>(getSamplerReductionModeEXTName, value);                                                                                           }
+ inline tcu::Format::Enum<VkBlendOverlapEXT>                                                                   getBlendOverlapEXTStr                                                           (VkBlendOverlapEXT value)                                                               { return tcu::Format::Enum<VkBlendOverlapEXT>(getBlendOverlapEXTName, value);                                                                                                                           }
+ inline tcu::Format::Enum<VkCoverageModulationModeNV>                                          getCoverageModulationModeNVStr                                          (VkCoverageModulationModeNV value)                                              { return tcu::Format::Enum<VkCoverageModulationModeNV>(getCoverageModulationModeNVName, value);                                                                                         }
+ inline tcu::Format::Enum<VkValidationCacheHeaderVersionEXT>                                   getValidationCacheHeaderVersionEXTStr                           (VkValidationCacheHeaderVersionEXT value)                               { return tcu::Format::Enum<VkValidationCacheHeaderVersionEXT>(getValidationCacheHeaderVersionEXTName, value);                                                           }
+ inline tcu::Format::Enum<VkShadingRatePaletteEntryNV>                                         getShadingRatePaletteEntryNVStr                                         (VkShadingRatePaletteEntryNV value)                                             { return tcu::Format::Enum<VkShadingRatePaletteEntryNV>(getShadingRatePaletteEntryNVName, value);                                                                                       }
+ inline tcu::Format::Enum<VkCoarseSampleOrderTypeNV>                                                   getCoarseSampleOrderTypeNVStr                                           (VkCoarseSampleOrderTypeNV value)                                               { return tcu::Format::Enum<VkCoarseSampleOrderTypeNV>(getCoarseSampleOrderTypeNVName, value);                                                                                           }
+ inline tcu::Format::Enum<VkRayTracingShaderGroupTypeNV>                                               getRayTracingShaderGroupTypeNVStr                                       (VkRayTracingShaderGroupTypeNV value)                                   { return tcu::Format::Enum<VkRayTracingShaderGroupTypeNV>(getRayTracingShaderGroupTypeNVName, value);                                                                           }
+ inline tcu::Format::Enum<VkGeometryTypeNV>                                                                    getGeometryTypeNVStr                                                            (VkGeometryTypeNV value)                                                                { return tcu::Format::Enum<VkGeometryTypeNV>(getGeometryTypeNVName, value);                                                                                                                                     }
+ inline tcu::Format::Enum<VkAccelerationStructureTypeNV>                                               getAccelerationStructureTypeNVStr                                       (VkAccelerationStructureTypeNV value)                                   { return tcu::Format::Enum<VkAccelerationStructureTypeNV>(getAccelerationStructureTypeNVName, value);                                                                           }
+ inline tcu::Format::Enum<VkCopyAccelerationStructureModeNV>                                   getCopyAccelerationStructureModeNVStr                           (VkCopyAccelerationStructureModeNV value)                               { return tcu::Format::Enum<VkCopyAccelerationStructureModeNV>(getCopyAccelerationStructureModeNVName, value);                                                           }
+ inline tcu::Format::Enum<VkAccelerationStructureMemoryRequirementsTypeNV>     getAccelerationStructureMemoryRequirementsTypeNVStr     (VkAccelerationStructureMemoryRequirementsTypeNV value) { return tcu::Format::Enum<VkAccelerationStructureMemoryRequirementsTypeNV>(getAccelerationStructureMemoryRequirementsTypeNVName, value);       }
+ inline tcu::Format::Enum<VkQueueGlobalPriorityEXT>                                                    getQueueGlobalPriorityEXTStr                                            (VkQueueGlobalPriorityEXT value)                                                { return tcu::Format::Enum<VkQueueGlobalPriorityEXT>(getQueueGlobalPriorityEXTName, value);                                                                                                     }
+ inline tcu::Format::Enum<VkTimeDomainEXT>                                                                     getTimeDomainEXTStr                                                                     (VkTimeDomainEXT value)                                                                 { return tcu::Format::Enum<VkTimeDomainEXT>(getTimeDomainEXTName, value);                                                                                                                                       }
+ inline tcu::Format::Enum<VkMemoryOverallocationBehaviorAMD>                                   getMemoryOverallocationBehaviorAMDStr                           (VkMemoryOverallocationBehaviorAMD value)                               { return tcu::Format::Enum<VkMemoryOverallocationBehaviorAMD>(getMemoryOverallocationBehaviorAMDName, value);                                                           }
+ inline tcu::Format::Enum<VkValidationFeatureEnableEXT>                                                getValidationFeatureEnableEXTStr                                        (VkValidationFeatureEnableEXT value)                                    { return tcu::Format::Enum<VkValidationFeatureEnableEXT>(getValidationFeatureEnableEXTName, value);                                                                                     }
+ inline tcu::Format::Enum<VkValidationFeatureDisableEXT>                                               getValidationFeatureDisableEXTStr                                       (VkValidationFeatureDisableEXT value)                                   { return tcu::Format::Enum<VkValidationFeatureDisableEXT>(getValidationFeatureDisableEXTName, value);                                                                           }
+ inline tcu::Format::Enum<VkComponentTypeNV>                                                                   getComponentTypeNVStr                                                           (VkComponentTypeNV value)                                                               { return tcu::Format::Enum<VkComponentTypeNV>(getComponentTypeNVName, value);                                                                                                                           }
+ inline tcu::Format::Enum<VkScopeNV>                                                                                   getScopeNVStr                                                                           (VkScopeNV value)                                                                               { return tcu::Format::Enum<VkScopeNV>(getScopeNVName, value);                                                                                                                                                           }
+ inline tcu::Format::Enum<VkCoverageReductionModeNV>                                                   getCoverageReductionModeNVStr                                           (VkCoverageReductionModeNV value)                                               { return tcu::Format::Enum<VkCoverageReductionModeNV>(getCoverageReductionModeNVName, value);                                                                                           }
+ inline tcu::Format::Enum<VkFullScreenExclusiveEXT>                                                    getFullScreenExclusiveEXTStr                                            (VkFullScreenExclusiveEXT value)                                                { return tcu::Format::Enum<VkFullScreenExclusiveEXT>(getFullScreenExclusiveEXTName, value);                                                                                                     }
  
- inline std::ostream&  operator<<      (std::ostream& s, VkPipelineCacheHeaderVersion value)           { return s << getPipelineCacheHeaderVersionStr(value);          }
- 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, VkSystemAllocationScope value)                        { return s << getSystemAllocationScopeStr(value);                       }
- inline std::ostream&  operator<<      (std::ostream& s, VkInternalAllocationType value)                       { return s << getInternalAllocationTypeStr(value);                      }
- inline std::ostream&  operator<<      (std::ostream& s, VkFormat value)                                                       { return s << getFormatStr(value);                                                      }
- inline std::ostream&  operator<<      (std::ostream& s, VkImageType value)                                            { return s << getImageTypeStr(value);                                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkImageTiling value)                                          { return s << getImageTilingStr(value);                                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkPhysicalDeviceType value)                           { return s << getPhysicalDeviceTypeStr(value);                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkQueryType value)                                            { return s << getQueryTypeStr(value);                                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkSharingMode value)                                          { return s << getSharingModeStr(value);                                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkImageLayout value)                                          { return s << getImageLayoutStr(value);                                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkImageViewType value)                                        { return s << getImageViewTypeStr(value);                                       }
- inline std::ostream&  operator<<      (std::ostream& s, VkComponentSwizzle value)                                     { return s << getComponentSwizzleStr(value);                            }
- inline std::ostream&  operator<<      (std::ostream& s, VkVertexInputRate value)                                      { return s << getVertexInputRateStr(value);                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkPrimitiveTopology value)                            { return s << getPrimitiveTopologyStr(value);                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkPolygonMode value)                                          { return s << getPolygonModeStr(value);                                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkFrontFace value)                                            { return s << getFrontFaceStr(value);                                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkCompareOp value)                                            { return s << getCompareOpStr(value);                                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkStencilOp value)                                            { return s << getStencilOpStr(value);                                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkLogicOp value)                                                      { return s << getLogicOpStr(value);                                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkBlendFactor value)                                          { return s << getBlendFactorStr(value);                                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkBlendOp value)                                                      { return s << getBlendOpStr(value);                                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkDynamicState value)                                         { return s << getDynamicStateStr(value);                                        }
- inline std::ostream&  operator<<      (std::ostream& s, VkFilter value)                                                       { return s << getFilterStr(value);                                                      }
- inline std::ostream&  operator<<      (std::ostream& s, VkSamplerMipmapMode value)                            { return s << getSamplerMipmapModeStr(value);                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkSamplerAddressMode value)                           { return s << getSamplerAddressModeStr(value);                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkBorderColor value)                                          { return s << getBorderColorStr(value);                                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkDescriptorType value)                                       { return s << getDescriptorTypeStr(value);                                      }
- inline std::ostream&  operator<<      (std::ostream& s, VkAttachmentLoadOp value)                                     { return s << getAttachmentLoadOpStr(value);                            }
- inline std::ostream&  operator<<      (std::ostream& s, VkAttachmentStoreOp value)                            { return s << getAttachmentStoreOpStr(value);                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkPipelineBindPoint value)                            { return s << getPipelineBindPointStr(value);                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkCommandBufferLevel value)                           { return s << getCommandBufferLevelStr(value);                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkIndexType value)                                            { return s << getIndexTypeStr(value);                                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkSubpassContents value)                                      { return s << getSubpassContentsStr(value);                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkObjectType value)                                           { return s << getObjectTypeStr(value);                                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkPointClippingBehavior value)                        { return s << getPointClippingBehaviorStr(value);                       }
- inline std::ostream&  operator<<      (std::ostream& s, VkTessellationDomainOrigin value)                     { return s << getTessellationDomainOriginStr(value);            }
- inline std::ostream&  operator<<      (std::ostream& s, VkSamplerYcbcrModelConversion value)          { return s << getSamplerYcbcrModelConversionStr(value);         }
- inline std::ostream&  operator<<      (std::ostream& s, VkSamplerYcbcrRange value)                            { return s << getSamplerYcbcrRangeStr(value);                           }
- inline std::ostream&  operator<<      (std::ostream& s, VkChromaLocation value)                                       { return s << getChromaLocationStr(value);                                      }
- inline std::ostream&  operator<<      (std::ostream& s, VkDescriptorUpdateTemplateType value)         { return s << getDescriptorUpdateTemplateTypeStr(value);        }
- inline std::ostream&  operator<<      (std::ostream& s, VkColorSpaceKHR value)                                        { return s << getColorSpaceKHRStr(value);                                       }
- inline std::ostream&  operator<<      (std::ostream& s, VkPresentModeKHR value)                                       { return s << getPresentModeKHRStr(value);                                      }
- inline std::ostream&  operator<<      (std::ostream& s, VkPerformanceCounterUnitKHR value)            { return s << getPerformanceCounterUnitKHRStr(value);           }
- inline std::ostream&  operator<<      (std::ostream& s, VkPerformanceCounterScopeKHR value)           { return s << getPerformanceCounterScopeKHRStr(value);          }
- inline std::ostream&  operator<<      (std::ostream& s, VkPerformanceCounterStorageKHR value)         { return s << getPerformanceCounterStorageKHRStr(value);        }
- inline std::ostream&  operator<<      (std::ostream& s, VkDebugReportObjectTypeEXT value)                     { return s << getDebugReportObjectTypeEXTStr(value);            }
- inline std::ostream&  operator<<      (std::ostream& s, VkRasterizationOrderAMD value)                        { return s << getRasterizationOrderAMDStr(value);                       }
- inline std::ostream&  operator<<      (std::ostream& s, VkValidationCheckEXT value)                           { return s << getValidationCheckEXTStr(value);                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkIndirectCommandsTokenTypeNVX value)         { return s << getIndirectCommandsTokenTypeNVXStr(value);        }
- inline std::ostream&  operator<<      (std::ostream& s, VkObjectEntryTypeNVX value)                           { return s << getObjectEntryTypeNVXStr(value);                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkDisplayPowerStateEXT value)                         { return s << getDisplayPowerStateEXTStr(value);                        }
- inline std::ostream&  operator<<      (std::ostream& s, VkDeviceEventTypeEXT value)                           { return s << getDeviceEventTypeEXTStr(value);                          }
- inline std::ostream&  operator<<      (std::ostream& s, VkDisplayEventTypeEXT value)                          { return s << getDisplayEventTypeEXTStr(value);                         }
- inline std::ostream&  operator<<      (std::ostream& s, VkViewportCoordinateSwizzleNV value)          { return s << getViewportCoordinateSwizzleNVStr(value);         }
- inline std::ostream&  operator<<      (std::ostream& s, VkDiscardRectangleModeEXT value)                      { return s << getDiscardRectangleModeEXTStr(value);                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkSamplerReductionModeEXT value)                      { return s << getSamplerReductionModeEXTStr(value);                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkBlendOverlapEXT value)                                      { return s << getBlendOverlapEXTStr(value);                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkCoverageModulationModeNV value)                     { return s << getCoverageModulationModeNVStr(value);            }
- inline std::ostream&  operator<<      (std::ostream& s, VkValidationCacheHeaderVersionEXT value)      { return s << getValidationCacheHeaderVersionEXTStr(value);     }
- inline std::ostream&  operator<<      (std::ostream& s, VkComponentTypeNV value)                                      { return s << getComponentTypeNVStr(value);                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkScopeNV value)                                                      { return s << getScopeNVStr(value);                                                     }
- inline std::ostream&  operator<<      (std::ostream& s, VkTimeDomainEXT value)                                        { return s << getTimeDomainEXTStr(value);                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPipelineCacheHeaderVersion value)                                           { return s << getPipelineCacheHeaderVersionStr(value);                                          }
+ 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, VkSystemAllocationScope value)                                                        { return s << getSystemAllocationScopeStr(value);                                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkInternalAllocationType value)                                                       { return s << getInternalAllocationTypeStr(value);                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkFormat value)                                                                                       { return s << getFormatStr(value);                                                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkImageType value)                                                                            { return s << getImageTypeStr(value);                                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkImageTiling value)                                                                          { return s << getImageTilingStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPhysicalDeviceType value)                                                           { return s << getPhysicalDeviceTypeStr(value);                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkQueryType value)                                                                            { return s << getQueryTypeStr(value);                                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSharingMode value)                                                                          { return s << getSharingModeStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkImageLayout value)                                                                          { return s << getImageLayoutStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkImageViewType value)                                                                        { return s << getImageViewTypeStr(value);                                                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkComponentSwizzle value)                                                                     { return s << getComponentSwizzleStr(value);                                                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkVertexInputRate value)                                                                      { return s << getVertexInputRateStr(value);                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPrimitiveTopology value)                                                            { return s << getPrimitiveTopologyStr(value);                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPolygonMode value)                                                                          { return s << getPolygonModeStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkFrontFace value)                                                                            { return s << getFrontFaceStr(value);                                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkCompareOp value)                                                                            { return s << getCompareOpStr(value);                                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkStencilOp value)                                                                            { return s << getStencilOpStr(value);                                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkLogicOp value)                                                                                      { return s << getLogicOpStr(value);                                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkBlendFactor value)                                                                          { return s << getBlendFactorStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkBlendOp value)                                                                                      { return s << getBlendOpStr(value);                                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDynamicState value)                                                                         { return s << getDynamicStateStr(value);                                                                        }
+ inline std::ostream&  operator<<      (std::ostream& s, VkFilter value)                                                                                       { return s << getFilterStr(value);                                                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSamplerMipmapMode value)                                                            { return s << getSamplerMipmapModeStr(value);                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSamplerAddressMode value)                                                           { return s << getSamplerAddressModeStr(value);                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkBorderColor value)                                                                          { return s << getBorderColorStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDescriptorType value)                                                                       { return s << getDescriptorTypeStr(value);                                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkAttachmentLoadOp value)                                                                     { return s << getAttachmentLoadOpStr(value);                                                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkAttachmentStoreOp value)                                                            { return s << getAttachmentStoreOpStr(value);                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPipelineBindPoint value)                                                            { return s << getPipelineBindPointStr(value);                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkCommandBufferLevel value)                                                           { return s << getCommandBufferLevelStr(value);                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkIndexType value)                                                                            { return s << getIndexTypeStr(value);                                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSubpassContents value)                                                                      { return s << getSubpassContentsStr(value);                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkObjectType value)                                                                           { return s << getObjectTypeStr(value);                                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkVendorId value)                                                                                     { return s << getVendorIdStr(value);                                                                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPointClippingBehavior value)                                                        { return s << getPointClippingBehaviorStr(value);                                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkTessellationDomainOrigin value)                                                     { return s << getTessellationDomainOriginStr(value);                                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSamplerYcbcrModelConversion value)                                          { return s << getSamplerYcbcrModelConversionStr(value);                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSamplerYcbcrRange value)                                                            { return s << getSamplerYcbcrRangeStr(value);                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkChromaLocation value)                                                                       { return s << getChromaLocationStr(value);                                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDescriptorUpdateTemplateType value)                                         { return s << getDescriptorUpdateTemplateTypeStr(value);                                        }
+ inline std::ostream&  operator<<      (std::ostream& s, VkColorSpaceKHR value)                                                                        { return s << getColorSpaceKHRStr(value);                                                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPresentModeKHR value)                                                                       { return s << getPresentModeKHRStr(value);                                                                      }
++inline std::ostream&  operator<<      (std::ostream& s, VkPerformanceCounterUnitKHR value)                                            { return s << getPerformanceCounterUnitKHRStr(value);                                           }
++inline std::ostream&  operator<<      (std::ostream& s, VkPerformanceCounterScopeKHR value)                                           { return s << getPerformanceCounterScopeKHRStr(value);                                          }
++inline std::ostream&  operator<<      (std::ostream& s, VkPerformanceCounterStorageKHR value)                                         { return s << getPerformanceCounterStorageKHRStr(value);                                        }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDriverIdKHR value)                                                                          { return s << getDriverIdKHRStr(value);                                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDebugReportObjectTypeEXT value)                                                     { return s << getDebugReportObjectTypeEXTStr(value);                                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkRasterizationOrderAMD value)                                                        { return s << getRasterizationOrderAMDStr(value);                                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkShaderInfoTypeAMD value)                                                            { return s << getShaderInfoTypeAMDStr(value);                                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkValidationCheckEXT value)                                                           { return s << getValidationCheckEXTStr(value);                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkIndirectCommandsTokenTypeNVX value)                                         { return s << getIndirectCommandsTokenTypeNVXStr(value);                                        }
+ inline std::ostream&  operator<<      (std::ostream& s, VkObjectEntryTypeNVX value)                                                           { return s << getObjectEntryTypeNVXStr(value);                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDisplayPowerStateEXT value)                                                         { return s << getDisplayPowerStateEXTStr(value);                                                        }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDeviceEventTypeEXT value)                                                           { return s << getDeviceEventTypeEXTStr(value);                                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDisplayEventTypeEXT value)                                                          { return s << getDisplayEventTypeEXTStr(value);                                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkViewportCoordinateSwizzleNV value)                                          { return s << getViewportCoordinateSwizzleNVStr(value);                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkDiscardRectangleModeEXT value)                                                      { return s << getDiscardRectangleModeEXTStr(value);                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkConservativeRasterizationModeEXT value)                                     { return s << getConservativeRasterizationModeEXTStr(value);                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkSamplerReductionModeEXT value)                                                      { return s << getSamplerReductionModeEXTStr(value);                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkBlendOverlapEXT value)                                                                      { return s << getBlendOverlapEXTStr(value);                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkCoverageModulationModeNV value)                                                     { return s << getCoverageModulationModeNVStr(value);                                            }
+ inline std::ostream&  operator<<      (std::ostream& s, VkValidationCacheHeaderVersionEXT value)                                      { return s << getValidationCacheHeaderVersionEXTStr(value);                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkShadingRatePaletteEntryNV value)                                            { return s << getShadingRatePaletteEntryNVStr(value);                                           }
+ inline std::ostream&  operator<<      (std::ostream& s, VkCoarseSampleOrderTypeNV value)                                                      { return s << getCoarseSampleOrderTypeNVStr(value);                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkRayTracingShaderGroupTypeNV value)                                          { return s << getRayTracingShaderGroupTypeNVStr(value);                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkGeometryTypeNV value)                                                                       { return s << getGeometryTypeNVStr(value);                                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkAccelerationStructureTypeNV value)                                          { return s << getAccelerationStructureTypeNVStr(value);                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkCopyAccelerationStructureModeNV value)                                      { return s << getCopyAccelerationStructureModeNVStr(value);                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkAccelerationStructureMemoryRequirementsTypeNV value)        { return s << getAccelerationStructureMemoryRequirementsTypeNVStr(value);       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkQueueGlobalPriorityEXT value)                                                       { return s << getQueueGlobalPriorityEXTStr(value);                                                      }
+ inline std::ostream&  operator<<      (std::ostream& s, VkTimeDomainEXT value)                                                                        { return s << getTimeDomainEXTStr(value);                                                                       }
+ inline std::ostream&  operator<<      (std::ostream& s, VkMemoryOverallocationBehaviorAMD value)                                      { return s << getMemoryOverallocationBehaviorAMDStr(value);                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkValidationFeatureEnableEXT value)                                           { return s << getValidationFeatureEnableEXTStr(value);                                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkValidationFeatureDisableEXT value)                                          { return s << getValidationFeatureDisableEXTStr(value);                                         }
+ inline std::ostream&  operator<<      (std::ostream& s, VkComponentTypeNV value)                                                                      { return s << getComponentTypeNVStr(value);                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkScopeNV value)                                                                                      { return s << getScopeNVStr(value);                                                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkCoverageReductionModeNV value)                                                      { return s << getCoverageReductionModeNVStr(value);                                                     }
+ inline std::ostream&  operator<<      (std::ostream& s, VkFullScreenExclusiveEXT value)                                                       { return s << getFullScreenExclusiveEXTStr(value);                                                      }
  
- tcu::Format::Bitfield<32>     getFormatFeatureFlagsStr                                                                (VkFormatFeatureFlags value);
- tcu::Format::Bitfield<32>     getImageUsageFlagsStr                                                                   (VkImageUsageFlags value);
- tcu::Format::Bitfield<32>     getImageCreateFlagsStr                                                                  (VkImageCreateFlags value);
- tcu::Format::Bitfield<32>     getSampleCountFlagsStr                                                                  (VkSampleCountFlags value);
- tcu::Format::Bitfield<32>     getQueueFlagsStr                                                                                (VkQueueFlags value);
- tcu::Format::Bitfield<32>     getMemoryPropertyFlagsStr                                                               (VkMemoryPropertyFlags value);
- tcu::Format::Bitfield<32>     getMemoryHeapFlagsStr                                                                   (VkMemoryHeapFlags value);
- tcu::Format::Bitfield<32>     getDeviceQueueCreateFlagsStr                                                    (VkDeviceQueueCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineStageFlagsStr                                                                (VkPipelineStageFlags value);
- tcu::Format::Bitfield<32>     getImageAspectFlagsStr                                                                  (VkImageAspectFlags value);
- tcu::Format::Bitfield<32>     getSparseImageFormatFlagsStr                                                    (VkSparseImageFormatFlags value);
- tcu::Format::Bitfield<32>     getSparseMemoryBindFlagsStr                                                             (VkSparseMemoryBindFlags value);
- tcu::Format::Bitfield<32>     getFenceCreateFlagsStr                                                                  (VkFenceCreateFlags value);
- tcu::Format::Bitfield<32>     getQueryPipelineStatisticFlagsStr                                               (VkQueryPipelineStatisticFlags value);
- tcu::Format::Bitfield<32>     getQueryResultFlagsStr                                                                  (VkQueryResultFlags value);
- tcu::Format::Bitfield<32>     getBufferCreateFlagsStr                                                                 (VkBufferCreateFlags value);
- tcu::Format::Bitfield<32>     getBufferUsageFlagsStr                                                                  (VkBufferUsageFlags value);
- tcu::Format::Bitfield<32>     getPipelineCreateFlagsStr                                                               (VkPipelineCreateFlags value);
- tcu::Format::Bitfield<32>     getShaderStageFlagsStr                                                                  (VkShaderStageFlags value);
- tcu::Format::Bitfield<32>     getCullModeFlagsStr                                                                             (VkCullModeFlags value);
- tcu::Format::Bitfield<32>     getColorComponentFlagsStr                                                               (VkColorComponentFlags value);
- tcu::Format::Bitfield<32>     getDescriptorSetLayoutCreateFlagsStr                                    (VkDescriptorSetLayoutCreateFlags value);
- tcu::Format::Bitfield<32>     getDescriptorPoolCreateFlagsStr                                                 (VkDescriptorPoolCreateFlags value);
- tcu::Format::Bitfield<32>     getFramebufferCreateFlagsStr                                                    (VkFramebufferCreateFlags value);
- tcu::Format::Bitfield<32>     getAttachmentDescriptionFlagsStr                                                (VkAttachmentDescriptionFlags value);
- tcu::Format::Bitfield<32>     getSubpassDescriptionFlagsStr                                                   (VkSubpassDescriptionFlags value);
- tcu::Format::Bitfield<32>     getAccessFlagsStr                                                                               (VkAccessFlags value);
- tcu::Format::Bitfield<32>     getDependencyFlagsStr                                                                   (VkDependencyFlags value);
- tcu::Format::Bitfield<32>     getCommandPoolCreateFlagsStr                                                    (VkCommandPoolCreateFlags value);
- tcu::Format::Bitfield<32>     getCommandPoolResetFlagsStr                                                             (VkCommandPoolResetFlags value);
- tcu::Format::Bitfield<32>     getCommandBufferUsageFlagsStr                                                   (VkCommandBufferUsageFlags value);
- tcu::Format::Bitfield<32>     getQueryControlFlagsStr                                                                 (VkQueryControlFlags value);
- tcu::Format::Bitfield<32>     getCommandBufferResetFlagsStr                                                   (VkCommandBufferResetFlags value);
- tcu::Format::Bitfield<32>     getStencilFaceFlagsStr                                                                  (VkStencilFaceFlags value);
- tcu::Format::Bitfield<32>     getSubgroupFeatureFlagsStr                                                              (VkSubgroupFeatureFlags value);
- tcu::Format::Bitfield<32>     getPeerMemoryFeatureFlagsStr                                                    (VkPeerMemoryFeatureFlags value);
- tcu::Format::Bitfield<32>     getMemoryAllocateFlagsStr                                                               (VkMemoryAllocateFlags value);
- tcu::Format::Bitfield<32>     getExternalMemoryHandleTypeFlagsStr                                             (VkExternalMemoryHandleTypeFlags value);
- tcu::Format::Bitfield<32>     getExternalMemoryFeatureFlagsStr                                                (VkExternalMemoryFeatureFlags value);
- tcu::Format::Bitfield<32>     getExternalFenceHandleTypeFlagsStr                                              (VkExternalFenceHandleTypeFlags value);
- tcu::Format::Bitfield<32>     getExternalFenceFeatureFlagsStr                                                 (VkExternalFenceFeatureFlags value);
- tcu::Format::Bitfield<32>     getFenceImportFlagsStr                                                                  (VkFenceImportFlags value);
- tcu::Format::Bitfield<32>     getSemaphoreImportFlagsStr                                                              (VkSemaphoreImportFlags value);
- tcu::Format::Bitfield<32>     getExternalSemaphoreHandleTypeFlagsStr                                  (VkExternalSemaphoreHandleTypeFlags value);
- tcu::Format::Bitfield<32>     getExternalSemaphoreFeatureFlagsStr                                             (VkExternalSemaphoreFeatureFlags value);
- tcu::Format::Bitfield<32>     getSurfaceTransformFlagsKHRStr                                                  (VkSurfaceTransformFlagsKHR value);
- tcu::Format::Bitfield<32>     getCompositeAlphaFlagsKHRStr                                                    (VkCompositeAlphaFlagsKHR value);
- tcu::Format::Bitfield<32>     getSwapchainCreateFlagsKHRStr                                                   (VkSwapchainCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getDeviceGroupPresentModeFlagsKHRStr                                    (VkDeviceGroupPresentModeFlagsKHR value);
- tcu::Format::Bitfield<32>     getDisplayPlaneAlphaFlagsKHRStr                                                 (VkDisplayPlaneAlphaFlagsKHR value);
- tcu::Format::Bitfield<32>     getPerformanceCounterDescriptionFlagsKHRStr                             (VkPerformanceCounterDescriptionFlagsKHR value);
- tcu::Format::Bitfield<32>     getResolveModeFlagsKHRStr                                                               (VkResolveModeFlagsKHR value);
- tcu::Format::Bitfield<32>     getDebugReportFlagsEXTStr                                                               (VkDebugReportFlagsEXT value);
- tcu::Format::Bitfield<32>     getExternalMemoryHandleTypeFlagsNVStr                                   (VkExternalMemoryHandleTypeFlagsNV value);
- tcu::Format::Bitfield<32>     getExternalMemoryFeatureFlagsNVStr                                              (VkExternalMemoryFeatureFlagsNV value);
- tcu::Format::Bitfield<32>     getConditionalRenderingFlagsEXTStr                                              (VkConditionalRenderingFlagsEXT value);
- tcu::Format::Bitfield<32>     getIndirectCommandsLayoutUsageFlagsNVXStr                               (VkIndirectCommandsLayoutUsageFlagsNVX value);
- tcu::Format::Bitfield<32>     getObjectEntryUsageFlagsNVXStr                                                  (VkObjectEntryUsageFlagsNVX value);
- tcu::Format::Bitfield<32>     getSurfaceCounterFlagsEXTStr                                                    (VkSurfaceCounterFlagsEXT value);
- tcu::Format::Bitfield<32>     getDescriptorBindingFlagsEXTStr                                                 (VkDescriptorBindingFlagsEXT value);
- tcu::Format::Bitfield<32>     getPipelineCreationFeedbackFlagsEXTStr                                  (VkPipelineCreationFeedbackFlagsEXT value);
- tcu::Format::Bitfield<32>     getInstanceCreateFlagsStr                                                               (VkInstanceCreateFlags value);
- tcu::Format::Bitfield<32>     getDeviceCreateFlagsStr                                                                 (VkDeviceCreateFlags value);
- tcu::Format::Bitfield<32>     getMemoryMapFlagsStr                                                                    (VkMemoryMapFlags value);
- tcu::Format::Bitfield<32>     getSemaphoreCreateFlagsStr                                                              (VkSemaphoreCreateFlags value);
- tcu::Format::Bitfield<32>     getEventCreateFlagsStr                                                                  (VkEventCreateFlags value);
- tcu::Format::Bitfield<32>     getQueryPoolCreateFlagsStr                                                              (VkQueryPoolCreateFlags value);
- tcu::Format::Bitfield<32>     getBufferViewCreateFlagsStr                                                             (VkBufferViewCreateFlags value);
- tcu::Format::Bitfield<32>     getImageViewCreateFlagsStr                                                              (VkImageViewCreateFlags value);
- tcu::Format::Bitfield<32>     getShaderModuleCreateFlagsStr                                                   (VkShaderModuleCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineCacheCreateFlagsStr                                                  (VkPipelineCacheCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineShaderStageCreateFlagsStr                                    (VkPipelineShaderStageCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineVertexInputStateCreateFlagsStr                               (VkPipelineVertexInputStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineInputAssemblyStateCreateFlagsStr                             (VkPipelineInputAssemblyStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineTessellationStateCreateFlagsStr                              (VkPipelineTessellationStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineViewportStateCreateFlagsStr                                  (VkPipelineViewportStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineRasterizationStateCreateFlagsStr                             (VkPipelineRasterizationStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineMultisampleStateCreateFlagsStr                               (VkPipelineMultisampleStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineDepthStencilStateCreateFlagsStr                              (VkPipelineDepthStencilStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineColorBlendStateCreateFlagsStr                                (VkPipelineColorBlendStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineDynamicStateCreateFlagsStr                                   (VkPipelineDynamicStateCreateFlags value);
- tcu::Format::Bitfield<32>     getPipelineLayoutCreateFlagsStr                                                 (VkPipelineLayoutCreateFlags value);
- tcu::Format::Bitfield<32>     getSamplerCreateFlagsStr                                                                (VkSamplerCreateFlags value);
- tcu::Format::Bitfield<32>     getDescriptorPoolResetFlagsStr                                                  (VkDescriptorPoolResetFlags value);
- tcu::Format::Bitfield<32>     getRenderPassCreateFlagsStr                                                             (VkRenderPassCreateFlags value);
- tcu::Format::Bitfield<32>     getCommandPoolTrimFlagsStr                                                              (VkCommandPoolTrimFlags value);
- tcu::Format::Bitfield<32>     getDescriptorUpdateTemplateCreateFlagsStr                               (VkDescriptorUpdateTemplateCreateFlags value);
- tcu::Format::Bitfield<32>     getDisplayModeCreateFlagsKHRStr                                                 (VkDisplayModeCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getDisplaySurfaceCreateFlagsKHRStr                                              (VkDisplaySurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getXlibSurfaceCreateFlagsKHRStr                                                 (VkXlibSurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getXcbSurfaceCreateFlagsKHRStr                                                  (VkXcbSurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getWaylandSurfaceCreateFlagsKHRStr                                              (VkWaylandSurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getMirSurfaceCreateFlagsKHRStr                                                  (VkMirSurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getAndroidSurfaceCreateFlagsKHRStr                                              (VkAndroidSurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getWin32SurfaceCreateFlagsKHRStr                                                (VkWin32SurfaceCreateFlagsKHR value);
- tcu::Format::Bitfield<32>     getAcquireProfilingLockFlagsKHRStr                                              (VkAcquireProfilingLockFlagsKHR value);
- tcu::Format::Bitfield<32>     getPipelineRasterizationStateStreamCreateFlagsEXTStr    (VkPipelineRasterizationStateStreamCreateFlagsEXT value);
- tcu::Format::Bitfield<32>     getViSurfaceCreateFlagsNNStr                                                    (VkViSurfaceCreateFlagsNN value);
- tcu::Format::Bitfield<32>     getPipelineViewportSwizzleStateCreateFlagsNVStr                 (VkPipelineViewportSwizzleStateCreateFlagsNV value);
- tcu::Format::Bitfield<32>     getPipelineDiscardRectangleStateCreateFlagsEXTStr               (VkPipelineDiscardRectangleStateCreateFlagsEXT value);
- tcu::Format::Bitfield<32>     getIOSSurfaceCreateFlagsMVKStr                                                  (VkIOSSurfaceCreateFlagsMVK value);
- tcu::Format::Bitfield<32>     getMacOSSurfaceCreateFlagsMVKStr                                                (VkMacOSSurfaceCreateFlagsMVK value);
- tcu::Format::Bitfield<32>     getPipelineCoverageToColorStateCreateFlagsNVStr                 (VkPipelineCoverageToColorStateCreateFlagsNV value);
- tcu::Format::Bitfield<32>     getPipelineCoverageModulationStateCreateFlagsNVStr              (VkPipelineCoverageModulationStateCreateFlagsNV value);
- tcu::Format::Bitfield<32>     getValidationCacheCreateFlagsEXTStr                                             (VkValidationCacheCreateFlagsEXT value);
- tcu::Format::Bitfield<32>     getPipelineRasterizationDepthClipStateCreateFlagsEXTStr (VkPipelineRasterizationDepthClipStateCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getFormatFeatureFlagsStr                                                                        (VkFormatFeatureFlags value);
+ tcu::Format::Bitfield<32>     getImageUsageFlagsStr                                                                           (VkImageUsageFlags value);
+ tcu::Format::Bitfield<32>     getImageCreateFlagsStr                                                                          (VkImageCreateFlags value);
+ tcu::Format::Bitfield<32>     getSampleCountFlagsStr                                                                          (VkSampleCountFlags value);
+ tcu::Format::Bitfield<32>     getQueueFlagsStr                                                                                        (VkQueueFlags value);
+ tcu::Format::Bitfield<32>     getMemoryPropertyFlagsStr                                                                       (VkMemoryPropertyFlags value);
+ tcu::Format::Bitfield<32>     getMemoryHeapFlagsStr                                                                           (VkMemoryHeapFlags value);
+ tcu::Format::Bitfield<32>     getDeviceQueueCreateFlagsStr                                                            (VkDeviceQueueCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineStageFlagsStr                                                                        (VkPipelineStageFlags value);
+ tcu::Format::Bitfield<32>     getImageAspectFlagsStr                                                                          (VkImageAspectFlags value);
+ tcu::Format::Bitfield<32>     getSparseImageFormatFlagsStr                                                            (VkSparseImageFormatFlags value);
+ tcu::Format::Bitfield<32>     getSparseMemoryBindFlagsStr                                                                     (VkSparseMemoryBindFlags value);
+ tcu::Format::Bitfield<32>     getFenceCreateFlagsStr                                                                          (VkFenceCreateFlags value);
+ tcu::Format::Bitfield<32>     getQueryPipelineStatisticFlagsStr                                                       (VkQueryPipelineStatisticFlags value);
+ tcu::Format::Bitfield<32>     getQueryResultFlagsStr                                                                          (VkQueryResultFlags value);
+ tcu::Format::Bitfield<32>     getBufferCreateFlagsStr                                                                         (VkBufferCreateFlags value);
+ tcu::Format::Bitfield<32>     getBufferUsageFlagsStr                                                                          (VkBufferUsageFlags value);
+ tcu::Format::Bitfield<32>     getImageViewCreateFlagsStr                                                                      (VkImageViewCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineCreateFlagsStr                                                                       (VkPipelineCreateFlags value);
+ tcu::Format::Bitfield<32>     getShaderStageFlagsStr                                                                          (VkShaderStageFlags value);
+ tcu::Format::Bitfield<32>     getCullModeFlagsStr                                                                                     (VkCullModeFlags value);
+ tcu::Format::Bitfield<32>     getColorComponentFlagsStr                                                                       (VkColorComponentFlags value);
+ tcu::Format::Bitfield<32>     getSamplerCreateFlagsStr                                                                        (VkSamplerCreateFlags value);
+ tcu::Format::Bitfield<32>     getDescriptorSetLayoutCreateFlagsStr                                            (VkDescriptorSetLayoutCreateFlags value);
+ tcu::Format::Bitfield<32>     getDescriptorPoolCreateFlagsStr                                                         (VkDescriptorPoolCreateFlags value);
++tcu::Format::Bitfield<32>     getFramebufferCreateFlagsStr                                                            (VkFramebufferCreateFlags value);
+ tcu::Format::Bitfield<32>     getAttachmentDescriptionFlagsStr                                                        (VkAttachmentDescriptionFlags value);
+ tcu::Format::Bitfield<32>     getSubpassDescriptionFlagsStr                                                           (VkSubpassDescriptionFlags value);
+ tcu::Format::Bitfield<32>     getAccessFlagsStr                                                                                       (VkAccessFlags value);
+ tcu::Format::Bitfield<32>     getDependencyFlagsStr                                                                           (VkDependencyFlags value);
+ tcu::Format::Bitfield<32>     getCommandPoolCreateFlagsStr                                                            (VkCommandPoolCreateFlags value);
+ tcu::Format::Bitfield<32>     getCommandPoolResetFlagsStr                                                                     (VkCommandPoolResetFlags value);
+ tcu::Format::Bitfield<32>     getCommandBufferUsageFlagsStr                                                           (VkCommandBufferUsageFlags value);
+ tcu::Format::Bitfield<32>     getQueryControlFlagsStr                                                                         (VkQueryControlFlags value);
+ tcu::Format::Bitfield<32>     getCommandBufferResetFlagsStr                                                           (VkCommandBufferResetFlags value);
+ tcu::Format::Bitfield<32>     getStencilFaceFlagsStr                                                                          (VkStencilFaceFlags value);
+ tcu::Format::Bitfield<32>     getSubgroupFeatureFlagsStr                                                                      (VkSubgroupFeatureFlags value);
+ tcu::Format::Bitfield<32>     getPeerMemoryFeatureFlagsStr                                                            (VkPeerMemoryFeatureFlags value);
+ tcu::Format::Bitfield<32>     getMemoryAllocateFlagsStr                                                                       (VkMemoryAllocateFlags value);
+ tcu::Format::Bitfield<32>     getExternalMemoryHandleTypeFlagsStr                                                     (VkExternalMemoryHandleTypeFlags value);
+ tcu::Format::Bitfield<32>     getExternalMemoryFeatureFlagsStr                                                        (VkExternalMemoryFeatureFlags value);
+ tcu::Format::Bitfield<32>     getExternalFenceHandleTypeFlagsStr                                                      (VkExternalFenceHandleTypeFlags value);
+ tcu::Format::Bitfield<32>     getExternalFenceFeatureFlagsStr                                                         (VkExternalFenceFeatureFlags value);
+ tcu::Format::Bitfield<32>     getFenceImportFlagsStr                                                                          (VkFenceImportFlags value);
+ tcu::Format::Bitfield<32>     getSemaphoreImportFlagsStr                                                                      (VkSemaphoreImportFlags value);
+ tcu::Format::Bitfield<32>     getExternalSemaphoreHandleTypeFlagsStr                                          (VkExternalSemaphoreHandleTypeFlags value);
+ tcu::Format::Bitfield<32>     getExternalSemaphoreFeatureFlagsStr                                                     (VkExternalSemaphoreFeatureFlags value);
+ tcu::Format::Bitfield<32>     getSurfaceTransformFlagsKHRStr                                                          (VkSurfaceTransformFlagsKHR value);
+ tcu::Format::Bitfield<32>     getCompositeAlphaFlagsKHRStr                                                            (VkCompositeAlphaFlagsKHR value);
+ tcu::Format::Bitfield<32>     getSwapchainCreateFlagsKHRStr                                                           (VkSwapchainCreateFlagsKHR value);
+ tcu::Format::Bitfield<32>     getDeviceGroupPresentModeFlagsKHRStr                                            (VkDeviceGroupPresentModeFlagsKHR value);
+ tcu::Format::Bitfield<32>     getDisplayPlaneAlphaFlagsKHRStr                                                         (VkDisplayPlaneAlphaFlagsKHR value);
++tcu::Format::Bitfield<32>     getPerformanceCounterDescriptionFlagsKHRStr                                     (VkPerformanceCounterDescriptionFlagsKHR value);
+ tcu::Format::Bitfield<32>     getResolveModeFlagsKHRStr                                                                       (VkResolveModeFlagsKHR value);
+ tcu::Format::Bitfield<32>     getDebugReportFlagsEXTStr                                                                       (VkDebugReportFlagsEXT value);
+ tcu::Format::Bitfield<32>     getExternalMemoryHandleTypeFlagsNVStr                                           (VkExternalMemoryHandleTypeFlagsNV value);
+ tcu::Format::Bitfield<32>     getExternalMemoryFeatureFlagsNVStr                                                      (VkExternalMemoryFeatureFlagsNV value);
+ tcu::Format::Bitfield<32>     getConditionalRenderingFlagsEXTStr                                                      (VkConditionalRenderingFlagsEXT value);
+ tcu::Format::Bitfield<32>     getIndirectCommandsLayoutUsageFlagsNVXStr                                       (VkIndirectCommandsLayoutUsageFlagsNVX value);
+ tcu::Format::Bitfield<32>     getObjectEntryUsageFlagsNVXStr                                                          (VkObjectEntryUsageFlagsNVX value);
+ tcu::Format::Bitfield<32>     getSurfaceCounterFlagsEXTStr                                                            (VkSurfaceCounterFlagsEXT value);
+ tcu::Format::Bitfield<32>     getDebugUtilsMessageSeverityFlagsEXTStr                                         (VkDebugUtilsMessageSeverityFlagsEXT value);
+ tcu::Format::Bitfield<32>     getDebugUtilsMessageTypeFlagsEXTStr                                                     (VkDebugUtilsMessageTypeFlagsEXT value);
+ tcu::Format::Bitfield<32>     getDescriptorBindingFlagsEXTStr                                                         (VkDescriptorBindingFlagsEXT value);
+ tcu::Format::Bitfield<32>     getGeometryFlagsNVStr                                                                           (VkGeometryFlagsNV value);
+ tcu::Format::Bitfield<32>     getGeometryInstanceFlagsNVStr                                                           (VkGeometryInstanceFlagsNV value);
+ tcu::Format::Bitfield<32>     getBuildAccelerationStructureFlagsNVStr                                         (VkBuildAccelerationStructureFlagsNV value);
+ tcu::Format::Bitfield<32>     getPipelineCreationFeedbackFlagsEXTStr                                          (VkPipelineCreationFeedbackFlagsEXT value);
+ tcu::Format::Bitfield<32>     getInstanceCreateFlagsStr                                                                       (VkInstanceCreateFlags value);
+ tcu::Format::Bitfield<32>     getDeviceCreateFlagsStr                                                                         (VkDeviceCreateFlags value);
+ tcu::Format::Bitfield<32>     getMemoryMapFlagsStr                                                                            (VkMemoryMapFlags value);
+ tcu::Format::Bitfield<32>     getSemaphoreCreateFlagsStr                                                                      (VkSemaphoreCreateFlags value);
+ tcu::Format::Bitfield<32>     getEventCreateFlagsStr                                                                          (VkEventCreateFlags value);
+ tcu::Format::Bitfield<32>     getQueryPoolCreateFlagsStr                                                                      (VkQueryPoolCreateFlags value);
+ tcu::Format::Bitfield<32>     getBufferViewCreateFlagsStr                                                                     (VkBufferViewCreateFlags value);
+ tcu::Format::Bitfield<32>     getShaderModuleCreateFlagsStr                                                           (VkShaderModuleCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineCacheCreateFlagsStr                                                          (VkPipelineCacheCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineShaderStageCreateFlagsStr                                            (VkPipelineShaderStageCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineVertexInputStateCreateFlagsStr                                       (VkPipelineVertexInputStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineInputAssemblyStateCreateFlagsStr                                     (VkPipelineInputAssemblyStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineTessellationStateCreateFlagsStr                                      (VkPipelineTessellationStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineViewportStateCreateFlagsStr                                          (VkPipelineViewportStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineRasterizationStateCreateFlagsStr                                     (VkPipelineRasterizationStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineMultisampleStateCreateFlagsStr                                       (VkPipelineMultisampleStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineDepthStencilStateCreateFlagsStr                                      (VkPipelineDepthStencilStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineColorBlendStateCreateFlagsStr                                        (VkPipelineColorBlendStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineDynamicStateCreateFlagsStr                                           (VkPipelineDynamicStateCreateFlags value);
+ tcu::Format::Bitfield<32>     getPipelineLayoutCreateFlagsStr                                                         (VkPipelineLayoutCreateFlags value);
+ tcu::Format::Bitfield<32>     getDescriptorPoolResetFlagsStr                                                          (VkDescriptorPoolResetFlags value);
 -tcu::Format::Bitfield<32>     getFramebufferCreateFlagsStr                                                            (VkFramebufferCreateFlags value);
+ tcu::Format::Bitfield<32>     getRenderPassCreateFlagsStr                                                                     (VkRenderPassCreateFlags value);
+ tcu::Format::Bitfield<32>     getCommandPoolTrimFlagsStr                                                                      (VkCommandPoolTrimFlags value);
+ tcu::Format::Bitfield<32>     getDescriptorUpdateTemplateCreateFlagsStr                                       (VkDescriptorUpdateTemplateCreateFlags value);
+ tcu::Format::Bitfield<32>     getDisplayModeCreateFlagsKHRStr                                                         (VkDisplayModeCreateFlagsKHR value);
+ tcu::Format::Bitfield<32>     getDisplaySurfaceCreateFlagsKHRStr                                                      (VkDisplaySurfaceCreateFlagsKHR value);
++tcu::Format::Bitfield<32>     getAcquireProfilingLockFlagsKHRStr                                                      (VkAcquireProfilingLockFlagsKHR value);
+ tcu::Format::Bitfield<32>     getPipelineRasterizationStateStreamCreateFlagsEXTStr            (VkPipelineRasterizationStateStreamCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getPipelineViewportSwizzleStateCreateFlagsNVStr                         (VkPipelineViewportSwizzleStateCreateFlagsNV value);
+ tcu::Format::Bitfield<32>     getPipelineDiscardRectangleStateCreateFlagsEXTStr                       (VkPipelineDiscardRectangleStateCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getPipelineRasterizationConservativeStateCreateFlagsEXTStr      (VkPipelineRasterizationConservativeStateCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getPipelineRasterizationDepthClipStateCreateFlagsEXTStr         (VkPipelineRasterizationDepthClipStateCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getDebugUtilsMessengerCallbackDataFlagsEXTStr                           (VkDebugUtilsMessengerCallbackDataFlagsEXT value);
+ tcu::Format::Bitfield<32>     getDebugUtilsMessengerCreateFlagsEXTStr                                         (VkDebugUtilsMessengerCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getPipelineCoverageToColorStateCreateFlagsNVStr                         (VkPipelineCoverageToColorStateCreateFlagsNV value);
+ tcu::Format::Bitfield<32>     getPipelineCoverageModulationStateCreateFlagsNVStr                      (VkPipelineCoverageModulationStateCreateFlagsNV value);
+ tcu::Format::Bitfield<32>     getValidationCacheCreateFlagsEXTStr                                                     (VkValidationCacheCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getPipelineCoverageReductionStateCreateFlagsNVStr                       (VkPipelineCoverageReductionStateCreateFlagsNV value);
+ tcu::Format::Bitfield<32>     getHeadlessSurfaceCreateFlagsEXTStr                                                     (VkHeadlessSurfaceCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getAndroidSurfaceCreateFlagsKHRStr                                                      (VkAndroidSurfaceCreateFlagsKHR value);
+ tcu::Format::Bitfield<32>     getImagePipeSurfaceCreateFlagsFUCHSIAStr                                        (VkImagePipeSurfaceCreateFlagsFUCHSIA value);
+ tcu::Format::Bitfield<32>     getStreamDescriptorSurfaceCreateFlagsGGPStr                                     (VkStreamDescriptorSurfaceCreateFlagsGGP value);
+ tcu::Format::Bitfield<32>     getIOSSurfaceCreateFlagsMVKStr                                                          (VkIOSSurfaceCreateFlagsMVK value);
+ tcu::Format::Bitfield<32>     getMacOSSurfaceCreateFlagsMVKStr                                                        (VkMacOSSurfaceCreateFlagsMVK value);
+ tcu::Format::Bitfield<32>     getMetalSurfaceCreateFlagsEXTStr                                                        (VkMetalSurfaceCreateFlagsEXT value);
+ tcu::Format::Bitfield<32>     getViSurfaceCreateFlagsNNStr                                                            (VkViSurfaceCreateFlagsNN value);
+ tcu::Format::Bitfield<32>     getWaylandSurfaceCreateFlagsKHRStr                                                      (VkWaylandSurfaceCreateFlagsKHR value);
+ tcu::Format::Bitfield<32>     getWin32SurfaceCreateFlagsKHRStr                                                        (VkWin32SurfaceCreateFlagsKHR value);
+ tcu::Format::Bitfield<32>     getXcbSurfaceCreateFlagsKHRStr                                                          (VkXcbSurfaceCreateFlagsKHR value);
+ tcu::Format::Bitfield<32>     getXlibSurfaceCreateFlagsKHRStr                                                         (VkXlibSurfaceCreateFlagsKHR value);
  
  std::ostream& operator<<      (std::ostream& s, const VkApplicationInfo& value);
  std::ostream& operator<<      (std::ostream& s, const VkInstanceCreateInfo& value);
@@@ -534,19 -568,8 +583,16 @@@ std::ostream&    operator<<      (std::ostream
  std::ostream& operator<<      (std::ostream& s, const VkSubpassBeginInfoKHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkSubpassEndInfoKHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value);
- std::ostream& operator<<      (std::ostream& s, const VkImportFenceWin32HandleInfoKHR& value);
- std::ostream& operator<<      (std::ostream& s, const VkExportFenceWin32HandleInfoKHR& value);
- std::ostream& operator<<      (std::ostream& s, const VkFenceGetWin32HandleInfoKHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkImportFenceFdInfoKHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkFenceGetFdInfoKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPhysicalDevicePerformanceCounterFeaturesKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPhysicalDevicePerformanceCounterPropertiesKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPerformanceCounterKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPerformanceCounterDescriptionKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPerformanceQueryCreateInfoKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPerformanceCounterResultKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkAcquireProfilingLockInfoKHR& value);
 +std::ostream& operator<<      (std::ostream& s, const VkPerformanceQuerySubmitInfoKHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkSurfaceCapabilities2KHR& value);
  std::ostream& operator<<      (std::ostream& s, const VkSurfaceFormat2KHR& value);
@@@ -699,13 -767,13 +778,14 @@@ const char* getQueryTypeName (VkQueryTy
  {
        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_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_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_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_NV:    return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV";
+               case VK_QUERY_TYPE_MAX_ENUM:                                                                    return "VK_QUERY_TYPE_MAX_ENUM";
+               default:                                                                                                                return DE_NULL;
        }
  }
  
@@@ -1290,53 -1381,26 +1393,73 @@@ const char* getPresentModeKHRName (VkPr
        }
  }
  
 +const char* getPerformanceCounterUnitKHRName (VkPerformanceCounterUnitKHR value)
 +{
 +      switch (value)
 +      {
 +              case VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR:                   return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR:                return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR:               return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR:                             return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR:  return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR:                    return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR:                             return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR:                             return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR:                              return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR:                             return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR:                    return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR";
 +              case VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR:                  return "VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR";
 +              default:                                                                                                return DE_NULL;
 +      }
 +}
 +
 +const char* getPerformanceCounterScopeKHRName (VkPerformanceCounterScopeKHR value)
 +{
 +      switch (value)
 +      {
 +              case VK_QUERY_SCOPE_COMMAND_BUFFER_KHR:                 return "VK_QUERY_SCOPE_COMMAND_BUFFER_KHR";
 +              case VK_QUERY_SCOPE_RENDER_PASS_KHR:                    return "VK_QUERY_SCOPE_RENDER_PASS_KHR";
 +              case VK_QUERY_SCOPE_COMMAND_KHR:                                return "VK_QUERY_SCOPE_COMMAND_KHR";
 +              case VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR";
 +              default:                                                                                return DE_NULL;
 +      }
 +}
 +
 +const char* getPerformanceCounterStorageKHRName (VkPerformanceCounterStorageKHR value)
 +{
 +      switch (value)
 +      {
 +              case VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR:          return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR";
 +              case VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR:          return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR";
 +              case VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR:         return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR";
 +              case VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR:         return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR";
 +              case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR:        return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR";
 +              case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR:        return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR";
 +              case VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR:       return "VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR";
 +              default:                                                                                        return DE_NULL;
 +      }
 +}
 +
+ const char* getDriverIdKHRName (VkDriverIdKHR value)
+ {
+       switch (value)
+       {
+               case VK_DRIVER_ID_AMD_PROPRIETARY_KHR:                          return "VK_DRIVER_ID_AMD_PROPRIETARY_KHR";
+               case VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR:                          return "VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR";
+               case VK_DRIVER_ID_MESA_RADV_KHR:                                        return "VK_DRIVER_ID_MESA_RADV_KHR";
+               case VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR:                       return "VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR";
+               case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR:        return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR";
+               case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR:           return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR";
+               case VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR:          return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR";
+               case VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR:                     return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR";
+               case VK_DRIVER_ID_ARM_PROPRIETARY_KHR:                          return "VK_DRIVER_ID_ARM_PROPRIETARY_KHR";
+               case VK_DRIVER_ID_GOOGLE_PASTEL_KHR:                            return "VK_DRIVER_ID_GOOGLE_PASTEL_KHR";
+               case VK_DRIVER_ID_GGP_PROPRIETARY_KHR:                          return "VK_DRIVER_ID_GGP_PROPRIETARY_KHR";
+               case VK_DRIVER_ID_MAX_ENUM_KHR:                                         return "VK_DRIVER_ID_MAX_ENUM_KHR";
+               default:                                                                                        return DE_NULL;
+       }
+ }
  const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value)
  {
        switch (value)
@@@ -2577,12 -2974,7 +3049,12 @@@ tcu::Format::Bitfield<32> getDisplaySur
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
  }
  
- tcu::Format::Bitfield<32> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR value)
++tcu::Format::Bitfield<32> getAcquireProfilingLockFlagsKHRStr (VkAcquireProfilingLockFlagsKHR value)
 +{
 +      return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
 +}
 +
- tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr (VkXcbSurfaceCreateFlagsKHR value)
+ tcu::Format::Bitfield<32> getPipelineRasterizationStateStreamCreateFlagsEXTStr (VkPipelineRasterizationStateStreamCreateFlagsEXT value)
  {
        return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL);
  }
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
- 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, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const = 0;
- virtual VkResult                      queueSubmit                                                                     (VkQueue queue, deUint32 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, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
- virtual VkResult                      invalidateMappedMemoryRanges                            (VkDevice device, deUint32 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, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0;
- virtual VkResult                      queueBindSparse                                                         (VkQueue queue, deUint32 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, deUint32 fenceCount, const VkFence* pFences) const = 0;
- virtual VkResult                      getFenceStatus                                                          (VkDevice device, VkFence fence) const = 0;
- virtual VkResult                      waitForFences                                                           (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 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, deUint32 firstQuery, deUint32 queryCount, deUintptr 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, deUintptr* pDataSize, void* pData) const = 0;
- virtual VkResult                      mergePipelineCaches                                                     (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0;
- virtual VkResult                      createGraphicsPipelines                                         (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
- virtual VkResult                      createComputePipelines                                          (VkDevice device, VkPipelineCache pipelineCache, deUint32 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, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0;
- virtual void                          updateDescriptorSets                                            (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 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, deUint32 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, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const = 0;
- virtual void                          cmdSetScissor                                                           (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 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, deUint32 compareMask) const = 0;
- virtual void                          cmdSetStencilWriteMask                                          (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const = 0;
- virtual void                          cmdSetStencilReference                                          (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const = 0;
- virtual void                          cmdBindDescriptorSets                                           (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const = 0;
- virtual void                          cmdBindIndexBuffer                                                      (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0;
- virtual void                          cmdBindVertexBuffers                                            (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0;
- virtual void                          cmdDraw                                                                         (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const = 0;
- virtual void                          cmdDrawIndexed                                                          (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const = 0;
- virtual void                          cmdDrawIndirect                                                         (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
- virtual void                          cmdDrawIndexedIndirect                                          (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
- virtual void                          cmdDispatch                                                                     (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0;
- virtual void                          cmdDispatchIndirect                                                     (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0;
- virtual void                          cmdCopyBuffer                                                           (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const = 0;
- virtual void                          cmdCopyImage                                                            (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const = 0;
- virtual void                          cmdBlitImage                                                            (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0;
- virtual void                          cmdCopyBufferToImage                                            (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0;
- virtual void                          cmdCopyImageToBuffer                                            (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 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, deUint32 data) const = 0;
- virtual void                          cmdClearColorImage                                                      (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
- virtual void                          cmdClearDepthStencilImage                                       (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
- virtual void                          cmdClearAttachments                                                     (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const = 0;
- virtual void                          cmdResolveImage                                                         (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 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, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
- virtual void                          cmdPipelineBarrier                                                      (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
- virtual void                          cmdBeginQuery                                                           (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const = 0;
- virtual void                          cmdEndQuery                                                                     (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const = 0;
- virtual void                          cmdResetQueryPool                                                       (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0;
- virtual void                          cmdWriteTimestamp                                                       (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const = 0;
- virtual void                          cmdCopyQueryPoolResults                                         (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
- virtual void                          cmdPushConstants                                                        (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 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, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
- virtual VkResult                      bindBufferMemory2                                                       (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0;
- virtual VkResult                      bindImageMemory2                                                        (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0;
- virtual void                          getDeviceGroupPeerMemoryFeatures                        (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0;
- virtual void                          cmdSetDeviceMask                                                        (VkCommandBuffer commandBuffer, deUint32 deviceMask) const = 0;
- virtual void                          cmdDispatchBase                                                         (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 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, deUint32* 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 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, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0;
- virtual VkResult                      acquireNextImageKHR                                                     (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* 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, deUint32* pImageIndex) const = 0;
- virtual VkResult                      createSharedSwapchainsKHR                                       (VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) 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                      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                      importSemaphoreWin32HandleKHR                           (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0;
- virtual VkResult                      getSemaphoreWin32HandleKHR                                      (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) 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, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0;
- virtual void                          cmdPushDescriptorSetWithTemplateKHR                     (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const = 0;
- virtual VkResult                      createRenderPass2KHR                                            (VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
- virtual void                          cmdBeginRenderPass2KHR                                          (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const = 0;
- virtual void                          cmdNextSubpass2KHR                                                      (VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const = 0;
- virtual void                          cmdEndRenderPass2KHR                                            (VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) const = 0;
- virtual VkResult                      getSwapchainStatusKHR                                           (VkDevice device, VkSwapchainKHR swapchain) 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                      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 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, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const = 0;
- virtual void                          cmdBeginTransformFeedbackEXT                            (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
- virtual void                          cmdEndTransformFeedbackEXT                                      (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
- virtual void                          cmdBeginQueryIndexedEXT                                         (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index) const = 0;
- virtual void                          cmdEndQueryIndexedEXT                                           (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index) const = 0;
- virtual void                          cmdDrawIndirectByteCountEXT                                     (VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride) const = 0;
- virtual void                          cmdDrawIndirectCountAMD                                         (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
- virtual void                          cmdDrawIndexedIndirectCountAMD                          (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
- virtual void                          cmdDrawIndirectCountKHR                                         (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
- virtual void                          cmdDrawIndexedIndirectCountKHR                          (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
- virtual VkResult                      getMemoryWin32HandleNV                                          (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0;
- virtual void                          cmdBeginConditionalRenderingEXT                         (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0;
- virtual void                          cmdEndConditionalRenderingEXT                           (VkCommandBuffer commandBuffer) const = 0;
- virtual void                          cmdProcessCommandsNVX                                           (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const = 0;
- virtual void                          cmdReserveSpaceForCommandsNVX                           (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const = 0;
- virtual VkResult                      createIndirectCommandsLayoutNVX                         (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const = 0;
- virtual void                          destroyIndirectCommandsLayoutNVX                        (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
- virtual VkResult                      createObjectTableNVX                                            (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const = 0;
- virtual void                          destroyObjectTableNVX                                           (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const = 0;
- virtual VkResult                      registerObjectsNVX                                                      (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const = 0;
- virtual VkResult                      unregisterObjectsNVX                                            (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const = 0;
- virtual void                          cmdSetViewportWScalingNV                                        (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 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, deUint64* pCounterValue) const = 0;
- virtual VkResult                      getRefreshCycleDurationGOOGLE                           (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0;
- virtual VkResult                      getPastPresentationTimingGOOGLE                         (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0;
- virtual void                          cmdSetDiscardRectangleEXT                                       (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0;
- virtual void                          setHdrMetadataEXT                                                       (VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0;
- virtual void                          cmdSetSampleLocationsEXT                                        (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) 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, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0;
- virtual VkResult                      getValidationCacheDataEXT                                       (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const = 0;
- virtual VkResult                      getMemoryHostPointerPropertiesEXT                       (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) 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 VkDeviceAddress               getBufferDeviceAddressEXT                                       (VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo) const = 0;
- virtual void                          resetQueryPoolEXT                                                       (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0;
- virtual VkResult                      getCalibratedTimestampsEXT                                      (VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation) 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, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue) const = 0;
+ virtual VkResult                      queueSubmit                                                                             (VkQueue queue, deUint32 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, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0;
+ virtual VkResult                      invalidateMappedMemoryRanges                                    (VkDevice device, deUint32 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, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0;
+ virtual VkResult                      queueBindSparse                                                                 (VkQueue queue, deUint32 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, deUint32 fenceCount, const VkFence* pFences) const = 0;
+ virtual VkResult                      getFenceStatus                                                                  (VkDevice device, VkFence fence) const = 0;
+ virtual VkResult                      waitForFences                                                                   (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 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, deUint32 firstQuery, deUint32 queryCount, deUintptr 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, deUintptr* pDataSize, void* pData) const = 0;
+ virtual VkResult                      mergePipelineCaches                                                             (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0;
+ virtual VkResult                      createGraphicsPipelines                                                 (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
+ virtual VkResult                      createComputePipelines                                                  (VkDevice device, VkPipelineCache pipelineCache, deUint32 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, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0;
+ virtual void                          updateDescriptorSets                                                    (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 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, deUint32 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, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports) const = 0;
+ virtual void                          cmdSetScissor                                                                   (VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 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, deUint32 compareMask) const = 0;
+ virtual void                          cmdSetStencilWriteMask                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask) const = 0;
+ virtual void                          cmdSetStencilReference                                                  (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference) const = 0;
+ virtual void                          cmdBindDescriptorSets                                                   (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets) const = 0;
+ virtual void                          cmdBindIndexBuffer                                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0;
+ virtual void                          cmdBindVertexBuffers                                                    (VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0;
+ virtual void                          cmdDraw                                                                                 (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance) const = 0;
+ virtual void                          cmdDrawIndexed                                                                  (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance) const = 0;
+ virtual void                          cmdDrawIndirect                                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
+ virtual void                          cmdDrawIndexedIndirect                                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
+ virtual void                          cmdDispatch                                                                             (VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ) const = 0;
+ virtual void                          cmdDispatchIndirect                                                             (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0;
+ virtual void                          cmdCopyBuffer                                                                   (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions) const = 0;
+ virtual void                          cmdCopyImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions) const = 0;
+ virtual void                          cmdBlitImage                                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0;
+ virtual void                          cmdCopyBufferToImage                                                    (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions) const = 0;
+ virtual void                          cmdCopyImageToBuffer                                                    (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 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, deUint32 data) const = 0;
+ virtual void                          cmdClearColorImage                                                              (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
+ virtual void                          cmdClearDepthStencilImage                                               (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges) const = 0;
+ virtual void                          cmdClearAttachments                                                             (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects) const = 0;
+ virtual void                          cmdResolveImage                                                                 (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 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, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
+ virtual void                          cmdPipelineBarrier                                                              (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0;
+ virtual void                          cmdBeginQuery                                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags) const = 0;
+ virtual void                          cmdEndQuery                                                                             (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query) const = 0;
+ virtual void                          cmdResetQueryPool                                                               (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) const = 0;
+ virtual void                          cmdWriteTimestamp                                                               (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query) const = 0;
+ virtual void                          cmdCopyQueryPoolResults                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0;
+ virtual void                          cmdPushConstants                                                                (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 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, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0;
+ virtual VkResult                      bindBufferMemory2                                                               (VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0;
+ virtual VkResult                      bindImageMemory2                                                                (VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0;
+ virtual void                          getDeviceGroupPeerMemoryFeatures                                (VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0;
+ virtual void                          cmdSetDeviceMask                                                                (VkCommandBuffer commandBuffer, deUint32 deviceMask) const = 0;
+ virtual void                          cmdDispatchBase                                                                 (VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 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, deUint32* 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 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, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0;
+ virtual VkResult                      acquireNextImageKHR                                                             (VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* 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, deUint32* pImageIndex) const = 0;
+ virtual VkResult                      createSharedSwapchainsKHR                                               (VkDevice device, deUint32 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, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0;
+ virtual void                          cmdPushDescriptorSetWithTemplateKHR                             (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData) const = 0;
+ virtual VkResult                      createRenderPass2KHR                                                    (VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0;
+ virtual void                          cmdBeginRenderPass2KHR                                                  (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo) const = 0;
+ virtual void                          cmdNextSubpass2KHR                                                              (VkCommandBuffer commandBuffer, const VkSubpassBeginInfoKHR* pSubpassBeginInfo, const VkSubpassEndInfoKHR* pSubpassEndInfo) const = 0;
+ virtual void                          cmdEndRenderPass2KHR                                                    (VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo) 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                          cmdDrawIndirectCountKHR                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
+ virtual void                          cmdDrawIndexedIndirectCountKHR                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) 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, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const = 0;
+ virtual void                          cmdBeginTransformFeedbackEXT                                    (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
+ virtual void                          cmdEndTransformFeedbackEXT                                              (VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0;
+ virtual void                          cmdBeginQueryIndexedEXT                                                 (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index) const = 0;
+ virtual void                          cmdEndQueryIndexedEXT                                                   (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index) const = 0;
+ virtual void                          cmdDrawIndirectByteCountEXT                                             (VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride) const = 0;
+ virtual uint32_t                      getImageViewHandleNVX                                                   (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const = 0;
+ virtual void                          cmdDrawIndirectCountAMD                                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
+ virtual void                          cmdDrawIndexedIndirectCountAMD                                  (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
+ virtual VkResult                      getShaderInfoAMD                                                                (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo) const = 0;
+ virtual void                          cmdBeginConditionalRenderingEXT                                 (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0;
+ virtual void                          cmdEndConditionalRenderingEXT                                   (VkCommandBuffer commandBuffer) const = 0;
+ virtual void                          cmdProcessCommandsNVX                                                   (VkCommandBuffer commandBuffer, const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo) const = 0;
+ virtual void                          cmdReserveSpaceForCommandsNVX                                   (VkCommandBuffer commandBuffer, const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo) const = 0;
+ virtual VkResult                      createIndirectCommandsLayoutNVX                                 (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout) const = 0;
+ virtual void                          destroyIndirectCommandsLayoutNVX                                (VkDevice device, VkIndirectCommandsLayoutNVX indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0;
+ virtual VkResult                      createObjectTableNVX                                                    (VkDevice device, const VkObjectTableCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkObjectTableNVX* pObjectTable) const = 0;
+ virtual void                          destroyObjectTableNVX                                                   (VkDevice device, VkObjectTableNVX objectTable, const VkAllocationCallbacks* pAllocator) const = 0;
+ virtual VkResult                      registerObjectsNVX                                                              (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectTableEntryNVX* const* ppObjectTableEntries, const deUint32* pObjectIndices) const = 0;
+ virtual VkResult                      unregisterObjectsNVX                                                    (VkDevice device, VkObjectTableNVX objectTable, deUint32 objectCount, const VkObjectEntryTypeNVX* pObjectEntryTypes, const deUint32* pObjectIndices) const = 0;
+ virtual void                          cmdSetViewportWScalingNV                                                (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 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, deUint64* pCounterValue) const = 0;
+ virtual VkResult                      getRefreshCycleDurationGOOGLE                                   (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0;
+ virtual VkResult                      getPastPresentationTimingGOOGLE                                 (VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0;
+ virtual void                          cmdSetDiscardRectangleEXT                                               (VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0;
+ virtual void                          setHdrMetadataEXT                                                               (VkDevice device, deUint32 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, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0;
+ virtual VkResult                      getValidationCacheDataEXT                                               (VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData) const = 0;
+ virtual void                          cmdBindShadingRateImageNV                                               (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0;
+ virtual void                          cmdSetViewportShadingRatePaletteNV                              (VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const = 0;
+ virtual void                          cmdSetCoarseSampleOrderNV                                               (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 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, deUint32 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, VkCopyAccelerationStructureModeNV 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, deUint32 width, deUint32 height, deUint32 depth) const = 0;
+ virtual VkResult                      createRayTracingPipelinesNV                                             (VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0;
+ virtual VkResult                      getRayTracingShaderGroupHandlesNV                               (VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData) const = 0;
+ virtual VkResult                      getAccelerationStructureHandleNV                                (VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData) const = 0;
+ virtual void                          cmdWriteAccelerationStructuresPropertiesNV              (VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery) const = 0;
+ virtual VkResult                      compileDeferredNV                                                               (VkDevice device, VkPipeline pipeline, deUint32 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, deUint32 marker) const = 0;
+ virtual VkResult                      getCalibratedTimestampsEXT                                              (VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation) const = 0;
+ virtual void                          cmdDrawMeshTasksNV                                                              (VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask) const = 0;
+ virtual void                          cmdDrawMeshTasksIndirectNV                                              (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride) const = 0;
+ virtual void                          cmdDrawMeshTasksIndirectCountNV                                 (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride) const = 0;
+ virtual void                          cmdSetExclusiveScissorNV                                                (VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const = 0;
+ virtual void                          cmdSetCheckpointNV                                                              (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const = 0;
+ virtual void                          getQueueCheckpointDataNV                                                (VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const = 0;
+ virtual void                          setLocalDimmingAMD                                                              (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const = 0;
+ virtual VkDeviceAddress               getBufferDeviceAddressEXT                                               (VkDevice device, const VkBufferDeviceAddressInfoEXT* pInfo) const = 0;
+ virtual void                          resetQueryPoolEXT                                                               (VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount) 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                      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;
@@@ -37,19 -37,6 +37,8 @@@ virtual VkResult     getDisplayModeProperti
  virtual VkResult      createDisplayModeKHR                                                                                    (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode) const = 0;
  virtual VkResult      getDisplayPlaneCapabilitiesKHR                                                                  (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) const = 0;
  virtual VkResult      createDisplayPlaneSurfaceKHR                                                                    (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkResult      createXlibSurfaceKHR                                                                                    (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkBool32      getPhysicalDeviceXlibPresentationSupportKHR                                             (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) const = 0;
- virtual VkResult      createXcbSurfaceKHR                                                                                             (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkBool32      getPhysicalDeviceXcbPresentationSupportKHR                                              (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) const = 0;
- virtual VkResult      createWaylandSurfaceKHR                                                                                 (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkBool32      getPhysicalDeviceWaylandPresentationSupportKHR                                  (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::WaylandDisplayPtr display) const = 0;
- virtual VkResult      createMirSurfaceKHR                                                                                             (VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkBool32      getPhysicalDeviceMirPresentationSupportKHR                                              (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, pt::MirConnectionPtr connection) const = 0;
- virtual VkResult      createAndroidSurfaceKHR                                                                                 (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkResult      createWin32SurfaceKHR                                                                                   (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0;
- virtual VkBool32      getPhysicalDeviceWin32PresentationSupportKHR                                    (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex) const = 0;
 +virtual void          enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR   (VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const = 0;
 +virtual void          getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR                   (VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses) const = 0;
  virtual VkResult      getPhysicalDeviceSurfaceCapabilities2KHR                                                (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const = 0;
  virtual VkResult      getPhysicalDeviceSurfaceFormats2KHR                                                             (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const = 0;
  virtual VkResult      getPhysicalDeviceDisplayProperties2KHR                                                  (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties) const = 0;
@@@ -742,7 -894,7 +905,8 @@@ typedef enum VkQueryType 
      VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
      VK_QUERY_TYPE_TIMESTAMP = 2,
      VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
 +    VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
+     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
      VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
      VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
      VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),
@@@ -6016,176 -5784,26 +5838,169 @@@ VKAPI_ATTR VkResult VKAPI_CALL vkGetFen
      const VkFenceGetFdInfoKHR*                  pGetFdInfo,
      int*                                        pFd);
  #endif
- // VK_KHR_external_fence_fd DEVICE
  
 +#define VK_KHR_performance_query 1
 +#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
 +#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
 +
 +
 +typedef enum VkPerformanceCounterUnitKHR {
 +    VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
 +    VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
 +    VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
 +    VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
 +    VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
 +    VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
 +    VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
 +    VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
 +    VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
 +    VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
 +    VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
 +    VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
 +    VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR,
 +    VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR + 1),
 +    VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterUnitKHR;
 +
 +typedef enum VkPerformanceCounterScopeKHR {
 +    VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = 0,
 +    VK_QUERY_SCOPE_RENDER_PASS_KHR = 1,
 +    VK_QUERY_SCOPE_COMMAND_KHR = 2,
 +    VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
 +    VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_KHR,
 +    VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR = (VK_QUERY_SCOPE_COMMAND_KHR - VK_QUERY_SCOPE_COMMAND_BUFFER_KHR + 1),
 +    VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterScopeKHR;
 +
 +typedef enum VkPerformanceCounterStorageKHR {
 +    VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
 +    VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
 +    VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
 +    VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
 +    VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
 +    VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
 +    VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
 +    VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR,
 +    VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR + 1),
 +    VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterStorageKHR;
 +
 +
 +typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
 +    VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
 +    VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
 +    VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterDescriptionFlagBitsKHR;
 +typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
 +typedef VkFlags VkAcquireProfilingLockFlagsKHR;
 +
 +typedef struct VkPhysicalDevicePerformanceCounterFeaturesKHR {
 +    VkStructureType    sType;
 +    void*              pNext;
 +    VkBool32           performanceCounterQueryPools;
 +    VkBool32           performanceCounterMultipleQueryPools;
 +} VkPhysicalDevicePerformanceCounterFeaturesKHR;
 +
 +typedef struct VkPhysicalDevicePerformanceCounterPropertiesKHR {
 +    VkStructureType    sType;
 +    void*              pNext;
 +    VkBool32           allowCommandBufferQueryCopies;
 +} VkPhysicalDevicePerformanceCounterPropertiesKHR;
 +
 +typedef struct VkPerformanceCounterKHR {
 +    VkStructureType                   sType;
 +    const void*                       pNext;
 +    VkPerformanceCounterUnitKHR       unit;
 +    VkPerformanceCounterScopeKHR      scope;
 +    VkPerformanceCounterStorageKHR    storage;
 +    deUint8                           uuid[VK_UUID_SIZE];
 +} VkPerformanceCounterKHR;
 +
 +typedef struct VkPerformanceCounterDescriptionKHR {
 +    VkStructureType                            sType;
 +    const void*                                pNext;
 +    VkPerformanceCounterDescriptionFlagsKHR    flags;
 +    char                                       name[VK_MAX_DESCRIPTION_SIZE];
 +    char                                       category[VK_MAX_DESCRIPTION_SIZE];
 +    char                                       description[VK_MAX_DESCRIPTION_SIZE];
 +} VkPerformanceCounterDescriptionKHR;
 +
 +typedef struct VkPerformanceQueryCreateInfoKHR {
 +    VkStructureType    sType;
 +    const void*        pNext;
 +    deUint32           queueFamilyIndex;
 +    deUint32           counterIndexCount;
 +    const deUint32*    pCounterIndices;
 +} VkPerformanceQueryCreateInfoKHR;
 +
 +typedef union VkPerformanceCounterResultKHR {
 +    deInt32     int32;
 +    deInt64     int64;
 +    deUint32    uint32;
 +    deUint64    uint64;
 +    float       float32;
 +    double      float64;
 +} VkPerformanceCounterResultKHR;
 +
 +typedef struct VkAcquireProfilingLockInfoKHR {
 +    VkStructureType                   sType;
 +    const void*                       pNext;
 +    VkAcquireProfilingLockFlagsKHR    flags;
 +    deUint64                          timeout;
 +} VkAcquireProfilingLockInfoKHR;
 +
 +typedef struct VkPerformanceQuerySubmitInfoKHR {
 +    VkStructureType    sType;
 +    const void*        pNext;
 +    deUint32           counterPassIndex;
 +} VkPerformanceQuerySubmitInfoKHR;
 +
 +
 +typedef void (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
 +typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
 +typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
 +typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
 +
 +#ifndef VK_NO_PROTOTYPES
 +VKAPI_ATTR void VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
 +    VkPhysicalDevice                            physicalDevice,
 +    deUint32                                    queueFamilyIndex,
 +    deUint32*                                   pCounterCount,
 +    VkPerformanceCounterKHR*                    pCounters,
 +    VkPerformanceCounterDescriptionKHR*         pCounterDescriptions);
 +
 +VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
 +    VkPhysicalDevice                            physicalDevice,
 +    const VkPerformanceQueryCreateInfoKHR*      pPerformanceQueryCreateInfo,
 +    deUint32*                                   pNumPasses);
 +
 +VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
 +    VkDevice                                    device,
 +    const VkAcquireProfilingLockInfoKHR*        pInfo);
 +
 +VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
 +    VkDevice                                    device);
 +#endif
 +
  #define VK_KHR_maintenance2 1
- typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
- typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
- typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
- typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
+ #define VK_KHR_MAINTENANCE2_SPEC_VERSION  1
+ #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
  typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
- typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
  typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
  
- #define VK_KHR_MAINTENANCE2_SPEC_VERSION  1
- #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
- #define VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
- #define VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
- #define VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
- #define VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
- #define VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
- #define VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
- #define VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
- #define VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
- #define VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
- #define VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
- #define VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT
- //VK_KHR_maintenance2 DEVICE 1_1_0
+ typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
+ typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
+ typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
+ typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
+ typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
  
  #define VK_KHR_get_surface_capabilities2 1
  #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
@@@ -8497,34 -8986,62 +9183,61 @@@ typedef struct VkPhysicalDeviceScalarBl
      VkBool32           scalarBlockLayout;
  } VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
  
- // MANDATORY_FEATURE VkPhysicalDeviceScalarBlockLayoutFeaturesEXT scalarBlockLayout VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT        WHEN_EXTENSIONS_PRESENT ( VK_EXT_scalar_block_layout )
  
- #define VK_EXT_depth_clip_enable 1
- #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
- #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
  
- typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
+ #define VK_GOOGLE_hlsl_functionality1 1
+ #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
+ #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
  
- typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
+ #define VK_GOOGLE_decorate_string 1
+ #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
+ #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
+ #define VK_EXT_memory_budget 1
+ #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
+ #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
+ typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
      VkStructureType    sType;
      void*              pNext;
-     VkBool32           depthClipEnable;
- } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
+     VkDeviceSize       heapBudget[VK_MAX_MEMORY_HEAPS];
+     VkDeviceSize       heapUsage[VK_MAX_MEMORY_HEAPS];
+ } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
+ #define VK_EXT_memory_priority 1
+ #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
+ #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
+ typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
+     VkStructureType    sType;
+     void*              pNext;
+     VkBool32           memoryPriority;
+ } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
+ typedef struct VkMemoryPriorityAllocateInfoEXT {
+     VkStructureType    sType;
+     const void*        pNext;
+     float              priority;
+ } VkMemoryPriorityAllocateInfoEXT;
+ #define VK_NV_dedicated_allocation_image_aliasing 1
+ #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
+ #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
+ typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
+     VkStructureType    sType;
+     void*              pNext;
+     VkBool32           dedicatedAllocationImageAliasing;
+ } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
  
- typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
-     VkStructureType                                        sType;
-     const void*                                            pNext;
-     VkPipelineRasterizationDepthClipStateCreateFlagsEXT    flags;
-     VkBool32                                               depthClipEnable;
- } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
  
 -
  #define VK_EXT_buffer_device_address 1
  typedef deUint64 VkDeviceAddress;
  #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
  #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
  typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
      VkStructureType    sType;
      void*              pNext;
@@@ -255,14 -304,12 +305,17 @@@ tcu::TestStatus AmberTestInstance::iter
        return r.IsSuccess() ? tcu::TestStatus::pass("Pass") :tcu::TestStatus::fail("Fail");
  }
  
- void AmberTestCase::addRequiredDeviceExtension(const std::string& ext)
 +void AmberTestCase::setSpirVAsmBuildOptions(const vk::SpirVAsmBuildOptions& asm_options)
 +{
 +              m_asm_options = asm_options;
 +}
 +
+ void AmberTestCase::addRequirement(const std::string& requirement)
  {
-               m_required_device_extensions.insert(ext);
+       if (requirement.find(".") != std::string::npos)
+               m_required_features.insert(requirement);
+       else
+               m_required_extensions.insert(requirement);
  }
  
  } // cts_amber
@@@ -76,17 -74,29 +75,33 @@@ public
  
        bool parse(const char* category, const std::string& filename);
        void initPrograms(vk::SourceCollections& programCollection) const;
 +      // If the test case uses SPIR-V Assembly, use these build options.
 +      // Otherwise, defaults to target Vulkan 1.0, SPIR-V 1.0.
 +      void setSpirVAsmBuildOptions(const vk::SpirVAsmBuildOptions& asm_options);
  
-       // Add a require device extension, to be checked in checkSupport.
-       void addRequiredDeviceExtension(const std::string& ext);
+       // Add a required instance extension, device extension, or feature bit.
+       // A feature bit is represented by a string of form "<structure>.<feature>", where
+       // the structure name matches the Vulkan spec, but without the leading "VkPhysicalDevice".
+       // An example entry is: "VariablePointerFeatures.variablePointers".
+       // An instance or device extension will not have a period in its name.
+       void addRequirement(const std::string& requirement);
  
  private:
        amber::Recipe* m_recipe;
-       std::set<std::string> m_required_device_extensions;
 +      vk::SpirVAsmBuildOptions m_asm_options;
+       // Instance and device extensions required by the test.
+       // We don't differentiate between the two:  We consider the requirement
+       // satisfied if the string is registered as either an instance or device
+       // extension.  Use a set for consistent ordering.
+       std::set<std::string> m_required_extensions;
+       // Features required by the test.
+       // A feature bit is represented by a string of form "<structure>.<feature>", where
+       // the structure name matches the Vulkan spec, but without the leading "VkPhysicalDevice".
+       // An example entry is: "VariablePointerFeatures.variablePointers".
+       // Use a set for consistent ordering.
+       std::set<std::string> m_required_features;
  };
  
  } // cts_amber
@@@ -29,11 -28,16 +29,12 @@@ namespace vk
  namespace cts_amber
  {
  
- AmberTestCase* createAmberTestCase (tcu::TestContext& testCtx,
-                                                                       const char*                     name,
-                                                                       const char*                     description,
-                                                                       const char*                     category,
-                                                                       const std::string&      filename);
 -class AmberTestCase : public tcu::TestNode
 -{
 -};
 -
+ AmberTestCase* createAmberTestCase (tcu::TestContext&                         testCtx,
+                                                                       const char*                                             name,
+                                                                       const char*                                             description,
+                                                                       const char*                                             category,
+                                                                       const std::string&                              filename,
+                                                                       const std::vector<std::string>  requirements = std::vector<std::string>());
  
  } // cts_amber
  } // vkt
@@@ -91,6 -97,6 +97,8 @@@ set(DEQP_VK_PIPELINE_LIB
        )
  
  PCH(DEQP_VK_PIPELINE_SRCS ../pch.cpp)
++include_directories("../../../../amber/src/include")
++include_directories("../amber")
  
  add_library(deqp-vk-pipeline STATIC ${DEQP_VK_PIPELINE_SRCS})
  target_link_libraries(deqp-vk-pipeline ${DEQP_VK_PIPELINE_LIBS})
index 36d7cdb,0000000..3065966
mode 100644,000000..100644
--- /dev/null
@@@ -1,127 -1,0 +1,127 @@@
-               testCase->addRequiredDeviceExtension("VK_KHR_spirv_1_4");
 +/*------------------------------------------------------------------------
 + * Vulkan Conformance Tests
 + * ------------------------
 + *
 + * Copyright (c) 2019 Google LLC
 + * Copyright (c) 2019 The Khronos Group Inc.
 + *
 + * Licensed under the Apache License, Version 2.0 (the "License");
 + * you may not use this file except in compliance with the License.
 + * You may obtain a copy of the License at
 + *
 + *      http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + *
 + *//*!
 + * \file
 + * \brief Test new features in SPIR-V 1.4.
 + *//*--------------------------------------------------------------------*/
 +
 +#include <string>
 +#include <amber/amber.h>
 +
 +#include "tcuDefs.hpp"
 +
 +#include "vkDefs.hpp"
 +#include "vktAmberTestCase.hpp"
 +#include "vktAmberTestCaseUtil.hpp"
 +#include "vktSpvAsmSpirvVersion1p4Tests.hpp"
 +#include "vktTestGroupUtil.hpp"
 +
 +namespace vkt
 +{
 +namespace SpirVAssembly
 +{
 +namespace
 +{
 +
 +struct Case
 +{
 +      Case(const char* b, const char* d) : basename(b), description(d) { }
 +      const char *basename;
 +      const char *description;
 +};
 +struct CaseGroup
 +{
 +      CaseGroup(const char* the_data_dir, const char* the_subdir) : data_dir(the_data_dir), subdir(the_subdir) { }
 +      void add(const char* basename, const char* description) { cases.push_back(Case(basename, description)); }
 +
 +      const char* data_dir;
 +      const char* subdir;
 +      std::vector<Case> cases;
 +};
 +
 +
 +void addTestsForAmberFiles (tcu::TestCaseGroup* tests, CaseGroup group)
 +{
 +      tcu::TestContext& testCtx = tests->getTestContext();
 +      const std::string data_dir(group.data_dir);
 +      const std::string subdir(group.subdir);
 +      const std::string category = data_dir + "/" + subdir;
 +      std::vector<Case> cases(group.cases);
 +      vk::SpirVAsmBuildOptions asm_options(VK_MAKE_VERSION(1, 1, 0), vk::SPIRV_VERSION_1_4);
 +      asm_options.supports_VK_KHR_spirv_1_4 = true;
 +
 +      for (unsigned i = 0; i < cases.size() ; ++i)
 +      {
 +
 +              const std::string file = std::string(cases[i].basename) + ".amber";
 +              cts_amber::AmberTestCase *testCase = cts_amber::createAmberTestCase(testCtx,
 +                                                                                                                                                      cases[i].basename,
 +                                                                                                                                                      cases[i].description,
 +                                                                                                                                                      category.c_str(),
 +                                                                                                                                                      file);
 +              DE_ASSERT(testCase != DE_NULL);
 +              // Add Vulkan extension requirements.
 +              // VK_KHR_spirv_1_4 requires Vulkan 1.1, which includes many common extensions.
 +              // So for, example, these tests never have to request VK_KHR_storage_buffer_storage_class,
 +              // or VK_KHR_variable_pointers since those extensions were promoted to core features
 +              // in Vulkan 1.1.  Note that feature bits may still be optional.
++              testCase->addRequirement("VK_KHR_spirv_1_4");
 +              // The tests often use StorageBuffer storage class.
 +              // We do not have to request VK_KHR_storage_buffer_storage_class because that extension
 +              // is about enabling use of SPV_KHR_storage_buffer_storage_class.  But SPIR-V 1.4 allows
 +              // use of StorageBuffer storage class without any further declarations of extensions
 +              // or capabilities.  This will also hold for tests that use features introduced by
 +              // extensions folded into SPIR-V 1.4 or earlier, and which don't require extra capabilities
 +              // to be enabled by Vulkan.  Other examples are functionality in SPV_GOOGLE_decorate_string,
 +              // SPV_GOOGLE_hlsl_functionality1, and SPV_KHR_no_integer_wrap_decoration.
 +
 +              testCase->setSpirVAsmBuildOptions(asm_options);
 +              tests->addChild(testCase);
 +      }
 +}
 +
 +} // anonymous
 +
 +tcu::TestCaseGroup* createSpirvVersion1p4Group (tcu::TestContext& testCtx)
 +{
 +      de::MovePtr<tcu::TestCaseGroup> spirv1p4Tests(new tcu::TestCaseGroup(testCtx, "spirv1p4", "SPIR-V 1.4 new features"));
 +
 +      // Location of the Amber script files under the data/vulkan/amber source tree.
 +      const char* data_dir = "spirv_assembly/instruction/spirv1p4";
 +
 +      CaseGroup group(data_dir, "opcopylogical");
 +      group.add("different_matrix_layout","different matrix layout");
 +      group.add("different_matrix_strides","different matrix strides");
 +      group.add("nested_arrays_different_inner_stride","nested_arrays_different_inner_stride");
 +      group.add("nested_arrays_different_outer_stride","nested_arrays_different_inner_stride");
 +      group.add("nested_arrays_different_strides","nested_arrays_different_strides");
 +      group.add("same_array_two_ids","same array two ids");
 +      group.add("same_struct_two_ids","same struct two ids");
 +      group.add("ssbo_to_ubo","ssbo_to_ubo");
 +      group.add("two_arrays_different_stride_1","two_arrays_different_stride_1");
 +      group.add("two_arrays_different_stride_2","two_arrays_different_stride_2");
 +      group.add("ubo_to_ssbo","ubo_to_ssbo");
 +      spirv1p4Tests->addChild(createTestGroup(testCtx, "opcopylogical", "OpCopyLogical", addTestsForAmberFiles, group));
 +
 +      return spirv1p4Tests.release();
 +}
 +
 +} // SpirVAssembly
 +} // vkt
@@@ -739,7 -891,7 +902,8 @@@ typedef enum VkQueryType 
      VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
      VK_QUERY_TYPE_TIMESTAMP = 2,
      VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
 +    VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
+     VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
      VK_QUERY_TYPE_BEGIN_RANGE = VK_QUERY_TYPE_OCCLUSION,
      VK_QUERY_TYPE_END_RANGE = VK_QUERY_TYPE_TIMESTAMP,
      VK_QUERY_TYPE_RANGE_SIZE = (VK_QUERY_TYPE_TIMESTAMP - VK_QUERY_TYPE_OCCLUSION + 1),
@@@ -6013,176 -5781,26 +5835,169 @@@ VKAPI_ATTR VkResult VKAPI_CALL vkGetFen
      const VkFenceGetFdInfoKHR*                  pGetFdInfo,
      int*                                        pFd);
  #endif
- // VK_KHR_external_fence_fd DEVICE
  
 +#define VK_KHR_performance_query 1
 +#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
 +#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
 +
 +
 +typedef enum VkPerformanceCounterUnitKHR {
 +    VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
 +    VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
 +    VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
 +    VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
 +    VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
 +    VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
 +    VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
 +    VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
 +    VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
 +    VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
 +    VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
 +    VK_PERFORMANCE_COUNTER_UNIT_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR,
 +    VK_PERFORMANCE_COUNTER_UNIT_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR,
 +    VK_PERFORMANCE_COUNTER_UNIT_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR - VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR + 1),
 +    VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterUnitKHR;
 +
 +typedef enum VkPerformanceCounterScopeKHR {
 +    VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = 0,
 +    VK_QUERY_SCOPE_RENDER_PASS_KHR = 1,
 +    VK_QUERY_SCOPE_COMMAND_KHR = 2,
 +    VK_PERFORMANCE_COUNTER_SCOPE_BEGIN_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_BUFFER_KHR,
 +    VK_PERFORMANCE_COUNTER_SCOPE_END_RANGE_KHR = VK_QUERY_SCOPE_COMMAND_KHR,
 +    VK_PERFORMANCE_COUNTER_SCOPE_RANGE_SIZE_KHR = (VK_QUERY_SCOPE_COMMAND_KHR - VK_QUERY_SCOPE_COMMAND_BUFFER_KHR + 1),
 +    VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterScopeKHR;
 +
 +typedef enum VkPerformanceCounterStorageKHR {
 +    VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
 +    VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
 +    VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
 +    VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
 +    VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
 +    VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
 +    VK_PERFORMANCE_COUNTER_STORAGE_BEGIN_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR,
 +    VK_PERFORMANCE_COUNTER_STORAGE_END_RANGE_KHR = VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR,
 +    VK_PERFORMANCE_COUNTER_STORAGE_RANGE_SIZE_KHR = (VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR - VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR + 1),
 +    VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterStorageKHR;
 +
 +
 +typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
 +    VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 0x00000001,
 +    VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 0x00000002,
 +    VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
 +} VkPerformanceCounterDescriptionFlagBitsKHR;
 +typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
 +typedef VkFlags VkAcquireProfilingLockFlagsKHR;
 +
 +typedef struct VkPhysicalDevicePerformanceCounterFeaturesKHR {
 +    VkStructureType    sType;
 +    void*              pNext;
 +    VkBool32           performanceCounterQueryPools;
 +    VkBool32           performanceCounterMultipleQueryPools;
 +} VkPhysicalDevicePerformanceCounterFeaturesKHR;
 +
 +typedef struct VkPhysicalDevicePerformanceCounterPropertiesKHR {
 +    VkStructureType    sType;
 +    void*              pNext;
 +    VkBool32           allowCommandBufferQueryCopies;
 +} VkPhysicalDevicePerformanceCounterPropertiesKHR;
 +
 +typedef struct VkPerformanceCounterKHR {
 +    VkStructureType                   sType;
 +    const void*                       pNext;
 +    VkPerformanceCounterUnitKHR       unit;
 +    VkPerformanceCounterScopeKHR      scope;
 +    VkPerformanceCounterStorageKHR    storage;
 +    uint8_t                           uuid[VK_UUID_SIZE];
 +} VkPerformanceCounterKHR;
 +
 +typedef struct VkPerformanceCounterDescriptionKHR {
 +    VkStructureType                            sType;
 +    const void*                                pNext;
 +    VkPerformanceCounterDescriptionFlagsKHR    flags;
 +    char                                       name[VK_MAX_DESCRIPTION_SIZE];
 +    char                                       category[VK_MAX_DESCRIPTION_SIZE];
 +    char                                       description[VK_MAX_DESCRIPTION_SIZE];
 +} VkPerformanceCounterDescriptionKHR;
 +
 +typedef struct VkPerformanceQueryCreateInfoKHR {
 +    VkStructureType    sType;
 +    const void*        pNext;
 +    uint32_t           queueFamilyIndex;
 +    uint32_t           counterIndexCount;
 +    const uint32_t*    pCounterIndices;
 +} VkPerformanceQueryCreateInfoKHR;
 +
 +typedef union VkPerformanceCounterResultKHR {
 +    int32_t     int32;
 +    int64_t     int64;
 +    uint32_t    uint32;
 +    uint64_t    uint64;
 +    float       float32;
 +    double      float64;
 +} VkPerformanceCounterResultKHR;
 +
 +typedef struct VkAcquireProfilingLockInfoKHR {
 +    VkStructureType                   sType;
 +    const void*                       pNext;
 +    VkAcquireProfilingLockFlagsKHR    flags;
 +    uint64_t                          timeout;
 +} VkAcquireProfilingLockInfoKHR;
 +
 +typedef struct VkPerformanceQuerySubmitInfoKHR {
 +    VkStructureType    sType;
 +    const void*        pNext;
 +    uint32_t           counterPassIndex;
 +} VkPerformanceQuerySubmitInfoKHR;
 +
 +
 +typedef void (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
 +typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkPerformanceQueryCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses);
 +typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
 +typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
 +
 +#ifndef VK_NO_PROTOTYPES
 +VKAPI_ATTR void VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
 +    VkPhysicalDevice                            physicalDevice,
 +    uint32_t                                    queueFamilyIndex,
 +    uint32_t*                                   pCounterCount,
 +    VkPerformanceCounterKHR*                    pCounters,
 +    VkPerformanceCounterDescriptionKHR*         pCounterDescriptions);
 +
 +VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
 +    VkPhysicalDevice                            physicalDevice,
 +    const VkPerformanceQueryCreateInfoKHR*      pPerformanceQueryCreateInfo,
 +    uint32_t*                                   pNumPasses);
 +
 +VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
 +    VkDevice                                    device,
 +    const VkAcquireProfilingLockInfoKHR*        pInfo);
 +
 +VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
 +    VkDevice                                    device);
 +#endif
 +
  #define VK_KHR_maintenance2 1
- typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
- typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
- typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
- typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
+ #define VK_KHR_MAINTENANCE2_SPEC_VERSION  1
+ #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
  typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
- typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
  typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
  
- #define VK_KHR_MAINTENANCE2_SPEC_VERSION  1
- #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
- #define VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
- #define VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR VK_IMAGE_CREATE_EXTENDED_USAGE_BIT
- #define VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
- #define VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
- #define VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
- #define VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
- #define VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
- #define VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
- #define VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
- #define VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT
- #define VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT
- //VK_KHR_maintenance2 DEVICE 1_1_0
+ typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
+ typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
+ typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
+ typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
+ typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
  
  #define VK_KHR_get_surface_capabilities2 1
  #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
@@@ -8494,34 -8983,62 +9180,61 @@@ typedef struct VkPhysicalDeviceScalarBl
      VkBool32           scalarBlockLayout;
  } VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
  
- // MANDATORY_FEATURE VkPhysicalDeviceScalarBlockLayoutFeaturesEXT scalarBlockLayout VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT        WHEN_EXTENSIONS_PRESENT ( VK_EXT_scalar_block_layout )
  
- #define VK_EXT_depth_clip_enable 1
- #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
- #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
  
- typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
+ #define VK_GOOGLE_hlsl_functionality1 1
+ #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
+ #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
  
- typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
+ #define VK_GOOGLE_decorate_string 1
+ #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
+ #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
+ #define VK_EXT_memory_budget 1
+ #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
+ #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
+ typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
      VkStructureType    sType;
      void*              pNext;
-     VkBool32           depthClipEnable;
- } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
+     VkDeviceSize       heapBudget[VK_MAX_MEMORY_HEAPS];
+     VkDeviceSize       heapUsage[VK_MAX_MEMORY_HEAPS];
+ } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
+ #define VK_EXT_memory_priority 1
+ #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
+ #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
+ typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
+     VkStructureType    sType;
+     void*              pNext;
+     VkBool32           memoryPriority;
+ } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
+ typedef struct VkMemoryPriorityAllocateInfoEXT {
+     VkStructureType    sType;
+     const void*        pNext;
+     float              priority;
+ } VkMemoryPriorityAllocateInfoEXT;
+ #define VK_NV_dedicated_allocation_image_aliasing 1
+ #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
+ #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
+ typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
+     VkStructureType    sType;
+     void*              pNext;
+     VkBool32           dedicatedAllocationImageAliasing;
+ } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
  
- typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
-     VkStructureType                                        sType;
-     const void*                                            pNext;
-     VkPipelineRasterizationDepthClipStateCreateFlagsEXT    flags;
-     VkBool32                                               depthClipEnable;
- } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
  
 -
  #define VK_EXT_buffer_device_address 1
  typedef uint64_t VkDeviceAddress;
  #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
  #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
- #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
  typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
      VkStructureType    sType;
      void*              pNext;