[PATCH V7 00/37] IGT tests for the KMS Color Pipeline API
Alex Hung
alex.hung at amd.com
Mon Apr 7 23:26:42 UTC 2025
On 4/3/25 04:12, Sharma, Swati2 wrote:
> 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.
Hi Swati,
Thanks for reviews.
Regarding to Intel's IGT series:
Both kernel (V8) and IGT (V7) series for color pipeline have changed
significantly. Not only I am not able to apply all patches cleanly but
also applying them breaks the color pipeline APIs.
For example, DRM_COLOROP_CTM_3X3 and DRM_COLOROP_1D_LUT_MULTSEG were
inserted existing enum drm_colorop_type. IGT kms_colorop tests fails
without inserting them in kernel patchset.
We do not have Intel hardware and knowledge of Intel hardware to rebase
Intel's kernel and IGT patchsets to the latest changes.
A summary of Bhanu's patchset as below:
- No longer needed:
tests/kms_properties: Fix compilation errors
- Still applicable (I will include it in V8)
lib/igt_kms: Destroy colorops on exit
- Need to be rebased by Intel
lib/colorops: Move few helpers to common place to reuse
drm-uapi: Add 3x3 CTM
drm-uapi: Add multi segmented 1D LUT
lib/igt_color: Add support for 3x3 matrices
lib/colorops: Add support for Custom 1D LUT
tests/kms_color_helper: Add helpers to clear colorops data
tests/kms_color: Add plane color pipeline tests for Intel hardware
>
> 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