44#define CURRENT_LOADER_ICD_INTERFACE_VERSION 5
45#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
46#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
51#ifndef PFN_GetPhysicalDeviceProcAddr
61#define ICD_LOADER_MAGIC 0x01CDC0DE
98#ifdef VK_USE_PLATFORM_MIR_KHR
101 MirConnection *connection;
102 MirSurface *mirSurface;
106#ifdef VK_USE_PLATFORM_WAYLAND_KHR
109 struct wl_display *display;
111} VkIcdSurfaceWayland;
114#ifdef VK_USE_PLATFORM_WIN32_KHR
122#ifdef VK_USE_PLATFORM_XCB_KHR
125 xcb_connection_t *connection;
130#ifdef VK_USE_PLATFORM_XLIB_KHR
138#ifdef VK_USE_PLATFORM_ANDROID_KHR
141 struct ANativeWindow *
window;
142} VkIcdSurfaceAndroid;
145#ifdef VK_USE_PLATFORM_MACOS_MVK
152#ifdef VK_USE_PLATFORM_IOS_MVK
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display dpy)
EGLSurface EGLNativeWindowType * window
VkIcdWsiPlatform platform
VkDisplayPlaneAlphaFlagBitsKHR alphaMode
VkSurfaceTransformFlagBitsKHR transform
VkDisplayModeKHR displayMode
VkResult(VKAPI_PTR * PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion)
static bool valid_loader_magic_value(void *pNewObject)
PFN_vkVoidFunction(VKAPI_PTR * PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName)
static void set_loader_magic_value(void *pNewObject)
@ VK_ICD_WSI_PLATFORM_MACOS
@ VK_ICD_WSI_PLATFORM_DISPLAY
@ VK_ICD_WSI_PLATFORM_WAYLAND
@ VK_ICD_WSI_PLATFORM_XCB
@ VK_ICD_WSI_PLATFORM_XLIB
@ VK_ICD_WSI_PLATFORM_WIN32
@ VK_ICD_WSI_PLATFORM_MIR
@ VK_ICD_WSI_PLATFORM_IOS
@ VK_ICD_WSI_PLATFORM_ANDROID
VkDisplayPlaneAlphaFlagBitsKHR
VkSurfaceTransformFlagBitsKHR
void(VKAPI_PTR * PFN_vkVoidFunction)(void)