[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 18:51:11 UTC 2021


On 31.8.2021 20.48, Juha-Pekka Heikkila wrote:
> 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?

After offline discussion we agree this is ok because of two plane case.

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

> 
>>           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