public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests
  2018-12-21 14:05 Juha-Pekka Heikkila
@ 2018-12-21 14:05 ` Juha-Pekka Heikkila
  0 siblings, 0 replies; 8+ messages in thread
From: Juha-Pekka Heikkila @ 2018-12-21 14:05 UTC (permalink / raw)
  To: igt-dev

Add NV12 support for testing where available.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 tests/kms_rotation_crc.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index 796115a..6197faf 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -426,7 +426,7 @@ typedef struct {
 	igt_rotation_t rotation_sw, rotation_hw;
 } planeinfos;
 
-static void get_multiplane_crc(data_t *data, igt_output_t *output,
+static bool get_multiplane_crc(data_t *data, igt_output_t *output,
 			       igt_crc_t *crc_output, planeinfos *planeinfo,
 			       int numplanes)
 {
@@ -436,7 +436,7 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 	int c, ret;
 
 	oldplanes = data->multiplaneoldview;
-	planes = malloc(sizeof(*planes) * numplanes);
+	planes = calloc(sizeof(*planes), numplanes);
 
 	for (c = 0; c < numplanes; c++) {
 		planes[c].plane = igt_output_get_plane_type(output,
@@ -452,6 +452,11 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
 			igt_swap(w, h);
 
+		if(!igt_plane_has_format_mod(planes[c].plane,
+					    planeinfo[c].format,
+					    planeinfo[c].tiling))
+			return false;
+
 		igt_create_fb(data->gfx_fd, w, h, planeinfo[c].format,
 			      planeinfo[c].tiling, &planes[c].fb);
 
@@ -475,6 +480,7 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 
 	free(oldplanes);
 	data->multiplaneoldview = (void*)planes;
+	return true;
 }
 
 static void pointlocation(data_t *data, planeinfos *p, drmModeModeInfo *mode,
@@ -523,13 +529,10 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
 
 	/*
 	* These are those modes which are tested. For testing feel interesting
-	* case with tiling are 2 byte wide and 4 byte wide.
-	*
-	* TODO:
-	* Built support for NV12 here.
+	* case with tiling are 2 bpp, 4 bpp and NV12.
 	*/
 	static const uint32_t formatlist[] = {DRM_FORMAT_RGB565,
-		DRM_FORMAT_XRGB8888};
+		DRM_FORMAT_XRGB8888, DRM_FORMAT_NV12};
 
 	for_each_valid_output_on_pipe(display, pipe, output) {
 		int i, j, k, l;
@@ -581,13 +584,15 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
 						p[0].rotation_hw = IGT_ROTATION_0;
 						p[1].rotation_sw = planeconfigs[j].rotation;
 						p[1].rotation_hw = IGT_ROTATION_0;
-						get_multiplane_crc(data, output, &retcrc_sw,
-								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
+						if (!get_multiplane_crc(data, output, &retcrc_sw,
+								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
+							continue;
 
 						igt_swap(p[0].rotation_sw, p[0].rotation_hw);
 						igt_swap(p[1].rotation_sw, p[1].rotation_hw);
-						get_multiplane_crc(data, output, &retcrc_hw,
-								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
+						if (!get_multiplane_crc(data, output, &retcrc_hw,
+								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
+							continue;
 
 						igt_assert_crc_equal(&retcrc_sw, &retcrc_hw);
 					}
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation
@ 2018-12-28  9:29 Juha-Pekka Heikkila
  2018-12-28  9:29 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests Juha-Pekka Heikkila
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Juha-Pekka Heikkila @ 2018-12-28  9:29 UTC (permalink / raw)
  To: igt-dev

rendered test image had off-by-one error in size calculation
which was failing some tests on certain resolutions and plane
sizes.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 tests/kms_rotation_crc.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index c67f608..796115a 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
 	unsigned int h = fb->height;
 	rgb_color_t tl, tr, bl, br;
 
+	igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
+	igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
+
 	cr = igt_get_cairo_ctx(data->gfx_fd, fb);
 
 	set_color(&tl, o, 0.0f, 0.0f);
@@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 		planes[c].plane = igt_output_get_plane_type(output,
 							    planeinfo[c].planetype);
 
-		w = planeinfo[c].width;
-		h = planeinfo[c].height;
+		/*
+		 * make plane and fb width and height always even due to
+		 * test image rendering
+		 */
+		w = planeinfo[c].width & ~1;
+		h = planeinfo[c].height & ~1;
 
 		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
 			igt_swap(w, h);
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests
  2018-12-28  9:29 [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation Juha-Pekka Heikkila
@ 2018-12-28  9:29 ` Juha-Pekka Heikkila
  2019-01-11 14:35   ` Ville Syrjälä
  2018-12-28 10:00 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Juha-Pekka Heikkila @ 2018-12-28  9:29 UTC (permalink / raw)
  To: igt-dev

Add NV12 support for testing where available.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
---
 tests/kms_rotation_crc.c | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index 796115a..7a75db8 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -426,7 +426,7 @@ typedef struct {
 	igt_rotation_t rotation_sw, rotation_hw;
 } planeinfos;
 
-static void get_multiplane_crc(data_t *data, igt_output_t *output,
+static bool get_multiplane_crc(data_t *data, igt_output_t *output,
 			       igt_crc_t *crc_output, planeinfos *planeinfo,
 			       int numplanes)
 {
@@ -436,22 +436,27 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 	int c, ret;
 
 	oldplanes = data->multiplaneoldview;
-	planes = malloc(sizeof(*planes) * numplanes);
+	planes = calloc(sizeof(*planes), numplanes);
 
 	for (c = 0; c < numplanes; c++) {
 		planes[c].plane = igt_output_get_plane_type(output,
 							    planeinfo[c].planetype);
 
 		/*
-		 * make plane and fb width and height always even due to
-		 * test image rendering
+		 * make plane and fb width and height always divisible by 4
+		 * due to NV12 support
 		 */
-		w = planeinfo[c].width & ~1;
-		h = planeinfo[c].height & ~1;
+		w = planeinfo[c].width & ~3;
+		h = planeinfo[c].height & ~3;
 
 		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
 			igt_swap(w, h);
 
+		if (!igt_plane_has_format_mod(planes[c].plane,
+					      planeinfo[c].format,
+					      planeinfo[c].tiling))
+			return false;
+
 		igt_create_fb(data->gfx_fd, w, h, planeinfo[c].format,
 			      planeinfo[c].tiling, &planes[c].fb);
 
@@ -475,6 +480,7 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
 
 	free(oldplanes);
 	data->multiplaneoldview = (void*)planes;
+	return true;
 }
 
 static void pointlocation(data_t *data, planeinfos *p, drmModeModeInfo *mode,
@@ -523,13 +529,10 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
 
 	/*
 	* These are those modes which are tested. For testing feel interesting
-	* case with tiling are 2 byte wide and 4 byte wide.
-	*
-	* TODO:
-	* Built support for NV12 here.
+	* case with tiling are 2 bpp, 4 bpp and NV12.
 	*/
 	static const uint32_t formatlist[] = {DRM_FORMAT_RGB565,
-		DRM_FORMAT_XRGB8888};
+		DRM_FORMAT_XRGB8888, DRM_FORMAT_NV12};
 
 	for_each_valid_output_on_pipe(display, pipe, output) {
 		int i, j, k, l;
@@ -581,13 +584,15 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
 						p[0].rotation_hw = IGT_ROTATION_0;
 						p[1].rotation_sw = planeconfigs[j].rotation;
 						p[1].rotation_hw = IGT_ROTATION_0;
-						get_multiplane_crc(data, output, &retcrc_sw,
-								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
+						if (!get_multiplane_crc(data, output, &retcrc_sw,
+								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
+							continue;
 
 						igt_swap(p[0].rotation_sw, p[0].rotation_hw);
 						igt_swap(p[1].rotation_sw, p[1].rotation_hw);
-						get_multiplane_crc(data, output, &retcrc_hw,
-								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
+						if (!get_multiplane_crc(data, output, &retcrc_hw,
+								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
+							continue;
 
 						igt_assert_crc_equal(&retcrc_sw, &retcrc_hw);
 					}
-- 
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation
  2018-12-28  9:29 [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation Juha-Pekka Heikkila
  2018-12-28  9:29 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests Juha-Pekka Heikkila
@ 2018-12-28 10:00 ` Patchwork
  2018-12-28 11:12 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2019-01-11 14:31 ` [igt-dev] [PATCH i-g-t 1/2] " Ville Syrjälä
  3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2018-12-28 10:00 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation
URL   : https://patchwork.freedesktop.org/series/54515/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5345 -> IGTPW_2180
====================================================

Summary
-------

  **WARNING**

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

  External URL: https://patchwork.freedesktop.org/api/1.0/series/54515/revisions/1/mbox/

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

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

### IGT changes ###

#### Warnings ####

  * igt@pm_rpm@basic-pci-d3-state:
    - fi-byt-j1900:       SKIP -> PASS

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-blb-e6850:       NOTRUN -> INCOMPLETE [fdo#107718]

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - fi-bsw-n3050:       FAIL [fdo#108656] -> PASS

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       FAIL [fdo#108767] -> PASS

  * igt@pm_rpm@basic-rte:
    - fi-byt-j1900:       FAIL [fdo#108800] -> PASS

  
#### Warnings ####

  * igt@i915_selftest@live_contexts:
    - fi-icl-u3:          DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108315]

  
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108315]: https://bugs.freedesktop.org/show_bug.cgi?id=108315
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108656]: https://bugs.freedesktop.org/show_bug.cgi?id=108656
  [fdo#108767]: https://bugs.freedesktop.org/show_bug.cgi?id=108767
  [fdo#108800]: https://bugs.freedesktop.org/show_bug.cgi?id=108800


Participating hosts (46 -> 40)
------------------------------

  Additional (1): fi-kbl-7560u 
  Missing    (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-icl-y 


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

    * IGT: IGT_4754 -> IGTPW_2180

  CI_DRM_5345: 401703d974c357af84537c0d5f1e07ebeaaa99fe @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2180: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2180/
  IGT_4754: a176905d46d072300ba57f29ac2b98a0228e0e2d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2180/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation
  2018-12-28  9:29 [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation Juha-Pekka Heikkila
  2018-12-28  9:29 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests Juha-Pekka Heikkila
  2018-12-28 10:00 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation Patchwork
@ 2018-12-28 11:12 ` Patchwork
  2019-01-11 14:31 ` [igt-dev] [PATCH i-g-t 1/2] " Ville Syrjälä
  3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2018-12-28 11:12 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation
URL   : https://patchwork.freedesktop.org/series/54515/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5345_full -> IGTPW_2180_full
====================================================

Summary
-------

  **WARNING**

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

  External URL: https://patchwork.freedesktop.org/api/1.0/series/54515/revisions/1/mbox/

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

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

### IGT changes ###

#### Warnings ####

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-kbl:          DMESG-FAIL [fdo#108950] -> FAIL

  * igt@tools_test@sysfs_l3_parity:
    - shard-hsw:          PASS -> SKIP

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fence@basic-await-default:
    - shard-hsw:          PASS -> FAIL [fdo#108888]

  * igt@kms_available_modes_crc@available_mode_test_crc:
    - shard-apl:          PASS -> FAIL [fdo#106641]

  * igt@kms_color@pipe-a-legacy-gamma:
    - shard-apl:          PASS -> FAIL [fdo#104782] / [fdo#108145]

  * igt@kms_cursor_crc@cursor-128x128-sliding:
    - shard-kbl:          PASS -> FAIL [fdo#103232] +1

  * igt@kms_cursor_crc@cursor-64x21-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +7

  * igt@kms_cursor_crc@cursor-64x64-sliding:
    - shard-glk:          PASS -> FAIL [fdo#103232] +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-kbl:          PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-apl:          PASS -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
    - shard-glk:          PASS -> FAIL [fdo#103167] +5

  * igt@kms_plane@plane-position-covered-pipe-a-planes:
    - shard-apl:          PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-glk:          PASS -> FAIL [fdo#108145] +1

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-glk:          PASS -> FAIL [fdo#103166] +4

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-glk:          PASS -> DMESG-FAIL [fdo#105763] / [fdo#106538]
    - shard-apl:          PASS -> DMESG-FAIL [fdo#108950]

  * igt@kms_setmode@basic:
    - shard-hsw:          PASS -> FAIL [fdo#99912]

  
#### Possible fixes ####

  * igt@gem_exec_basic@readonly-blt:
    - shard-snb:          INCOMPLETE [fdo#105411] -> PASS

  * igt@gem_tiled_blits@interruptible:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_color@pipe-c-ctm-max:
    - shard-kbl:          FAIL [fdo#108147] -> PASS
    - shard-apl:          FAIL [fdo#108147] -> PASS +1

  * igt@kms_cursor_crc@cursor-256x256-dpms:
    - shard-glk:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_cursor_crc@cursor-64x21-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_cursor_crc@cursor-64x64-dpms:
    - shard-kbl:          FAIL [fdo#103232] -> PASS +2

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1
    - shard-glk:          FAIL [fdo#103167] -> PASS +4
    - shard-kbl:          FAIL [fdo#103167] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-apl:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-y:
    - shard-glk:          FAIL [fdo#103166] -> PASS

  * igt@kms_setmode@basic:
    - shard-apl:          FAIL [fdo#99912] -> PASS
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@prime_busy@hang-bsd:
    - shard-apl:          FAIL -> PASS

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#106538]: https://bugs.freedesktop.org/show_bug.cgi?id=106538
  [fdo#106641]: https://bugs.freedesktop.org/show_bug.cgi?id=106641
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108147]: https://bugs.freedesktop.org/show_bug.cgi?id=108147
  [fdo#108888]: https://bugs.freedesktop.org/show_bug.cgi?id=108888
  [fdo#108950]: https://bugs.freedesktop.org/show_bug.cgi?id=108950
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 5)
------------------------------

  Missing    (2): shard-skl shard-iclb 


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

    * IGT: IGT_4754 -> IGTPW_2180
    * Piglit: piglit_4509 -> None

  CI_DRM_5345: 401703d974c357af84537c0d5f1e07ebeaaa99fe @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2180: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2180/
  IGT_4754: a176905d46d072300ba57f29ac2b98a0228e0e2d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2180/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation
  2018-12-28  9:29 [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation Juha-Pekka Heikkila
                   ` (2 preceding siblings ...)
  2018-12-28 11:12 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-01-11 14:31 ` Ville Syrjälä
  3 siblings, 0 replies; 8+ messages in thread
From: Ville Syrjälä @ 2019-01-11 14:31 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev

On Fri, Dec 28, 2018 at 11:29:50AM +0200, Juha-Pekka Heikkila wrote:
> rendered test image had off-by-one error in size calculation
> which was failing some tests on certain resolutions and plane
> sizes.
> 
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  tests/kms_rotation_crc.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index c67f608..796115a 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
>  	unsigned int h = fb->height;
>  	rgb_color_t tl, tr, bl, br;
>  
> +	igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
> +	igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
> +
>  	cr = igt_get_cairo_ctx(data->gfx_fd, fb);
>  
>  	set_color(&tl, o, 0.0f, 0.0f);
> @@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>  		planes[c].plane = igt_output_get_plane_type(output,
>  							    planeinfo[c].planetype);
>  
> -		w = planeinfo[c].width;
> -		h = planeinfo[c].height;
> +		/*
> +		 * make plane and fb width and height always even due to
> +		 * test image rendering
> +		 */
> +		w = planeinfo[c].width & ~1;
> +		h = planeinfo[c].height & ~1;
>  
>  		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
>  			igt_swap(w, h);
> -- 
> 2.7.4
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests
  2018-12-28  9:29 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests Juha-Pekka Heikkila
@ 2019-01-11 14:35   ` Ville Syrjälä
  2019-01-15 16:28     ` Ville Syrjälä
  0 siblings, 1 reply; 8+ messages in thread
From: Ville Syrjälä @ 2019-01-11 14:35 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev

On Fri, Dec 28, 2018 at 11:29:51AM +0200, Juha-Pekka Heikkila wrote:
> Add NV12 support for testing where available.
> 
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> ---
>  tests/kms_rotation_crc.c | 35 ++++++++++++++++++++---------------
>  1 file changed, 20 insertions(+), 15 deletions(-)
> 
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index 796115a..7a75db8 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -426,7 +426,7 @@ typedef struct {
>  	igt_rotation_t rotation_sw, rotation_hw;
>  } planeinfos;
>  
> -static void get_multiplane_crc(data_t *data, igt_output_t *output,
> +static bool get_multiplane_crc(data_t *data, igt_output_t *output,
>  			       igt_crc_t *crc_output, planeinfos *planeinfo,
>  			       int numplanes)
>  {
> @@ -436,22 +436,27 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>  	int c, ret;
>  
>  	oldplanes = data->multiplaneoldview;
> -	planes = malloc(sizeof(*planes) * numplanes);
> +	planes = calloc(sizeof(*planes), numplanes);
>  
>  	for (c = 0; c < numplanes; c++) {
>  		planes[c].plane = igt_output_get_plane_type(output,
>  							    planeinfo[c].planetype);
>  
>  		/*
> -		 * make plane and fb width and height always even due to
> -		 * test image rendering
> +		 * make plane and fb width and height always divisible by 4
> +		 * due to NV12 support

Because of the skl nv12 rotation workaround or some other reason?

Looks all right otherwise.

>  		 */
> -		w = planeinfo[c].width & ~1;
> -		h = planeinfo[c].height & ~1;
> +		w = planeinfo[c].width & ~3;
> +		h = planeinfo[c].height & ~3;
>  
>  		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
>  			igt_swap(w, h);
>  
> +		if (!igt_plane_has_format_mod(planes[c].plane,
> +					      planeinfo[c].format,
> +					      planeinfo[c].tiling))
> +			return false;
> +
>  		igt_create_fb(data->gfx_fd, w, h, planeinfo[c].format,
>  			      planeinfo[c].tiling, &planes[c].fb);
>  
> @@ -475,6 +480,7 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>  
>  	free(oldplanes);
>  	data->multiplaneoldview = (void*)planes;
> +	return true;
>  }
>  
>  static void pointlocation(data_t *data, planeinfos *p, drmModeModeInfo *mode,
> @@ -523,13 +529,10 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
>  
>  	/*
>  	* These are those modes which are tested. For testing feel interesting
> -	* case with tiling are 2 byte wide and 4 byte wide.
> -	*
> -	* TODO:
> -	* Built support for NV12 here.
> +	* case with tiling are 2 bpp, 4 bpp and NV12.
>  	*/
>  	static const uint32_t formatlist[] = {DRM_FORMAT_RGB565,
> -		DRM_FORMAT_XRGB8888};
> +		DRM_FORMAT_XRGB8888, DRM_FORMAT_NV12};
>  
>  	for_each_valid_output_on_pipe(display, pipe, output) {
>  		int i, j, k, l;
> @@ -581,13 +584,15 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
>  						p[0].rotation_hw = IGT_ROTATION_0;
>  						p[1].rotation_sw = planeconfigs[j].rotation;
>  						p[1].rotation_hw = IGT_ROTATION_0;
> -						get_multiplane_crc(data, output, &retcrc_sw,
> -								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
> +						if (!get_multiplane_crc(data, output, &retcrc_sw,
> +								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
> +							continue;
>  
>  						igt_swap(p[0].rotation_sw, p[0].rotation_hw);
>  						igt_swap(p[1].rotation_sw, p[1].rotation_hw);
> -						get_multiplane_crc(data, output, &retcrc_hw,
> -								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
> +						if (!get_multiplane_crc(data, output, &retcrc_hw,
> +								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
> +							continue;
>  
>  						igt_assert_crc_equal(&retcrc_sw, &retcrc_hw);
>  					}
> -- 
> 2.7.4
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests
  2019-01-11 14:35   ` Ville Syrjälä
