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
