On Tue, Aug 21, 2018 at 05:27:35PM -0400, Ruei, Eric wrote:
> On 8/21/2018 5:00 PM, Denys Dmytriyenko wrote:
> >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.
> >
> >
> virtual/mesa covers everything. drm-backend actually depends on both
> virtual/egl and libgbm.

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

"drm udev libgbm mtdev"


> Gtk+, as a wayland-client, depends on virtual/egl only.
> 
> 
> >>>>- 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