1. 12 Jan, 2016 4 commits
  2. 18 Dec, 2015 1 commit
  3. 07 Dec, 2015 1 commit
  4. 03 Dec, 2015 1 commit
    • Derek Foreman's avatar
      protocol: Add wl_surface.damage_buffer · 3384f69e
      Derek Foreman authored
      wl_surface.damage uses surface local co-ordinates.
      
      Buffer scale and buffer transforms came along, and EGL surfaces
      have no understanding of them.
      
      Theoretically, clients pass damage rectangles - in Y-inverted surface
      co-ordinates) to EGLSwapBuffersWithDamage, and the EGL implementation
      passed them on to wayland.  However, for this to work the EGL
      implementation must be able to flip those rectangles into the space
      the compositor is expecting, but it's unable to do so because it
      doesn't know the height of the transformed buffer.
      
      So, currently, EGLSwapBuffersWithDamage is unusable and EGLSwapBuffers
      has to pass (0,0) - (INT32_MAX, INT32_MAX) damage to function.
      
      wl_surface.damage_buffer allows damage to be registered on a surface
      in buffer co-ordinates, avoiding this problem.
      
      Credit where it's due, these ideas are not entirely my own:
      Over a year ago the idea of changing damage co-ordinates to buffer
      co-ordinates was suggested (by Jason Ekstrand), and it was at least
      partially rejected and abandoned.  At the time it was also suggested
      (by Pekka Paalanen) that adding a new wl_surface.damage_buffer request
      was another option.
      
      This will eventually resolve:
      https://bugs.freedesktop.org/show_bug.cgi?id=78190
      
      
      by making the problem irrelevant.
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      Signed-off-by: default avatarDerek Foreman <derekf@osg.samsung.com>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      3384f69e
  5. 27 Nov, 2015 1 commit
  6. 24 Nov, 2015 1 commit
  7. 20 Nov, 2015 1 commit
  8. 19 Nov, 2015 2 commits
  9. 17 Nov, 2015 4 commits
  10. 16 Nov, 2015 3 commits
  11. 06 Nov, 2015 3 commits
  12. 04 Nov, 2015 4 commits
  13. 29 Oct, 2015 1 commit
  14. 26 Oct, 2015 2 commits
  15. 21 Oct, 2015 1 commit
    • Derek Foreman's avatar
      shm: Add shm_buffer ref and shm_pool unref functions · eba83cd5
      Derek Foreman authored
      
      
      Sometimes the compositor wants to make sure a shm pool doesn't disappear
      out from under it.
      
      For example, in Enlightenment, rendering happens in a separate thread
      while the main thread can still dispatch events.  If a client is destroyed
      during rendering, all its resources are cleaned up and its shm pools are
      unmapped.  This causes the rendering thread to segfault.
      
      This patch adds a way for the compositor to increment the refcount of the
      shm pool so it can't disappear, and decrement it when it's finished.
      
      The ref/unref are asymmetrical (ref returns the pool) because it's
      possible the buffer itself will be gone when you need to unref the pool.
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Signed-off-by: default avatarDerek Foreman <derekf@osg.samsung.com>
      eba83cd5
  16. 09 Oct, 2015 2 commits
  17. 08 Oct, 2015 2 commits
  18. 06 Oct, 2015 4 commits
  19. 05 Oct, 2015 1 commit
  20. 22 Sep, 2015 1 commit