1. 27 Nov, 2017 4 commits
  2. 04 Oct, 2017 4 commits
    • Pekka Paalanen's avatar
      libweston: set backend pointer earlier · 7da9a380
      Pekka Paalanen authored
      Change all backends to set the core backend pointer early.
      
      This is necessary for libweston core to be able to access the backend
      vfuncs before the backend init function returns. Particularly,
      weston_output_init() will be needing to inspect the backend vfuncs to
      see if the backend has been converted to a new API. Backends that create
      outputs as part of their init would fail without setting the pointer
      earlier.
      
      For consistency, all backends are modified instead of just those that
      could hit an issue.
      
      Libweston core will take care of resetting the backend pointer to NULL
      in case of error since "libweston: ensure backend is not loaded twice".
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarIan Ray <ian.ray@ge.com>
      Acked-by Daniel Stone <daniels@collabora.com>
      7da9a380
    • Pekka Paalanen's avatar
      libweston: rename weston_output_destroy() to weston_output_release() · ae6d35db
      Pekka Paalanen authored
      'release' is a more appropriate name because the function does not free
      the underlying memory. The main reason for this is that we need the name
      weston_output_destroy() for new API that actually will free also the
      underlying memory.
      
      Since the function is only used in backends and external backends are
      not a thing, this does not cause libweston major version bump, even
      though it does change the ABI. There is no way external users could have
      successfully used this function.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarIan Ray <ian.ray@ge.com>
      Acked-by Daniel Stone <daniels@collabora.com>
      ae6d35db
    • Pekka Paalanen's avatar
      libweston: weston_output_init(..., +name) · 26ac2e12
      Pekka Paalanen authored
      Add 'name' argument to weston_output_init(). This is much more obvious
      than the assert inside weston_output_init() to ensure the caller has set
      a field in weston_output first.
      
      Now weston_output_init() will strdup() the name itself, which means we
      can drop a whole bunch of strdup()s in the backends. This matches
      weston_output_destroy() which was already calling free() on the name.
      
      All backends are slightly reordered to call weston_output_init() before
      accessing any fields of weston_output, except the Wayland backend which
      would make it a little awkward to do it in this patch. Mind, that
      weston_output_init() still does not reset the struct to zero - it is
      presumed the caller has done it, since weston_output is embedded in the
      backend output structs.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarIan Ray <ian.ray@ge.com>
      Reviewed-by: default avatarDavid Fort <contact@hardening-consulting.com>
      [Daniel: document name copying]
      Acked-by Daniel Stone <daniels@collabora.com>
      26ac2e12
    • Pekka Paalanen's avatar
      libweston: move weston_output::mode_list init to core · 42704145
      Pekka Paalanen authored
      Initialize the list in weston_output_init() instead of doing it
      separately in each backend.
      
      One would expect weston_output_init() to initialize all weston_output
      members, at least those that are not NULL.
      
      We rely on the set_size() functions to be called only once, as is
      assert()'d. If set_size() becomes callable multiple times, this patch
      will force them to be fixed to properly manage the mode list instead of
      losing all members.
      
      compositor-wayland.c is strange in
      wayland_output_create_for_parent_output(): it first called
      wayland_output_set_size() that initialized the mode list with a single
      mode manufactured from width and height and set that mode as current.
      Then it continued to reset the mode list and adding the list of modes
      from the parent output, leaving the current mode left to point to a mode
      struct that is no longer in the mode list and with a broken 'link'
      element. This patch changes things such that the manufactured mode is
      left in the list, and the parent mode list is added. This is probably
      not quite right either.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
      Reviewed-by: default avatarIan Ray <ian.ray@ge.com>
      Acked-by Daniel Stone <daniels@collabora.com>
      42704145
  3. 03 Oct, 2017 1 commit
  4. 14 Mar, 2017 1 commit
  5. 27 Jan, 2017 1 commit
    • Daniel Stone's avatar
      compositor-rdp: Fix build with freerdp2, take 2 · cb3f1b01
      Daniel Stone authored
      Hi Pekka,
      
      On 23 January 2017 at 14:15, Pekka Paalanen <ppaalanen@gmail.com> wrote:
      > On Fri, 20 Jan 2017 11:31:08 +0100
      > Emilio Pozuelo Monfort <pochu@debian.org> wrote:
      >> This version works for me...
      >
      > Hi guys,
      >
      > I found another guest to the party. Using net-misc/freerdp-2.0.0_pre20160722
      > Weston master fails to build with:
      >
      >
      > In file included from /usr/include/freerdp2/freerdp/codecs.h:25:0,
      >                  from /usr/include/freerdp2/freerdp/freerdp.h:46,
      >                  from /home/pq/git/weston/libweston/compositor-rdp.c:69:
      > /home/pq/git/weston/libweston/compositor-rdp.c: In function ‘rdp_peer_context_new’:
      > /usr/include/freerdp2/freerdp/codec/color.h:85:72: error: ‘FREERDP_PIXEL_FORMAT_TYPE_BGRA’ undeclared (first use in this function)
      > [... snip ...]
      >
      > However, updating to net-misc/freerdp-2.0.0_pre20161219 allows things
      > to build for me again. There is just one warning:
      
      How about this fixup?
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      cb3f1b01
  6. 20 Jan, 2017 1 commit
  7. 17 Jan, 2017 1 commit
  8. 05 Oct, 2016 2 commits
  9. 03 Oct, 2016 1 commit
    • Armin Krezović's avatar
      weston: Port RDP backend to new output handling API · 8f1dca13
      Armin Krezović authored
      This is a complete port of the RDP backend that uses
      the recently added output handling API for output
      configuration.
      
      Output can be configured at runtime by passing the
      necessary configuration parameters, which can be
      filled in manually or obtained from the command line
      using previously added functionality. It is required
      that the scale and transform values are set using
      the previously added functionality.
      
      After everything has been set, output needs to be
      enabled manually using weston_output_enable().
      
      v2:
      
       - Rename output_configure() to output_set_size()
         in plugin API and describe it.
       - Manually fetch parsed_options from wet_compositor.
       - Call rdp_output_disable() explicitly from
         rdp_output_destroy().
      
      v3:
      
       - Disallow calling rdp_output_set_size more than once.
       - Manually assign a hardcoded name to an output as that's
         now mandatory.
       - Use weston_compositor_add_pending_output().
       - Bump weston_rdp_backend_config version to 2.
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      8f1dca13
  10. 15 Aug, 2016 1 commit
  11. 05 Aug, 2016 1 commit
  12. 26 Jul, 2016 1 commit
  13. 12 Jul, 2016 1 commit
  14. 09 Jul, 2016 1 commit
  15. 23 Jun, 2016 1 commit
  16. 08 Jun, 2016 1 commit
  17. 06 Jun, 2016 1 commit
  18. 19 May, 2016 2 commits
  19. 25 Apr, 2016 1 commit
  20. 23 Mar, 2016 1 commit
  21. 07 Mar, 2016 1 commit
  22. 19 Jan, 2016 3 commits
  23. 03 Dec, 2015 1 commit
  24. 23 Oct, 2015 1 commit
  25. 01 Oct, 2015 1 commit
  26. 07 Aug, 2015 1 commit
  27. 06 Aug, 2015 2 commits
  28. 02 Aug, 2015 1 commit
  29. 24 Jul, 2015 1 commit