[PATCH 00/14] New output configuration API take 2

Armin Krezović krezovic.armin at gmail.com
Thu Aug 18 16:42:28 UTC 2016

This is take 3 of my new output configuration API.

Two major changes happened:

- weston_output_init_pending() was split into
  weston_compositor_add_pending_output(), so
  weston_output_init_pending() wouldn't announce
  a new pending output before some configuration
  is done in certain backends.

- First task enabled me to drop wayland_output_api
  entirely for configuring outputs when running
  wayland backend on fullscreen-shell or when started
  with --sprawl. The backend received major rework
  and was simplified a lot.

The rest is all minor, mostly issues raised by Pekka
during the review.

That includes one additional patch, which was split
from previous RDP backend port, to implement something
that wasn't implemented before separately, rather than
through rdp backend porting patch.

Another additional patch to this series was just to
remove requirement of setting mm_width/mm_height, as
that was only required to keep weston_output_init()
working while the backends were ported. After it was
gone, those aren't required to be set anymore.

For information on purpose of this series and information
about previous changes, see:


All patches are available at github, rebased against today's git master:


Armin Krezović (14):
  libweston: Add more functionality for handling weston_output objects
  libweston: Add initial output API for windowed outputs configuration
  compositor: Implement output configuration using windowed_output_api
  weston: Port DRM backend to new output handling API
  weston: Port fbdev backend to new output handling API
  weston: Port headless backend to new output handling API
  weston: Port RDP backend to new output handling API
  weston: Port Wayland backend to new output handling API
  weston: Port X11 backend to new output handling API
  libweston: Merge weston_output_init() into weston_output_enable()
  weston: Rename weston_output_init_pending() to weston_output_init()
  libweston: Remove weston_backend_output_config structure
  libweston: Drop requirement of setting mm_width/mm_height in backends
  compositor-rdp: Properly destroy the renderer and pixman image

 Makefile.am                     |   1 +
 compositor/main.c               | 781 ++++++++++++++++++++++++----------------
 libweston/compositor-drm.c      | 434 ++++++++++++----------
 libweston/compositor-drm.h      |  50 ++-
 libweston/compositor-fbdev.c    |  87 +++--
 libweston/compositor-fbdev.h    |   4 +-
 libweston/compositor-headless.c | 152 +++++---
 libweston/compositor-headless.h |   8 +-
 libweston/compositor-rdp.c      | 139 ++++---
 libweston/compositor-rdp.h      |  26 +-
 libweston/compositor-wayland.c  | 324 ++++++++++-------
 libweston/compositor-wayland.h  |   8 -
 libweston/compositor-x11.c      | 312 +++++++++-------
 libweston/compositor-x11.h      |  13 +-
 libweston/compositor.c          | 401 +++++++++++++++++----
 libweston/compositor.h          |  51 ++-
 libweston/windowed-output-api.h |  92 +++++
 17 files changed, 1851 insertions(+), 1032 deletions(-)
 create mode 100644 libweston/windowed-output-api.h


More information about the wayland-devel mailing list