macOS: Add macOS support

This commit is contained in:
Karl Schultz 2017-12-12 10:33:01 -05:00 committed by Mark Lobodzinski
parent 8dc4305370
commit 09e2a11785

View File

@ -44,12 +44,12 @@
#define CURRENT_LOADER_ICD_INTERFACE_VERSION 5 #define CURRENT_LOADER_ICD_INTERFACE_VERSION 5
#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0 #define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4 #define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
typedef VkResult (VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion); typedef VkResult(VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion);
// This is defined in vk_layer.h which will be found by the loader, but if an ICD is building against this // This is defined in vk_layer.h which will be found by the loader, but if an ICD is building against this
// file directly, it won't be found. // file directly, it won't be found.
#ifndef PFN_GetPhysicalDeviceProcAddr #ifndef PFN_GetPhysicalDeviceProcAddr
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName); typedef PFN_vkVoidFunction(VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName);
#endif #endif
/* /*
@ -85,6 +85,9 @@ typedef enum {
VK_ICD_WSI_PLATFORM_WIN32, VK_ICD_WSI_PLATFORM_WIN32,
VK_ICD_WSI_PLATFORM_XCB, VK_ICD_WSI_PLATFORM_XCB,
VK_ICD_WSI_PLATFORM_XLIB, VK_ICD_WSI_PLATFORM_XLIB,
VK_ICD_WSI_PLATFORM_ANDROID,
VK_ICD_WSI_PLATFORM_MACOS,
VK_ICD_WSI_PLATFORM_IOS,
VK_ICD_WSI_PLATFORM_DISPLAY VK_ICD_WSI_PLATFORM_DISPLAY
} VkIcdWsiPlatform; } VkIcdWsiPlatform;
@ -98,7 +101,7 @@ typedef struct {
MirConnection *connection; MirConnection *connection;
MirSurface *mirSurface; MirSurface *mirSurface;
} VkIcdSurfaceMir; } VkIcdSurfaceMir;
#endif // VK_USE_PLATFORM_MIR_KHR #endif // VK_USE_PLATFORM_MIR_KHR
#ifdef VK_USE_PLATFORM_WAYLAND_KHR #ifdef VK_USE_PLATFORM_WAYLAND_KHR
typedef struct { typedef struct {
@ -106,7 +109,7 @@ typedef struct {
struct wl_display *display; struct wl_display *display;
struct wl_surface *surface; struct wl_surface *surface;
} VkIcdSurfaceWayland; } VkIcdSurfaceWayland;
#endif // VK_USE_PLATFORM_WAYLAND_KHR #endif // VK_USE_PLATFORM_WAYLAND_KHR
#ifdef VK_USE_PLATFORM_WIN32_KHR #ifdef VK_USE_PLATFORM_WIN32_KHR
typedef struct { typedef struct {
@ -114,7 +117,7 @@ typedef struct {
HINSTANCE hinstance; HINSTANCE hinstance;
HWND hwnd; HWND hwnd;
} VkIcdSurfaceWin32; } VkIcdSurfaceWin32;
#endif // VK_USE_PLATFORM_WIN32_KHR #endif // VK_USE_PLATFORM_WIN32_KHR
#ifdef VK_USE_PLATFORM_XCB_KHR #ifdef VK_USE_PLATFORM_XCB_KHR
typedef struct { typedef struct {
@ -122,7 +125,7 @@ typedef struct {
xcb_connection_t *connection; xcb_connection_t *connection;
xcb_window_t window; xcb_window_t window;
} VkIcdSurfaceXcb; } VkIcdSurfaceXcb;
#endif // VK_USE_PLATFORM_XCB_KHR #endif // VK_USE_PLATFORM_XCB_KHR
#ifdef VK_USE_PLATFORM_XLIB_KHR #ifdef VK_USE_PLATFORM_XLIB_KHR
typedef struct { typedef struct {
@ -130,13 +133,28 @@ typedef struct {
Display *dpy; Display *dpy;
Window window; Window window;
} VkIcdSurfaceXlib; } VkIcdSurfaceXlib;
#endif // VK_USE_PLATFORM_XLIB_KHR #endif // VK_USE_PLATFORM_XLIB_KHR
#ifdef VK_USE_PLATFORM_ANDROID_KHR #ifdef VK_USE_PLATFORM_ANDROID_KHR
typedef struct { typedef struct {
ANativeWindow* window; VkIcdSurfaceBase base;
ANativeWindow *window;
} VkIcdSurfaceAndroid; } VkIcdSurfaceAndroid;
#endif //VK_USE_PLATFORM_ANDROID_KHR #endif // VK_USE_PLATFORM_ANDROID_KHR
#ifdef VK_USE_PLATFORM_MACOS_MVK
typedef struct {
VkIcdSurfaceBase base;
const void *pView;
} VkIcdSurfaceMacOS;
#endif // VK_USE_PLATFORM_MACOS_MVK
#ifdef VK_USE_PLATFORM_IOS_MVK
typedef struct {
VkIcdSurfaceBase base;
const void *pView;
} VkIcdSurfaceIOS;
#endif // VK_USE_PLATFORM_IOS_MVK
typedef struct { typedef struct {
VkIcdSurfaceBase base; VkIcdSurfaceBase base;
@ -149,4 +167,4 @@ typedef struct {
VkExtent2D imageExtent; VkExtent2D imageExtent;
} VkIcdSurfaceDisplay; } VkIcdSurfaceDisplay;
#endif // VKICD_H #endif // VKICD_H