libweston: begin color-lcms plugin

This creates the color-lcms plugin that in the future will be using
Little CMS as the color matching module, processing ICC profiles, and
producing HDR tone mappings.

Right now, this new plugin is functionally equivalent to the no-op color
manager, except it already links to lcms2 and checks that the renderer
supports color operations.

Color-lcms is a libweston plugin that is loaded with explicit
weston_compositor API. This does not currently allow loading alternative
color manager plugins. External color manager plugins might be
considered in the future when the libweston APIs around color management
stabilize.

This libweston plugin uses the same build option as the old cms-static
Weston plugins, as they both need lcms2. The minimum version for lcms2
was chosen by what Debian Buster provides today and for no other reason.

This plugin intends to support the Wayland CM&HDR protocol extension and
hence sets supports_client_protocol to true. This will expose the
protocol extension to clients when it gets implemented.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
Pekka Paalanen
2021-03-29 14:11:49 +03:00
committed by Pekka Paalanen
parent 8fb23ed110
commit 5e79dd4892
8 changed files with 247 additions and 1 deletions
+3
View File
@@ -2001,6 +2001,9 @@ weston_keyboard_send_keymap(struct weston_keyboard *kbd,
int
weston_compositor_load_xwayland(struct weston_compositor *compositor);
int
weston_compositor_load_color_manager(struct weston_compositor *compositor);
bool
weston_head_is_connected(struct weston_head *head);