summaryrefslogtreecommitdiff
path: root/tests/kms_plane.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2019-06-28 22:24:41 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2019-07-08 16:32:53 +0300
commitc6c75e11175baeb6b984e0cc13c6fbe2863a0794 (patch)
tree6eeaff5b832abf4d434cbe0ff95ad0fa5b288d17 /tests/kms_plane.c
parent3cbe76c509bcc32b2380de7f1b56825b66268b29 (diff)
tests/kms_plane: Throw away yet another bit
CHV pipe A/C sprites are causing a crc mismatch with BT.601 when we keep the six msbs. If we throw away one more bit we get matches for BT.601. BT.709 matches even with 6 bits, as do the pipe B planes with their programmable CSC. Also IVB and KBL were both happy with 6 bits, so doesn't seem that that these CHV mismatches are due to bugs in our code, just the hw is a bit imprecise. v2: s/bi/bit/ in the subject (Nicholas) Cc: Uma Shankar <uma.shankar@intel.com> Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Uma Shankar <uma.shanka@intel.com> Tested-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_plane.c')
-rw-r--r--tests/kms_plane.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index ce4bf9e1..5f1a73f8 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -30,6 +30,13 @@
#include <stdio.h>
#include <string.h>
+/*
+ * Throw away enough lsbs in pixel formats tests
+ * to get a match despite some differences between
+ * the software and hardware YCbCr<->RGB conversion
+ * routines.
+ */
+#define LUT_MASK 0xf800
typedef struct {
float red;
@@ -697,7 +704,7 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
continue;
if (format == DRM_FORMAT_C8) {
- if (!set_c8_legacy_lut(data, pipe, 0xfc00))
+ if (!set_c8_legacy_lut(data, pipe, LUT_MASK))
continue;
} else {
if (!igt_fb_supported_format(format))
@@ -716,7 +723,7 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
ref_crc, &fb);
if (format == DRM_FORMAT_C8)
- set_legacy_lut(data, pipe, 0xfc00);
+ set_legacy_lut(data, pipe, LUT_MASK);
}
igt_pipe_crc_stop(data->pipe_crc);
@@ -751,7 +758,7 @@ test_pixel_formats(data_t *data, enum pipe pipe)
igt_display_commit2(&data->display, data->display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
- set_legacy_lut(data, pipe, 0xfc00);
+ set_legacy_lut(data, pipe, LUT_MASK);
test_init(data, pipe);