Message ID | 1397131692-2857-3-git-send-email-antti.koskipaa@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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); 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,
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(-)