Skip to content

backend-drm: Enforce content protection for hardware planes

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 (closed) and specific DRM support for HDCP in !48 (merged) (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: Daniel Stone Fixes: 4b6e73d6 ("libweston: Add support to set content-protection for a weston_surface")

Merge request reports