[PATCH] cms-helper/static: Add "identity" builtin cms profile (v3)

Mario Kleiner mario.kleiner.de at gmail.com
Fri Jul 17 23:10:58 PDT 2015

Allows to force loading an identity gamma table if
option icc_profile= is given in weston.ini for
an output, ie., icc_profile= is specified to an
empty assignment.

Some special display output devices, e.g., for
neuro-science applications, and special display
testing hardware need a guaranteed perfect pixel
passthrough from framebuffer to output. This is
an easy way to set this up for cms-static.

v2: Remove confusing/redundant weston_log debug output.
v3: Don't use the "identity" keyword to trigger this, but
    instead assignment of an empty string will trigger
    loading of an identity LUT. Suggested by Derek Foreman.

Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com>
Cc: Derek Foreman <derekf at osg.samsung.com>
 src/cms-static.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/cms-static.c b/src/cms-static.c
index 7166f57..0273ee3 100644
--- a/src/cms-static.c
+++ b/src/cms-static.c
@@ -56,11 +56,12 @@ cms_output_created(struct cms_static *cms, struct weston_output *o)
 	if (weston_config_section_get_string(s, "icc_profile", &profile, NULL) < 0)
 	p = weston_cms_load_profile(profile);
-	if (p == NULL) {
+	if (p == NULL && strlen(profile) > 0) {
 		weston_log("cms-static: failed to load %s\n", profile);
 	} else {
 		weston_log("cms-static: loading %s for %s\n",
-			   profile, o->name);
+			   (p != NULL) ? profile : "identity LUT",
+			   o->name);
 		weston_cms_set_color_profile(o, p);

More information about the wayland-devel mailing list