[Intel-gfx] [PATCH i-g-t] igt/kms_rotation_crc: Add RGB565 90 degree test for gen>9
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Nov 3 16:25:45 UTC 2017
On Fri, Nov 03, 2017 at 04:26:30PM +0200, Juha-Pekka Heikkila wrote:
> Gen10 onwards 90 and 270 degree rotations are supported for RGB565 format.
>
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
> tests/kms_rotation_crc.c | 30 +++++++++++++++++++++++++++---
> 1 file changed, 27 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index 27d1f80..f22bcb5 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -423,11 +423,10 @@ static void test_plane_rotation(data_t *data, int plane_type)
>
> static void test_plane_rotation_ytiled_obj(data_t *data,
> igt_output_t *output,
> - int plane_type)
> + int plane_type, uint32_t format)
> {
> igt_display_t *display = &data->display;
> uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
> - uint32_t format = DRM_FORMAT_XRGB8888;
> int bpp = igt_drm_format_to_bpp(format);
> enum igt_commit_style commit = COMMIT_LEGACY;
> int fd = data->gfx_fd;
> @@ -709,6 +708,29 @@ igt_main
> test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
> }
>
> + igt_subtest_f("primary-rotation-90-Y-tiled-16bpp") {
> + enum pipe pipe;
> + igt_output_t *output;
> + int valid_tests = 0;
> +
> + igt_require(gen > 9);
> + data.rotation = IGT_ROTATION_90;
> +
> + 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,
> + DRM_FORMAT_RGB565);
This will fail on pre-gen10, so you'll need to adjust something else as
well. Also you'll want to change the bad-format test to use maybe C8.
Looks like kms_rotation_crc as a whole could use some refactoring.
I don't understand why we have test_plane_rotation() and
test_plane_rotation_ytiled_obj(). One function really should be
enough.
> +
> + valid_tests++;
> + break;
> + }
> +
> + igt_require_f(valid_tests,
> + "no valid crtc/connector combinations found\n");
> + }
> +
> igt_subtest_f("primary-rotation-90-Y-tiled") {
> enum pipe pipe;
> igt_output_t *output;
> @@ -720,7 +742,9 @@ 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, DRM_PLANE_TYPE_PRIMARY);
> + test_plane_rotation_ytiled_obj(&data, output,
> + DRM_PLANE_TYPE_PRIMARY,
> + DRM_FORMAT_XRGB8888);
>
> valid_tests++;
> break;
> --
> 2.7.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list