[PATCH weston 00/11] libweston

Giulio Camuffo giuliocamuffo at gmail.com
Mon Jun 22 13:02:47 PDT 2015


Hi,

This is the new revision of libweston, with quite many changes
after Pekka's comments:

- no more weston_compositor_init/fini, but weston_compositor_create/destroy.
  in a far future we may manage to make weston_compositor an opaque struct.

- all the backends are now loaded through a common weston_compositor_init_backend.
  the struct weston_backend_config is used to pass backend specific data,
  by creating a backend specific subclass of it, as defined in the backends's
  new header files.
  struct weston_backend gained a create_output vfunc. Only some backends set
  it though, namely the nested ones. The other backends have a callback to
  get the output configuration when needed.
  In a far future it would be nice if we managed to unify these with a common
  API, not sure if feasible though.

- no more xwayland library. Left as a follow up patch, will probably go the same
  route as the backends.

- fixed quite a few autotools fuckups. Can't say there are no more though. ;)


The biggest change for Weston-the-compositor here is that we kinda lose the
ability to load random backends. Since the backends cannot have anymore weston
specific configurations in them we need to fetch that configurations outside,
currently in weston.c. While less nice than before I don't think it's that big
of an issue.


Giulio Camuffo (11):
  compositor: introduce struct weston_backend
  compositor: add API to manage compositor instances
  compositor: move the main() to a new weston.c file
  make the backends compositor-neutral
  compositor: remove the weston_config field from weston_compositor
  build a libweston.so used by the weston binary
  libweston: allow compositors to define the logging behavior
  libweston: move the child process launching and monitoring to weston
  libweston: handle the screenshoot and record bindings in weston.c
  text: build the text-backend in weston
  configure: add an option to allow building only the libraries

 Makefile.am                         |   95 +-
 configure.ac                        |   11 +
 desktop-shell/shell.c               |   11 +-
 desktop-shell/shell.h               |    1 +
 fullscreen-shell/fullscreen-shell.c |    3 +-
 ivi-shell/hmi-controller.c          |   18 +-
 ivi-shell/ivi-layout-private.h      |    2 +-
 ivi-shell/ivi-layout.c              |    4 +-
 ivi-shell/ivi-shell.c               |   13 +-
 src/cms-colord.c                    |    3 +-
 src/cms-static.c                    |    7 +-
 src/compositor-drm.c                |  815 ++++++++--------
 src/compositor-drm.h                |   83 ++
 src/compositor-fbdev.c              |  231 ++---
 src/compositor-fbdev.h              |   64 ++
 src/compositor-headless.c           |  168 ++--
 src/compositor-headless.h           |   47 +
 src/compositor-rdp.c                |  202 ++--
 src/compositor-rdp.h                |   54 ++
 src/compositor-rpi.c                |  199 ++--
 src/compositor-rpi.h                |   57 ++
 src/compositor-wayland.c            |  542 ++++-------
 src/compositor-wayland.h            |   58 ++
 src/compositor-x11.c                |  671 ++++++-------
 src/compositor-x11.h                |   55 ++
 src/compositor.c                    | 1029 ++------------------
 src/compositor.h                    |   61 +-
 src/input.c                         |    2 +-
 src/libinput-device.c               |   29 +-
 src/libinput-device.h               |    2 +
 src/libinput-seat.c                 |   10 +
 src/libinput-seat.h                 |    6 +
 src/log.c                           |   69 +-
 src/screenshooter.c                 |  173 +---
 src/text-backend.c                  |   10 +-
 src/weston.c                        | 1833 +++++++++++++++++++++++++++++++++++
 src/weston.h                        |   36 +
 tests/ivi_layout-internal-test.c    |    2 +
 tests/ivi_layout-test-plugin.c      |    2 +
 tests/surface-global-test.c         |    3 +-
 tests/surface-screenshot.c          |    7 +-
 tests/surface-test.c                |    3 +-
 tests/weston-test.c                 |    3 +-
 xwayland/launcher.c                 |    6 +-
 xwayland/xwayland.h                 |    1 +
 45 files changed, 3897 insertions(+), 2804 deletions(-)
 create mode 100644 src/compositor-drm.h
 create mode 100644 src/compositor-fbdev.h
 create mode 100644 src/compositor-headless.h
 create mode 100644 src/compositor-rdp.h
 create mode 100644 src/compositor-rpi.h
 create mode 100644 src/compositor-wayland.h
 create mode 100644 src/compositor-x11.h
 create mode 100644 src/weston.c
 create mode 100644 src/weston.h

-- 
2.4.4



More information about the wayland-devel mailing list