Add Wayland support for Vulkan WSI
Bug: b/161736397
Change-Id: Ia795a1dcf201cc33027f520c0af8d5839d873af9
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46768
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Caramelli <caramelli.devel@gmail.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af07cf7..4d27165 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,6 +86,9 @@
find_library(X11 X11)
find_library(XCB xcb)
+if(SWIFTSHADER_BUILD_WSI_WAYLAND)
+ find_library(WAYLAND wayland-client)
+endif(SWIFTSHADER_BUILD_WSI_WAYLAND)
###########################################################
# Options
@@ -112,6 +115,7 @@
option_if_not_defined(SWIFTSHADER_BUILD_GLESv2 "Build the OpenGL ES 2 library" TRUE)
option_if_not_defined(SWIFTSHADER_BUILD_GLES_CM "Build the OpenGL ES 1.1 library" TRUE)
option_if_not_defined(SWIFTSHADER_BUILD_VULKAN "Build the Vulkan library" TRUE)
+option_if_not_defined(SWIFTSHADER_BUILD_WSI_WAYLAND "Build the Wayland WSI support" FALSE)
option_if_not_defined(SWIFTSHADER_BUILD_PVR "Build the PowerVR examples" TRUE)
option_if_not_defined(SWIFTSHADER_GET_PVR "Check out the PowerVR submodule" FALSE)
@@ -627,6 +631,9 @@
set(OS_LIBS odbc32 odbccp32 WS2_32 dxguid)
elseif(LINUX)
set(OS_LIBS dl pthread)
+ if(SWIFTSHADER_BUILD_WSI_WAYLAND)
+ list(APPEND OS_LIBS "${WAYLAND}")
+ endif(SWIFTSHADER_BUILD_WSI_WAYLAND)
elseif(FUCHSIA)
set(OS_LIBS zircon)
elseif(APPLE)
@@ -707,6 +714,11 @@
if(XCB)
target_compile_definitions(vk_base INTERFACE "VK_USE_PLATFORM_XCB_KHR")
endif()
+ if(SWIFTSHADER_BUILD_WSI_WAYLAND)
+ if(WAYLAND)
+ target_compile_definitions(vk_base INTERFACE "VK_USE_PLATFORM_WAYLAND_KHR")
+ endif()
+ endif(SWIFTSHADER_BUILD_WSI_WAYLAND)
elseif(APPLE)
target_compile_definitions(vk_base INTERFACE "VK_USE_PLATFORM_MACOS_MVK")
elseif(FUCHSIA)