1 diff -dur vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/CMakeLists.txt vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/CMakeLists.txt
2 --- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/CMakeLists.txt 2016-03-02 19:22:28.256866043 +0100
3 +++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/CMakeLists.txt 2016-03-02 21:25:25.331130657 +0100
5 add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR)
6 set(DisplayServer Android)
7 elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
8 - add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
9 - set(DisplayServer Xcb)
10 + # TODO: Basic support is present for Xlib but is untested.
11 + # Mir support is stubbed in but unimplemented and untested.
12 + option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
13 + option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" OFF)
14 + option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" OFF)
15 + option(BUILD_WSI_MIR_SUPPORT "Build Mir WSI support" OFF)
17 -# TODO: Basic support is present for Xlib but is untested.
18 -# Wayland/Mir support is stubbed in but unimplemented and untested.
19 + set(DisplayServer Xcb)
21 -# add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
22 -# set(DisplayServer Xlib)
23 + if (BUILD_WSI_XCB_SUPPORT)
24 + add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
27 -# add_definitions(-DVK_USE_PLATFORM_MIR_KHR)
28 -# set(DisplayServer Mir)
29 + if (BUILD_WSI_XLIB_SUPPORT)
30 + add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
33 -# add_definitions(-DVK_USEPLATFORM_WAYLAND_KHR)
34 -# set(DisplayServer Wayland)
35 + if (BUILD_WSI_WAYLAND_SUPPORT)
36 + add_definitions(-DVK_USE_PLATFORM_WAYLAND_KHR)
39 + if (BUILD_WSI_MIR_SUPPORT)
40 + add_definitions(-DVK_USE_PLATFORM_MIR_KHR)
43 message(FATAL_ERROR "Unsupported Platform!")
45 diff -dur vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/swapchain.cpp vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/swapchain.cpp
46 --- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/layers/swapchain.cpp 2016-02-22 22:02:54.000000000 +0100
47 +++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/layers/swapchain.cpp 2016-03-02 21:25:25.334464012 +0100
50 my_data->instanceMap[instance].androidSurfaceExtensionEnabled =
53 #endif // VK_USE_PLATFORM_ANDROID_KHR
54 #ifdef VK_USE_PLATFORM_MIR_KHR
55 if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
58 my_data->instanceMap[instance].mirSurfaceExtensionEnabled =
61 #endif // VK_USE_PLATFORM_MIR_KHR
62 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
63 if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
66 my_data->instanceMap[instance]
67 .waylandSurfaceExtensionEnabled = true;
69 #endif // VK_USE_PLATFORM_WAYLAND_KHR
70 #ifdef VK_USE_PLATFORM_WIN32_KHR
71 if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
74 my_data->instanceMap[instance]
75 .win32SurfaceExtensionEnabled = true;
77 #endif // VK_USE_PLATFORM_WIN32_KHR
78 #ifdef VK_USE_PLATFORM_XCB_KHR
79 if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
82 my_data->instanceMap[instance]
83 .xcbSurfaceExtensionEnabled = true;
85 #endif // VK_USE_PLATFORM_XCB_KHR
86 #ifdef VK_USE_PLATFORM_XLIB_KHR
87 if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
90 my_data->instanceMap[instance]
91 .xlibSurfaceExtensionEnabled = true;
92 -#endif // VK_USE_PLATFORM_XLIB_KHR
94 +#endif // VK_USE_PLATFORM_XLIB_KHR
98 diff -dur vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/loader/loader.c vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/loader/loader.c
99 --- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/loader/loader.c 2016-02-22 22:02:54.000000000 +0100
100 +++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/loader/loader.c 2016-03-02 21:25:25.334464012 +0100
101 @@ -1386,6 +1386,9 @@
102 #ifdef VK_USE_PLATFORM_XCB_KHR
103 LOOKUP_GIPA(GetPhysicalDeviceXcbPresentationSupportKHR, false);
105 +#ifdef VK_USE_PLATFORM_WAYLAND_KHR
106 + LOOKUP_GIPA(GetPhysicalDeviceWaylandPresentationSupportKHR, false);
111 diff -dur vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/loader/wsi.c vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/loader/wsi.c
112 --- vulkan-sdk-1.0.3.0.orig/Vulkan-LoaderAndValidationLayers/loader/wsi.c 2016-02-22 22:02:54.000000000 +0100
113 +++ vulkan-sdk-1.0.3.0/Vulkan-LoaderAndValidationLayers/loader/wsi.c 2016-03-02 21:25:25.334464012 +0100
116 LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
117 vkCreateWaylandSurfaceKHR(VkInstance instance,
118 - const VkMirSurfaceCreateInfoKHR *pCreateInfo,
119 + const VkWaylandSurfaceCreateInfoKHR *pCreateInfo,
120 const VkAllocationCallbacks *pAllocator,
121 VkSurfaceKHR *pSurface) {
122 const VkLayerInstanceDispatchTable *disp;
125 VKAPI_ATTR VkResult VKAPI_CALL
126 loader_CreateWaylandSurfaceKHR(VkInstance instance,
127 - const VkMirSurfaceCreateInfoKHR *pCreateInfo,
128 + const VkWaylandSurfaceCreateInfoKHR *pCreateInfo,
129 const VkAllocationCallbacks *pAllocator,
130 VkSurfaceKHR *pSurface) {
131 struct loader_instance *ptr_instance = loader_get_instance(instance);
132 @@ -1021,6 +1021,7 @@
133 ? (void *)vkGetPhysicalDeviceMirPresentationSupportKHR
137 #endif // VK_USE_PLATFORM_MIR_KHR
138 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
140 @@ -1038,6 +1039,7 @@
141 ? (void *)vkGetPhysicalDeviceWaylandPresentationSupportKHR
145 #endif // VK_USE_PLATFORM_WAYLAND_KHR
146 #ifdef VK_USE_PLATFORM_XCB_KHR