From patchwork Fri Jan 20 17:45:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Foss X-Patchwork-Id: 9529069 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 44FF860463 for ; Fri, 20 Jan 2017 17:46:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 372272868C for ; Fri, 20 Jan 2017 17:46:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2C22C286BD; Fri, 20 Jan 2017 17:46:48 +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.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY 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 D72592868D for ; Fri, 20 Jan 2017 17:46:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B9F2E6EC21; Fri, 20 Jan 2017 17:46:46 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B48C6E1D7 for ; Fri, 20 Jan 2017 17:46:46 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: robertfoss) with ESMTPSA id A7D8E26845C From: Robert Foss To: intel-gfx@lists.freedesktop.org, Tomeu Vizoso , Maarten Lankhorst , Gustavo Padovan , Daniel Stone , Mika Kahola Date: Fri, 20 Jan 2017 12:45:27 -0500 Message-Id: <20170120174554.14195-6-robert.foss@collabora.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170120174554.14195-1-robert.foss@collabora.com> References: <20170120174554.14195-1-robert.foss@collabora.com> Subject: [Intel-gfx] [PATCH i-g-t v1 05/32] tests/kms_atomic_transition: Add support for dynamic number of planes 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: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP Add changes reflecting the new support for dynamic number of planes per pipe. Signed-off-by: Robert Foss --- tests/kms_atomic_transition.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c index 851ffc95..5fdb6175 100644 --- a/tests/kms_atomic_transition.c +++ b/tests/kms_atomic_transition.c @@ -120,7 +120,8 @@ static void set_sprite_wh(igt_display_t *display, enum pipe pipe, for_each_plane_on_pipe(display, pipe, plane) { int i = plane->index; - if (plane->is_primary || plane->is_cursor) + if (plane->type == DRM_PLANE_TYPE_PRIMARY || + plane->type == DRM_PLANE_TYPE_CURSOR) continue; parms[i].width = w; @@ -156,20 +157,16 @@ static void setup_parms(igt_display_t *display, enum pipe pipe, for_each_plane_on_pipe(display, pipe, plane) { int i = plane->index; - if (plane->is_primary) + if (plane->type == DRM_PLANE_TYPE_PRIMARY) { parms[i].fb = plane->fb; - else if (plane->is_cursor) - parms[i].fb = argb_fb; - else - parms[i].fb = sprite_fb; - - if (plane->is_primary) { parms[i].width = mode->hdisplay; parms[i].height = mode->vdisplay; - } else if (plane->is_cursor) { + } else if (plane->type == DRM_PLANE_TYPE_CURSOR) { + parms[i].fb = argb_fb; parms[i].width = cursor_width; parms[i].height = cursor_height; - } + } else + parms[i].fb = sprite_fb; } igt_create_fb(display->drm_fd, cursor_width, cursor_height, @@ -273,7 +270,7 @@ run_transition_test(igt_display_t *display, enum pipe pipe, igt_output_t *output drmModeModeInfo *mode, override_mode; igt_plane_t *plane; uint32_t iter_max = 1 << display->pipes[pipe].n_planes, i; - struct plane_parms parms[IGT_MAX_PLANES]; + struct plane_parms parms[display->pipes[pipe].n_planes]; bool skip_test = false; unsigned flags = DRM_MODE_PAGE_FLIP_EVENT; @@ -421,7 +418,8 @@ static unsigned set_combinations(igt_display_t *display, unsigned mask, struct i igt_output_set_pipe(output, PIPE_NONE); for_each_pipe(display, pipe) { - igt_plane_t *plane = &display->pipes[pipe].planes[IGT_PLANE_PRIMARY]; + igt_plane_t *plane = igt_pipe_get_plane_type(&display->pipes[pipe], + DRM_PLANE_TYPE_PRIMARY); drmModeModeInfo *mode = NULL; if (!(mask & (1 << pipe))) { @@ -462,7 +460,7 @@ static void refresh_primaries(igt_display_t *display) for_each_pipe(display, pipe) for_each_plane_on_pipe(display, pipe, plane) - if (plane->is_primary && plane->fb) + if (plane->type == DRM_PLANE_TYPE_PRIMARY && plane->fb) plane->fb_changed = true; } @@ -506,7 +504,8 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock DRM_FORMAT_XRGB8888, 0, .5, .5, .5, &fbs[1]); for_each_pipe(display, i) { - igt_plane_t *plane = &display->pipes[i].planes[IGT_PLANE_PRIMARY]; + igt_pipe_t *pipe = &display->pipes[i]; + igt_plane_t *plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY); drmModeModeInfo *mode = NULL; if (is_i915_device(display->drm_fd))