From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C4BCF6E893 for ; Tue, 28 Jan 2020 14:34:47 +0000 (UTC) From: Mika Kahola Date: Tue, 28 Jan 2020 16:30:54 +0200 Message-Id: <20200128143054.23907-1-mika.kahola@intel.com> Subject: [igt-dev] [PATCH i-g-t] tests/kms_ccs: Select highest resolution List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: In some cases we select resolution that is insufficient for testing and we receive unnecessary skips on CI. Let's loop through all available modes and select the higest one when running the tests. Signed-off-by: Mika Kahola --- tests/kms_ccs.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c index 2259a4f1..ddc6a30b 100644 --- a/tests/kms_ccs.c +++ b/tests/kms_ccs.c @@ -276,12 +276,28 @@ static igt_plane_t *compatible_main_plane(data_t *data) return igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY); } +static drmModeModeInfo get_mode(igt_output_t *output) +{ + const drmModeModeInfo *mode; + drmModeModeInfo *tmp; + int i; + + mode = &output->config.connector->modes[0]; + for (i = 1; i < output->config.connector->count_modes; i++) { + tmp = &output->config.connector->modes[i]; + if (tmp->vdisplay > mode->vdisplay) + mode = tmp; + } + + return *mode; +} + static bool try_config(data_t *data, enum test_fb_flags fb_flags, igt_crc_t *crc) { igt_display_t *display = &data->display; igt_plane_t *primary = compatible_main_plane(data); - drmModeModeInfo *drm_mode = igt_output_get_mode(data->output); + drmModeModeInfo drm_mode = get_mode(data->output); enum igt_commit_style commit; struct igt_fb fb, fb_sprite; int ret; @@ -298,25 +314,27 @@ static bool try_config(data_t *data, enum test_fb_flags fb_flags, data->ccs_modifier)) return false; + igt_output_override_mode(data->output, &drm_mode); + if (data->plane && fb_flags & FB_COMPRESSED) { if (!igt_plane_has_format_mod(data->plane, data->format, data->ccs_modifier)) return false; - generate_fb(data, &fb, min(MAX_SPRITE_PLANE_WIDTH, drm_mode->hdisplay), - drm_mode->vdisplay, + generate_fb(data, &fb, min(MAX_SPRITE_PLANE_WIDTH, drm_mode.hdisplay), + drm_mode.vdisplay, (fb_flags & ~FB_COMPRESSED) | FB_HAS_PLANE); generate_fb(data, &fb_sprite, 256, 256, fb_flags); } else { - generate_fb(data, &fb, min(MAX_SPRITE_PLANE_WIDTH, drm_mode->hdisplay), - drm_mode->vdisplay, fb_flags); + generate_fb(data, &fb, min(MAX_SPRITE_PLANE_WIDTH, drm_mode.hdisplay), + drm_mode.vdisplay, fb_flags); } if (data->flags & TEST_FAIL_ON_ADDFB2) return true; igt_plane_set_position(primary, 0, 0); - igt_plane_set_size(primary, drm_mode->hdisplay, drm_mode->vdisplay); + igt_plane_set_size(primary, drm_mode.hdisplay, drm_mode.vdisplay); igt_plane_set_fb(primary, &fb); if (data->plane && fb_flags & FB_COMPRESSED) { -- 2.17.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev