weston/include/libweston
Pekka Paalanen 53493aaddc libweston: add colorimetry_mode API
This API is mostly for use by the DRM-backend. Colorimetry mode is is
the KMS connector property "Colorspace" which defines the video signal
encoding colorimetry. A video sink indicates the supported modes in EDID
or DisplayID.

This patch adds the libweston API that allows backends to indicate the
supported modes for the frontends, and frontends to set the mode to be
used by backends. Colorimetry mode does not directly affect color
management inside Weston, it is only metadata for the video sink. It is
the frontend's responsibility to set up an output color profile that
agrees with the colorimetry mode. (That API has not been implemented
yet.) eotf_mode will be the same.

There is only one reason to make this a libweston core API instead of
a backend-drm API: when wayland-backend gains color-management protocol
support, meaning it can forward WCG and HDR content correctly to a
host compositor, the supported colorimetry modes can be determined from
the host compositor's supported color-management features, allowing the
guest Weston to pick some other output image description than the host
compositor's preferred image description. This likely allows only a few
other choices from standard colorspaces, so it's possible this isn't
sufficient for that use case.

Either way, it is easy to just copy the eotf_mode API design, and since
colorimetry_mode and eotf_mode go together, let both have the same API
design. It is possible to convert this to backend-drm API later.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2024-05-06 10:39:42 +00:00
..
backend-drm.h backend-drm: add additional-devices to support multi GPU 2023-03-03 08:08:46 +00:00
backend-headless.h backend-headless: Add support to repaint only on captures 2024-02-22 14:26:32 +00:00
backend-pipewire.h backend-pipewire: pass backend to weston_pipewire_output_api::create_head() 2023-04-19 13:36:45 +00:00
backend-rdp.h rdp: Add preliminary rdp multihead support 2023-01-10 12:12:49 +00:00
backend-vnc.h compositor, backend-vnc: Allow to disable output resizing 2023-10-05 11:43:12 +02:00
backend-wayland.h backend-wayland: Use renderer enum type for config selection 2023-01-10 10:59:04 +02:00
backend-x11.h backend-x11: Use renderer enum type for config selection 2023-01-10 10:59:04 +02:00
config-parser.h libweston, shared: Move out weston_shell_get_binding_modifier 2023-01-09 22:13:07 +00:00
desktop.h libweston/desktop: Update my Copyright 2024-02-11 19:07:39 +01:00
libweston.h libweston: add colorimetry_mode API 2024-05-06 10:39:42 +00:00
matrix.h libweston: Add and use weston_coord_surface_add/sub helpers 2023-10-03 18:19:17 +00:00
meson.build libweston: Remove dbus helpers 2023-09-29 09:58:01 -05:00
pipewire-plugin.h plug-ins: Migrate pipewire and remoting plug-ins headers to public header 2020-09-04 10:36:48 +00:00
plugin-registry.h Rename plugin-registry.h to libweston/plugin-registry.h 2019-04-18 12:31:46 +03:00
remoting-plugin.h plug-ins: Migrate pipewire and remoting plug-ins headers to public header 2020-09-04 10:36:48 +00:00
shell-utils.h shell-utils: Use weston_coord in curtain params 2023-09-18 20:35:37 +00:00
version.h.in Rename version.h to libweston/version.h 2019-04-18 12:31:46 +03:00
weston-log.h libweston/weston-log: Add a iterator helper for debug scope 2023-05-30 11:05:14 +00:00
windowed-output-api.h libweston: Let multiple backends register the Windowed Output API 2024-03-12 18:35:57 +00:00
xwayland-api.h xwayland: Remove process exit status from libweston API 2023-06-19 21:32:47 +01:00
zalloc.h Rename zalloc.h to libweston/zalloc.h 2019-04-18 12:31:46 +03:00