[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