All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers
@ 2022-01-26 11:58 Petri Latvala
  2022-01-26 12:31 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Petri Latvala @ 2022-01-26 11:58 UTC (permalink / raw)
  To: igt-dev; +Cc: Petri Latvala

Not all drivers support all scale factors. Introduce more scale
factors rather than only testing scaling from a 20x20 fb.

Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Jessica Zhang <quic_jesszhan@quicinc.com>
---
 tests/kms_plane_scaling.c | 81 +++++++++++++++++++++++++++++++--------
 1 file changed, 65 insertions(+), 16 deletions(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index 85db11ee..47ef4a12 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -120,12 +120,14 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
 
 static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
 					 uint32_t pixel_format,
-					 uint64_t modifier, enum pipe pipe,
+					 uint64_t modifier,
+					 int width, int height,
+					 enum pipe pipe,
 					 igt_output_t *output,
 					 igt_rotation_t rot)
 {
 	igt_display_t *display = &d->display;
-	int width, height;
+	int commit_ret;
 	drmModeModeInfo *mode;
 
 	cleanup_crtc(d);
@@ -133,22 +135,24 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
 	igt_output_set_pipe(output, pipe);
 	mode = igt_output_get_mode(output);
 
-	/* create buffer in the range of  min and max source side limit.*/
-	width = height = 20;
 	igt_create_color_fb(display->drm_fd, width, height,
 		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
 	igt_plane_set_fb(plane, &d->fb[0]);
 
-	/* Check min to full resolution upscaling */
 	igt_fb_set_position(&d->fb[0], plane, 0, 0);
 	igt_fb_set_size(&d->fb[0], plane, width, height);
 	igt_plane_set_position(plane, 0, 0);
 	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
 	igt_plane_set_rotation(plane, rot);
-	igt_display_commit2(display, COMMIT_ATOMIC);
+	commit_ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
 
 	igt_plane_set_fb(plane, NULL);
 	igt_plane_set_position(plane, 0, 0);
+
+	igt_skip_on_f(commit_ret == -ERANGE,
+		      "Unsupported scaling factor with fb size %dx%d\n",
+		      width, height);
+	igt_assert_eq(commit_ret, 0);
 }
 
 static const igt_rotation_t rotations[] = {
@@ -243,6 +247,7 @@ static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
 }
 
 static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
+					   int width, int height,
 					   igt_output_t *output)
 {
 	igt_display_t *display = &d->display;
@@ -271,9 +276,11 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
 				    igt_plane_has_rotation(plane, rot) &&
 				    can_rotate(d, format, modifier, rot) &&
 				    can_scale(d, format))
-					check_scaling_pipe_plane_rot(d, plane, format,
-								     modifier, pipe,
-								     output, rot);
+					check_scaling_pipe_plane_rot(d, plane,
+								     format, modifier,
+								     width, height,
+								     pipe, output,
+								     rot);
 			}
 
 			igt_vec_fini(&tested_formats);
@@ -288,7 +295,8 @@ static const uint64_t modifiers[] = {
 	I915_FORMAT_MOD_Yf_TILED
 };
 
-static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_output_t *output)
+static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height,
+					       enum pipe pipe, igt_output_t *output)
 {
 	igt_display_t *display = &d->display;
 	igt_plane_t *plane;
@@ -315,6 +323,7 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_ou
 				    can_scale(d, format))
 					check_scaling_pipe_plane_rot(d, plane,
 								     format, modifier,
+								     width, height,
 								     pipe, output, IGT_ROTATION_0);
 			}
 
@@ -726,18 +735,58 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
 					test_plane_scaling_on_pipe(&data, pipe, output);
 		}
 
