[igt-dev] [PATCH i-g-t v2] tests/kms_plane: Skip plane position test if primary ID > sprite ID
Abhinav Kumar
quic_abhinavk at quicinc.com
Thu Aug 10 17:17:59 UTC 2023
On 8/9/2023 3:24 PM, Jessica Zhang wrote:
> Currently, IGT assumes that the primary plane in
> test_plane_position_with_output() will always be committed under the
> sprite plane. This will not always hold true if the plane_id of the
> primary plane is greater than the plane_id of the sprite as the DRM
> framework will calculate a higher normalized-zpos for planes with larger
> plane_id's if the zpos property isn't set [1].
>
> Since this is a non-atomic test, we won't be able to explicitly set the
> zpos property. So instead, skip testing the plane position test output for
> cases where the primary plane ID is greater than the sprite plane ID
>
> [1] https://elixir.bootlin.com/linux/v6.5-rc5/source/drivers/gpu/drm/drm_blend.c#L431
>
> Signed-off-by: Jessica Zhang <quic_jesszhan at quicinc.com>
Reviewed-by: Abhinav Kumar <quic_abhinavk at quicinc.com>
> ---
> Changes in v2:
> - Mention that plane-position-* is a non-atomic test
> ---
> tests/kms_plane.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> index 67cff61d6cd1..15116b33b764 100644
> --- a/tests/kms_plane.c
> +++ b/tests/kms_plane.c
> @@ -225,6 +225,12 @@ test_plane_position_with_output(data_t *data,
> primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> sprite = igt_output_get_plane(output, plane);
>
> + if (primary->drm_plane->plane_id > sprite->drm_plane->plane_id) {
> + igt_info("primary plane ID (%d) > sprite plane ID (%d), skipping plane %d\n",
> + primary->drm_plane->plane_id, sprite->drm_plane->plane_id, plane);
> + return;
> + }
> +
> create_fb_for_mode(data, mode, &green, &rect, 1, &primary_fb);
> igt_plane_set_fb(primary, &primary_fb);
>
>
> ---
> base-commit: f12c2533941c9dfce43f455a02b7986605692b29
> change-id: 20230808-kms-plane-fix-8b4e489e78b1
>
> Best regards,
More information about the igt-dev
mailing list