@@ -268,7 +268,7 @@ static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
igt_plane_set_rotation(plane, data->rotation);
ret = igt_display_try_commit2(display, commit);
- if (data->override_fmt || data->override_tiling) {
+ if ((data->override_fmt && data->override_fmt != DRM_FORMAT_RGB565) || data->override_tiling) {
igt_assert_eq(ret, -EINVAL);
} else {
igt_assert_eq(ret, 0);
@@ -579,6 +579,34 @@ igt_main
test_plane_rotation_exhaust_fences(&data, IGT_PLANE_PRIMARY);
}
+ igt_subtest_f("primary-rotation-RGB565-90") {
+ igt_require(gen >= 9);
+ data.rotation = IGT_ROTATION_90;
+ data.override_fmt = DRM_FORMAT_RGB565;
+ test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ }
+
+ igt_subtest_f("primary-rotation-RGB565-270") {
+ igt_require(gen >= 9);
+ data.rotation = IGT_ROTATION_270;
+ data.override_fmt = DRM_FORMAT_RGB565;
+ test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ }
+
+ igt_subtest_f("sprite-rotation-RGB565-90") {
+ igt_require(gen >= 9);
+ data.rotation = IGT_ROTATION_90;
+ data.override_fmt = DRM_FORMAT_RGB565;
+ test_plane_rotation(&data, IGT_PLANE_2);
+ }
+
+ igt_subtest_f("sprite-rotation-RGB565-270") {
+ igt_require(gen >= 9);
+ data.rotation = IGT_ROTATION_270;
+ data.override_fmt = DRM_FORMAT_RGB565;
+ test_plane_rotation(&data, IGT_PLANE_2);
+ }
+
igt_fixture {
igt_display_fini(&data.display);
}
Signed-off-by: Mayuresh Gharpure <mayuresh.s.gharpure@intel.com> --- tests/kms_rotation_crc.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-)