Merged requested to merge vitalyp/weston:vp/mr/color-output2 into main
This MR depends on !637 (merged)
Adds a color mapping function 3DLUT and pre-curve for gl-renderer.
CM is enable
Append light linearizing transfer function at the end of transform for blending category
Shaper-matrix test creates ICC profile based on chromaticities using LCMS in the fixture setup function.
sRGB -> sRGB sRGB -> adobe RGB sRGB -> BT2020
Compare GPU shaders(gl texture3D) vs manual pipeline calculation.
Use different max tolerable errors per transform.
The Weston CM GL pipeline is as follows:
- Fragment shader A: CMLCMS_CATEGORY_INPUT_TO_BLEND (non linear input) 3DLUT -> blending ( linear)
- Fragment shader B: CMLCMS_CATEGORY_BLEND_TO_OUTPUT (linear input) INV EOTF -> surface to KMS ( non linear output)
- Fragment shader AB: CMLCMS_CATEGORY_INPUT_TO_OUTPUT (non linear input) 3DLUT -> surface to KMS (non linear output)