Making test-render-surface.cpp/h common across repos 53/313553/8
authorDavid Steele <david.steele@samsung.com>
Thu, 27 Jun 2024 17:13:14 +0000 (18:13 +0100)
committerDavid Steele <david.steele@samsung.com>
Mon, 8 Jul 2024 10:07:51 +0000 (11:07 +0100)
Change-Id: I886d41ded42036c10c5f614bed2ff6fe09a086a9

25 files changed:
automated-tests/CMakeLists.txt
automated-tests/src/dali-adaptor-internal/CMakeLists.txt
automated-tests/src/dali-adaptor/CMakeLists.txt
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-render-surface.h
automated-tests/src/dali-egl-graphics/CMakeLists.txt
automated-tests/src/dali-platform-abstraction/CMakeLists.txt
build/tizen/profiles/libuv-x11-profile.cmake
dali/internal/graphics/gles/egl-graphics.cpp
dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp
dali/internal/imaging/file.list
dali/internal/window-system/android/display-connection-impl-android.cpp
dali/internal/window-system/android/display-connection-impl-android.h
dali/internal/window-system/common/display-connection-impl.h
dali/internal/window-system/common/display-connection.cpp
dali/internal/window-system/common/display-connection.h
dali/internal/window-system/macos/display-connection-impl-mac.cpp
dali/internal/window-system/macos/display-connection-impl-mac.h
dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h
dali/internal/window-system/ubuntu-x11/display-connection-impl-x.cpp
dali/internal/window-system/ubuntu-x11/display-connection-impl-x.h
dali/internal/window-system/windows/display-connection-impl-win.cpp
dali/internal/window-system/windows/display-connection-impl-win.h
dali/internal/window-system/x11/display-connection-impl-x.cpp
dali/internal/window-system/x11/display-connection-impl-x.h

index b9d7387e95cb0104232e9437abbf397d76dff5b0..e5313a4fc2ea8633555a6dd10f703cba093bbe08 100644 (file)
@@ -8,7 +8,7 @@ PROJECT(tct_coreapi_utc)
 INCLUDE(FindPkgConfig)
 SET(BIN_DIR "/opt/usr/bin")
 
-OPTION(ENABLE_VULKAN "Whether to build tests for vulkan or gl" ON)
+OPTION(ENABLE_VULKAN "Whether to build tests for vulkan or gl" OFF)
 
 INCLUDE_DIRECTORIES(
        src/common
index a9424bd2a60200de744953161571bb2b39df7360..d9b980a92324b9dcd5f5c461727cdf8cb43e4689 100644 (file)
@@ -86,6 +86,7 @@ ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
 INCLUDE_DIRECTORIES(
     ../../../
     ../../../third-party/image-resampler
+  ../../../dali/integration-api/adaptor-framework
     ${${CAPI_LIB}_INCLUDE_DIRS}
     ../dali-adaptor/dali-test-suite-utils
 )
index 7dbf4ecf3c619ae996960491d0d04c287ec8d61a..b6d00f163d80d293668081757d606611525617a7 100644 (file)
@@ -82,9 +82,10 @@ FOREACH(directory ${${CAPI_LIB}_LIBRARY_DIRS})
 ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
 
 INCLUDE_DIRECTORIES(
-    ../../../
-    ${${CAPI_LIB}_INCLUDE_DIRS}
-    dali-test-suite-utils
+  ../../../
+  ../../../dali/integration-api/adaptor-framework
+  ${${CAPI_LIB}_INCLUDE_DIRS}
+  dali-test-suite-utils
 )
 
 ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.cpp ${TC_SOURCES})
index f310f4f98b5a9974bc8e749c8092d55fe26d4246..b0f7a9424989a255386d6626744a5a7ebe96ff88 100644 (file)
@@ -19,8 +19,7 @@
  */
 
 // INTERNAL INCLUDES
