[Intel-gfx] [PATCH i-g-t] tests/kms_cursor_crc: Open DRM device with DRIVER_ANY
Daniel Vetter
daniel at ffwll.ch
Tue Aug 14 09:24:12 UTC 2018
On Sun, Aug 12, 2018 at 11:03:41PM +0300, Haneen Mohammed wrote:
> So that this test can be run in drivers other than i915.
> Remove devid and only check it if the driver is i915.
>
> Signed-off-by: Haneen Mohammed <hamohammed.sa at gmail.com>
> ---
> tests/kms_cursor_crc.c | 31 +++++++++++++++++++++----------
> 1 file changed, 21 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
> index a164839e..870d7fec 100644
> --- a/tests/kms_cursor_crc.c
> +++ b/tests/kms_cursor_crc.c
> @@ -59,7 +59,6 @@ typedef struct {
> int curw, curh; /* cursor size */
> int cursor_max_w, cursor_max_h;
> igt_pipe_crc_t *pipe_crc;
> - uint32_t devid;
> unsigned flags;
> } data_t;
>
> @@ -108,6 +107,13 @@ static void cursor_disable(data_t *data)
>
> static bool chv_cursor_broken(data_t *data, int x)
> {
> + uint32_t devid;
> +
> + if (!is_i915_device(data->drm_fd))
> + return false;
> +
> + devid = intel_get_drm_devid(data->drm_fd);
> +
> /*
> * CHV gets a FIFO underrun on pipe C when cursor x coordinate
> * is negative and the cursor visible.
> @@ -121,7 +127,7 @@ static bool chv_cursor_broken(data_t *data, int x)
> if (x >= 0)
> return false;
>
> - return IS_CHERRYVIEW(data->devid) && data->pipe == PIPE_C;
> + return IS_CHERRYVIEW(devid) && data->pipe == PIPE_C;
> }
>
> static bool cursor_visible(data_t *data, int x, int y)
> @@ -459,8 +465,15 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
> igt_put_cairo_ctx(data->drm_fd, &data->fb, cr);
> }
>
> -static bool has_nonsquare_cursors(uint32_t devid)
> +static bool has_nonsquare_cursors(data_t *data)
> {
> + uint32_t devid;
> +
> + if (!is_i915_device(data->drm_fd))
> + return true;
Shouldn't this be return false; here? I think assuming that all kms
drivers support non-square cursors by default is a bit much ...
-Daniel
> +
> + devid = intel_get_drm_devid(data->drm_fd);
> +
> /*
> * Test non-square cursors a bit on the platforms
> * that support such things.
> @@ -616,19 +629,19 @@ static void run_test_generic(data_t *data)
>
> /* Using created cursor FBs to test cursor support */
> igt_subtest_f("cursor-%dx%d-onscreen", w, h) {
> - igt_require(has_nonsquare_cursors(data->devid));
> + igt_require(has_nonsquare_cursors(data));
> run_test(data, test_crc_onscreen, w, h);
> }
> igt_subtest_f("cursor-%dx%d-offscreen", w, h) {
> - igt_require(has_nonsquare_cursors(data->devid));
> + igt_require(has_nonsquare_cursors(data));
> run_test(data, test_crc_offscreen, w, h);
> }
> igt_subtest_f("cursor-%dx%d-sliding", w, h) {
> - igt_require(has_nonsquare_cursors(data->devid));
> + igt_require(has_nonsquare_cursors(data));
> run_test(data, test_crc_sliding, w, h);
> }
> igt_subtest_f("cursor-%dx%d-random", w, h) {
> - igt_require(has_nonsquare_cursors(data->devid));
> + igt_require(has_nonsquare_cursors(data));
> run_test(data, test_crc_random, w, h);
> }
>
> @@ -647,9 +660,7 @@ igt_main
> igt_skip_on_simulation();
>
> igt_fixture {
> - data.drm_fd = drm_open_driver_master(DRIVER_INTEL);
> -
> - data.devid = intel_get_drm_devid(data.drm_fd);
> + data.drm_fd = drm_open_driver_master(DRIVER_ANY);
>
> ret = drmGetCap(data.drm_fd, DRM_CAP_CURSOR_WIDTH, &cursor_width);
> igt_assert(ret == 0 || errno == EINVAL);
> --
> 2.17.1
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list