1. 19 Jun, 2019 2 commits
  2. 22 Apr, 2019 1 commit
  3. 18 Apr, 2019 3 commits
  4. 02 Apr, 2019 1 commit
  5. 07 Feb, 2019 1 commit
  6. 06 Feb, 2019 2 commits
    • Pekka Paalanen's avatar
      libweston: export weston_config API · 1ed3506b
      Pekka Paalanen authored
      Make it official that libweston will export the weston_config API, as requested
      in wayland/weston!29 .
      
      There is no other way third party helper clients could access the API.
      
      The autotools build has been accidentally exporting it all the time, but the
      Meson build needed fixing.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.com>
      1ed3506b
    • Alexandros Frantzis's avatar
      libweston: Support zwp_surface_synchronization_v1.set_acquire_fence · acff29b3
      Alexandros Frantzis authored
      Implement the set_acquire_fence request of the
      zwp_surface_synchronization_v1 interface.
      
      The implementation uses the acquire fence in two ways:
      
      1. If the associated buffer is used as GL render source, an
         EGLSyncKHR is created from the fence and used to synchronize
         access.
      2. If the associated buffer is used as a plane framebuffer,
         the acquire fence is treated as an in-fence for the atomic
         commit operation. If in-fences are not supported and the buffer
         has an acquire fence, we don't consider it for plane placement.
      
      If the used compositor/renderer doesn't support explicit
      synchronization, we don't advertise the protocol at all. Currently only
      the DRM and X11 backends when using the GL renderer advertise the
      protocol for production use.
      
      Issues for discussion
      ---------------------
      
      a. Currently, a server-side wait of EGLSyncKHR is performed before
         using the EGLImage/texture during rendering. Unfortunately, it's not clear
         from the specs whether this is generally safe to do, or we need to
         sync before glEGLImageTargetTexture2DOES. The exception is
         TEXTURE_EXTERNAL_OES where the spec mentions it's enough to sync
         and then glBindTexture for any changes to take effect.
      
      Changes in v5:
        - Meson support.
        - Make explicit sync server error reporting more generic, supporting
          all explicit sync related interfaces not just
          wp_linux_surface_synchronization.
        - Fix typo in warning for missing EGL_KHR_wait_sync extension.
        - Support minor version 2 of the explicit sync protocol (i.e., support
          fences for opaque EGL buffers).
      
      Changes in v4:
        - Introduce and use fd_clear and and fd_move helpers.
        - Don't check for a valid buffer when updating surface acquire fence fd
          from state.
        - Assert that pending state acquire fence fd is always clear
          after a commit.
        - Clarify that WESTON_CAP_EXPLICIT_SYNC applies to just the
          renderer.
        - Check for EGL_KHR_wait_sync before using eglWaitSyncKHR.
        - Dup the acquire fence before passing to EGL.
      
      Changes in v3:
        - Keep acquire_fence_fd in surface instead of buffer.
        - Clarify that WESTON_CAP_EXPLICIT_SYNC applies to both backend and
          renderer.
        - Move comment about non-ownership of in_fence_fd to struct
          drm_plane_state definition.
        - Assert that we don't try to use planes with in-fences when using the
          legacy KMS API.
        - Remove unnecessary info from wayland error messages.
        - Handle acquire fence for subsurface commits.
        - Guard against self-update in fd_update.
        - Disconnect the client if acquire fence EGLSyncKHR creation or wait
          fails.
        - Use updated protocol interface names.
        - User correct format specifier for resource ids.
        - Advertise protocol for X11 backend with GL renderer.
      
      Changes in v2:
        - Remove sync file wait fallbacks.
        - Raise UNSUPPORTED_BUFFER error at commit if we have an acquire
          fence, but the committed buffer is not a valid linux_dmabuf.
        - Don't put buffers with in-fences on planes that don't support
          in-fences.
        - Don't advertise explicit sync protocol if backend does not
          support explicit sync.
      Signed-off-by: Alexandros Frantzis's avatarAlexandros Frantzis <alexandros.frantzis@collabora.com>
      acff29b3
  7. 31 Dec, 2018 1 commit
  8. 20 Dec, 2018 2 commits
    • Pekka Paalanen's avatar
      build: replace IN_WESTON with UNIT_TEST · a23ce295
      Pekka Paalanen authored
      Remove IN_WESTON in favour of the already defined UNIT_TEST which is
      used to modify a compilation unit to expose more functions for unit
      tests to prod at.
      
      Originally IN_WESTON meant that compilation unit was being compiled for
      use in the Weston compositor, but it probably never really did anything
      more than change what WL_EXPORT means in matrix.c.
      
      This patch not only simplifies the logic, but it fixes the Meson build
      of test-matrix: IN_WESTON was defined there even when matrix.c was being
      built outside of Weston, which caused it to depend on libwayland
      headers, which were not included in the Meson build of test-matrix.
      Test-matrix has no reason to depend in libwayland in any way, so this
      patch fixes that.
      Reported-by: myfreeweb's avatarGreg V <greg@unrelenting.technology>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      a23ce295
    • myfreeweb's avatar
      3eaa57a7
  9. 15 Dec, 2018 1 commit
  10. 09 Dec, 2018 2 commits
    • Daniel Stone's avatar
      Add Meson build system · 8011b0fa
      Daniel Stone authored
      Meson is a build system, currently implemented in Python, with multiple
      output backends, including Ninja and Make. The build file syntax is
      clean and easy to read unlike autotools. In practise, configuring and
      building with Meson and Ninja has been observed to be much faster than
      with autotools. Also cross-building support is excellent.
      
      More information at http://mesonbuild.com
      
      Since moving to Meson requires some changes from users in any case, we
      took this opportunity to revamp build options. Most of the build options
      still exist, some have changed names or more, and a few have been
      dropped. The option to choose the Cairo flavour is not implemented since
      for the longest time the Cairo image backend has been the only
      recommended one.
      
      This Meson build should be fully functional and it installs everything
      an all-enabled autotools build does. Installed pkg-config files have
      some minor differences that should be insignificant. Building of some
      developer documentation that was never installed with autotools is
      missing.
      
      It is expected that the autotools build system will be removed soon
      after the next Weston release.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Co-authored-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      8011b0fa
    • Pekka Paalanen's avatar
      shared: remove fallback definition of backtrace() · 67a97f2b
      Pekka Paalanen authored
      The user of backtrace() was removed in
      bb707dc0 and has been unused since.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pq@iki.fi>
      67a97f2b
  11. 15 Nov, 2018 1 commit
    • Dima Ryazanov's avatar
      Don't look for weston.ini in the current working directory · ad0d83bd
      Dima Ryazanov authored
      It's a bit surprising that Weston looks different when launched from the root
      of the git repo vs from elsewhere.
      
      But it's also technically a security vulnerability: if I launch it from
      a directory like /tmp, it might pick up a weston.ini created by another user,
      which could then load modules with arbitrary code. Basically, it's the same
      problem as including "." in $PATH.
      Signed-off-by: Dima Ryazanov's avatarDima Ryazanov <dima@gmail.com>
      ad0d83bd
  12. 09 Jul, 2018 1 commit
    • Daniel Stone's avatar
      helpers: Move static_assert definition to shared · 11f91bbd
      Daniel Stone authored
      Collect the fallback definitions of static_assert() from desktop-shell
      and the test shell, and move them to helpers.h. This allows code
      throughout the tree to use static_assert() for build-time assertions,
      where it is supported by the compiler.
      
      As GCC goes out of its way to only add static_assert() when C11 has been
      explicitly requested - which we don't do - make sure to use the more
      widely available _Static_assert() if that is provided.
      
      This will be used in future patches to ensure two array lengths don't go
      out of sync.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      11f91bbd
  13. 20 Jun, 2018 1 commit
  14. 20 Feb, 2018 1 commit
  15. 09 Feb, 2018 2 commits
  16. 07 Feb, 2018 2 commits
  17. 18 Jan, 2018 1 commit
    • Emmanuel Gil Peyrot's avatar
      xwm: Add icon support to the frame · 6b58ea8c
      Emmanuel Gil Peyrot authored
      This fetches the _NET_WM_ICON property of the X11 window, and use the
      first image found as the frame icon.
      
      This has been tested with various X11 programs, and improves usability
      and user-friendliness a bit.
      
      Changes since v1:
      - Changed frame_button_create() to use
        frame_button_create_from_surface() internally.
      - Removed a check that should never have been commited.
      
      Changes since v2:
      - Request UINT32_MAX items instead of 2048, to avoid cutting valid
        icons.
      - Strengthen checks against malformed input.
      - Handle XCB_PROPERTY_DELETE to remove the icon.
      - Schedule a repaint if the icon changed.
      
      Changes since v3:
      - Keep the previous Cairo surface until the new one has been
        successfully loaded.
      - Use uint32_t for cardinals.  Unsigned is the same type except on
        16-bit machines, but uint32_t is clearer.
      - Declare length as uint32_t too, like in xcb_get_property_reply_t.
      Signed-off-by: default avatarEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      6b58ea8c
  18. 18 Dec, 2017 2 commits
  19. 05 Dec, 2017 2 commits
  20. 04 Dec, 2017 2 commits
  21. 27 Nov, 2017 2 commits
  22. 02 Oct, 2017 1 commit
  23. 29 Sep, 2017 2 commits
  24. 12 Jun, 2017 3 commits
  25. 23 May, 2017 1 commit
    • Lyude Paul's avatar
      weston: Add support for "--foo bar" style options · 47bbdc72
      Lyude Paul authored
      A little earlier today I ended up spending a lot of time trying to
      figure out why weston wasn't managing to launch over SSH and telling me
      that I did not have a --tty option specified, despite me passing the
      option strings ["--tty", "3"]. Turns out weston just doesn't support
      that.
      
      So, add support for this kind of format in addition to "--foo=bar" to
      save others from making the same mistake I did.
      
      Changes since v1:
       - Add comment about unreachable boolean check in long_option_with_arg()
       - Convert boolean check in long_option_with_arg() to assert
      Signed-off-by: Lyude Paul's avatarLyude <lyude@redhat.com>
      Reviewed-by: Eric Engestrom's avatarEric Engestrom <eric@engestrom.ch>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      47bbdc72