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 b9d7387..e5313a4 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 a9424bd..d9b980a 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 7dbf4ec..b6d00f1 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 f310f4f..b0f7a94 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 330aba8..a88b53d 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 48d0d81..3efc792 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 8c86ca4..858db11 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 975b37f..8bb67ef 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 4e351bc..22133a8 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 8ce21f3..20e6c1a 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 cfc40fe..b12d896 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 6f8e3d4..cb8f3f6 100644 (file)
@@ -56,6 +56,11 @@ public:
   Any GetDisplay() override;
 
   /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
+  /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
   void ConsumeEvents() override;
index 64bddbe..c645c25 100644 (file)
@@ -46,6 +46,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
    */
   virtual void ConsumeEvents() = 0;
index e02e10f..02b8acd 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 33eb85f..3537f03 100644 (file)
@@ -72,6 +72,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
    */
   void ConsumeEvents();
index bb831ae..e34ccd1 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 e06ad78..a6ef6a5 100644 (file)
@@ -48,6 +48,11 @@ public:
   Any GetDisplay() override;
 
   /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
+  /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
   void ConsumeEvents() override;
index 9f79f9d..1dcdc02 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 b661261..e1d99c9 100644 (file)
@@ -61,6 +61,11 @@ public:
   Any GetDisplay() override;
 
   /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
+  /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
   void ConsumeEvents() override;
@@ -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 67a0b2b..c12d9f6 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 0e6fd4d..679b54b 100644 (file)
@@ -59,6 +59,11 @@ public:
   Any GetDisplay() override;
 
   /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
+  /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
   void ConsumeEvents() override;
index ccd484a..2ba397b 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 fca98f4..02ab776 100644 (file)
@@ -57,6 +57,11 @@ public:
   Any GetDisplay() override;\r
 \r
   /**\r
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay\r
+   */\r
+  Any GetNativeGraphicsDisplay() override;\r
+\r
+  /**\r
    * @copydoc Dali::DisplayConnection::ConsumeEvents\r
    */\r
   void ConsumeEvents() override;\r
index 560cb9d..39ef670 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 8160f10..7daae30 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
 {
@@ -53,6 +53,11 @@ public:
   Any GetDisplay() override;
 
   /**
+   * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+   */
+  Any GetNativeGraphicsDisplay() override;
+
+  /**
    * @copydoc Dali::DisplayConnection::ConsumeEvents
    */
   void ConsumeEvents() override;