Refactor X11 and wayland platforms to run alongside each other
authorSlawomir Cygan <slawomir.cygan@intel.com>
Wed, 11 Jan 2017 16:17:11 +0000 (17:17 +0100)
committerPyry Haulos <phaulos@google.com>
Mon, 22 May 2017 19:32:26 +0000 (15:32 -0400)
commitb9dd117ad3e52b929c4ee7c3e5d20442ab42b274
tree85fd4d620c4006244f92ce622439da5ee1ffb08c
parent1872fd5ceb9cfd131db5669ab5f9147fbf560103
Refactor X11 and wayland platforms to run alongside each other

This adds a capability for running Vulkan WSI ane EGL tests on both
X11 and wayland compositors from one binary built in 'default' target.

The change replaces X11 & wayland tcu::Platform-s with one common
'linux' platform, that is parametrized by DEQP_SUPPORT_
(X11|GLX|XCB|WAYLAND) at compile time.

This new platform supports creating WSI displays and EGL contexts
for each of compositors enabled at build-time. To choose EGL compositor
use --deqp-egl-display-type=x11 or Wayland.

No functional change is made to 'wayland' target: it is still possible
to build Wayland-only binary using that target.

VK-GL-CTS issue: 83
Components: Framework
Affects: dEQP-VK.wsi.* and all tests using EGL.

Change-Id: I1d8725d1329e1071ac545f765c374d2d7d5a29df
27 files changed:
framework/platform/CMakeLists.txt
framework/platform/lnx/X11/tcuLnxX11.cpp [moved from framework/platform/X11/tcuX11.cpp with 95% similarity]
framework/platform/lnx/X11/tcuLnxX11.hpp [moved from framework/platform/X11/tcuX11.hpp with 87% similarity]
framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp [moved from framework/platform/X11/tcuX11EglPlatform.cpp with 96% similarity]
framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.hpp [new file with mode: 0644]
framework/platform/lnx/X11/tcuLnxX11GlxPlatform.cpp [moved from framework/platform/X11/tcuX11GlxPlatform.cpp with 99% similarity]
framework/platform/lnx/X11/tcuLnxX11GlxPlatform.hpp [moved from framework/platform/X11/tcuX11GlxPlatform.hpp with 88% similarity]
framework/platform/lnx/X11/tcuLnxX11Xcb.cpp [moved from framework/platform/X11/tcuX11Xcb.cpp with 98% similarity]
framework/platform/lnx/X11/tcuLnxX11Xcb.hpp [moved from framework/platform/X11/tcuX11Xcb.hpp with 94% similarity]
framework/platform/lnx/tcuLnx.cpp [new file with mode: 0644]
framework/platform/lnx/tcuLnx.hpp [moved from framework/platform/wayland/tcuWaylandEglPlatform.hpp with 56% similarity]
framework/platform/lnx/tcuLnxEglPlatform.cpp [new file with mode: 0644]
framework/platform/lnx/tcuLnxEglPlatform.hpp [moved from framework/platform/X11/tcuX11EglPlatform.hpp with 83% similarity]
framework/platform/lnx/tcuLnxPlatform.cpp [moved from framework/platform/X11/tcuX11Platform.cpp with 70% similarity]
framework/platform/lnx/tcuLnxPlatform.hpp [moved from framework/platform/X11/tcuX11Platform.hpp with 84% similarity]
framework/platform/lnx/tcuLnxVulkanPlatform.cpp [moved from framework/platform/X11/tcuX11VulkanPlatform.cpp with 53% similarity]
framework/platform/lnx/tcuLnxVulkanPlatform.hpp [moved from framework/platform/X11/tcuX11VulkanPlatform.hpp with 87% similarity]
framework/platform/lnx/wayland/tcuLnxWayland.cpp [moved from framework/platform/wayland/tcuWayland.cpp with 94% similarity]
framework/platform/lnx/wayland/tcuLnxWayland.hpp [moved from framework/platform/wayland/tcuWayland.hpp with 86% similarity]
framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp [moved from framework/platform/wayland/tcuWaylandEglPlatform.cpp with 94% similarity]
framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.hpp [moved from framework/platform/wayland/tcuWaylandPlatform.hpp with 70% similarity]
framework/platform/wayland/tcuWaylandPlatform.cpp [deleted file]
framework/platform/wayland/tcuWaylandVulkanPlatform.cpp [deleted file]
framework/platform/wayland/tcuWaylandVulkanPlatform.hpp [deleted file]
targets/default/FindWayland.cmake [moved from targets/wayland/FindWayland.cmake with 100% similarity]
targets/default/default.cmake
targets/wayland/wayland.cmake