1. 02 Aug, 2019 1 commit
  2. 01 Aug, 2019 1 commit
    • Stefan Agner's avatar
      pixman: avoid unnecessary y-flip for screen capture · da2e574c
      Stefan Agner authored
      Commit 4fc5dd00 ("compositor: add capability CAPTURE_YFLIP")
      introduced a capability flag which indicates whether y-flipping is
      necessary. As already indicated in that commit message, it seems
      that pixman flipps the y-axis only due to historic reasons.
      
      Drop y-flipping and use the WESTON_CAP_CAPTURE_YFLIP flag to
      indicate that y-flipping is not necessary. This simplifies code
      and improves screen share performance (on my test by about 3% down
      to 18% CPU load on the sharing instance of Weston).
      Signed-off-by: Stefan Agner's avatarStefan Agner <stefan@agner.ch>
      da2e574c
  3. 18 Jul, 2019 36 commits
  4. 12 Jul, 2019 2 commits
    • Antonio Borneo's avatar
      backend-drm: fix race during system suspend · c90fccc2
      Antonio Borneo authored
      Depending on system loading, weston-launcher could drop the drm
      master access before the compositor and all the clients receive
      the notification. In this case, some commit could be sent to the
      drm driver too late and get refused with error EACCES.
      This error condition is not properly managed and causes weston to
      hang.
      
      Change the return type of start_repaint_loop() and repaint_flush()
      from void to int, and return 0 on success or -1 if the repaint has
      to be cancelled.
      In the callers of start_repaint_loop() and repaint_flush() handle
      the return value and cancel the repaint when needed.
      In backend-drm detect the error EACCES and return -1.
      Note: to keep the code cleaner, this change inverts the execution
      order between weston_output_schedule_repaint_reset() and
      repaint_cancel().
      
      No need to wait for suspend or for any notification; in case the
      weston reschedules a repaint, it will get EACCES again.
      At resume, damage-all guarantees a complete repaint.
      
      This fix is for atomic modeset only.
      Legacy modeset suffers from similar problems, but it is not fixed
      by this change. Since drm_pending_state_apply() never returns
      error for legacy modeset, this change has no impact on legacy
      modeset.
      Signed-off-by: default avatarAntonio Borneo <antonio.borneo@st.com>
      Fixes: #117
      c90fccc2
    • Daniel Stone's avatar
      gl-renderer: Don't leak transformed region · 9c81224e
      Daniel Stone authored
      Unfortunately, our y_invert helper also forgot to free the region it
      transformed to. Clean up our allocation before we exit.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      9c81224e