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
