On Tue, Aug 21, 2018 at 04:38:08PM -0400, Ruei, Eric wrote:
> On 8/21/2018 3:48 PM, Denys Dmytriyenko wrote:
> >On Tue, Aug 21, 2018 at 03:29:25PM -0400, Eric Ruei wrote:
> >>- replace wayland dependency mesa with virtual/egl
> >
> >In the past we were using libgbm instead of virtual/egl
> >http://arago-project.org/git/?p=meta-arago.git;a=blob;f=meta-arago-distro/recipes-graphics/wayland/weston_4.0.0.bbappend;hb=HEAD
> >http://arago-project.org/git/?p=meta-arago.git;a=blob;f=meta-arago-distro/recipes-gnome/gtk%2B/gtk%2B3_%25.bbappend;hb=HEAD
> >
> >
> Denys: It does not make sense, virtual/egl replaces virtual/mesa, GTK will
> be a wayland-client and uses wayland-egl which does not depends on libgbm.
> The drm-backend of Weston compositor does depend on libgbm.

Well, drm-backend of Weston also originally depended on virtual/mesa:
http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-graphics/wayland/weston_2.0.0.bb?h=rocko

And we replace it with libgbm, not virtual/egl.

But if you say gtk+ really needs entire virtual/egl dependency to work with 
wayland-egl, then I'm fine.


> >>- patch to fix egl API calls for GLES2
> >>
> >>Signed-off-by: Eric Ruei <[email protected]>
> >>---
> >>  ...t-wayland.c-cleanup-the-parameters-of-egl.patch | 61 
> >> ++++++++++++++++++++++
> >>  .../recipes-gnome/gtk+/gtk+3_%.bbappend            | 10 ++++
> >>  2 files changed, 71 insertions(+)
> >>  create mode 100644 
> >> meta-arago-distro/recipes-gnome/gtk+/gtk+3/0001-gdkglcontext-wayland.c-cleanup-the-parameters-of-egl.patch
> >>  create mode 100644 meta-arago-distro/recipes-gnome/gtk+/gtk+3_%.bbappend
> >>
> >>diff --git 
> >>a/meta-arago-distro/recipes-gnome/gtk+/gtk+3/0001-gdkglcontext-wayland.c-cleanup-the-parameters-of-egl.patch
> >> 
> >>b/meta-arago-distro/recipes-gnome/gtk+/gtk+3/0001-gdkglcontext-wayland.c-cleanup-the-parameters-of-egl.patch
> >>new file mode 100644
> >>index 0000000..174dbdd
> >>--- /dev/null
> >>+++ 
> >>b/meta-arago-distro/recipes-gnome/gtk+/gtk+3/0001-gdkglcontext-wayland.c-cleanup-the-parameters-of-egl.patch
> >>@@ -0,0 +1,61 @@
> >>+From d4c8511b845de02271b6dcf57a6edbf01f3f1905 Mon Sep 17 00:00:00 2001
> >>+From: Eric Ruei <[email protected]>
> >>+Date: Tue, 21 Aug 2018 11:07:13 -0400
> >>+Subject: [PATCH] gdkglcontext-wayland.c: cleanup the parameters of egl API
> >>+ calls when GLES is used
> >>+
> >>+eglBindAPI: use EGL_OPENGL_ES_API instead of EGL_OPENGL_API
> >>+eglChooseConfig: need to specify EGL_OPENGL_ES2_BIT as EGL_RENDERABLE_TYPE
> >>+
> >>+Upstream-Status: Pending
> >>+
> >>+Signed-off-by: Eric Ruei <[email protected]>
> >>+---
> >>+ gdk/wayland/gdkglcontext-wayland.c | 10 +++++++++-
> >>+ 1 file changed, 9 insertions(+), 1 deletion(-)
> >>+
> >>+diff --git a/gdk/wayland/gdkglcontext-wayland.c 
> >>b/gdk/wayland/gdkglcontext-wayland.c
> >>+index 254900d..3361eb3 100644
> >>+--- a/gdk/wayland/gdkglcontext-wayland.c
> >>++++ b/gdk/wayland/gdkglcontext-wayland.c
> >>+@@ -314,6 +314,7 @@ gdk_wayland_display_init_gl (GdkDisplay *display)
> >>+   GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display);
> >>+   EGLint major, minor;
> >>+   EGLDisplay dpy;
> >>++  gboolean use_es = (_gdk_gl_flags & GDK_GL_GLES) != 0 ;
> >>+
> >>+   if (display_wayland->have_egl)
> >>+     return TRUE;
> >>+@@ -326,7 +327,7 @@ gdk_wayland_display_init_gl (GdkDisplay *display)
> >>+   if (!eglInitialize (dpy, &major, &minor))
> >>+     return FALSE;
> >>+
> >>+-  if (!eglBindAPI (EGL_OPENGL_API))
> >>++  if (!eglBindAPI (use_es?EGL_OPENGL_ES_API:EGL_OPENGL_API))
> >>+     return FALSE;
> >>+
> >>+   display_wayland->egl_display = dpy;
> >>+@@ -379,6 +380,7 @@ find_eglconfig_for_window (GdkWindow  *window,
> >>+   EGLint count;
> >>+   EGLConfig *configs, chosen_config;
> >>+   gboolean use_rgba;
> >>++  gboolean use_es = (_gdk_gl_flags & GDK_GL_GLES) != 0 ;
> >>+
> >>+   int i = 0;
> >>+
> >>+@@ -395,6 +397,12 @@ find_eglconfig_for_window (GdkWindow  *window,
> >>+   attrs[i++] = EGL_BLUE_SIZE;
> >>+   attrs[i++] = 1;
> >>+
> >>++  if (use_es)
> >>++    {
> >>++      attrs[i++] = EGL_RENDERABLE_TYPE;
> >>++      attrs[i++] = EGL_OPENGL_ES2_BIT;
> >>++    }
> >>++
> >>+   use_rgba = (visual == gdk_screen_get_rgba_visual 
> >>(gdk_display_get_default_screen (display)));
> >>+
> >>+   if (use_rgba)
> >>+--
> >>+1.9.1
> >>+
> >>diff --git a/meta-arago-distro/recipes-gnome/gtk+/gtk+3_%.bbappend 
> >>b/meta-arago-distro/recipes-gnome/gtk+/gtk+3_%.bbappend
> >>new file mode 100644
> >>index 0000000..d3fe505
> >>--- /dev/null
> >>+++ b/meta-arago-distro/recipes-gnome/gtk+/gtk+3_%.bbappend
> >>@@ -0,0 +1,10 @@
> >>+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> >>+
> >>+PACKAGECONFIG[wayland] = 
> >>"--enable-wayland-backend,--disable-wayland-backend,wayland 
> >>wayland-protocols libxkbcommon virtual/egl wayland-native"
> >>+GTKGLIBC_RRECOMMENDS = "${GTKBASE_RRECOMMENDS}"
> >>+
> >>+PR_append = ".arago0"
> >>+
> >>+SRC_URI += "\
> >>+    file://0001-gdkglcontext-wayland.c-cleanup-the-parameters-of-egl.patch 
> >>\
> >>+"
> >>-- 
> >>1.9.1
> >>
> >>_______________________________________________
> >>meta-arago mailing list
> >>[email protected]
> >>http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> 
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to