[igt-dev] [PATCH i-g-t] DO NOT MERGE: NV12 Experiment
Jeevan B
jeevan.b at intel.com
Tue May 2 08:45:07 UTC 2023
Signed-off-by: Jeevan B <jeevan.b at intel.com>
---
tests/intel-ci/fast-feedback.testlist | 3 ++
tests/kms_pipe_crc_basic.c | 72 +++++++++++++++++++++++----
2 files changed, 65 insertions(+), 10 deletions(-)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index d9fcb62d..7c93aa2b 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -119,6 +119,9 @@ igt at kms_force_connector_basic@force-load-detect
igt at kms_force_connector_basic@prune-stale-modes
igt at kms_frontbuffer_tracking@basic
igt at kms_pipe_crc_basic@compare-crc-sanitycheck
+igt at kms_pipe_crc_basic@NV12-Check-BLUE
+igt at kms_pipe_crc_basic@NV12-Check-GREEN
+igt at kms_pipe_crc_basic@NV12-Check-RED
igt at kms_pipe_crc_basic@hang-read-crc
igt at kms_pipe_crc_basic@nonblocking-crc
igt at kms_pipe_crc_basic@nonblocking-crc-frame-sequence
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 65afc9f6..a6024cfc 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -187,7 +187,7 @@ static void test_read_crc(data_t *data, enum pipe pipe,
*
* No CRC mismatch should happen
*/
-static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output)
+static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output, int color)
{
igt_display_t *display = &data->display;
igt_plane_t *primary;
@@ -208,12 +208,30 @@ static void test_compare_crc(data_t *data, enum pipe pipe, igt_output_t *output)
DRM_FORMAT_MOD_LINEAR,
1.0, 1.0, 1.0,
&fb0);
- igt_create_color_fb(data->drm_fd,
- mode->hdisplay, mode->vdisplay,
- DRM_FORMAT_XRGB8888,
- DRM_FORMAT_MOD_LINEAR,
- 1.0, 1.0, 1.0,
- &fb1);
+ if (color == 0)
+ {
+ igt_create_color_fb(data->drm_fd,
+ mode->hdisplay, mode->vdisplay,
+ DRM_FORMAT_NV12,
+ DRM_FORMAT_MOD_LINEAR,
+ 1, 0, 0,
+ &fb1);
+ } else if (color == 1) {
+ igt_create_color_fb(data->drm_fd,
+ mode->hdisplay, mode->vdisplay,
+ DRM_FORMAT_NV12,
+ DRM_FORMAT_MOD_LINEAR,
+ 0, 1, 0,
+ &fb1);
+ } else {
+ igt_create_color_fb(data->drm_fd,
+ mode->hdisplay, mode->vdisplay,
+ DRM_FORMAT_NV12,
+ DRM_FORMAT_MOD_LINEAR,
+ 0, 0, 1,
+ &fb1);
+ }
+
/* Flip FB0 with the Primary plane & collect the CRC as ref CRC. */
primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
@@ -418,7 +436,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
}
igt_describe("Basic sanity check for CRC mismatches");
- igt_subtest_with_dynamic("compare-crc-sanitycheck") {
+ igt_subtest_with_dynamic("NV12-Check-BLUE") {
for_each_pipe_with_single_output(&data.display, pipe, output) {
if (simulation_constraint(pipe))
continue;
@@ -426,11 +444,45 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
if(!pipe_output_combo_valid(&data.display, pipe, output))
continue;
- igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(pipe), output->name)
- test_compare_crc(&data, pipe, output);
+ igt_dynamic_f("pipe-%s-%s-BLUE", kmstest_pipe_name(pipe), output->name)
+ test_compare_crc(&data, pipe, output, 2);
+
+ break;
}
}
+ igt_subtest_with_dynamic("NV12-Check-GREEN") {
+ for_each_pipe_with_single_output(&data.display, pipe, output) {
+ if (simulation_constraint(pipe))
+ continue;
+
+ if(!pipe_output_combo_valid(&data.display, pipe, output))
+ continue;
+
+ igt_dynamic_f("pipe-%s-%s-GREEN", kmstest_pipe_name(pipe), output->name)
+ test_compare_crc(&data, pipe, output, 1);
+
+ break;
+ }
+ }
+
+
+ igt_subtest_with_dynamic("NV12-Check-RED") {
+ for_each_pipe_with_single_output(&data.display, pipe, output) {
+ if (simulation_constraint(pipe))
+ continue;
+
+ if(!pipe_output_combo_valid(&data.display, pipe, output))
+ continue;
+
+ igt_dynamic_f("pipe-%s-%s-RED", kmstest_pipe_name(pipe), output->name)
+ test_compare_crc(&data, pipe, output, 0);
+
+ break;
+ }
+ }
+
+
igt_fixture {
igt_display_fini(&data.display);
close(data.drm_fd);
--
2.25.1
More information about the igt-dev
mailing list