[Intel-gfx] [PATCH i-g-t v2 19/33] tests/kms_plane: Add support for dynamic number of planes
Mika Kahola
mika.kahola at intel.com
Wed Jan 25 12:48:04 UTC 2017
On Tue, 2017-01-24 at 18:33 -0500, Robert Foss wrote:
> Add changes reflecting the new support for dynamic number of planes
> per pipe.
>
> Signed-off-by: Robert Foss <robert.foss at collabora.com>
> ---
> tests/kms_plane.c | 94 ++++++++++++++++++++++++++++++---------------
> ----------
> 1 file changed, 52 insertions(+), 42 deletions(-)
>
> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> index e843a170..14c444fc 100644
> --- a/tests/kms_plane.c
> +++ b/tests/kms_plane.c
> @@ -150,7 +150,7 @@ enum {
> static void
> test_plane_position_with_output(data_t *data,
> enum pipe pipe,
> - enum igt_plane plane,
> + int plane,
> igt_output_t *output,
> unsigned int flags)
> {
> @@ -170,7 +170,7 @@ test_plane_position_with_output(data_t *data,
> igt_output_set_pipe(output, pipe);
>
> mode = igt_output_get_mode(output);
> - primary = igt_output_get_plane(output, 0);
> + primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> sprite = igt_output_get_plane(output, plane);
>
> create_fb_for_mode__position(data, mode, 100, 100, 64, 64,
> @@ -222,7 +222,7 @@ test_plane_position_with_output(data_t *data,
> }
>
> static void
> -test_plane_position(data_t *data, enum pipe pipe, enum igt_plane
> plane,
> +test_plane_position(data_t *data, enum pipe pipe, int plane,
> unsigned int flags)
> {
> igt_output_t *output;
> @@ -294,7 +294,7 @@ enum {
> static void
> test_plane_panning_with_output(data_t *data,
> enum pipe pipe,
> - enum igt_plane plane,
> + int plane,
> igt_output_t *output,
> unsigned int flags)
> {
> @@ -348,7 +348,7 @@ test_plane_panning_with_output(data_t *data,
> }
>
> static void
> -test_plane_panning(data_t *data, enum pipe pipe, enum igt_plane
> plane,
> +test_plane_panning(data_t *data, enum pipe pipe, int plane,
> unsigned int flags)
misaligned parameter. With that fixed, this is
Reviewed-by: Mika Kahola <mika.kahola at intel.com>
> {
> igt_output_t *output;
> @@ -367,47 +367,57 @@ test_plane_panning(data_t *data, enum pipe
> pipe, enum igt_plane plane,
> }
>
> static void
> -run_tests_for_pipe_plane(data_t *data, enum pipe pipe, enum
> igt_plane plane)
> +run_tests_for_pipe_plane(data_t *data, enum pipe pipe)
> {
> - igt_subtest_f("plane-position-covered-pipe-%s-plane-%d",
> - kmstest_pipe_name(pipe), plane)
> - test_plane_position(data, pipe, plane,
> - TEST_POSITION_FULLY_COVERED);
> -
> - igt_subtest_f("plane-position-hole-pipe-%s-plane-%d",
> - kmstest_pipe_name(pipe), plane)
> - test_plane_position(data, pipe, plane, 0);
> -
> - igt_subtest_f("plane-position-hole-dpms-pipe-%s-plane-%d",
> - kmstest_pipe_name(pipe), plane)
> - test_plane_position(data, pipe, plane,
> - TEST_DPMS);
> -
> - igt_subtest_f("plane-panning-top-left-pipe-%s-plane-%d",
> - kmstest_pipe_name(pipe), plane)
> - test_plane_panning(data, pipe, plane,
> TEST_PANNING_TOP_LEFT);
> -
> - igt_subtest_f("plane-panning-bottom-right-pipe-%s-plane-%d",
> - kmstest_pipe_name(pipe), plane)
> - test_plane_panning(data, pipe, plane,
> - TEST_PANNING_BOTTOM_RIGHT);
> -
> - igt_subtest_f("plane-panning-bottom-right-suspend-pipe-%s-
> plane-%d",
> - kmstest_pipe_name(pipe), plane)
> - test_plane_panning(data, pipe, plane,
> - TEST_PANNING_BOTTOM_RIGHT |
> - TEST_SUSPEND_RESUME);
> -}
> + igt_subtest_f("plane-position-covered-pipe-%s-planes",
> + kmstest_pipe_name(pipe)) {
> + int n_planes = data->display.pipes[pipe].n_planes;
> + for (int plane = 1; plane < n_planes; plane++)
> + test_plane_position(data, pipe, plane,
> + TEST_POSITION_FULLY_COVE
> RED);
> + }
>
> -static void
> -run_tests_for_pipe(data_t *data, enum pipe pipe)
> -{
> - int plane;
> + igt_subtest_f("plane-position-hole-pipe-%s-planes",
> + kmstest_pipe_name(pipe)) {
> + int n_planes = data->display.pipes[pipe].n_planes;
> + for (int plane = 1; plane < n_planes; plane++)
> + test_plane_position(data, pipe, plane, 0);
> + }
> +
> + igt_subtest_f("plane-position-hole-dpms-pipe-%s-planes",
> + kmstest_pipe_name(pipe)) {
> + int n_planes = data->display.pipes[pipe].n_planes;
> + for (int plane = 1; plane < n_planes; plane++)
> + test_plane_position(data, pipe, plane,
> + TEST_DPMS);
> + }
> +
> + igt_subtest_f("plane-panning-top-left-pipe-%s-planes",
> + kmstest_pipe_name(pipe)) {
> + int n_planes = data->display.pipes[pipe].n_planes;
> + for (int plane = 1; plane < n_planes; plane++)
> + test_plane_panning(data, pipe, plane,
> TEST_PANNING_TOP_LEFT);
> + }
>
> - for (plane = 1; plane < IGT_MAX_PLANES; plane++)
> - run_tests_for_pipe_plane(data, pipe, plane);
> + igt_subtest_f("plane-panning-bottom-right-pipe-%s-planes",
> + kmstest_pipe_name(pipe)) {
> + int n_planes = data->display.pipes[pipe].n_planes;
> + for (int plane = 1; plane < n_planes; plane++)
> + test_plane_panning(data, pipe, plane,
> + TEST_PANNING_BOTTOM_RIGHT
> );
> + }
> +
> + igt_subtest_f("plane-panning-bottom-right-suspend-pipe-%s-
> planes",
> + kmstest_pipe_name(pipe)) {
> + int n_planes = data->display.pipes[pipe].n_planes;
> + for (int plane = 1; plane < n_planes; plane++)
> + test_plane_panning(data, pipe, plane,
> + TEST_PANNING_BOTTOM_RIGHT
> |
> + TEST_SUSPEND_RESUME);
> + }
> }
>
> +
> static data_t data;
>
> igt_main
> @@ -425,7 +435,7 @@ igt_main
> }
>
> for (int pipe = 0; pipe < I915_MAX_PIPES; pipe++)
> - run_tests_for_pipe(&data, pipe);
> + run_tests_for_pipe_plane(&data, pipe);
>
> igt_fixture {
> igt_display_fini(&data.display);
--
Mika Kahola - Intel OTC
More information about the Intel-gfx
mailing list