Skip to content
Snippets Groups Projects
  1. Sep 22, 2017
    • Pekka Paalanen's avatar
      compositor-fbdev: remove unused output arguments · 7d1e4b83
      Pekka Paalanen authored
      
      A few functions had argument 'output' which was not used at all. Remove
      such unused arguments.
      
      The coming migration to the head-based output API would have made it
      awkward to come up with the output argument for these, but luckily they
      are not actually needed.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      7d1e4b83
    • Pekka Paalanen's avatar
      libweston: set backend pointer earlier · 3226437c
      Pekka Paalanen authored
      
      Change all backends to set the core backend pointer early.
      
      This is necessary for libweston core to be able to access the backend
      vfuncs before the backend init function returns. Particularly,
      weston_output_init() will be needing to inspect the backend vfuncs to
      see if the backend has been converted to a new API. Backends that create
      outputs as part of their init would fail without setting the pointer
      earlier.
      
      For consistency, all backends are modified instead of just those that
      could hit an issue.
      
      Libweston core will take care of resetting the backend pointer to NULL
      in case of error since "libweston: ensure backend is not loaded twice".
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      3226437c
    • Pekka Paalanen's avatar
      libweston: ensure backend is not loaded twice · 55ff4090
      Pekka Paalanen authored
      
      Check and ensure that a compositor can only load one backend
      successfully. If a backend fails to load, it is theoretically possible
      to try another backend. Once loading succeeds, only destroying the
      compositor would allow "unloading" a backend.
      
      If backend init fail, ensure the backend pointer remains NULL to avoid
      calling into a half-loaded backend on e.g. compositor destruction.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      55ff4090
    • Pekka Paalanen's avatar
      libweston: rename weston_output_destroy() to weston_output_release() · 752e8ffd
      Pekka Paalanen authored
      
      'release' is a more appropriate name because the function does not free
      the underlying memory. The main reason for this is that we need the name
      weston_output_destroy() for new API that actually will free also the
      underlying memory.
      
      Since the function is only used in backends and external backends are
      not a thing, this does not cause libweston major version bump, even
      though it does change the ABI. There is no way external users could have
      successfully used this function.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      752e8ffd
    • Pekka Paalanen's avatar
      libweston: send more wl_surface.enter/leave events · d8bbb4d3
      Pekka Paalanen authored
      
      A client may have bound the same wl_output multiple times, for who knows
      what reason. As the server cannot know which wl_output resource to use
      for which wl_surface, send enter/leave events for all of them.
      
      This is a protocol correctness fix.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      d8bbb4d3
    • Pekka Paalanen's avatar
      compositor-drm: set all properties in create_output_for_connector · d4822982
      Pekka Paalanen authored
      
      Move the remaining scattered setup of the fixed properties into
      create_output_for_connector(). All these are already known and they
      cannot change.
      
      This helps future refactoring.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      d4822982
    • Pekka Paalanen's avatar
      compositor-drm: set output make/model/serial once · 75cb9178
      Pekka Paalanen authored
      
      This fixes a regression where monitor make and model would always be
      advertised as "unknown" to Wayland clients. The EDID strings were parsed
      at create_output_for_connector() time, but the fallback "unknown" values
      were set in weston_drm_output_api::set_mode vfunc later. This made the
      correct monitor info be shown in the log, but not sent to clients.
      
      The purpose of the "unknown" assignments is to give fallback values in
      case EDID is not providing them.
      
      Fix all that by moving all setting of the make, model and serial into
      create_output_for_connector(). These values cannot change afterwards
      anyway. While at it, document find_and_parse_output_edid().
      
      The ugly casts in create_output_for_connector() are required to silence
      compositor warnings from ignoring const attribute. This is temporary,
      and a future refactoring will get rid of the casts.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      75cb9178
    • Pekka Paalanen's avatar
      compositor-wayland: move output init into common, fix error path · 17ba3a11
      Pekka Paalanen authored
      
      Move the weston_output_init() call into wayland_output_create_common().
      This avoids passing the name twice to different functions, and follows
      the precedent set in "libweston: weston_output_init(..., +name)" for
      calling init before accessing fields.
      
      Since the error paths in wayland_output_create_for_parent_output() and
      wayland_output_create_fullscreen() are now guaranteed to have
      weston_output init'd, call weston_output_destroy() appropriately. There
      might be more to free than just the name.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      17ba3a11
    • Pekka Paalanen's avatar
      libweston: weston_output_init(..., +name) · f065481b
      Pekka Paalanen authored
      
      Add 'name' argument to weston_output_init(). This is much more obvious
      than the assert inside weston_output_init() to ensure the caller has set
      a field in weston_output first.
      
      Now weston_output_init() will strdup() the name itself, which means we
      can drop a whole bunch of strdup()s in the backends. This matches
      weston_output_destroy() which was already calling free() on the name.
      
      All backends are slightly reordered to call weston_output_init() before
      accessing any fields of weston_output, except the Wayland backend which
      would make it a little awkward to do it in this patch. Mind, that
      weston_output_init() still does not reset the struct to zero - it is
      presumed the caller has done it, since weston_output is embedded in the
      backend output structs.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      f065481b
    • Pekka Paalanen's avatar
      tests: ensure output dependent IVI tests run · 25901bcc
      Pekka Paalanen authored
      
      There are IVI tests that require an output. Previously these tests would
      silently skip if no outputs were present. However, a test setup should
      always have outputs with these tests. Skipping could easily leave the
      tests dead without notice.
      
      Make these tests fail instead of skip if there are no outputs.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      25901bcc
    • Pekka Paalanen's avatar
      compositor-wayland: use asprintf for output title · 0c15a25e
      Pekka Paalanen authored
      
      Simplifies the code, and makes moving weston_output_init() into
      wayland_output_create_common() a little easier.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      0c15a25e
    • Pekka Paalanen's avatar
      compositor-drm: use asprintf in make_connector_name() · aeb20901
      Pekka Paalanen authored
      
      Gets rid of the constant size char array.
      
      While here, document the function.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      aeb20901
    • Pekka Paalanen's avatar
      libweston: move weston_output::mode_list init to core · 80fc7c65
      Pekka Paalanen authored
      
      Initialize the list in weston_output_init() instead of doing it
      separately in each backend.
      
      One would expect weston_output_init() to initialize all weston_output
      members, at least those that are not NULL.
      
      We rely on the set_size() functions to be called only once, as is
      assert()'d. If set_size() becomes callable multiple times, this patch
      will force them to be fixed to properly manage the mode list instead of
      losing all members.
      
      compositor-wayland.c is strange in
      wayland_output_create_for_parent_output(): it first called
      wayland_output_set_size() that initialized the mode list with a single
      mode manufactured from width and height and set that mode as current.
      Then it continued to reset the mode list and adding the list of modes
      from the parent output, leaving the current mode left to point to a mode
      struct that is no longer in the mode list and with a broken 'link'
      element. This patch changes things such that the manufactured mode is
      left in the list, and the parent mode list is added. This is probably
      not quite right either.
      
      Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      80fc7c65
  2. Sep 18, 2017
  3. Sep 04, 2017
  4. Aug 30, 2017
  5. Aug 28, 2017
  6. Aug 16, 2017
  7. Aug 11, 2017
  8. Aug 08, 2017
  9. Aug 05, 2017
  10. Aug 01, 2017
  11. Jul 28, 2017
  12. Jul 27, 2017
Loading