[igt-dev] [RFC PATCH v3 00/12] IGT tests for the KMS Color Pipeline API

Harry Wentland harry.wentland at amd.com
Fri Feb 9 16:50:57 UTC 2024



On 2024-02-09 11:32, Modem, Bhanuprakash wrote:
> Hello Harry,
> 
> On 08-11-2023 10:09 pm, Harry Wentland wrote:
>> 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
> 
> We made few changes in kms_color & other places to support Intel plane color pipeline includes Custom 1D LUT (gamma & degamma) and CTM 3x3.
> 
> Hope you are fine if I float my changes along with your patches as a new rev of this series (This series also needs a rebase). So that it would be easy to review all IGT changes present in single series.
> 
> Basic changes are available at try-bot (still need some cleanup): [1]
> Please let me know if you wanna suggest another way.
> 

Sounds good to me.

I will probably send a v4 of my set with some enablement in
amdgpu in a week or two. If you're sending yours as a v4 I'll
pull your changes into my series and send it as v5 later.

Our (still somewhat WIP) work can be found at:

kernel:
https://gitlab.freedesktop.org/hwentland/linux/-/tree/amd-color-pipeline?ref_type=heads

IGT:
https://gitlab.freedesktop.org/hwentland/igt-gpu-tools/-/tree/amd-color-pipeline?ref_type=heads

The kernel is based on a drm-next from a month or so (6.7 rc5) since
the 6.8 rebase introduced some issues on my laptop that I haven't
looked at more closely yet.

The IGT is rebased on a fairly recent IGT master.

Harry

> [1]: https://patchwork.freedesktop.org/series/128168/
> 
> - Bhanu
> 
>>
>> 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
>>
>> 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: 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>
>>
>> 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 |  22 ++
>>   lib/drmtest.c               |   5 +
>>   lib/drmtest.h               |   1 +
>>   lib/igt_color.c             | 344 +++++++++++++++++++++++
>>   lib/igt_color.h             | 114 ++++++++
>>   lib/igt_fb.c                |  40 ++-
>>   lib/igt_fb.h                |   3 +
>>   lib/igt_kms.c               | 306 +++++++++++++++++++-
>>   lib/igt_kms.h               |  94 +++++++
>>   lib/meson.build             |   1 +
>>   tests/kms_colorop.c         | 539 ++++++++++++++++++++++++++++++++++++
>>   tests/kms_colorop.h         | 124 +++++++++
>>   tests/kms_properties.c      |  76 +++++
>>   tests/meson.build           |   1 +
>>   15 files changed, 1676 insertions(+), 9 deletions(-)
>>   create mode 100644 lib/igt_color.c
>>   create mode 100644 lib/igt_color.h
>>   create mode 100644 tests/kms_colorop.c
>>   create mode 100644 tests/kms_colorop.h
>>
>> -- 
>> 2.42.0
>>



More information about the igt-dev mailing list