aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-graphics/wayland/weston/0001-ENGR00314805-1-Add-Vivante-EGL-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/wayland/weston/0001-ENGR00314805-1-Add-Vivante-EGL-support.patch')
-rw-r--r--recipes-graphics/wayland/weston/0001-ENGR00314805-1-Add-Vivante-EGL-support.patch74
1 files changed, 74 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/weston/0001-ENGR00314805-1-Add-Vivante-EGL-support.patch b/recipes-graphics/wayland/weston/0001-ENGR00314805-1-Add-Vivante-EGL-support.patch
new file mode 100644
index 0000000..e946fe4
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-ENGR00314805-1-Add-Vivante-EGL-support.patch
@@ -0,0 +1,74 @@
+From 0d24f9872fc5bbbb07ae55f1107ba0f5060fca8a Mon Sep 17 00:00:00 2001
+From: Yong Gan <b45748@freescale.com>
+Date: Thu, 22 May 2014 15:25:42 +0800
+Subject: [PATCH 1/3] ENGR00314805-1 Add Vivante EGL support
+
+Add Vivante EGL compositor support.
+
+Upstream-Status: Pending
+
+[DATE]05-22-2014
+Signed-off-by Yong Gan <B45748@freescale.com>
+---
+ src/compositor-fbdev.c | 23 +++++++++++++++++++----
+ 1 file changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
+index e703e0e..3db1d17 100644
+--- a/src/compositor-fbdev.c
++++ b/src/compositor-fbdev.c
+@@ -53,6 +53,7 @@ struct fbdev_compositor {
+ struct udev_input input;
+ int use_pixman;
+ struct wl_listener session_listener;
++ EGLNativeDisplayType display;
+ };
+
+ struct fbdev_screeninfo {
+@@ -87,6 +88,9 @@ struct fbdev_output {
+ pixman_image_t *shadow_surface;
+ void *shadow_buf;
+ uint8_t depth;
++
++ EGLNativeDisplayType display;
++ EGLNativeWindowType window;
+ };
+
+ struct fbdev_parameters {
+@@ -627,10 +631,15 @@ fbdev_output_create(struct fbdev_compositor *compositor,
+ goto out_shadow_surface;
+ } else {
+ setenv("HYBRIS_EGLPLATFORM", "wayland", 1);
++ output->window = fbCreateWindow(compositor->display, -1, -1, 0, 0);
++ if (output->window == NULL) {
++ fprintf(stderr, "failed to create window\n");
++ return 0;
++ }
+ if (gl_renderer->output_create(&output->base,
+- (EGLNativeWindowType)NULL,
+- gl_renderer->opaque_attribs,
+- NULL) < 0) {
++ (EGLNativeWindowType)output->window,
++ gl_renderer->opaque_attribs,
++ NULL) < 0) {
+ weston_log("gl_renderer_output_create failed.\n");
+ goto out_shadow_surface;
+ }
+@@ -923,7 +932,13 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
+ goto out_launcher;
+ }
+
+- if (gl_renderer->create(&compositor->base, EGL_DEFAULT_DISPLAY,
++ compositor->display = fbGetDisplay(compositor->base.wl_display);
++ if (compositor->display == NULL) {
++ weston_log("fbGetDisplay failed.\n");
++ goto out_launcher;
++ }
++
++ if (gl_renderer->create(&compositor->base, compositor->display,
+ gl_renderer->opaque_attribs,
+ NULL) < 0) {
+ weston_log("gl_renderer_create failed.\n");
+--
+1.7.9.5
+