All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V7 00/37] IGT tests for the KMS Color Pipeline API
@ 2025-03-26 23:35 Alex Hung
  2025-03-26 23:35 ` [PATCH V7 01/37] lib/drmtest: Add is_vkms_device() Alex Hung
                   ` (43 more replies)
  0 siblings, 44 replies; 49+ messages in thread
From: Alex Hung @ 2025-03-26 23:35 UTC (permalink / raw)
  To: igt-dev, alex.hung; +Cc: harry.wentland

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

-- 
2.43.0


^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2025-04-07 23:26 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-26 23:35 [PATCH V7 00/37] IGT tests for the KMS Color Pipeline API Alex Hung
2025-03-26 23:35 ` [PATCH V7 01/37] lib/drmtest: Add is_vkms_device() Alex Hung
2025-03-26 23:35 ` [PATCH V7 02/37] tests/kms_writeback: Fix kms_writeback for VKMS Alex Hung
2025-03-26 23:35 ` [PATCH V7 03/37] lib/igt_kms: Move get_writeback_formats_blob to lib Alex Hung
2025-04-03  6:41   ` Sharma, Swati2
2025-03-26 23:35 ` [PATCH V7 04/37] lib/igt_kms: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE Alex Hung
2025-03-26 23:35 ` [PATCH V7 05/37] include/drm-uapi: Add COLOROP object Alex Hung
2025-03-26 23:35 ` [PATCH V7 06/37] drm-uapi: Add 3x4 CTM Alex Hung
2025-03-26 23:35 ` [PATCH V7 07/37] drm-uapi: Add 1D LUT drm_colorop_type Alex Hung
2025-03-26 23:35 ` [PATCH V7 08/37] lib/igt_kms: Introduce drm_colorop and COLOR_PIPELINE Alex Hung
2025-04-03 10:04   ` Sharma, Swati2
2025-03-26 23:35 ` [PATCH V7 09/37] tests/kms_properties: Add colorop properties test Alex Hung
2025-03-26 23:35 ` [PATCH V7 10/37] igt/color: Add SW color transform functionality Alex Hung
2025-03-26 23:35 ` [PATCH V7 11/37] lib/igt_fb: Add copy_fb function Alex Hung
2025-03-26 23:35 ` [PATCH V7 12/37] tests/kms_colorop: Add kms_colorop tests Alex Hung
2025-04-03  9:57   ` Sharma, Swati2
2025-03-26 23:35 ` [PATCH V7 13/37] lib/igt_kms: Add support for DATA colorop property Alex Hung
2025-03-26 23:35 ` [PATCH V7 14/37] lib/igt_color: Add support for 3x4 matrices Alex Hung
2025-03-26 23:35 ` [PATCH V7 15/37] tests/kms_colorop: Add 3x4 CTM tests Alex Hung
2025-03-26 23:35 ` [PATCH V7 16/37] tests/kms_colorop: Add bypass test Alex Hung
2025-03-26 23:35 ` [PATCH V7 17/37] tests/kms_colorop: Parametrize the buffer format Alex Hung
2025-03-26 23:35 ` [PATCH V7 18/37] tests/kms_colorop: Add 10bpc test and skip if format not supported Alex Hung
2025-03-26 23:35 ` [PATCH V7 19/37] tests/kms_colorop: Skip if writeback does not support fourcc Alex Hung
2025-03-26 23:35 ` [PATCH V7 20/37] lib/igt_fb: Allow any non-planar format for igt_copy_fb Alex Hung
2025-03-26 23:35 ` [PATCH V7 21/37] kms/colorop: Do proper setup and cleanup Alex Hung
2025-03-26 23:35 ` [PATCH V7 22/37] lib/igt_color: Support color transform for XRGB2101010 Alex Hung
2025-03-26 23:35 ` [PATCH V7 23/37] tests/kms_colorop: Set wide [13, 13] bracket for comparison on amdgpu Alex Hung
2025-03-26 23:35 ` [PATCH V7 24/37] lib/igt_color: Add PQ variants for 0-1 and 0-125 range Alex Hung
2025-03-26 23:35 ` [PATCH V7 25/37] tests/kms_colorop: Add tests for PQ variants Alex Hung
2025-03-26 23:35 ` [PATCH V7 26/37] lib/igt_kms: increase MAX_NUM_COLOROPS to 128 Alex Hung
2025-03-26 23:35 ` [PATCH V7 27/37] tests/kms_colorop: Add a sRGB test for EOTF -> Inverse EOTF -> EOTF Alex Hung
2025-03-26 23:36 ` [PATCH V7 28/37] lib/igt_color: add BT2020/BT709 transfer functions Alex Hung
2025-03-26 23:36 ` [PATCH V7 29/37] tests/kms_colorop: Add tests for BT2020/BT709 TFs Alex Hung
2025-03-26 23:36 ` [PATCH V7 30/37] lib/igt_color: Add 1D LUT color transformation support Alex Hung
2025-03-26 23:36 ` [PATCH V7 31/37] test/kms_colorop: Add tests that exercise the 1D LUT colorops Alex Hung
2025-03-26 23:36 ` [PATCH V7 32/37] tests/kms_colorop: Add multiplier tests Alex Hung
2025-03-26 23:36 ` [PATCH V7 33/37] lib/igt_color: Point license header at skia license Alex Hung
2025-03-26 23:36 ` [PATCH V7 34/37] scripts/convert_3dlut.py Convert a 3D LUT to igt_3dlut_t array for 3D LUT API Alex Hung
2025-03-26 23:36 ` [PATCH V7 35/37] tests/kms_colorop: Add a 3D LUT subtest Alex Hung
2025-03-26 23:36 ` [PATCH V7 36/37] drm-uapi: Update kernel doc for drm_colorop_type Alex Hung
2025-03-26 23:36 ` [PATCH V7 37/37] drm-uapi: Sync up definition with kernel colorop implementation Alex Hung
2025-03-27  0:48 ` ✓ Xe.CI.BAT: success for IGT tests for the KMS Color Pipeline API (rev7) Patchwork
2025-03-27  3:13 ` ✓ i915.CI.BAT: " Patchwork
2025-03-27  5:26 ` ✗ i915.CI.Full: failure " Patchwork
2025-03-27 13:49 ` ✗ Xe.CI.Full: " Patchwork
2025-03-28 12:00 ` Patchwork
2025-04-03 10:12 ` [PATCH V7 00/37] IGT tests for the KMS Color Pipeline API Sharma, Swati2
2025-04-07 23:26   ` Alex Hung
2025-04-06 16:26 ` ✗ Xe.CI.Full: failure for IGT tests for the KMS Color Pipeline API (rev7) Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.