Test platform supported pixel formats through chamelium.
cover Test platform supported pixel formats through chamelium.
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(-)
Signature · 6 lines
2.7.4 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH 1/2 lib/igt_fb: Added macro to retrieve char code of format
Added a macro to retrieve the fourcc of the pixel format.
--- lib/igt_fb.h | 2 ++ 1 file changed, 2 insertions(+)
lib/igt_fb.h +2 -0
@@ -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:
Signature · 6 lines
2.7.4 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH 2/2 tests/kms_chamelium: Add support to validate RGB/YUV pixel formats
In reply to Kunal JoshiCurrently, 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.
--- tests/kms_chamelium.c | 136 ++++++++++++++++++-------------------------------- 1 file changed, 48 insertions(+), 88 deletions(-)
tests/kms_chamelium.c +48 -88
@@ -2816,100 +2816,60 @@ igt_maintest_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 )
Signature · 6 lines
2.7.4 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✗ GitLab.Pipeline: warning for Test platform supported pixel formats through chamelium.
In reply to Kunal Joshi== Series Details ==
== 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev