Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
authorAlexander Galazin <alexander.galazin@arm.com>
Fri, 16 Aug 2019 13:05:42 +0000 (15:05 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Fri, 16 Aug 2019 13:05:42 +0000 (15:05 +0200)
Change-Id: I12856e0c5f601fa1bf6022a53e5532dac5e97e1a

23 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/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/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/vkVulkan_c.inl
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
Simple merge
@@@ -464,14 -451,13 +464,20 @@@ enum VkStructureTyp
        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_LINE_RASTERIZATION_FEATURES_EXT                                       = 1000259000,
 +      VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT                                     = 1000259001,
 +      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT                                     = 1000259002,
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT                                         = 1000261000,
 +      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT                                         = 1000265000,
 +      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT       = 1000276000,
 +      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT                           = 1000281000,
 +      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT                         = 1000281001,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR           = 1000269000,
+       VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR                                                                                                     = 1000269001,
+       VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR                                                            = 1000269002,
+       VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR                                                                          = 1000269003,
+       VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR                                                                     = 1000269004,
+       VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR                                       = 1000269005,
        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,
@@@ -1406,15 -1372,16 +1412,25 @@@ enum VkDriverIdKH
        VK_DRIVER_ID_MAX_ENUM_KHR                                       = 0x7FFFFFFF,
  };
  
 +enum VkShaderFloatControlsIndependenceKHR
 +{
 +      VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR   = 0,
 +      VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR                   = 1,
 +      VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR                  = 2,
 +      VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_KHR_LAST,
 +      VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM_KHR              = 0x7FFFFFFF,
 +};
 +
+ enum VkPipelineExecutableStatisticFormatKHR
+ {
+       VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR              = 0,
+       VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR               = 1,
+       VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR              = 2,
+       VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR             = 3,
+       VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_KHR_LAST,
+       VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR    = 0x7FFFFFFF,
+ };
  enum VkDebugReportObjectTypeEXT
  {
        VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT                                                 = 0,
@@@ -2095,23 -2011,19 +2111,25 @@@ enum VkImageViewCreateFlagBit
  };
  typedef deUint32 VkImageViewCreateFlags;
  
 +enum VkShaderModuleCreateFlagBits
 +{
 +      VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM      = 0x7FFFFFFF,
 +};
 +typedef deUint32 VkShaderModuleCreateFlags;
 +
  enum VkPipelineCreateFlagBits
  {
-       VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                             = 0x00000001,
-       VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                                = 0x00000002,
-       VK_PIPELINE_CREATE_DERIVATIVE_BIT                                               = 0x00000004,
-       VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT             = 0x00000008,
-       VK_PIPELINE_CREATE_DISPATCH_BASE                                                = 0x00000010,
-       VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                                 = 0x00000020,
-       VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
-       VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                                    = VK_PIPELINE_CREATE_DISPATCH_BASE,
-       VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                                   = 0x7FFFFFFF,
+       VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                                     = 0x00000001,
+       VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                                        = 0x00000002,
+       VK_PIPELINE_CREATE_DERIVATIVE_BIT                                                       = 0x00000004,
+       VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT                     = 0x00000008,
+       VK_PIPELINE_CREATE_DISPATCH_BASE                                                        = 0x00000010,
+       VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                                         = 0x00000020,
+       VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR                           = 0x00000040,
+       VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR     = 0x00000080,
+       VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR         = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
+       VK_PIPELINE_CREATE_DISPATCH_BASE_KHR                                            = VK_PIPELINE_CREATE_DISPATCH_BASE,
+       VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM                                           = 0x7FFFFFFF,
  };
  typedef deUint32 VkPipelineCreateFlags;
  
  
  namespace vk
  {
 -#define DECL_PROTECTED_MEMORY_EXTENSION_NAME "not_existent_feature"
 -#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
 -#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
 -#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
 +#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
 +#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
 +#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
 +#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
 +#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
  #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
 -#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
 +#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
 +#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
 +#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
 +#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
  #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
 +#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
 +#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
 +#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
 +#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
 +#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
 +#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
  #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
 +#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
  #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
 -#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
 -#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
 -#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
 +#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
 +#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
 +#define VK_NV_MESH_SHADER_EXTENSION_NAME  "VK_NV_mesh_shader"
 +#define VK_KHR_MULTIVIEW_EXTENSION_NAME   "VK_KHR_multiview"
++#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
 +#define DECL_PROTECTED_MEMORY_EXTENSION_NAME "not_existent_feature"
  #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
 -#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
 +#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
 +#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
  #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_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
 +#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
 +#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
  #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_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_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
 +#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
 +#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
 +#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
  #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_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
 -#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"
 +#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
 +#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
 +#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
  
  
- 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, 42); }
- 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, 41); }
- 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, 40); }
- 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, 39); }
- 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, 38); }
- 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, 37); }
- 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, 36); }
- 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, 35); }
- 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, 34); }
- 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, 33); }
- 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, 32); }
- 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, 31); }
- 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, 30); }
- 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, 29); }
- 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, 28); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 27); }
- 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, 26); }
- 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, 25); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 24); }
- 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, 23); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 22); }
- 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, 21); }
 -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<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, 29); }
 -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, 28); }
 -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, 27); }
 -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, 26); }
 -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, 25); }
 -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, 24); }
 -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, 23); }
 -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, 22); }
 -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, 21); }