-#include <dali/integration-api/adaptor-framework/render-surface-interface.h>
-#include <dali/public-api/common/dali-common.h>
+#include "render-surface-interface.h"
 
 namespace Dali
 {
index 330aba8059356caf395a0b7bcdfb690c688999e2..a88b53d8a6349b53e9e6cc12840a33897ac610d1 100644 (file)
@@ -58,6 +58,7 @@ ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
 
 INCLUDE_DIRECTORIES(
   ../../../
+  ../../../dali/integration-api/adaptor-framework
   ${${CAPI_LIB}_INCLUDE_DIRS}
   ../dali-adaptor/dali-test-suite-utils
 )
index 48d0d81b241a30c375acc1fb9fc4ae1aa67fbb45..3efc792edd0b569e9e6afa0337e99df1b3d48449 100644 (file)
@@ -56,9 +56,7 @@ ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
 
 INCLUDE_DIRECTORIES(
     ../../../
-    ../../../adaptors/tizen
-    ../../../platform-abstractions/tizen
-    ../../../third-party/image-resampler
+    ../../../dali/integration-api/adaptor-framework
     ${${CAPI_LIB}_INCLUDE_DIRS}
     ../dali-adaptor/dali-test-suite-utils
     /usr/include/freetype2
index 8c86ca4d0a2b4ffaeafa0fef13c7efb4ba9f63dc..858db112f30fbf1981e8f05039c615ca369807c7 100644 (file)
@@ -51,20 +51,21 @@ IF( ENABLE_VULKAN )
   SET(SOURCES ${SOURCES}
     ${graphics_vulkan_src_files}
     ${graphics_vulkan_x11_src_files}
+    ${adaptor_imaging_x11_src_files}
     )
 ELSE()
   SET(SOURCES ${SOURCES}
     ${adaptor_public_api_egl_src_files}
+
     ${devel_api_egl_src_files}
 
     ${adaptor_graphics_gles_src_files}
     ${adaptor_graphics_ubuntu_src_files}
 
-    ${adaptor_imaging_ubuntu_x11_egl_src_files}
-    ${adaptor_system_common_egl_src_files}
-    ${adaptor_window_system_common_egl_src_files}
+    ${adaptor_imaging_x11_egl_src_files}
 
     ${adaptor_system_common_egl_src_files}
+
     ${adaptor_window_system_x11_egl_src_files}
     ${adaptor_window_system_common_egl_src_files}
   )
index 975b37f2bcd07b40d75858b1f41607f44ae8410c..8bb67ef30085fa2de3e9da9dd9522885821abaa2 100644 (file)
@@ -27,8 +27,6 @@
 #include <dali/internal/window-system/common/display-utils.h> // For Utils::MakeUnique
 #include <dali/internal/window-system/common/window-base.h>
 
-#include <X11/Xlib.h>
-
 namespace Dali
 {
 namespace Internal
@@ -173,10 +171,8 @@ void EglGraphics::Initialize(const Dali::DisplayConnection& displayConnection, b
 
 void EglGraphics::InitializeGraphicsAPI(const Dali::DisplayConnection& displayConnection)
 {
-  // Bad name - it does call "eglInitialize"!!!! @todo Rename me!
-  auto display    = displayConnection.GetDisplay();
-  auto x11Display = display.Get<::Display*>();
-  auto eglDisplay = static_cast<EGLNativeDisplayType>(x11Display);
+  auto display    = displayConnection.GetNativeGraphicsDisplay();
+  auto eglDisplay = display.Get<EGLNativeDisplayType>();
   mEglImplementation->InitializeGles(eglDisplay);
 }
 
index 4e351bc0f8c098da5cc3026dbaddda9f9956bb59..22133a8016fc613ebcc6a71cd0cb389d5d3a9863 100644 (file)
@@ -63,8 +63,8 @@ void VulkanGraphics::Initialize(const Dali::DisplayConnection& displayConnection
 
 void VulkanGraphics::InitializeGraphicsAPI(const Dali::DisplayConnection& displayConnection)
 {
-  // Pass native X11 display to vulkan device?
-  // Not needed for xlib-xcb surface creation
+  // Pass native X11/Wayland/Mac/Android display to vulkan device?
+  // Not needed for xlib-xcb surface creation...
 }
 
 void VulkanGraphics::ConfigureSurface(Dali::Integration::RenderSurfaceInterface* surface)
index 8ce21f33e7441b63dc69ba5e50bdaea2e9044a47..20e6c1a296a2111351bc73fd39183a132d1a707b 100644 (file)
@@ -56,6 +56,8 @@ SET( adaptor_imaging_ubuntu_x11_vulkan_src_files
 # module: imaging, backend: libuv-x11/glib
 SET( adaptor_imaging_x11_src_files
     ${adaptor_imaging_dir}/common/file-download.cpp
+)
+SET( adaptor_imaging_x11_egl_src_files
     ${adaptor_imaging_dir}/x11/native-image-source-factory-x.cpp
     ${adaptor_imaging_dir}/x11/native-image-source-impl-x.cpp
     ${adaptor_imaging_dir}/x11/native-image-source-queue-impl-x.cpp
index cfc40fe594571c94a08c6e4b8a75a58b3769ca70..b12d8964385fcb4363a0b949455b44123dbb0099 100644 (file)
@@ -19,6 +19,9 @@
 #include <dali/internal/window-system/android/display-connection-impl-android.h>
 
 // INTERNAL HEADERS
+#if !defined(VULKAN_ENABLED)
+#include <dali/internal/graphics/gles/egl-graphics.h>
+#endif
 
 // EXTERNAL HEADERS
 
@@ -43,6 +46,15 @@ Any DisplayConnectionAndroid::GetDisplay()
   return {mDisplay};
 }
 
+Any DisplayConnectionAndroid::GetNativeGraphicsDisplay()
+{
+#if defined(VULKAN_ENABLED)
+  return {nullptr};
+#else
+  return {mDisplay};
+#endif
+}
+
 void DisplayConnectionAndroid::ConsumeEvents()
 {
 }
index 6f8e3d45b9b8d74e5186f1eb472fbad58ffcb8f5..cb8f3f6cee5765b090828f16c797ec9cddc97d1e 100644 (file)
@@ -55,6 +55,11 @@ public:
    */
   Any GetDisplay() override;
 
+  /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
   /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
index 64bddbe75b6e0a84d00b38cb2c6f1be8df734c56..c645c25727b0b6082c808fd126e973709ee7fe49 100644 (file)
@@ -45,6 +45,13 @@ public:
    */
   virtual Any GetDisplay() = 0;
 
+  /**
+   * @brief Get display for the graphics backend
+   *
+   * @return EGLNativeDisplayType or vulkan display type
+   */
+  virtual Any GetNativeGraphicsDisplay() = 0;
+
   /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
index e02e10f1630f278a731ccc8d33cbae5b32de4209..02b8acdf3c275f9b55db7f25e2d50ecfca228fe0 100644 (file)
@@ -60,6 +60,11 @@ Any DisplayConnection::GetDisplay() const
   return mImpl->GetDisplay();
 }
 
+Any DisplayConnection::GetNativeGraphicsDisplay() const
+{
+  return mImpl->GetNativeGraphicsDisplay();
+}
+
 void DisplayConnection::ConsumeEvents()
 {
   mImpl->ConsumeEvents();
index 33eb85f4fb057872b818de4e0d04511ab1247f91..3537f03a75881d9741c4f1520bac2096fb6f0177 100644 (file)
@@ -71,6 +71,13 @@ public:
    */
   Any GetDisplay() const;
 
+  /**
+   * @brief Get display for the graphics backend
+   *
+   * @return EGLNativeDisplayType or vulkan display type
+   */
+  Any GetNativeGraphicsDisplay() const;
+
   /**
    * @brief Consumes any possible events on the queue so that there is no leaking between frames
    */
index bb831ae6b4143a4f9941f65a4102c9557cba456a..e34ccd182fcfce9a831a0bec24b3a071050cba7d 100644 (file)
@@ -37,6 +37,15 @@ Any DisplayConnectionCocoa::GetDisplay()
   return EGL_DEFAULT_DISPLAY;
 }
 
+Any DisplayConnectionCocoa::GetNativeGraphicsDisplay()
+{
+#if defined(VULKAN_ENABLED)
+  return {nullptr};
+#else
+  return {EGL_DEFAULT_DISPLAY};
+#endif
+}
+
 void DisplayConnectionCocoa::ConsumeEvents()
 {
 }
index e06ad785a4941f4f528488e9b549feea6ce5e87b..a6ef6a5755b123ecab3dbc2080c631e0f32e753c 100644 (file)
@@ -47,6 +47,11 @@ public:
    */
   Any GetDisplay() override;
 
+  /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
   /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
index 9f79f9d5c38fca693e107c50dbeddb182014d88e..1dcdc028c4f279ea7c3d3ac4c6558b413a55df90 100644 (file)
 #include <Ecore_Wayland.h>
 #endif
 
+#if !defined(VULKAN_ENABLED)
+#include <dali/internal/graphics/common/egl-include.h>
+#endif
+
 namespace Dali
 {
 namespace Internal
@@ -84,6 +88,15 @@ void DisplayConnectionEcoreWl::SetSurfaceType(Integration::RenderSurfaceInterfac
   }
 }
 
+Any DisplayConnectionEcoreWl::GetNativeGraphicsDisplay()
+{
+#if defined(VULKAN_ENABLED)
+  return {nullptr};
+#else
+  return {mDisplay};
+#endif
+}
+
 EGLNativeDisplayType DisplayConnectionEcoreWl::GetNativeDisplay()
 {
   mBufMgr = tbm_bufmgr_init(-1); // -1 is meaningless. The parameter in this function is deprecated.
index b661261b47c7f5b71d2d7cdb48ed3047caa83def..e1d99c94686c6ec0ef80e2c2349e0f9b50c53c41 100644 (file)
@@ -60,6 +60,11 @@ public:
    */
   Any GetDisplay() override;
 
+  /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
   /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
@@ -95,9 +100,9 @@ protected:
   void ReleaseNativeDisplay();
 
 private:
-  EGLNativeDisplayType               mDisplay;     ///< Wayland-display for rendering
+  EGLNativeDisplayType                            mDisplay;     ///< Wayland-display for rendering
   Dali::Integration::RenderSurfaceInterface::Type mSurfaceType; ///< The surface type
-  tbm_bufmgr                         mBufMgr;      ///< For creating tbm_dummy_display
+  tbm_bufmgr                                      mBufMgr;      ///< For creating tbm_dummy_display
 };
 
 } // namespace Adaptor
index 67a0b2bee3fe08acdcc14aceb5dc6a00b61df66f..c12d9f63c08182ac5ba650a279d3153c6dd5e388 100644 (file)
@@ -22,6 +22,9 @@
 #include <dali/internal/system/linux/dali-ecore-x.h>
 
 // INTERNAL HEADERS
+#if !defined(VULKAN_ENABLED)
+#include <dali/internal/graphics/common/egl-include.h>
+#endif
 
 namespace Dali
 {
@@ -54,6 +57,15 @@ Any DisplayConnectionX11::GetDisplay()
   return {mDisplay};
 }
 
+Any DisplayConnectionX11::GetNativeGraphicsDisplay()
+{
+#if defined(VULKAN_ENABLED)
+  return {nullptr};
+#else
+  return {static_cast<EGLNativeDisplayType>(mDisplay)};
+#endif
+}
+
 void DisplayConnectionX11::ConsumeEvents()
 {
   // check events so that we can flush the queue and avoid any potential memory leaks in X
index 0e6fd4d3a392ee229da43cb443d9a37167afa114..679b54bb7661fc9e8a899433aac032db92e710bf 100644 (file)
@@ -58,6 +58,11 @@ public:
    */
   Any GetDisplay() override;
 
+  /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
   /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
index ccd484acb156c9aae6509dab58b0daca4cd71e13..2ba397bb823d326c1c34e1d083b2df5b59d0e778 100644 (file)
 #include <dali/integration-api/debug.h>\r
 \r
 // INTERNAL INCLUDES\r
-#include <dali/internal/graphics/gles/egl-graphics.h>\r
+\r
+#if !defined(VULKAN_ENABLED)\r
+#include <dali/internal/graphics/common/egl-include.h>\r
+#endif\r
 \r
 namespace Dali\r
 {\r
@@ -50,6 +53,15 @@ Any DisplayConnectionWin::GetDisplay()
   return Any(mDisplay);\r
 }\r
 \r
+Any DisplayConnectionWin::GetNativeGraphicsDisplay()\r
+{\r
+#if defined(VULKAN_ENABLED)\r
+  return {nullptr};\r
+#else\r
+  return {eglGetDisplay(mDisplay)};\r
+#endif\r
+}\r
+\r
 void DisplayConnectionWin::ConsumeEvents()\r
 {\r
 }\r
index fca98f44e63749fc91552c464990f92886d2074c..02ab7767051366d6e05518c8281d3f82353da4ca 100644 (file)
@@ -56,6 +56,11 @@ public:
    */\r
   Any GetDisplay() override;\r
 \r
+  /**\r
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay\r
+   */\r
+  Any GetNativeGraphicsDisplay() override;\r
+\r
   /**\r
    * @copydoc Dali::DisplayConnection::ConsumeEvents\r
    */\r
index 560cb9dd6e679d60aa6003d6b965ad384ce72894..39ef6704f2eb76203d4327cb5afe825b308980cc 100644 (file)
 // INTERNAL HEADERS
 #include <dali/internal/window-system/x11/window-system-x.h>
 
+#if !defined(VULKAN_ENABLED)
+#include <dali/internal/graphics/common/egl-include.h>
+#endif
+
 namespace Dali::Internal::Adaptor
 {
 DisplayConnectionX11::DisplayConnectionX11()
@@ -37,6 +41,15 @@ Any DisplayConnectionX11::GetDisplay()
   return {mDisplay};
 }
 
+Any DisplayConnectionX11::GetNativeGraphicsDisplay()
+{
+#if defined(VULKAN_ENABLED)
+  return {nullptr};
+#else
+  return {static_cast<EGLNativeDisplayType>(mDisplay)};
+#endif
+}
+
 void DisplayConnectionX11::ConsumeEvents()
 {
   // Event consumption should only be done in WindowSystemX.
index 8160f10f2e208d8210800bd8fbd2a560cd7ea29d..7daae30680f5a4d5bd4b72a698b2e0e2df1bd4cf 100644 (file)
@@ -19,8 +19,8 @@
  */
 
 // INTERNAL INCLUDES
-#include <dali/internal/window-system/common/display-connection-impl.h>
 #include <X11/Xlib.h>
+#include <dali/internal/window-system/common/display-connection-impl.h>
 
 namespace Dali
 {
@@ -52,6 +52,11 @@ public:
    */
   Any GetDisplay() override;
 
+  /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
   /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */