1. 08 Jul, 2019 1 commit
  2. 07 Jul, 2019 2 commits
  3. 05 Jul, 2019 3 commits
  4. 04 Jul, 2019 4 commits
    • Ankit Nautiyal's avatar
      libweston: Add content-protection protocol implementation · 5cfe03c8
      Ankit Nautiyal authored
      This patch adds the content-protection protocol implementation, to
      enable a weston client application to request for content-protection
      for its content via HDCP.
      Signed-off-by: Ankit Nautiyal's avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      5cfe03c8
    • Ankit Nautiyal's avatar
      libweston: Add support to set content-protection for a weston_surface · 4b6e73d6
      Ankit Nautiyal authored
      The protection requested for a given surface, must reach through the
      weston_surface::pending_state, in the commit-cycle for the
      weston_surface, so that it gets updated in the next commit.
      
      As some protection is requested for a given weston_surface, it means
      protection must be set for each of the outputs which show the surface.
      
      While setting the protection of a weston_output, care must be taken
      so as to avoid, degrading the protection of another surfaces, enjoying
      the protection. For this purpose, all the weston_surfaces that are
      shown on a weston_output are checked for their desired protection.
      The highest of all such desired protections must be set for the
      weston_output to avoid degrading of existing protected surfaces.
      A surface requesting protection for a lower content-type can still be
      provided protection for a higher type but the converse cannot be
      allowed.
      
      This patch adds support to set content-protection for a suface, which
      inturn sets the content-protection for each of the outputs on which
      it is shown, provided, none of the existing surface's protection
      request is downgraded.
      Signed-off-by: Ankit Nautiyal's avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      4b6e73d6
    • Ankit Nautiyal's avatar
      libweston: Compute current protection for weston_output and weston_head · 4f64ff8b
      Ankit Nautiyal authored
      The actual protection status for a given weston_head depends upon the
      corresponding drm_head's connector HDCP properties. On the other hand,
      the actual protection for a weston_output is the minimum of the
      protection status of its attached heads.
      As a head's protection changes, the current protection of the output
      to which the head is attached is recomputed.
      
      This patch adds the support to keep track of the current
      content-protection for heads and the outputs.
      Signed-off-by: Ankit Nautiyal's avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      4f64ff8b
    • Ankit Nautiyal's avatar
      libweston: Add support to set content-protection for a weston_output · 2690a770
      Ankit Nautiyal authored
      For making an output secure, the content-protection should be set for
      each of head attached to that output. So whenever the protection for
      a weston_output is desired, it means that protection is desired for
      each of the weston_head attached to that weston_output.
      
      This patch introduces a new enum in libweston to represent the
      requested/current protection statuses, equivalent to the type enum
      defined by the weston-secure-output protocol. The new enum helps to
      extend the content-protection status and requests to libweston and
      the backends.
      This patch also adds a new member desired_protection to store the
      desired protection for an output in weston_output.
      Signed-off-by: Ankit Nautiyal's avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
      2690a770
  5. 01 Jul, 2019 2 commits
  6. 26 Jun, 2019 17 commits
  7. 25 Jun, 2019 7 commits
    • Marius Vlad's avatar
      libweston: Add ingroup tag for weston_compositor · 9fdda7f5
      Marius Vlad authored
      This is a continuation of "e2cc7aa40fd: libweston: Define head, output and
      compositor group".
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad@collabora.com>
      9fdda7f5
    • Marius Vlad's avatar
      libweston: Add ingroup tag for weston_output · 55d8736e
      Marius Vlad authored
      This is a continuation of "e2cc7aa40fd: libweston: Define head, output and
      compositor group".
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad@collabora.com>
      55d8736e
    • Marius Vlad's avatar
      libweston: Define head, output and compositor group · 78984ee9
      Marius Vlad authored
      Also, add tag symbols related to 'weston_head'.
      
      The bridge between sphinx and doxygen (breathe) has a useful directive:
      doxygengroup. By using it we can scoop out symbols we'd like to display
      documentation from/of.
      
      At the same time some bits of the code has been using '\memberof' (a
      doxygen command useful in C code to establish class like
      relationship between objects and functions) but this seems not to be
      recognized by the sphinx bridge.
      
      Until we find a better solution, we replace '\memberof' command with
      '\ingroup' one as to tag the symbols with an "object". This patch does
      that for 'weston_head' object.
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad@collabora.com>
      78984ee9
    • Marius Vlad's avatar
      pixel-formats: Fix doxygen warnings about missing format · eeabe17e
      Marius Vlad authored
      We already have documentation in header which conflicts with the one
      the source code. Remove it entirely as it confuses user as well.
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad@collabora.com>
      eeabe17e
    • Marius Vlad's avatar
      libweston: Fix/clean-up doxygen warnings · a2dace23
      Marius Vlad authored
      This fixes warnings for weston-debug, input, compositor, log and
      linux-explicit-sync. Warnings range from swapping '[in]', '[out]' with
      the function arguments to wrong parameter names.
      Signed-off-by: Marius Vlad's avatarMarius Vlad <marius.vlad@collabora.com>
      a2dace23
    • Daniel Stone's avatar
      compositor-drm: Remove legacy plane and vblank usage · 31838bf1
      Daniel Stone authored
      As of the previous commit, we never create state which uses overlay
      planes on non-atomic drivers. We can thus remove the calls to
      drmModeSetPlane.
      
      The only time we ever waited for vblank events was when we had called
      drmModeSetPlane and needed to make sure we waited until it was active.
      We can thus also remove all the vblank event machinery.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      31838bf1
    • Daniel Stone's avatar
      compositor-drm: Only assign planes with atomic · 87fab1ca
      Daniel Stone authored
      Without atomic modesetting, we have no way to know whether or not our
      desired configuration is usable. It might fail for a number of reasons:
      scaling limits, bandwidth limits, global resource (e.g. decompression)
      unit contention, or really just anything.
      
      Not only this, but there is no good way to ensure that our configuration
      actually lands together in the same refresh cycle - hence the 'atomic'
      in atomic modesetting. Some drivers implement a synchronously blocking
      drmModeSetPlane, whereas others return immediately. Using overlay planes
      can thus decimate your framerate.
      
      The pre-atomic API is not extensible either, so we need numerous out
      clauses: fail if we're cropping or scaling (sometimes), or changing
      formats, or fencing, or ...
      
      Now we've had atomic support stable for a couple of releases, just
      remove support for doing anything more fancy than displaying our
      composited output and a cursor with drivers which don't support atomic
      modesetting.
      
      Support for using overlay planes was already disabled by default when
      using the legacy API, and required a debug key combination to toggle it
      on by flipping the sprites_are_broken variable. We can ensure that we
      never try to use it on legacy by simply ignoring the hotkey when in
      legacy mode.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
      87fab1ca
  8. 20 Jun, 2019 2 commits
    • Stefan Agner's avatar
      backend-rdp: allow to force compression off · b0e16d4c
      Stefan Agner authored
      By default the client communicates its preference with regards to
      compression to the server. However, some clients always use
      compression, which is not ideal for certain environments (e.g.
      low performance embedded devices in a local network with plenty
      of bandwidth). Allow to disable compression server-side which will
      override the clients request for compression.
      Signed-off-by: Stefan Agner's avatarStefan Agner <stefan@agner.ch>
      b0e16d4c
    • Stefan Agner's avatar
      backend-rdp: fix memory leak · d93c0f70
      Stefan Agner authored
      Free command data after all rects have been updated. This fixes a
      rather huge memory leak when using the RDP backend.
      Signed-off-by: Stefan Agner's avatarStefan Agner <stefan@agner.ch>
      d93c0f70
  9. 13 Jun, 2019 2 commits