-		igt_describe("Tests scaling with pixel formats.");
-		igt_subtest_with_dynamic("scaler-with-pixel-format") {
+		igt_describe("Tests scaling with pixel formats, from 20x20 fb.");
+		igt_subtest_with_dynamic("scaler-with-pixel-format-20x20") {
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
+					test_scaler_with_pixel_format_pipe(&data, 20, 20, pipe, output);
+		}
+
+		igt_describe("Tests scaling with pixel formats, scaling factor 4.");
+		igt_subtest_with_dynamic("scaler-with-pixel-format-factor-4") {
+			drmModeModeInfo *mode;
+
+			mode = igt_output_get_mode(output);
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
+					test_scaler_with_pixel_format_pipe(&data, mode->hdisplay / 4, mode->vdisplay / 4, pipe, output);
+		}
+
+		igt_describe("Tests scaling with pixel formats, unity scaling.");
+		igt_subtest_with_dynamic("scaler-with-pixel-format-unity-scaling") {
+			drmModeModeInfo *mode;
+
+			mode = igt_output_get_mode(output);
 			for_each_pipe_with_single_output(&data.display, pipe, output)
 				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
-					test_scaler_with_pixel_format_pipe(&data, pipe, output);
+					test_scaler_with_pixel_format_pipe(&data, mode->hdisplay, mode->vdisplay, pipe, output);
+		}
+
+		igt_describe("Tests scaling with tiling rotation, from 20x20 fb.");
+		igt_subtest_with_dynamic("scaler-with-rotation-20x20") {
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
+					test_scaler_with_rotation_pipe(&data, 20, 20, pipe, output);
 		}
 
-		igt_describe("Tests scaling with tiling rotation.");
-		igt_subtest_with_dynamic("scaler-with-rotation") {
+		igt_describe("Tests scaling with tiling rotation, scaling factor 4.");
+		igt_subtest_with_dynamic("scaler-with-rotation-factor-4") {
+			drmModeModeInfo *mode;
+
+			mode = igt_output_get_mode(output);
+			for_each_pipe_with_single_output(&data.display, pipe, output)
+				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
+					test_scaler_with_rotation_pipe(&data, mode->hdisplay / 4, mode->vdisplay / 4, pipe, output);
+		}
+
+		igt_describe("Tests scaling with tiling rotation, unity scaling.");
+		igt_subtest_with_dynamic("scaler-with-rotation-unity-scaling") {
+			drmModeModeInfo *mode;
+
+			mode = igt_output_get_mode(output);
 			for_each_pipe_with_single_output(&data.display, pipe, output)
 				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
-					test_scaler_with_rotation_pipe(&data, pipe, output);
+					test_scaler_with_rotation_pipe(&data, mode->hdisplay, mode->vdisplay, pipe, output);
 		}
 
 		igt_describe("Tests scaling with clipping and clamping.");
-- 
2.30.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [igt-dev] ✗ Fi.CI.BUILD: failure for kms_plane_scaling: Add more scale factor tests to cover more drivers
  2022-01-26 11:58 [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Petri Latvala
@ 2022-01-26 12:31 ` Patchwork
  2022-01-26 16:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_plane_scaling: Add more scale factor tests to cover more drivers (rev2) Patchwork
  2022-01-27 23:13 ` [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Jessica Zhang
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2022-01-26 12:31 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

== Series Details ==

Series: kms_plane_scaling: Add more scale factor tests to cover more drivers
URL   : https://patchwork.freedesktop.org/series/99364/
State : failure

== Summary ==

IGT patchset build failed on latest successful build
27c9c3f5181a840c777399be7681d2cadd7940cd tests/i915/kms_flip_tiling: Handle lost flip event


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for kms_plane_scaling: Add more scale factor tests to cover more drivers (rev2)
  2022-01-26 11:58 [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Petri Latvala
  2022-01-26 12:31 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
@ 2022-01-26 16:33 ` Patchwork
  2022-01-27 23:13 ` [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Jessica Zhang
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2022-01-26 16:33 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 5728 bytes --]

== Series Details ==

Series: kms_plane_scaling: Add more scale factor tests to cover more drivers (rev2)
URL   : https://patchwork.freedesktop.org/series/99364/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11144 -> IGTPW_6581
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_6581 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_6581, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/index.html

Participating hosts (47 -> 43)
------------------------------

  Additional (1): fi-pnv-d510 
  Missing    (5): fi-hsw-4200u fi-bsw-cyan fi-icl-u2 fi-ctg-p8600 fi-bdw-samus 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_6581:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-5:          [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11144/bat-dg1-5/igt@i915_selftest@live@hangcheck.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/bat-dg1-5/igt@i915_selftest@live@hangcheck.html

  
Known issues
------------

  Here are the changes found in IGTPW_6581 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_cs_nop@fork-compute0:
    - fi-ivb-3770:        NOTRUN -> [SKIP][3] ([fdo#109271]) +17 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-ivb-3770/igt@amdgpu/amd_cs_nop@fork-compute0.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-skl-6600u:       NOTRUN -> [FAIL][4] ([i915#4547])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-skl-6600u/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_selftest@live@hangcheck:
    - fi-snb-2600:        [PASS][5] -> [INCOMPLETE][6] ([i915#3921])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11144/fi-snb-2600/igt@i915_selftest@live@hangcheck.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-snb-2600/igt@i915_selftest@live@hangcheck.html

  * igt@prime_vgem@basic-userptr:
    - fi-pnv-d510:        NOTRUN -> [SKIP][7] ([fdo#109271]) +57 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-pnv-d510/igt@prime_vgem@basic-userptr.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-6:          [DMESG-FAIL][8] ([i915#4494] / [i915#4957]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11144/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
    - fi-ivb-3770:        [INCOMPLETE][10] ([i915#3303]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11144/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b:
    - fi-cfl-8109u:       [DMESG-WARN][12] ([i915#295]) -> [PASS][13] +12 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11144/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html

  
#### Warnings ####

  * igt@runner@aborted:
    - fi-skl-6600u:       [FAIL][14] ([i915#2722] / [i915#4312]) -> [FAIL][15] ([i915#4312])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11144/fi-skl-6600u/igt@runner@aborted.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/fi-skl-6600u/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
  [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
  [i915#4547]: https://gitlab.freedesktop.org/drm/intel/issues/4547
  [i915#4897]: https://gitlab.freedesktop.org/drm/intel/issues/4897
  [i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_6335 -> IGTPW_6581

  CI-20190529: 20190529
  CI_DRM_11144: 521a441e3f470159446b8126fe1adb23a863bc90 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_6581: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/index.html
  IGT_6335: 2b30115edd692b60d16cb10375730a87f51f0e37 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git



== Testlist changes ==

+igt@kms_plane_scaling@scaler-with-pixel-format-20x20
+igt@kms_plane_scaling@scaler-with-pixel-format-factor-4
+igt@kms_plane_scaling@scaler-with-pixel-format-unity-scaling
+igt@kms_plane_scaling@scaler-with-rotation-20x20
+igt@kms_plane_scaling@scaler-with-rotation-factor-4
+igt@kms_plane_scaling@scaler-with-rotation-unity-scaling
-igt@kms_plane_scaling@scaler-with-pixel-format
-igt@kms_plane_scaling@scaler-with-rotation

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_6581/index.html

[-- Attachment #2: Type: text/html, Size: 6674 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers
  2022-01-26 11:58 [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Petri Latvala
  2022-01-26 12:31 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
  2022-01-26 16:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_plane_scaling: Add more scale factor tests to cover more drivers (rev2) Patchwork
@ 2022-01-27 23:13 ` Jessica Zhang
  2 siblings, 0 replies; 4+ messages in thread
From: Jessica Zhang @ 2022-01-27 23:13 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

Hi Petri,

On 1/26/2022 3:58 AM, Petri Latvala wrote:
> Not all drivers support all scale factors. Introduce more scale
> factors rather than only testing scaling from a 20x20 fb.
> 
> Signed-off-by: Petri Latvala <petri.latvala@intel.com>
> Cc: Jessica Zhang <quic_jesszhan@quicinc.com>
> ---
>   tests/kms_plane_scaling.c | 81 +++++++++++++++++++++++++++++++--------
>   1 file changed, 65 insertions(+), 16 deletions(-)
> 
> diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> index 85db11ee..47ef4a12 100644
> --- a/tests/kms_plane_scaling.c
> +++ b/tests/kms_plane_scaling.c
> @@ -120,12 +120,14 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
>   
>   static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>   					 uint32_t pixel_format,
> -					 uint64_t modifier, enum pipe pipe,
> +					 uint64_t modifier,
> +					 int width, int height,
> +					 enum pipe pipe,
>   					 igt_output_t *output,
>   					 igt_rotation_t rot)
>   {
>   	igt_display_t *display = &d->display;
> -	int width, height;
> +	int commit_ret;
>   	drmModeModeInfo *mode;
>   
>   	cleanup_crtc(d);
> @@ -133,22 +135,24 @@ static void check_scaling_pipe_plane_rot(data_t *d, igt_plane_t *plane,
>   	igt_output_set_pipe(output, pipe);
>   	mode = igt_output_get_mode(output);
>   
> -	/* create buffer in the range of  min and max source side limit.*/
> -	width = height = 20;
>   	igt_create_color_fb(display->drm_fd, width, height,
>   		       pixel_format, modifier, 0.0, 1.0, 0.0, &d->fb[0]);
>   	igt_plane_set_fb(plane, &d->fb[0]);
>   
> -	/* Check min to full resolution upscaling */
>   	igt_fb_set_position(&d->fb[0], plane, 0, 0);
>   	igt_fb_set_size(&d->fb[0], plane, width, height);
>   	igt_plane_set_position(plane, 0, 0);
>   	igt_plane_set_size(plane, mode->hdisplay, mode->vdisplay);
>   	igt_plane_set_rotation(plane, rot);
> -	igt_display_commit2(display, COMMIT_ATOMIC);
> +	commit_ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
>   
>   	igt_plane_set_fb(plane, NULL);
>   	igt_plane_set_position(plane, 0, 0);
> +
> +	igt_skip_on_f(commit_ret == -ERANGE,
> +		      "Unsupported scaling factor with fb size %dx%d\n",
> +		      width, height);
> +	igt_assert_eq(commit_ret, 0);
>   }
>   
>   static const igt_rotation_t rotations[] = {
> @@ -243,6 +247,7 @@ static bool test_pipe_iteration(data_t *data, enum pipe pipe, int iteration)
>   }
>   
>   static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
> +					   int width, int height,

The ordering of the params should be consistent with that of 
test_scaler_with_pixel_format_pipe and check_scaling_pipe_plane_rot.

>   					   igt_output_t *output)
>   {
>   	igt_display_t *display = &d->display;
> @@ -271,9 +276,11 @@ static void test_scaler_with_rotation_pipe(data_t *d, enum pipe pipe,
>   				    igt_plane_has_rotation(plane, rot) &&
>   				    can_rotate(d, format, modifier, rot) &&
>   				    can_scale(d, format))
> -					check_scaling_pipe_plane_rot(d, plane, format,
> -								     modifier, pipe,
> -								     output, rot);
> +					check_scaling_pipe_plane_rot(d, plane,
> +								     format, modifier,
> +								     width, height,
> +								     pipe, output,
> +								     rot);
>   			}
>   
>   			igt_vec_fini(&tested_formats);
> @@ -288,7 +295,8 @@ static const uint64_t modifiers[] = {
>   	I915_FORMAT_MOD_Yf_TILED
>   };
>   
> -static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_output_t *output)
> +static void test_scaler_with_pixel_format_pipe(data_t *d, int width, int height,
> +					       enum pipe pipe, igt_output_t *output)
>   {
>   	igt_display_t *display = &d->display;
>   	igt_plane_t *plane;
> @@ -315,6 +323,7 @@ static void test_scaler_with_pixel_format_pipe(data_t *d, enum pipe pipe, igt_ou
>   				    can_scale(d, format))
>   					check_scaling_pipe_plane_rot(d, plane,
>   								     format, modifier,
> +								     width, height,
>   								     pipe, output, IGT_ROTATION_0);
>   			}
>   
> @@ -726,18 +735,58 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
>   					test_plane_scaling_on_pipe(&data, pipe, output);
>   		}
>   
> -		igt_describe("Tests scaling with pixel formats.");
> -		igt_subtest_with_dynamic("scaler-with-pixel-format") {
> +		igt_describe("Tests scaling with pixel formats, from 20x20 fb.");
> +		igt_subtest_with_dynamic("scaler-with-pixel-format-20x20") {
> +			for_each_pipe_with_single_output(&data.display, pipe, output)
> +				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
> +					test_scaler_with_pixel_format_pipe(&data, 20, 20, pipe, output);
> +		}
> +
> +		igt_describe("Tests scaling with pixel formats, scaling factor 4.");
> +		igt_subtest_with_dynamic("scaler-with-pixel-format-factor-4") {
> +			drmModeModeInfo *mode;
> +
> +			mode = igt_output_get_mode(output);

Should move this inside of the for each loop since the compatible 
outputs are populated within for_each_pipe_with_single_output. Getting 
the mode before then will return incorrect values and cause an invalid 
argument error for create_fb.

> +			for_each_pipe_with_single_output(&data.display, pipe, output)
> +				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
> +					test_scaler_with_pixel_format_pipe(&data, mode->hdisplay / 4, mode->vdisplay / 4, pipe, output);

This could hit an edge case where the resolution being passed in isn't 
32-bit aligned. Should add a check for this (maybe within 
check_scaling_pipe_plane_rot) and possibly correct to an appropriate fb 
size.

Thanks,
Jessica Zhang

> +		}
> +
> +		igt_describe("Tests scaling with pixel formats, unity scaling.");
> +		igt_subtest_with_dynamic("scaler-with-pixel-format-unity-scaling") {
> +			drmModeModeInfo *mode;
> +
> +			mode = igt_output_get_mode(output);
>   			for_each_pipe_with_single_output(&data.display, pipe, output)
>   				igt_dynamic_f("pipe-%s-scaler-with-pixel-format", kmstest_pipe_name(pipe))
> -					test_scaler_with_pixel_format_pipe(&data, pipe, output);
> +					test_scaler_with_pixel_format_pipe(&data, mode->hdisplay, mode->vdisplay, pipe, output);
> +		}
> +
> +		igt_describe("Tests scaling with tiling rotation, from 20x20 fb.");
> +		igt_subtest_with_dynamic("scaler-with-rotation-20x20") {
> +			for_each_pipe_with_single_output(&data.display, pipe, output)
> +				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
> +					test_scaler_with_rotation_pipe(&data, 20, 20, pipe, output); >   		}
>   
> -		igt_describe("Tests scaling with tiling rotation.");
> -		igt_subtest_with_dynamic("scaler-with-rotation") {
> +		igt_describe("Tests scaling with tiling rotation, scaling factor 4.");
> +		igt_subtest_with_dynamic("scaler-with-rotation-factor-4") {
> +			drmModeModeInfo *mode;
> +
> +			mode = igt_output_get_mode(output);
> +			for_each_pipe_with_single_output(&data.display, pipe, output)
> +				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
> +					test_scaler_with_rotation_pipe(&data, mode->hdisplay / 4, mode->vdisplay / 4, pipe, output);
> +		}
> +
> +		igt_describe("Tests scaling with tiling rotation, unity scaling.");
> +		igt_subtest_with_dynamic("scaler-with-rotation-unity-scaling") {
> +			drmModeModeInfo *mode;
> +
> +			mode = igt_output_get_mode(output);
>   			for_each_pipe_with_single_output(&data.display, pipe, output)
>   				igt_dynamic_f("pipe-%s-scaler-with-rotation", kmstest_pipe_name(pipe))
> -					test_scaler_with_rotation_pipe(&data, pipe, output);
> +					test_scaler_with_rotation_pipe(&data, mode->hdisplay, mode->vdisplay, pipe, output);
>   		}
>   
>   		igt_describe("Tests scaling with clipping and clamping.");
> -- 
> 2.30.2
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-27 23:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26 11:58 [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Petri Latvala
2022-01-26 12:31 ` [igt-dev] ✗ Fi.CI.BUILD: failure for " Patchwork
2022-01-26 16:33 ` [igt-dev] ✗ Fi.CI.BAT: failure for kms_plane_scaling: Add more scale factor tests to cover more drivers (rev2) Patchwork
2022-01-27 23:13 ` [igt-dev] [PATCH i-g-t] kms_plane_scaling: Add more scale factor tests to cover more drivers Jessica Zhang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.