[igt-dev] [PATCH i-g-t 2/6] tests/kms_ccs: Use test pattern when possible

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Tue Aug 31 17:48:21 UTC 2021


On 27.8.2021 17.57, Imre Deak wrote:
> A CRC match against a test pattern reference image gives a better
> guarantee than against a solid filled image, so use a test pattern
> instead.
> 
> The sprite tests compare a single solid filled reference plane against
> two overlapped solid filled planes for some reason, so for these subtests
> and the fast clear subtest still keep the solid filled pattern.
> 
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
>   tests/kms_ccs.c | 14 ++++++++++----
>   1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
> index f376f1c80..5bc50b4bb 100644
> --- a/tests/kms_ccs.c
> +++ b/tests/kms_ccs.c
> @@ -329,15 +329,21 @@ static void generate_fb(data_t *data, struct igt_fb *fb,
>   		srand(data->seed);
>   		fill_fb_random(data->drm_fd, fb);
>   	} else if (!(data->flags & TEST_BAD_PIXEL_FORMAT)) {
> +		bool do_fast_clear = is_ccs_cc_modifier(data->ccs_modifier);
> +		bool do_solid_fill = do_fast_clear || data->plane;

data->plane will be set when doing crc tests, why crc tests needed solid 
color?

>   		int c = !!data->plane;
>   
> -		if (is_ccs_cc_modifier(modifier)) {
> +		if (do_fast_clear && (fb_flags & FB_COMPRESSED)) {
>   			fast_clear_fb(data->drm_fd, fb, cc_color);
>   		} else {
>   			cr = igt_get_cairo_ctx(data->drm_fd, fb);
> -			igt_paint_color(cr, 0, 0, width, height,
> -					colors[c].r, colors[c].g, colors[c].b);
> -					igt_put_cairo_ctx(cr);
> +
> +			if (do_solid_fill)
> +				igt_paint_color(cr, 0, 0, width, height,
> +						colors[c].r, colors[c].g, colors[c].b);
> +			else
> +				igt_paint_test_pattern(cr, width, height);
> +			igt_put_cairo_ctx(cr);
>   		}
>   	}
>   
> 



More information about the igt-dev mailing list