public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH 0/2] Test platform supported pixel formats through chamelium.
@ 2020-03-05  3:03 Kunal Joshi
  2020-03-05  3:03 ` [igt-dev] [PATCH 1/2] lib/igt_fb: Added macro to retrieve char code of format Kunal Joshi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Kunal Joshi @ 2020-03-05  3:03 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, petri.latvala

Added capability in kms_chamelium to test both rgb and yuv
pixel formats supported per platform through chamelium.
Earlier, only hard coded pixel formats used to be tested which were
not generic across platforms resulting is SKIPS; to overcome these SKIPS
now only platform supported pixel formats will be tested.

Kunal Joshi (2):
  lib/igt_fb: Added macro to retrieve char code of format
  tests/kms_chamelium: Add support to validate RGB/YUV pixel formats

 lib/igt_fb.h          |   2 +
 tests/kms_chamelium.c | 136 ++++++++++++++++++--------------------------------
 2 files changed, 50 insertions(+), 88 deletions(-)

-- 
2.7.4

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

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

* [igt-dev] [PATCH 1/2] lib/igt_fb: Added macro to retrieve char code of format
  2020-03-05  3:03 [igt-dev] [PATCH 0/2] Test platform supported pixel formats through chamelium Kunal Joshi
@ 2020-03-05  3:03 ` Kunal Joshi
  2020-03-05  3:03 ` [igt-dev] [PATCH 2/2] tests/kms_chamelium: Add support to validate RGB/YUV pixel formats Kunal Joshi
  2020-03-05 10:14 ` [igt-dev] ✗ GitLab.Pipeline: warning for Test platform supported pixel formats through chamelium Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Kunal Joshi @ 2020-03-05  3:03 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, petri.latvala

Added a macro to retrieve the fourcc of the pixel format.

Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 lib/igt_fb.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/igt_fb.h b/lib/igt_fb.h
index 587f7a4..abc7c52 100644
--- a/lib/igt_fb.h
+++ b/lib/igt_fb.h
@@ -48,6 +48,8 @@
 #define IGT_FORMAT_FMT "%c%c%c%c(0x%08x)"
 #define IGT_FORMAT_ARGS(f) ((f) >> 0) & 0xff, ((f) >> 8) & 0xff, \
 		((f) >> 16) & 0xff, ((f) >> 24) & 0xff, (f)
