weston/tests/reference
Pekka Paalanen 35cae567d6 tests/alpha-blending: add sRGB linear light case
Now that GL-renderer and color manager implement linear light blending
for sRGB EOTF, add a test case to verify the result is expected.

As noted in test comments, this new tests is quite powerful in ensuring
the whole linear light pipeline is working correctly with 1D LUTs in
GL-renderer. This test will even catch smashing source_lut.scale = 1.0f
and source_lut.offset = 0.0f which would result in wrong texture sample
positions for LUT data.

As the assumption is that by default content and outputs are in sRGB
color space, this test should not need fix-ups or become stale when more
color management features are implemented.

The sRGB EOTF can be found in:
http://www.color.org/sRGB.pdf (beware, typos)
https://www.w3.org/Graphics/Color/srgb
https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.html#TRANSFER_SRGB

Note on AMD Polaris 11 error threshold: this is quite likely due to
using fp16 format shadow framebuffer and GCN fp32 to fp16 conversion
instruction rounding mode. When using fp32 shadow framebuffer, the error
glitch is not present and the threshold could be significantly lower.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2021-06-21 14:36:33 +00:00
..
alpha_blend-00.png
alpha_blend-01.png tests/alpha-blending: add sRGB linear light case 2021-06-21 14:36:33 +00:00
basic-test-card.png
chocolate-cake.png
drm_screenshot_no_damage-00.png
internal-screenshot-bad-00.png
internal-screenshot-good-00.png
output_1-90_buffer_1-NORMAL-00.png
output_1-90_buffer_2-90-00.png
output_1-180_buffer_1-NORMAL-00.png
output_1-180_buffer_2-90-00.png
output_1-270_buffer_1-NORMAL-00.png
output_1-270_buffer_2-90-00.png
output_1-FLIPPED_90_buffer_1-NORMAL-00.png
output_1-FLIPPED_90_buffer_2-90-00.png
output_1-FLIPPED_180_buffer_1-NORMAL-00.png
output_1-FLIPPED_180_buffer_2-90-00.png
output_1-FLIPPED_270_buffer_1-NORMAL-00.png
output_1-FLIPPED_270_buffer_2-90-00.png
output_1-FLIPPED_buffer_1-NORMAL-00.png
output_1-FLIPPED_buffer_2-90-00.png
output_1-NORMAL_buffer_1-90-00.png
output_1-NORMAL_buffer_1-180-00.png
output_1-NORMAL_buffer_1-270-00.png
output_1-NORMAL_buffer_1-FLIPPED_90-00.png
output_1-NORMAL_buffer_1-FLIPPED_180-00.png
output_1-NORMAL_buffer_1-FLIPPED_270-00.png
output_1-NORMAL_buffer_1-FLIPPED-00.png
output_1-NORMAL_buffer_1-NORMAL-00.png
output_1-NORMAL_buffer_2-90-00.png
output_1-NORMAL_buffer_2-180-00.png
output_1-NORMAL_buffer_2-FLIPPED-00.png
output_1-NORMAL_buffer_2-NORMAL-00.png
output_1-NORMAL_buffer_3-FLIPPED_90-00.png
output_1-NORMAL_buffer_3-NORMAL-00.png
output_2-90_buffer_1-90-00.png
output_2-90_buffer_1-180-00.png
output_2-90_buffer_1-270-00.png
output_2-90_buffer_1-FLIPPED_90-00.png
output_2-90_buffer_1-FLIPPED_180-00.png
output_2-90_buffer_1-FLIPPED_270-00.png
output_2-90_buffer_1-FLIPPED-00.png
output_2-90_buffer_1-NORMAL-00.png
output_2-90_buffer_2-90-00.png
output_2-90_buffer_2-180-00.png
output_2-90_buffer_2-FLIPPED-00.png
output_2-90_buffer_2-NORMAL-00.png
output_2-90_buffer_3-FLIPPED_90-00.png
output_2-90_buffer_3-NORMAL-00.png
output_2-180_buffer_1-NORMAL-00.png
output_2-180_buffer_2-90-00.png
output_2-FLIPPED_buffer_1-NORMAL-00.png
output_2-FLIPPED_buffer_2-90-00.png
output_2-NORMAL_buffer_1-NORMAL-00.png
output_2-NORMAL_buffer_2-90-00.png
output_3-FLIPPED_270_buffer_1-NORMAL-00.png
output_3-FLIPPED_270_buffer_2-90-00.png
output_3-NORMAL_buffer_1-NORMAL-00.png
output_3-NORMAL_buffer_2-90-00.png
output-damage_1-90-01.png
output-damage_1-90-02.png
output-damage_1-180-01.png
output-damage_1-180-02.png
output-damage_1-270-01.png
output-damage_1-270-02.png
output-damage_1-FLIPPED_90-01.png
output-damage_1-FLIPPED_90-02.png
output-damage_1-FLIPPED_180-01.png
output-damage_1-FLIPPED_180-02.png
output-damage_1-FLIPPED_270-01.png
output-damage_1-FLIPPED_270-02.png
output-damage_1-FLIPPED-01.png
output-damage_1-FLIPPED-02.png
output-damage_1-NORMAL-01.png
output-damage_1-NORMAL-02.png
output-damage_2-90-01.png
output-damage_2-90-02.png
output-damage_2-180-01.png
output-damage_2-180-02.png
output-damage_2-FLIPPED-01.png
output-damage_2-FLIPPED-02.png
output-damage_2-NORMAL-01.png
output-damage_2-NORMAL-02.png
output-damage_3-FLIPPED_270-01.png
output-damage_3-FLIPPED_270-02.png
output-damage_3-NORMAL-01.png
output-damage_3-NORMAL-02.png
pointer_cursor_reenter-00.png
pointer_cursor_reenter-01.png
pointer_cursor_reenter-02.png
subsurface_z_order-00.png
subsurface_z_order-01.png
subsurface_z_order-02.png
subsurface_z_order-03.png
subsurface_z_order-04.png
viewport_upscale_solid-00.png
yuv-buffer-00.png