Re: [PATCH i-g-t v2 2/8] kms_cursor_crc: Move cursor enable and disable calls where they belong

Ville Syrjälä
2014-04-23T10:54:59Z

On Thu, Apr 10, 2014 at 03:08:06PM +0300, Antti Koskipaa wrote:
> We can't have the hw cursor enabled during software render tests.
>
> Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
> ---
> tests/kms_cursor_crc.c | 54 ++++++++++++++++++++++++--------------------------
> 1 file changed, 26 insertions(+), 28 deletions(-)
>
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index 52281d0..8802da6 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -67,6 +67,30 @@ static void draw_cursor(cairo_t *cr, int x, int y, int w)
> igt_paint_color_alpha(cr, x + w, y + w, w, w, 0.5, 0.5, 0.5, 1.0);
> }
>
> +static void cursor_enable(test_data_t *test_data)
> +{
> + data_t *data = test_data->data;
> + igt_display_t *display = &data->display;
> + igt_output_t *output = test_data->output;
> + igt_plane_t *cursor;
> +
> + cursor = igt_output_get_plane(output, IGT_PLANE_CURSOR);
> + igt_plane_set_fb(cursor, &data->fb);
> + igt_display_commit(display);
> +}
> +
> +static void cursor_disable(test_data_t *test_data)
> +{
> + data_t *data = test_data->data;
> + igt_display_t *display = &data->display;
> + igt_output_t *output = test_data->output;
> + igt_plane_t *cursor;
> +
> + cursor = igt_output_get_plane(output, IGT_PLANE_CURSOR);
> + igt_plane_set_fb(cursor, NULL);
> + igt_display_commit(display);
> +}
> +
> static igt_pipe_crc_t *create_crc(data_t *data, enum pipe pipe)
> {
> igt_pipe_crc_t *crc;
> @@ -85,10 +109,12 @@ static void do_single_test(test_data_t *test_data, int x, int y)
>
> printf("."); fflush(stdout);
>
> + cursor_enable(test_data);
> cursor = igt_output_get_plane(test_data->output, IGT_PLANE_CURSOR);
> igt_plane_set_position(cursor, x, y);
> igt_display_commit(display);
> igt_wait_for_vblank(data->drm_fd, test_data->pipe);
> + cursor_disable(test_data);
>
> igt_pipe_crc_collect_crc(pipe_crc, &crc);

Cursor is getting disabled before we collect the crc:?

> if (test_data->crc_must_match)
> @@ -106,30 +132,6 @@ static void do_test(test_data_t *test_data,
> do_single_test(test_data, left, bottom);
> }
>
> -static void cursor_enable(test_data_t *test_data)
> -{
> - data_t *data = test_data->data;
> - igt_display_t *display = &data->display;
> - igt_output_t *output = test_data->output;
> - igt_plane_t *cursor;
> -
> - cursor = igt_output_get_plane(output, IGT_PLANE_CURSOR);
> - igt_plane_set_fb(cursor, &data->fb);
> - igt_display_commit(display);
> -}
> -
> -static void cursor_disable(test_data_t *test_data)
> -{
> - data_t *data = test_data->data;
> - igt_display_t *display = &data->display;
> - igt_output_t *output = test_data->output;
> - igt_plane_t *cursor;
> -
> - cursor = igt_output_get_plane(output, IGT_PLANE_CURSOR);
> - igt_plane_set_fb(cursor, NULL);
> - igt_display_commit(display);
> -}
> -
> static void test_crc(test_data_t *test_data,
> bool onscreen, int cursor_w, int cursor_h)
> {
> @@ -138,8 +140,6 @@ static void test_crc(test_data_t *test_data,
> int top = test_data->top;
> int bottom = test_data->bottom;
>
> - cursor_enable(test_data);
> -
> if (onscreen) {
> /* cursor onscreen, crc should match, except when white visible cursor is used */
> test_data->crc_must_match = false;
> @@ -183,8 +183,6 @@ static void test_crc(test_data_t *test_data,
> /* go nuts */
> do_test(test_data, INT_MIN, INT_MAX, INT_MIN, INT_MAX);
> }
> -
> - cursor_disable(test_data);
> }
>
> static bool prepare_crtc(test_data_t *test_data, igt_output_t *output,
> --
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Ville Syrjälä
Intel OTC