+#define IGT_FORMAT_ARGS_CODE(f) ((f) >> 0) & 0xff, ((f) >> 8) & 0xff, \
+		((f) >> 16) & 0xff, ((f) >> 24) & 0xff
 
 /**
  * igt_fb_t:
-- 
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] 4+ messages in thread

* [igt-dev] [PATCH 2/2] tests/kms_chamelium: Add support to validate RGB/YUV pixel formats
  2020-03-05  3:03 [igt-dev] [PATCH 0/2] Test platform supported pixel formats through chamelium Kunal Joshi
  2020-03-05  3:03 ` [igt-dev] [PATCH 1/2] lib/igt_fb: Added macro to retrieve char code of format Kunal Joshi
@ 2020-03-05  3:03 ` Kunal Joshi
  2020-03-05 10:14 ` [igt-dev] ✗ GitLab.Pipeline: warning for Test platform supported pixel formats through chamelium Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Kunal Joshi @ 2020-03-05  3:03 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi, petri.latvala

Currently, only hard coded pixel formats are validated which are not
generic for all the platforms which leads to SKIPS.
Added support to validate only those pixel formats which are supported by
platform. Both RGB and YUV pixel formats are covered.


Signed-off-by: Kunal Joshi <kunal1.joshi@intel.com>
---
 tests/kms_chamelium.c | 136 ++++++++++++++++++--------------------------------
 1 file changed, 48 insertions(+), 88 deletions(-)

diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 5c4a189..d56c68d 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -2816,100 +2816,60 @@ igt_main
 			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
 					       CHAMELIUM_CHECK_CRC, 3);
 
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-argb8888", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_ARGB8888,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-abgr8888", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_ABGR8888,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-xrgb8888", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-xbgr8888", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_XBGR8888,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-rgb888", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_RGB888,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-bgr888", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_BGR888,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-rgb565", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_RGB565,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-bgr565", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_BGR565,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-argb1555", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_ARGB1555,
-					      CHAMELIUM_CHECK_CRC, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-crc-xrgb1555", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_XRGB1555,
-					      CHAMELIUM_CHECK_CRC, 1);
+		igt_describe(test_display_one_mode_desc);
+		connector_subtest_start("hdmi-rgb-pixel-format", HDMIA)
+			int k;
+			igt_output_t *output;
+			igt_plane_t *primary;
+
+			output = prepare_output(&data, port, TEST_EDID_BASE);
+			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+			igt_assert(primary);
+
+			for (k = 0; k < primary->format_mod_count; k++) {
+				if (!igt_fb_supported_format(primary->formats[k]))
+					continue;
+
+				if ((igt_format_is_yuv(primary->formats[k]) ||
+				     primary->modifiers[k] != LOCAL_DRM_FORMAT_MOD_NONE))
+					continue;
+
+				igt_dynamic_f("testing-format-%c%c%c%c", IGT_FORMAT_ARGS_CODE(primary->formats[k]))
+					test_display_one_mode(&data, port, primary->formats[k],
+							      CHAMELIUM_CHECK_CRC,
+							      1);
+			}
+		connector_subtest_end
 
 		igt_describe(test_display_planes_random_desc);
 		connector_subtest("hdmi-crc-planes-random", HDMIA)
 			test_display_planes_random(&data, port,
 						   CHAMELIUM_CHECK_CRC);
 
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-nv12", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_NV12,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-nv16", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_NV16,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-nv21", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_NV21,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-nv61", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_NV61,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-yu12", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_YUV420,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-yu16", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_YUV422,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-yv12", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_YVU420,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
-
-		igt_describe(test_display_one_mode_desc);
-		connector_subtest("hdmi-cmp-yv16", HDMIA)
-			test_display_one_mode(&data, port, DRM_FORMAT_YVU422,
-					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
+		igt_describe(test_display_one_mode_desc);
+		connector_subtest_start("hdmi-yuv-pixel-format", HDMIA)
+			int k;
+			igt_output_t *output;
+			igt_plane_t *primary;
+
+			output = prepare_output(&data, port, TEST_EDID_BASE);
+			primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+			igt_assert(primary);
+
+			for (k = 0; k < primary->format_mod_count; k++) {
+				if (!igt_fb_supported_format(primary->formats[k]))
+					continue;
+
+				if (!(igt_format_is_yuv(primary->formats[k]) &&
+				     primary->modifiers[k] != LOCAL_DRM_FORMAT_MOD_NONE))
+					continue;
+
+				igt_dynamic_f("testing-format-%c%c%c%c", IGT_FORMAT_ARGS_CODE(primary->formats[k]))
+					test_display_one_mode(&data, port, primary->formats[k],
+							      CHAMELIUM_CHECK_CHECKERBOARD,
+							      1);
+			}
+		connector_subtest_end
 
 		igt_describe(test_display_planes_random_desc);
 		connector_subtest("hdmi-cmp-planes-random", HDMIA)
-- 
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] 4+ messages in thread

* [igt-dev] ✗ GitLab.Pipeline: warning for Test platform supported pixel formats through chamelium.
  2020-03-05  3:03 [igt-dev] [PATCH 0/2] Test platform supported pixel formats through chamelium Kunal Joshi
  2020-03-05  3:03 ` [igt-dev] [PATCH 1/2] lib/igt_fb: Added macro to retrieve char code of format Kunal Joshi
  2020-03-05  3:03 ` [igt-dev] [PATCH 2/2] tests/kms_chamelium: Add support to validate RGB/YUV pixel formats Kunal Joshi
@ 2020-03-05 10:14 ` Patchwork
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2020-03-05 10:14 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

== Series Details ==

Series: Test platform supported pixel formats through chamelium.
URL   : https://patchwork.freedesktop.org/series/74317/
State : warning

== Summary ==

Did not get list of undocumented tests for this run, something is wrong!

Other than that, pipeline status: FAILED.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/116008 for the overview.

build:tests-debian-autotools has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1826963):
     ^~~~~~~~~~~~~~~~~~~~~
  At top level:
  kms_chamelium.c:2380:19: warning: ‘test_display_planes_random_desc’ defined but not used [-Wunused-const-variable=]
   static const char test_display_planes_random_desc[] =
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: some warnings being treated as errors
  make[3]: *** [Makefile:4941: kms_chamelium-kms_chamelium.o] Error 1
  make[3]: Leaving directory '/builds/gfx-ci/igt-ci-tags/tests'
  make[2]: Leaving directory '/builds/gfx-ci/igt-ci-tags/tests'
  make[2]: *** [Makefile:5094: all-recursive] Error 1
  make[1]: *** [Makefile:515: all-recursive] Error 1
  make[1]: Leaving directory '/builds/gfx-ci/igt-ci-tags'
  make: *** [Makefile:447: all] Error 2
  section_end:1583402951:build_script
  section_start:1583402951:after_script
  section_end:1583402952:after_script
  section_start:1583402952:upload_artifacts_on_failure
  section_end:1583402954:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1
  

build:tests-debian-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1826958):
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../lib/igt_core.h:632:23: note: in definition of macro ‘igt_describe’
    igt_describe_f("%s", dsc)
                         ^~~
  ../tests/kms_chamelium.c:2872:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     connector_subtest_end
     ^~~~~~~~~~~~~~~~~~~~~
  At top level:
  ../tests/kms_chamelium.c:2380:19: warning: ‘test_display_planes_random_desc’ defined but not used [-Wunused-const-variable=]
   static const char test_display_planes_random_desc[] =
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: some warnings being treated as errors
  ninja: build stopped: subcommand failed.
  section_end:1583402788:build_script
  section_start:1583402788:after_script
  section_end:1583402790:after_script
  section_start:1583402790:upload_artifacts_on_failure
  section_end:1583402791:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1
  

build:tests-fedora has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1826954):
        |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../lib/igt_core.h:632:23: note: in definition of macro ‘igt_describe’
    632 |  igt_describe_f("%s", dsc)
        |                       ^~~
  ../tests/kms_chamelium.c:2872:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   2872 |   connector_subtest_end
        |   ^~~~~~~~~~~~~~~~~~~~~
  At top level:
  ../tests/kms_chamelium.c:2380:19: warning: ‘test_display_planes_random_desc’ defined but not used [-Wunused-const-variable=]
   2380 | static const char test_display_planes_random_desc[] =
        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: some warnings being treated as errors
  ninja: build stopped: subcommand failed.
  section_end:1583402750:build_script
  section_start:1583402750:after_script
  section_end:1583402751:after_script
  section_start:1583402751:upload_artifacts_on_failure
  section_end:1583402753:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1
  

build:tests-fedora-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1826957):
                                        ^
  ../tests/kms_chamelium.c:2853:17: error: redefinition of 'primary'
                          igt_plane_t *primary;
                                       ^
  ../tests/kms_chamelium.c:2823:17: note: previous definition is here
                          igt_plane_t *primary;
                                       ^
  ../tests/kms_chamelium.c:2859:9: error: use of undeclared identifier 'k'
                          for (k = 0; k < primary->format_mod_count; k++) {
                               ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  1 warning and 20 errors generated.
  ninja: build stopped: subcommand failed.
  section_end:1583402779:build_script
  section_start:1583402779:after_script
  section_end:1583402780:after_script
  section_start:1583402780:upload_artifacts_on_failure
  section_end:1583402782:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1
  

build:tests-fedora-no-libunwind has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1826955):
        |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../lib/igt_core.h:632:23: note: in definition of macro ‘igt_describe’
    632 |  igt_describe_f("%s", dsc)
        |                       ^~~
  ../tests/kms_chamelium.c:2872:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   2872 |   connector_subtest_end
        |   ^~~~~~~~~~~~~~~~~~~~~
  At top level:
  ../tests/kms_chamelium.c:2380:19: warning: ‘test_display_planes_random_desc’ defined but not used [-Wunused-const-variable=]
   2380 | static const char test_display_planes_random_desc[] =
        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: some warnings being treated as errors
  ninja: build stopped: subcommand failed.
  section_end:1583402751:build_script
  section_start:1583402751:after_script
  section_end:1583402752:after_script
  section_start:1583402752:upload_artifacts_on_failure
  section_end:1583402754:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1
  

build:tests-fedora-oldest-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/1826956):
        |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ../lib/igt_core.h:632:23: note: in definition of macro ‘igt_describe’
    632 |  igt_describe_f("%s", dsc)
        |                       ^~~
  ../tests/kms_chamelium.c:2872:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   2872 |   connector_subtest_end
        |   ^~~~~~~~~~~~~~~~~~~~~
  At top level:
  ../tests/kms_chamelium.c:2380:19: warning: ‘test_display_planes_random_desc’ defined but not used [-Wunused-const-variable=]
   2380 | static const char test_display_planes_random_desc[] =
        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  cc1: some warnings being treated as errors
  ninja: build stopped: subcommand failed.
  section_end:1583402762:build_script
  section_start:1583402762:after_script
  section_end:1583402763:after_script
  section_start:1583402763:upload_artifacts_on_failure
  section_end:1583402765:upload_artifacts_on_failure
  ERROR: Job failed: exit code 1

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/pipelines/116008
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-03-05 10:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-05  3:03 [igt-dev] [PATCH 0/2] Test platform supported pixel formats through chamelium Kunal Joshi
2020-03-05  3:03 ` [igt-dev] [PATCH 1/2] lib/igt_fb: Added macro to retrieve char code of format Kunal Joshi
2020-03-05  3:03 ` [igt-dev] [PATCH 2/2] tests/kms_chamelium: Add support to validate RGB/YUV pixel formats Kunal Joshi
2020-03-05 10:14 ` [igt-dev] ✗ GitLab.Pipeline: warning for Test platform supported pixel formats through chamelium Patchwork

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