1. 17 Jul, 2015 1 commit
    • Derek Foreman's avatar
      input: Pass the appropriate pointer type to bindings instead of a seat · 8ae2db5b
      Derek Foreman authored
      Normally we need to check if a seat's [device_type]_count is > 0 before
      we can use the associated pointer.  However, in a binding you're
      guaranteed that the seat has a device of that type.  If we pass in
      that type instead of the seat, it's obvious we don't have to test it.
      The bindings can still get the seat pointer via whatever->seat if they
      need it.
      This is preparation for a follow up patch that prevents direct access
      to seat->device_type pointers, and this will save us a few tests at
      that point.
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      Signed-off-by: default avatarDerek Foreman <derekf@osg.samsung.com>
  2. 16 Jun, 2015 2 commits
  3. 15 Jun, 2015 1 commit
  4. 22 May, 2015 1 commit
  5. 18 May, 2015 2 commits
  6. 08 Apr, 2015 3 commits
  7. 26 Mar, 2015 2 commits
  8. 20 Mar, 2015 2 commits
  9. 11 Mar, 2015 1 commit
  10. 09 Mar, 2015 1 commit
  11. 04 Mar, 2015 1 commit
  12. 25 Feb, 2015 2 commits
  13. 24 Feb, 2015 1 commit
    • Pekka Paalanen's avatar
      compositor: turn weston_view boundingbox into masked · 25c0ca57
      Pekka Paalanen authored
      weston_view::transform.boundingbox is made to include the layer mask,
      which removes the need for masked_boundingbox.
      The following were using boundingbox when they should have used
      - drm_output_prepare_overlay_view() uses boundingbox to compute overlay
        position, source and destination coordinates.
      - drm_assign_planes() uses boundingbox for view overlap checks.
      - is_view_not_visible() uses boundingbox, but nothing will show outside
        the layer mask.
      - weston_surface_assign_output() intersects boundingbox with output
        region to choose the primary output for a surface.
      - weston_view_assign_output() intersects boundingbox with output region
        to pick the outputs the view is on.
      This patch essentially changes all those cases to use the masked
      Therefore there are no cases which would need the boundingbox without
      the layer mask, and we can convert boundingbox into masked and remove
      the left-over member.
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      [v2: don't move the decl of 'mask' in weston_view_update_transform]
      Reviewed-By: default avatarGiulio Camuffo <giuliocamuffo@gmail.com>
  14. 28 Nov, 2014 2 commits
  15. 21 Nov, 2014 1 commit
  16. 10 Oct, 2014 1 commit
  17. 23 Jul, 2014 1 commit
    • Giulio Camuffo's avatar
      compositor: add a masking mechanism to weston_layer · 95ec0f95
      Giulio Camuffo authored
      this adds a mechanism to mask the views belonging to a layer
      to an arbitrary rect, in the global space. The parts that don't fit
      in that rect will be clipped away.
      Supported by the gl and pixman renderer only for now.
  18. 07 Apr, 2014 2 commits
    • Neil Roberts's avatar
      gl-renderer: Keep track of the GL format used for SHM buffers · 4d085e70
      Neil Roberts authored
      If the client attaches a new SHM buffer with a different format from a
      previous one then we ought to trigger a full upload so that GL can
      allocate a new texture. Otherwise Weston would technically be doing
      invalid operations because it would call glTexSubImage2D with a
      different format from the one specified in glTexImage2D. Presumably it
      would also mean GL would have to convert the buffer as it copies the
      sub-region in which isn't ideal.
      This patch makes it decide the GL format when the buffer is attached
      instead of when processing the damage and it will set
      needs_full_upload if it is different from what it used before.
    • Neil Roberts's avatar
      Always use glTexImage2D instead of glTexSubImage2D for first upload · 39a443ff
      Neil Roberts authored
      Previously when uploading SHM data we would initialise the texture
      with glTexImage2D and NULL data when the buffer is attached. Then if
      the GL_EXT_unpack_subimage extension is available we would always use
      glTexSubImage2D to upload the data. The problem with that is that the
      first glTexImage2D was always setting the internal format to
      GL_BGRA_EXT and then if a 16-bit texture is used we would later call
      glTexSubImage2D with a data format of GL_RGBA. Under GLES2 the
      internal format must always match the data format so this is
      technically invalid.
      This patch makes it so that it always calls glTexImage2D when flushing
      the damage for the first time. That way it will use the right internal
      format and we don't need to call glTexImage2D with NULL data.
  19. 03 Apr, 2014 1 commit
  20. 01 Apr, 2014 1 commit
  21. 12 Mar, 2014 2 commits
    • Neil Roberts's avatar
      Add support for having different GBM formats for different outputs · 77c1a5b7
      Neil Roberts authored
      The gbm-format configuration option can now be specified per-output as
      well as in the core config section. If it is not specified it will
      default to the format specified in the core section. The
      EGL_MESA_configless_context extension is required for this to work. If
      this extension is available it will create a context without an
      EGLConfig and then it will potentially use a different EGLConfig for
      each output.
      The gl-renderer interface has been changed so that it takes the EGL
      attributes and visual ID in the create_output function as well as in
      the create function.
    • Neil Roberts's avatar
      Split gl_renderer_setup into two functions · b7f8533e
      Neil Roberts authored
      Part of the gl_renderer_setup function only deals with checking EGL
      extensions and doesn't need to have a current context. This patch
      moves these checks so that they are done during gl_renderer_create
      instead of waiting until we have an output. We will need this in a
      later patch because some of the EGL extensions will affect how we
      create the EGLSurface.
  22. 10 Feb, 2014 1 commit
  23. 06 Feb, 2014 2 commits
  24. 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
       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.
  25. 28 Nov, 2013 2 commits
  26. 19 Nov, 2013 2 commits
    • Ander Conselvan de Oliveira's avatar
      gl-renderer: Attach buffer during surface state creation if possible · 895b1fdc
      Ander Conselvan de Oliveira authored
      When a renderer switch happens, it is possible that when the surface
      state is created, a buffer for the given surface is already available.
      In that case, run the attach routine so that the pixel contents are
      properly set. Otherwise, it would only be set when a new attach request
      is made for that surface.
      Also, change the drm backend so that it keeps the buffer reference in
      the weston_surface when running with the pixman renderer. The pixman
      renderer keeps a reference to it anyway, so it is never released
      This makes the renderer transition seamless, without leaving a black
      screen as before.
    • Ander Conselvan de Oliveira's avatar
      compositor-drm: Add key binding to switch from pixman to GL renderer · 65796816
      Ander Conselvan de Oliveira authored
      When running with the pixman renderer, the debug binding 'W'
      (mod-shift-space W) will cause the compositor to load gl-renderer.so
      and start using it instead of the pixman renderer.
  27. 14 Nov, 2013 1 commit
    • Neil Roberts's avatar
      Add calls to wl_shm_buffer_begin/end_access · e505171a
      Neil Roberts authored
      This wraps all accesses to an SHM buffer between wl_shm_buffer_begin
      and end so that wayland-shm can install a handler for SIGBUS and catch
      attempts to pass the compositor a buffer that is too small.