[igt-dev] [PATCH i-g-t] tests/kms_plane: Skip plane position test if primary ID > sprite ID

Jessica Zhang quic_jesszhan at quicinc.com
Wed Aug 9 21:12:20 UTC 2023


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].

Thus, 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>
---
 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,
-- 
Jessica Zhang <quic_jesszhan at quicinc.com>



More information about the igt-dev mailing list