summaryrefslogtreecommitdiff
path: root/tests/kms_rotation_crc.c
diff options
context:
space:
mode:
authorRobert Foss <robert.foss@collabora.com>2017-01-10 20:18:41 -0500
committerRobert Foss <robert.foss@collabora.com>2017-01-31 16:46:14 -0500
commit3e04c5197ff965a8cd050f9c3b5213abcf437a31 (patch)
tree6bb7978869021b76ab4dd6f803834d1ef260ac1c /tests/kms_rotation_crc.c
parent70fa64cf58c2d8ef661b970c119fd96680f95839 (diff)
tests/kms_rotation_crc: Add support for dynamic number of planes
Add changes reflecting the new support for dynamic number of planes per pipe. Signed-off-by: Robert Foss <robert.foss@collabora.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Diffstat (limited to 'tests/kms_rotation_crc.c')
-rw-r--r--tests/kms_rotation_crc.c65
1 files changed, 33 insertions, 32 deletions
diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index eae3a7e1..9bfcde33 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -97,26 +97,27 @@ static void commit_crtc(data_t *data, igt_output_t *output, igt_plane_t *plane)
* we create an fb covering the crtc and call commit
*/
- if (plane->is_primary || plane->is_cursor)
+ if (plane->type == DRM_PLANE_TYPE_PRIMARY ||
+ plane->type == DRM_PLANE_TYPE_CURSOR)
commit = COMMIT_UNIVERSAL;
if (data->display.is_atomic)
commit = COMMIT_ATOMIC;
- primary = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
+ primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
if (commit < COMMIT_ATOMIC) {
igt_plane_set_fb(primary, &data->fb_modeset);
primary->rotation_changed = false;
igt_display_commit(display);
- if (plane->is_primary)
+ if (plane->type == DRM_PLANE_TYPE_PRIMARY)
primary->rotation_changed = true;
}
igt_plane_set_fb(plane, &data->fb);
- if (!plane->is_cursor)
+ if (plane->type != DRM_PLANE_TYPE_CURSOR)
igt_plane_set_position(plane, data->pos_x, data->pos_y);
igt_display_commit2(display, commit);
@@ -161,7 +162,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
tiling = data->override_tiling ?
data->override_tiling : LOCAL_I915_FORMAT_MOD_Y_TILED;
w = h = min(mode->hdisplay, mode->vdisplay);
- } else if (plane->is_cursor) {
+ } else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
pixel_format = data->override_fmt ?
data->override_fmt : DRM_FORMAT_ARGB8888;
w = h = 128;
@@ -213,10 +214,10 @@ static void cleanup_crtc(data_t *data, igt_output_t *output, igt_plane_t *plane)
igt_remove_fb(data->gfx_fd, &data->fb_flip);
/* XXX: see the note in prepare_crtc() */
- if (!plane->is_primary) {
+ if (plane->type != DRM_PLANE_TYPE_PRIMARY) {
igt_plane_t *primary;
- primary = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
+ primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
igt_plane_set_fb(primary, NULL);
}
@@ -247,7 +248,7 @@ static void wait_for_pageflip(int fd)
igt_assert(drmHandleEvent(fd, &evctx) == 0);
}
-static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
+static void test_plane_rotation(data_t *data, int plane_type)
{
igt_display_t *display = &data->display;
igt_output_t *output;
@@ -258,10 +259,10 @@ static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
unsigned int flip_count;
int ret;
- if (plane_type == IGT_PLANE_PRIMARY || plane_type == IGT_PLANE_CURSOR)
+ if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type == DRM_PLANE_TYPE_CURSOR)
commit = COMMIT_UNIVERSAL;
- if (plane_type == IGT_PLANE_CURSOR)
+ if (plane_type == DRM_PLANE_TYPE_CURSOR)
igt_require(display->has_cursor_plane);
if (data->display.is_atomic)
@@ -272,7 +273,7 @@ static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
igt_output_set_pipe(output, pipe);
- plane = igt_output_get_plane(output, plane_type);
+ plane = igt_output_get_plane_type(output, plane_type);
igt_require(igt_plane_supports_rotation(plane));
prepare_crtc(data, output, pipe, plane);
@@ -320,7 +321,7 @@ static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
static void test_plane_rotation_ytiled_obj(data_t *data,
igt_output_t *output,
- enum igt_plane plane_type)
+ int plane_type)
{
igt_display_t *display = &data->display;
uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
@@ -334,13 +335,13 @@ static void test_plane_rotation_ytiled_obj(data_t *data,
uint32_t gem_handle;
int ret;
- plane = igt_output_get_plane(output, plane_type);
+ plane = igt_output_get_plane_type(output, plane_type);
igt_require(igt_plane_supports_rotation(plane));
- if (plane_type == IGT_PLANE_PRIMARY || plane_type == IGT_PLANE_CURSOR)
+ if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type == DRM_PLANE_TYPE_CURSOR)
commit = COMMIT_UNIVERSAL;
- if (plane_type == IGT_PLANE_CURSOR)
+ if (plane_type == DRM_PLANE_TYPE_CURSOR)
igt_require(display->has_cursor_plane);
if (data->display.is_atomic)
@@ -390,7 +391,7 @@ static void test_plane_rotation_ytiled_obj(data_t *data,
static void test_plane_rotation_exhaust_fences(data_t *data,
igt_output_t *output,
- enum igt_plane plane_type)
+ int plane_type)
{
igt_display_t *display = &data->display;
uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
@@ -406,13 +407,13 @@ static void test_plane_rotation_exhaust_fences(data_t *data,
uint64_t total_aperture_size, total_fbs_size;
int i, ret;
- plane = igt_output_get_plane(output, plane_type);
+ plane = igt_output_get_plane_type(output, plane_type);
igt_require(igt_plane_supports_rotation(plane));
- if (plane_type == IGT_PLANE_PRIMARY || plane_type == IGT_PLANE_CURSOR)
+ if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type == DRM_PLANE_TYPE_CURSOR)
commit = COMMIT_UNIVERSAL;
- if (plane_type == IGT_PLANE_CURSOR)
+ if (plane_type == DRM_PLANE_TYPE_CURSOR)
igt_require(display->has_cursor_plane);
if (data->display.is_atomic)
@@ -522,41 +523,41 @@ igt_main
}
igt_subtest_f("primary-rotation-180") {
data.rotation = IGT_ROTATION_180;
- test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("sprite-rotation-180") {
data.rotation = IGT_ROTATION_180;
- test_plane_rotation(&data, IGT_PLANE_2);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("cursor-rotation-180") {
data.rotation = IGT_ROTATION_180;
- test_plane_rotation(&data, IGT_PLANE_CURSOR);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
}
igt_subtest_f("primary-rotation-90") {
igt_require(gen >= 9);
data.rotation = IGT_ROTATION_90;
- test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("primary-rotation-270") {
igt_require(gen >= 9);
data.rotation = IGT_ROTATION_270;
- test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("sprite-rotation-90") {
igt_require(gen >= 9);
data.rotation = IGT_ROTATION_90;
- test_plane_rotation(&data, IGT_PLANE_2);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("sprite-rotation-270") {
igt_require(gen >= 9);
data.rotation = IGT_ROTATION_270;
- test_plane_rotation(&data, IGT_PLANE_2);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("sprite-rotation-90-pos-100-0") {
@@ -564,7 +565,7 @@ igt_main
data.rotation = IGT_ROTATION_90;
data.pos_x = 100,
data.pos_y = 0;
- test_plane_rotation(&data, IGT_PLANE_2);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
}
igt_subtest_f("bad-pixel-format") {
@@ -573,7 +574,7 @@ igt_main
data.pos_y = 0;
data.rotation = IGT_ROTATION_90;
data.override_fmt = DRM_FORMAT_RGB565;
- test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("bad-tiling") {
@@ -581,7 +582,7 @@ igt_main
data.override_fmt = 0;
data.rotation = IGT_ROTATION_90;
data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
- test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("primary-rotation-90-flip-stress") {
@@ -589,7 +590,7 @@ igt_main
data.override_tiling = 0;
data.flip_stress = 60;
data.rotation = IGT_ROTATION_90;
- test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+ test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
}
igt_subtest_f("primary-rotation-90-Y-tiled") {
@@ -603,7 +604,7 @@ igt_main
for_each_pipe_with_valid_output(&data.display, pipe, output) {
igt_output_set_pipe(output, pipe);
- test_plane_rotation_ytiled_obj(&data, output, IGT_PLANE_PRIMARY);
+ test_plane_rotation_ytiled_obj(&data, output, DRM_PLANE_TYPE_PRIMARY);
valid_tests++;
break;
@@ -622,7 +623,7 @@ igt_main
for_each_pipe_with_valid_output(&data.display, pipe, output) {
igt_output_set_pipe(output, pipe);
- test_plane_rotation_exhaust_fences(&data, output, IGT_PLANE_PRIMARY);
+ test_plane_rotation_exhaust_fences(&data, output, DRM_PLANE_TYPE_PRIMARY);
valid_tests++;
break;