--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, 20); }
- template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_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, 19); }
 -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, 18); }
 -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, 17); }
 -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, 16); }
 -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, 15); }
 -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, 14); }
 -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, 13); }
 -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, 12); }
 -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, 11); }
 -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, 10); }
 -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, 9); }
 -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, 8); }
 -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, 7); }
 -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, 6); }
 -template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 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); }
++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, 43); }
++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, 42); }
++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, 41); }
++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, 40); }
++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, 39); }
++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, 38); }
++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, 37); }
++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, 36); }
++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, 35); }
++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, 34); }
++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, 33); }
++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, 32); }
++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, 31); }
++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, 30); }
++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, 29); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 28); }
++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, 27); }
++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, 26); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 25); }
++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, 24); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceLineRasterizationFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 23); }
++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, 22); }
++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, 21); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceMultiviewFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 20); }
++template<> FeatureDesc makeFeatureDesc<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 19); }
 +template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceProtectedMemoryFeatures>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 18); }
 +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, 17); }
 +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, 16); }
 +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, 15); }
 +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, 14); }
 +template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 13); }
 +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, 12); }
 +template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderFloat16Int8FeaturesKHR>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 11); }
 +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, 10); }
 +template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 9); }
 +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, 8); }
 +template<> FeatureDesc makeFeatureDesc<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>(void) { return FeatureDesc(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 7); }
 +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, 6); }
 +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, 5); }
 +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, 4); }
 +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, 3); }
 +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, 2); }
 +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, 1); }
  
  
  static const FeatureStructMapItem featureStructCreatorMap[] =
  {
 -      { createFeatureStructWrapper<VkPhysicalDeviceProtectedMemoryFeatures>, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 },
 -      { createFeatureStructWrapper<VkPhysicalDeviceShaderDrawParametersFeatures>, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceTransformFeedbackFeaturesEXT>, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceCornerSampledImageFeaturesNV>, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDevice16BitStorageFeatures>, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDevice8BitStorageFeaturesKHR>, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceConditionalRenderingFeaturesEXT>, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceFloat16Int8FeaturesKHR>, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceCooperativeMatrixFeaturesNV>, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceCornerSampledImageFeaturesNV>, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceCoverageReductionModeFeaturesNV>, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceDepthClipEnableFeaturesEXT>, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceExclusiveScissorFeaturesNV>, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceHostQueryResetFeaturesEXT>, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceImagelessFramebufferFeaturesKHR>, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceInlineUniformBlockFeaturesEXT>, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceShadingRateImageFeaturesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceLineRasterizationFeaturesEXT>, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceMemoryPriorityFeaturesEXT>, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceMeshShaderFeaturesNV>, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceMultiviewFeatures>, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION },
++      { createFeatureStructWrapper<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceProtectedMemoryFeatures>, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 },
        { createFeatureStructWrapper<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDevice8BitStorageFeaturesKHR>, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceSamplerYcbcrConversionFeatures>, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderAtomicInt64FeaturesKHR>, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceMeshShaderFeaturesNV>, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceShaderDrawParametersFeatures>, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceShaderFloat16Int8FeaturesKHR>, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceShaderImageFootprintFeaturesNV>, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceExclusiveScissorFeaturesNV>, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceMemoryPriorityFeaturesEXT>, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceCooperativeMatrixFeaturesNV>, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceCoverageReductionModeFeaturesNV>, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceShadingRateImageFeaturesNV>, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceTransformFeedbackFeaturesEXT>, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR>, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceHostQueryResetFeaturesEXT>, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceMultiviewFeatures>, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDevice16BitStorageFeatures>, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION },
        { createFeatureStructWrapper<VkPhysicalDeviceVariablePointersFeatures>, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION },
 -      { createFeatureStructWrapper<VkPhysicalDeviceSamplerYcbcrConversionFeatures>, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION },
 +      { createFeatureStructWrapper<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION },
  };
  } // vk
  
