[igt-dev] [PATCH i-g-t] DO NOT MERGE: NV12 Experiment
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Wed May 3 04:36:53 UTC 2023
Hi Swati,
For experiments, please use try-bot :-)
- Bhanu
On Tue-02-05-2023 02:15 pm, Jeevan B wrote:
> 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);
More information about the igt-dev
mailing list