1. 12 Jun, 2017 4 commits
  2. 07 Apr, 2017 2 commits
    • Pekka Paalanen's avatar
      build: make libdrm a hard build-time dependency · b030897b
      Pekka Paalanen authored
      Libdrm provides headers that are useful even without libdrm.so itself,
      particularly drm_fourcc.h. Therefore promote libdrm as a hard build-time
      dependency of libweston core so that we can always rely on libdrm
      headers.
      
      This does not affect any runtime dependencies. Specifically, no runtime
      dependency to libdrm.so is added in any build configuration.
      
      Currently only gl-renderer is using drm_fourcc.h. Now we can drop the
      GL_RENDERER check from configure.ac and just use LIBDRM_CFLAGS.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      [Pekka, from Quentin: just drop have_libdrm var completely]
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      b030897b
    • Pekka Paalanen's avatar
      configure: replace HAVE_LIBDRM with BUILD_DRM_COMPOSITOR · 2667e9e3
      Pekka Paalanen authored
      HAVE_LIBDRM was used as a condition for the launcher infrastructure to
      call libdrm.so functions. It was set by an independent test for libdrm,
      which would silently continue if libdrm was not found. It was assumed
      that if you enabled a feature that used libdrm at runtime, the test for
      that feature would imply that HAVE_LIBDRM is also set. This was quite
      subtle.
      
      The only feature that actually uses libdrm.so at runtime is the DRM
      backend. No other backend needs the libdrm calls in the launcher
      infrastructure.
      
      Therefore to simplify things, stop using HAVE_LIBDRM and use
      BUILD_DRM_COMPOSITOR instead. If you enable the DRM compositor, you
      automatically also get libdrm support in the launchers.
      
      There are still things depending on LIBDRM_CFLAGS and LIBDRM_LIBS, so
      the test cannot be removed completely.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      2667e9e3
  3. 16 Mar, 2017 1 commit
    • Pekka Paalanen's avatar
      configure: bump libweston to 3.0.0 · 080f1300
      Pekka Paalanen authored
      Bump the future release to 3.0.0 due to breaking ABI in libweston.
      
      We have merged a few patches already that change libweston/compositor.h.
      While most of the changes arguably change only things libweston users
      should not be touching, some change the size of e.g. struct
      weston_output and struct weston_compositor, possibly moving member
      offsets. We also haven't separated public and private parts from
      compositor.h yet. To be on the safe side, bump the major now. I'm sure
      there will be more changes that make the bump obviously necessary.
      
      Cc: Bryce Harrington <bryce@osg.samsung.com>
      Cc: Daniel Stone <daniels@collabora.com>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: default avatarEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      080f1300
  4. 27 Feb, 2017 1 commit
  5. 25 Feb, 2017 1 commit
  6. 21 Feb, 2017 1 commit
  7. 14 Feb, 2017 1 commit
  8. 08 Feb, 2017 1 commit
  9. 25 Jan, 2017 1 commit
  10. 17 Jan, 2017 1 commit
  11. 16 Jan, 2017 2 commits
  12. 15 Jan, 2017 1 commit
  13. 03 Jan, 2017 2 commits
  14. 24 Oct, 2016 1 commit
  15. 03 Oct, 2016 1 commit
    • Armin Krezović's avatar
      libweston: Add more functionality for handling weston_output objects · a01ab6d5
      Armin Krezović authored
      This patch implements additional functionality that will be used
      for configuring, enabling and disabling weston's outputs. Its
      indended use is by the compositors or user programs that want to
      be able to configure, enable or disable an output at any time. An
      output can only be configured while it's disabled.
      
      The compositor and backend specific functionality is required
      for these functions to be useful, and those will come later in
      this series.
      
      All the new functions have been documented, so I'll avoid
      describing them here.
      
      v2:
      
       - Minor documentation improvements.
       - Rename output-initialized to output->enabled.
       - Split weston_output_disable() further into
         weston_compositor_remove_output().
       - Rename weston_output_deinit() to weston_output_enable_undo().
      
       - Make weston_output_disable() call two functions mentioned
         above instead of calling weston_output_disable() directly.
         This means that backend needs to take care of doing backend
         specific disable in backend specific destroy function.
      
      v3:
      
       - Require output->name to be set before calling
         weston_output_init_pending().
       - Require output->destroying to be set before
         calling weston_compositor_remove_output().
       - Split weston_output_init_pending() into
         weston_compositor_add_pending_output() so pending outputs
         can be announced separately.
       - Require output->disable() to be set in order for
         weston_output_disable() to be usable.
       - Fix output removing regression that happened when
         weston_output_disable() was split.
       - Minor documentation fix.
      
      v4:
      
       - Bump libweston version to 2 as this patch breaks the ABI.
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarArmin Krezović <krezovic.armin@gmail.com>
      a01ab6d5
  16. 01 Oct, 2016 1 commit
  17. 23 Sep, 2016 1 commit
  18. 22 Sep, 2016 1 commit
  19. 20 Sep, 2016 1 commit
  20. 13 Sep, 2016 1 commit
  21. 06 Sep, 2016 1 commit
  22. 30 Aug, 2016 2 commits
  23. 16 Aug, 2016 1 commit
  24. 15 Aug, 2016 3 commits
  25. 14 Aug, 2016 1 commit
    • Quentin Glidic's avatar
      Introduce libweston-desktop · 248dd109
      Quentin Glidic authored
      libweston-desktop is an abstraction library for compositors wanting to
      support desktop-like shells.
      
      The API is designed from xdg_shell features, as it will eventually be
      the recommended shell for modern applications to use.
      In the future, adding new shell protocols support will be easier, as
      limited to libweston-desktop.
      
      The library versioning is the same as libweston. If one of them break
      ABI compatibility, the other will too.
      
      The compositor will only ever see toplevel surfaces (“windows”), with
      all the other being internal implementation details.
      Thus, popups and associated grabs are handled entirely in
      libweston-desktop.
      Xwayland special surfaces (override-redirect) are special-cased to a
      dedicated layer, as the compositor should not know about them.
      
      All the shell error checking is taken care of too, as well as some
      specification rules (e.g. sizes constraint for maximized and fullscreen
      surfaces).
      
      All the compositor has to do is define a few callbacks in the interface
      struct, and manage toplevel surfaces.
      Signed-off-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      Acked-by: default avatarGiulio Camuffo <giulio.camuffo@kdab.com>
      
      Differential Revision: https://phabricator.freedesktop.org/D1207
      248dd109
  26. 11 Aug, 2016 1 commit
  27. 02 Aug, 2016 1 commit
  28. 29 Jun, 2016 1 commit
    • Pekka Paalanen's avatar
      tests: introduce struct buffer for client-helper · 924cd948
      Pekka Paalanen authored
      We are growing more tests that need to handle buffers, both just images
      and wl_buffers. Particularly the screenshooting facility needs these.
      Currently everything is in struct surface, which contains more than we
      need. It is a bit messy.
      
      Create a new struct buffer to encapsulate the image representation, the
      wl_buffer, and enough information to tear it all down (munmap) so we
      don't have to leak everything. Some tests might start doing things in
      loops, and leaking would accumulate.
      
      Instead of inventing our own image representation, use pixman_image_t.
      It is a well-tested library worth using, and we already rely on it in
      other places.
      
      This makes the tests depend on Pixman, which requires the fix for
      building buffer-count, which would otherwise not find pixman.h.
      
      The new create_shm_buffer_a8r8g8b8() creates an image with an explicit
      format, and pixman_image_t keeps track of it. And stride and size and
      data. This implementation is still a little hacky due to calling
      create_shm_buffer().
      
      A very new thing is buffer_destroy(). Previously we didn't really free
      any buffers. It is not a problem when the process will exit soon anyway,
      but it may become a problem if tests start iterating things.
      
      Manual memset() on a image is converted to a pixman action, just to show
      how to do it properly with pixman.
      
      Stride and pixel format assumptions still linger all around, but those
      are for another patch.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      924cd948
  29. 23 Jun, 2016 2 commits
  30. 22 Jun, 2016 1 commit