[RFC v4 00/22] IGT tests for the KMS Color Pipeline API
Bhanuprakash Modem
bhanuprakash.modem at intel.com
Wed Feb 14 06:39:31 UTC 2024
This series introduces support for
* drm_colorop DRM objects
* COLOR_PIPELINE plane property
Kernel changes:
https://gitlab.freedesktop.org/hwentland/linux/-/merge_requests/5
It also adds a new kms_colorop test case that tests the color pipeline
API. The tests are designed to be easily extensible with a "transform"
and "compare" function pointer for each test. The "transform" function
performs the transformations under test via SW routines. The "compare"
function compares the DRM/KMS result (via a writeback connector) with
the result derived via the SW "transform".
There are three tests for LUTs:
- plane-srgb_eotf: pre-blending sRGB EOTF
- plane-srgb_inv_eotf: pre-blending sRGB Inverse EOTF
- plane-srgb_eotf-srgb_inv_eotf: pre-blending sRGB EOTF,
followed by its inverse
And a number of tests for matrices.
v3:
- Remove need for IOCTLs and libdrm changes
- Test colorop properties with both atomic and legacy code paths
- move enum drm_colorop_type to drm_mode.h
- Add descriptions for public functions in lib (Kamil)
- Use SPDX style license identifier (Kamil)
- Replace Skia license comment with copyright note in file header
- Fix kms_colorop subtests if applicable color pipeline not found
v4: (Bhanu)
- Though v3 required some cleanup, I am not touching it, instead fix any issue
as new patch (we may need to squash those patches)
- Rebase v3
- Move few helpers to common place (kms_color_helper) to reuse by multiple tests
- New helpers to cleanup the colorop props.
- Helpers to support custom 1D LUT & CTM 3x3
- New subtests to validate Intel plane color pipeline, please find the
KMD changes: https://patchwork.freedesktop.org/series/129812/
Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
Cc: Pekka Paalanen <pekka.paalanen at collabora.com>
Cc: Simon Ser <contact at emersion.fr>
Cc: Harry Wentland <harry.wentland at amd.com>
Cc: Melissa Wen <mwen at igalia.com>
Cc: Jonas Ådahl <jadahl at redhat.com>
Cc: Sebastian Wick <sebastian.wick at redhat.com>
Cc: Shashank Sharma <shashank.sharma at amd.com>
Cc: Alexander Goins <agoins at nvidia.com>
Cc: Joshua Ashton <joshua at froggi.es>
Cc: Michel Dänzer <mdaenzer at redhat.com>
Cc: Aleix Pol <aleixpol at kde.org>
Cc: Xaver Hugl <xaver.hugl at gmail.com>
Cc: Victoria Brekenfeld <victoria at system76.com>
Cc: Sima <daniel at ffwll.ch>
Cc: Uma Shankar <uma.shankar at intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
Cc: Naseer Ahmed <quic_naseer at quicinc.com>
Cc: Christopher Braga <quic_cbraga at quicinc.com>
Cc: Abhinav Kumar <quic_abhinavk at quicinc.com>
Cc: Arthur Grillo <arthurgrillo at riseup.net>
Cc: Hector Martin <marcan at marcan.st>
Cc: Liviu Dudau <Liviu.Dudau at arm.com>
Cc: Sasha McIntosh <sashamcintosh at google.com>
Bhanuprakash Modem (10):
tests/kms_properties: Fix compilation errors
lib/igt_kms: Destroy colorops on exit
lib/colorops: Move few helpers to common place to reuse
drm-uapi: Add 3x3 CTM
drm-uapi: Add custom 1D LUT
lib/igt_color: Add support for 3x3 matrices
lib/colorops: Add support for Custom 1D LUT
lib/igt_kms: Increase the colorops count
tests/kms_color_helper: Add helpers to clear colorops data
tests/kms_color: Add plane color pipeline tests for Intel hardware
Harry Wentland (12):
lib/drmtest: Add is_vkms_device()
lib/igt_kms: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
include/drm-uapi: Add COLOROP object
lib/igt_kms: Introduce drm_colorop and COLOR_PIPELINE
tests/kms_properties: Add colorop properties test
igt/color: Add SW color transform functionality
lib/igt_fb: Add copy_fb function
tests/kms_colorop: Add kms_colorop tests
drm-uapi: Add 3x4 CTM
lib/igt_kms: Add support for DATA colorop property
lib/igt_color: Add support for 3x4 matrices
tests/kms_colorop: Add 3x4 CTM tests
include/drm-uapi/drm.h | 15 ++
include/drm-uapi/drm_mode.h | 52 +++++
lib/drmtest.c | 5 +
lib/drmtest.h | 1 +
lib/igt_color.c | 361 +++++++++++++++++++++++++++++
lib/igt_color.h | 81 +++++++
lib/igt_fb.c | 40 +++-
lib/igt_fb.h | 3 +
lib/igt_kms.c | 312 ++++++++++++++++++++++++-
lib/igt_kms.h | 97 +++++++-
lib/meson.build | 1 +
tests/kms_color.c | 273 +++++++++++++++++++++-
tests/kms_color_helper.c | 313 ++++++++++++++++++++++++++
tests/kms_color_helper.h | 91 ++++++++
tests/kms_colorop.c | 438 ++++++++++++++++++++++++++++++++++++
tests/kms_properties.c | 72 ++++++
tests/meson.build | 2 +
17 files changed, 2140 insertions(+), 17 deletions(-)
create mode 100644 lib/igt_color.c
create mode 100644 lib/igt_color.h
create mode 100644 tests/kms_colorop.c
--
2.43.0
More information about the igt-dev
mailing list