weston/tests
Pekka Paalanen 556272bae9 color-lcms: change stock sRGB to true power-2.2
The sRGB expected display behavior uses the pure power-law with exponent
2.2, not the two-piece sRGB transfer function.
cmsCreate_sRGBProfileTHR() used the two-piece TF, now we use the proper
display TF.

This is particularly meaningful when implicit sRGB content is converted
to HDR formats, in order to maintain the stimuli reproduction near zero.

cmlcms_send_image_desc_info() is already sending this, it doesn't need
fixing.

Changing the curve also changes the error tolerances. The change is
theoretically a no-op, but the curve and its inverse and temporary
rounding add error. The new curve is more prone to error, so it is not
surprising we need to raise the tolerance. The color transformation does
end up as power-2.2 analytical form and I do not think it is ever
lowered to a LUT in alpha-blending test, so there is no obvious fix
improving the accuracy. The worst case point in alpha-blending still
occurs at the very same point as before.

The test reference images are updated for the same reason, they would
fail otherwise.

Both alpha-blending and color-icc-output contain the same sRGB-optical
sub-test, hence the same error tolerance.

It is surprising to have to increase the ICC roundtrip error tolerance
in color-icc-output test, given that the curves are passed as parametric
to LittleCMS, and adobeRGB case works with the old tolerance even. I did
not investigate further.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2025-06-03 15:47:20 +03:00
..
reference color-lcms: change stock sRGB to true power-2.2 2025-06-03 15:47:20 +03:00
visualization tests/alpha-blending: replace compare_float() with rgb_diff_stat 2022-06-30 09:08:32 +00:00
alpha-blending-test.c color-lcms: change stock sRGB to true power-2.2 2025-06-03 15:47:20 +03:00
assert-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
bad-buffer-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
buffer-transforms-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
client-buffer-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
color-icc-output-test.c color-lcms: change stock sRGB to true power-2.2 2025-06-03 15:47:20 +03:00
color-lcms-optimizer-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
color-management-parametric-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
color-management-test.c tests: drop EOTF from TRANSFER_FN_SRGB_EOTF 2025-06-03 15:47:20 +03:00
color-math-test.c tests: add color-math-test 2025-05-13 17:36:52 +03:00
color-metadata-errors-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
color-metadata-parsing-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
color_util.c color-lcms: change stock sRGB to true power-2.2 2025-06-03 15:47:20 +03:00
color_util.h tests/color_util: add power-2.2 transfer function 2025-06-03 15:47:20 +03:00
config-parser-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
constraints-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
custom-env-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
devices-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
drm-formats-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
drm-smoke-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
drm-writeback-screenshot-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
event-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
idalloc-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
image-iter.h tests: Port all test clients to the new test asserts 2025-02-26 23:50:41 +01:00
input-timestamps-helper.c tests: Port all test clients to the new test asserts 2025-02-26 23:50:41 +01:00
input-timestamps-helper.h tests: Introduce input timestamps helper 2018-02-20 10:20:29 +02:00
internal-screenshot-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
iterate-debug-scopes-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
ivi-layout-internal-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
ivi-layout-test-client.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
ivi-layout-test-plugin.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
ivi-shell-app-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
ivi-test.h ivi-shell: implement surface_on_many_layer test 2016-06-29 11:32:23 +03:00
keyboard-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
kiosk-shell-test.c weston-test-client-helper: Move helpers into weston-test-client-helper 2025-05-06 15:27:58 +03:00
lcms-util-test.c tests: drop EOTF from TRANSFER_FN_SRGB_EOTF 2025-06-03 15:47:20 +03:00
lcms_util.c color-lcms: change stock sRGB to true power-2.2 2025-06-03 15:47:20 +03:00
lcms_util.h tests: replace lcmsMAT3 with weston_mat3f 2025-04-01 15:59:54 +03:00
linalg-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
linux-explicit-synchronization-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
matrix-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
matrix-transform-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
meson.build tests: add color-math-test 2025-05-13 17:36:52 +03:00
output-capture-protocol-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
output-damage-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
output-decorations-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
output-transforms-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
paint-node-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
plugin-registry-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
pointer-shot-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
pointer-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
presentation-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
roles-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
safe-signal-output-removal-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
safe-signal-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
setbacklight.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:19 -07:00
single-pixel-buffer-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
string-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
subsurface-shot-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
subsurface-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
surface-global-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
surface-screenshot-test.c Rename compositor/ to frontend/ 2023-12-18 15:34:26 +00:00
surface-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
text-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
timespec-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
touch-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
vertex-clip-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
viewporter-shot-test.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
viewporter-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00
weston-test-assert.h tests: Don't abort on failure 2025-02-26 23:50:45 +01:00
weston-test-client-helper.c weston-test-client-helper: Move helpers into weston-test-client-helper 2025-05-06 15:27:58 +03:00
weston-test-client-helper.h weston-test-client-helper: Move helpers into weston-test-client-helper 2025-05-06 15:27:58 +03:00
weston-test-desktop-shell.c Revert "shared/helpers.h: Migrate helpers.h to libweston" 2025-01-17 10:18:26 +02:00
weston-test-fixture-compositor.c tests: Add support for Vulkan renderer 2025-05-23 20:36:05 +01:00
weston-test-fixture-compositor.h tests: Add kiosk-shell testing 2024-05-01 14:18:43 +03:00
weston-test-runner.c gitlab-ci: Create some jobs for Vulkan build coverage 2025-05-23 20:36:05 +01:00
weston-test-runner.h tests: return status from each test definition 2025-04-30 15:07:35 +03:00
weston-test.c tests: Don't abort on failure 2025-02-26 23:50:45 +01:00
weston-testsuite-data.h tests: Don't abort on failure 2025-02-26 23:50:45 +01:00
xcb-client-helper.c tests: Port all test clients to the new test asserts 2025-02-26 23:50:41 +01:00
xcb-client-helper.h tests: Port all test clients to the new test asserts 2025-02-26 23:50:41 +01:00
xdg-client-helper.c xdg-client-helper: Use a default WINDOW size value 2025-05-06 15:30:37 +03:00
xdg-client-helper.h xdg-client-helper: Use a default WINDOW size value 2025-05-06 15:30:37 +03:00
xwayland-test.c tests: return status from each test definition 2025-04-30 15:07:35 +03:00