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.
- 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