- replace wayland dependency mesa with virtual/egl - 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
