From 2b74b2bb3358f80c72240d1a5ea6f304b21fba8d Mon Sep 17 00:00:00 2001 From: Ville Syrjälä Date: Fri, 27 Mar 2015 20:51:46 +0200 Subject: tests: Add kms_legacy_colorkey MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a quick test to make sure the legacy set colorkey ioctl only works for sprite planes. v2: Drop igt_fixtures Signed-off-by: Ville Syrjälä --- tests/kms_legacy_colorkey.c | 72 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 tests/kms_legacy_colorkey.c (limited to 'tests/kms_legacy_colorkey.c') diff --git a/tests/kms_legacy_colorkey.c b/tests/kms_legacy_colorkey.c new file mode 100644 index 00000000..a2fd85c2 --- /dev/null +++ b/tests/kms_legacy_colorkey.c @@ -0,0 +1,72 @@ +/* + * Copyright © 2015 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include + +#include "drmtest.h" +#include "igt_kms.h" +#include "igt_aux.h" + +IGT_TEST_DESCRIPTION("Check that the legacy set colorkey ioctl only works on sprite planes."); + +static int drm_fd; +static igt_display_t display; +static int p; +static igt_plane_t *plane; +static uint32_t max_id; + +static void test_plane(uint32_t plane_id, int expected_ret) +{ + struct drm_intel_sprite_colorkey ckey = { + .plane_id = plane_id, + }; + + igt_assert(drmCommandWrite(drm_fd, DRM_I915_SET_SPRITE_COLORKEY, &ckey, + sizeof(ckey)) == expected_ret); +} + +igt_simple_main +{ + igt_skip_on_simulation(); + + drm_fd = drm_open_any_master(); + + kmstest_set_vt_graphics_mode(); + + igt_display_init(&display, drm_fd); + + for_each_pipe(&display, p) { + for_each_plane_on_pipe(&display, p, plane) { + test_plane(plane->drm_plane->plane_id, + (plane->is_cursor || plane->is_primary) ? -ENOENT : 0); + + max_id = max(max_id, plane->drm_plane->plane_id); + } + } + + /* try some invalid IDs too */ + test_plane(0, -ENOENT); + test_plane(max_id + 1, -ENOENT); + + igt_display_fini(&display); +} -- cgit v1.2.3