1 From ca6720b1c19f1581112e6ee371dff6d06aeae569 Mon Sep 17 00:00:00 2001
2 From: Meng Mingming <mingming.meng@nxp.com>
3 Date: Mon, 9 Jan 2017 15:04:27 +0800
4 Subject: [PATCH 2/5] MGS-2352 [#ccc] Add GPU-VIV support for weston 2.0
6 Add GPU-VIV support for weston 2.0
8 Upstream Status: Inappropriate [i.MX specific]
13 This requires re-enabling the EGL initialization support
16 Signed-off-by: Meng Mingming <mingming.meng@nxp.com>
17 Signed-off-by: Georgi Vlaev <georgi.vlaev@konsulko.com>
19 libweston/compositor-fbdev.c | 22 ++++++++++++++++++++--
20 1 file changed, 20 insertions(+), 2 deletions(-)
22 diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c
23 index 4ca53b67..f87fccac 100644
24 --- a/libweston/compositor-fbdev.c
25 +++ b/libweston/compositor-fbdev.c
26 @@ -62,6 +62,7 @@ struct fbdev_backend {
28 uint32_t output_transform;
29 struct wl_listener session_listener;
30 + NativeDisplayType display;
33 struct fbdev_screeninfo {
34 @@ -94,6 +95,9 @@ struct fbdev_output {
36 pixman_image_t *hw_surface;
39 + NativeDisplayType display;
40 + NativeWindowType window;
43 struct gl_renderer_interface *gl_renderer;
44 @@ -444,6 +448,10 @@ fbdev_frame_buffer_destroy(struct fbdev_output *output)
49 + fbDestroyWindow(output->window);
51 + fbDestroyDisplay(output->display);
54 static void fbdev_output_destroy(struct weston_output *base);
55 @@ -480,8 +488,13 @@ fbdev_output_enable(struct weston_output *base)
58 setenv("HYBRIS_EGLPLATFORM", "wayland", 1);
59 + output->window = fbCreateWindow(backend->display, -1, -1, 0, 0);
60 + if (output->window == NULL) {
61 + fprintf(stderr, "failed to create window\n");
64 if (gl_renderer->output_window_create(&output->base,
65 - (EGLNativeWindowType)NULL, NULL,
66 + (EGLNativeWindowType)output->window, NULL,
67 gl_renderer->opaque_attribs,
69 weston_log("gl_renderer_output_create failed.\n");
70 @@ -808,8 +821,13 @@ fbdev_backend_create(struct weston_compositor *compositor,
74 + backend->display = fbGetDisplay(backend->compositor->wl_display);
75 + if (backend->display == NULL) {
76 + weston_log("fbGetDisplay failed.\n");
79 if (gl_renderer->display_create(compositor, NO_EGL_PLATFORM,
80 - EGL_DEFAULT_DISPLAY,
83 gl_renderer->opaque_attribs,