On Wed, 8 Nov 2023 11:36:37 -0500 Harry Wentland <harry.wentland@xxxxxxx> wrote: > This type is used to support a 3x4 matrix in colorops. A 3x4 > matrix uses the last column as a "bias" column. Some HW exposes > support for 3x4. The calculation looks like: > > out matrix in > |R| |0 1 2 3 | | R | > |G| = |4 5 6 7 | x | G | > |B| |8 9 10 12| | B | > |1.0| > The bottom-right element should be 11, not 12. > This is also the first colorop where we need a blob property to > program the property. For that we'll introduce a new DATA > property that can be used by all colorop TYPEs requiring a > blob. The way a DATA blob is read depends on the TYPE of > the colorop. > > We only create the DATA property for property types that > need it. > > Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx> > --- > drivers/gpu/drm/drm_atomic_uapi.c | 30 ++++++++++++++++++++++++++++++ > drivers/gpu/drm/drm_colorop.c | 16 ++++++++++++++++ > include/drm/drm_colorop.h | 19 +++++++++++++++++++ > include/uapi/drm/drm_mode.h | 19 ++++++++++++++++++- > 4 files changed, 83 insertions(+), 1 deletion(-) ... > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h > index 0ebf0f480dc8..b5d4dd5660d9 100644 > --- a/include/uapi/drm/drm_mode.h > +++ b/include/uapi/drm/drm_mode.h > @@ -847,6 +847,22 @@ struct drm_color_ctm { > __u64 matrix[9]; > }; > > +struct drm_color_ctm_3x4 { > + /* > + * Conversion matrix with 3x4 dimensions in S31.32 sign-magnitude > + * (not two's complement!) format. > + * > + * TODO what's the format? > + * > + * out matrix in > + * |R| |0 1 2 3 | | R | > + * |G| = |4 5 6 7 | x | G | > + * |B| |8 9 10 12| | B | > + * |1.0| > + */ Again 11, not 12. Thanks, pq > + __u64 matrix[12]; > +}; > + > struct drm_color_lut { > /* > * Values are mapped linearly to 0.0 - 1.0 range, with 0x0 == 0.0 and > @@ -859,7 +875,8 @@ struct drm_color_lut { > }; > > enum drm_colorop_type { > - DRM_COLOROP_1D_CURVE > + DRM_COLOROP_1D_CURVE, > + DRM_COLOROP_CTM_3X4, > }; > > /**
Attachment:
pgpmcQqOrIf6m.pgp
Description: OpenPGP digital signature