Skip to content
  • Daniel Stone's avatar
    backend-drm: Enforce content protection for hardware planes · d32dfcf8
    Daniel Stone authored and Simon Ser's avatar Simon Ser committed
    62626cbf ensures that the GL render will not render a view's content
    to the screen when the surface has requested a higher content-protection
    level than the output currently offers.
    
    When the HDCP MR was split into the core content-protection support in !83
    and specific DRM support for HDCP in !48
    
     (not yet landed), this opened a
    hole where the DRM backend could promote a view to a hardware plane,
    even if the output offered a lower protection level than the surface
    wanted to enforce.
    
    In the DRM backend, check the desired protection level, and refuse to
    promote the view to a hardware plane if the output does not offer
    sufficient protection. This will lead to presentation falling back to
    the renderer, which may censor the content, reduce quality, etc.
    
    Signed-off-by: default avatarDaniel Stone <daniels@collabora.com>
    Fixes: 4b6e73d6 ("libweston: Add support to set content-protection for a weston_surface")
    d32dfcf8