[PATCH V7 00/37] IGT tests for the KMS Color Pipeline API

Sharma, Swati2 swati2.sharma at intel.com
Thu Apr 3 10:12:41 UTC 2025


Hi Alex,

I could see there were few patches from Bhanu in rev4
required to enable plane color pipeline on intel h/w.
https://patchwork.freedesktop.org/series/123448/#rev4

However, those seems missing on latest rev7.

On 27-03-2025 05:05 am, Alex Hung wrote:
> This series introduces support for
> * drm_colorop DRM objects
> * COLOR_PIPELINE plane property
>
> Kernel changes can be found at [1] and on dri-devel.
>
> 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".
>
> This series introduces a number of tests for pre-defined transfer
> functions, custom LUTs, 3x4 CTMs, a multiplier, 3D LUT, and a bypass
> test.
>
> It tests 8-bit and 10-bit RGB surface formats, depending on driver support
> on the drm_plane as well as the writeback drm_connector end.
>
> [1] https://gitlab.freedesktop.org/alex.hung/linux/-/tree/amd-color-pipeline-v8
>
> v7:
>   - Add more documents and sync up with kernel implementation
>   - Update 3DLUT tests according to kernel changes
>
> v5:
>   - Bypass test
>   - 10 bpc support
>   - Proper setup and cleanup
>   - PQ/BT2020 TFs
>   - 1D LUT tests
>   - Multiplier tests
>   - 3D LUT test
>
> v4:
>   - Intel color pipeline work, to possibly be combined with v5 in a future iteration.
>
> 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
>
> Alex Hung (9):
>    lib/igt_kms: increase MAX_NUM_COLOROPS to 128
>    tests/kms_colorop: Add a sRGB test for EOTF -> Inverse EOTF -> EOTF
>    lib/igt_color: Add 1D LUT color transformation support
>    test/kms_colorop: Add tests that exercise the 1D LUT colorops
>    tests/kms_colorop: Add multiplier tests
>    scripts/convert_3dlut.py Convert a 3D LUT to igt_3dlut_t array for 3D
>      LUT API
>    tests/kms_colorop: Add a 3D LUT subtest
>    drm-uapi: Update kernel doc for drm_colorop_type
>    drm-uapi: Sync up definition with kernel colorop implementation
>
> Harry Wentland (28):
>    lib/drmtest: Add is_vkms_device()
>    tests/kms_writeback: Fix kms_writeback for VKMS
>    lib/igt_kms: Move get_writeback_formats_blob to lib
>    lib/igt_kms: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
>    include/drm-uapi: Add COLOROP object
>    drm-uapi: Add 3x4 CTM
>    drm-uapi: Add 1D LUT drm_colorop_type
>    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
>    lib/igt_kms: Add support for DATA colorop property
>    lib/igt_color: Add support for 3x4 matrices
>    tests/kms_colorop: Add 3x4 CTM tests
>    tests/kms_colorop: Add bypass test
>    tests/kms_colorop: Parametrize the buffer format
>    tests/kms_colorop: Add 10bpc test and skip if format not supported
>    tests/kms_colorop: Skip if writeback does not support fourcc
>    lib/igt_fb: Allow any non-planar format for igt_copy_fb
>    kms/colorop: Do proper setup and cleanup
>    lib/igt_color: Support color transform for XRGB2101010
>    tests/kms_colorop: Set wide [13, 13] bracket for comparison on amdgpu
>    lib/igt_color: Add PQ variants for 0-1 and 0-125 range
>    tests/kms_colorop: Add tests for PQ variants
>    lib/igt_color: add BT2020/BT709 transfer functions
>    tests/kms_colorop: Add tests for BT2020/BT709 TFs
>    lib/igt_color: Point license header at skia license
>
>   include/drm-uapi/amdgpu_drm.h |    9 -
>   include/drm-uapi/drm.h        |   15 +
>   include/drm-uapi/drm_mode.h   |   99 +
>   lib/drmtest.c                 |    5 +
>   lib/drmtest.h                 |    1 +
>   lib/igt_color.c               |  648 +++++
>   lib/igt_color.h               |  162 ++
>   lib/igt_color_lut.h           | 4946 +++++++++++++++++++++++++++++++++
>   lib/igt_fb.c                  |   34 +-
>   lib/igt_fb.h                  |    3 +
>   lib/igt_kms.c                 |  359 ++-
>   lib/igt_kms.h                 |  100 +
>   lib/meson.build               |    1 +
>   scripts/convert_3dlut.py      |   94 +
>   tests/kms_colorop.c           |  702 +++++
>   tests/kms_colorop.h           |  261 ++
>   tests/kms_properties.c        |   94 +-
>   tests/kms_writeback.c         |   38 +-
>   tests/meson.build             |    1 +
>   19 files changed, 7523 insertions(+), 49 deletions(-)
>   create mode 100644 lib/igt_color.c
>   create mode 100644 lib/igt_color.h
>   create mode 100644 lib/igt_color_lut.h
>   create mode 100755 scripts/convert_3dlut.py
>   create mode 100644 tests/kms_colorop.c
>   create mode 100644 tests/kms_colorop.h
>



More information about the igt-dev mailing list