summaryrefslogtreecommitdiff
path: root/tests/kms_atomic_transition.c
diff options
context:
space:
mode:
authorRobert Foss <robert.foss@collabora.com>2017-01-10 18:30:43 -0500
committerRobert Foss <robert.foss@collabora.com>2017-01-31 16:19:35 -0500
commitdd97e8d72dde5a793cb5641d7f234f6cb9a0defd (patch)
tree9a56a7e0422113c1909f07366a3f550d4647a875 /tests/kms_atomic_transition.c
parent36656239ef9679059a10f812db074bee990934d3 (diff)
tests/kms_atomic_transition: 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_atomic_transition.c')
-rw-r--r--tests/kms_atomic_transition.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 851ffc95..5fdb6175 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -120,7 +120,8 @@ static void set_sprite_wh(igt_display_t *display, enum pipe pipe,
for_each_plane_on_pipe(display, pipe, plane) {
int i = plane->index;
- if (plane->is_primary || plane->is_cursor)
+ if (plane->type == DRM_PLANE_TYPE_PRIMARY ||
+ plane->type == DRM_PLANE_TYPE_CURSOR)
continue;
parms[i].width = w;
@@ -156,20 +157,16 @@ static void setup_parms(igt_display_t *display, enum pipe pipe,
for_each_plane_on_pipe(display, pipe, plane) {
int i = plane->index;
- if (plane->is_primary)
+ if (plane->type == DRM_PLANE_TYPE_PRIMARY) {
parms[i].fb = plane->fb;
- else if (plane->is_cursor)
- parms[i].fb = argb_fb;
- else
- parms[i].fb = sprite_fb;
-
- if (plane->is_primary) {
parms[i].width = mode->hdisplay;
parms[i].height = mode->vdisplay;
- } else if (plane->is_cursor) {
+ } else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
+ parms[i].fb = argb_fb;
parms[i].width = cursor_width;
parms[i].height = cursor_height;
- }
+ } else
+ parms[i].fb = sprite_fb;
}
igt_create_fb(display->drm_fd, cursor_width, cursor_height,
@@ -273,7 +270,7 @@ run_transition_test(igt_display_t *display, enum pipe pipe, igt_output_t *output
drmModeModeInfo *mode, override_mode;
igt_plane_t *plane;
uint32_t iter_max = 1 << display->pipes[pipe].n_planes, i;
- struct plane_parms parms[IGT_MAX_PLANES];
+ struct plane_parms parms[display->pipes[pipe].n_planes];
bool skip_test = false;
unsigned flags = DRM_MODE_PAGE_FLIP_EVENT;
@@ -421,7 +418,8 @@ static unsigned set_combinations(igt_display_t *display, unsigned mask, struct i
igt_output_set_pipe(output, PIPE_NONE);
for_each_pipe(display, pipe) {
- igt_plane_t *plane = &display->pipes[pipe].planes[IGT_PLANE_PRIMARY];
+ igt_plane_t *plane = igt_pipe_get_plane_type(&display->pipes[pipe],
+ DRM_PLANE_TYPE_PRIMARY);
drmModeModeInfo *mode = NULL;
if (!(mask & (1 << pipe))) {
@@ -462,7 +460,7 @@ static void refresh_primaries(igt_display_t *display)
for_each_pipe(display, pipe)
for_each_plane_on_pipe(display, pipe, plane)
- if (plane->is_primary && plane->fb)
+ if (plane->type == DRM_PLANE_TYPE_PRIMARY && plane->fb)
plane->fb_changed = true;
}
@@ -506,7 +504,8 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock
DRM_FORMAT_XRGB8888, 0, .5, .5, .5, &fbs[1]);
for_each_pipe(display, i) {
- igt_plane_t *plane = &display->pipes[i].planes[IGT_PLANE_PRIMARY];
+ igt_pipe_t *pipe = &display->pipes[i];
+ igt_plane_t *plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
drmModeModeInfo *mode = NULL;
if (is_i915_device(display->drm_fd))