/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 */
DestroyInstanceFunc										destroyInstance;
EnumeratePhysicalDevicesFunc							enumeratePhysicalDevices;
GetPhysicalDeviceFeaturesFunc							getPhysicalDeviceFeatures;
GetPhysicalDeviceFormatPropertiesFunc					getPhysicalDeviceFormatProperties;
GetPhysicalDeviceImageFormatPropertiesFunc				getPhysicalDeviceImageFormatProperties;
GetPhysicalDevicePropertiesFunc							getPhysicalDeviceProperties;
GetPhysicalDeviceQueueFamilyPropertiesFunc				getPhysicalDeviceQueueFamilyProperties;
GetPhysicalDeviceMemoryPropertiesFunc					getPhysicalDeviceMemoryProperties;
GetDeviceProcAddrFunc									getDeviceProcAddr;
CreateDeviceFunc										createDevice;
EnumerateDeviceExtensionPropertiesFunc					enumerateDeviceExtensionProperties;
EnumerateDeviceLayerPropertiesFunc						enumerateDeviceLayerProperties;
GetPhysicalDeviceSparseImageFormatPropertiesFunc		getPhysicalDeviceSparseImageFormatProperties;
EnumeratePhysicalDeviceGroupsFunc						enumeratePhysicalDeviceGroups;
GetPhysicalDeviceFeatures2Func							getPhysicalDeviceFeatures2;
GetPhysicalDeviceProperties2Func						getPhysicalDeviceProperties2;
GetPhysicalDeviceFormatProperties2Func					getPhysicalDeviceFormatProperties2;
GetPhysicalDeviceImageFormatProperties2Func				getPhysicalDeviceImageFormatProperties2;
GetPhysicalDeviceQueueFamilyProperties2Func				getPhysicalDeviceQueueFamilyProperties2;
GetPhysicalDeviceMemoryProperties2Func					getPhysicalDeviceMemoryProperties2;
GetPhysicalDeviceSparseImageFormatProperties2Func		getPhysicalDeviceSparseImageFormatProperties2;
GetPhysicalDeviceExternalBufferPropertiesFunc			getPhysicalDeviceExternalBufferProperties;
GetPhysicalDeviceExternalFencePropertiesFunc			getPhysicalDeviceExternalFenceProperties;
GetPhysicalDeviceExternalSemaphorePropertiesFunc		getPhysicalDeviceExternalSemaphoreProperties;
DestroySurfaceKHRFunc									destroySurfaceKHR;
GetPhysicalDeviceSurfaceSupportKHRFunc					getPhysicalDeviceSurfaceSupportKHR;
GetPhysicalDeviceSurfaceCapabilitiesKHRFunc				getPhysicalDeviceSurfaceCapabilitiesKHR;
GetPhysicalDeviceSurfaceFormatsKHRFunc					getPhysicalDeviceSurfaceFormatsKHR;
GetPhysicalDeviceSurfacePresentModesKHRFunc				getPhysicalDeviceSurfacePresentModesKHR;
GetPhysicalDevicePresentRectanglesKHRFunc				getPhysicalDevicePresentRectanglesKHR;
GetPhysicalDeviceDisplayPropertiesKHRFunc				getPhysicalDeviceDisplayPropertiesKHR;
GetPhysicalDeviceDisplayPlanePropertiesKHRFunc			getPhysicalDeviceDisplayPlanePropertiesKHR;
GetDisplayPlaneSupportedDisplaysKHRFunc					getDisplayPlaneSupportedDisplaysKHR;
GetDisplayModePropertiesKHRFunc							getDisplayModePropertiesKHR;
CreateDisplayModeKHRFunc								createDisplayModeKHR;
GetDisplayPlaneCapabilitiesKHRFunc						getDisplayPlaneCapabilitiesKHR;
CreateDisplayPlaneSurfaceKHRFunc						createDisplayPlaneSurfaceKHR;
CreateXlibSurfaceKHRFunc								createXlibSurfaceKHR;
GetPhysicalDeviceXlibPresentationSupportKHRFunc			getPhysicalDeviceXlibPresentationSupportKHR;
CreateXcbSurfaceKHRFunc									createXcbSurfaceKHR;
GetPhysicalDeviceXcbPresentationSupportKHRFunc			getPhysicalDeviceXcbPresentationSupportKHR;
CreateWaylandSurfaceKHRFunc								createWaylandSurfaceKHR;
GetPhysicalDeviceWaylandPresentationSupportKHRFunc		getPhysicalDeviceWaylandPresentationSupportKHR;
CreateMirSurfaceKHRFunc									createMirSurfaceKHR;
GetPhysicalDeviceMirPresentationSupportKHRFunc			getPhysicalDeviceMirPresentationSupportKHR;
CreateAndroidSurfaceKHRFunc								createAndroidSurfaceKHR;
CreateWin32SurfaceKHRFunc								createWin32SurfaceKHR;
GetPhysicalDeviceWin32PresentationSupportKHRFunc		getPhysicalDeviceWin32PresentationSupportKHR;
GetPhysicalDeviceFeatures2KHRFunc						getPhysicalDeviceFeatures2KHR;
GetPhysicalDeviceFormatProperties2KHRFunc				getPhysicalDeviceFormatProperties2KHR;
GetPhysicalDeviceImageFormatProperties2KHRFunc			getPhysicalDeviceImageFormatProperties2KHR;
GetPhysicalDeviceMemoryProperties2KHRFunc				getPhysicalDeviceMemoryProperties2KHR;
GetPhysicalDeviceProperties2KHRFunc						getPhysicalDeviceProperties2KHR;
GetPhysicalDeviceQueueFamilyProperties2KHRFunc			getPhysicalDeviceQueueFamilyProperties2KHR;
GetPhysicalDeviceSparseImageFormatProperties2KHRFunc	getPhysicalDeviceSparseImageFormatProperties2KHR;
GetPhysicalDeviceExternalBufferPropertiesKHRFunc		getPhysicalDeviceExternalBufferPropertiesKHR;
GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc		getPhysicalDeviceExternalSemaphorePropertiesKHR;
GetPhysicalDeviceExternalFencePropertiesKHRFunc			getPhysicalDeviceExternalFencePropertiesKHR;
GetPhysicalDeviceSurfaceCapabilities2KHRFunc			getPhysicalDeviceSurfaceCapabilities2KHR;
GetPhysicalDeviceSurfaceFormats2KHRFunc					getPhysicalDeviceSurfaceFormats2KHR;
CreateDebugReportCallbackEXTFunc						createDebugReportCallbackEXT;
DestroyDebugReportCallbackEXTFunc						destroyDebugReportCallbackEXT;
DebugReportMessageEXTFunc								debugReportMessageEXT;
GetPhysicalDeviceExternalImageFormatPropertiesNVFunc	getPhysicalDeviceExternalImageFormatPropertiesNV;
CreateViSurfaceNNFunc									createViSurfaceNN;
GetPhysicalDeviceGeneratedCommandsPropertiesNVXFunc		getPhysicalDeviceGeneratedCommandsPropertiesNVX;
ReleaseDisplayEXTFunc									releaseDisplayEXT;
AcquireXlibDisplayEXTFunc								acquireXlibDisplayEXT;
GetRandROutputDisplayEXTFunc							getRandROutputDisplayEXT;
GetPhysicalDeviceSurfaceCapabilities2EXTFunc			getPhysicalDeviceSurfaceCapabilities2EXT;
CreateIOSSurfaceMVKFunc									createIOSSurfaceMVK;
CreateMacOSSurfaceMVKFunc								createMacOSSurfaceMVK;
GetPhysicalDeviceMultisamplePropertiesEXTFunc			getPhysicalDeviceMultisamplePropertiesEXT;
GetPhysicalDeviceAndroidHardwareBufferUsageANDROIDFunc	getPhysicalDeviceAndroidHardwareBufferUsageANDROID;
