create mode 100644 src/gal2d-renderer.c
create mode 100644 src/gal2d-renderer.h
-diff --git a/Makefile.am b/Makefile.am
-index 62719c9..86d3dfa 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -214,6 +214,18 @@ gl_renderer_la_SOURCES = \
+Index: weston-1.10.0/Makefile.am
+===================================================================
+--- weston-1.10.0.orig/Makefile.am 2016-05-12 10:52:23.308495113 -0500
++++ weston-1.10.0/Makefile.am 2016-05-12 10:52:23.524496184 -0500
+@@ -231,6 +231,18 @@
src/vertex-clipping.h \
shared/helpers.h
endif
if ENABLE_X11_COMPOSITOR
module_LTLIBRARIES += x11-backend.la
-diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
-index 81281d0..c6f732e 100644
---- a/src/compositor-fbdev.c
-+++ b/src/compositor-fbdev.c
+Index: weston-1.10.0/src/compositor-fbdev.c
+===================================================================
+--- weston-1.10.0.orig/src/compositor-fbdev.c 2016-05-12 10:52:21.356485434 -0500
++++ weston-1.10.0/src/compositor-fbdev.c 2016-05-12 11:41:07.000000000 -0500
@@ -49,6 +49,7 @@
#include "libinput-seat.h"
#include "gl-renderer.h"
struct fbdev_backend {
struct weston_backend base;
-@@ -58,7 +59,9 @@ struct fbdev_backend {
+@@ -58,7 +59,9 @@
struct udev *udev;
struct udev_input input;
int use_pixman;
};
struct fbdev_screeninfo {
-@@ -93,15 +96,20 @@ struct fbdev_output {
- pixman_image_t *shadow_surface;
- void *shadow_buf;
+@@ -91,15 +94,20 @@
+ /* pixman details. */
+ pixman_image_t *hw_surface;
uint8_t depth;
+
+ NativeDisplayType display;
static const char default_seat[] = "seat0";
-@@ -476,6 +484,10 @@ fbdev_frame_buffer_destroy(struct fbdev_output *output)
+@@ -447,6 +455,10 @@
strerror(errno));
output->fb = NULL;
}
static void fbdev_output_destroy(struct weston_output *base);
-@@ -483,7 +495,7 @@ static void fbdev_output_disable(struct weston_output *base);
+@@ -454,7 +466,7 @@
static int
fbdev_output_create(struct fbdev_backend *backend,
{
struct fbdev_output *output;
struct weston_config_section *section;
-@@ -494,7 +506,7 @@ fbdev_output_create(struct fbdev_backend *backend,
+@@ -463,7 +475,7 @@
uint32_t config_transform;
char *s;
output = zalloc(sizeof *output);
if (output == NULL)
-@@ -547,7 +559,7 @@ fbdev_output_create(struct fbdev_backend *backend,
+@@ -516,7 +528,7 @@
free(s);
weston_output_init(&output->base, backend->compositor,
output->fb_info.height_mm,
config_transform,
1);
-@@ -570,10 +582,41 @@ fbdev_output_create(struct fbdev_backend *backend,
+@@ -524,10 +536,39 @@
if (backend->use_pixman) {
if (pixman_renderer_output_create(&output->base) < 0)
- goto out_shadow_surface;
-- } else {
-+ }
-+ else if(backend->use_gal2d) {
+ goto out_hw_surface;
++ } else if(backend->use_gal2d) {
+
+ char* fbenv = getenv("FB_FRAMEBUFFER_0");
+ setenv("FB_FRAMEBUFFER_0", device, 1);
+ output->display,
+ (NativeWindowType)output->window) < 0) {
+ weston_log("gal_renderer_output_create failed.\n");
-+ goto out_shadow_surface;
++ goto out_hw_surface;
+ }
+
-+ }
-+ else {
+ } else {
setenv("HYBRIS_EGLPLATFORM", "wayland", 1);
+ output->window = fbCreateWindow(backend->display, -1, -1, 0, 0);
+ if (output->window == NULL) {
gl_renderer->opaque_attribs,
NULL, 0) < 0) {
weston_log("gl_renderer_output_create failed.\n");
-@@ -634,7 +677,11 @@ fbdev_output_destroy(struct weston_output *base)
- free(output->shadow_buf);
- output->shadow_buf = NULL;
- }
-- } else {
-+ }
-+ else if (backend->use_gal2d) {
+@@ -573,6 +614,8 @@
+ if (backend->use_pixman) {
+ if (base->renderer_state != NULL)
+ pixman_renderer_output_destroy(base);
++ } else if (backend->use_gal2d) {
+ gal2d_renderer->output_destroy(base);
-+ }
-+ else {
+ } else {
gl_renderer->output_destroy(base);
}
-
-@@ -697,7 +744,7 @@ fbdev_output_reenable(struct fbdev_backend *backend,
+@@ -636,7 +679,7 @@
* are re-initialised. */
device = output->device;
fbdev_output_destroy(base);
return 0;
}
-@@ -863,7 +910,50 @@ fbdev_backend_create(struct weston_compositor *compositor, int *argc, char *argv
+@@ -789,7 +832,50 @@
if (backend->use_pixman) {
if (pixman_renderer_init(compositor) < 0)
goto out_launcher;
gl_renderer = weston_load_module("gl-renderer.so",
"gl_renderer_interface");
if (!gl_renderer) {
-@@ -871,17 +961,22 @@ fbdev_backend_create(struct weston_compositor *compositor, int *argc, char *argv
+@@ -797,17 +883,22 @@
goto out_launcher;
}
udev_input_init(&backend->input, compositor, backend->udev, seat_id);
-@@ -911,13 +1006,20 @@ backend_init(struct weston_compositor *compositor, int *argc, char *argv[],
+@@ -838,13 +929,20 @@
struct fbdev_parameters param = {
.tty = 0, /* default to current tty */
.device = "/dev/fb0", /* default frame buffer */
};
parse_options(fbdev_options, ARRAY_LENGTH(fbdev_options), argc, argv);
-diff --git a/src/gal2d-renderer.c b/src/gal2d-renderer.c
-new file mode 100644
-index 0000000..c68f02c
---- /dev/null
-+++ b/src/gal2d-renderer.c
+Index: weston-1.10.0/src/gal2d-renderer.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ weston-1.10.0/src/gal2d-renderer.c 2016-05-12 11:37:05.000000000 -0500
@@ -0,0 +1,1342 @@
+/*
+ * Copyright (c) 2015 Freescale Semiconductor, Inc.
+ .output_create = gal2d_renderer_output_create,
+ .output_destroy = gal2d_renderer_output_destroy,
+};
-diff --git a/src/gal2d-renderer.h b/src/gal2d-renderer.h
-new file mode 100644
-index 0000000..279358d
---- /dev/null
-+++ b/src/gal2d-renderer.h
+Index: weston-1.10.0/src/gal2d-renderer.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ weston-1.10.0/src/gal2d-renderer.h 2016-05-12 10:52:23.524496184 -0500
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2015 Freescale Semiconductor, Inc.
+};
+
+#endif
---
-2.5.1
-