@@@ -1,45 -1,40 +1,46 @@@
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
 -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::VkPhysicalDevice16BitStorageFeatures&                                                       get16BitStorageFeatures                                         (void) const;
 +const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                             get8BitStorageFeatures                                          (void) const;
 +const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                  getBlendOperationAdvancedFeatures                       (void) const;
 +const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                             getBufferDeviceAddressFeatures                          (void) const;
 +const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                 getComputeShaderDerivativesFeatures                     (void) const;
  const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                            getConditionalRenderingFeatures                         (void) const;
 -const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&                                             getFloat16Int8Features                                          (void) const;
 +const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                        getCooperativeMatrixFeatures                            (void) const;
 +const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                       getCornerSampledImageFeatures                           (void) const;
 +const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                            getCoverageReductionModeFeatures                        (void) const;
 +const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAllocationImageAliasingFeatures     (void) const;
  const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                 getDepthClipEnableFeatures                                      (void) const;
 +const vk::VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                              getDescriptorIndexingFeatures                           (void) const;
 +const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                 getExclusiveScissorFeatures                                     (void) const;
 +const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                              getFragmentDensityMapFeatures                           (void) const;
 +const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                        getFragmentShaderBarycentricFeatures            (void) const;
 +const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                 getFragmentShaderInterlockFeatures                      (void) const;
 +const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                                  getHostQueryResetFeatures                                       (void) const;
  const vk::VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                            getImagelessFramebufferFeatures                         (void) const;
 +const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                  getIndexTypeUint8Features                                       (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::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                       getLineRasterizationFeatures                            (void) const;
 +const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                  getMemoryPriorityFeatures                                       (void) const;
 +const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                       getMeshShaderFeatures                                           (void) const;
 +const vk::VkPhysicalDeviceMultiviewFeatures&                                                  getMultiviewFeatures                                            (void) const;
++const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&            getPipelineExecutablePropertiesFeatures         (void) const;
 +const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                            getProtectedMemoryFeatures                                      (void) const;
  const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                       getRepresentativeFragmentTestFeatures           (void) const;
 -const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                             get8BitStorageFeatures                                          (void) const;
 +const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                             getSamplerYcbcrConversionFeatures                       (void) const;
 +const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                                       getScalarBlockLayoutFeatures                            (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::VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT&  getShaderDemoteToHelperInvocationFeatures       (void) const;
 +const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                       getShaderDrawParametersFeatures                         (void) const;
 +const vk::VkPhysicalDeviceShaderFloat16Int8FeaturesKHR&                                       getShaderFloat16Int8Features                            (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::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                       getShaderIntegerFunctions2FeaturesINTEL         (void) const;
 +const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                 getShadingRateImageFeatures                                     (void) const;
 +const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                            getTexelBufferAlignmentFeatures                         (void) const;
 +const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                       getTransformFeedbackFeatures                            (void) const;
  const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&             getUniformBufferStandardLayoutFeatures          (void) const;
 -const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                                  getHostQueryResetFeatures                                       (void) const;
 -const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&            getPipelineExecutablePropertiesFeatures         (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;
 +const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                  getVertexAttributeDivisorFeatures                       (void) const;
 +const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                                       getVulkanMemoryModelFeatures                            (void) const;
 +const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                        getYcbcrImageArraysFeatures                                     (void) const;
@@@ -1,45 -1,40 +1,46 @@@
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
 -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::VkPhysicalDevice16BitStorageFeatures&                                                       Context::get16BitStorageFeatures                                                (void) const { return m_device->get16BitStorageFeatures();                                              }
 +const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                             Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                               }
 +const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                  Context::getBlendOperationAdvancedFeatures                              (void) const { return m_device->getBlendOperationAdvancedFeatures();                    }
 +const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                             Context::getBufferDeviceAddressFeatures                                 (void) const { return m_device->getBufferDeviceAddressFeatures();                               }
 +const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                 Context::getComputeShaderDerivativesFeatures                    (void) const { return m_device->getComputeShaderDerivativesFeatures();                  }
  const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&                            Context::getConditionalRenderingFeatures                                (void) const { return m_device->getConditionalRenderingFeatures();                              }
 -const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&                                             Context::getFloat16Int8Features                                                 (void) const { return m_device->getFloat16Int8Features();                                               }
 +const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                        Context::getCooperativeMatrixFeatures                                   (void) const { return m_device->getCooperativeMatrixFeatures();                                 }
 +const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV&                                       Context::getCornerSampledImageFeatures                                  (void) const { return m_device->getCornerSampledImageFeatures();                                }
 +const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV&                            Context::getCoverageReductionModeFeatures                               (void) const { return m_device->getCoverageReductionModeFeatures();                             }
 +const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& Context::getDedicatedAllocationImageAliasingFeatures    (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures();  }
  const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                 Context::getDepthClipEnableFeatures                                             (void) const { return m_device->getDepthClipEnableFeatures();                                   }
 +const vk::VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                              Context::getDescriptorIndexingFeatures                                  (void) const { return m_device->getDescriptorIndexingFeatures();                                }
 +const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV&                                 Context::getExclusiveScissorFeatures                                    (void) const { return m_device->getExclusiveScissorFeatures();                                  }
 +const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                              Context::getFragmentDensityMapFeatures                                  (void) const { return m_device->getFragmentDensityMapFeatures();                                }
 +const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                        Context::getFragmentShaderBarycentricFeatures                   (void) const { return m_device->getFragmentShaderBarycentricFeatures();                 }
 +const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                 Context::getFragmentShaderInterlockFeatures                             (void) const { return m_device->getFragmentShaderInterlockFeatures();                   }
 +const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                                  Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                    }
  const vk::VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                            Context::getImagelessFramebufferFeatures                                (void) const { return m_device->getImagelessFramebufferFeatures();                              }
 +const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                  Context::getIndexTypeUint8Features                                              (void) const { return m_device->getIndexTypeUint8Features();                                    }
  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::VkPhysicalDeviceLineRasterizationFeaturesEXT&                                       Context::getLineRasterizationFeatures                                   (void) const { return m_device->getLineRasterizationFeatures();                                 }
 +const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                  Context::getMemoryPriorityFeatures                                              (void) const { return m_device->getMemoryPriorityFeatures();                                    }
 +const vk::VkPhysicalDeviceMeshShaderFeaturesNV&                                                       Context::getMeshShaderFeatures                                                  (void) const { return m_device->getMeshShaderFeatures();                                                }
 +const vk::VkPhysicalDeviceMultiviewFeatures&                                                  Context::getMultiviewFeatures                                                   (void) const { return m_device->getMultiviewFeatures();                                                 }
++const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&            Context::getPipelineExecutablePropertiesFeatures                (void) const { return m_device->getPipelineExecutablePropertiesFeatures();              }
 +const vk::VkPhysicalDeviceProtectedMemoryFeatures&                                            Context::getProtectedMemoryFeatures                                             (void) const { return m_device->getProtectedMemoryFeatures();                                   }
  const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                       Context::getRepresentativeFragmentTestFeatures                  (void) const { return m_device->getRepresentativeFragmentTestFeatures();                }
 -const vk::VkPhysicalDevice8BitStorageFeaturesKHR&                                             Context::get8BitStorageFeatures                                                 (void) const { return m_device->get8BitStorageFeatures();                                               }
 +const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures&                             Context::getSamplerYcbcrConversionFeatures                              (void) const { return m_device->getSamplerYcbcrConversionFeatures();                    }
 +const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                                       Context::getScalarBlockLayoutFeatures                                   (void) const { return m_device->getScalarBlockLayoutFeatures();                                 }
  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::VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT&  Context::getShaderDemoteToHelperInvocationFeatures              (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures();    }
 +const vk::VkPhysicalDeviceShaderDrawParametersFeatures&                                       Context::getShaderDrawParametersFeatures                                (void) const { return m_device->getShaderDrawParametersFeatures();                              }
 +const vk::VkPhysicalDeviceShaderFloat16Int8FeaturesKHR&                                       Context::getShaderFloat16Int8Features                                   (void) const { return m_device->getShaderFloat16Int8Features();                                 }
  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::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                       Context::getShaderIntegerFunctions2FeaturesINTEL                (void) const { return m_device->getShaderIntegerFunctions2FeaturesINTEL();              }
 +const vk::VkPhysicalDeviceShadingRateImageFeaturesNV&                                 Context::getShadingRateImageFeatures                                    (void) const { return m_device->getShadingRateImageFeatures();                                  }
 +const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                            Context::getTexelBufferAlignmentFeatures                                (void) const { return m_device->getTexelBufferAlignmentFeatures();                              }
 +const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                       Context::getTransformFeedbackFeatures                                   (void) const { return m_device->getTransformFeedbackFeatures();                                 }
  const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&             Context::getUniformBufferStandardLayoutFeatures                 (void) const { return m_device->getUniformBufferStandardLayoutFeatures();               }
 -const vk::VkPhysicalDeviceHostQueryResetFeaturesEXT&                                  Context::getHostQueryResetFeatures                                              (void) const { return m_device->getHostQueryResetFeatures();                                    }
 -const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&            Context::getPipelineExecutablePropertiesFeatures                (void) const { return m_device->getPipelineExecutablePropertiesFeatures();              }
 -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();                    }
 +const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                  Context::getVertexAttributeDivisorFeatures                              (void) const { return m_device->getVertexAttributeDivisorFeatures();                    }
 +const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                                       Context::getVulkanMemoryModelFeatures                                   (void) const { return m_device->getVulkanMemoryModelFeatures();                                 }
 +const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                        Context::getYcbcrImageArraysFeatures                                    (void) const { return m_device->getYcbcrImageArraysFeatures();                                  }
@@@ -1,45 -1,40 +1,46 @@@
  /* WARNING: This is auto-generated file. Do not modify, since changes will
   * be lost! Modify the generating script instead.
   */
 -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 VkPhysicalDevice16BitStorageFeatures&                                                   get16BitStorageFeatures                                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice16BitStorageFeatures>();                                                  }
 +const VkPhysicalDevice8BitStorageFeaturesKHR&                                         get8BitStorageFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeaturesKHR>();                                                }
 +const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&                      getBlendOperationAdvancedFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT>();                             }
 +const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&                         getBufferDeviceAddressFeatures                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT>();                                }
 +const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&                     getComputeShaderDerivativesFeatures                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV>();                    }
  const VkPhysicalDeviceConditionalRenderingFeaturesEXT&                                getConditionalRenderingFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT>();                               }
 -const VkPhysicalDeviceFloat16Int8FeaturesKHR&                                         getFloat16Int8Features                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFloat16Int8FeaturesKHR>();                                                }
 +const VkPhysicalDeviceCooperativeMatrixFeaturesNV&                                    getCooperativeMatrixFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV>();                                   }
 +const VkPhysicalDeviceCornerSampledImageFeaturesNV&                                   getCornerSampledImageFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCornerSampledImageFeaturesNV>();                                  }
 +const VkPhysicalDeviceCoverageReductionModeFeaturesNV&                                getCoverageReductionModeFeatures                        (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV>();                               }
 +const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&     getDedicatedAllocationImageAliasingFeatures     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV>();    }
  const VkPhysicalDeviceDepthClipEnableFeaturesEXT&                                     getDepthClipEnableFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT>();                                    }
 +const VkPhysicalDeviceDescriptorIndexingFeaturesEXT&                          getDescriptorIndexingFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceDescriptorIndexingFeaturesEXT>();                                 }
 +const VkPhysicalDeviceExclusiveScissorFeaturesNV&                                     getExclusiveScissorFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceExclusiveScissorFeaturesNV>();                                    }
 +const VkPhysicalDeviceFragmentDensityMapFeaturesEXT&                          getFragmentDensityMapFeatures                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT>();                                 }
 +const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&                    getFragmentShaderBarycentricFeatures            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV>();                   }
 +const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&                     getFragmentShaderInterlockFeatures                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT>();                    }
 +const VkPhysicalDeviceHostQueryResetFeaturesEXT&                                      getHostQueryResetFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeaturesEXT>();                                             }
  const VkPhysicalDeviceImagelessFramebufferFeaturesKHR&                                getImagelessFramebufferFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceImagelessFramebufferFeaturesKHR>();                               }
 +const VkPhysicalDeviceIndexTypeUint8FeaturesEXT&                                      getIndexTypeUint8Features                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT>();                                             }
  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 VkPhysicalDeviceLineRasterizationFeaturesEXT&                                   getLineRasterizationFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceLineRasterizationFeaturesEXT>();                                  }
 +const VkPhysicalDeviceMemoryPriorityFeaturesEXT&                                      getMemoryPriorityFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT>();                                             }
 +const VkPhysicalDeviceMeshShaderFeaturesNV&                                                   getMeshShaderFeatures                                           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMeshShaderFeaturesNV>();                                                  }
 +const VkPhysicalDeviceMultiviewFeatures&                                                      getMultiviewFeatures                                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceMultiviewFeatures>();                                                             }
