0c5860fafb
Added cLUT profile creation to validate linearization algorithm for DToB3 tag (direction dev to PCS). The 3DLUT is built by using raw matrix conversion from dev to XYZ and reverse (XYZ to device). The test uses floating point pipeline, known as unbounded mode of LCMS. The details are described in ICCSpecRevision_02_11_06_Float.pdf The purpose of these new test cases is to keep the GL-renderer 3D LUT path tested even after color-lcms and GL-renderer start using specialized matrix-shaper paths. These also exercise build_eotf_from_clut_profile() in color-lcms, but do not actually verify it. These cases only test that the recovered EOTF and its inverse produce an identity mapping together. BT.2020 is not used in these tests, because the RGB-XYZ conversion matrix does not stay inside [0.0, 1.0] in either direction, which would be a problem for the 3D LUT element in the multiProcessingElement pipelines. Handling that would have been possible, but testing with AdobeRGB color space should suffice while keeping the test code from being even more complicated. roundtrip_verification() tests that we succeed in creating cms pipelines correctly in both directions so that the resulting ICC file is better behaved. The Weston test itself only cares about the BToD direction. Credits to: Vladimir Lachine <vladimir.lachine@amd.com> Graeme Gill <graeme@argyllcms.com> Co-authored-by: Pekka Paalanen <pekka.paalanen@collabora.com> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> |
||
---|---|---|
.. | ||
reference | ||
alpha-blending-test.c | ||
bad-buffer-test.c | ||
buffer-transforms-test.c | ||
color_util.c | ||
color_util.h | ||
color-manager-test.c | ||
color-metadata-errors-test.c | ||
color-metadata-parsing-test.c | ||
color-shaper-matrix-test.c | ||
config-parser-test.c | ||
devices-test.c | ||
drm-formats-test.c | ||
drm-smoke-test.c | ||
event-test.c | ||
input-timestamps-helper.c | ||
input-timestamps-helper.h | ||
internal-screenshot-test.c | ||
ivi-layout-internal-test.c | ||
ivi-layout-test-client.c | ||
ivi-layout-test-plugin.c | ||
ivi-shell-app-test.c | ||
ivi-test.h | ||
keyboard-test.c | ||
lcms_util.c | ||
lcms_util.h | ||
lcms-util-test.c | ||
linux-explicit-synchronization-test.c | ||
matrix-test.c | ||
meson.build | ||
output-damage-test.c | ||
output-transforms-test.c | ||
plugin-registry-test.c | ||
pointer-shot-test.c | ||
pointer-test.c | ||
presentation-test.c | ||
roles-test.c | ||
safe-signal-output-removal-test.c | ||
safe-signal-test.c | ||
setbacklight.c | ||
string-test.c | ||
subsurface-shot-test.c | ||
subsurface-test.c | ||
surface-global-test.c | ||
surface-screenshot-test.c | ||
surface-test.c | ||
text-test.c | ||
timespec-test.c | ||
touch-test.c | ||
vertex-clip-test.c | ||
viewporter-shot-test.c | ||
viewporter-test.c | ||
weston-test-client-helper.c | ||
weston-test-client-helper.h | ||
weston-test-desktop-shell.c | ||
weston-test-fixture-compositor.c | ||
weston-test-fixture-compositor.h | ||
weston-test-runner.c | ||
weston-test-runner.h | ||
weston-test.c | ||
weston-testsuite-data.h | ||
xwayland-test.c | ||
yuv-buffer-test.c |