@@ -522,46 +522,109 @@ igt_main
igt_display_init(&data.display, data.gfx_fd);
}
igt_subtest_f("primary-rotation-180") {
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_180;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+ }
+
+ igt_subtest_f("primary-rotation-180-with-test") {
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_180;
test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("sprite-rotation-180") {
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_180;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+ }
+
+ igt_subtest_f("sprite-rotation-180-with-test") {
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_180;
test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("cursor-rotation-180") {
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_180;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
+ }
+
+ igt_subtest_f("cursor-rotation-180-with-test") {
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_180;
test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
}
igt_subtest_f("primary-rotation-90") {
igt_require(gen >= 9);
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_90;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+ }
+
+ igt_subtest_f("primary-rotation-90-with-test") {
+ igt_require(gen >= 9);
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_90;
test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("primary-rotation-270") {
igt_require(gen >= 9);
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_270;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+ }
+
+ igt_subtest_f("primary-rotation-270-with-test") {
+ igt_require(gen >= 9);
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_270;
test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("sprite-rotation-90") {
igt_require(gen >= 9);
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_90;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+ }
+
+ igt_subtest_f("sprite-rotation-90-with-test") {
+ igt_require(gen >= 9);
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_90;
test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("sprite-rotation-270") {
igt_require(gen >= 9);
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_270;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+ }
+
+ igt_subtest_f("sprite-rotation-270-with-test") {
+ igt_require(gen >= 9);
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_270;
test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("sprite-rotation-90-pos-100-0") {
igt_require(gen >= 9);
+ data.display.force_test_atomic = false;
+ data.rotation = IGT_ROTATION_90;
+ data.pos_x = 100,
+ data.pos_y = 0;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
+ }
+
+ igt_subtest_f("sprite-rotation-90-pos-100-0-with-test") {
+ igt_require(gen >= 9);
+ data.display.force_test_atomic = true;
data.rotation = IGT_ROTATION_90;
data.pos_x = 100,
data.pos_y = 0;
@@ -574,6 +637,17 @@ igt_main
data.pos_y = 0;
data.rotation = IGT_ROTATION_90;
data.override_fmt = DRM_FORMAT_RGB565;
+ data.display.force_test_atomic = false;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+ }
+
+ igt_subtest_f("bad-pixel-format-with-test") {
+ igt_require(gen >= 9);
+ data.pos_x = 0,
+ data.pos_y = 0;
+ data.rotation = IGT_ROTATION_90;
+ data.override_fmt = DRM_FORMAT_RGB565;
+ data.display.force_test_atomic = true;
test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
@@ -582,6 +656,16 @@ igt_main
data.override_fmt = 0;
data.rotation = IGT_ROTATION_90;
data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
+ data.display.force_test_atomic = false;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+ }
+
+ igt_subtest_f("bad-tiling-with-test") {
+ igt_require(gen >= 9);
+ data.override_fmt = 0;
+ data.rotation = IGT_ROTATION_90;
+ data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
+ data.display.force_test_atomic = true;
test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
@@ -590,6 +674,16 @@ igt_main
data.override_tiling = 0;
data.flip_stress = 60;
data.rotation = IGT_ROTATION_90;
+ data.display.force_test_atomic = false;
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
+ }
+
+ igt_subtest_f("primary-rotation-90-flip-stress-with-test") {
+ igt_require(gen >= 9);
+ data.override_tiling = 0;
+ data.flip_stress = 60;
+ data.rotation = IGT_ROTATION_90;
+ data.display.force_test_atomic = true;
test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
@@ -600,6 +694,28 @@ igt_main
igt_require(gen >= 9);
data.rotation = IGT_ROTATION_90;
+ data.display.force_test_atomic = false;
+
+ for_each_pipe_with_valid_output(&data.display, pipe, output) {
+ igt_output_set_pipe(output, pipe);
+
+ test_plane_rotation_ytiled_obj(&data, output, DRM_PLANE_TYPE_PRIMARY);
+
+ valid_tests++;
+ break;
+ }
+
+ igt_require_f(valid_tests, "no valid crtc/connector combinations found\n");
+ }
+
+ igt_subtest_f("primary-rotation-90-Y-tiled-with-test") {
+ enum pipe pipe;
+ igt_output_t *output;
+ int valid_tests = 0;
+
+ igt_require(gen >= 9);
+ data.rotation = IGT_ROTATION_90;
+ data.display.force_test_atomic = true;
for_each_pipe_with_valid_output(&data.display, pipe, output) {
igt_output_set_pipe(output, pipe);
@@ -620,6 +736,29 @@ igt_main
igt_require(gen >= 9);
+ data.display.force_test_atomic = false;
+
+ for_each_pipe_with_valid_output(&data.display, pipe, output) {
+ igt_output_set_pipe(output, pipe);
+
+ test_plane_rotation_exhaust_fences(&data, output, DRM_PLANE_TYPE_PRIMARY);
+
+ valid_tests++;
+ break;
+ }
+
+ igt_require_f(valid_tests, "no valid crtc/connector combinations found\n");
+ }
+
+ igt_subtest_f("exhaust-fences-with-test") {
+ enum pipe pipe;
+ igt_output_t *output;
+ int valid_tests = 0;
+
+ igt_require(gen >= 9);
+
+ data.display.force_test_atomic = true;
+
for_each_pipe_with_valid_output(&data.display, pipe, output) {
igt_output_set_pipe(output, pipe);
Add TEST_ONLY flag to test atomic modesetting commits without actual real-life commit. Signed-off-by: Mika Kahola <mika.kahola@intel.com> --- tests/kms_rotation_crc.c | 139 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+)