@ 2019-01-15 16:28     ` Ville Syrjälä
  0 siblings, 0 replies; 8+ messages in thread
From: Ville Syrjälä @ 2019-01-15 16:28 UTC (permalink / raw)
  To: Juha-Pekka Heikkila; +Cc: igt-dev

On Fri, Jan 11, 2019 at 04:35:28PM +0200, Ville Syrjälä wrote:
> On Fri, Dec 28, 2018 at 11:29:51AM +0200, Juha-Pekka Heikkila wrote:
> > Add NV12 support for testing where available.
> > 
> > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
> > ---
> >  tests/kms_rotation_crc.c | 35 ++++++++++++++++++++---------------
> >  1 file changed, 20 insertions(+), 15 deletions(-)
> > 
> > diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> > index 796115a..7a75db8 100644
> > --- a/tests/kms_rotation_crc.c
> > +++ b/tests/kms_rotation_crc.c
> > @@ -426,7 +426,7 @@ typedef struct {
> >  	igt_rotation_t rotation_sw, rotation_hw;
> >  } planeinfos;
> >  
> > -static void get_multiplane_crc(data_t *data, igt_output_t *output,
> > +static bool get_multiplane_crc(data_t *data, igt_output_t *output,
> >  			       igt_crc_t *crc_output, planeinfos *planeinfo,
> >  			       int numplanes)
> >  {
> > @@ -436,22 +436,27 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
> >  	int c, ret;
> >  
> >  	oldplanes = data->multiplaneoldview;
> > -	planes = malloc(sizeof(*planes) * numplanes);
> > +	planes = calloc(sizeof(*planes), numplanes);
> >  
> >  	for (c = 0; c < numplanes; c++) {
> >  		planes[c].plane = igt_output_get_plane_type(output,
> >  							    planeinfo[c].planetype);
> >  
> >  		/*
> > -		 * make plane and fb width and height always even due to
> > -		 * test image rendering
> > +		 * make plane and fb width and height always divisible by 4
> > +		 * due to NV12 support
> 
> Because of the skl nv12 rotation workaround or some other reason?

Ah yes, we still have those bogus w/h%4 checks for the fb dimensions.
Even with those gone we'd still have w/a 1106 to worry about. We might
want to note that in the comment "... due to Intel hw workarounds."

With that
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> 
> Looks all right otherwise.
> 
> >  		 */
> > -		w = planeinfo[c].width & ~1;
> > -		h = planeinfo[c].height & ~1;
> > +		w = planeinfo[c].width & ~3;
> > +		h = planeinfo[c].height & ~3;
> >  
> >  		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
> >  			igt_swap(w, h);
> >  
> > +		if (!igt_plane_has_format_mod(planes[c].plane,
> > +					      planeinfo[c].format,
> > +					      planeinfo[c].tiling))
> > +			return false;
> > +
> >  		igt_create_fb(data->gfx_fd, w, h, planeinfo[c].format,
> >  			      planeinfo[c].tiling, &planes[c].fb);
> >  
> > @@ -475,6 +480,7 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
> >  
> >  	free(oldplanes);
> >  	data->multiplaneoldview = (void*)planes;
> > +	return true;
> >  }
> >  
> >  static void pointlocation(data_t *data, planeinfos *p, drmModeModeInfo *mode,
> > @@ -523,13 +529,10 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
> >  
> >  	/*
> >  	* These are those modes which are tested. For testing feel interesting
> > -	* case with tiling are 2 byte wide and 4 byte wide.
> > -	*
> > -	* TODO:
> > -	* Built support for NV12 here.
> > +	* case with tiling are 2 bpp, 4 bpp and NV12.
> >  	*/
> >  	static const uint32_t formatlist[] = {DRM_FORMAT_RGB565,
> > -		DRM_FORMAT_XRGB8888};
> > +		DRM_FORMAT_XRGB8888, DRM_FORMAT_NV12};
> >  
> >  	for_each_valid_output_on_pipe(display, pipe, output) {
> >  		int i, j, k, l;
> > @@ -581,13 +584,15 @@ static void test_multi_plane_rotation(data_t *data, enum pipe pipe)
> >  						p[0].rotation_hw = IGT_ROTATION_0;
> >  						p[1].rotation_sw = planeconfigs[j].rotation;
> >  						p[1].rotation_hw = IGT_ROTATION_0;
> > -						get_multiplane_crc(data, output, &retcrc_sw,
> > -								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
> > +						if (!get_multiplane_crc(data, output, &retcrc_sw,
> > +								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
> > +							continue;
> >  
> >  						igt_swap(p[0].rotation_sw, p[0].rotation_hw);
> >  						igt_swap(p[1].rotation_sw, p[1].rotation_hw);
> > -						get_multiplane_crc(data, output, &retcrc_hw,
> > -								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT);
> > +						if (!get_multiplane_crc(data, output, &retcrc_hw,
> > +								   (planeinfos *)&p, MAXMULTIPLANESAMOUNT))
> > +							continue;
> >  
> >  						igt_assert_crc_equal(&retcrc_sw, &retcrc_hw);
> >  					}
> > -- 
> > 2.7.4
> > 
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
> 
> -- 
> Ville Syrjälä
> Intel

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-01-15 16:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-28  9:29 [igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation Juha-Pekka Heikkila
2018-12-28  9:29 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests Juha-Pekka Heikkila
2019-01-11 14:35   ` Ville Syrjälä
2019-01-15 16:28     ` Ville Syrjälä
2018-12-28 10:00 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/2] tests/kms_rotation: align rendered image correctly for rotation Patchwork
2018-12-28 11:12 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-01-11 14:31 ` [igt-dev] [PATCH i-g-t 1/2] " Ville Syrjälä
  -- strict thread matches above, loose matches on Subject: below --
2018-12-21 14:05 Juha-Pekka Heikkila
2018-12-21 14:05 ` [igt-dev] [PATCH i-g-t 2/2] tests/kms_rotation_crc: add NV12 support for multiplane* tests Juha-Pekka Heikkila

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox