1. 21 May, 2015 1 commit
  2. 31 Mar, 2015 2 commits
  3. 24 Feb, 2015 1 commit
  4. 13 Feb, 2015 1 commit
  5. 28 Nov, 2014 1 commit
  6. 21 Aug, 2014 1 commit
  7. 23 Jul, 2014 1 commit
    • Giulio Camuffo's avatar
      compositor: keep track of the weston_layer a weston_view is in · 412e6a59
      Giulio Camuffo authored
      This introduces a new struct, weston_layer_entry, which is now used
      in place of wl_list to keep the link for the layer list in weston_view
      and the head of the list in weston_layer.
      weston_layer_entry also has a weston_layer*, which points to the layer
      the view is in or, in the case the entry it's the head of the list, to
      the layer itself.
      412e6a59
  8. 18 Feb, 2014 1 commit
    • Emilio Pozuelo Monfort's avatar
      tests: Properly report skipped tests · dae8a4b9
      Emilio Pozuelo Monfort authored
      We were calling exit(0) when tests were skipped, which counted
      them as passed instead of skipped. Fix this by properly exiting
      with 77 (which is what automake expects for skipped tests) from
      the tests themselves, then returning 77 again from weston-test-runner
      if all the tests were skipped. Finally the weston-test.so module
      catches weston-test-runner's exit code and uses it as an exit code,
      which is what automake will see and use.
      Signed-off-by: default avatarEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
      dae8a4b9
  9. 08 Dec, 2013 1 commit
    • Neil Roberts's avatar
      tests: Test whether a simple EGL main loop uses too many buffers · 40c0c3f9
      Neil Roberts authored
      This adds a test that tries to simulate a simple game loop that would
      be like this:
      
      while (1) {
              draw_something();
              eglSwapBuffers();
      }
      
      In this case the test is relying on eglSwapBuffers to throttle to a
      sensible frame rate.
      
      The test then verifies that only 2 EGL buffers are used. This is done
      via a new request and event in the wayland-test protocol.
      
      Currently this causes 3 buffers to be created because the release
      event generated by the swap buffers is not processed by Mesa until it
      blocks for the frame complete event in the next swap buffers call, but
      that is too late.
      
      This can be fixed in Mesa by issuing a sync request after the swap
      buffers and blocking on it before deciding whether to allocate a new
      buffer.
      40c0c3f9
  10. 03 Dec, 2013 1 commit
    • Jason Ekstrand's avatar
      Remove the weston_view.geometry.width/height fields · 918f2dd4
      Jason Ekstrand authored
      This has a couple of additional implications for the internal weston API:
       1) weston_view_configure no longer exists.  Use weston_view_set_position
          instead.
       2) The weston_surface.configure callback no longer takes a width and
          height.  If you need these, surface.width/height are set before
          configure is called.  If you need to know when the width/height
          changes, you must track that yourself.
      918f2dd4
  11. 22 Nov, 2013 1 commit
    • Pekka Paalanen's avatar
      tests: allow weston test plugin to keep on running · f72e4797
      Pekka Paalanen authored
      If the environment variable WESTON_TEST_CLIENT_PATH is not set, do not
      quit Weston in the test plugin.
      
      This allows one to start Weston with the test plugin manually, and then
      run any tests also manually, while observing Weston's behaviour over
      time. This is useful for:
      - Running a test multiple times and checking if Weston leaks (e.g. with
        Valgrind)
      - Running tests manually on a backend that is not x11 or wayland,
        especially the backends that require weston-launch, and therefore
        cannot be used with the 'make check' machinery.
      
      This change should not affect 'make check' behaviour, because there
      WESTON_TEST_CLIENT_PATH is always set.
      
      Cc: U. Artie Eoff <ullysses.a.eoff@intel.com>
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      f72e4797
  12. 14 Nov, 2013 1 commit
    • Kristian H. Kristensen's avatar
      weston-test: Always update transform when moving surface · ace0a392
      Kristian H. Kristensen authored
      weston_view_update_transform() will post damage in the old and new
      positions of the view and thus make sure we always repaint properly.
      In particular, in bug 66133, the test suite moves the surface off
      any output and weston_surface_schedule_repaint() in commit fails to
      do anything, since the surface is not on any output.
      
      After changing view geometry, we have to either call
      weston_compositor_schedule_repaint(), which is what shell.c typically
      does, though that repaints all outputs, or call
      weston_view_update_transform() to force update the transformation
      and queue repaints on affected outputs.
      
      https://bugs.freedesktop.org/show_bug.cgi?id=66133
      ace0a392
  13. 22 Oct, 2013 2 commits
    • Jason Ekstrand's avatar
      Split the geometry information from weston_surface out into weston_view · a7af7043
      Jason Ekstrand authored
      The weston_surface structure is split into two structures:
      
       * The weston_surface structure storres everything required for a
         client-side or server-side surface.  This includes buffers; callbacks;
         backend private data; input, damage, and opaque regions; and a few other
         bookkeeping bits.
      
       * The weston_view structure represents an entity in the scenegraph and
         storres all of the geometry information.  This includes clip region,
         alpha, position, and the transformation list as well as all of the
         temporary information derived from the geometry state.  Because a view,
         and not a surface, is a scenegraph element, the view is what is placed
         in layers and planes.
      
      There are a few things worth noting about the surface/view split:
      
       1. This is *not* a modification to the protocol.  It is, instead, a
          modification to Weston's internal scenegraph to allow a single surface
          to exist in multiple places at a time.  Clients are completely unaware
          of how many views to a particular surface exist.
      
       2. A view is considered a direct child of a surface and is destroyed when
          the surface is destroyed.  Because of this, the view.surface pointer is
          always valid and non-null.
      
       3. The compositor's surface_list is replaced with a view_list.  Due to
          subsurfaces, building the view list is a little more complicated than
          it used to be and involves building a tree of views on the fly whenever
          subsurfaces are used.  However, this means that backends can remain
          completely subsurface-agnostic.
      
       4. Surfaces and views both keep track of which outputs they are on.
      
       5. The weston_surface structure now has width and height fields.  These
          are populated when a new buffer is attached before surface.configure
          is called.  This is because there are many surface-based operations
          that really require the width and height and digging through the views
          didn't work well.
      Signed-off-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      a7af7043
    • Kristian H. Kristensen's avatar
      compositor: Remove redundant and not well-defined focus field · 10ddd97e
      Kristian H. Kristensen authored
      It was never clear what this field really did.
      10ddd97e
  14. 08 Aug, 2013 1 commit
  15. 09 Jul, 2013 1 commit
  16. 03 Jul, 2013 2 commits
  17. 25 Jun, 2013 1 commit
  18. 14 May, 2013 1 commit
    • Ossama Othman's avatar
      config-parser: Honor XDG_CONFIG_DIRS · a50e6e4c
      Ossama Othman authored
      This set of changes adds support for searching for a given config file
      in the directories listed in $XDG_CONFIG_DIRS if it wasn't found in
      $XDG_CONFIG_HOME or ~/.config.  This allows packages to install custom
      config files in /etc/xdg/weston, for example, thus allowing them to
      avoid dealing with home directories.
      
      To avoid a TOCTOU race the config file is actually open()ed during the
      search.  Its file descriptor is returned and stored in the compositor
      for later use when performing subsequent config file parses.
      Signed-off-by: default avatarOssama Othman <ossama.othman@intel.com>
      a50e6e4c
  19. 07 May, 2013 3 commits
  20. 28 Mar, 2013 1 commit
    • Giulio Camuffo's avatar
      sdk: be C++ friendly · 7fe01b18
      Giulio Camuffo authored
      This renames the weston_surface's private member to configure_private
      and externs "C" the headers of the SDK.
      7fe01b18
  21. 19 Mar, 2013 1 commit
  22. 28 Feb, 2013 1 commit
  23. 27 Feb, 2013 1 commit
    • Giulio Camuffo's avatar
      compositor: call configure on surfaces with a null buffer too · 184df50d
      Giulio Camuffo authored
      This way the shell can know when a surface has been unmapped by
      checking the value returned by weston_surface_is_mapped(surface).
      The configure handlers have now width and height parameters, so
      they do not need anymore to check manually the buffer size.
      If a surface's buffer is NULL the width and height passed to the
      configure are both 0.
      Configure is now only called after an attach. The variable
      weston_surface.pending.newly_attached is set to 1 on attach, and
      after the configure call is reset to 0.
      184df50d
  24. 20 Feb, 2013 1 commit
  25. 15 Feb, 2013 1 commit
  26. 11 Dec, 2012 1 commit