summaryrefslogtreecommitdiff
path: root/dali
diff options
context:
space:
mode:
authorDavid Steele <david.steele@samsung.com>2024-06-27 18:13:14 +0100
committerDavid Steele <david.steele@samsung.com>2024-07-08 11:07:51 +0100
commitf820dba95efae7a8390ea9a0c09d7902e658bcd5 (patch)
tree449938c729928675c84d8454eec65781c682fc27 /dali
parentbb8dfe371876f466d2ade1dccdd1e6c56dbda780 (diff)
downloaddali-adaptor-f820dba95efae7a8390ea9a0c09d7902e658bcd5.tar.gz
dali-adaptor-f820dba95efae7a8390ea9a0c09d7902e658bcd5.tar.bz2
dali-adaptor-f820dba95efae7a8390ea9a0c09d7902e658bcd5.zip
Making test-render-surface.cpp/h common across repos
Change-Id: I886d41ded42036c10c5f614bed2ff6fe09a086a9
Diffstat (limited to 'dali')
-rw-r--r--dali/internal/graphics/gles/egl-graphics.cpp8
-rw-r--r--dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp4
-rw-r--r--dali/internal/imaging/file.list2
-rw-r--r--dali/internal/window-system/android/display-connection-impl-android.cpp12
-rw-r--r--dali/internal/window-system/android/display-connection-impl-android.h5
-rw-r--r--dali/internal/window-system/common/display-connection-impl.h7
-rw-r--r--dali/internal/window-system/common/display-connection.cpp5
-rw-r--r--dali/internal/window-system/common/display-connection.h7
-rw-r--r--dali/internal/window-system/macos/display-connection-impl-mac.cpp9
-rw-r--r--dali/internal/window-system/macos/display-connection-impl-mac.h5
-rw-r--r--dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp13
-rw-r--r--dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h9
-rw-r--r--dali/internal/window-system/ubuntu-x11/display-connection-impl-x.cpp12
-rw-r--r--dali/internal/window-system/ubuntu-x11/display-connection-impl-x.h5
-rw-r--r--dali/internal/window-system/windows/display-connection-impl-win.cpp14
-rw-r--r--dali/internal/window-system/windows/display-connection-impl-win.h5
-rw-r--r--dali/internal/window-system/x11/display-connection-impl-x.cpp13
-rw-r--r--dali/internal/window-system/x11/display-connection-impl-x.h7
18 files changed, 130 insertions, 12 deletions
diff --git a/dali/internal/graphics/gles/egl-graphics.cpp b/dali/internal/graphics/gles/egl-graphics.cpp
index 975b37f2b..8bb67ef30 100644
--- a/dali/internal/graphics/gles/egl-graphics.cpp
+++ b/dali/internal/graphics/gles/egl-graphics.cpp
@@ -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);
}
diff --git a/dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp b/dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp
index 4e351bc0f..22133a801 100644
--- a/dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp
+++ b/dali/internal/graphics/vulkan/vulkan-graphics-impl.cpp
@@ -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)
diff --git a/dali/internal/imaging/file.list b/dali/internal/imaging/file.list
index 8ce21f33e..20e6c1a29 100644
--- a/dali/internal/imaging/file.list
+++ b/dali/internal/imaging/file.list
@@ -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
diff --git a/dali/internal/window-system/android/display-connection-impl-android.cpp b/dali/internal/window-system/android/display-connection-impl-android.cpp
index cfc40fe59..b12d89643 100644
--- a/dali/internal/window-system/android/display-connection-impl-android.cpp
+++ b/dali/internal/window-system/android/display-connection-impl-android.cpp
@@ -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()
{
}
diff --git a/dali/internal/window-system/android/display-connection-impl-android.h b/dali/internal/window-system/android/display-connection-impl-android.h
index 6f8e3d45b..cb8f3f6ce 100644
--- a/dali/internal/window-system/android/display-connection-impl-android.h
+++ b/dali/internal/window-system/android/display-connection-impl-android.h
@@ -56,6 +56,11 @@ public:
Any GetDisplay() override;
/**
+ * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+ */
+ Any GetNativeGraphicsDisplay() override;
+
+ /**
* @copydoc Dali::DisplayConnection::ConsumeEvents
*/
void ConsumeEvents() override;
diff --git a/dali/internal/window-system/common/display-connection-impl.h b/dali/internal/window-system/common/display-connection-impl.h
index 64bddbe75..c645c2572 100644
--- a/dali/internal/window-system/common/display-connection-impl.h
+++ b/dali/internal/window-system/common/display-connection-impl.h
@@ -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;
diff --git a/dali/internal/window-system/common/display-connection.cpp b/dali/internal/window-system/common/display-connection.cpp
index e02e10f16..02b8acdf3 100644
--- a/dali/internal/window-system/common/display-connection.cpp
+++ b/dali/internal/window-system/common/display-connection.cpp
@@ -60,6 +60,11 @@ Any DisplayConnection::GetDisplay() const
return mImpl->GetDisplay();
}
+Any DisplayConnection::GetNativeGraphicsDisplay() const
+{
+ return mImpl->GetNativeGraphicsDisplay();
+}
+
void DisplayConnection::ConsumeEvents()
{
mImpl->ConsumeEvents();
diff --git a/dali/internal/window-system/common/display-connection.h b/dali/internal/window-system/common/display-connection.h
index 33eb85f4f..3537f03a7 100644
--- a/dali/internal/window-system/common/display-connection.h
+++ b/dali/internal/window-system/common/display-connection.h
@@ -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();
diff --git a/dali/internal/window-system/macos/display-connection-impl-mac.cpp b/dali/internal/window-system/macos/display-connection-impl-mac.cpp
index bb831ae6b..e34ccd182 100644
--- a/dali/internal/window-system/macos/display-connection-impl-mac.cpp
+++ b/dali/internal/window-system/macos/display-connection-impl-mac.cpp
@@ -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()
{
}
diff --git a/dali/internal/window-system/macos/display-connection-impl-mac.h b/dali/internal/window-system/macos/display-connection-impl-mac.h
index e06ad785a..a6ef6a575 100644
--- a/dali/internal/window-system/macos/display-connection-impl-mac.h
+++ b/dali/internal/window-system/macos/display-connection-impl-mac.h
@@ -48,6 +48,11 @@ public:
Any GetDisplay() override;
/**
+ * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+ */
+ Any GetNativeGraphicsDisplay() override;
+
+ /**
* @copydoc Dali::DisplayConnection::ConsumeEvents
*/
void ConsumeEvents() override;
diff --git a/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp b/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp
index 9f79f9d5c..1dcdc028c 100644
--- a/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp
+++ b/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp
@@ -28,6 +28,10 @@
#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.
diff --git a/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h b/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h
index b661261b4..e1d99c946 100644
--- a/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h
+++ b/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.h
@@ -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
diff --git a/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.cpp b/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.cpp
index 67a0b2bee..c12d9f63c 100644
--- a/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.cpp
+++ b/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.cpp
@@ -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
diff --git a/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.h b/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.h
index 0e6fd4d3a..679b54bb7 100644
--- a/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.h
+++ b/dali/internal/window-system/ubuntu-x11/display-connection-impl-x.h
@@ -59,6 +59,11 @@ public:
Any GetDisplay() override;
/**
+ * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+ */
+ Any GetNativeGraphicsDisplay() override;
+
+ /**
* @copydoc Dali::DisplayConnection::ConsumeEvents
*/
void ConsumeEvents() override;
diff --git a/dali/internal/window-system/windows/display-connection-impl-win.cpp b/dali/internal/window-system/windows/display-connection-impl-win.cpp
index ccd484acb..2ba397bb8 100644
--- a/dali/internal/window-system/windows/display-connection-impl-win.cpp
+++ b/dali/internal/window-system/windows/display-connection-impl-win.cpp
@@ -22,7 +22,10 @@
#include <dali/integration-api/debug.h>
// INTERNAL INCLUDES
-#include <dali/internal/graphics/gles/egl-graphics.h>
+
+#if !defined(VULKAN_ENABLED)
+#include <dali/internal/graphics/common/egl-include.h>
+#endif
namespace Dali
{
@@ -50,6 +53,15 @@ Any DisplayConnectionWin::GetDisplay()
return Any(mDisplay);
}
+Any DisplayConnectionWin::GetNativeGraphicsDisplay()
+{
+#if defined(VULKAN_ENABLED)
+ return {nullptr};
+#else
+ return {eglGetDisplay(mDisplay)};
+#endif
+}
+
void DisplayConnectionWin::ConsumeEvents()
{
}
diff --git a/dali/internal/window-system/windows/display-connection-impl-win.h b/dali/internal/window-system/windows/display-connection-impl-win.h
index fca98f44e..02ab77670 100644
--- a/dali/internal/window-system/windows/display-connection-impl-win.h
+++ b/dali/internal/window-system/windows/display-connection-impl-win.h
@@ -57,6 +57,11 @@ public:
Any GetDisplay() override;
/**
+ * @copydoc Dali::DisplayConnection::GetNativeGraphicsDisplay
+ */
+ Any GetNativeGraphicsDisplay() override;
+
+ /**
* @copydoc Dali::DisplayConnection::ConsumeEvents
*/
void ConsumeEvents() override;
diff --git a/dali/internal/window-system/x11/display-connection-impl-x.cpp b/dali/internal/window-system/x11/display-connection-impl-x.cpp
index 560cb9dd6..39ef6704f 100644
--- a/dali/internal/window-system/x11/display-connection-impl-x.cpp
+++ b/dali/internal/window-system/x11/display-connection-impl-x.cpp
@@ -23,6 +23,10 @@
// 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.
diff --git a/dali/internal/window-system/x11/display-connection-impl-x.h b/dali/internal/window-system/x11/display-connection-impl-x.h
index 8160f10f2..7daae3068 100644
--- a/dali/internal/window-system/x11/display-connection-impl-x.h
+++ b/dali/internal/window-system/x11/display-connection-impl-x.h
@@ -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;