[igt-dev] [PATCH i-g-t v2] tests/kms_ccs: Select highest resolution
Imre Deak
imre.deak at intel.com
Thu Feb 6 13:30:12 UTC 2020
On Thu, Feb 06, 2020 at 09:48:06AM +0200, Mika Kahola wrote:
> 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.
>
> v2: Pointer to drmModeModeInfo (Imre)
> Set default to back to preferred mode (Imre)
> Search mode only in cases with misaligned or small aux strides
> test flags (Imre)
> Fix requirement to from vertical to horizontal (Imre)
>
> Signed-off-by: Mika Kahola <mika.kahola at intel.com>
> ---
> tests/kms_ccs.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
> index 2259a4f1..f1f6cc6b 100644
> --- a/tests/kms_ccs.c
> +++ b/tests/kms_ccs.c
> @@ -276,6 +276,22 @@ 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(drmModeModeInfo *preferred_mode,
Maybe get_wide_mode() or similar to better describe what's this node is
used for?
> + igt_output_t *output)
> +{
> + drmModeModeInfo *mode, *tmp;
> + int i;
> +
> + mode = preferred_mode;
> + for (i = 0; i < output->config.connector->count_modes; i++) {
if (mode->hdisplay > 1024)
break;
> + tmp = &output->config.connector->modes[i];
> + if (tmp->hdisplay > mode->hdisplay)
> + mode = tmp;
> + }
> +
> + return mode;
> +}
> +
> static bool try_config(data_t *data, enum test_fb_flags fb_flags,
> igt_crc_t *crc)
> {
> @@ -298,6 +314,12 @@ static bool try_config(data_t *data, enum test_fb_flags fb_flags,
> data->ccs_modifier))
> return false;
>
> + if ((fb_flags & FB_MISALIGN_AUX_STRIDE) ||
> + (fb_flags & FB_SMALL_AUX_STRIDE)) {
> + drm_mode = get_mode(drm_mode, data->output);
> + 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))
At the end of try_config() we need to restore the default mode:
igt_output_override_mode(output, NULL);
With the above:
Reviewed-by: Imre Deak <imre.deak at intel.com>
> --
> 2.17.1
>
More information about the igt-dev
mailing list