diff options
author | Melissa Wen <mwen@igalia.com> | 2022-03-31 13:53:44 -0100 |
---|---|---|
committer | Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> | 2022-04-08 11:38:56 -0400 |
commit | f9efaee9565fbb9441d78a90732d6305b458bd28 (patch) | |
tree | 46d002f6e356cf49c479e6da2ca8f09a88e1e37e /scripts/code_cov_gather_on_test.py | |
parent | c3b690bd5f7fb1fb7ed786ab0f3b815930a6a55f (diff) |
tests/kms_plane_alpha_blend: refactor alpha-7efc for clearer validation
The alpha-7efc test takes into account that fg.alpha (pixel alpha
component) and plane_alpha (alpha property) are swappable in the
pre-multiplied blend formula:
plane_alpha * fg.rgb + (1 - (plane_alpha * fg.alpha)) * bg.rgb
Also, 0xfcfc is double 0x7e7e, so the composition of a given plane_alpha
and 0x7e7e argb_fb would result in the same CRC of plane_alpha/2 and
0xfcfc argb_fb.
However, precision and rounding issues may affect calculation and
results are not consistent between different hw. For example, the test
case fails on i915 gen8 and also for some alpha values on amdgpu (after
applying[1]), but passes on i915 gen11.
Therefore, refactor the test for a more assertive verification that
facilitates debugging when it fails, but keep validating pre-multiplied
alpha property in a alpha-7efc context. For this, remove the loop in a
range of alpha values and just check the swappable property of fg.alpha
and plane_alpha on a pre-multiplied blend mode (default for DRM).
[1] https://lore.kernel.org/dri-devel/20220329201835.2393141-1-mwen@igalia.com/
Signed-off-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Diffstat (limited to 'scripts/code_cov_gather_on_test.py')
0 files changed, 0 insertions, 0 deletions