render/color: introduce COLOR_TRANSFORM_LUT_3X1D

This will be useful to apply LUTs applied via wlr_gamma_control_v1,
and to add wlr_color_transform support to wlr_output.
This commit is contained in:
Simon Ser 2025-05-24 11:19:32 +02:00 committed by Kenny Levinsen
parent 3665b53e29
commit 74217a4d93
4 changed files with 116 additions and 5 deletions

View file

@ -10,6 +10,7 @@
#define WLR_RENDER_COLOR_H
#include <stdbool.h>
#include <stdint.h>
#include <sys/types.h>
/**
@ -78,6 +79,13 @@ struct wlr_color_transform *wlr_color_transform_init_linear_to_icc(
*/
struct wlr_color_transform *wlr_color_transform_init_srgb(void);
/**
* Initialize a color transformation to apply three 1D look-up tables. dim
* is the number of elements in each individual LUT. Returns NULL on failure.
*/
struct wlr_color_transform *wlr_color_transform_init_lut_3x1d(size_t dim,
const uint16_t *r, const uint16_t *g, const uint16_t *b);
/**
* Increase the reference count of the color transform by 1.
*/