fi
AC_SUBST(GCC_CFLAGS)
-# Vulkan platform Wayland
-AC_ARG_ENABLE(wayland,
- AC_HELP_STRING([--enable-wayland], [Enable wayland WSI functions]),
- enable_wayland=$enableval,
- enable_wayland=no)
-
-if test x$enable_wayland = xyes; then
- PKG_CHECK_MODULES(WAYLAND, [wayland-client])
- AC_DEFINE([VK_USE_PLATFORM_WAYLAND_KHR], [1], [Enable wayland WSI functions])
-fi
-
-AM_CONDITIONAL(ENABLE_WAYLAND, test x$enable_wayland = xyes)
-
-# Vulkan platform XLIB
-AC_ARG_ENABLE(x11,
- AC_HELP_STRING([--enable-x11], [Enable X11 WSI functions]),
- enable_x11=$enableval,
- enable_x11=no)
-
-if test x$enable_x11 = xyes; then
- PKG_CHECK_MODULES(X11, [x11])
- AC_DEFINE([VK_USE_PLATFORM_XLIB_KHR], [1], [Enable X11 WSI functions])
-fi
-
-AM_CONDITIONAL(ENABLE_X11, test x$enable_x11 = xyes)
-
-# Vulkan platform XCB
-AC_ARG_ENABLE(xcb,
- AC_HELP_STRING([--enable-xcb], [Enable XCB WSI functions]),
- enable_xcb=$enableval,
- enable_xcb=no)
-
-if test x$enable_xcb = xyes; then
- PKG_CHECK_MODULES(XCB, [xcb])
- AC_DEFINE([VK_USE_PLATFORM_XCB_KHR], [1], [Enable XCB WSI functions])
-fi
-
-AM_CONDITIONAL(ENABLE_XCB, test x$enable_xcb = xyes)
+PKG_CHECK_MODULES(WAYLAND, [wayland-client])
+AC_DEFINE([VK_USE_PLATFORM_WAYLAND_KHR], [1], [Enable wayland WSI functions])
PKG_CHECK_MODULES(TPL, [tpl-egl])
PKG_CHECK_MODULES(TBM, [libtbm])
%setup -q
%build
-%autogen --enable-wayland
+%autogen
make %{?_smp_mflags}
%install
VK_ENTRY_POINT(GetDisplayPlaneCapabilitiesKHR, INSTANCE),
VK_ENTRY_POINT(CreateDisplayPlaneSurfaceKHR, INSTANCE),
VK_ENTRY_POINT(CreateSharedSwapchainsKHR, DEVICE),
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
- VK_ENTRY_POINT(CreateXlibSurfaceKHR,INSTANCE),
- VK_ENTRY_POINT(GetPhysicalDeviceXlibPresentationSupportKHR,INSTANCE),
-#endif
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
- VK_ENTRY_POINT(CreateXcbSurfaceKHR,INSTANCE),
- VK_ENTRY_POINT(GetPhysicalDeviceXcbPresentationSupportKHR,INSTANCE),
-#endif
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
VK_ENTRY_POINT(CreateWaylandSurfaceKHR,INSTANCE),
VK_ENTRY_POINT(GetPhysicalDeviceWaylandPresentationSupportKHR,INSTANCE),
-#endif
-
VK_ENTRY_POINT(GetInstanceProcAddr, INSTANCE),
VK_ENTRY_POINT(GetDeviceProcAddr, DEVICE),
};
static const VkExtensionProperties global_extensions[] = {
{ VK_KHR_SURFACE_EXTENSION_NAME, 25 },
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
- { VK_KHR_XLIB_SURFACE_EXTENSION_NAME, 4 },
-#endif
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
- { VK_KHR_XCB_SURFACE_EXTENSION_NAME, 4 },
-#endif
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
{ VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME, 4 },
-#endif
};
static void __attribute__((constructor))
vk_free(&sfc->allocator, sfc);
}
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-VKAPI_ATTR VkResult VKAPI_CALL
-vk_CreateXlibSurfaceKHR(VkInstance instance,
- const VkXlibSurfaceCreateInfoKHR *info,
- const VkAllocationCallbacks *allocator,
- VkSurfaceKHR *surface)
-{
- vk_surface_t *sfc;
-
- allocator = vk_get_allocator(instance, allocator);
-
- sfc = vk_alloc(allocator, sizeof(vk_surface_t), VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
- VK_CHECK(sfc, return VK_ERROR_OUT_OF_HOST_MEMORY, "vk_alloc() failed.\n");
-
- sfc->allocator = *allocator;
- sfc->platform.base.platform = VK_ICD_WSI_PLATFORM_XLIB;
- sfc->platform.xlib.dpy = info->dpy;
- sfc->platform.xlib.window = info->window;
-
- *surface = (VkSurfaceKHR)sfc;
-
- /* TODO: */
-
- return VK_SUCCESS;
-}
-
-VKAPI_ATTR VkBool32 VKAPI_CALL
-vk_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice pdev,
- uint32_t queue_family_index,
- Display *dpy,
- VisualID visual_id)
-{
- /* TODO: */
- return VK_TRUE;
-}
-#endif
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-VKAPI_ATTR VkResult VKAPI_CALL
-vk_CreateXcbSurfaceKHR(VkInstance instance,
- const VkXcbSurfaceCreateInfoKHR *info,
- const VkAllocationCallbacks *allocator,
- VkSurfaceKHR *surface)
-{
- vk_surface_t *sfc;
-
- allocator = vk_get_allocator(instance, allocator);
-
- sfc = vk_alloc(allocator, sizeof(vk_surface_t), VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
- VK_CHECK(sfc, return VK_ERROR_OUT_OF_HOST_MEMORY, "vk_alloc() failed.\n");
-
- sfc->allocator = *allocator;
- sfc->platform.base.platform = VK_ICD_WSI_PLATFORM_XCB;
- sfc->platform.xcb.connection = info->connection;
- sfc->platform.xcb.window = info->window;
-
- *surface = (VkSurfaceKHR)sfc;
-
- /* TODO: */
-
- return VK_SUCCESS;
-}
-
-VKAPI_ATTR VkBool32 VKAPI_CALL
-vk_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice pdev,
- uint32_t queue_family_index,
- xcb_connection_t *connection,
- xcb_visualid_t visual_id)
-{
- /* TODO: */
- return VK_TRUE;
-}
-#endif
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
VKAPI_ATTR VkResult VKAPI_CALL
vk_CreateWaylandSurfaceKHR(VkInstance instance,
const VkWaylandSurfaceCreateInfoKHR *info,
/* TODO: */
return VK_TRUE;
}
-#endif
VKAPI_ATTR VkResult VKAPI_CALL
vk_CreateDisplayPlaneSurfaceKHR(VkInstance instance,
union {
VkIcdSurfaceBase base;
VkIcdSurfaceDisplay display;
-
-#ifdef VK_USE_PLATFORM_XLIB_KHR
- VkIcdSurfaceXlib xlib;
-#endif
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
- VkIcdSurfaceXcb xcb;
-#endif
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
VkIcdSurfaceWayland wayland;
-#endif
} platform;
VkAllocationCallbacks allocator;
const VkSwapchainCreateInfoKHR *infos,
const VkAllocationCallbacks *allocator, VkSwapchainKHR *swapchains);
-#ifdef VK_USE_PLATFORM_XLIB_KHR
-VKAPI_ATTR VkResult VKAPI_CALL
-vk_CreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR *info,
- const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface);
-
-VKAPI_ATTR VkBool32 VKAPI_CALL
-vk_GetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice pdev, uint32_t queue_family_index,
- Display *dpy, VisualID visual_id);
-#endif
-
-#ifdef VK_USE_PLATFORM_XCB_KHR
-VKAPI_ATTR VkResult VKAPI_CALL
-vk_CreateXcbSurfaceKHR(VkInstance instance, const VkXcbSurfaceCreateInfoKHR *info,
- const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface);
-
-VKAPI_ATTR VkBool32 VKAPI_CALL
-vk_GetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice pdev, uint32_t queue_family_index,
- xcb_connection_t *connection,
- xcb_visualid_t visual_id);
-#endif
-
-#ifdef VK_USE_PLATFORM_WAYLAND_KHR
VKAPI_ATTR VkResult VKAPI_CALL
vk_CreateWaylandSurfaceKHR(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR *info,
const VkAllocationCallbacks *allocator, VkSurfaceKHR *surface);
vk_GetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice pdev,
uint32_t queue_family_index,
struct wl_display *display);
-#endif
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL
vk_GetInstanceProcAddr(VkInstance instance, const char *name);