++const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&                getPipelineExecutablePropertiesFeatures         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>();               }
 +const VkPhysicalDeviceProtectedMemoryFeatures&                                                getProtectedMemoryFeatures                                      (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceProtectedMemoryFeatures>();                                               }
  const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&                   getRepresentativeFragmentTestFeatures           (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV>();                  }
 -const VkPhysicalDevice8BitStorageFeaturesKHR&                                         get8BitStorageFeatures                                          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevice8BitStorageFeaturesKHR>();                                                }
 +const VkPhysicalDeviceSamplerYcbcrConversionFeatures&                         getSamplerYcbcrConversionFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>();                                }
 +const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&                                   getScalarBlockLayoutFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceScalarBlockLayoutFeaturesEXT>();                                  }
  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 VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT&      getShaderDemoteToHelperInvocationFeatures       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT>();             }
 +const VkPhysicalDeviceShaderDrawParametersFeatures&                                   getShaderDrawParametersFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderDrawParametersFeatures>();                                  }
 +const VkPhysicalDeviceShaderFloat16Int8FeaturesKHR&                                   getShaderFloat16Int8Features                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderFloat16Int8FeaturesKHR>();                                  }
  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 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&                   getShaderIntegerFunctions2FeaturesINTEL         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>();                  }
 +const VkPhysicalDeviceShadingRateImageFeaturesNV&                                     getShadingRateImageFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceShadingRateImageFeaturesNV>();                                    }
 +const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&                                getTexelBufferAlignmentFeatures                         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT>();                               }
 +const VkPhysicalDeviceTransformFeedbackFeaturesEXT&                                   getTransformFeedbackFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT>();                                  }
  const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR&         getUniformBufferStandardLayoutFeatures          (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR>();                }
 -const VkPhysicalDeviceHostQueryResetFeaturesEXT&                                      getHostQueryResetFeatures                                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceHostQueryResetFeaturesEXT>();                                             }
 -const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&                getPipelineExecutablePropertiesFeatures         (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR>();               }
 -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>();                                }
 +const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&                      getVertexAttributeDivisorFeatures                       (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT>();                             }
 +const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&                                   getVulkanMemoryModelFeatures                            (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceVulkanMemoryModelFeaturesKHR>();                                  }
 +const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&                                    getYcbcrImageArraysFeatures                                     (void) const { return m_deviceFeatures.getFeatureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT>();                                   }
  /* 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.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.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.initializePerformanceApiINTEL                                    = (InitializePerformanceApiINTELFunc)                                   GET_PROC_ADDR("vkInitializePerformanceApiINTEL");
- m_vk.uninitializePerformanceApiINTEL                          = (UninitializePerformanceApiINTELFunc)                                 GET_PROC_ADDR("vkUninitializePerformanceApiINTEL");
- m_vk.cmdSetPerformanceMarkerINTEL                                     = (CmdSetPerformanceMarkerINTELFunc)                                    GET_PROC_ADDR("vkCmdSetPerformanceMarkerINTEL");
- m_vk.cmdSetPerformanceStreamMarkerINTEL                               = (CmdSetPerformanceStreamMarkerINTELFunc)                              GET_PROC_ADDR("vkCmdSetPerformanceStreamMarkerINTEL");
- m_vk.cmdSetPerformanceOverrideINTEL                                   = (CmdSetPerformanceOverrideINTELFunc)                                  GET_PROC_ADDR("vkCmdSetPerformanceOverrideINTEL");
- m_vk.acquirePerformanceConfigurationINTEL                     = (AcquirePerformanceConfigurationINTELFunc)                    GET_PROC_ADDR("vkAcquirePerformanceConfigurationINTEL");
- m_vk.releasePerformanceConfigurationINTEL                     = (ReleasePerformanceConfigurationINTELFunc)                    GET_PROC_ADDR("vkReleasePerformanceConfigurationINTEL");
- m_vk.queueSetPerformanceConfigurationINTEL                    = (QueueSetPerformanceConfigurationINTELFunc)                   GET_PROC_ADDR("vkQueueSetPerformanceConfigurationINTEL");
- m_vk.getPerformanceParameterINTEL                                     = (GetPerformanceParameterINTELFunc)                                    GET_PROC_ADDR("vkGetPerformanceParameterINTEL");
- m_vk.setLocalDimmingAMD                                                               = (SetLocalDimmingAMDFunc)                                                              GET_PROC_ADDR("vkSetLocalDimmingAMD");
- m_vk.getBufferDeviceAddressEXT                                                = (GetBufferDeviceAddressEXTFunc)                                               GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
- m_vk.cmdSetLineStippleEXT                                                     = (CmdSetLineStippleEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetLineStippleEXT");
- m_vk.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");
+       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.cmdDrawIndirectCountKHR                                                  = (CmdDrawIndirectCountKHRFunc)                                                 GET_PROC_ADDR("vkCmdDrawIndirectCountKHR");
+ m_vk.cmdDrawIndexedIndirectCountKHR                                           = (CmdDrawIndexedIndirectCountKHRFunc)                                  GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR");
+ m_vk.getPipelineExecutablePropertiesKHR                                       = (GetPipelineExecutablePropertiesKHRFunc)                              GET_PROC_ADDR("vkGetPipelineExecutablePropertiesKHR");
+ m_vk.getPipelineExecutableStatisticsKHR                                       = (GetPipelineExecutableStatisticsKHRFunc)                              GET_PROC_ADDR("vkGetPipelineExecutableStatisticsKHR");
+ m_vk.getPipelineExecutableInternalRepresentationsKHR  = (GetPipelineExecutableInternalRepresentationsKHRFunc) GET_PROC_ADDR("vkGetPipelineExecutableInternalRepresentationsKHR");
+ m_vk.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.initializePerformanceApiINTEL                                            = (InitializePerformanceApiINTELFunc)                                   GET_PROC_ADDR("vkInitializePerformanceApiINTEL");
++m_vk.uninitializePerformanceApiINTEL                                  = (UninitializePerformanceApiINTELFunc)                                 GET_PROC_ADDR("vkUninitializePerformanceApiINTEL");
++m_vk.cmdSetPerformanceMarkerINTEL                                             = (CmdSetPerformanceMarkerINTELFunc)                                    GET_PROC_ADDR("vkCmdSetPerformanceMarkerINTEL");
++m_vk.cmdSetPerformanceStreamMarkerINTEL                                       = (CmdSetPerformanceStreamMarkerINTELFunc)                              GET_PROC_ADDR("vkCmdSetPerformanceStreamMarkerINTEL");
++m_vk.cmdSetPerformanceOverrideINTEL                                           = (CmdSetPerformanceOverrideINTELFunc)                                  GET_PROC_ADDR("vkCmdSetPerformanceOverrideINTEL");
++m_vk.acquirePerformanceConfigurationINTEL                             = (AcquirePerformanceConfigurationINTELFunc)                    GET_PROC_ADDR("vkAcquirePerformanceConfigurationINTEL");
++m_vk.releasePerformanceConfigurationINTEL                             = (ReleasePerformanceConfigurationINTELFunc)                    GET_PROC_ADDR("vkReleasePerformanceConfigurationINTEL");
++m_vk.queueSetPerformanceConfigurationINTEL                            = (QueueSetPerformanceConfigurationINTELFunc)                   GET_PROC_ADDR("vkQueueSetPerformanceConfigurationINTEL");
++m_vk.getPerformanceParameterINTEL                                             = (GetPerformanceParameterINTELFunc)                                    GET_PROC_ADDR("vkGetPerformanceParameterINTEL");
+ m_vk.setLocalDimmingAMD                                                                       = (SetLocalDimmingAMDFunc)                                                              GET_PROC_ADDR("vkSetLocalDimmingAMD");
+ m_vk.getBufferDeviceAddressEXT                                                        = (GetBufferDeviceAddressEXTFunc)                                               GET_PROC_ADDR("vkGetBufferDeviceAddressEXT");
++m_vk.cmdSetLineStippleEXT                                                             = (CmdSetLineStippleEXTFunc)                                                    GET_PROC_ADDR("vkCmdSetLineStippleEXT");
+ m_vk.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");
@@@ -2476,278 -2433,271 +2503,281 @@@ static const tcu::StaticFunctionLibrary
  
  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(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(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(vkInitializePerformanceApiINTEL,                                     initializePerformanceApiINTEL),
-       VK_NULL_FUNC_ENTRY(vkUninitializePerformanceApiINTEL,                           uninitializePerformanceApiINTEL),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceMarkerINTEL,                                      cmdSetPerformanceMarkerINTEL),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceStreamMarkerINTEL,                        cmdSetPerformanceStreamMarkerINTEL),
-       VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceOverrideINTEL,                            cmdSetPerformanceOverrideINTEL),
-       VK_NULL_FUNC_ENTRY(vkAcquirePerformanceConfigurationINTEL,                      acquirePerformanceConfigurationINTEL),
-       VK_NULL_FUNC_ENTRY(vkReleasePerformanceConfigurationINTEL,                      releasePerformanceConfigurationINTEL),
-       VK_NULL_FUNC_ENTRY(vkQueueSetPerformanceConfigurationINTEL,                     queueSetPerformanceConfigurationINTEL),
-       VK_NULL_FUNC_ENTRY(vkGetPerformanceParameterINTEL,                                      getPerformanceParameterINTEL),
-       VK_NULL_FUNC_ENTRY(vkSetLocalDimmingAMD,                                                        setLocalDimmingAMD),
-       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                         getBufferDeviceAddressEXT),
-       VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEXT,                                                      cmdSetLineStippleEXT),
-       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                         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),
+       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(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(vkGetPipelineExecutablePropertiesKHR,                                getPipelineExecutablePropertiesKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableStatisticsKHR,                                getPipelineExecutableStatisticsKHR),
+       VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableInternalRepresentationsKHR,   getPipelineExecutableInternalRepresentationsKHR),
+       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(vkInitializePerformanceApiINTEL,                                             initializePerformanceApiINTEL),
++      VK_NULL_FUNC_ENTRY(vkUninitializePerformanceApiINTEL,                                   uninitializePerformanceApiINTEL),
++      VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceMarkerINTEL,                                              cmdSetPerformanceMarkerINTEL),
++      VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceStreamMarkerINTEL,                                cmdSetPerformanceStreamMarkerINTEL),
++      VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceOverrideINTEL,                                    cmdSetPerformanceOverrideINTEL),
++      VK_NULL_FUNC_ENTRY(vkAcquirePerformanceConfigurationINTEL,                              acquirePerformanceConfigurationINTEL),
++      VK_NULL_FUNC_ENTRY(vkReleasePerformanceConfigurationINTEL,                              releasePerformanceConfigurationINTEL),
++      VK_NULL_FUNC_ENTRY(vkQueueSetPerformanceConfigurationINTEL,                             queueSetPerformanceConfigurationINTEL),
++      VK_NULL_FUNC_ENTRY(vkGetPerformanceParameterINTEL,                                              getPerformanceParameterINTEL),
+       VK_NULL_FUNC_ENTRY(vkSetLocalDimmingAMD,                                                                setLocalDimmingAMD),
+       VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT,                                                 getBufferDeviceAddressEXT),
++      VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEXT,                                                              cmdSetLineStippleEXT),
+       VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT,                                                                 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),
  };
  
@@@ -47,7 -47,7 +47,8 @@@ const char*   getDescriptorUpdateTemplate
  const char*   getColorSpaceKHRName                                                                    (VkColorSpaceKHR value);
  const char*   getPresentModeKHRName                                                                   (VkPresentModeKHR value);
  const char*   getDriverIdKHRName                                                                              (VkDriverIdKHR value);
 +const char*   getShaderFloatControlsIndependenceKHRName                               (VkShaderFloatControlsIndependenceKHR value);
+ const char*   getPipelineExecutableStatisticFormatKHRName                             (VkPipelineExecutableStatisticFormatKHR value);
  const char*   getDebugReportObjectTypeEXTName                                                 (VkDebugReportObjectTypeEXT value);
  const char*   getRasterizationOrderAMDName                                                    (VkRasterizationOrderAMD value);
  const char*   getShaderInfoTypeAMDName                                                                (VkShaderInfoTypeAMD value);
@@@ -133,7 -127,7 +134,8 @@@ inline tcu::Format::Enum<VkDescriptorUp
  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<VkDriverIdKHR>                                                                               getDriverIdKHRStr                                                                       (VkDriverIdKHR value)                                                                   { return tcu::Format::Enum<VkDriverIdKHR>(getDriverIdKHRName, value);                                                                                                                                           }
 +inline tcu::Format::Enum<VkShaderFloatControlsIndependenceKHR>                                getShaderFloatControlsIndependenceKHRStr                        (VkShaderFloatControlsIndependenceKHR value)                    { return tcu::Format::Enum<VkShaderFloatControlsIndependenceKHR>(getShaderFloatControlsIndependenceKHRName, value);                                                     }
+ inline tcu::Format::Enum<VkPipelineExecutableStatisticFormatKHR>                      getPipelineExecutableStatisticFormatKHRStr                      (VkPipelineExecutableStatisticFormatKHR value)                  { return tcu::Format::Enum<VkPipelineExecutableStatisticFormatKHR>(getPipelineExecutableStatisticFormatKHRName, 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);                                                                                                                       }
@@@ -219,7 -207,7 +221,8 @@@ inline std::ostream&       operator<<      (std::o
  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, VkDriverIdKHR value)                                                                          { return s << getDriverIdKHRStr(value);                                                                         }
 +inline std::ostream&  operator<<      (std::ostream& s, VkShaderFloatControlsIndependenceKHR value)                           { return s << getShaderFloatControlsIndependenceKHRStr(value);                          }
+ inline std::ostream&  operator<<      (std::ostream& s, VkPipelineExecutableStatisticFormatKHR value)                         { return s << getPipelineExecutableStatisticFormatKHRStr(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);                                                           }
@@@ -476,14 -463,13 +476,20 @@@ const char* getStructureTypeName (VkStr
                case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT:                                  return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT";
                case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT:                                    return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT";
                case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT:                                                                return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT";
 +              case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT:                                 return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT";
 +              case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT:                               return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT";
 +              case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT:                               return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT";
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT:                                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT";
 +              case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT:                                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT";
 +              case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT";
 +              case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT:                             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT";
 +              case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT:                   return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT";
+               case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR:             return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR";
+               case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR:                                                                                               return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR:                                                              return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR";
+               case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR:                                                                    return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR";
+               case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR:                                                               return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR";
+               case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR:                                 return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR";
                case VK_STRUCTURE_TYPE_MAX_ENUM:                                                                                                                return "VK_STRUCTURE_TYPE_MAX_ENUM";
                default:                                                                                                                                                                return DE_NULL;
        }
@@@ -1444,18 -1411,19 +1450,31 @@@ const char* getDriverIdKHRName (VkDrive
        }
  }
  
 +const char* getShaderFloatControlsIndependenceKHRName (VkShaderFloatControlsIndependenceKHR value)
 +{
 +      switch (value)
 +      {
 +              case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR:     return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR";
 +              case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR:                     return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR";
 +              case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR:            return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR";
 +              case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM_KHR:        return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM_KHR";
 +              default:                                                                                                        return DE_NULL;
 +      }
 +}
 +
+ const char* getPipelineExecutableStatisticFormatKHRName (VkPipelineExecutableStatisticFormatKHR value)
+ {
+       switch (value)
+       {
+               case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR:        return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR";
+               case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR:         return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR";
+               case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR:        return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR";
+               case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR:       return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR";
+               case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR:      return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR";
+               default:                                                                                                        return DE_NULL;
+       }
+ }
  const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value)
  {
        switch (value)
@@@ -513,14 -501,13 +513,20 @@@ typedef enum VkStructureType 
      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_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
 +    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
+     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
+     VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
      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,
index dd45008,8fd463f..94e1899
mode 100644,100755..100644
@@@ -510,14 -498,13 +510,20 @@@ typedef enum VkStructureType 
      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_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
 +    VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
 +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
+     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
+     VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
+     VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
      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,