Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v4 00/22] IGT tests for the KMS Color Pipeline API
@ 2024-02-14  6:39 Bhanuprakash Modem
  2024-02-14  6:39 ` [RFC v4 01/22] lib/drmtest: Add is_vkms_device() Bhanuprakash Modem
                   ` (25 more replies)
  0 siblings, 26 replies; 27+ messages in thread
From: Bhanuprakash Modem @ 2024-02-14  6:39 UTC (permalink / raw)
  To: igt-dev
  Cc: Bhanuprakash Modem, Ville Syrjala, Pekka Paalanen, Simon Ser,
	Harry Wentland, Melissa Wen, Jonas Ådahl, Sebastian Wick,
	Shashank Sharma, Alexander Goins, Joshua Ashton,
	Michel Dänzer, Aleix Pol, Xaver Hugl, Victoria Brekenfeld,
	Sima, Uma Shankar, Naseer Ahmed, Christopher Braga, Abhinav Kumar,
	Arthur Grillo, Hector Martin, Liviu Dudau, Sasha McIntosh

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@linux.intel.com>
Cc: Pekka Paalanen <pekka.paalanen@collabora.com>
Cc: Simon Ser <contact@emersion.fr>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Melissa Wen <mwen@igalia.com>
Cc: Jonas Ådahl <jadahl@redhat.com>
Cc: Sebastian Wick <sebastian.wick@redhat.com>
Cc: Shashank Sharma <shashank.sharma@amd.com>
Cc: Alexander Goins <agoins@nvidia.com>
Cc: Joshua Ashton <joshua@froggi.es>
Cc: Michel Dänzer <mdaenzer@redhat.com>
Cc: Aleix Pol <aleixpol@kde.org>
Cc: Xaver Hugl <xaver.hugl@gmail.com>
Cc: Victoria Brekenfeld <victoria@system76.com>
Cc: Sima <daniel@ffwll.ch>
Cc: Uma Shankar <uma.shankar@intel.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Cc: Naseer Ahmed <quic_naseer@quicinc.com>
Cc: Christopher Braga <quic_cbraga@quicinc.com>
Cc: Abhinav Kumar <quic_abhinavk@quicinc.com>
Cc: Arthur Grillo <arthurgrillo@riseup.net>
Cc: Hector Martin <marcan@marcan.st>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Sasha McIntosh <sashamcintosh@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


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

end of thread, other threads:[~2024-02-20 20:29 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-14  6:39 [RFC v4 00/22] IGT tests for the KMS Color Pipeline API Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 01/22] lib/drmtest: Add is_vkms_device() Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 02/22] lib/igt_kms: Introduce DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 03/22] include/drm-uapi: Add COLOROP object Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 04/22] lib/igt_kms: Introduce drm_colorop and COLOR_PIPELINE Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 05/22] tests/kms_properties: Add colorop properties test Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 06/22] igt/color: Add SW color transform functionality Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 07/22] lib/igt_fb: Add copy_fb function Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 08/22] tests/kms_colorop: Add kms_colorop tests Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 09/22] drm-uapi: Add 3x4 CTM Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 10/22] lib/igt_kms: Add support for DATA colorop property Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 11/22] lib/igt_color: Add support for 3x4 matrices Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 12/22] tests/kms_colorop: Add 3x4 CTM tests Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 13/22] tests/kms_properties: Fix compilation errors Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 14/22] lib/igt_kms: Destroy colorops on exit Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 15/22] lib/colorops: Move few helpers to common place to reuse Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 16/22] drm-uapi: Add 3x3 CTM Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 17/22] drm-uapi: Add custom 1D LUT Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 18/22] lib/igt_color: Add support for 3x3 matrices Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 19/22] lib/colorops: Add support for Custom 1D LUT Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 20/22] lib/igt_kms: Increase the colorops count Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 21/22] tests/kms_color_helper: Add helpers to clear colorops data Bhanuprakash Modem
2024-02-14  6:39 ` [RFC v4 22/22] tests/kms_color: Add plane color pipeline tests for Intel hardware Bhanuprakash Modem
2024-02-14  7:21 ` ✓ CI.xeBAT: success for IGT tests for the KMS Color Pipeline API (rev4) Patchwork
2024-02-14  7:28 ` ✓ Fi.CI.BAT: " Patchwork
2024-02-14  9:38 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-02-20 20:28 ` [RFC v4 00/22] IGT tests for the KMS Color Pipeline API Harry Wentland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox