kms_pipe_crc_basic: Make the number of CRCs a parameter

Let's make the test a bit more generic and have the number of CRCs we're
collecting a define so it can be changed easily.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
This commit is contained in:
Damien Lespiau 2014-05-28 17:55:06 +01:00
parent f18700b304
commit 017f146c57

View File

@ -111,6 +111,8 @@ static void test_bad_command(data_t *data, const char *cmd)
fclose(ctl); fclose(ctl);
} }
#define N_CRCS 3
#define TEST_SEQUENCE (1<<0) #define TEST_SEQUENCE (1<<0)
static int static int
@ -149,8 +151,8 @@ test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
igt_pipe_crc_start(pipe_crc); igt_pipe_crc_start(pipe_crc);
/* wait for 3 vblanks and the corresponding 3 CRCs */ /* wait for N_CRCS vblanks and the corresponding N_CRCS CRCs */
igt_pipe_crc_get_crcs(pipe_crc, 3, &crcs); igt_pipe_crc_get_crcs(pipe_crc, N_CRCS, &crcs);
igt_pipe_crc_stop(pipe_crc); igt_pipe_crc_stop(pipe_crc);
@ -169,18 +171,16 @@ test_read_crc_for_output(data_t *data, int pipe, igt_output_t *output,
&colors[c].crc)); &colors[c].crc));
/* ensure the CRCs are not all 0s */ /* ensure the CRCs are not all 0s */
igt_assert(!igt_crc_is_null(&crcs[0])); for (j = 0; j < N_CRCS; j++)
igt_assert(!igt_crc_is_null(&crcs[1])); igt_assert(!igt_crc_is_null(&crcs[j]));
igt_assert(!igt_crc_is_null(&crcs[2]));
/* and ensure that they'are all equal, we haven't changed the fb */ /* and ensure that they'are all equal, we haven't changed the fb */
igt_assert(igt_crc_equal(&crcs[0], &crcs[1])); for (j = 0; j < (N_CRCS - 1); j++)
igt_assert(igt_crc_equal(&crcs[1], &crcs[2])); igt_assert(igt_crc_equal(&crcs[j], &crcs[j + 1]));
if (flags & TEST_SEQUENCE) { if (flags & TEST_SEQUENCE)
igt_assert(crcs[0].frame + 1 == crcs[1].frame); for (j = 0; j < (N_CRCS - 1); j++)
igt_assert(crcs[1].frame + 1 == crcs[2].frame); igt_assert(crcs[j].frame + 1 == crcs[j + 1].frame);
}
free(crcs); free(crcs);
igt_pipe_crc_free(pipe_crc); igt_pipe_crc_free(pipe_crc);