linux/drivers/gpu/drm/vkms
Harry Wentland c1e578bd08 drm/vkms: Add enumerated 1D curve colorop
This patch introduces a VKMS color pipeline that includes two
drm_colorops for named transfer functions. For now the only ones
supported are sRGB EOTF, sRGB Inverse EOTF, and a Linear TF.
We will expand this in the future but I don't want to do so
without accompanying IGT tests.

We introduce a new vkms_luts.c file that hard-codes sRGB EOTF,
sRGB Inverse EOTF, and a linear EOTF LUT. These have been
generated with 256 entries each as IGT is currently testing
only 8 bpc surfaces. We will likely need higher precision
but I'm reluctant to make that change without clear indication
that we need it. We'll revisit and, if necessary, regenerate
the LUTs when we have IGT tests for higher precision buffers.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: Simon Ser <contact@emersion.fr>
Link: https://patch.msgid.link/20251115000237.3561250-16-alex.hung@amd.com
History 2025-11-26 23:03:33 +01:00
..
tests drm/vkms: Add kunit tests for VKMS LUT handling 2025-11-26 22:17:45 +01:00
Kconfig drm/vkms: Add and remove VKMS instances via configfs 2025-10-22 13:19:25 +02:00
Makefile drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_colorop.c drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_composer.c drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_composer.h drm/vkms: Add kunit tests for VKMS LUT handling 2025-11-26 22:17:45 +01:00
vkms_config.c drm/vkms: Allow to configure connector status 2025-10-22 13:19:26 +02:00
vkms_config.h drm/vkms: Allow to configure connector status 2025-10-22 13:19:26 +02:00
vkms_configfs.c drm/vkms: Fix use after frees on error paths 2025-11-04 11:46:03 +01:00
vkms_configfs.h drm/vkms: Add and remove VKMS instances via configfs 2025-10-22 13:19:25 +02:00
vkms_connector.c drm/vkms: Allow to configure connector status via configfs 2025-10-22 13:19:26 +02:00
vkms_connector.h drm/vkms: Allow to configure connector status via configfs 2025-10-22 13:19:26 +02:00
vkms_crtc.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
vkms_drv.c drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_drv.h drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_formats.c drm/vkms: Add P01* formats 2025-09-05 19:57:26 +02:00
vkms_formats.h drm/vkms: Change YUV helpers to support u16 inputs for conversion 2025-09-05 19:57:25 +02:00
vkms_luts.c drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_luts.h drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_output.c drm/vkms: Pass plane_cfg to plane initialization 2025-11-26 23:03:32 +01:00
vkms_plane.c drm/vkms: Add enumerated 1D curve colorop 2025-11-26 23:03:33 +01:00
vkms_writeback.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00