From patchwork Tue Nov 21 14:02:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Juha-Pekka Heikkila X-Patchwork-Id: 10068209 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9A5C860586 for ; Tue, 21 Nov 2017 14:02:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8CDB329643 for ; Tue, 21 Nov 2017 14:02:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 81D1A29646; Tue, 21 Nov 2017 14:02:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0C27429649 for ; Tue, 21 Nov 2017 14:02:58 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B7DA36E418; Tue, 21 Nov 2017 14:02:57 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 05F656E418 for ; Tue, 21 Nov 2017 14:02:51 +0000 (UTC) Received: by mail-pg0-x244.google.com with SMTP id r12so10218651pgu.10 for ; Tue, 21 Nov 2017 06:02:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WEywjEgm15H7CllFAALB0FWuKrFMJy04cLyUI0a4X/Q=; b=l6w3LDL1ST+RXiuBXEa8QKJ1cpfW7xcXUpvhpS45qQNxtYxy5p18HfbDBOkRdMjWeq ODMfVR3Xs0MnvNH2icOTprBZWgGvjIcVwUmzVEugX1LhRunLNRJeH22Skt/RkRKQ2bi6 HUlb+f9AeiPY/d7c03Ms7LfMKKkOVxI/xQ5Pvk41IwK45qlP8yFO76u0rLQIYZ17Wpbx bQEE2Xu8rcybHdQpqD/4SGfhg+57dHXfNfK3WNPWU0DQ5lDuwf+xXynH5x3RKRxOjk3e Pq4+Lz+saz7HvSg3ntfmb3F9ZOEm1AbtzyNYQ/2K/lSHGCQAC//2XT31qcDTuktu8WvB H+YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WEywjEgm15H7CllFAALB0FWuKrFMJy04cLyUI0a4X/Q=; b=lOwdGP/a0h7k4H09kcEeFt4HU3ciiZjuQhxvs+kU6k17rr1pILo0c5PV+iljmS0vVd TENH9YuYIUuXjiGu8yM5pJrUPMu3NMl6pJVCEKsAPyQxZKwLWBczcNG/KF6KEK+cEGfS 7nE7ywjPquwOEp4jMLpIqNsZRM0NYnTP3Ao9JHbc9eApU140OCBY1UBmVHIgjqq/G3y7 ycYB/6kTm1SGWfkhNffBam6QBvy9R1MgfcGZt0GlK/8tzgw8w8cf2dpgC/sTU9ETdrwH v/u1Zdm9bTEIykmj1q1w7LrHb3pF5fQ1AEc6d44MNW+zIVfKLBoAgP6UHoywthgn6yhg Tq2A== X-Gm-Message-State: AJaThX6iIlCLlE9rdc7f2p3JteA4vIt7mQhCdD/aPpy/VTMIJz8cRFKl NB+9YSQ9ydyQTbFPH5ECuo/0Ww== X-Google-Smtp-Source: AGs4zMZYDHE2ta9oJZnC30TkgrYccgQpJ7ILrOJTdhUwFvbatCoRaQNAbaixp4JU4+pZ9VS0d/ND/Q== X-Received: by 10.98.163.73 with SMTP id s70mr15151559pfe.64.1511272971051; Tue, 21 Nov 2017 06:02:51 -0800 (PST) Received: from jheikkil-mobl.fi.intel.com (fmdmzpr03-ext.fm.intel.com. [192.55.54.38]) by smtp.gmail.com with ESMTPSA id b25sm12584232pfd.182.2017.11.21.06.02.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 21 Nov 2017 06:02:50 -0800 (PST) From: Juha-Pekka Heikkila To: intel-gfx@lists.freedesktop.org Date: Tue, 21 Nov 2017 16:02:38 +0200 Message-Id: <1511272958-2802-2-git-send-email-juhapekka.heikkila@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511272958-2802-1-git-send-email-juhapekka.heikkila@gmail.com> References: <1511272958-2802-1-git-send-email-juhapekka.heikkila@gmail.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH i-g-t] igt/kms_rotation_crc: Add RGB565 90 degree test for gen>9 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP Gen10 onwards 90 and 270 degree rotations are supported for RGB565 format. v2 (Ville Syrjälä): As a side effect to keep bad-pixel-format test valid on all supported platforms it need to use DRM_FORMAT_C8 now. While at it clean up kms_rotation_crc test a bit, take out test_plane_rotation_ytiled_obj() function as test_plane_rotation() can basically do the same. v3 (Ville Syrjälä): repurpose test_plane_rotation_ytiled_obj() function for bad pixel testing with DRM_FORMAT_C8 as igt doesn't support this format. Signed-off-by: Juha-Pekka Heikkila --- tests/kms_rotation_crc.c | 58 ++++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c index 27d1f80..1769264 100644 --- a/tests/kms_rotation_crc.c +++ b/tests/kms_rotation_crc.c @@ -376,10 +376,6 @@ static void test_plane_rotation(data_t *data, int plane_type) igt_plane_set_size(plane, data->fb.height, data->fb.width); ret = igt_display_try_commit2(display, commit); - if (data->override_fmt || data->override_tiling) { - igt_assert_eq(ret, -EINVAL); - continue; - } /* Verify commit was ok. */ igt_assert_eq(ret, 0); @@ -421,14 +417,13 @@ static void test_plane_rotation(data_t *data, int plane_type) igt_require_f(valid_tests, "no valid crtc/connector combinations found\n"); } -static void test_plane_rotation_ytiled_obj(data_t *data, +static void test_bad_pixel_format(data_t *data, igt_output_t *output, int plane_type) { igt_display_t *display = &data->display; uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED; - uint32_t format = DRM_FORMAT_XRGB8888; - int bpp = igt_drm_format_to_bpp(format); + uint32_t format = DRM_FORMAT_C8; enum igt_commit_style commit = COMMIT_LEGACY; int fd = data->gfx_fd; igt_plane_t *plane; @@ -453,7 +448,7 @@ static void test_plane_rotation_ytiled_obj(data_t *data, w = mode->hdisplay; h = mode->vdisplay; - for (stride = 512; stride < (w * bpp / 8); stride *= 2) + for (stride = 512; stride < w; stride *= 2) ; for (size = 1024*1024; size < stride * h; size *= 2) ; @@ -482,7 +477,9 @@ static void test_plane_rotation_ytiled_obj(data_t *data, kmstest_restore_vt_mode(); igt_remove_fb(fd, &data->fb); - igt_assert_eq(ret, 0); + data->fb.fb_id = 0; + + igt_assert_eq(ret, -EINVAL); } static void test_plane_rotation_exhaust_fences(data_t *data, @@ -693,12 +690,25 @@ igt_main } igt_subtest_f("bad-pixel-format") { + enum pipe pipe; + igt_output_t *output; + int valid_tests = 0; + igt_require(gen >= 9); data.pos_x = 0, data.pos_y = 0; data.rotation = IGT_ROTATION_90; - data.override_fmt = DRM_FORMAT_RGB565; - test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY); + + for_each_pipe_with_valid_output(&data.display, pipe, output) { + igt_output_set_pipe(output, pipe); + + test_bad_pixel_format(&data, output, DRM_PLANE_TYPE_PRIMARY); + + valid_tests++; + break; + } + + igt_require_f(valid_tests, "invalid pixel format accepted for rotation\n"); } igt_subtest_f("bad-tiling") { @@ -709,24 +719,20 @@ igt_main test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY); } - igt_subtest_f("primary-rotation-90-Y-tiled") { - enum pipe pipe; - igt_output_t *output; - int valid_tests = 0; + igt_subtest_f("primary-rotation-90-Y-tiled-16bpp") { + igt_require(gen >= 10); + data.rotation = IGT_ROTATION_90; + data.override_fmt = DRM_FORMAT_RGB565; + data.override_tiling = LOCAL_I915_FORMAT_MOD_Y_TILED; + test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY); + } + igt_subtest_f("primary-rotation-90-Y-tiled") { igt_require(gen >= 9); data.rotation = IGT_ROTATION_90; - - for_each_pipe_with_valid_output(&data.display, pipe, output) { - igt_output_set_pipe(output, pipe); - - test_plane_rotation_ytiled_obj(&data, output, DRM_PLANE_TYPE_PRIMARY); - - valid_tests++; - break; - } - - igt_require_f(valid_tests, "no valid crtc/connector combinations found\n"); + data.override_fmt = DRM_FORMAT_XRGB8888; + data.override_tiling = LOCAL_I915_FORMAT_MOD_Y_TILED; + test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY); } igt_subtest_f("exhaust-fences") {