On Thu, 1 Feb 2018 13:59:24 -0600
Derek Foreman <der...@osg.samsung.com> wrote:

> On 2017-12-14 05:40 AM, Pekka Paalanen wrote:
> > From: Pekka Paalanen <pekka.paala...@collabora.co.uk>
> > 
> > In order to support clone modes, libweston needs the concept of a head
> > that is separate from weston_output. While weston_output manages buffers
> > and the repaint state machine, weston_head will represent a single
> > monitor. In the future it will be possible to have a single
> > weston_output drive one or more weston_heads for a clone mode that
> > shares the framebuffers between all cloned heads.
> > 
> > All the fields that are obviously properties of the monitor are moved
> > from weston_output into weston_head.
> > 
> > As moving the fields requires one to touch all the backends for all the
> > assingments, introduce setter functions for them while we are here. The
> > setters are identical to the old assignments, for now.
> > 
> > As a temporary measure, weston_output embeds a single head. Also the
> > ugly casts in weston_head_set_monitor_strings() will be removed by a
> > follow-up patch.
> > 
> > Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
> > ---
> >   compositor/cms-colord.c         |  32 ++++++------
> >   libweston/compositor-drm.c      |  15 +++---
> >   libweston/compositor-fbdev.c    |  12 +++--
> >   libweston/compositor-headless.c |   8 +--
> >   libweston/compositor-rdp.c      |   8 +--
> >   libweston/compositor-wayland.c  |  18 ++++---
> >   libweston/compositor-x11.c      |  13 +++--
> >   libweston/compositor.c          | 105 
> > +++++++++++++++++++++++++++++++++++-----
> >   libweston/compositor.h          |  38 +++++++++++++--
> >   9 files changed, 184 insertions(+), 65 deletions(-)
> > 

> >   void
> > +weston_head_set_monitor_strings(struct weston_head *head,
> > +                           const char *make,
> > +                           const char *model,
> > +                           const char *serialno);  
> 
> I was going to complain about the apparently silly trivial helper 
> functions, but their importance becomes obvious later in the series.

Right, and another reason is to pave way for making structs opaque, as
will be necessary for cleaning up the libweston ABI. Well, the setters
are for backends which would be fine having the struct definitions
visible, but I think it fits anyway.

Moving things towards a more proper libweston ABI is an idea carried
throughout the patch series.

> Reviewed-by: Derek Foreman <der...@osg.samsung.com>
> (though I don't want to see any of it land until we can get as far as 
> removing the embedded weston_head in weston_output...)

Very good. We need to get the atomic series landed then, before I can
rebase this series and include the drm-backend migration which is
required for removing the embedded head.


Thanks,
pq

Attachment: pgpggMITfjGZb.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to