[igt-dev] [i-g-t] tests/kms_cursor_crc: Drop max-size test
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Tue Aug 9 14:36:39 UTC 2022
On 27.7.2022 21.42, Sharma, Swati2 wrote:
> LGTM
> Reviewed-by: Swati Sharma <swati2.sharma at intel.com>
>
> On 26-Jul-22 8:41 AM, Bhanuprakash Modem wrote:
>> As we already covering it by the other tests, there is no point in
>> doing the "max-size" test. Hence dropping it.
This doesn't look correct.
>>
>> This patch will also do some cleanup to avoid skips in igt_dynamic.
>>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
>> ---
>> tests/kms_cursor_crc.c | 47 ++++++++++++++++++++----------------------
>> 1 file changed, 22 insertions(+), 25 deletions(-)
>>
>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
>> index f07a045a..14d4c4ca 100644
>> --- a/tests/kms_cursor_crc.c
>> +++ b/tests/kms_cursor_crc.c
>> @@ -576,7 +576,7 @@ static void test_cursor_opaque(data_t *data)
>> test_cursor_alpha(data);
>> }
>> -static void require_cursor_size(data_t *data, int w, int h)
>> +static bool require_cursor_size(data_t *data, int w, int h)
>> {
>> igt_fb_t primary_fb;
>> drmModeModeInfo *mode;
>> @@ -618,14 +618,11 @@ static void require_cursor_size(data_t *data,
>> int w, int h)
>> igt_remove_fb(data->drm_fd, &primary_fb);
>> igt_output_set_pipe(output, PIPE_NONE);
>> - igt_skip_on_f(ret, "Cursor size %dx%d not supported by driver\n",
>> w, h);
>> + return !!ret;
>> }
>> static void run_test(data_t *data, void (*testfunc)(data_t *), int
>> cursor_w, int cursor_h)
>> {
>> - if (data->fb.fb_id != 0)
>> - require_cursor_size(data, cursor_w, cursor_h);
>> -
>> prepare_crtc(data, cursor_w, cursor_h);
>> testfunc(data);
>> cleanup_crtc(data);
>> @@ -696,24 +693,15 @@ static void run_size_tests(data_t *data, void
>> (*testfunc)(data_t *),
>> char name[32];
>> enum pipe pipe;
>> - if (w == 0 && h == 0)
>> - strcpy(name, "max-size");
>> - else
>> - snprintf(name, sizeof(name), "%dx%d", w, h);
>> -
>> - if (w == 0 && h == 0) {
>> - w = data->cursor_max_w;
>> - h = data->cursor_max_h;
>> - /*
>> - * No point in doing the "max-size" test if
>> - * it was already covered by the other tests.
>> - */
>> - igt_require_f(w != h || w > 512 || h > 512 ||
>> - !is_power_of_two(w) || !is_power_of_two(h),
>> - "Cursor max size %dx%d already covered by other
>> tests\n",
>> - w, h);
Reading from above, for cursor maximum size if any of:
* width is not equal to height
* width > 512 or height > 512
* (width & (width - 1)) != 0 or (height & (height - 1)) != 0
then maximum cursor size was not covered by any other test. You can see
from where run_size_tests is called why these conditions.
/Juha-Pekka
>> - }
>> + snprintf(name, sizeof(name), "%dx%d", w, h);
>> +
>> create_cursor_fb(data, w, h);
>> + if (require_cursor_size(data, w, h)) {
>> + igt_debug("Cursor size %dx%d not supported by driver\n", w, h);
>> +
>> + igt_remove_fb(data->drm_fd, &data->fb);
>> + return;
>> + }
>> for_each_pipe(&data->display, pipe) {
>> data->pipe = pipe;
>> @@ -807,6 +795,12 @@ static void run_tests_on_pipe(data_t *data)
>> data->pipe = pipe;
>> data->flags = TEST_DPMS;
>> + if (require_cursor_size(data, data->cursor_max_w,
>> data->cursor_max_h)) {
>> + igt_debug("Cursor size %dx%d not supported by driver\n",
>> + data->cursor_max_w, data->cursor_max_h);
>> + continue;
>> + }
>> +
>> igt_dynamic_f("pipe-%s-%s",
>> kmstest_pipe_name(pipe),
>> data->output->name)
>> @@ -822,6 +816,12 @@ static void run_tests_on_pipe(data_t *data)
>> data->pipe = pipe;
>> data->flags = TEST_SUSPEND;
>> + if (require_cursor_size(data, data->cursor_max_w,
>> data->cursor_max_h)) {
>> + igt_debug("Cursor size %dx%d not supported by driver\n",
>> + data->cursor_max_w, data->cursor_max_h);
>> + continue;
>> + }
>> +
>> igt_dynamic_f("pipe-%s-%s",
>> kmstest_pipe_name(pipe),
>> data->output->name)
>> @@ -855,9 +855,6 @@ static void run_tests_on_pipe(data_t *data)
>> igt_subtest_group
>> run_size_tests(data, size_tests[i].testfunc,
>> w, h);
>> }
>> -
>> - igt_subtest_group
>> - run_size_tests(data, size_tests[i].testfunc, 0, 0);
>> }
>> }
>> }
>
More information about the igt-dev
mailing list