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

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@gmail.com>
Cc: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
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 @@
 	if (weston_config_section_get_string(s, "icc_profile", &profile, NULL) < 0)
 		return;
 	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);
 	}
 }