The flag bits 19-22 of the connector modes, provide the aspect-ratio information. This information can be stored in flags bits of the weston mode structure, so that it can used for setting a mode with a particular aspect-ratio. Currently, DRM layer supports aspect-ratio with atomic-modesetting by default. For legacy modeset path, the user-space needs to set the drm client cap for aspect-ratio, if it wants aspect-ratio information in modes.
This patch:- preserves aspect-ratio flags from kernel video modes and accommodates it in wayland mode.
- uses aspect-ratio to pick the appropriate mode during modeset.- changes the mode format in configuration file weston.ini to accommodate aspect-ratio information as: WIDTHxHEIGHT@REFRESH-RATE ASPECT-RATIO The aspect-ratio can take the following values : 4:3, 16:9, 64:27, 256:135.
v2: As per recommendation from Pekka Paalanen, Quentin Glidic, Daniel Stone, dropped the aspect-ratio info from wayland protocol, thereby avoiding exposure of aspect-ratio to the client.
v3: As suggested by Pekka Paalanen, added aspect_ratio field to store aspect-ratio information from the drm. Also added drm client capability for aspect-ratio, as recommended by Daniel Vetter.
v4: Minor modifications and fixes as suggested by Pekka Paalanen.
v5: Rebased, fixed some styling issues, and added aspect-ratio information while printing weston_modes.
v6: Moved the man pages changes to a different patch. Minor reorganization of code as suggested by Pekka Paalanen.
a21c3931 compositor-drm: Add aspect-ratio parsing support
libweston/compositor-drm.c | 122 +++++++++++++++++++++++++++++++++++++++++----
libweston/compositor.h | 15 ++++++
2 files changed, 126 insertions(+), 11 deletions(-)