This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch dev/dimmus/test
in repository efl.
View the commit online.
commit edf24a345979313d24bd53aa4d8c644bc26ddb7b
Author: dimmus <dmitri.chudi...@gmail.com>
AuthorDate: Mon Oct 21 12:22:03 2024 +0500
ecore: wl2 - we have exynos default support only in embedded drm lib. So solve situation with external libdrm usage.
---
src/lib/ecore_wl2/ecore_wl2_buffer.c | 12 ++++++++++--
src/lib/ecore_wl2/meson.build | 12 +++++++++++-
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/lib/ecore_wl2/ecore_wl2_buffer.c b/src/lib/ecore_wl2/ecore_wl2_buffer.c
index 386eff294f..8744971d48 100644
--- a/src/lib/ecore_wl2/ecore_wl2_buffer.c
+++ b/src/lib/ecore_wl2/ecore_wl2_buffer.c
@@ -12,8 +12,10 @@
#include <intel_bufmgr.h>
#include <i915_drm.h>
#include <vc4_drm.h>
-#include <exynos_drm.h>
-#include <exynos_drmif.h>
+#ifdef EMBEDDED_DRM
+# include <exynos_drm.h>
+# include <exynos_drmif.h>
+#endif
#include <sys/mman.h>
#include <sys/ioctl.h>
@@ -78,11 +80,13 @@ static void (*sym_drm_intel_bo_unreference)(drm_intel_bo *bo) = NULL;
static int (*sym_drmPrimeHandleToFD)(int fd, uint32_t handle, uint32_t flags, int *prime_fd) = NULL;
static void (*sym_drm_intel_bufmgr_destroy)(drm_intel_bufmgr *) = NULL;
+#ifdef EMBEDDED_DRM
static struct exynos_device *(*sym_exynos_device_create)(int fd) = NULL;
static struct exynos_bo *(*sym_exynos_bo_create)(struct exynos_device *dev, size_t size, uint32_t flags) = NULL;
static void *(*sym_exynos_bo_map)(struct exynos_bo *bo) = NULL;
static void (*sym_exynos_bo_destroy)(struct exynos_bo *bo) = NULL;
static void (*sym_exynos_device_destroy)(struct exynos_device *) = NULL;
+#endif
static void
buffer_release(void *data, struct wl_buffer *buffer EINA_UNUSED)
@@ -256,6 +260,7 @@ err:
return EINA_FALSE;
}
+#ifdef EMBEDDED_DRM
static Buffer_Handle *
_exynos_alloc(Buffer_Manager *self, const char *name EINA_UNUSED, int w, int h, unsigned long *stride, int32_t *fd)
{
@@ -362,6 +367,7 @@ err:
dlclose(drm_exynos_lib);
return EINA_FALSE;
}
+#endif
static Buffer_Handle *
_wl_shm_alloc(Buffer_Manager *self EINA_UNUSED, const char *name EINA_UNUSED, int w, int h, unsigned long *stride, int32_t *fd)
@@ -622,7 +628,9 @@ ecore_wl2_buffer_init(Ecore_Wl2_Display *ewd, Ecore_Wl2_Buffer_Type types)
}
success = _intel_buffer_manager_setup(fd);
+#ifdef EMBEDDED_DRM
if (!success) success = _exynos_buffer_manager_setup(fd);
+#endif
if (!success) success = _vc4_buffer_manager_setup(fd);
}
fallback_shm:
diff --git a/src/lib/ecore_wl2/meson.build b/src/lib/ecore_wl2/meson.build
index 918d090e9b..cfbf21395c 100644
--- a/src/lib/ecore_wl2/meson.build
+++ b/src/lib/ecore_wl2/meson.build
@@ -7,6 +7,10 @@ ecore_wl2_header_src = [
'Ecore_Wl2.h'
]
+if WITH_EMBEDDED_DRM
+ config_h.set('EMBEDDED_DRM', '1') # added default samsung's exynos support
+endif
+
ecore_wl2_src = files(
'ecore_wl2_internal.h',
'ecore_wl2_subsurf.c',
@@ -39,7 +43,13 @@ ecore_wl2 = declare_dependency(
ecore_wl2_internal_headers = declare_dependency(
include_directories: include_directories('.'),
- dependencies: [wayland_protocol_simple, libdrm, dependency('wayland-client'), dependency('wayland-server'), dependency('xkbcommon'),],
+ dependencies: [
+ wayland_protocol_simple,
+ libdrm,
+ dependency('wayland-client'),
+ dependency('wayland-server'),
+ dependency('xkbcommon'),
+ ],
)
install_headers(ecore_wl2_header_src,
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.